Для понимания данного документа вы должны знать такие вещи как тайл, тайловый редактор, hex-редактор,
тайловый редактор и шестнадцатеричная система счисления. Если вы он них первый раз слышите, то советую сначала
почитать доки для начинающих ромхакеров.
В данной доке я покажу как по неполному или неупорядоченному шрифту можно найти текст. Предположим, что вы уже
нашли шрифт и символы в нём расположены не в алфавитном порядке (частично или полностью). Вот два примера из
игры DarkMan(NES):
|
|
Здесь присутствует практически весь английский алфавит, а буква Y находится на некотором удалении от остальных.
|
В данном случае ни о какой упорядоченности по алфавиту можно и не говорить.
|
Для простеньких игрушек, вроде дендевских, можно попробовать заглянуть в видеопамять. Как правило в верхнем
левом углу находится тайл, которому соответствует код 00, а остальные просто высчитываются по порядку (можете
в этом убедиться на Darkman'е). Но такой метод не всегда годится (хотя для денди срабатывает почти всегда),
поэтому я покажу как можно этот текст искать по-другому.
Для начала нужно узнать в каком месте игры эти тайлы используются. Для этого тайлы можно немного испоганить
(почеркаться на них), и посмотреть в каком месте игры эти запоганенные буквы появятся. Когда найдёте их,
запомните или запишите слова, эти слова нам понадобятся.
В первом случае такст можно искать как обычно - relative search'ем, а для Y код будет равен коду W плюс 9
(Y находится через 9 тайлов от W).
Второй случай посложнее. Для поиска нужно выбрать такое слово, чтобы составляющие его тайлы были недалеко друг
от друга. В моём примере это может быть слово SCOR. Я ищу слово без буквы E, потому что она находится слишком
далеко от остальных букв. Нужно уложиться в промежуток из 26 символов (английский алфавит), или 33 буквы, если
используемый hex-редактор поддерживает relative search на русском языке. Искомое слово нужно записать в новом
алфавите, для этого возьмём самый близкий к началу тайл слова SCORE за букву A, в нашем случае это буквы R,
остальные же буквы запишем в соответствии с порядком тайлов: буквой B будет 1 (единица) ,буквой T - H, буквой
U - I и так далее. Получается такое соответствие:
SCOR
VWXA
Теперь ищем при помощи relative search'а слова VWXA а для оставшихся букв находим коды соответственно порядку
тайлов. В итоге должна получиться такая таблица:
00=
02=c
03=o
04=n
05=t
06=i
07=U
08=E
25=2
26=P
27=L
28=A
29=Y
2A=R
2B=1
3D=H
3E=I
3F=S
40=C
41=O
5E=N
5F=D
60=F
81=m
82=u
83=s
Пояснения:
В верхней строчке записан пробел
Большие буквы - это буквы с тёмным фоном.
Маленькие буквы - это буквы со светлым фоном.
Подобным образом можно искать и карты некоторых картинок, главное не забыть какому тайлу какая буква назначена.