![](https://forum.zoneofgames.ru/uploads/monthly_2018_01/P_member_66163.png)
pomirancev
-
Публикации
24 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем pomirancev
-
-
то есть лучше париться с копипастой спецсимволов, номеров и айдишников, чем один раз сделать по-нормальному?И я о том же. Потом ещё столько же времени будем баги вылавливать из-за неправильно вставленного айди или спецсимвола.
-
В моём тексте спецсимволы отсутствуют
-
-
Переустановил игру, всё нормально распаковывается.
Ну вот, http://rghost.ru/49927798, можно теперь переводить.
И не забываем про это
первый номер в строке, числа в [xxx] не трогаем, строка начинается сразу после " = ". также нельзя трогать слова в начале которых стоит спецсимвол "¤" -
c:\232>lua step_1_1_lang_decompose.lua c:\232\Common_PC.eng c:\232\Extracteng 1382345183, (1548484608); 0 ( 919), 21516848 ( 739), 291108 ( 7816), 2627912 ( 2),part 1 offset: 56, size: 96435130, name: c:\232\Extract/part_1.binpart 2 offset: 96435186, size: 21519804, name: c:\232\Extract/part_2.binpart 3 offset: 117954990, size: 291108, name: c:\232\Extract/part_3.binpart 4 offset: 118246098, size: 176, name: c:\232\Extract/part_4.binc:\232>lua step_1_2_text_extract.lua c:\232\Extractlua: step_1_2_text_extract.lua:58: !!! 3000stack traceback: [C]: in function 'assert' step_1_2_text_extract.lua:58: in main chunk [C]: in ?
Хотя я по-моему изменял Common_PC.eng, возможно по этому.
-
3919 строк с хоть каким-то текстом, они извлекаются, остальные 3898 — пустые строки.Выложи тогда ты текст, у меня как-то криво распаковывается, всего 1799 строк.
-
Я пытался разбираться и программку писать, но у меня слишком много времени уходит параллельно изучая программирование))). Попросите товарища hhr, он хорошо разбирается.
-
Боже, та что вы так нервничаете, то. Если на ноте весь англ текст то просто переводите его (так как там это делать куда удобнее). Далее если понадобится я вытащу оттуда весь перевод и заменю в необходимых файлах (благо не первый раз делаю подобное).Ты готов потом >7000 строк переместить?
-
Бывают накладки, ладно хоть не 100%. Просьба mad_enis добавить новый текст для перевода.
И не забываем про это
первый номер в строке, числа в [xxx] не трогаем, строка начинается сразу после " = ". также нельзя трогать слова в начале которых стоит спецсимвол "¤"ТАК СТОП, ПОКА НИЧЕГО НЕ ДЕЛАЙТЕ
Вопрос к hhr, у меня почему-то на выходе получилось 3000 строк, а должно быть гораздо больше, у меня косяк или у тебя?
-
В общем вот текст от hhr del, лучше его переводить. Собрать потом легче будет
-
Ну так он выложил утилиту для распаковки с инструкциями, стало быть надо использовать его файлы, иначе обратно не скомпилим
-
Так стоп, вы переводите то что я выложил или то что hhr выложил? Раз уж hhr сделал по-своему, то и переводить нужно его файлы после распаковки.
-
Ну чего народ, где все те ждущие, всё уже на блюдце, только перевести осталось.
-
названия файлов "где эти 02 и стоят"?Тьфу блиннн, туплю, эти 02 и есть длина пустышек)))) значит всё в норме))
-
> если 02 на что-то менять, то игра крашится
ну так не надо вслепую менять.
Так я и говорю, надо понять что это такое. потому что если ты будешь компилить обратно, а вместо пустых файлов (где эти 02 и стоят) поставишь нули, то ничё работать не будет
-
пустые строки = "файлы" нулевого размера, там никаких байтов нет.После распаковки да, а если в оригинал заглянуть, то там байты 00 и 02 чередуются и если 02 на что-то менять, то игра крашится.
если "изменялись" первые 8 байт (размер и еще что-то), то краш неудивителен.Ну размер это понятно, а вот как раз при изменении этого "ещё что-то" ничего не происходит)
но принцип я понял, по идее можно смело оставлять перевод в CP-1251 кодировке, а все преобразования замутить в файле шрифта. только пока не совсем понял, где происходит "переключение" на второй шрифт (большие толстые буквы).Можно и так, только я пока ещё пытаюсь понять, что шрифт из себя представляет.
А вот переключение шрифтов я тоже пока не понял как происходит.
-
В общем вот текст Тык
Там где пустые строки, нужно оставлять пустые строки. Некоторые предложения идут не в одну строку, а в несколько из-за форматирования. Переводим так же - в каждой строке своя часть предложения.
По поводу превышения длины строки в русском варианте. Это нужно спрашивать hhr, сможет ли он потом всё скомпилировать обратно так, чтобы всё без ошибок работало. И надо помнить, что всё же если и превышать, то в разумных пределах, т.к. в игре текст вылезет за свои рамки и будет некрасиво.
hhr Ты сможешь потом учесть то, что там где пустые строки, это не нули в исходнике, а там какие-то байты. Просто почему-то твоя программа эти байты пропускала, ты разобрался что они значат? Хоть это и не текст, но их изменение крашит игру.
И ещё распиши пожалуйста формат части data_3 (это и есть текст).
И можно шрифт перерисовывать. Он, я так понял, в графическом виде?
-
Наверное перевода не будет ?Програмку допишу на днях, думаю всё получится
-
-
В общем не получается сделать у меня скрин принтскрином. Ладно, буду сам тогда изучать, как программу написать.
-
могу, и не только я. как только текст найдут, изменят и в игре появятся хотя бы крякозяблы, а пока это только потеря времени (ессно, имхо ;)Ну скажем я уже менял буквы в тексте, только не на кракозябры, а на другие английские. Вечером могу заскринить
-
hhr можешь написать програмку?
-
hhr Таблицу кодировки можно впринципе вручную составить. Другой вопрос, шрифты можно перерисовать на русский? Мне видится такой ход действий: составляем таблицу кодировки, пишем прогу, которая будет перекодировать в английский на основании этой таблицы, переводим всё на русский и обратно кодируем только уже на основании таблицы русского шрифта. Так же вопрос не будет ли проблем с длиной строки в русском варианте?
Народ, кто может написать программку такого типа. Открываем бинарный файл в шестнадцатиричном виде. Читаем первый байт, например 3F, далее смотрим в таблицу значений (для удобства отдельный файл) и видим что 3F это буква Z, значит заменяем 3F на Z и сохраняем в текстовый файл (с названием оригинального файла) в другую папку. Читаем следующий байт, он будет 00-никакого символа, поэтому переходим к следующему байту. И так далее. Т.е нужные байты расположены через один (чередуются с нулями).
И такую операцию проводим для всех бинарных файлов в папке.
Файл с таблицей значений будет такого вида:
3F-Z
2A-B
04-Y
и т.д.
Таким образом из кода 3F002A0004 у нас должно получиться ZBY.
Если кто напишет, то можно будет уже приступать к переводу.
How to Survive
в Русификаторы
Опубликовано:
вечером могу собрать, если текст готов