2DFX (Секция RW)

Материал из GTAModding.ru
Версия от 11:51, 19 февраля 2012; Solom (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
GlobeLang.png Эта статья требует полного или частичного перевода.
Часть этой статьи написана на иностранном языке. Если вы знаете его, пожалуйста, помогите с ее переводом на русский язык.
Секция 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