Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Пн Июн 26, 2006 5:13 pm Заголовок сообщения: |
|
|
Теоретически - почти все. Технически это всё сделано не более чем на 60%. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4 |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Пт Июн 30, 2006 2:28 pm Заголовок сообщения: |
|
|
dou_1006r08.rar
Перевод, версия 0.8. На данный момент совершенно неиграбельная (*косой взгляд на АнСа, так ничего и не сделавшего*)+(*косой взгляд на Гайвера 1\2\3, не рассчитывавшего длину строки при переводе*).
Переведено около 90-95%. Осталось подрихтовать длины строк и убрать тупое выравнивание. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4
Последний раз редактировалось: Repl0id (Пн Окт 17, 2011 1:53 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
GrayLightTaliz
Зарегистрирован: 13.10.2005 Сообщения: 204 Откуда: Краснодар/Королёв
|
Добавлено: Сб Июл 01, 2006 5:27 pm Заголовок сообщения: |
|
|
Переход к ровному русскому тексту:
(для контроля указываю исходные значения)
В файле doukutsu.exe
1. по адресу 2542A меняем байт с 80 на 00
2. по адресу 254F9 меняем байт с 80 на 00
По идее, проблемы с четностью должны исчезнуть автоматически.
Указанные выше изменения заставляют программу относиться к русским буквам так же как к английским.. |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Пн Июл 03, 2006 12:00 pm Заголовок сообщения: |
|
|
Ну так если уже знаем как исправить, почему не делаем? Фпирёт! _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4 |
|
Вернуться к началу |
|
|
GrayLightTaliz
Зарегистрирован: 13.10.2005 Сообщения: 204 Откуда: Краснодар/Королёв
|
Добавлено: Пн Июл 03, 2006 12:56 pm Заголовок сообщения: |
|
|
?? В смысле не делаем?? )) Там в exe файле нужно всего 2 байта изменить. Я указал выше в каких байтах что прописать..
Вот патч, который это сделает:
http://graylight.narod.ru/downloads/Doukutsu_FixRusFont_patch.zip
По идее можно применять его как к оригинальному файлу, так и к уже модифицированному на стадии перевода.. |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Пн Июл 03, 2006 1:40 pm Заголовок сообщения: |
|
|
Итак, главная проблема решена, ура!
Гайвер, тебе задание - всё подровнять от 01 до 45 TSC! И чтоб никаких ошибок!
Я займусь остальным.
С титрами разберёмся потом.
35 символов - вот абсолютно точное ограничение без портрета. Подгонять придётся вручную, но что поделаешь... Работаем. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4 |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пн Июл 03, 2006 2:43 pm Заголовок сообщения: |
|
|
Клёво! Солдат спит, служба идёт. :P
GrayLight, опишешь процесс взлома? |
|
Вернуться к началу |
|
|
GrayLightTaliz
Зарегистрирован: 13.10.2005 Сообщения: 204 Откуда: Краснодар/Королёв
|
Добавлено: Пн Июл 03, 2006 11:58 pm Заголовок сообщения: |
|
|
2 АнС: Если говорить коротко о процессе взлома, то просто IDA ))
Ну а если чуть подробнее.. Я совсем недавно познакомился с такой програмкой как IDA (и с каждым днем она мне все больше нравится). До использования дизасма я пытался искать "то самое" в exe при помощи корруптера (жуть, даже ничего не говорите, сам знаю.. ), второй подход заключался в том, что я сначала опытным путем определил, что "правильно" выводятся символы с кодами 00-7F, и "коряво" с кодами 80-FF... была жалкая мысль найти в файле байт равный 80 (а их ведь там немало), в надежде на то, что в коде стоит условие типа if s<80 then "нормально" else "коряво"... Конечно затея гиблая, но полученная инфа в любом случае пригодится...
Наконец - верный путь, IDA. Дизасемблить раньше мне можно сказать не приходилось.. и тем более с ее помощью.. Но к счастью она многое делает сама.. Вобщем выдала она мне код Doukutsu.. Но где искать тот самый код? Ведь там может быть много что, от CMP d, 80 и кончаяя SHL d, JC ... Но на помощь пришел Дебаггер. Он значительно облегчил поиск, хотя все равно пришлось потратить время... Я стал ставить брекпойнты на начало каждой подпрограммы (для ускорения поиска ставил но 5-8 брекойнтов сразу, среди них искал только те, которые возникают 1 раз перед выводом каждого символа) и запускать игру из дебаггера... Целью было найти процедуру вывода символов... В конце концов она была найдена.. Но она просто выводила символ на экран, без всякой предварительной проверки.. Поэтому далее подход был такой: я поставил брекпойнт на процедуру вывода символа и определил где она вызывается во время вывода диалогов.. В найденой процедуре и сидел тот самый код (как выяснилось позже, он повторялся дважды для обработки второго символа).. Чтобы его найти я предварительно вставил в игру немного русского текста вперемежку с английским.. и в дебаггере следил куда "сруливает" программа при обработке русских символов..
Вобщем немного знаний, везения, терпения и конечно IDA с ее дебаггером.. |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вт Июл 04, 2006 11:50 am Заголовок сообщения: |
|
|
Здорово, примерно так всё всегда и делается! У тебя ИДА какой версии?
GrayLight писал(а): | Поэтому далее подход был такой: я поставил брекпойнт на процедуру вывода символа и определил где она вызывается во время вывода диалогов.. |
Да тут можно было просто дойти до RET и увидеть вызывающую инструкцию без всяких бряков (а ещё можно было посмотреть стек - узнать адрес возвращения сразу, но там уже можно запутаться, если в процедуре было много PUSH). |
|
Вернуться к началу |
|
|
GrayLightTaliz
Зарегистрирован: 13.10.2005 Сообщения: 204 Откуда: Краснодар/Королёв
|
Добавлено: Вт Июл 04, 2006 12:04 pm Заголовок сообщения: |
|
|
У меня IDA Pro Advanced (Version 4.9.0.863) |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Вт Июл 04, 2006 2:55 pm Заголовок сообщения: |
|
|
Круто. 8)
Неужели это так легко можно научиться?.. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4 |
|
Вернуться к началу |
|
|
GrayLightTaliz
Зарегистрирован: 13.10.2005 Сообщения: 204 Откуда: Краснодар/Королёв
|
Добавлено: Вт Июл 04, 2006 9:23 pm Заголовок сообщения: |
|
|
Затрудяюсь ответить.. наверное не все так просто, но при желании всему можно потихоньку научиться... мне же наверное помогло то, что в свое время я достаточно много писал программок для Спектрума на машинном языке, т.е. посылая число за числом прямо в память... |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Ср Июл 05, 2006 3:47 pm Заголовок сообщения: |
|
|
Эх, здорово бы так.
Мне тут внезапно пришла немного дурацкая мысль. Может перевести CS как "Сказка о пещере"?.. Или "...Пещере". _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4 |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Июл 05, 2006 4:34 pm Заголовок сообщения: |
|
|
Repl0id писал(а): | Эх, здорово бы так.
Мне тут внезапно пришла немного дурацкая мысль. Может перевести CS как "Сказка о пещере"?.. Или "...Пещере". |
Да, конечно, не надо зацикливаться на Story, но слово Сказка здесь не подходит, так как в игре есть элементы НФ. |
|
Вернуться к началу |
|
|
&ryu
Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Ср Июл 05, 2006 5:28 pm Заголовок сообщения: |
|
|
АнС писал(а): | Repl0id писал(а): | Эх, здорово бы так.
Мне тут внезапно пришла немного дурацкая мысль. Может перевести CS как "Сказка о пещере"?.. Или "...Пещере". |
Да, конечно, не надо зацикливаться на Story, но слово Сказка здесь не подходит, так как в игре есть элементы НФ. |
Раз есть НФ, значит надо "Рассказ..." _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Ср Июл 05, 2006 11:44 pm Заголовок сообщения: |
|
|
Всё определено.
И вот, мы пришли к финальной стадии перевода.
Ограничение = 35 символов
С портретом = 26 символов
Я исправляю всю свою часть (46~) а также все общие скрипты кроме Credits.tsc, с этим потом разберёмся.
Гайвера я жду ОДНУ НЕДЕЛЮ, после чего перехожу к тотальной правке его части скриптов переходя от 45 к 1. Спустя ещё неделю я уже переведу\исправлю точно всё.
После чего остаётся только Credits.tsc... И собственно само название Cave Story...
P.S. Да, КСТАТИ! Я забыл сказать что залитая на сайт версия 0.8 включает в себя полностью переведённую ИНСТРУКЦИЮ на русском, равно как и оригинал на английском. Проверьте пока что. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4
Последний раз редактировалось: Repl0id (Пн Окт 17, 2011 1:55 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
Guyver 3
Зарегистрирован: 19.06.2006 Сообщения: 7
|
Добавлено: Пт Июл 21, 2006 4:50 pm Заголовок сообщения: |
|
|
Ребята, я ДИКО извеняюсь, но у меня началась сессия (вот так вот нас обрадовали, на несколько месяцев раньше, чем нужно, и практически через месяц после преждней, кАзлы). Вобщем, я еще недели 2-3 ничего сделать не смогу. |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Вс Июл 23, 2006 1:54 pm Заголовок сообщения: |
|
|
Ладно, так и запишем. Придётся всё делать самому... _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4 |
|
Вернуться к началу |
|
|
GrayLightTaliz
Зарегистрирован: 13.10.2005 Сообщения: 204 Откуда: Краснодар/Королёв
|
Добавлено: Пт Сен 08, 2006 4:37 pm Заголовок сообщения: |
|
|
Как дела продвигаются? |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Ср Сен 20, 2006 9:33 pm Заголовок сообщения: |
|
|
Туповато. :oops:
Честное слово, я бы закончил всё это за неделю, ТУ САМУЮ неделю, обещанную в n-ном раннем посте этой темы. Но по каким-то неведомым мне причинам я умудрился забыть про этот проект и ужасно протупить с переводом в течении такого количества времени.
Я исправлял все скрипты прямо говоря - хаотически, не запоминая что уже проверено и переделано, а что нет. Получилась некая смесь из исправленных до блеска скриптов, завершённых до половины и кое-как сделанных. Притом косяк с длиной строки есть почти везде.
В общем, получилась полная хрень. -_- Вот версия 0.9, самая последняя и самая исправленная но недоделанная: dou_1006r09.rar
Для того чтобы исправить эту чёртову длину строки нужно или пройти абсолютно всю игру или написать программу для автообработки текста (вопрос только что займёт меньше времени), однако ни на то ни на это у меня лично времени нет, так как его вообще сейчас в обрез.
Короче, доделайте кто-нибудь... У меня сил не хватает добить до конца. :(
P.S. Кроме длины строки остаются титры, которые явно нужно взломать каким-либо способом, так как при попытке просмотреть их в игре происходит зависание или выкидывание из игры. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4
Последний раз редактировалось: Repl0id (Пн Окт 17, 2011 1:56 am), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Сен 20, 2006 10:28 pm Заголовок сообщения: |
|
|
Ага, целыми днями в Аське сидит - конечно, не до Докуцу. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Чт Сен 21, 2006 10:02 am Заголовок сообщения: |
|
|
Repl0id писал(а): | или написать программу для автообработки текста |
А каким образом нужно обработать текст? Обычно такие проги легко пишутся. |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Пт Сен 22, 2006 8:46 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | А каким образом нужно обработать текст? Обычно такие проги легко пишутся. |
Смысл в том чтобы ограничить количество символов в одной линии до определённого значения, различного в друх разных случаях. Это почти единственная вещь которую осталось сделать чтобы завершить данный проект.
P.S. ХМММ... Только что я обнаружил что последняя версия как-то глючно загружена на сайт... Может не работать, исправлю в ближайшее время. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4 |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 22, 2006 9:08 pm Заголовок сообщения: |
|
|
И всё??? Дай мне текст и на какую длину его надо ограничить - я прогу состряпаю. |
|
Вернуться к началу |
|
|
Repl0id
Зарегистрирован: 29.05.2006 Сообщения: 66
|
Добавлено: Сб Сен 23, 2006 5:49 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | И всё??? |
Всё может оказаться сложнее чем кажется.
Текста там достаточно много, и не все части доделаны полностью, поэтому завершённых участков почти нет. Но насколько я понимаю это не важно, поэтому просто объясню принцип по которому в этой игре написаны скрипты перемешанные с самим отображаемым текстом.
Допустим, вот фрагмент:
Код: | #0622
<KEY<FLJ0158:0632<MSG<FAC0010Спасибо за помощь.<NOD<CLRНаш транспорт явно
не пережил этого, но по
крайней мере живы мы сами.<NOD<END |
"<FAC0010" означает что режим вывода текста меняется, и максимальная длина строки становится меньше. (35 символов)
(в окне отображается потрет говорящего, из-за этого меньше места для текста).
"<FAC0000" - наоборот убирает потрет и максимальная длина строки становится больше. (26 символов)
Но:
Код: | #0100
<PRI<FAO0004<TRA0010:0094:0018:0032
#0101
<PRI<FAO0004<TRA0012:0094:0037:0011
#0102
<FLJ0155:0103<PRI<SOU0011<DNP0102<FAO0004<TRA0011:0094:0016:0053
#0103
<PRI<SOU0011<CMU0000<DNP0102<FAO0004<TRA0011:0400:0016:0053 |
Участки скрипта вроде этого ^ не должны быть изменены вообще.
Надеюсь, это понятно. Фактически нужно ограничить длину только выводимого текста.
Ну и, наконец, вот один из сотни тех фрагментов которые надо выровнять:
Код: | #0110
<SOU0022<MSG<GIT1010<FAC0010Использован =Ключ от Склада=.<NOD<CLO
<GIT0000<FL+0222<EVE0111 |
В результате выполнения пока что не написанной программы должен получится код такого вида:
Код: | #0110
<SOU0022<MSG<GIT1010<FAC0010Использован =Ключ от
Склада=.<NOD<CLO
<GIT0000<FL+0222<EVE0111 |
(Да, нужно переносить по словам а не просто смещать символы.)
Ограничение = 35 символов
С портретом = 26 символов
Для стопроцентной уверенности можно выставить 32 и 24... Если понадобится. _________________ 2 + 2 = 2 * 2 = 2 ^ 2 = 4
Последний раз редактировалось: Repl0id (Сб Сен 23, 2006 6:11 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
|