Перейти к содержимому


Фотография

Устройство шрифтов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 isage

isage

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 24 Октябрь 2014 - 20:35

Согласно http://falloutmods.w...AAF_File_Format у пиксель символа может иметь значение от 0 до 9, однако я не могу найти ни одного шрифта со значением больше 7. Как так?

Еще там указано, что это "яркость" цвета. Но на самом деле все эти цвета есть в палитре (если снять скриншот и фотошопом в пиксели буковок потыкать).
В связи с чем: возможно ли, что это индексы в некоем массиве, значения которого являются индексами цветов в палитре? Соответственно по массиву для каждой цветовой схемы (например, это подтверждают дефайны цветов для float_msg в скриптах)


#2 Lostman

Lostman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 171 сообщений

Отправлено 28 Октябрь 2014 - 14:38

Возможно, в доке ошибка, может подразумеваться значение байта (0..7).
Насчет яркости — так и есть, фактически яркость — это смещение относительно базового цвета палитры. При отображении шрифта выбирается базовый цвет, на основании которого избирается "яркость" участка буквы.

Это сообщение отредактировано Lostman - 31 октября 2014 | 12:36


#3 isage

isage

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 02 Ноябрь 2014 - 00:17

Дело в том, что для надписей разных цветов эти смещения могут значительно различаться. Где-то они идут подряд, например в меню, где-то разбросаны без всякой системы, например у дефолтных флоатеров.
Интересует именно алгоритм, которым эти смещения считаются.


#4 isage

isage

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 03 Ноябрь 2014 - 00:54

Окей, отвечу сам себе: это не яркость, это прозрачность (это хорошо видно в главном меню на букве T). В случае с флоатерами цвет смешивается с цветом окантовки. Прозрачность нелинейная, и точной формулы я так и не вывел. Смешение проводится в RGB (судя по всему в "реальном", т.е. помноженном на 4), полученый цвет конвертируется в индекс в палитре через матрицу RGB->paletteIndex в палитре. Соответственно итоговый цвет берется из палитры.

Это, на самом деле, все равно всего-лишь догадки, потому как в дизасме я так и не разобрался.




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Рейтинг@Mail.ru