2DFX (Секция RW)
Материал из GTAModding.ru
Версия от 14:02, 21 февраля 2012; Solom (обсуждение | вклад)
Секция RenderWare |
2dfx |
0x0253F2F8 |
2dfx - одна из секции в RW. В GTA SA используется для расположения света, эффектов частиц и прочего. Предыдущие игры серии (а также GTA 4) использует 2dfx в IDE файлах.
Содержание |
Заголовок
Секция 2dfx начинается с 4рёх байта DWORD, в котором указана информация о количестве используемых записей в данной секции.
Записи
Заголовок состоит из 20 байтов.
12 byte - FLOAT[3] - Координаты вектора (xyz) 4 byte - DWORD - Тип 2DFX 4 byte - DWORD - Размер данных
Type 0 - Light
Этот тип используется для света. Состоит из 80 байтов.
Примечание : RGB - это цвета.
4b - BYTE[4] - RGBX, где X = 200d 4b - FLOAT - Дальность прорисовки 4b - FLOAT - Внешний круг 4b - FLOAT - Размер 4b - FLOAT - Внутренний круг 5b - BYTE[5] - Параметры 24b - CHAR[24] - Имя текстуры короны 24b - CHAR[24] - Имя текстуры тени 4b - INT32 - Вспышка 3b - BYTE[3] - Параметр вспышки(?)
Type 1 - Particle Effects
Этот тип используется для эффекта частиц. Состоит из 24 байтов.
24b - CHAR[24] - Имя эффекта частиц
Имена эффектов частиц присутствует в файле effect.fxp.
Type 3 - PEDs
PED секция состоит из 56 байтов. Используется для появления пешеходов (Например на стульях, в магазинах, на скамейках и др..) Используется также информация об анимации пешехода.
4b - INT32 - Флаг (1 - сидит ; 5 - стоит) 8b - BYTE[8]? - Неизвестно 16b - FLOAT[4] - Поворот (XYZW) 12b - BYTE[12]?- ID пешехода? 8b - CHAR[8] - Анимация пешехода 4b - INT32 - Вероятность появления пешехода 4b - INT32 - Неизвестно (всегда ноль)
Поворот используется в виде кватерниона, как и у объектов в [[IPL} файлах.
Type 6 - Неизвестно
Тип может вызвать вылеты в игре! Используется например в модели barrio3b_lae.dff, которая по правде говоря не используется в игре. Возможно используется для миссий вора или каким то образом связано с SCM файлом. Возможно тип не используется в игре вообще и мог являться лишь наброском, который использовался в бете версий игры. Структура выглядит примерно так.
4b - INT32 - Неизвестно (всегда 0 ?) 8b - FLOAT[2] - Неизвестно (всегда 2 ?) 4b - INT32 - Неизвестно (всегда 0 ?) 8b - FLOAT[2] - Неизвестно (всегда 1 ?) 4b - INT32 - Неизвестно (всегда 0 ?) 4b - BYTE[4] - Неизвестно 8b - CHAR[8] - Неизвестно (имя ENEX телепортера)? 4b - BYTE[4] - Неизвестно (RBGA цвет флажка телепортера)?
Type 7 - Street Signs
Этот тип управляет бегающими строчками. Размер составляет 88 байтов.
8b - FLOAT[2] - Масштаб (xy) 12b - FLOAT[3] - Поворот (xyz) 2b - WORD - Возможно не используется 64b - CHAR[64] - Текст, 16 байт на строку 2b - ? - Обивка
Строки могут начать с таких символов, как <
, ^
и >
; также символ _
используется вместо пробела.
Type 8 - Slotmachine-wheels
Это игровые автоматы.
4b - Int32 - Индекс колеса
Каждое колесо в игровом автомате использует индекс 1. Положение индекса это положение колеса игрового автомата. Может быть, позицией можно управлять через SCM.
Type 9
Размер равен 12 байтам. Чаще всего используется в больших 2DFX файлах. Возможно является каким-то разделителем.
Type 10 - Escalators
Этот тип относится к эскалаторам. Размер равен 40 байтам.
12b - FLOAT[3] - Нижняя часть эскалатора (xyz) 12b - FLOAT[3] - Верхняя часть эскалатора (xyz) 12b - FLOAT[3] - Конечная точка эскалатора (точка Z должна быть наверху, если эскалатор едет вверх, если вниз, то на нижней позиции эскалатора) 4b - DWORD - Дирекция движения (0/1) (Вниз/Вверх)
Модели эскалаторов должны быть расположены через бинарные IPL файлы (То есть те, которые скомпилированы в двоичный вид и находятся в .img файле). Информация о скорости движения эскалатора находится в .exe файле.