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


Фотография

Как определить какой FRM требует особой палитры?


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

#1 mick

mick

    Пользователь

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

Отправлено 12 Август 2012 - 10:06

Сообщение было выделено из темы Fallout в браузере.


делаю потихоньку =)
Буду очень благодарен, если кто-нибудь подскажет по палитрам Fallout'a. Мне не понятно как определить какой FRM требует особой палитры, и как собственно палитру считывать — с какого смещения начинается список цветов?...
Материалы с TeamX читал, не помогло =(

Это сообщение отредактировано Wasteland Ghost - 12 августа 2012 | 13:35


#2 The Master

The Master

    Чистосердечный зевака

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

Отправлено 12 Август 2012 - 10:25

QUOTE
Мне не понятно как определить какой FRM требует особой палитры
Если в ресурсах помимо картинки лежит pal-файл с аналогичным названием, то картинка особая. Их относительно немного — помощь игроку(helpscreen по F1), картинка Главного меню, финальные слайды...
Остальная графика использует color.pal, лежащий в корне master.dat

Насчёт остального вот инфа:
QUOTE
Я это не проверял, но судя по коду в Mapper2.exe и Fallout2.exe в color.pal по смещению 0х300 идет таблица, которая используется для преобразования RGB-значения в индекс в палитре. Размер этой таблицы — 32768 байт. Перед использованием 24-битный RGB преобразуется в 15 битный по следующему правилу — из 8-битной компоненты цвета берутся старшие 5 бит, а уж из них собирается 15 битная.
Это 15-битное число является индексом в эту таблицу преобразования. Ну а в таблице в этом месте находится индекс в палитру.

Настоящие, непреобразованные для заданной яркости цвета Фолла ты можешь увидеть внутри Фолла, выставив минимальную яркость в настройках.

Таблица "цвет-индекс" в color.pal также одна. Но она приводит ЛЮБОЙ заданный цвет к цветам базовой палитры.  Алгоритм следующий
wFalloutRGB = (((Color.m_Red   >> 3) & 0x7F) « 10) |
  (((Color.m_Green » 3) & 0x7F) «  5) |
  ((Color.m_Blue  » 3) & 0x7F);

ColorIndex = ((BYTE*)g_FalloutPal)[0x300 + wFalloutRGB];

©Anchorite

Саму палитру можно достать из Фола(master.dat\color.pal), просмотрщик есть на TeamX в разделе «Файлы». У меня был адаптированный для Фотошопа или GIMP файл, но надо далеко и долго искать.
UPD: вроде нашёл, вроде оно. Не помню, где взял и зачем оно мне было надо :)
http://rghost.ru/39736608

Это сообщение отредактировано The Master - 12 августа 2012 | 13:18


#3 mick

mick

    Пользователь

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

Отправлено 12 Август 2012 - 16:44

Спасибо. GIMP-палитру я и использовал раньше, т.к. не знал как её получить самому) Вопрос в том как именно её получить из файла color.pal? Почти правильно получается если взять первые 256 тройки байт из файла. Каждая такая тройка — RGB представление цвета. Домножив цвета на четыре получаем почти в точности GIMP-палитру. Но остается два момента:
1) в GIMP-палитре первые четыре цвета какие-то странные(черный, темно-красный, зеленый, бледно-салатовый) а в файле первые четыре цвета это градации светло-серого.
2) в GIMP-палитре цвета более блеклые и более светлые видимо.
Вот сделал наглядное сравнение. Верхняя строка — GIMP-палитра, нижняя — создана из троек байт файла color.pal.


#4 The Master

The Master

    Чистосердечный зевака

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

Отправлено 12 Август 2012 - 17:24

Как выяснилось, формула не совсем правильная, но близка к истине.
Вот комментарий Hexxx'а:
QUOTE
Формула похожа на правду, но не сходится. Берем стандартный фолаутовский зеленый:
3CF800
По формуле:
wFalloutRGB = (((0x3C >> 3) & 0x7F) « 10) | (((0xF8 » 3) & 0x7F) « 5) | ((0 » 3) & 0x7F);
Считаем:
wFalloutRGB = (0x1C00 | 0x3E0 | 0x0) = 0x1FE0

В движке же используется wFalloutRGB = 0x3E0

QUOTE
Вопрос в том как именно её получить из файла color.pal?

http://teamx.ru/site...ils/PALView.rar
Позволяет просматривать color.pal

http://teamx.ru/site...docs/index.html
Раздел «Исследования движка», файл «Цветопередача в Fallout»

Больше пока ничем помочь не могу, нужно призывать Старейшин.


#5 Wasteland Ghost

Wasteland Ghost

    Маленькое Злое Привидение

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

Отправлено 13 Август 2012 - 09:02

mick, изучай архивы TeamX. С палитрой от и до разобрался Anchorite, на сайте есть его дока и программа работы с палитрой с исходниками.




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

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


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

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

Рейтинг@Mail.ru