Всем привет. Недавно группа переводчиков под названием "Rinjinbu Translations" перевела игру(визуальную новеллу) Oreimo Tsuzuku Disc 1 с японского на английский, собственно мне и моему другу очень понравилась данная игра и нам бы хотелось ее русифицировать, но мы не очень сильны в программировании поэтому ищем программиста который сможет засунуть в игру наш русифицированный текст, или кто-нибудь даст направление(объяснить) что читать/изучать чтобы покопаться в файлах игры т.к. покопавшись недели две в файлах игры с помощью хекса мы так ничего и не вытащили.
Спасибо за внимание.
Последний раз редактировалось miaskoo; 30.03.2015 в 23:34.
А чего шрифт какой серый? В оригинале вроде побелее?
Это эмулятор пролагал - так то текст нормальный.
miaskoo добавил 19.04.2015 в 02:43
Сообщение от riku.kh3
Да, надо вообще все что есть пересобрать и сверить. Пересобранные из нетронутых текстовиков OBJ должны одинаковую чексумму иметь с оригинальными (CRC/MD5/SHA, что больше нравится). Если на каком-то не совпадает - значит программа споткнулась об неизвестный ей код.
Попробовал изменить скрипт полностью - крах. Насколько я понял размер становится слишком большой, тк если не доделать строчек 8-10 (в любом месте) то краха не будет. А также в некоторых местах перевод просто не влез на все место окна, можно ли будет это как-нибудь решить?
Последний раз редактировалось miaskoo; 19.04.2015 в 02:46.
Причина: добавил, подумав
Попробовал изменить скрипт полностью - крах. Насколько я понял размер становится слишком большой, тк если не доделать строчек 8-10 (в любом месте) то краха не будет. А также в некоторых местах перевод просто не влез на все место окна, можно ли будет это как-нибудь решить?
Если какие проверки на размер или ограничения в памяти есть - то они точно не в obj файлах. Чтобы свои окошки добавлять надо сидеть еще кучу кода писать, т.к. все что за ними следует переподсчитывать придется.
Если какие проверки на размер или ограничения в памяти есть - то они точно не в obj файлах. Чтобы свои окошки добавлять надо сидеть еще кучу кода писать, т.к. все что за ними следует переподсчитывать придется.
Все же размер не влияет, англ скрипт например - весит больше, значит все таки что то смещается туда, куда не нужно, тк доделать до конца скрипт не выходит.
Попробуй найти то место, где минимальные изменения приводят к крэшу. То есть тот максимум, после которого начинается крэш. И выложи тут оба obj - один который работает, второй который крэшится. Текст в обоих чтобы как можно больше соответствовал, тогда я смогу посмотреть в чем проблема.
Попробуй найти то место, где минимальные изменения приводят к крэшу. То есть тот максимум, после которого начинается крэш. И выложи тут оба obj - один который работает, второй который крэшится. Текст в обоих чтобы как можно больше соответствовал, тогда я смогу посмотреть в чем проблема.
Тот что с приставкой rebuild не робит, а с первым все хорошо.
Последний раз редактировалось miaskoo; 03.05.2015 в 20:04.
Странно, вроде все нормально выглядит. Оба файла, за исключением предпоследней строки схожи. Может это из-за того, что все в одну строку лепишь? В смысле, там символ для перехода на другую строку есть. Попробуй им разбить предпоследнюю фразу на строки.
Странно, вроде все нормально выглядит. Оба файла, за исключением предпоследней строки схожи. Может это из-за того, что все в одну строку лепишь? В смысле, там символ для перехода на другую строку есть. Попробуй им разбить предпоследнюю фразу на строки.
Дело в том что даже при добавление этого символа вместо пробела, тоже происходит крах. Но все-таки сейчас проверю поставить этот символ, везде где нужно.
Может тогда лимит на длину каждой фразы? Там такие длинные еще есть?
Да, те что не вставил (оставил как в оригинале), а также там даже если все укоротить и последние 2-3 строчки не вставить то робит, есть ли какой-то лимит символов в скрипте? Тк если его превышать будет крах. Можно ли его увеличить?
Ну структура у обоих OBJ последних выглядит правильно, то есть при сборке ошибок не должно было быть. А лимит - это, как уже говорил, не в OBJ точно. Где угодно это может быть. Может вообще размер выделенной под каждую фразу памяти жестко прописан в процедурах экзешника. В английском переводе, видимо, в рамках длины каждой фразы держались и просто добавляли свои дополнительные окошки с текстом.
Попробуй, для начала, найти это точное значение длины фразы в символах, после которой игра начинает крэшиться.
riku.kh3 добавил 19.04.2015 в 17:07
Кстати, это еще проблемой с gzip сжатием может быть. У нас с персоной такое же было. Разными gzip сжималками с разной степенью сжатия и параметрами стоит попробовать поиграться.
Последний раз редактировалось riku.kh3; 19.04.2015 в 17:07.
Причина: добавил, подумав
C gzip точно нет, игра воспринимает только один метод сжатия -n9 при любом другом крах, это я еще выяснил когда с gim файлами разбирался. С длинной фраз - да попробую узнать.
Значит наоборот скорее всего сжатие. Их там много вариаций-модификаций gzip'а. Они от версии к версии разные архивы генерируют. Плюс 7zip и через питон zlib'ом которые создаются - почти все разные получаются. С персоной у нас тоже крэшилось в зависимости от того чем и как сжимали, крэшилось рандомно: то есть сжали, положим стандартным gzip'ом 1.3.12 c обычным -8 сжатием - игра завелась, все работало. Слегка подправили текст - стало крэшится, изменили сжатие до -9 перестало крэшиться на этом скрипте, но стало на тех крэшиться где раньше все нормально было. Zlib'ом упакованные скрипты тоже рандомно половина работает половина нет, в зависимости от настроек.
В общем, если заметишь что нет какой-то точной определенной длины строки, после которого игра начинает крэшиться и длина всегда разная, в зависимости от того чем забита строка - значит скорее всего в сжатии проблема.
Значит наоборот скорее всего сжатие. Их там много вариаций-модификаций gzip'а. Они от версии к версии разные архивы генерируют. Плюс 7zip и через питон zlib'ом которые создаются - почти все разные получаются. С персоной у нас тоже крэшилось в зависимости от того чем и как сжимали, крэшилось рандомно: то есть сжали, положим стандартным gzip'ом 1.3.12 c обычным -8 сжатием - игра завелась, все работало. Слегка подправили текст - стало крэшится, изменили сжатие до -9 перестало крэшиться на этом скрипте, но стало на тех крэшиться где раньше все нормально было. Zlib'ом упакованные скрипты тоже рандомно половина работает половина нет, в зависимости от настроек.
В общем, если заметишь что нет какой-то точной определенной длины строки, после которого игра начинает крэшиться и длина всегда разная, в зависимости от того чем забита строка - значит скорее всего в сжатии проблема.
Попробовал убрать часть текста(вернул оригинал) и вставлять символ для переноса строки, пару строчек смог изменить, попробовал больше(10-11) отказалась запускаться. Также можно ввести любого размера строчку, игра не скрашится просто текст уйдет ниже(за границу экрана).
Со стандартным gzip'ом поробуй с разными уровнями сжатия поиграться и ключом --rsyncable. Еще zlib'ом попробуй. Во вложении python2.7 скрипт, просто перетянуть на него файл который хочешь сжать. Ну и 7-zip, наконец + там тоже настройки степени сжатия и размера словаря.
Со стандартным gzip'ом поробуй с разными уровнями сжатия поиграться и ключом --rsyncable. Еще zlib'ом попробуй. Во вложении python2.7 скрипт, просто перетянуть на него файл который хочешь сжать. Ну и 7-zip, наконец + там тоже настройки степени сжатия и размера словаря.
Да ты был прав, помутив немножко с gzip архивами, удалось засунуть то что не получалось.
miaskoo добавил 20.04.2015 в 18:01
Осталось одна проблема с созданием новых окон, но я так понял это не получится сделать?) Просто иначе придется укорачивать фразы перевода.
Последний раз редактировалось miaskoo; 20.04.2015 в 18:01.
Причина: добавил, подумав
Здесь допиленная вставлялка текста. Дополнительные окошки добавляются текстовой командой <WRITE@ext>
Формат скриптов я тоже немного изменил, так что если старые захочется использовать, то сначала по ним надо будет пройтись автозаменой в notepad++ или еще где и привести их к новому виду, один текстовик я для примера приложил.
Последний раз редактировалось riku.kh3; 20.04.2015 в 20:48.