RES (формат файлов)
Описание формата *.res/*.rmp/*.pro игр Дальнобойщики: Путь к победе и Дальнобойщики 2. Данные файлы хранят в себе ресурсы[1] следующих типов: цветовые палитры, звуковые файлы в формате WAV, текстуры форматов TXR и MSK, а также материалы для 3D-объектов b3d-файлов. Инструменты для работы с RES/RMP представлены на странице с утилитами.
Содержание
- 1 Типы архивов ресурсов
- 2 Общее описание структуры файла
- 3 Технические ограничения
- 4 Файловые секции
- 5 Текстовые секции
- 5.1 Секция COLORS
- 5.2 Секция MATERIALS
- 5.2.1 Параметр подключения цвета
- 5.2.2 Параметры подключения текстур
- 5.2.3 Эффект вращения
- 5.2.4 Эффект перемещения
- 5.2.5 Подключение других материалов
- 5.2.6 Прозрачность
- 5.2.7 Солнечные блики
- 5.2.8 Эффекты отражений
- 5.2.9 Остальные параметры
- 5.2.10 Дополнительные эффекты
- 5.2.11 Без описания
- 5.2.12 Примеры записей
- 5.3 Секция SOUNDS
- 6 Примечания
Типы архивов ресурсов
- PRO - текстовый файл ресурсов;
- RMP - бинарный файл ресурсов, используется в игре «Дальнобойщики: Путь к победе» и старых технодемках СофтЛаб-НСК, также поддерживается и «Дальнобойщиками 2»;
- RES - бинарный файл ресурсов, используется только в игре «Дальнобойщики 2».
Cтруктура всех трёх форматов одинаковая - единственное отличие заключается в том, что в файловых секциях PRO записаны пути к файлам, а в RES/RMP записаны сами файлы.
Общее описание структуры файла
В общем виде данный файл представляет собой набор секций (массивов), каждая из которых имеет следующий формат:
<имя_секции> <количество_дочерних_объектов> <данные[количество_дочерних_объектов]>
Технические ограничения
В игре «Дальнобойщики 2»
- Звуковые файлы могут быть только в одном RES-файле на всю игру, которым является COMMON.RES. Наличие звуков в других файлах недопустимо и приводит к падению игры.
- Параметры разных материалов, используемых на одном слое UV-развёртки и соединённых параметром att, объединяются.
Файловые секции
Данные секции используются как в первой части игры, так и во второй, если не указано обратное. Пути к файлам могут включать в себя директории.
Формат записи:
<путь_к_файлу> <параметры>
Параметры:
- noload - означает, что файл будет загружен в память только в момент отрисовки группы, к которой относится объект, использующий данный файл. При наличии такого параметра требуется прописать файл в соответствующую группу OVL-файла;
- memfix - назначение неизвестно, используется в «Дальнобойщиках 2» для прозрачных текстур отражений мокрых дорог;
- также может быть указано некоторое большое число (в «Дальнобойщиках 2»). Назначение также неизвестно.
Секция PALETTEFILES
Хранит файл с цветовой палитрой. Пример записи:
PALETTEFILES 1 common.plm
Секция SOUNDFILES
Хранит звуковые файлы в формате WAV. В игре «Дальнобойщики 2» допускается использование 24-битных WAV частотой 48000 Гц. Пример записи:
SOUNDFILES 3 snd\crash9.wav snd\alarm.wav lift.wav
Секция BACKFILES
Хранит фоновые текстуры сцены в формате TXR. Используется только в старых технодемках и первой части игры. Пример записи:
BACKFILES 4 txr\sky_r1.txr txr\sky_r1_.txr txr\sky_r2.txr txr\sky_r2_.txr
Секция MASKFILES
Хранит текстуры в формате MSK. Пример записи:
MASKFILES 9 msk\rain.msk msk\rainm.msk msk\sun_01.msk msk\sun_02.msk msk\sun_03.msk msk\sun_04.msk msk\drop7.msk msk\drop10.msk msk\zil_pan.msk
Секция TEXTUREFILES
Хранит текстуры в формате TXR. Пример записи:
TEXTUREFILES 5 txr\forest1.txr txr\grass_01.txr txr\road_71.txr noload txr\refl_r.txr memfix txr\town_ap.txr
Текстовые секции
Секция COLORS
Может быть представлена в двух видах.
- Первый представляет собой три числа в диапазоне 0.0 ... 1.0, встречается в старых технодемках (MirDemo, InteriorDemo) и хранит цвет в формате RGB.
- Второй представляет собой одно число в диапазоне 0.0 ... 1.0 и встречается в «Дальнобойщиках 1/2». При этом, судя по всему, во второй части не используется. Назначение числа неизвестно.
Цвета используются в материалах и могут применяться как вместо текстуры, так и в качестве цвета прозрачности.
Секция MATERIALS
Хранит настройки материалов в формате
<имя_материала> <параметры>
Параметр подключения цвета
col <индекс>
Если текстура не подключена, то данный цвет будет использоваться в качестве цвета материала.
Замечания:
- В старых технодемках в качестве индекса используется порядковый номер цвета из секции [COLORS];
- В «Дальнобойщиках 1» принимает индекс цвета из палитры данного RMP-файла;
- В «Дальнобойщиках 2» принимает индекс цвета из палитры COMMON.RES
Параметры подключения текстур
В качестве индекса используется порядковый номер файла текстуры из секции [TEXTUREFILES].
tex <индекс> usecol <индекс_цвета> - подключение обычной текстуры, при этом указанный в usecol цвет будет задавать цвет данной текстуры. Использование usecol необязательно. ttx <индекс> col <индекс_цвета> - подключение текстуры, при этом указанный в col цвет будет использоваться в качестве прозрачного. Если col не указан, то прозрачным цветом будет чёрный (RGB 0,0,0). Данный параметр позволяет использовать текстуры формата RGB565 в качестве прозрачных. itx <индекс> - неизвестно.
Эффект вращения
rot <угол_вращения?> RotPoint <центр_вращения_по_x> <центр_вращения_по_y>
Используется во второй части игры для эффекта вращения винтов вертолёта.
Эффект перемещения
move <движение_по_X> <движение_по_Y>
Задаёт движение текстуры по осям развёртки. Может использоваться для эффекта электронных вывесок, как в первой части игры.
Подключение других материалов
- att <индекс_материала> - подключает данный материал дополнительным слоем к текущему;
- par <индекс_материала> - используется для переключения окрасов автомобилей во второй части. Логика подключения следующая: первый вариант окраса подключается ко второму данным параметром, второй - к третьему, третий - к четвёртому, а четвёртый подключений не имеет.
Прозрачность
transp <значение>
Делает материал прозрачным. Может использоваться совместно с параметром col. Значение должно быть в диапазоне 0.0 ... 1.0
Солнечные блики
specular 1 power <значение>
Значение должно быть в диапазоне 1 - 100
Эффекты отражений
env <масштаб_по_X> <масштаб_по_Y>
Используется для отражений на мокрых дорогах.
Остальные параметры
- coord <число> - задаёт номер используемой UV-развёртки данным материалом
- noz - отключает z-buffer
- nof - отключает туман (?)
- notile - отключает зацикливание текстуры (т.е. текстурные координаты вне диапазона 0.0 ... 1.0 будут приравнены к 0.0 или 1.0, в зависимости от их значения)
- notileu - отключает зацикливание текстуры по оси X
- notilev - отключает зацикливание текстуры по оси Y
Дополнительные эффекты
- "env3" - задаёт вариант отражений параметра env?
- "wave" - используется для имитации волн на речных поверхностях
Данные параметры задаются в конце описания материала в кавычках.
Без описания
- alphamirr
- bumpcoord
- reflect
Примеры записей
MATERIALS 124 Volga_all1 tex 1 specular 1 power 50 par 2 Volga_all2 tex 2 specular 1 power 50 par 3 Volga_all3 tex 3 specular 1 power 50 par 4 Volga_all4 tex 4 specular 1 power 50 glass_env tex 5 env 0.07 0.07 coord 2 "env3" glass tex 6 noz att 5 wiper tex 7 noz col8 col 3 shadow col 5 transp 0.750000 mat_river_0 tex 8 move 0 -0.125 "wave" Ka50_vint1 tex 9 RotPoint 0.5 0.5 rot 390 notile
Секция SOUNDS
Хранит имена звуков в формате
<имя_звука> <индекс_звукового_файла>
Параметры:
- имя_звука - имя, под которым можно будет использовать данный звук в соответствующих объектах b3d-файла;
- индекс_звукового_файла - индекс используемого файла из секции [SOUNDFILES].
Пример записи:
SOUNDS 5 testSound 1 fullSound 2 gearSound 3 hornSound 4 idleSound 5
Дальнобойщики 2 | ||
---|---|---|
Игровое наполнение | Игровой регион • Автопарк • Саундтрек • Вступительный ролик • Рация • Милиция • Вертолёт | |
Моддинг | Модификации • Утилиты • game.cnf • sch-файлы • vehicle.tech • truck.ini | |
Разное | История версий • Советы и секреты • Бонусный диск • Управление • Авторы |