WPL — различия между версиями
Материал из GTAModding.ru
Chipsman (обсуждение | вклад) |
|||
(не показаны 29 промежуточных версий 3 участников) | |||
Строка 2: | Строка 2: | ||
==Формат файла== | ==Формат файла== | ||
− | Любой WPL файл начинается с заголовка размером 68 байт. Каждый параметр отвечает за количество блоков в соответствующей секции. В большинстве секций находятся блоки с данными о расположении | + | Любой WPL файл начинается с заголовка размером 68 байт. Каждый параметр отвечает за количество блоков в соответствующей секции. В большинстве секций находятся блоки с данными о расположении объектов. |
4b - UINT32 - (Версия) - Всегда равна "3" | 4b - UINT32 - (Версия) - Всегда равна "3" | ||
− | 4b - UINT32 - (секция 0) - | + | 4b - UINT32 - (секция 0) - inst |
− | 4b - UINT32 - (секция 1) - | + | 4b - UINT32 - (секция 1) - 0 (unused) |
− | 4b - UINT32 - (секция 2) - | + | 4b - UINT32 - (секция 2) - grge |
− | 4b - UINT32 - (секция 3) - | + | 4b - UINT32 - (секция 3) - cars (только в файлах *_stream*.wpl) |
− | 4b - UINT32 - (секция 4) - | + | 4b - UINT32 - (секция 4) - tcyc |
− | 4b - UINT32 - (секция 5) - | + | 4b - UINT32 - (секция 5) - 0 (unused) |
− | 4b - UINT32 - (секция 6) - | + | 4b - UINT32 - (секция 6) - 0 (unused) |
− | 4b - UINT32 - (секция 7) - | + | 4b - UINT32 - (секция 7) - 0 (unused) |
− | 4b - UINT32 - (секция 8) - | + | 4b - UINT32 - (секция 8) - mlop (только в файлах *_strbig*.wpl) |
− | 4b - UINT32 - (секция 9) - | + | 4b - UINT32 - (секция 9) - lodm (только в файлах lodcull_*.wpl) |
− | 4b - UINT32 - (секция 10) - | + | 4b - UINT32 - (секция 10) - slow |
− | 4b - UINT32 - (секция 11) - | + | 4b - UINT32 - (секция 11) - 0 (unused) |
− | 4b - UINT32 - (секция 12) - | + | 4b - UINT32 - (секция 12) - 0 (unused) |
− | 4b - UINT32 - (секция 13) - | + | 4b - UINT32 - (секция 13) - 0 (unused) |
− | 4b - UINT32 - (секция 14) - | + | 4b - UINT32 - (секция 14) - 0 (unused) |
− | 4b - UINT32 - (секция 15) - | + | 4b - UINT32 - (секция 15) - blok |
+ | Примечание: порядок секций в файле немного отличается от порядка в заголовке, записи из секции 15 (если они есть) идут следующими за секцией 4. | ||
− | === | + | ===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 - | + | 4b - float - Позиция X |
− | 4b - | + | 4b - float - Позиция Y |
− | 4b - | + | 4b - float - Позиция Z |
− | 4b - | + | 4b - float - Вращение X |
− | 4b - | + | 4b - float - Вращение Y |
− | 4b - | + | 4b - float - Вращение Z |
− | 4b - | + | 4b - float - Вращение W |
− | 4b - UINT32 - | + | 4b - UINT32 - Хеш названия модели |
− | 4b - UINT32 - | + | 4b - UINT32 - Flags |
− | 4b - INT32 - [[LOD]]-Индекс | + | 4b - INT32 - [[LOD]]-Индекс |
− | + | ||
4b - INT32 - Unknown | 4b - INT32 - Unknown | ||
+ | 4b - float - Unknown | ||
''Информация вращения в виде [[Wikipedia:Quarternion|кватерниона]]'' | ''Информация вращения в виде [[Wikipedia:Quarternion|кватерниона]]'' | ||
− | === | + | ===grge=== |
Размер: 48 байт | Размер: 48 байт | ||
− | 4b - | + | 4b - float - X1 |
− | 4b - | + | 4b - float - Y1 |
− | 4b - | + | 4b - float - Z1 |
− | 4b - | + | 4b - float - frontX |
− | 4b - | + | 4b - float - frontY |
− | 4b - | + | 4b - float - X2 |
− | 4b - | + | 4b - float - Y2 |
− | 4b - | + | 4b - float - Z2 |
4b - UINT32 - DoorType | 4b - UINT32 - DoorType | ||
4b - UINT32 - GarageType | 4b - UINT32 - GarageType | ||
− | + | 8b - char - GarageName | |
− | + | ||
;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=место парковки) |
− | ; | + | ;GarageName: идентификатор из [[GXT_(GTA_4)|GXT файла]] |
− | + | ===cars=== | |
− | === | + | Используется только в (*_stream*.wpl) файлах. |
Размер: 56 байт | Размер: 56 байт | ||
− | 4b - | + | 4b - float - X |
− | 4b - | + | 4b - float - Y |
− | 4b - | + | 4b - float - Z |
− | 4b - | + | 4b - float - Unknown |
− | 4b - | + | 4b - float - Rotation |
− | 4b - | + | 4b - float - Rotation |
− | 4b - | + | 4b - UINT32 - Model name hash |
− | 4b - | + | 4b - int32 - Car color 1 |
− | 4b - | + | 4b - int32 - Car color 2 |
− | 4b - | + | 4b - int32 - Car color 3 |
− | 4b - | + | 4b - int32 - Specular color |
− | 4b - | + | 4b - UINT32 - Flags |
− | 4b - | + | 4b - int32 - Alarm |
− | 4b - | + | 4b - int32 - Unknown |
+ | |||
+ | ;X, Y, Z: Координаты расположения. | ||
+ | ;Rotation: Поворот автомобиля | ||
+ | ;Model name hash: Хеш имени модели. | ||
+ | ;Car color 1-3: Параметр задаёт цвета автомобилю | ||
+ | ;Specular Color: Цвет спекуляра | ||
+ | ;Flags: Флаги | ||
+ | ;Alarm: Сигнализация | ||
+ | |||
+ | ===tcyc=== | ||
+ | |||
+ | Секция управляет некоторыми изменениями в графическом плане, или эффектами. Имена берутся из файлов timecycmodifiers№.dat. | ||
− | |||
− | |||
Размер: 44 байт | Размер: 44 байт | ||
− | 4b - | + | 4b - float - X1 |
− | 4b - | + | 4b - float - Y1 |
− | 4b - | + | 4b - float - Z1 |
− | 4b - | + | 4b - float - X2 |
− | 4b - | + | 4b - float - Y2 |
− | 4b - | + | 4b - float - Z2 |
− | 4b - UINT32 - | + | 4b - UINT32 - Unknown1 |
− | 4b - UINT32 - | + | 4b - UINT32 - Unknown2 |
− | 4b - UINT32 - | + | 4b - UINT32 - Unknown3 |
− | 4b - UINT32 - | + | 4b - UINT32 - Unknown4 |
− | 4b - UINT32 - | + | 4b - UINT32 - Hash |
;X1, Y1, Z1: нижний левый передний угол | ;X1, Y1, Z1: нижний левый передний угол | ||
− | ;X2, Y2, Z2: верхний | + | ;X2, Y2, Z2: верхний правый задний угол |
+ | ;Hash - Хэш имени бокса. | ||
− | === | + | ===mlop=== |
+ | Используется только в (*_strbig*.wpl) файлах. | ||
+ | |||
+ | Через эту секцию, разработчики расставляли двери к домам, а также некоторые вывески в метро и др. | ||
Размер: 64 байт | Размер: 64 байт | ||
− | 24b - | + | 24b - char - modelname |
− | 4b - UINT32 - | + | 4b - UINT32 - flags |
− | 4b - UINT32 - | + | 4b - UINT32 - interior index // interior inst index |
4b - UINT32 - Unknown | 4b - UINT32 - Unknown | ||
− | 4b - | + | 4b - float - Pos X |
− | 4b - | + | 4b - float - Pos Y |
− | 4b - | + | 4b - float - Pos Z |
− | 4b - | + | 4b - float - Rot X |
− | 4b - | + | 4b - float - Rot Y |
− | 4b - | + | 4b - float - Rot Z |
− | 4b - | + | 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: | + | ;Rot X, Rot Y, Rot Z, Rot W: вращение объекта (в виде [[Wikipedia:Quarternion|кватерниона]]) |
− | + | ||
− | + | ||
+ | ===lodm=== | ||
+ | Присутствие секции lodm наблюдается файлах, имена которых начинаются с "lodcull_**.wpl" (см. папку pc\data\maps\generic) | ||
+ | |||
Размер: 388 байт | Размер: 388 байт | ||
− | 4b - | + | 4b - float - X1 |
− | 4b - | + | 4b - float - Y1 |
− | 4b - | + | 4b - float - Z1 |
− | 4b - | + | 4b - float - X2 |
− | 4b - | + | 4b - float - Y2 |
− | 4b - | + | 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 - | + | 32b - char - modelname1 |
− | 32b - | + | 32b - char - modelname2 |
− | 32b - | + | 32b - char - modelname3 |
− | 32b - | + | 32b - char - modelname4 |
− | 32b - | + | 32b - char - modelname5 |
− | 32b - | + | 32b - char - modelname6 |
− | 32b - | + | 32b - char - modelname7 |
− | 32b - | + | 32b - char - modelname8 |
− | 32b - | + | 32b - char - modelname9 |
− | 32b - | + | 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] |
− | === | + | ===slow=== |
Размер: 24 байт | Размер: 24 байт | ||
− | 4b - | + | 4b - float - X1 |
− | 4b - | + | 4b - float - Y1 |
− | 4b - | + | 4b - float - Z1 |
− | 4b - | + | 4b - float - X2 |
− | 4b - | + | 4b - float - Y2 |
− | 4b - | + | 4b - float - Z2 |
;X1, Y1, Z1: нижний левый передний угол | ;X1, Y1, Z1: нижний левый передний угол | ||
;X2, Y2, Z2: верхний левый задний | ;X2, Y2, Z2: верхний левый задний | ||
− | === | + | ===blok=== |
− | + | Секция "blok" использовалась разработчиками для указания различных заметок на карте игры. Секция игнорируется игрой. | |
+ | |||
Размер: 132 байт | Размер: 132 байт | ||
+ | 4b - UINT32 - Zone | ||
+ | 92b - char - Author | Time | ||
4b - UINT32 - Unknown | 4b - UINT32 - Unknown | ||
− | + | 4b - float - X1 | |
− | 4b - | + | 4b - float - Y1 |
− | + | 4b - float - X2 | |
− | 4b - | + | 4b - float - Y2 |
− | 4b - | + | 4b - float - X3 |
− | 4b - | + | 4b - float - Y3 |
− | 4b - | + | 4b - float - X4 |
− | 4b - | + | 4b - float - Y4 |
− | 4b - | + | |
− | 4b - | + | |
− | ; | + | ;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
- плоскость