WPL — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
(Секция 0 - INST)
Строка 5: Строка 5:
  
 
  4b - UINT32  - (Версия)    - Всегда равна "3"
 
  4b - UINT32  - (Версия)    - Всегда равна "3"
  4b - UINT32  - (секция 0)  - Instances
+
  4b - UINT32  - (секция 0)  - inst
  4b - UINT32  - (секция 1)  - Unused
+
  4b - UINT32  - (секция 1)  - 0 (unused)
  4b - UINT32  - (секция 2)  - Garage
+
  4b - UINT32  - (секция 2)  - grge
  4b - UINT32  - (секция 3)  - Parked Cars (только в файлах *_stream*.wpl)
+
  4b - UINT32  - (секция 3)  - cars (только в файлах *_stream*.wpl)
  4b - UINT32  - (секция 4)  - Tcyc
+
  4b - UINT32  - (секция 4)  - tcyc
  4b - UINT32  - (секция 5)  - Unused
+
  4b - UINT32  - (секция 5)  - 0 (unused)
  4b - UINT32  - (секция 6)  - Unused
+
  4b - UINT32  - (секция 6)  - 0 (unused)
  4b - UINT32  - (секция 7)  - Unused
+
  4b - UINT32  - (секция 7)  - 0 (unused)
  4b - UINT32  - (секция 8)  - Strbig (только в файлах *_strbig*.wpl)
+
  4b - UINT32  - (секция 8)  - mlop (только в файлах *_strbig*.wpl)
  4b - UINT32  - (секция 9)  - LODcull (только в файлах lodcull_*.wpl)
+
  4b - UINT32  - (секция 9)  - lodm (только в файлах lodcull_*.wpl)
  4b - UINT32  - (секция 10) - Unknown
+
  4b - UINT32  - (секция 10) - slow
  4b - UINT32  - (секция 11) - Unused
+
  4b - UINT32  - (секция 11) - 0 (unused)
  4b - UINT32  - (секция 12) - Unused
+
  4b - UINT32  - (секция 12) - 0 (unused)
  4b - UINT32  - (секция 13) - Unused
+
  4b - UINT32  - (секция 13) - 0 (unused)
  4b - UINT32  - (секция 14) - Unused
+
  4b - UINT32  - (секция 14) - 0 (unused)
  4b - UINT32  - (секция 15) - Blok
+
  4b - UINT32  - (секция 15) - blok
 
   
 
   
 +
Примечание: порядок секций в файле немного отличается он порядка в заголовке, записи из секции 15 (если они есть) идут следующими за секцией 4.
  
===Секция 0 - INST===
+
===inst===
  
 
Информация размещения объектов соответствует секции [[IPL#INST|instance]] <code>.ipl</code> файлов. Здесь схожая структура как у [[Бинарные_IPL|бинарных IPL]] файлов (введенные с [[:Категория:GTA_SA|San Andreas]]).  
 
Информация размещения объектов соответствует секции [[IPL#INST|instance]] <code>.ipl</code> файлов. Здесь схожая структура как у [[Бинарные_IPL|бинарных IPL]] файлов (введенные с [[:Категория:GTA_SA|San Andreas]]).  
  
 
  Размер: 48 байт
 
  Размер: 48 байт
  4b - FLOAT   - Позиция X
+
  4b - float   - Позиция X
  4b - FLOAT   - Позиция Y
+
  4b - float   - Позиция Y
  4b - FLOAT   - Позиция Z
+
  4b - float   - Позиция Z
  4b - FLOAT   - Вращение X
+
  4b - float   - Вращение X
  4b - FLOAT   - Вращение Y
+
  4b - float   - Вращение Y
  4b - FLOAT   - Вращение Z
+
  4b - float   - Вращение Z
  4b - FLOAT   - Вращение W
+
  4b - float   - Вращение W
 
  4b - UINT32  - Хеш названия модели
 
  4b - UINT32  - Хеш названия модели
 
  4b - UINT32  - Flags
 
  4b - UINT32  - Flags
 
  4b - INT32  - [[LOD]]-Индекс
 
  4b - INT32  - [[LOD]]-Индекс
4b - UINT32  - Unknown
 
 
  4b - INT32  - Unknown
 
  4b - INT32  - Unknown
 +
4b - float  - Unknown
  
 
''Информация вращения в виде [[Wikipedia:Quarternion|кватерниона]]''
 
''Информация вращения в виде [[Wikipedia:Quarternion|кватерниона]]''
  
===Секция 2 - Garage===
+
===grge===
 
   
 
   
 
  Размер: 48 байт
 
  Размер: 48 байт
  4b - FLOAT   - X1
+
  4b - float   - X1
  4b - FLOAT   - Y1
+
  4b - float   - Y1
  4b - FLOAT   - Z1
+
  4b - float   - Z1
  4b - FLOAT   - frontX
+
  4b - float   - frontX
  4b - FLOAT   - frontY
+
  4b - float   - frontY
  4b - FLOAT   - X2
+
  4b - float   - X2
  4b - FLOAT   - Y2
+
  4b - float   - Y2
  4b - FLOAT   - Z2
+
  4b - float   - Z2
 
  4b - UINT32  - DoorType
 
  4b - UINT32  - DoorType
 
  4b - UINT32  - GarageType
 
  4b - UINT32  - GarageType
  4b - UINT32  - hash
+
  8b - char    - GarageName
4b - UINT32  - Unknown
+
  
 
;X1, Y1, Z1: нижний левый передний угол
 
;X1, Y1, Z1: нижний левый передний угол
Строка 64: Строка 64:
 
;DoorType: тип дверей
 
;DoorType: тип дверей
 
;GarageType: тип гаража (1=гараж с дверью, 2=pay'n'spray, 5=место парковки)
 
;GarageType: тип гаража (1=гараж с дверью, 2=pay'n'spray, 5=место парковки)
;hash: предположительно хеш названия гаража из gxt-файла
+
;GarageName: идентификатор из [[GXT_(GTA_4)|GXT файла]]
  
===Секция 3 - Parked Cars===
+
===cars===
 
Используется только в (*_stream*.wpl) файлах.
 
Используется только в (*_stream*.wpl) файлах.
  
 
  Размер: 56 байт
 
  Размер: 56 байт
  4b - FLOAT   - X
+
  4b - float   - X
  4b - FLOAT   - Y
+
  4b - float   - Y
  4b - FLOAT   - Z
+
  4b - float   - Z
  4b - FLOAT   - Unknown
+
  4b - float   - Unknown
  4b - FLOAT   - Rotation
+
  4b - float   - Rotation
  4b - FLOAT   - Rotation
+
  4b - float   - Rotation
  4b - UINT32 - Model name hash
+
  4b - UINT32 - Model name hash
  4b - INT32   - Car color 1
+
  4b - int32   - Car color 1
  4b - INT32   - Car color 2
+
  4b - int32   - Car color 2
  4b - INT32   - Car color 3
+
  4b - int32   - Car color 3
  4b - INT32   - Specular color
+
  4b - int32   - Specular color
  4b - INT32  - Flags
+
  4b - UINT32  - Flags
  4b - INT32   - Alarm
+
  4b - int32   - Alarm
  4b - INT32   - Unknown
+
  4b - int32   - Unknown
  
;X,Y,Z: Координаты расположения.
+
;X, Y, Z: Координаты расположения.
 
;Rotation: Поворот автомобиля
 
;Rotation: Поворот автомобиля
 
;Model name hash: Хеш имени модели.
 
;Model name hash: Хеш имени модели.
Строка 93: Строка 93:
 
;Alarm: Сигнализация
 
;Alarm: Сигнализация
  
===Секция 4 - TCYC ===
+
===tcyc===
  
 
Секция управляет свойствами зоны.
 
Секция управляет свойствами зоны.
  
 
  Размер: 44 байт
 
  Размер: 44 байт
  4b - FLOAT   - X1
+
  4b - float   - X1
  4b - FLOAT   - Y1
+
  4b - float   - Y1
  4b - FLOAT   - Z1
+
  4b - float   - Z1
  4b - FLOAT   - X2
+
  4b - float   - X2
  4b - FLOAT   - Y2
+
  4b - float   - Y2
  4b - FLOAT   - Z2
+
  4b - float   - Z2
 
  4b - UINT32  - Unknown1
 
  4b - UINT32  - Unknown1
 
  4b - UINT32  - Unknown2
 
  4b - UINT32  - Unknown2
Строка 114: Строка 114:
 
;Hash - Хэш имени бокса.
 
;Hash - Хэш имени бокса.
  
===Секция 8 - Unknown===
+
===mlop===
 
Используется только в (*_strbig*.wpl) файлах.
 
Используется только в (*_strbig*.wpl) файлах.
  
 
  Размер: 64 байт
 
  Размер: 64 байт
  24b - Char   - modelname
+
  24b - char   - modelname
  4b  - UINT32  - Unknown
+
  4b  - UINT32  - flags
  4b  - UINT32  - Unknown
+
  4b  - UINT32  - interior index // interior inst index
 
  4b  - UINT32  - Unknown
 
  4b  - UINT32  - Unknown
  4b  - FLOAT   - Pos X
+
  4b  - float   - Pos X
  4b  - FLOAT   - Pos Y
+
  4b  - float   - Pos Y
  4b  - FLOAT   - Pos Z
+
  4b  - float   - Pos Z
  4b  - FLOAT   - Rot X
+
  4b  - float   - Rot X
  4b  - FLOAT   - Rot Y
+
  4b  - float   - Rot Y
  4b  - FLOAT   - Rot Z
+
  4b  - float   - Rot Z
  4b  - FLOAT   - Rot W
+
  4b  - float   - Rot W
  
 
;modelname: название модели
 
;modelname: название модели
 
;Pos X, Pos Y, Pos Z: координаты объекта
 
;Pos X, Pos Y, Pos Z: координаты объекта
;Rot X, Rot Y, Rot Z,Rot W: вращение объекта (в виде [[Wikipedia:Quarternion|кватерниона]])
+
;Rot X, Rot Y, Rot Z, Rot W: вращение объекта (в виде [[Wikipedia:Quarternion|кватерниона]])
  
===Секция 9 - LODcull===
+
===lodm===
Присутствие секции LODCull наблюдается файлах, имена которых начинаются с "lodcull_**.wpl" (см. папку pc\data\maps\generic)  
+
Присутствие секции lodm наблюдается файлах, имена которых начинаются с "lodcull_**.wpl" (см. папку pc\data\maps\generic)  
 
   
 
   
 
  Размер: 388 байт
 
  Размер: 388 байт
  4b  - FLOAT   - X1
+
  4b  - float   - X1
  4b  - FLOAT   - Y1
+
  4b  - float   - Y1
  4b  - FLOAT   - Z1
+
  4b  - float   - Z1
  4b  - FLOAT   - X2
+
  4b  - float   - X2
  4b  - FLOAT   - Y2
+
  4b  - float   - Y2
  4b  - FLOAT   - Z2
+
  4b  - float   - Z2
 
  4b  - UINT32  - Unknown
 
  4b  - UINT32  - Unknown
 
  4b  - UINT32  - hash1  
 
  4b  - UINT32  - hash1  
Строка 155: Строка 155:
 
  4b  - UINT32  - hash9
 
  4b  - UINT32  - hash9
 
  4b  - UINT32  - hash10
 
  4b  - UINT32  - hash10
  32b - Char   - modelname1
+
  32b - char   - modelname1
  32b - Char   - modelname2
+
  32b - char   - modelname2
  32b - Char   - modelname3
+
  32b - char   - modelname3
  32b - Char   - modelname4
+
  32b - char   - modelname4
  32b - Char   - modelname5
+
  32b - char   - modelname5
  32b - Char   - modelname6
+
  32b - char   - modelname6
  32b - Char   - modelname7
+
  32b - char   - modelname7
  32b - Char   - modelname8
+
  32b - char   - modelname8
  32b - Char   - modelname9
+
  32b - char   - modelname9
  32b - Char   - modelname10
+
  32b - char   - modelname10
  
 
;X1, Y1, Z1: нижний левый передний угол
 
;X1, Y1, Z1: нижний левый передний угол
Строка 171: Строка 171:
 
;modelname[i]: имя модели, которое соответствует хешу hash[i]
 
;modelname[i]: имя модели, которое соответствует хешу hash[i]
  
===Секция 10 - Unknown(Zone or Cull?)===
+
===slow===
 
   
 
   
 
  Размер: 24 байт
 
  Размер: 24 байт
  4b - FLOAT     - X1
+
  4b - float     - X1
  4b - FLOAT     - Y1
+
  4b - float     - Y1
  4b - FLOAT     - Z1
+
  4b - float     - Z1
  4b - FLOAT     - X2
+
  4b - float     - X2
  4b - FLOAT     - Y2
+
  4b - float     - Y2
  4b - FLOAT     - Z2
+
  4b - float     - Z2
  
 
;X1, Y1, Z1: нижний левый передний угол
 
;X1, Y1, Z1: нижний левый передний угол
 
;X2, Y2, Z2: верхний левый задний
 
;X2, Y2, Z2: верхний левый задний
  
===Секция 15 - Blok===
+
===blok===
 
   
 
   
 
  Размер: 132 байт
 
  Размер: 132 байт
 
  4b  - UINT32    - Unknown
 
  4b  - UINT32    - Unknown
  92b - Char     - Unknownstring
+
  92b - char     - Unknownstring
 
  4b  - UINT32    - Unknown(Flag?)
 
  4b  - UINT32    - Unknown(Flag?)
  4b  - FLOAT     - X1
+
  4b  - float     - X1
  4b  - FLOAT     - Y1
+
  4b  - float     - Y1
  4b  - FLOAT     - X2
+
  4b  - float     - X2
  4b  - FLOAT     - Y2
+
  4b  - float     - Y2
  4b  - FLOAT     - X3
+
  4b  - float     - X3
  4b  - FLOAT     - Y3
+
  4b  - float     - Y3
  4b  - FLOAT     - X4
+
  4b  - float     - X4
  4b  - FLOAT     - Y4
+
  4b  - float     - Y4
  
 
;Unknownstring: совсем непонятная строка
 
;Unknownstring: совсем непонятная строка
;X1,Y1,X2,Y2,X3,Y3,X4,Y4: задаёт плоскость.
+
;X1, Y1, X2, Y2, X3, Y3, X4, Y4: плоскость.
  
 
==Ссылки==
 
==Ссылки==

Версия 15:11, 22 января 2012

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

Содержание

Формат файла

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

4b - UINT32   - (Версия)    - Всегда равна "3"
4b - UINT32   - (секция 0)  - inst
4b - UINT32   - (секция 1)  - 0 (unused)
4b - UINT32   - (секция 2)  - grge
4b - UINT32   - (секция 3)  - cars (только в файлах *_stream*.wpl)
4b - UINT32   - (секция 4)  - tcyc 
4b - UINT32   - (секция 5)  - 0 (unused)
4b - UINT32   - (секция 6)  - 0 (unused)
4b - UINT32   - (секция 7)  - 0 (unused)
4b - UINT32   - (секция 8)  - mlop (только в файлах *_strbig*.wpl)
4b - UINT32   - (секция 9)  - lodm (только в файлах lodcull_*.wpl)
4b - UINT32   - (секция 10) - slow
4b - UINT32   - (секция 11) - 0 (unused)
4b - UINT32   - (секция 12) - 0 (unused)
4b - UINT32   - (секция 13) - 0 (unused)
4b - UINT32   - (секция 14) - 0 (unused)
4b - UINT32   - (секция 15) - blok

Примечание: порядок секций в файле немного отличается он порядка в заголовке, записи из секции 15 (если они есть) идут следующими за секцией 4.

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  - Flags
4b - INT32   - LOD-Индекс
4b - INT32   - Unknown
4b - float   - Unknown

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

grge

Размер: 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
8b - char    - GarageName
X1, Y1, Z1
нижний левый передний угол
frontX, frontY
нижний правый передний угол
X2, Y2, Z2
верхний левый задний
DoorType
тип дверей
GarageType
тип гаража (1=гараж с дверью, 2=pay'n'spray, 5=место парковки)
GarageName
идентификатор из GXT файла

cars

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

Размер: 56 байт
4b - float   - X
4b - float   - Y
4b - float   - Z
4b - float   - Unknown
4b - float   - Rotation
4b - float   - Rotation
4b - UINT32  - Model name hash
4b - int32   - Car color 1
4b - int32   - Car color 2
4b - int32   - Car color 3
4b - int32   - Specular color
4b - UINT32  - Flags
4b - int32   - Alarm
4b - int32   - Unknown
X, Y, Z
Координаты расположения.
Rotation
Поворот автомобиля
Model name hash
Хеш имени модели.
Car color 1-3
Параметр задаёт цвета автомобилю
Specular Color
Цвет спекуляра
Flags
Флаги
Alarm
Сигнализация

tcyc

Секция управляет свойствами зоны.

Размер: 44 байт
4b - float   - X1
4b - float   - Y1
4b - float   - Z1
4b - float   - X2
4b - float   - Y2
4b - float   - Z2
4b - UINT32  - Unknown1
4b - UINT32  - Unknown2
4b - UINT32  - Unknown3
4b - UINT32  - Unknown4
4b - UINT32  - Hash
X1, Y1, Z1
нижний левый передний угол
X2, Y2, Z2
верхний правый задний угол
Hash - Хэш имени бокса.

mlop

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

Размер: 64 байт
24b - char    - modelname
4b  - UINT32  - flags
4b  - UINT32  - interior index // interior inst index
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
вращение объекта (в виде кватерниона)

lodm

Присутствие секции lodm наблюдается файлах, имена которых начинаются с "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]

slow

Размер: 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
верхний левый задний

blok

Размер: 132 байт
4b  - UINT32    - Unknown
92b - char      - Unknownstring
4b  - UINT32    - Unknown(Flag?)
4b  - float     - X1
4b  - float     - Y1
4b  - float     - X2
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