WPL

Материал из GTAModding.ru
Перейти к: навигация, поиск

Файлы Windows PLacement выполняют такую же роль, как и файлы IPL из предыдущих частей.

Содержание

Формат файла

Любой WPL файл начинается с заголовка размером 68 байт. Каждый параметр отвечает за количество блоков в соответствующей секции. В большинстве секций находятся блоки с данными о расположении объектов.

4b - UINT32   - (Версия)    - Всегда равна "3"
4b - UINT32   - (секция 0)  - Instances
4b - UINT32   - (секция 1)  - Unused
4b - UINT32   - (секция 2)  - Garage
4b - UINT32   - (секция 3)  - Stream (только в файлах *_stream*.wpl)
4b - UINT32   - (секция 4)  - Unknown
4b - UINT32   - (секция 5)  - Unused
4b - UINT32   - (секция 6)  - Unused
4b - UINT32   - (секция 7)  - Unused
4b - UINT32   - (секция 8)  - Strbig (только в файлах *_strbig*.wpl)
4b - UINT32   - (секция 9)  - LODcull (только в файлах lodcull_*.wpl)
4b - UINT32   - (секция 10) - Unknown
4b - UINT32   - (секция 11) - Unused
4b - UINT32   - (секция 12) - Unused
4b - UINT32   - (секция 13) - Unused
4b - UINT32   - (секция 14) - Unused
4b - UINT32   - (секция 15) - Blok

Секция 0 - INST

Информация размещения объектов соответствует секции instance .ipl файлов. Здесь схожая структура как у бинарных IPL файлов (введенные с San Andreas).

Размер: 48 байт
4b - FLOAT   - Позиция X
4b - FLOAT   - Позиция Y
4b - FLOAT   - Позиция Z
4b - FLOAT   - Вращение X
4b - FLOAT   - Вращение Y
4b - FLOAT   - Вращение Z
4b - FLOAT   - Вращение W
4b - UINT32  - хеш названия модели
4b - UINT32  - Unknown
4b - INT32   - LOD-Индекс
4b - UINT32  - Unknown
4b - INT32   - Unknown

Информация вращения в виде кватерниона

Секция 2 - Garage

Размер: 48 байт
4b - FLOAT   - X1
4b - FLOAT   - Y1
4b - FLOAT   - Z1
4b - FLOAT   - frontX
4b - FLOAT   - frontY
4b - FLOAT   - X2
4b - FLOAT   - Y2
4b - FLOAT   - Z2
4b - UINT32  - DoorType
4b - UINT32  - GarageType
4b - UINT32  - hash
4b - UINT32  - Unknown
X1, Y1, Z1
нижний левый передний угол
frontX, frontY
нижний правый передний угол
X2, Y2, Z2
верхний левый задний
DoorType
тип дверей
GarageType
тип гаража (1=гараж с дверью, 2=pay'n'spray, 5=место парковки)
hash
предположительно хеш названия гаража из gxt-файла

Секция 3 - Parked Cars

Используется только в (*_stream*.wpl) файлах.

Размер: 56 байт
4b - FLOAT   - X
4b - FLOAT   - Y
4b - FLOAT   - Z
4b - FLOAT   - Unknown
4b - FLOAT   - Unknown
4b - FLOAT   - Unknown
4b - UINT32 - Model name hash
4b - INT32   - Unknown
4b - INT32   - Unknown
4b - INT32   - Unknown
4b - INT32   - Unknown
4b - INT32   - Unknown
4b - INT32   - Unknown
4b - INT32   - Unknown
X,Y,Z
Координаты расположения.
Model name hash
Хеш имени модели.

Секция 4 - CULL (для открытых интерьеров?)

Размер: 44 байт
4b - FLOAT   - X1
4b - FLOAT   - Y1
4b - FLOAT   - Z1
4b - FLOAT   - X2
4b - FLOAT   - Y2
4b - FLOAT   - Z2
4b - UINT32  - Unknown
4b - UINT32  - Unknown
4b - UINT32  - Unknown
4b - UINT32  - Unknown
4b - UINT32  - hash?
X1, Y1, Z1
нижний левый передний угол
X2, Y2, Z2
верхний правый задний

Секция 8 - Unknown

Используется только в (*_strbig*.wpl) файлах.

Размер: 64 байт
24b - Char    - modelname
4b  - UINT32  - Unknown
4b  - UINT32  - Unknown
4b  - UINT32  - Unknown
4b  - FLOAT   - Pos X
4b  - FLOAT   - Pos Y
4b  - FLOAT   - Pos Z
4b  - FLOAT   - Rot X
4b  - FLOAT   - Rot Y
4b  - FLOAT   - Rot Z
4b  - FLOAT   - Rot W
modelname
название модели
Pos X, Pos Y, Pos Z
координаты объекта
Rot X, Rot Y, Rot Z,Rot W
вращение объекта (в виде кватерниона)

Секция 9 - LODcull

Присутствие секции LODCull наблюдается файлах, имена которых начинаются с "lodcull_**.wpl" (см. папку pc\data\maps\generic)

Размер: 388 байт
4b  - FLOAT   - X1
4b  - FLOAT   - Y1
4b  - FLOAT   - Z1
4b  - FLOAT   - X2
4b  - FLOAT   - Y2
4b  - FLOAT   - Z2
4b  - UINT32  - Unknown
4b  - UINT32  - hash1 
4b  - UINT32  - hash2
4b  - UINT32  - hash3
4b  - UINT32  - hash4
4b  - UINT32  - hash5
4b  - UINT32  - hash6
4b  - UINT32  - hash7
4b  - UINT32  - hash8
4b  - UINT32  - hash9
4b  - UINT32  - hash10
32b - Char    - modelname1
32b - Char    - modelname2
32b - Char    - modelname3
32b - Char    - modelname4
32b - Char    - modelname5
32b - Char    - modelname6
32b - Char    - modelname7
32b - Char    - modelname8
32b - Char    - modelname9
32b - Char    - modelname10
X1, Y1, Z1
нижний левый передний угол
X2, Y2, Z2
верхний правый задний
hash[i]
хеш имени модели modelname[i]
modelname[i]
имя модели, которое соответствует хешу hash[i]

Секция 10 - Unknown(Zone or Cull?)

Размер: 24 байт
4b - FLOAT     - X1
4b - FLOAT     - Y1
4b - FLOAT     - Z1
4b - FLOAT     - X2
4b - FLOAT     - Y2
4b - FLOAT     - Z2
X1, Y1, Z1
нижний левый передний угол
X2, Y2, Z2
верхний левый задний

Секция 15 - Blok

Размер: 132 байт
4b  - UINT32    - Unknown
92b - Char      - Unknownstring
4b  - UINT32    - Unknown(Flag?)
4b  - FLOAT     - X1
4b  - FLOAT     - Y1
4b  - FLOAT     - X1
4b  - FLOAT     - Y2
4b  - FLOAT     - X3
4b  - FLOAT     - Y3
4b  - FLOAT     - X4
4b  - FLOAT     - Y4
Unknownstring
совсем непонятная строка
X1,Y1,X2,Y2,X3,Y3,X4,Y4
задаёт плоскость.

Ссылки

Топик на GTAForums