Разработка и ромхакинг > Ромхакинг

[DC] Sоnic Аdvеnturе 2 - поиск значений расстояния между буквами шрифта

(1/1)

Damin72:
Ковырял из интереса Sоnic Аdvеnturе 2 и понял, что некоторые файлы взаимозаменяемые с SАDX. Шрифт тоже. Встал нормально, буквы выводятся полностью, однако расстояние между ними... странненькое. Кто может подсказать где искать конкретно?

Марат:
Думаю вам надо искать таблицу ширин.
Надо измерить ширину нескольких букв идущих подряд в оригинальном шрифте.
К примеру. A,B,C,D,E,F,G,H,I,J,K могут составлять такую последовательность 8,8,8,8,8,8,8,8,4,6,8 Соответственно надо искать такую таблицу. Также надо иметь в виду, что размеру шрифта может быть ещё добавлено 1,2 пикселя для расстояния между буквами в строкее.

Damin72:

--- Цитата: Марат от 26 Декабря 2022, 18:14:38 ---Думаю вам надо искать таблицу ширин.
Надо измерить ширину нескольких букв идущих подряд в оригинальном шрифте.
К примеру. A,B,C,D,E,F,G,H,I,J,K могут составлять такую последовательность 8,8,8,8,8,8,8,8,4,6,8 Соответственно надо искать такую таблицу. Также надо иметь в виду, что размеру шрифта может быть ещё добавлено 1,2 пикселя для расстояния между буквами в строкее.

--- Конец цитаты ---
Этим я и занимался. Поиск не дал результатов. =/

Guyver(X.B.M.):
Использовал поиск через байт (или через 2, кто знает как там в игре это хранится...)?

Damin72:

--- Цитата: Guyver(X.B.M.) от 26 Декабря 2022, 19:59:42 ---Использовал поиск через байт (2,3,4...)?

--- Конец цитаты ---
Искал и отдельно байты, и подряд, и с нулём между ними.
У M,N,O высчитывал границы (23/24/23 пикселя выводится, 1/2/1 нет). Или я дурак, или лыжи не едут.

Марат:
А зачем расстояния между буквами искать? Только ширины букв искать надо.

Damin72:

--- Цитата: Марат от 26 Декабря 2022, 20:13:01 ---А зачем расстояния между буквами искать? Только ширины букв искать надо.

--- Конец цитаты ---
Потому что очевидно, что в плане ширины буквы выводятся полностью.

Марат:
Вообще надпись похожа на спрайтовую. А у спрайтов координаты.

Damin72:

--- Цитата: Mr2 от 26 Декабря 2022, 21:01:55 ---Расстояния между символами могут храниться в исполняемом файле.

--- Конец цитаты ---
Там тоже искал.

ViToTiV:
Damin72, ищи не только по ширинам, но и по координатам. ширин может и не быть вообще, только X/Y верхнего левого угла и правого нижнего.
Координата Х есть в 90% случаях, ищи по ней, как писали выше бери Х букв, которые идут в шрифте подряд, но они могут идти через определённое кол-во байт (8 и более, если используется 4 байта на координату)

Damin72:

--- Цитата: ViToTiV от 27 Декабря 2022, 12:53:07 ---Damin72, ищи не только по ширинам, но и по координатам. ширин может и не быть вообще, только X/Y верхнего левого угла и правого нижнего.
Координата Х есть в 90% случаях, ищи по ней, как писали выше бери Х букв, которые идут в шрифте подряд, но они могут идти через определённое кол-во байт (8 и более, если используется 4 байта на координату)

--- Конец цитаты ---
Дебаг тут нормальный нужен.
Например, буква "g".
Я пробовал искать самые разные её координаты. И 00 01 0C 18 (Верхний левый угол - Х 0 Y 1, нижний правый угол - Х 12 Y 24).
И просто вбивать 01/18. И другие варианты. Должен быть ряд значений, который не превышает по hex 18, ибо сами буквы в шрифте делятся на ячейки 24*24.

Добавлено позже:
Тему можно закрывать. Там оказалось всё прозаичней.

Навигация

[0] Главная страница сообщений

Перейти к полной версии