Господа, собственно сабж.
Никак не могу найти информацию о том - где обитает таблица, описывающая ширину букв высокого разрешения? Для 320 есть sysfnt.twd А вот для sysfld00, sysfld01 найти не могу. Вроде бы, форматы схожие с FF7. Быть может, кто-нибудь подскажет? Хотя бы как она выглядит в памяти (если есть), чтобы можно было поковыряться отладчиком.
Русификация игры Final Fantasy VII |
Текущее время: 01.11.2024, 03:00 |
Где находится таблица с шириной Hi-Res букв в PC версии?
Список форумов › Final Fantasy VIII › Модифицирование
Описание: Здесь находится информация о програмной стороне FFVIII
- −
BukTop » 10.12.2013, 01:00
В FF7 таблица находиться в файле Window.bin я менял только там.
Могу дать прогу, но сомневаюсь, что поможет.
Есть ещё один вариант, если он не решит проблему, то хотя бы поможет понять, в какую сторону копать.
Могу дать прогу, но сомневаюсь, что поможет.
Есть ещё один вариант, если он не решит проблему, то хотя бы поможет понять, в какую сторону копать.
- −
Albeoris » 12.12.2013, 00:11
Да, разумеется.
Но что-то мне подсказывает, что придётся лезть отладчиком. =\
Посмотрел - как сделали пираты. У них буквы отрисованы поверх тех, что примерно похожи по ширине. =\
Можно и так сделать, но хочется по-человечески...
Но что-то мне подсказывает, что придётся лезть отладчиком. =\
Посмотрел - как сделали пираты. У них буквы отрисованы поверх тех, что примерно похожи по ширине. =\
Можно и так сделать, но хочется по-человечески...
- Albeoris
- Автор темы
- Программист
- Сообщения: 67
- Темы: 1
- −
Albeoris » 16.12.2013, 06:37
Всё оказалось очень просто и примитивно. Просто я был слишком хорошего мнения о разработчиках SE.
В архиве main.fs
\data\eng\sysfnt.tdw - используется для HiRES шрифтов
В архиве menu.fs
\data\eng\menu\sysfnt.tdw - используется для обычных шрифтов
Таблицы ширин в них ОДИНАКОВЫЕ (что и смутило, думал, что ширины шрифтов, раз уж они хранятся отдельно, описаны целыми байтами, а не половинками - я ошибался).
Значения таблицы шрифтов из архива main.fs умножаются на 1,67. Округление в большую сторону.
http://yadi.sk/d/4Tm5CiXNENrNL
Хранятся числы точно также - начиная с 8 байта в файле sysfnt.tdw описаны ширины символов, начиная с пробела. По половинке байта на символ. Биты 0..4 - 1ый символ, 5..7 - 2ой символ.
Предположим у нас есть символы с шириной 22, 15, 11 и 7 пикселей. Тогда в таблице ширин будет записано:
22 / 1.67 = 13.19 => 14 (0xE)
15 / 1.67 = 8.999 => 9 (0x9)
11 / 1.67 = 6.599 => 7 (0x7)
07 / 1.67 = 4.199 => 5 (0x5)
---
9E57
Как видим, максимальная абсолютная погрешность - 1.66 пикселя. Иногда есть смысл округлить значение в меньшую сторону, чтобы избежать слишком большого расстояния между символами.
Posted after 14 hours 30 minutes 44 seconds:
Немного поправил табличу ширин:
Хотя стоило бы по всему шрифту пройтись... Ну да ладно, это на будущее. Надо же что-то допиливать.
В архиве main.fs
\data\eng\sysfnt.tdw - используется для HiRES шрифтов
В архиве menu.fs
\data\eng\menu\sysfnt.tdw - используется для обычных шрифтов
Таблицы ширин в них ОДИНАКОВЫЕ (что и смутило, думал, что ширины шрифтов, раз уж они хранятся отдельно, описаны целыми байтами, а не половинками - я ошибался).
Значения таблицы шрифтов из архива main.fs умножаются на 1,67. Округление в большую сторону.
http://yadi.sk/d/4Tm5CiXNENrNL
Хранятся числы точно также - начиная с 8 байта в файле sysfnt.tdw описаны ширины символов, начиная с пробела. По половинке байта на символ. Биты 0..4 - 1ый символ, 5..7 - 2ой символ.
Предположим у нас есть символы с шириной 22, 15, 11 и 7 пикселей. Тогда в таблице ширин будет записано:
22 / 1.67 = 13.19 => 14 (0xE)
15 / 1.67 = 8.999 => 9 (0x9)
11 / 1.67 = 6.599 => 7 (0x7)
07 / 1.67 = 4.199 => 5 (0x5)
---
9E57
Как видим, максимальная абсолютная погрешность - 1.66 пикселя. Иногда есть смысл округлить значение в меньшую сторону, чтобы избежать слишком большого расстояния между символами.
Posted after 14 hours 30 minutes 44 seconds:
Немного поправил табличу ширин:
Хотя стоило бы по всему шрифту пройтись... Ну да ладно, это на будущее. Надо же что-то допиливать.
- Albeoris
- Автор темы
- Программист
- Сообщения: 67
- Темы: 1
Сообщений: 8
• Страница 1 из 1
Кто сейчас на сайте (по активности за 5 минут)
Сейчас этот форум просматривают: 1 гость