NoX World - форум об игре NoX

 
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  
Сейчас онлайн стрима нет!
Сейчас на сервере никого нет!

Обязательно все ознакомьтесь с новыми Правилами Портала!

Актуальные новости:
Официальная игра №149! 11 декабря 17-00 по Москве!
Отключена авторизация на сервере и изменён IP! Подробности.


Важные темы:
Как играть по сети? Понятное руководство!
Правила Сервера NoxWorld.
Как помочь форуму финансово?

Автор Тема: Разбор шрифтов от Garett'a  (Прочитано 17481 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Dio

  • Глобальный модератор
  • Старожил
  • **
  • Карма: 98
  • Оффлайн Оффлайн
  • Сообщений: 1269
  • Некромансеры "живы"!
  • Awards Орден 'За заслуги перед форумом I степени' Активным участникам сходок - 2013 За релиз ЮниМода За набор курсоров для Windows За разгадку главного секрета Nox Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

Spoiler (click to show/hide)



Справка.
Для тех, кому не нравятся существующие шрифты в игре.


В Nox-е используется предположительно три файла шрифтов large.fnt, number.fnt и small.fnt.
Будет рассмотрено как получить и изменить (если необходимо) изображения символов. На примере самого маленького файла.


Содержание файла number.fnt в шестнадцатиричном виде или в виде набора байт с их значениями (по две цифры на байт).


00000000: 0A 00 02 00 06 00 01 00  00 00 00 00 30 00 39 00
00000010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00000020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00000030: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00000040: 00 00 00 00 00 00 00 00  0D 00 00 00 05 70 00 D8
00000050: 00 D8 00 D8 00 D8 00 70  00 03 60 00 E0 00 60 00
00000060: 60 00 60 00 60 00 05 70  00 D8 00 18 00 70 00 C0
00000070: 00 F8 00 05 70 00 D8 00  30 00 18 00 D8 00 70 00
00000080: 05 30 00 70 00 70 00 F0  00 F8 00 30 00 05 F8 00
00000090: C0 00 F0 00 18 00 D8 00  70 00 05 70 00 C0 00 F0
000000A0: 00 D8 00 D8 00 70 00 05  F8 00 18 00 30 00 60 00
000000B0: 60 00 60 00 05 70 00 D8  00 70 00 D8 00 D8 00 70
000000C0: 00 05 70 00 D8 00 D8 00  78 00 18 00 70 00


Предположительно в этом файле должны содержаться изображения цифр (арабских). Всего их 10 штук: "0","1","2","3","4","5","6","7","8","9".
Визуальный анализ позволяет выделить в файле две части, разделенные строками нулей.


Первая часть:
00000000: 0A 00 02 00 06 00 01 00  00 00 00 00 30 00 39 00
00000010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00000020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00000030: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00000040: 00 00 00 00 00 00 00 00  0D 00 00 00


Вторая часть:
00000040:                                      05 70 00 D8
00000050: 00 D8 00 D8 00 D8 00 70  00 03 60 00 E0 00 60 00
00000060: 60 00 60 00 60 00 05 70  00 D8 00 18 00 70 00 C0
00000070: 00 F8 00 05 70 00 D8 00  30 00 18 00 D8 00 70 00
00000080: 05 30 00 70 00 70 00 F0  00 F8 00 30 00 05 F8 00
00000090: C0 00 F0 00 18 00 D8 00  70 00 05 70 00 C0 00 F0
000000A0: 00 D8 00 D8 00 70 00 05  F8 00 18 00 30 00 60 00
000000B0: 60 00 60 00 05 70 00 D8  00 70 00 D8 00 D8 00 70
000000C0: 00 05 70 00 D8 00 D8 00  78 00 18 00 70 00


Первая чать не интересна (одни нули), во второй, вероятно как раз содержится информаци о изображениях символов.
Всего символов 10 штук. Смотрим вторую часть и считаем количества различных значений байтов. В теории, для каждого символа должна быть отдельное изображение, эти картинки должны быть как-то отделены друг от друга. Вероятнее всего этим разделителем является байт со значением "05" - их ровно 9 штук и распределены равномерно (за исключение одного, первого, но если взять еще одно значение разделителя "03" - все начинает сходиться).


Соответственно перестроим вторую часть, перенося строки по байту "05" ("03"):
05 70 00 D8 00 D8 00 D8 00 D8 00 70 00
03 60 00 E0 00 60 00 60 00 60 00 60 00
05 70 00 D8 00 18 00 70 00 C0 00 F8 00
05 70 00 D8 00 30 00 18 00 D8 00 70 00
05 30 00 70 00 70 00 F0 00 F8 00 30 00
05 F8 00 C0 00 F0 00 18 00 D8 00 70 00
05 70 00 C0 00 F0 00 D8 00 D8 00 70 00
05 F8 00 18 00 30 00 60 00 60 00 60 00
05 70 00 D8 00 70 00 D8 00 D8 00 70 00
05 70 00 D8 00 D8 00 78 00 18 00 70 00


Теперь, как перевести эти строки в изображения. Сначала вынесем из каждой строки первый байт ("05" и "03") на отдельную строку, а всю остальную часть разделим на короткие строки по два байта. Далее нужно перевести все в двоичный вид.


05
70 00 -> 01110000 00000000
D8 00 -> 11011000 00000000
D8 00 -> 11011000 00000000
D8 00 -> 11011000 00000000
D8 00 -> 11011000 00000000
70 00 -> 01110000 00000000
03
60 00 -> 01100000 00000000
E0 00 -> 11100000 00000000
60 00 -> 01100000 00000000
60 00 -> 01100000 00000000
60 00 -> 01100000 00000000
60 00 -> 01100000 00000000
05
70 00 -> 01110000 00000000
D8 00 -> 11011000 00000000
18 00 -> 00011000 00000000
70 00 -> 01110000 00000000
C0 00 -> 11000000 00000000
F8 00 -> 11111000 00000000
05
70 00 -> 01110000 00000000
D8 00 -> 11011000 00000000
30 00 -> 00110000 00000000
18 00 -> 00011000 00000000
D8 00 -> 11011000 00000000
70 00 -> 01110000 00000000
05
30 00 -> 00110000 00000000
70 00 -> 01110000 00000000
70 00 -> 01110000 00000000
F0 00 -> 11110000 00000000
F8 00 -> 11111000 00000000
30 00 -> 00110000 00000000
05
F8 00 -> 11111000 00000000
C0 00 -> 11000000 00000000
F0 00 -> 11110000 00000000
18 00 -> 00011000 00000000
D8 00 -> 11011000 00000000
70 00 -> 01110000 00000000
05
70 00 -> 01110000 00000000
C0 00 -> 11000000 00000000
F0 00 -> 11110000 00000000
D8 00 -> 11011000 00000000
D8 00 -> 11011000 00000000
70 00 -> 01110000 00000000
05
F8 00 -> 11111000 00000000
18 00 -> 00011000 00000000
30 00 -> 00110000 00000000
60 00 -> 01100000 00000000
60 00 -> 01100000 00000000
60 00 -> 01100000 00000000
05
70 00 -> 01110000 00000000
D8 00 -> 11011000 00000000
70 00 -> 01110000 00000000
D8 00 -> 11011000 00000000
D8 00 -> 11011000 00000000
70 00 -> 01110000 00000000
05
70 00 -> 01110000 00000000
D8 00 -> 11011000 00000000
D8 00 -> 11011000 00000000
78 00 -> 01111000 00000000
18 00 -> 00011000 00000000
70 00 -> 01110000 00000000


Становится понятно, что означают байты "05" и "03" - это относительная ширина изображения символа.
Соответственно, измение значения некоторых байт, можно изменить отображение этих символов в самой игре. Но где конкретно используются именно цифры из файла number.fnt, я не проверял.
Остальные файлы шрифтов default.fnt, large.fnt и small.fnt анализируются подобным образом (default.fnt по умолчанию совпадает со small.fnt).




Практичекое применение в приложенном файле шрифта. В нем я заменил арабские цифры на изображения китайских чисел от 0 до 9.
Важно, файл шрифта изменен для английской локализации, русский текст будет отображаться некорректно.

Garett (c)

Perfect: предыстория.
« Последнее редактирование: 31/08/2012 19:26:21 от Perfect »
Записан
Пользуйтесь UniMod-ом.

Lаrboss

  • Старожил
  • *****
  • Карма: 108
  • Оффлайн Оффлайн
  • Сообщений: 900
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

Отличная работа, молодец. Остается только программу написать для редактирования фонтов.
Записан
Отец читеров

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Предоставьте это мне, пожалуйста)))
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 185
  • Оффлайн Оффлайн
  • Сообщений: 2725
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards

Всеж я б сначала разобрал заголовок.
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Ну это можно и потом допилить. Сначала надо начать придумывать алгоритм нахождения нужных фрагментов, а потом и их изменения.
Записан

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Вот, собственно, как должен выглядеть number.fnt в четырёхкратном увеличении.
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 185
  • Оффлайн Оффлайн
  • Сообщений: 2725
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards

Ну это можно и потом допилить. Сначала надо начать придумывать алгоритм нахождения нужных фрагментов, а потом и их изменения.

Как раз, я уверен, в заголовке указаны размеры нужных фрагментов. Ну, например у large.fnt 15 строк и 24 столбца, тогда как у small.fnt - 9 строк и 16 столбцов. Я уверен, эта информация закодирована где-то в заголовке.

А на тему расположения "где какой знак" я почти уверен, что берётся тупо ASCII таблица и по ней последовательно все символы и забиты.
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Могу предположить, что 0A в самом начале number.fnt - количество символов.
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 185
  • Оффлайн Оффлайн
  • Сообщений: 2725
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards

Честно говоря, по-моему Ноксу number.fnt особо и не нужен - он прекрасно существует и без него. Так что по хорошему надо бы разобрать всё то же самое в small.fnt и large.fnt
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Garett уже показал как разбирать) последующий разбор не составит труда. У меня возникли некоторые трудности в реализации самой идеи...
Записан

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Пришёл к выводу, что small и default идентичны. Более того, в чате и консоли используется default.fnt.
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 185
  • Оффлайн Оффлайн
  • Сообщений: 2725
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards

А первое сообщение топика читал внимательно?
Написано же.
Цитировать
default.fnt по умолчанию совпадает со small.fnt
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

А ещё я прочитал это:

В Nox-е используется предположительно три файла шрифтов large.fnt, number.fnt и small.fnt.
Записан

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 185
  • Оффлайн Оффлайн
  • Сообщений: 2725
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards

default он тож грузит, смотрел.
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Garett

  • Langrisser
  • Гильдия The Pinnacle
  • Старожил
  • *
  • Карма: 124
  • Оффлайн Оффлайн
  • Сообщений: 665
  • Awards Лучшая карта 5 конкурса карт Сложность исполнения 5 конкурса карт Выбор администрации 5 конкурса карт Лучший геймплей 5 конкурса карт Мастер нестандартных карт - 2013 За написание статей Методист 2012 4 конкурс карт - победа
    • Просмотр профиля
    • Игровой сайт по Nox
    • Awards

Частичный разбор заголовка.
Семантика некоторых значений, определенных в начале файлов default.fnt и large.fnt (small.fnt по содержимому совпадает с default.fnt).

Содержание файла default.fnt:
0000: 74 4E 6F 46 01 00 00 00
0008: 09 00 00 00 02 00 00 00
0010: 09 00 00 00 01 00 00 00
0018: 13 00 00 00 00 00 00 00
0020: 20 00 FF 00 03 00 00 00
0028: 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 00 01
0038: 80 00 80 00 80 00 80 00
0040: 80 00 00 00 80 00 00 00
0048: 00 00 03 ..

Для удобства представления, разделение на строки (кратность по 4 байта не обоснована ничем):
74 4E 6F 46 01 00 00 00 09 00 00 00
02 00 00 00 09 00 00 00
01 00 00 00
13 00 00 00
00 00 00 00
20 00 FF 00
03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 80 00 80 00 80 00 80 00 80 00 00 00 80 00 00 00 00 00
03 ..

Седьмая строка (первая длинная) и ниже - изображения символов.
Разбор выделенных.

02 00 00 00 09 00 00 00
02 00 00 00 - обозначает количество байт, отведенное для ширины каждого символа. Один бит эквивалентен одной точке по ширине. Т.е. значение "02" предполагает, ширина изображения символа не более 16 точек. Как разобрано выше, ширина (в точках) конкретного символа, отображаемого в игре, задается значением байта, размещенного непосредственно перед самим изображением.
09 00 00 00 - обозначает максимальную высоту символа в точках. Значение "09" предполагает, что высота изображения символа не более 9 точек.

Все символы в файле default.fnt должны быть умещены и закодированы в картинке 9х16 точек. Все неиспользуемые байты оставляются нулевыми, но они обязательно должны быть.

13 00 00 00
13 00 00 00 - обозначает общее количество байт, выделяемых для предствавления изображения одного символа. В него входит байт относительной длины символа "+" все байты самого изображения.

20 00 FF 00
20 00 - изображение какого по порядку символа (видимо, таблицы ASCII) будет первым. Выше можно видеть, что первый символ в файле - это " ", а второй "!", таблица ASCII подтверждает значение "20" - пробел, "21" - восклицательный знак.
FF 00 - номер завершающего символа (предположение, без проверки).

Значения остальных байт мной пока не разобраны.

Содержание файла large.fnt:
0000: 74 4E 6F 46 01 00 00 00
0008: 13 00 00 00 03 00 00 00
0010: 0F 00 00 00 01 00 00 00
0018: 2E 00 00 00 00 00 00 00
0020: 1F 00 FF 00 04 00 00 00
0028: 00 00 00 00 00 00 F0 00
0030: 00 90 00 00 90 00 00 90
0038: 00 00 90 00 00 90 00 00
0040: 90 00 00 90 00 00 F0 00
0048: 00 00 00 00 00 00 00 00
0050: 00 00 04 ..

Для удобства представления, разделение на строки:
74 4E 6F 46 01 00 00 00 13 00 00 00
03 00 00 00 0F 00 00 00
01 00 00 00
2E 00 00 00
00 00 00 00
1F 00 FF 00
04 00 00 00 00 00 00 00 00 00 F0 00 00 90 00 00 90 00 00 90 00 00 90 00 00 90 00 00 90 00 00 90 00 00 F0 00 00 00 00 00 00 00 00 00 00 00
04 ..

Далее разбирать не буду, должно быть и так понятно.
Записан
Маленький потерявшийся волшебничишка.

Dio

  • Глобальный модератор
  • Старожил
  • **
  • Карма: 98
  • Оффлайн Оффлайн
  • Сообщений: 1269
  • Некромансеры "живы"!
  • Awards Орден 'За заслуги перед форумом I степени' Активным участникам сходок - 2013 За релиз ЮниМода За набор курсоров для Windows За разгадку главного секрета Nox Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

Еще помогу товарищем которые собираются делать программы для редактирования шрифтов)
Расскажу как Nox разбирает шрифты на примере large.fnt и number.fnt

Он подгружает файл шрифтов и грузит первые 0x1c байт.
 
74 4E 6F 46
01 00 00 00
13 00 00 00
03 00 00 00
10 00 00 00
01 00 00 00
31 00 00 00

тут у нас 7 dword-ов (7 по 4 байт)
Другое дело что записаны они не в привычном нам виде. Переделаем. В итоге получим вот что (при разборе number.fnt мы получим другой результат)

1. 0x466F4E74
2. 01
3. 0x13
4. 03
5. 0x10
6. 01
7. 0x31

Далее Nox работает с этими числами.
Сперва он смотрит на первый байт. Число 0x466F4E74 указывает игре что этот файл надо разбирать следующим методом (он так разбирает default.fnt large.fnt и так далее, его нет например в number.fnt)
Не буду сильно внедряться в структуры его данных, так навряд ли вам это как то поможет.
Дальше он берет 6-ой dword умножает его на 8 (4 ворда) и читает это кол-во байт. У нас получится что он прочитает так

1А 00 00
2А 00 00
3А 1F 00
4А FF 00

Далее игра смотри было ли ли что в 6-ом dword-е, и если не было то пропускает первые 2 word-a и считывает 3А-йе и 4А-ое. Вычитает из 4А-ого 3А-е и к полученному результату прибавляет единицу (в данном случае получится 0xE1). Это я так понимаю кол-во символов в файле.

Потом Nox умножает это значение (в нашем случае 0xE1) на 7-ой dword и полученное кол-во байт считывает из файла. Это уже сами буквы, ничего не буду добавлять по ним.
Если кстати подсчитать то 0x1c + 8 + 0xE1*0x31 = 11061 байт, а это и есть размер файла.

Итого (значение всех параметров)

1. Зашифрованное слово, если его там нет то нокс будет думать что это number.fnt
2. Не используется
3. Считывается, но не используется
4. некий шаг в байтах при считывании симбола. В итоге влияет на размер букв (1 маленькие, 2 средние, и 3 большие). Если прибавить к этому значению единицу, то оно должно быть кратным максимальной высоте симболов
5. Максимальная высота симболов
6. Кол-во списков букв. То есть списки букв как в large.fnt 1F - FF, по идее можно было пропустить пару симболов и сделать там 2 списка и записать 00 00 1F 2F 00 00 34 FF. Мы бы пропустили пару симболов между 2F и 34
7. Кол-во байт которое занимает 1 буква.

1А. Отступ по таблице вперед с номера 3А (влияет ессно на графическое отображение)
2А. Не знаю если честно, но лучше не трогайте
3А. Первый номер симбола по таблице
4А. Последний номер по таблице

Таблицу я имею ввиду ACSII


Чуть иная загрузка у number.fnt

Nox грузит первые 0x4c байт
Это весь заголовок, он статичен. Сразу расскажу о том какие типы данных и что делают

1. word Не юзается
2. word Шаг в байтах при считывании
3. word Максимальная высота
4. word кол-во списков
5. word Отступ по таблице вперед
6. word Не знаю если честно, но лучше не трогайте
7. word Первый номер симбола по таблице
8. word Последний номер по таблице
9-36 (word) повторяется что и 5-8. Та же самая функция
37. dword Размер одного симбола

Тут место для списков уже забито с 5 по 36 word.
Записан
Пользуйтесь UniMod-ом.

Lаrboss

  • Старожил
  • *****
  • Карма: 108
  • Оффлайн Оффлайн
  • Сообщений: 900
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

Кто уже взялся за написание программы для редактирования шрифтов?
Записан
Отец читеров

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 185
  • Оффлайн Оффлайн
  • Сообщений: 2725
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards

Перфект собирался, не?
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Именно. Сейчас работаю с воплощением в реальность самой "рисовалки", потом не составит труда прописать нужные функции.
Записан

Lаrboss

  • Старожил
  • *****
  • Карма: 108
  • Оффлайн Оффлайн
  • Сообщений: 900
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

Как успехи Перфект:?
Записан
Отец читеров

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Я в Греции, епт! Приостановил разработку. Текущая стадия - удобный GUI.
Записан

Lаrboss

  • Старожил
  • *****
  • Карма: 108
  • Оффлайн Оффлайн
  • Сообщений: 900
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

С гуи начинаешь разработку...
Записан
Отец читеров

Perfect

  • Map Editor PRO
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 1141
  • Слушай маму и drum&bass
  • Awards За поддержку форума - 2013 Лучший дизайн 5 конкурса карт Рука форума 2012 3 конкурс карт - лучшая карта 3 конкурс карт - приз Evengard-а за самую большую карту Медаль 'Победитель II конкурса карт' Медаль 'За фантазию и упорство в создании карт - 2011' Лучший геймлпей
    • Просмотр профиля
    • nÖrange soundcloud
    • Awards

Без критики, пожалуйста. Нечего ещё критиковать.
Записан

Lаrboss

  • Старожил
  • *****
  • Карма: 108
  • Оффлайн Оффлайн
  • Сообщений: 900
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

У кого используется стандартный large.fnt, прошу поделитесь им со мной.
Записан
Отец читеров

Lаrboss

  • Старожил
  • *****
  • Карма: 108
  • Оффлайн Оффлайн
  • Сообщений: 900
  • Абстрагирую
  • Awards Знак 'Властелин Сил Природы' За редактор шрифтов - 2013 Медаль 'За программу Nox Server Notificator' За программу Nox Binder Знак 'За тягу к тайнам Nox'
    • Просмотр профиля
    • Awards

Кто-нить разбирал первый-два символа из large.fnt? Если таковые есть - поделитесь информацией.

Перфект, как успехи?

Ничего не обещаю, но параллельно Перфекту начал разработку редактора, не уверен реализую ли.
Записан
Отец читеров
Расширенный поиск  
 

Страница сгенерирована за 0.221 секунд. Запросов: 19.