Как найти текст, если тайлы “раскиданы”.
I. Введение
Этот документ создан в расчёте на то, что вы уже знаете, такие базовые понятия как тайл, Hex-редактор, тайловый редактор и др. Также вы должны знать, что такое шестнадцатеричная система счисления и как с ней работать.
Предположим, что вы уже нашли шрифт, но тайлы в нём расположены не в алфавитном порядке (частично или полностью). Вот два примера из игры DarkMan(NES):
![]() |
![]() |
|
1-й случай: Когда хотя бы нескольких
букв расположено в алфавитном порядке, главное чтобы можно было составить
слово. |
2-й случай: Когда раскиданы
все или почти все буквы. P.S.: Здесь буквы немного вылезают на соседние (справа) тайлы, но это не играет большой роли.Это важно только при перерисовке, а с кодировкой можно работать нормально. |
III. К какому тексту относятся эти тайлы?
Вне зависимости
от того, какой у вас случай - нужно узнать к какому тексту относятся эти тайлы.
Чтобы это сделать - достаточно изменить тайлы и посмотреть где изменился текст.
Если у вас первый случай, то переходим к пункту IV.
Если же - второй, то переходим к пункту V.
В этом случае
можно использовать Relative Search, но искать нужно только те слова, которые
состоят из букв стоящих в алфавитном порядке.
А коды букв, не стоящих в алфавитном порядке можно вычислить по расположению
в тайловом редакторе.
В этом случае есть два метода нахождения кодов символов:
|
Метод первый (для частных случаев): Этот метод годится
для текста без спецсимволов и без всевозможных кодировок: DTE, LZ и
т.д. Его можно применять в текстах простеньких игр.(По крайней мере,
в DarkMan'е этот метод сработал. 1) Просто проверяем:
при изменении каких тайлов - меняется изображение на экране с текстом.
То есть: изменяем тайлы до тех пор пока не выясним: начиная с какого
тайла изменяется картинка. |
Метод второй (универсальный): Этот метод годится
для любых случаев. Он немного сложнее, чем первый метод, но зато - безотказный.
1) Нужно найти
такое слово, чтобы составляющие его тайлы были недалеко друг от друга.
В моём примере это может быть слово SCOR. Почему без E? А потому что
E находится слишком далеко. Нужно уложиться в промежуток из 26 символов
(английский алфавит), если Hex-редактор поддерживает Relative Search
на русском языке, то тогда - в промежуток из 33 символов. |
VI. Результат.
Теперь когда найдены буквы, можно проверить остальные коды.
А вот, что получилось у меня во втором случае:
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
Пояснения:
_ - это пробел
Большие буквы - это буквы с тёмным фоном
Маленькие буквы - это буквы со светлым фоном.
VII. Послесловие.
Этот документ
распространяется абсолютно бесплатно. Любое изменение текста или коммерческое
распространение - нарушают мои авторские права. Если есть замечания и предложения,
то пишите мне на мыло. Virtual_Killer@mail.ru
Для вас старался Virtual_Killer.
![]()