Death or Glory/RLC: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «== Общее == RLC-файл представляет собой точечное графическое изображение, использующее заданный набор цветов, определяемый VGA-палитрой. В игре одновременно всегда использует только один такой файл, который определяет цвета других графически...»)
 
(Разобрано еще два байта, используемых в RLC-файлах.)
Строка 18: Строка 18:
  | 0x0300
  | 0x0300
  | 4
  | 4
  | Назначение байтов пока не разобрано.
  | Назначение байтов пока не разобрано (скорее всего какой-то разделитель, всегда "00 00 00 00").
  |-
  |-
  | 0x0304
  | 0x0304
Строка 30: Строка 30:
  | 0x0308
  | 0x0308
  | 2
  | 2
  | Назначение байтов пока не разобрано.
  | Количество блоков изображения.
  |-
  |-
  | 0x030A
  | 0x030A

Версия от 18:29, 20 сентября 2025

Общее

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

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

Содержимое файлов

Смещение Длина Комментарий
0x0000 720 Каждые три байта определяют один цвет в соответствии с правилами VGA-палитры (всего доступно 256 цветов).
0x0300 4 Назначение байтов пока не разобрано (скорее всего какой-то разделитель, всегда "00 00 00 00").
0x0304 2 Горизонталь изображения, количество точек.
0x0306 2 Вертикаль изображения, количество точек.
0x0308 2 Количество блоков изображения.
0x030A 2 Горизонталь (ширина) блока изображения, количество точек.
0x030C 2 Количество байтов блока изображения (далее N).
0x030E N Байты, определяющие точки блока изображения и их цвета в соответствии с палитрой.
0x030E + N 2 Горизонталь (ширина) блока изображения, количество точек.
0x030E + N + 2 2 Количество байтов блока изображения (далее M).
0x030E + N + 4 M Байты, определяющие точки блока изображения и их цвета в соответствии с палитрой.
0x030E + N + 4 + M ... Далее последовательность повторяется.

, смещение и длина считаются в байтах (шт.). Смещение - шестнадцатеричная система исчисления, длина - десятичная система исчисления.

Последовательность отображения значений байтов, определяющих точки блоков изображения, - горизонтально слева направо и при достижении ширины блока выполняется сдвиг на одну точку вниз и переход к левому краю блока. Каждый блок начинается с верхнего ряда со сдвигом от левого края изображения на сумму горизонталей (ширин) ранее заданных блоков.

Если левый бит байта точки определен в значении "0", то байт задает цвет одной точки (в соответствии с палитрой). Если левый бит содержит "1" - байт задает количество одинаковых точек, идущих друг за другом (без левого бита получается от 1 до 127 точек), цвет которых определен значением следующего байта.

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