форум группы Chief-Net форум группы Chief-Net
Перевод приставочных игр и не только!
drako site Перейти на сайт группы     Наш чат      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Без описания
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:01:56
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Поинтеры:
0x03B0 - первый поинтер 4 байта, указывают на адрес 0x3290, сперва идут 3 служебных байта, сама строка начинается с 0x3293
0x03B4 - второй поинтер 4 байта, указывают на адрес 0x32A9, тоже 3 служебных байта, а строка начинается с 0x32AC

0x3280 - последний поинтер 4 байта, указывают на адрес 0x016447

КОнец блока поинтеров, последние 4 байта - 0x328c непосредственно перед началом текста, который находится по адресу 0x3290

Иногда между поинтерами встречается последовательность в 4 байта 0x00730000 - её нужно игнорировать, это какие-то служебные данные, которые должны остаться без изменения на своих местах.
Кроме того, встречаются ситуации, когда несколько поинтеров указывают на одну и ту же строку, это надо как-то проследить и пометить на стадии выемки текста, чтобы потом была возможность вставить всё на свои места обратно. В идеале такую строку вынимать один раз, с пометкой всех поинтеров на неё иначе, подозреваю, в итоге при вставке можем получить глюки.

Теперь по самому тексту:
Кодировка win-1251.
Разрыв строки - 0x01
Конец строки - 0x00
НО!
В скрипте есть управляющие байты, которые тоже содержат 0x00
В начале строки, предположительно выравнивание текста:
0300
0301
0302

В середине строки:
060002 - ожидание нажатия кнопки
0600 - конец строки, в которой встречался код 060002, после 0600 всегда стоит 00, указывающий на конец данной строки

Коды указывающие на то, что в этом месте будет выводится текст переменной:
040105000400
040105000400
Пример: "Would you take %item%?" выглядит как "Would you take 040105000400?"

Вообщем реквестую помощь в разборе лангпака.
Таблица и сам файл во вложении. В идеале можно или запилить проект к крупычу, если он пережуёт все эти сложности, или совместными усилиями описать формат, чтобы можно было накодить редактор/конвертер в текст и обратно.

Ссылка:
https://dl.dropboxusercontent.co...75554/DS/REDS.7z
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:02:18
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Глядел кто-нибудь?
 
 Top
alex_231 Супермодератор
Отправлено: 26 Февраля, 2016 - 15:02:55
Post Id



Chief-Net


Покинул форум
Сообщений всего: 4687
Дата рег-ции: Окт. 2014  





alex_231
Чего-то я не понял, а в чем собственно проблема? Пускай Круптар вытаскивает эти коды вместе с текстом, а потом обратно вставляет, ты их просто при переводе не трогай и всё.

-----
Делая выбор, отбрось простое решение и выбери правильное...
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:03:20
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Вся беда в том, что в этих кодах есть байт 0x00, который в других местах означает конец строки :/
 
 Top
alex_231 Супермодератор
Отправлено: 26 Февраля, 2016 - 15:03:49
Post Id



Chief-Net


Покинул форум
Сообщений всего: 4687
Дата рег-ции: Окт. 2014  





alex_231
А если его впаять с каким(и)-нибудь кодом (кодами) в таблицу в виде двухбайтовых значений, не?
Типа h0300=[0300] и т.п.

-----
Делая выбор, отбрось простое решение и выбери правильное...
 
 Top
Anton299 Пользователь
Отправлено: 26 Февраля, 2016 - 15:04:39
Post Id



VIP


Покинул форум
Сообщений всего: 1079
Дата рег-ции: Июнь 2015  
Откуда: Киев





Anton299
lupus, тут без спец-плагина никак, ты ж знаешь...
 
 Top
Mefistotel Администратор
Отправлено: 26 Февраля, 2016 - 15:05:04
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7042
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Mefistotel
Или если Алекс не адаптирует свою прогу под эту игру)


-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:05:37
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
В хексе забил вместо данных команд другие последовательности, чтобы не воспринимало, как стоп-байт, думал потом обратно вернуть старые, но напоролся на Ещё один подводный камень - встречаются повторения поинтеров, т.е. несколько поинтеров указывают на одну и ту же строку.
Круптар справится или всё же проще софтину написать?
 
 Top
Mefistotel Администратор
Отправлено: 26 Февраля, 2016 - 15:05:54
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7042
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Mefistotel
Может, dnd1 и здесь с плагином поможет? Без него, намучаешься только.

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:06:23
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Модет, но я не совсем уверен, что такой плагин возможен %)
Нужно учесть все системные последовательности, то, что по не колько поинтеров ссылаются на одну и ту же строку, а так же в блоке поинтеров встречаются последовательности 0x00730000, которые нужно игнорировать.
Но я был бы рад любой помощи. Более детально изучил лангпак, надо бы поправить первый пост, как с ноута вылезу в инет.
 
 Top
Anton299 Пользователь
Отправлено: 26 Февраля, 2016 - 15:06:46
Post Id



VIP


Покинул форум
Сообщений всего: 1079
Дата рег-ции: Июнь 2015  
Откуда: Киев





Anton299
Цитата:


несколько поинтеров указывают на одну и ту же строку.
Круптар справится или всё же проще софтину написать?



Если не ошибаюсь, надо в круптаре поставить PtSeekSame=TRUE.
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:07:07
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus


Цитата:

несколько поинтеров указывают на одну и ту же строку.
Круптар справится или всё же проще софтину написать?


Если не ошибаюсь, надо в круптаре поставить PtSeekSame=TRUE.


Хм, не знал...
Спасибо, попробую.
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:07:28
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Собрал рабочий проект, вынимается и вставляется назад, правда пришлось немного схитрить и кое-что в хексе поправить перед этим. Теперь проблема с тем, что некоторые поинтеры указывают на одно и то же место, метод предложенный Антоном не сработал Недовольство, огорчение
Есть ли ещё варианты?
 
 Top
Anton299 Пользователь
Отправлено: 26 Февраля, 2016 - 15:07:43
Post Id



VIP


Покинул форум
Сообщений всего: 1079
Дата рег-ции: Июнь 2015  
Откуда: Киев





Anton299
реведи это "одно и то же место" одинаково.
В круптаре это повторяющаяся строка, что ли?
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:08:02
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Да, несколько раз выводится одно и то же. Если экспорт текста сделать, то он в 2 раза больше чем оригинал получается :/
И, да, чего-то не хватает в моём проекте, т.к. даже после простой пересборки файла, без изменений лангпаки до и после сильно отличаются ((
 
 Top
Mefistotel Администратор
Отправлено: 26 Февраля, 2016 - 15:08:31
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7042
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Mefistotel
Выложи нынешний проект и файлы к нему. Seek Same не может не сработать. Кстати говоря, я им обычно не пользуюсь, чтобы разнообразить текст, то есть одно и тоже предложение переводится по разному. Но не во всех играх так можно делать.


-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:08:47
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Пока бьюсь ещё над вычислением управляющих байт. Поскольку некоторые из них содержат 0x00, который круптар считает концом строки, текст вынимается не полностью. Как с этим разберусь - выложу проект, чтобы глянули.
 
 Top
Mefistotel Администратор
Отправлено: 26 Февраля, 2016 - 15:09:03
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7042
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Mefistotel
Ты отдельно этот список управляющих кодов сделай. Дальше будем смотреть.

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
Guyver Администратор
Отправлено: 26 Февраля, 2016 - 15:09:22
Post Id



Chief-Net


Покинул форум
Сообщений всего: 9895
Дата рег-ции: Окт. 2014  
Откуда: Магадан





Guyver
Когда у меня текст вынимается не полностью из-за 00 к примеру, я делаю так.

Текст в игре.
Фраза 1-1
Фраза 1-2
Фраза 1-3 00
Фраза 2-1
Фраза 2-2 00730000
Фраза 2-3 00

Текст вынется до фразы 2-2 и закончится, после неё не будет информации

И я делаю так:

Надо поставить концом строки 10 символов после самого последнего предложения, тогда текст вынется так:

1 поинтер:

Фраза 1-1
Фраза 1-2
Фраза 1-3 00
Фраза 2-1
Фраза 2-2 00730000
Фраза 2-3 00 (10 символов после предложения, стопбайт 10значный)

2 поинтер:

Фраза 2-1
Фраза 2-2 00730000
Фраза 2-3 00 (10 символов после предложения, стопбайт 10значный)

А потом при вставке я просто стираю лишние предложения, и вставляю только то, что нужно... И диапазон вставки текста я делаю на 10 символов меньше, т.е. сами символы эти не трогаю и не затираю... Вот...


-----
Я не волшебник - я только учусь...
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:10:06
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Я немного иначе делаю, в хексе меняю данные коды так, чтобы убрать в них 0х00, но чтобы других таких совпадений не было, а потом в самом проекте забиваю их как положено при помощи автозомены. Например у меня управляющий байт 00х0300, я их все перебиваю на 00х0309, а в крупыче меняю последовательность /03/09 на /03/00. Прокатывает. Ищу остальные, т.к. не все эти коды двухбайтовые.
Пока основная задача - выковырять управляющие байты в конце строк, которые заканчиваются переменной.
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:10:24
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Обновил первый пост, пока накопал это. Путём хитрых манипуляций, описанных выше получилось обойти одни глюки, но дальше вылезли другие Недовольство, огорчение
Пытаюсь выяснить закономерность.
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:10:44
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Ребята, среди вас есть программисты, поэтому снова решил поднять тему.
Недавно решил попытать счастья и спросить совета на форуме гбатемп и мне подсказали, как вынуть текст и вставить обратно.
Если с выемкой проблем не возникает, то вот со вставкой я никак не разберусь Недовольство, огорчение
В целом, программисту всё должно быть понятно, если проанализировать таблицу и файл с командами для программы Cartographer, взять можно здесь:
https://dl.dropboxusercontent.co....grapher_reds.7z
Таблицу, желательно оставить внешней, можно потом софтом поделиться на том же romhacking.net
Ноги у эксперимента с картографером растут из этой темы:
http://gbatemp.net/threads/need-....evil-ds.369787/
Буду премного благодарен, за любую.
 
 Top
Mefistotel Администратор
Отправлено: 26 Февраля, 2016 - 15:11:10
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7042
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Mefistotel
У нас програмеров два, Марат и Алекс.
М. б. посмотрят.


-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:11:28
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
Надеюсь, получится оказать посильную помощь ))
 
 Top
lupus Пользователь
Отправлено: 26 Февраля, 2016 - 15:11:48
Post Id





Покинул форум
Сообщений всего: 1056
Дата рег-ции: Июнь 2015  
Откуда: Simferopol





lupus
С софтиной помог MetLob, за что ему огромная благодарность. Есть ещё нюансы, но они, думаю, будут устранены.
 
 Top
Mefistotel Администратор
Отправлено: 26 Февраля, 2016 - 15:15:01
Post Id



Chief-Net


Покинул форум
Сообщений всего: 7042
Дата рег-ции: Окт. 2014  
Откуда: МАГАДАН





Перевод можно скачать по ссылке:
Resident Evil: Deadly Silence - Русская версия

-----
"Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Экстрим хакинг »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



> Похожие темы: Resident Evil (NDS)
Темы Форум Информация о теме Обновление
Несколько вопросов по Resident Evil [NDS]
...
Трудные фразы... Ответов: 0
Автор темы: lupus
27 Июля, 2015 - 04:58:00
Автор: lupus
Помогите красиво перевести
...
Трудные фразы... Ответов: 3
Автор темы: lupus
05 Мая, 2016 - 05:47:00
Автор: Ace Lightning
SonicN
...
Трудные фразы... Ответов: 0
Автор темы: lupus
27 Июля, 2015 - 04:53:49
Автор: lupus
Подскажите в чём лучше переводить
...
Программирование Ответов: 0
Автор темы: lupus
24 Июля, 2015 - 10:27:18
Автор: lupus
Подсобите с простой софтинкой
...
Программирование Ответов: 0
Автор темы: lupus
24 Июля, 2015 - 10:27:43
Автор: lupus
 

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®