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

Материал из GTAModding.ru
Перейти к: навигация, поиск
 
(не показаны 29 промежуточных версий 3 участников)
Строка 2: Строка 2:
 
==Формат файла==
 
==Формат файла==
  
Любой WPL файл начинается с заголовка размером 68 байт. Каждый параметр отвечает за количество блоков в соответствующей секции. В большинстве секций находятся блоки с данными о расположении объекта.
+
Любой WPL файл начинается с заголовка размером 68 байт. Каждый параметр отвечает за количество блоков в соответствующей секции. В большинстве секций находятся блоки с данными о расположении объектов.
  
 
  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)  - Stream (только в файлах *_stream*.wpl)
+
  4b - UINT32  - (секция 3)  - cars (только в файлах *_stream*.wpl)
  4b - UINT32  - (секция 4)  - Unknown
+
  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) - Unknown
+
  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  - Unknown
+
  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: нижний левый передний угол
Строка 63: Строка 63:
 
;X2, Y2, Z2: верхний левый задний
 
;X2, Y2, Z2: верхний левый задний
 
;DoorType: тип дверей
 
;DoorType: тип дверей
;GarageType: тип гаража (1=гараж с дверью, 2=pay n spray, 5=место парковки)
+
;GarageType: тип гаража (1=гараж с дверью, 2=pay'n'spray, 5=место парковки)
;hash: предположительно хеш названия гаража из gtx-файла
+
;GarageName: идентификатор из [[GXT_(GTA_4)|GXT файла]]
  
+
===cars===
===Секция 3 - CARS?===
+
Используется только в (*_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   - Unknown
+
  4b - float   - Rotation
  4b - FLOAT   - Unknown
+
  4b - float   - Rotation
  4b - INT32  - Unknown
+
  4b - UINT32  - Model name hash
  4b - INT32   - Unknown
+
  4b - int32   - Car color 1
  4b - INT32   - Unknown
+
  4b - int32   - Car color 2
  4b - INT32   - Unknown
+
  4b - int32   - Car color 3
  4b - INT32   - Unknown
+
  4b - int32   - Specular color
  4b - INT32  - Unknown
+
  4b - UINT32  - Flags
  4b - INT32   - Unknown
+
  4b - int32   - Alarm
  4b - INT32   - Unknown
+
  4b - int32   - Unknown
 +
 
 +
;X, Y, Z: Координаты расположения.
 +
;Rotation: Поворот автомобиля
 +
;Model name hash: Хеш имени модели.
 +
;Car color 1-3: Параметр задаёт цвета автомобилю
 +
;Specular Color: Цвет спекуляра
 +
;Flags: Флаги
 +
;Alarm: Сигнализация
 +
 
 +
===tcyc===
 +
 
 +
Секция управляет некоторыми изменениями в графическом плане, или эффектами. Имена берутся из файлов timecycmodifiers№.dat.
  
===Секция 4 - CULL (для открытых интерьеров?)===
 
 
 
  Размер: 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  - Unknown
+
  4b - UINT32  - Unknown1
  4b - UINT32  - Unknown
+
  4b - UINT32  - Unknown2
  4b - UINT32  - Unknown
+
  4b - UINT32  - Unknown3
  4b - UINT32  - Unknown
+
  4b - UINT32  - Unknown4
  4b - UINT32  - hash?
+
  4b - UINT32  - Hash
  
 
;X1, Y1, Z1: нижний левый передний угол
 
;X1, Y1, Z1: нижний левый передний угол
;X2, Y2, Z2: верхний левый задний
+
;X2, Y2, Z2: верхний правый задний угол
 +
;Hash - Хэш имени бокса.
  
===Секция 8 - Unknown===
+
===mlop===
 +
Используется только в (*_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===
 +
Присутствие секции 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  
Строка 142: Строка 157:
 
  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: нижний левый передний угол
;X2, Y2, Z2: верхний левый задний
+
;X2, Y2, Z2: верхний правый задний
 
;hash[i]: хеш имени модели modelname[i]
 
;hash[i]: хеш имени модели modelname[i]
;modelname[i]: имя модели, которое соответствует хешу hash[i]
+
;modelname[i]: имя модели, которое соответствует хешу hash[i]
  
===Секция 10 - Unknown===
+
===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 - Unknown===
+
===blok===
+
Секция "blok" использовалась разработчиками для указания различных заметок на карте игры. Секция игнорируется игрой.
 +
 
 
  Размер: 132 байт
 
  Размер: 132 байт
 +
4b  - UINT32    - Zone
 +
92b - char      - Author | Time
 
  4b  - UINT32    - Unknown
 
  4b  - UINT32    - Unknown
92b - Char      - Unknownstring
+
  4b  - float     - X1
  4b  - UINT32    - Unknown
+
  4b  - float     - Y1
4b  - FLOAT     - X1
+
  4b  - float     - X2
  4b  - FLOAT     - Y1
+
  4b  - float     - Y2
  4b  - FLOAT     - X1
+
  4b  - float     - X3
  4b  - FLOAT     - Y2
+
  4b  - float     - Y3
  4b  - FLOAT     - X3
+
  4b  - float     - X4
  4b  - FLOAT     - Y3
+
  4b  - float     - Y4
  4b  - FLOAT     - X4
+
  4b  - FLOAT     - Y4
+
  
;Unknownstring: совсем не понятная строка
+
;Zone: имя зоны
;X1,Y1,X2,Y2,X3,Y3,X4,Y4: задают какую-то проскость
+
;Author | Time: Здесь указывается автор и время
 +
;X1, Y1, X2, Y2, X3, Y3, X4, Y4: плоскость
  
 
==Ссылки==
 
==Ссылки==
Строка 194: Строка 211:
  
 
[[Категория:Форматы файлов]][[Категория:GTA 4]]
 
[[Категория:Форматы файлов]][[Категория:GTA 4]]
 +
{{GTA4-navi}}
 +
[[Category:Форматы файлов]]

Текущая версия на 13:19, 8 мая 2013

Файлы 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

Секция управляет некоторыми изменениями в графическом плане, или эффектами. Имена берутся из файлов timecycmodifiers№.dat.

Размер: 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

Секция "blok" использовалась разработчиками для указания различных заметок на карте игры. Секция игнорируется игрой.

Размер: 132 байт
4b  - UINT32    - Zone
92b - char      - Author | Time
4b  - UINT32    - Unknown
4b  - float     - X1
4b  - float     - Y1
4b  - float     - X2
4b  - float     - Y2
4b  - float     - X3
4b  - float     - Y3
4b  - float     - X4
4b  - float     - Y4
Zone
имя зоны
Author | Time
Здесь указывается автор и время
X1, Y1, X2, Y2, X3, Y3, X4, Y4
плоскость

Ссылки

Топик на GTAForums

п · о · р
GTA 4 Grand Theft Auto IV
Форматы файлов.dat.gxt.ide.img.ipl.nod.sco.rpf.rrr.wdd.wdr.wft.wbd/wbn.whm.wad.wnv.wpl.wtd
Документация Handling.datgta.datОружиеКатсценыПутиСкриптовые функцииШифрованиеФормат CFG файла настроек
Скриптинг в GTA 4
ИнструментыAPE IVASI LoaderIV NeedleGIMSOpenIVPathViewerSparkIVXLiveLessRaCon
Скриптовые программыAliceC++ Script HookScocl.NET Script HookDelphi Hook
ТуториалыИмпортирование текстур с помощью OpenIVИмпортирование текстур с помощью SparkIV
МодификацииGTA Vice City RageIV:SAGostown Paradise IV