ReCom
Насчёт сжатой графики, <GD>:
По адресу hC3E3E-hC3E87 расположены (как бы блоком) сжатые тайлы букв P,R,E,S,T,A и рисунка переднего плана (листья) - они отображаются на заставке с надписью "Press Start"...
Вот некоторые экспериментальные факты:
а) Изменение первого байта (по адресу hC3E3E) на +-1 очень сильно изменяет в игре надпись и листья.
б) Далее идут несколько байтов, изменение которых на +-1 незначительно изменяет некоторые буквы (располагает пиксели по горизонтали)
в) Далее то же самое, что и а) - один байт - изменение его прилично искажает тайлы.
г) То же самое, что и б) и т. д...
Если же изменить значения всех байтов этого блока на AA (b10101010) либо CC (b11001100) или т. п., то в памяти вместо надписи и рисунка переднего плана будет отображаться ряд вертикальных полосок (xbpp?)
Ещё: выше блока расположены подозрительно упорядоченные байты: 90 91 92 00 93 94 95 96 97 98 99 9A 04 9B 9C 9D 9E 9F 1F 70 A0 A1 00 A2 A3 A4 A5 A6 A7 A8 A9 03 AA AB AC AD AE AF (дерево Хаффмана?), но их изменение уже влияет на предыдущий блок - логотип Nintendo...
Ниже блока тоже есть такие байты, только не успел пока с ними разобраться)
Попробуй разобраться с этими байтами, разложи на биты, проанализируй, поэкспериментируй, в общем, нужно узнать, какой алгоритм используется для сжатия графики в роме...
Думаю, здесь применяется один алгоритм сжатия - узнать бы какой - тогда и декомпрессор/преобразователь графики в 1-2bpp (и наоборот) несложно будет написать, и графику всю сжатую вытащить
61. ReCom - 24 Июля, 2016 - 06:09:43 - перейти к сообщению
62. ReCom - 24 Июля, 2016 - 06:10:05 - перейти к сообщению
ReCom
Так как насчёт Dimitri и Moosh?
Надпись "You got ten Bombs" - встречается в 2 ситуациях, когда:
1) покупаешь бомбы в магазине
2) находишь бомбы в сундуке
Как перевести: "Ты получил..." или "Ты нашёл..."?
Так как насчёт Dimitri и Moosh?
Надпись "You got ten Bombs" - встречается в 2 ситуациях, когда:
1) покупаешь бомбы в магазине
2) находишь бомбы в сундуке
Как перевести: "Ты получил..." или "Ты нашёл..."?
63. Guyver - 24 Июля, 2016 - 06:18:51 - перейти к сообщению
Guyver
Напиши "Ты взял ... бомб"
Напиши "Ты взял ... бомб"
64. Mefistotel - 24 Июля, 2016 - 06:23:36 - перейти к сообщению
Mefistotel
А по мне лучше " Ты получил 10 бомб". Но это на усмотрение автора.
По именам: переводи транслитом и не парься.
Dimitri - Димитри( хотя может и Д(и)митрий), Moosh - Муш.
А по мне лучше " Ты получил 10 бомб". Но это на усмотрение автора.
По именам: переводи транслитом и не парься.
Dimitri - Димитри( хотя может и Д(и)митрий), Moosh - Муш.
65. ReCom - 24 Июля, 2016 - 06:25:15 - перейти к сообщению
ReCom
Ладно
Цитата:
По именам: переводи транслитом и не парься.
По именам: переводи транслитом и не парься.
Ладно
66. GD - 24 Июля, 2016 - 06:27:11 - перейти к сообщению
GDgt;
вот тут есть инфа, про ГБС... может поможет
GBC - PDF-документ (скачать, через "Сохранить объект..."
вот тут есть инфа, про ГБС... может поможет
GBC - PDF-документ (скачать, через "Сохранить объект..."
67. ReCom - 24 Июля, 2016 - 06:28:39 - перейти к сообщению
ReCom
Хм... в GB используются команды и регистры Intel 8080, Intel 8085 & Zilog Z80!
Регистры: 8-битные - 8, 16-битные - 2 )
Спасибо за доку, <GD>
Попробую разобраться...
Хм... в GB используются команды и регистры Intel 8080, Intel 8085 & Zilog Z80!
Регистры: 8-битные - 8, 16-битные - 2 )
Спасибо за доку, <GD>
Попробую разобраться...
68. HoRRoR - 24 Июля, 2016 - 06:35:38 - перейти к сообщению
HoRRoR
Заветам Кудоса верны?
Не в доке надо разбираться, а в дебаггере, используя доку.
Цитата:
По именам: переводи транслитом и не парься.
Заветам Кудоса верны?
Цитата:
Попробую разобраться...
Попробую разобраться...
Не в доке надо разбираться, а в дебаггере, используя доку.
69. Mefistotel - 24 Июля, 2016 - 06:46:17 - перейти к сообщению
Mefistotel
Я, я, натурлих! Насчет транслита, я, наверно, не так выразился.
Слушай, применительно к данной ситуации(Dimitri и Moosh) предложи варианты получше. Тем самым реально окажешь помощь человеку...
Цитата:
Заветам Кудоса верны?
Заветам Кудоса верны?
Я, я, натурлих! Насчет транслита, я, наверно, не так выразился.
Слушай, применительно к данной ситуации(Dimitri и Moosh) предложи варианты получше. Тем самым реально окажешь помощь человеку...
70. GD - 24 Июля, 2016 - 06:49:58 - перейти к сообщению
GDgt;
Ну, как дела? B)
Надеюсь, у тебя всё получится! B)
Ну, как дела? B)
Надеюсь, у тебя всё получится! B)
71. ReCom - 24 Июля, 2016 - 06:54:14 - перейти к сообщению
ReCom
У меня сессия. Пока не до перевода...
У меня сессия. Пока не до перевода...
72. Guyver - 24 Июля, 2016 - 06:54:45 - перейти к сообщению
Guyver
Гадские сессии! Они как будто созданы для того, чтобы перевод был заброшен, может быть даже навсегда :*(
Гадские сессии! Они как будто созданы для того, чтобы перевод был заброшен, может быть даже навсегда :*(
73. ReCom - 24 Июля, 2016 - 06:55:13 - перейти к сообщению
ReCom
Guyver, никто ничего не забрасывал...
Более того, в свободные промежутки времени были написаны 2 программы:
1. Генератор слов MTE - работает достаточно долго, но эффективно.
По принципу:
ДС - длина слова
КС - количество повторений данного слова
2 - 2 байта - порядковый номер в словаре
ОБ - освободившиеся байты
Ищутся слова из скрипта, имеющие наибольшее значение ОБ, которые записываются в MTE-словарь первыми.
2. Программа для автоматической вставки текста в ром.
Вставляется переведённый текст в ром с перерисованным шрифтом.
Принцип работы:
- происходит автозамена символов;
- изменяются значения поинтеров (1024 поинтера - на словарь, 1885 - на текст).
- вставляется словарь;
- вставляется текст, при этом слова, которые есть в словаре, заменяются на их порядковые номера;
***
Строка в диалоге может содержать максимум 16 символов, поэтому в переведённом тексте между словами должны находиться байты конца строки h01, иначе игра виснет. В свободное время работаю над этой проблемой.
Не буду отписываться на форуме, т. к. пока нет в этом необходимости.
Guyver, никто ничего не забрасывал...
Более того, в свободные промежутки времени были написаны 2 программы:
1. Генератор слов MTE - работает достаточно долго, но эффективно.
По принципу:
Цитата:
ОБ = КС x ДС - (КС x 2 + ДС)
ОБ = КС x ДС - (КС x 2 + ДС)
ДС - длина слова
КС - количество повторений данного слова
2 - 2 байта - порядковый номер в словаре
ОБ - освободившиеся байты
Ищутся слова из скрипта, имеющие наибольшее значение ОБ, которые записываются в MTE-словарь первыми.
2. Программа для автоматической вставки текста в ром.
Вставляется переведённый текст в ром с перерисованным шрифтом.
Принцип работы:
- происходит автозамена символов;
- изменяются значения поинтеров (1024 поинтера - на словарь, 1885 - на текст).
- вставляется словарь;
- вставляется текст, при этом слова, которые есть в словаре, заменяются на их порядковые номера;
***
Строка в диалоге может содержать максимум 16 символов, поэтому в переведённом тексте между словами должны находиться байты конца строки h01, иначе игра виснет. В свободное время работаю над этой проблемой.
Не буду отписываться на форуме, т. к. пока нет в этом необходимости.
74. Sliver - 24 Июля, 2016 - 06:57:23 - перейти к сообщению
Sliver
ReCom, ну ты хоть оповещай нас иногда как процесс перевода идёт =)
ОК? =)
Цитата:
Не буду отписываться на форуме, т. к. пока нет в этом необходимости.
Не буду отписываться на форуме, т. к. пока нет в этом необходимости.
ReCom, ну ты хоть оповещай нас иногда как процесс перевода идёт =)
ОК? =)
75. GD - 24 Июля, 2016 - 08:40:17 - перейти к сообщению
GDgt;
Лучше, процесс сессии)
Лучше, процесс сессии)
76. Sliver - 02 Августа, 2016 - 07:22:36 - перейти к сообщению
Sliver
ну можно и сессии =) ведь от неё напрямую зависит перевод =)
Цитата:
Лучше, процесс сессии)
ну можно и сессии =) ведь от неё напрямую зависит перевод =)
77. Mefistotel - 02 Августа, 2016 - 07:23:04 - перейти к сообщению
Mefistotel
Да, ладно вам... Сессии.. Сессии придуманы для того, чтобы ромхакерам давать передышку. А если ещё экзамены автоматом выходят, то вообще благодать. Лежишь себе на печи и игры переводишь.
ReCom, ты молодец! . Нужные программки пишешь, однако. В игре символов на строку маловато. Придется пое....ся. Ты сколько текста примерно перевёл??
Да, ладно вам... Сессии.. Сессии придуманы для того, чтобы ромхакерам давать передышку. А если ещё экзамены автоматом выходят, то вообще благодать. Лежишь себе на печи и игры переводишь.
ReCom, ты молодец! . Нужные программки пишешь, однако. В игре символов на строку маловато. Придется пое....ся. Ты сколько текста примерно перевёл??
78. HoRRoR - 02 Августа, 2016 - 07:23:28 - перейти к сообщению
HoRRoR
Если что - есть вьювер текста для оконных РПГ'шек.
Цитата:
ReCom, ты молодец! . Нужные программки пишешь, однако. В игре символов на строку маловато. Придется пое....ся. Ты сколько текста примерно перевёл??
Если что - есть вьювер текста для оконных РПГ'шек.
79. Guyver - 02 Августа, 2016 - 07:23:47 - перейти к сообщению
Guyver
Ссылку в студию ;о) У меня был один - изначально для перевода покемонов, но и для других игр подходил... Не этот ли?
Ссылку в студию ;о) У меня был один - изначально для перевода покемонов, но и для других игр подходил... Не этот ли?
80. Mefistotel - 02 Августа, 2016 - 07:24:13 - перейти к сообщению
Mefistotel
А вот здесь поподробнее. Что он делает, где скачать и принцип работы.
Цитата:
Если что - есть вьювер текста для оконных РПГ'шек.
А вот здесь поподробнее. Что он делает, где скачать и принцип работы.
81. GD - 02 Августа, 2016 - 07:30:43 - перейти к сообщению
GDgt;
Кстати, в Поке Переводе 2 есть такая функция...
Кстати, в Поке Переводе 2 есть такая функция...
82. HoRRoR - 02 Августа, 2016 - 07:31:00 - перейти к сообщению
HoRRoR
Писал я, для своих проектов.
Имеет гибкие настройки, но руки доработать его так, чтобы и в народ не стыдно было выложить - так и не дошли.
Принцип работы - делается конфиг, загружается текст - и редачится.
Пока что ест тексты от 7-го Круптара, если что - могу добавить несколько вариантов загрузки/сохранения.
Писал я, для своих проектов.
Имеет гибкие настройки, но руки доработать его так, чтобы и в народ не стыдно было выложить - так и не дошли.
Принцип работы - делается конфиг, загружается текст - и редачится.
Пока что ест тексты от 7-го Круптара, если что - могу добавить несколько вариантов загрузки/сохранения.
83. ReCom - 02 Августа, 2016 - 07:31:18 - перейти к сообщению
ReCom
OK, вновь принялся за перевод...
Осталось ещё 1 экзамен сдать - и я свободен
Переведено скрипта: ~15%
Расставлял переносы прямо в блокноте - уж очень привык к этому занятию...
Время покажет. Блокнот+эмуль меня пока полностью устраивают.
HoRRoR, отличный вьювер (чисто визуально).
Разобрался с ещё одной проблемой. Вкратце:
Диалоги с порядковыми номерами 792 - 1700 не выводились в игре.
Причина: текстовые поинтеры разбиты на 2 части:
в первой - указывают на расположение текста относительно начала 1-го слова MTE-словаря (адрес h73382),
во второй - относительно начала диалога № 792 (адрес h7C7BC).
Так как весь текст (пока) помещается до адреса h7C7BC, а остальное место забивается "0"-ми - из-за этого вторая часть диалогов не показывалась.
Теперь программа перекидывает вторую часть текста на своё место, т.е. h7C7BC...
Цитата:
ReCom, ну ты хоть оповещай нас иногда как процесс перевода идёт =)
OK, вновь принялся за перевод...
Цитата:
Лучше, процесс сессии)
Осталось ещё 1 экзамен сдать - и я свободен
Цитата:
Ты сколько текста примерно перевёл??
Переведено скрипта: ~15%
Расставлял переносы прямо в блокноте - уж очень привык к этому занятию...
Цитата:
Если что - есть вьювер текста для оконных РПГ'шек.
Цитата:
Кстати, в Поке Переводе 2 есть такая функция...
Время покажет. Блокнот+эмуль меня пока полностью устраивают.
HoRRoR, отличный вьювер (чисто визуально).
Разобрался с ещё одной проблемой. Вкратце:
Диалоги с порядковыми номерами 792 - 1700 не выводились в игре.
Причина: текстовые поинтеры разбиты на 2 части:
в первой - указывают на расположение текста относительно начала 1-го слова MTE-словаря (адрес h73382),
во второй - относительно начала диалога № 792 (адрес h7C7BC).
Так как весь текст (пока) помещается до адреса h7C7BC, а остальное место забивается "0"-ми - из-за этого вторая часть диалогов не показывалась.
Теперь программа перекидывает вторую часть текста на своё место, т.е. h7C7BC...
84. GD - 02 Августа, 2016 - 07:32:16 - перейти к сообщению
GDgt;
Ну, Хоррор, показывай свою прогу.
ПС
Как я понял, ты просто загружаешь в прогу тхт-файл, картинку, шрифт, таблицу... и переводишь. Так?
Или, это дополнение к Круптару?
Ну, Хоррор, показывай свою прогу.
ПС
Как я понял, ты просто загружаешь в прогу тхт-файл, картинку, шрифт, таблицу... и переводишь. Так?
Или, это дополнение к Круптару?
85. ReCom - 02 Августа, 2016 - 07:32:40 - перейти к сообщению
ReCom
Насчёт запакованной графики: появились первые результаты.
Написал программу-декомпрессор (asm => delphi) для надписи "Press Start" (пока).
Распакованный файл (тайлы букв "PRESTA" и др.).
Насчёт запакованной графики: появились первые результаты.
Написал программу-декомпрессор (asm => delphi) для надписи "Press Start" (пока).
Распакованный файл (тайлы букв "PRESTA" и др.).
86. GD - 02 Августа, 2016 - 07:32:58 - перейти к сообщению
GDgt;
То есть, надпись, состоит из этих (пожатых) букв?
Блин....
Я думал, что это просто надпись....
То есть, надпись, состоит из этих (пожатых) букв?
Блин....
Я думал, что это просто надпись....
87. GD - 02 Августа, 2016 - 07:33:11 - перейти к сообщению
;GDgt;
Хотя, я чет стормозил вчера)))))
Перерисуешь, или мне взяться?
Хотя, я чет стормозил вчера)))))
Перерисуешь, или мне взяться?
88. ReCom - 02 Августа, 2016 - 07:33:33 - перейти к сообщению
ReCom
GD, да, из этих букв, точнее тайлов букв..)
Вообще, это спрайтовая надпись (буква составляется из 2 тайлов)...
В английском варианте: PRESS START. Буквы: PRESTA - 6*2 = 12 тайлов.
В русском варианте: НАЖМИ СТАРТ. Буквы НАЖМИСТР - 8*2 = 16 тайлов.
Как ты уже заметил, в этом файле после тайлов с буквой A есть неиспользуемые, которые можно перерисовать, т.е. добавить недостающие русские буквы Т и Р, и изменить порядок вывода спрайтов...
***
Не надо.
В игре используется ОДИН алгоритм сжатия графики.
Нужно написать сначала нормальный распаковщик, а затем вытащить ВСЮ сжатую графику.
Пока занимаюсь упрощением полученного delphi-кода, чтобы окончательно разобраться с алгоритмом...
Цитата:
То есть, надпись, состоит из этих (пожатых) букв?
GD, да, из этих букв, точнее тайлов букв..)
Вообще, это спрайтовая надпись (буква составляется из 2 тайлов)...
В английском варианте: PRESS START. Буквы: PRESTA - 6*2 = 12 тайлов.
В русском варианте: НАЖМИ СТАРТ. Буквы НАЖМИСТР - 8*2 = 16 тайлов.
Как ты уже заметил, в этом файле после тайлов с буквой A есть неиспользуемые, которые можно перерисовать, т.е. добавить недостающие русские буквы Т и Р, и изменить порядок вывода спрайтов...
***
Цитата:
Перерисуешь, или мне взяться?
Не надо.
В игре используется ОДИН алгоритм сжатия графики.
Нужно написать сначала нормальный распаковщик, а затем вытащить ВСЮ сжатую графику.
Пока занимаюсь упрощением полученного delphi-кода, чтобы окончательно разобраться с алгоритмом...
89. HoRRoR - 02 Августа, 2016 - 07:33:51 - перейти к сообщению
HoRRoR
Опиши алгоритм, может в моих исходниках найдётся что-либо подходящее.
Опиши алгоритм, может в моих исходниках найдётся что-либо подходящее.
90. ReCom - 02 Августа, 2016 - 07:34:09 - перейти к сообщению
ReCom
Вот мой исходник
Удачи, HoRRoR!
Вот мой исходник
Удачи, HoRRoR!