Описание: АРХИВНАЯ ТЕМА 2008-2009 года |
Поиск в теме | Версия для печати |
ReCom |
Отправлено: 24 Июля, 2016 - 06:09:43
|
Покинул форум
Сообщений всего: 246
Дата рег-ции: Июнь 2015
|
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 (и наоборот) несложно будет написать, и графику всю сжатую вытащить
|
|
|
Mefistotel |
Отправлено: 24 Июля, 2016 - 06:46:17
|
Chief-Net
Покинул форум
Сообщений всего: 7127
Дата рег-ции: Окт. 2014
Откуда: МАГАДАН
|
Mefistotel
Цитата:
Заветам Кудоса верны?
Я, я, натурлих! Насчет транслита, я, наверно, не так выразился.
Слушай, применительно к данной ситуации(Dimitri и Moosh) предложи варианты получше. Тем самым реально окажешь помощь человеку...
----- "Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse |
|
|
ReCom |
Отправлено: 24 Июля, 2016 - 06:55:13
|
Покинул форум
Сообщений всего: 246
Дата рег-ции: Июнь 2015
|
ReCom
Guyver, никто ничего не забрасывал...
Более того, в свободные промежутки времени были написаны 2 программы:
1. Генератор слов MTE - работает достаточно долго, но эффективно.
По принципу:
Цитата:
ОБ = КС x ДС - (КС x 2 + ДС)
ДС - длина слова
КС - количество повторений данного слова
2 - 2 байта - порядковый номер в словаре
ОБ - освободившиеся байты
Ищутся слова из скрипта, имеющие наибольшее значение ОБ, которые записываются в MTE-словарь первыми.
2. Программа для автоматической вставки текста в ром.
Вставляется переведённый текст в ром с перерисованным шрифтом.
Принцип работы:
- происходит автозамена символов;
- изменяются значения поинтеров (1024 поинтера - на словарь, 1885 - на текст).
- вставляется словарь;
- вставляется текст, при этом слова, которые есть в словаре, заменяются на их порядковые номера;
***
Строка в диалоге может содержать максимум 16 символов, поэтому в переведённом тексте между словами должны находиться байты конца строки h01, иначе игра виснет. В свободное время работаю над этой проблемой.
Не буду отписываться на форуме, т. к. пока нет в этом необходимости.
|
|
|
ReCom |
Отправлено: 02 Августа, 2016 - 07:31:18
|
Покинул форум
Сообщений всего: 246
Дата рег-ции: Июнь 2015
|
ReCom
Цитата:ReCom, ну ты хоть оповещай нас иногда как процесс перевода идёт =)
OK, вновь принялся за перевод...
Цитата:Лучше, процесс сессии)
Осталось ещё 1 экзамен сдать - и я свободен
Цитата:Ты сколько текста примерно перевёл??
Переведено скрипта: ~15%
Расставлял переносы прямо в блокноте - уж очень привык к этому занятию...
Цитата:Если что - есть вьювер текста для оконных РПГ'шек.
Цитата:Кстати, в Поке Переводе 2 есть такая функция...
Время покажет. Блокнот+эмуль меня пока полностью устраивают.
HoRRoR, отличный вьювер (чисто визуально).
Разобрался с ещё одной проблемой. Вкратце:
Диалоги с порядковыми номерами 792 - 1700 не выводились в игре.
Причина: текстовые поинтеры разбиты на 2 части:
в первой - указывают на расположение текста относительно начала 1-го слова MTE-словаря (адрес h73382),
во второй - относительно начала диалога № 792 (адрес h7C7BC).
Так как весь текст (пока) помещается до адреса h7C7BC, а остальное место забивается "0"-ми - из-за этого вторая часть диалогов не показывалась.
Теперь программа перекидывает вторую часть текста на своё место, т.е. h7C7BC... |
|
|
ReCom |
Отправлено: 02 Августа, 2016 - 07:33:33
|
Покинул форум
Сообщений всего: 246
Дата рег-ции: Июнь 2015
|
ReCom
Цитата:То есть, надпись, состоит из этих (пожатых) букв?
GD, да, из этих букв, точнее тайлов букв..)
Вообще, это спрайтовая надпись (буква составляется из 2 тайлов)...
В английском варианте: PRESS START. Буквы: PRESTA - 6*2 = 12 тайлов.
В русском варианте: НАЖМИ СТАРТ. Буквы НАЖМИСТР - 8*2 = 16 тайлов.
Как ты уже заметил, в этом файле после тайлов с буквой A есть неиспользуемые, которые можно перерисовать, т.е. добавить недостающие русские буквы Т и Р, и изменить порядок вывода спрайтов...
***
Цитата:Перерисуешь, или мне взяться?
Не надо.
В игре используется ОДИН алгоритм сжатия графики.
Нужно написать сначала нормальный распаковщик, а затем вытащить ВСЮ сжатую графику.
Пока занимаюсь упрощением полученного delphi-кода, чтобы окончательно разобраться с алгоритмом... |
|
|
|
Поиск в теме | Версия для печати |
Страниц (12): « 1 2 [3] 4 5 6 7 8 9 ... » В конец |
Сейчас эту тему просматривают: 22 (гостей: 22, зарегистрированных: 0) |
« Переводы » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|