Ссылки Команда Главная Форум Гостевая
МЕНЮ
Новости
01.01.2017
Переводы
01.01.2017
Проекты
10.05.2010
Программы
26.05.2012
Документация
26.11.2016
Прохождения
08.05.2011
Разное
07.06.2009
    rss
БАННЕРЫ
Наш баннер
Сайт JurasskPark
Griever Stuff
Новая реальность
Emu-Land
ConsolGames
CHIEF-NET
PSCD.RU
Langrisser
Battletoads
Valid HTML 4.01 Transitional
Правильный CSS!
 

 

 

 

 

Как найти текст, если тайлы «раскиданы»

Для понимания данного документа вы должны знать такие вещи как тайл, тайловый редактор, 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

Пояснения:
В верхней строчке записан пробел
Большие буквы - это буквы с тёмным фоном.
Маленькие буквы - это буквы со светлым фоном.
Подобным образом можно искать и карты некоторых картинок, главное не забыть какому тайлу какая буква назначена.