Blackthorne/шрифты: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
 
Строка 1: Строка 1:
'''Шрифты''' в Blackthorne представлены в [[Blackthorne/DATA.DAT|DATA.DAT]] в ресурсах 289 и 291. Файл содержит данные о 64 символах.
+
'''Шрифты''' в [[Blackthorne]] представлены в [[Blackthorne/DATA.DAT|DATA.DAT]] в ресурсах 289 и 291. Файл содержит данные о 64 символах.
  
 
Формат хранения имеет занимательный и своеобразный алгоритм кодирования «картинки» шрифта. Массив байтов заполняется в поле размером 512x8, причем заполнение идет парами байт, сначала сверху вниз. Полученное поле делится на области 8x8, каждое из которых представляет собой отдельный обособленный символ. Однако и здесь не все так просто. Каждый нечетный по порядку байт отвечает за отображение соответствующего пикселя левой части, каждый четный — правой части. Расчет X-координаты в пределах 8-пиксельной зоны ведется по следующей формуле:
 
Формат хранения имеет занимательный и своеобразный алгоритм кодирования «картинки» шрифта. Массив байтов заполняется в поле размером 512x8, причем заполнение идет парами байт, сначала сверху вниз. Полученное поле делится на области 8x8, каждое из которых представляет собой отдельный обособленный символ. Однако и здесь не все так просто. Каждый нечетный по порядку байт отвечает за отображение соответствующего пикселя левой части, каждый четный — правой части. Расчет X-координаты в пределах 8-пиксельной зоны ведется по следующей формуле:

Текущая версия на 20:21, 30 мая 2017

Шрифты в Blackthorne представлены в DATA.DAT в ресурсах 289 и 291. Файл содержит данные о 64 символах.

Формат хранения имеет занимательный и своеобразный алгоритм кодирования «картинки» шрифта. Массив байтов заполняется в поле размером 512x8, причем заполнение идет парами байт, сначала сверху вниз. Полученное поле делится на области 8x8, каждое из которых представляет собой отдельный обособленный символ. Однако и здесь не все так просто. Каждый нечетный по порядку байт отвечает за отображение соответствующего пикселя левой части, каждый четный — правой части. Расчет X-координаты в пределах 8-пиксельной зоны ведется по следующей формуле:

Шрифт из ресурса 289. Шрифт из 291 практический идентичен, кроме отсутствия цвета границ символов (красный цвет)
  • Если номер n текущего байта - четное число, то x = n/2
  • Если номер текущего байта - нечетное число, то x = (n + 1)/2 + 3

Байты могут принимать одно из четырех значений:

  • 0x00 — фон (прозрачная область)
  • 0x01 — основной цвет
  • 0x02 — «тень» шрифта
  • 0x03 — фон (прозрачная область, встречается только в ресурсе 289; вероятно, данный цвет использовался для обозначения границ символов)