WPL — различия между версиями
Материал из GTAModding.ru
Dageron (обсуждение | вклад) |
Chipsman (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | Файлы '''W'''indows '''PL'''acement выполняют такую же роль, как и файлы [[IPL]] из предыдущих частей. | + | Файлы '''W'''indows '''PL'''acement выполняют такую же роль, как и файлы [[IPL]] из предыдущих частей. |
− | + | ||
==Формат файла== | ==Формат файла== | ||
Строка 8: | Строка 7: | ||
4b - UINT32 - (секция 0) - Instances | 4b - UINT32 - (секция 0) - Instances | ||
4b - UINT32 - (секция 1) - Unused | 4b - UINT32 - (секция 1) - Unused | ||
− | 4b - UINT32 - (секция 2) - | + | 4b - UINT32 - (секция 2) - Garage |
4b - UINT32 - (секция 3) - Stream (только в файлах *_stream*.wpl) | 4b - UINT32 - (секция 3) - Stream (только в файлах *_stream*.wpl) | ||
4b - UINT32 - (секция 4) - Unknown | 4b - UINT32 - (секция 4) - Unknown | ||
Строка 24: | Строка 23: | ||
− | + | ===Секция 0 - 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 байт | ||
4b - FLOAT - Позиция X | 4b - FLOAT - Позиция X | ||
4b - FLOAT - Позиция Y | 4b - FLOAT - Позиция Y | ||
Строка 35: | Строка 35: | ||
4b - FLOAT - Вращение Z | 4b - FLOAT - Вращение Z | ||
4b - FLOAT - Вращение W | 4b - FLOAT - Вращение W | ||
− | 4b - UINT32 - | + | 4b - UINT32 - хеш названия модели |
4b - UINT32 - Unknown | 4b - UINT32 - Unknown | ||
− | 4b - | + | 4b - INT32 - [[LOD]]-Индекс (Индекс другой модели в текущем файле) |
4b - UINT32 - Unknown | 4b - UINT32 - Unknown | ||
+ | 4b - INT32 - Unknown | ||
+ | |||
+ | ''Информация вращения в виде [[Wikipedia:Quarternion|кватерниона]]'' | ||
+ | |||
+ | ===Секция 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 | 4b - UINT32 - Unknown | ||
− | + | ;X1, Y1, Z1: нижний левый передний угол | |
+ | ;frontX, frontY: нижний правый передний угол | ||
+ | ;X2, Y2, Z2: верхний левый задний | ||
+ | ;DoorType: тип дверей | ||
+ | ;GarageType: тип гаража (1=гараж с дверью, 2=pay n spray, 5=место парковки) | ||
+ | ;hash: предположительно хеш названия гаража из gtx-файла | ||
− | + | ||
+ | ===Секция 3 - CARS?=== | ||
+ | Размер: 56 байт | ||
+ | 4b - FLOAT - X | ||
+ | 4b - FLOAT - Y | ||
+ | 4b - FLOAT - Z | ||
4b - FLOAT - Unknown | 4b - FLOAT - Unknown | ||
4b - FLOAT - Unknown | 4b - FLOAT - Unknown | ||
4b - FLOAT - Unknown | 4b - FLOAT - Unknown | ||
− | 4b - | + | 4b - INT32 - Unknown |
− | 4b - | + | 4b - INT32 - Unknown |
− | 4b - | + | 4b - INT32 - Unknown |
− | 4b - | + | 4b - INT32 - Unknown |
− | 4b - | + | 4b - INT32 - Unknown |
+ | 4b - INT32 - Unknown | ||
+ | 4b - INT32 - Unknown | ||
+ | 4b - INT32 - Unknown | ||
+ | |||
+ | ===Секция 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 - Unknown | 4b - UINT32 - Unknown | ||
4b - UINT32 - Unknown | 4b - UINT32 - Unknown | ||
+ | 4b - UINT32 - hash? | ||
+ | |||
+ | ;X1, Y1, Z1: нижний левый передний угол | ||
+ | ;X2, Y2, Z2: верхний левый задний | ||
+ | |||
+ | ===Секция 8 - Unknown=== | ||
+ | |||
+ | Размер: 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: вражение объекта (в виде [[Wikipedia:Quarternion|кватерниона]]) | ||
+ | |||
+ | ===Секция 9 - LODcull=== | ||
+ | |||
+ | Размер: 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=== | ||
− | + | Размер: 24 байт | |
+ | 4b - FLOAT - X1 | ||
+ | 4b - FLOAT - Y1 | ||
+ | 4b - FLOAT - Z1 | ||
+ | 4b - FLOAT - X2 | ||
+ | 4b - FLOAT - Y2 | ||
+ | 4b - FLOAT - Z2 | ||
− | 4b - | + | ;X1, Y1, Z1: нижний левый передний угол |
− | + | ;X2, Y2, Z2: верхний левый задний | |
− | 4b - | + | |
− | 4b - FLOAT | + | ===Секция 15 - Unknown=== |
− | 4b - FLOAT | + | |
− | 4b - FLOAT | + | Размер: 132 байт |
− | 4b | + | 4b - UINT32 - Unknown |
− | 4b | + | 92b - Char - Unknownstring |
− | 4b | + | 4b - UINT32 - Unknown |
− | 4b | + | 4b - FLOAT - X1 |
− | 4b | + | 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: задают какую-то проскость | ||
==Ссылки== | ==Ссылки== |
Версия 16:15, 25 апреля 2009
Файлы 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) - Unknown
Секция 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
- предположительно хеш названия гаража из gtx-файла
Секция 3 - CARS?
Размер: 56 байт 4b - FLOAT - X 4b - FLOAT - Y 4b - FLOAT - Z 4b - FLOAT - Unknown 4b - FLOAT - Unknown 4b - FLOAT - Unknown 4b - INT32 - Unknown 4b - INT32 - Unknown 4b - INT32 - Unknown 4b - INT32 - Unknown 4b - INT32 - Unknown 4b - INT32 - Unknown 4b - INT32 - Unknown 4b - INT32 - Unknown
Секция 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
Размер: 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
Размер: 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
Размер: 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 - Unknown
Размер: 132 байт 4b - UINT32 - Unknown 92b - Char - Unknownstring 4b - UINT32 - Unknown 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
- задают какую-то проскость