alex_231
Вот, скрин того места, где находится запакованный текст Dragon Warrior 2, по крайней мере первый текст, который мы можем увидеть (There one day...).
Немного поэкспериментировав с кодами, смею предположить, что таблица MTE кодируется полуторами байтами, в смысле 12-ю битами, не 8 и не 16, а именно 12, причем код h760 (в выделенном фрагменте) - как-то связан с самим сообщением полностью, а последующие уже кодируют текст:
hEA3 - 'T'
hED7 - 'here'
(эти два я точно определил).
Но за неимением времени я не могу продолжить изучение (может только немного погодя), а пока оставляю данную находку в помощь Archisai, надеюсь ты сможешь во всем разобраться.
1. alex_231 - 31 Января, 2016 - 15:29:43 - перейти к сообщению
2. Archisai - 02 Февраля, 2016 - 10:02:12 - перейти к сообщению
Archisai
Благодарю!!! Я не совсем тупой и кое-что понял, но мне понадобится много времени на эксперименты и изучение, так что на меня пока не отвлекайся и занимайся своими делами, ибо у тебя их и так по горло!!!
Благодарю!!! Я не совсем тупой и кое-что понял, но мне понадобится много времени на эксперименты и изучение, так что на меня пока не отвлекайся и занимайся своими делами, ибо у тебя их и так по горло!!!
3. alex_231 - 02 Февраля, 2016 - 10:02:48 - перейти к сообщению
alex_231
Упс, я несколько ошибся, кодировка там не 12-ти битная, а динамичная, то есть битовая ширина может меняться, выше указанные коды - неверны, возможные ширины (найденные - 5 бит и 10 бит)
Упс, я несколько ошибся, кодировка там не 12-ти битная, а динамичная, то есть битовая ширина может меняться, выше указанные коды - неверны, возможные ширины (найденные - 5 бит и 10 бит)
4. alex_231 - 02 Февраля, 2016 - 10:03:25 - перейти к сообщению
alex_231
Всё, вчера вечером я разобрался в алгоритме кодировки текста.
В роме используются две таблицы:
первая - 32 элемента, кодируются 5-ю битами,
вторая - 128 элементов, кодируются 10-ю битам.
Причем ширина элементов задается таблицей ширины по адресу &hB44B (4 бита на элемент, максимальная длина - 15 символов), в таблице ширины 80 байт, а сразу за ними идут таблицы элементов (сначала первая, а потом вторая).
Так же есть таблица поинтеров на начала блоков текста, адрес &hB762 (только я не знаю сколько там поинтеров), первый элемент - 0080 -> 8000, указывает на адрес в роме - &h14010 (адрес первого блока текста).
Алгоритм распаковки(запаковки):
Байты переводятся в биты и выстраиваются в двоичную цепочку, затем смотрим на ПЕРВЫЕ ТРИ бита, если они ВСЕ равны 1, то элемент кодируется 10-ю битами, которые ВКЛЮЧАЮТ ТРИ вышеописанных, поэтому следующие СЕМЬ бит переводятся в десятичную систему (получается число от 0 до 127), полученное число есть номер элемента во второй таблице элементов, этот элемент записывается в память и выводится на экран, затем от начала цепочки отбрасывается 10 бит (уже раскодированные) и процесс повторяется сначала. Если же ПЕРВЫЕ ТРИ бита (или хотя бы один из них) не равны 1, то элемент кодируется 5-ю битами, которые также ВКЛЮЧАЮТ ТРИ вышеописанных, эти ПЯТЬ бит переводятся в десятичную систему (число от 0 до 31), полученное число есть номер элемента в первой таблице элементов, этот элемент записывается в память и выводится на экран, затем от начала цепочки отбрасывается 5 бит (уже раскодированные) и процесс повторяется сначала.
Хочу заметить, что коды &b11100 (28), &b11101 (29), &b1110 (30) и &b11111 (31) удовлетворяют условию 10-ти битового кодирования, поэтому в тексте они не используются, а в таблице элементов на их местах стоят непечатаемые символы &hC0, &hC1, &hC2 и &hC3.
Управляющие коды:
&hF8 - имя героя,
&hFC - конец сообщения, остальные я пока еще не опознал.
А также я набросал программу, которая вынимает текст по этому алгоритму (откуда еще я бы узнал об управляющих кодах), так что в ближайшем будущем (как только приведу её в божеский вид) появится возможность перевести эту сложную (по уровню хакинга) игру.
Всё, вчера вечером я разобрался в алгоритме кодировки текста.
В роме используются две таблицы:
первая - 32 элемента, кодируются 5-ю битами,
вторая - 128 элементов, кодируются 10-ю битам.
Причем ширина элементов задается таблицей ширины по адресу &hB44B (4 бита на элемент, максимальная длина - 15 символов), в таблице ширины 80 байт, а сразу за ними идут таблицы элементов (сначала первая, а потом вторая).
Так же есть таблица поинтеров на начала блоков текста, адрес &hB762 (только я не знаю сколько там поинтеров), первый элемент - 0080 -> 8000, указывает на адрес в роме - &h14010 (адрес первого блока текста).
Алгоритм распаковки(запаковки):
Байты переводятся в биты и выстраиваются в двоичную цепочку, затем смотрим на ПЕРВЫЕ ТРИ бита, если они ВСЕ равны 1, то элемент кодируется 10-ю битами, которые ВКЛЮЧАЮТ ТРИ вышеописанных, поэтому следующие СЕМЬ бит переводятся в десятичную систему (получается число от 0 до 127), полученное число есть номер элемента во второй таблице элементов, этот элемент записывается в память и выводится на экран, затем от начала цепочки отбрасывается 10 бит (уже раскодированные) и процесс повторяется сначала. Если же ПЕРВЫЕ ТРИ бита (или хотя бы один из них) не равны 1, то элемент кодируется 5-ю битами, которые также ВКЛЮЧАЮТ ТРИ вышеописанных, эти ПЯТЬ бит переводятся в десятичную систему (число от 0 до 31), полученное число есть номер элемента в первой таблице элементов, этот элемент записывается в память и выводится на экран, затем от начала цепочки отбрасывается 5 бит (уже раскодированные) и процесс повторяется сначала.
Хочу заметить, что коды &b11100 (28), &b11101 (29), &b1110 (30) и &b11111 (31) удовлетворяют условию 10-ти битового кодирования, поэтому в тексте они не используются, а в таблице элементов на их местах стоят непечатаемые символы &hC0, &hC1, &hC2 и &hC3.
Управляющие коды:
&hF8 - имя героя,
&hFC - конец сообщения, остальные я пока еще не опознал.
А также я набросал программу, которая вынимает текст по этому алгоритму (откуда еще я бы узнал об управляющих кодах), так что в ближайшем будущем (как только приведу её в божеский вид) появится возможность перевести эту сложную (по уровню хакинга) игру.
5. kupo - 02 Февраля, 2016 - 10:05:36 - перейти к сообщению
kupo
Alex_231, тебе за такую работу памятник при жизни надо ставить.
Alex_231, тебе за такую работу памятник при жизни надо ставить.
6. Archisai - 02 Февраля, 2016 - 10:05:59 - перейти к сообщению
Archisai
Да что там памятник...Аллею славы
Да что там памятник...Аллею славы
7. alex_231 - 02 Февраля, 2016 - 10:06:27 - перейти к сообщению
alex_231
Ну вы меня прям засмущали.
Арч, получил ЛС?
Ну вы меня прям засмущали.
Арч, получил ЛС?
8. Archisai - 02 Февраля, 2016 - 10:06:54 - перейти к сообщению
Archisai
ЛС??? Э...Скрипт получал...ЛС...Н-не получал...
ЛС??? Э...Скрипт получал...ЛС...Н-не получал...
9. alex_231 - 02 Февраля, 2016 - 10:07:25 - перейти к сообщению
alex_231
ЛС - Личное сообщение
ЛС - Личное сообщение
10. alex_231 - 02 Февраля, 2016 - 10:07:48 - перейти к сообщению
alex_231
Как уже повелось: вчера вечером , написал алгоритм вставки текста обратно в ром, доработаю интерфейс и можно будет с ней работать.
Как уже повелось: вчера вечером , написал алгоритм вставки текста обратно в ром, доработаю интерфейс и можно будет с ней работать.
11. alex_231 - 02 Февраля, 2016 - 10:08:08 - перейти к сообщению
alex_231
Archisai, ты сам хочешь закончить этот проект или просто займёшься переводом текста?
Если второе, то я могу предложить помощь в возвращении текста и перерисовке графики, хотя некоторые элементы лучше отдать художникам.
Позже: В игре 141 печатный символ (включая рамки и спецсимволы: месяц, сердечко и т.п.), так что разместить русский шрифт не составит особого труда.
Archisai, ты сам хочешь закончить этот проект или просто займёшься переводом текста?
Если второе, то я могу предложить помощь в возвращении текста и перерисовке графики, хотя некоторые элементы лучше отдать художникам.
Позже: В игре 141 печатный символ (включая рамки и спецсимволы: месяц, сердечко и т.п.), так что разместить русский шрифт не составит особого труда.
12. GD - 02 Февраля, 2016 - 10:08:24 - перейти к сообщению
GDgt;
Мисьё... художник прибыл.
Если кому понадоблюсь я в мастерской
Мисьё... художник прибыл.
Если кому понадоблюсь я в мастерской
13. Archisai - 02 Февраля, 2016 - 10:09:28 - перейти к сообщению
Archisai
Alex, переводом я займусь сам, мне только понадобится художник (респект мастеру кисти GD) и помощь во вставке текста в РОМ!!!
Alex, переводом я займусь сам, мне только понадобится художник (респект мастеру кисти GD) и помощь во вставке текста в РОМ!!!
14. alex_231 - 02 Февраля, 2016 - 10:09:45 - перейти к сообщению
alex_231
Я про вставку и спрашивал, так как на перевод текста времени катастрофически не хватает (да как и на все остальное)
Я про вставку и спрашивал, так как на перевод текста времени катастрофически не хватает (да как и на все остальное)
15. alex_231 - 02 Февраля, 2016 - 10:10:09 - перейти к сообщению
alex_231
Archisai, ты там как по переводу движешься, или не очень?
Archisai, ты там как по переводу движешься, или не очень?
16. alex_231 - 02 Февраля, 2016 - 10:10:32 - перейти к сообщению
alex_231
Ну-ка, в кого патчем кинуть для тестирования?
Ну-ка, в кого патчем кинуть для тестирования?
17. alex_231 - 02 Февраля, 2016 - 10:10:55 - перейти к сообщению
alex_231
Что?
Желающих нету?
Странно... тогда сам займусь тестингом, надо же игру хоть раз пройти
Что?
Желающих нету?
Странно... тогда сам займусь тестингом, надо же игру хоть раз пройти
18. Archisai - 02 Февраля, 2016 - 10:11:14 - перейти к сообщению
Archisai
У нас есть официальный бета-тестер...
У нас есть официальный бета-тестер...
19. alex_231 - 02 Февраля, 2016 - 10:11:37 - перейти к сообщению
alex_231
Да, что-то он несколько скромничает...
А ты не хочешь приложить руку к переводу?
Да, что-то он несколько скромничает...
А ты не хочешь приложить руку к переводу?
20. Archisai - 02 Февраля, 2016 - 10:11:57 - перейти к сообщению
Archisai
Тут и без меня справились с переводом, значит, справятся и с тестированием...
Тут и без меня справились с переводом, значит, справятся и с тестированием...
21. GD - 02 Февраля, 2016 - 10:12:15 - перейти к сообщению
GDgt;
ЭЙ!!!!:huh:
Давай!!! А ты сможешь взломать ее и сделать макисмальный уровень? просто влом уровень набирать)))
ЭЙ!!!!:huh:
Давай!!! А ты сможешь взломать ее и сделать макисмальный уровень? просто влом уровень набирать)))
22. alex_231 - 02 Февраля, 2016 - 10:12:36 - перейти к сообщению
alex_231
Могу сделать патч, с которым один уровень набирается за одну единицу опыта (хак таблицы опыта).
Сейчас сделаю и отправлю вместе с бетой перевода.
Могу сделать патч, с которым один уровень набирается за одну единицу опыта (хак таблицы опыта).
Сейчас сделаю и отправлю вместе с бетой перевода.
23. alex_231 - 02 Февраля, 2016 - 10:13:05 - перейти к сообщению
alex_231
Я закончил карту мира, правда один материк остался закрытым, потому как он окружен горами.
Вопрос: где разместить карту?
Я сделал четыре варианта разного масштаба:
100% - 4096x4096 - 857 kb
50% - 2048x2048 - 1228 kb
25% - 1024x1024 - 332 kb
12,5% - 512x512 - 145 kb
Все ли карты размещать?
Я закончил карту мира, правда один материк остался закрытым, потому как он окружен горами.
Вопрос: где разместить карту?
Я сделал четыре варианта разного масштаба:
100% - 4096x4096 - 857 kb
50% - 2048x2048 - 1228 kb
25% - 1024x1024 - 332 kb
12,5% - 512x512 - 145 kb
Все ли карты размещать?
24. GD - 02 Февраля, 2016 - 10:13:24 - перейти к сообщению
GDgt;
Исправь отображаемые имена в игре)))) а то их звут например "прве" )))))
Исправь отображаемые имена в игре)))) а то их звут например "прве" )))))
25. alex_231 - 02 Февраля, 2016 - 10:13:46 - перейти к сообщению
alex_231
Это вряд ли, в меню отображаются только 4 первых символа полного имени (сокращенно), хотя в теории это и возможно, но меню в бою не позволяет расширить надписи - оно будет затираться окном имен монстров , почему думаешь я написал "Деру" вместо "Бежать"?
Это вряд ли, в меню отображаются только 4 первых символа полного имени (сокращенно), хотя в теории это и возможно, но меню в бою не позволяет расширить надписи - оно будет затираться окном имен монстров , почему думаешь я написал "Деру" вместо "Бежать"?
26. GD - 02 Февраля, 2016 - 10:14:07 - перейти к сообщению
GDgt;
Это глюк... это глюк... это глюк...
Это глюк... это глюк... это глюк...
27. Mefistotel - 02 Февраля, 2016 - 10:14:27 - перейти к сообщению
Перевод можно скачать по ссылке:
http://chief-net.ru/index.php?op...33&Itemid=38
http://chief-net.ru/index.php?op...33&Itemid=38