2DFX (Секция RW)
Материал из GTAModding.ru
Версия от 11:51, 19 февраля 2012; Solom (обсуждение | вклад)
Эта статья требует полного или частичного перевода. Часть этой статьи написана на иностранном языке. Если вы знаете его, пожалуйста, помогите с ее переводом на русский язык. |
Секция RenderWare |
2dfx |
0x0253F2F8 |
2dfx - одна из секции в RW. В GTA SA используется для расположения света, эффектов частиц и прочего. Предыдущие игры серии (а также GTA 4) использует 2dfx в IDE файлах.
Содержание |
Заголовок
Секция 2dfx начинается с 4рёх байта DWORD, в котором указана информация о количестве используемых записей в данной секции.
Записи
There is a common 20 byte header for each 2dfx entry:
12 byte - FLOAT[3] - Position Vector (xyz) 4 byte - DWORD - Entry Type 4 byte - DWORD - Data Size
Entry Type defines the type of the 2dfx entry, and Data Size the number of bytes that follow the first 20, until the next entry starts.
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
The PED-Section consists is 56 bytes. It`s used for spawning PEDs (Like on ticketbooth, Windows of shops, Blackjack-tables,...) It includes information about the PED Animation, it`s facing angle and it`s behaviour.
4b - INT32 - Type (1 - Stitting, 5 - Standing...) 8b - BYTE[8]? - Неизвестно 16b - FLOAT[4] - Поворот (XYZW) 12b - BYTE[12]?- ID пешехода? 8b - CHAR[8] - Анимация пешехода 4b - INT32 - PED-Existing-Probability 4b - INT32 - Неизвестно (всегда ноль)
Поворот используется в виде кватерниона, как и у объектов в [[IPL} файлах.
For the PED-Animations there are entries like PEDSLOT or TICKET. If the PED just stand/sit/lay/... there Animation is set to 'none'
Type 6 - Неизвестно
This may crash the game! Its used in barrio3b_lae.dff, which is never used ingame.
Maybe it can also be for robbery-missions or related to SCM in another way or maybe its even unused and garbage from the development stage of San Andreas.
Its structure is something like this:
4b - INT32 - Unknown (always 0 ?) 8b - FLOAT[2] - Unknown (always 2 ?) 4b - INT32 - Unknown (always 0 ?) 8b - FLOAT[2] - Unknown (always 1 ?) 4b - INT32 - Unknown (always 0 ?) 4b - BYTE[4] - Unknown 8b - CHAR[8] - Unknown Name of ENEX teleporter)? 4b - BYTE[4] - Unknown (RBGA Color of teleporter)?
Type 7 - Street Signs
This type defines the texts that appear on street signs and has a size of 88 bytes.
8b - FLOAT[2] - scale (xy) 12b - FLOAT[3] - rotation (xyz) 2b - WORD - possibly unused 64b - CHAR[64] - sign text, 16 byte per line 2b - ? - padding
The lines can start with arrows, such as <
, ^
and >
; also _
is used instead of a whitespace.
Type 8 - Slotmachine-wheels
This is for Slotmachines.
4b - Int32 - Wheelindex
Every wheel in the slotmachine has an index, increments by 1 and starrting with 1. The position of the index is the position of the wheel in the Slotmachine. Maybe it can be controlled using SCM.
Type 9
Size is 12 bytes, used quite often and in large ammounts per file.
Type 10 - Escalators
This type defines escalators and has a size of 40 bytes.
12b - FLOAT[3] - bottom of escalator (xyz) 12b - FLOAT[3] - top of escalator (xyz) 12b - FLOAT[3] - escalator end (Z pos, matches top Z if escalator goes up, bottom Z if it goes down) 4b - DWORD - direction 0/1 (down/up)
The normal position info of the header gets the same function of th estart-position in opposite to the end-position. Positions seem to be roundet to *.5 or *.0 by the game, so it doesnt make many sense to create escalators with the value of *.3 or *.7. This got the effect that a Escalator looks like in the picture (Example: vgseesc01.dff). Legend to the picture:
- Escalator_Standart_Position - Positioninfo from the header
- Escalator_Bottom - Bottominfo from the section
- Escalator_Top - Topinfo from the section
- Escalator_End - Endinfo from the section