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

Материал из GTAModding.ru
Перейти к: навигация, поиск
 
(не показаны 32 промежуточные версии 4 участников)
Строка 1: Строка 1:
Файлы '''W'''indows '''PL'''acement выполняют такую же роль, как и файлы [[IPL]] из предыдущих частей. Они могут быть отредактированы программой [[WPL Manager]].
+
Файлы '''W'''indows '''PL'''acement выполняют такую же роль, как и файлы [[IPL]] из предыдущих частей.
 
+
 
==Формат файла==
 
==Формат файла==
  
Каждый WPL файл начинается с заголовка, сопровождаемого информацией размещения объекта. Структура для заголовка очень проста:
+
Любой 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===
 +
 
 +
Информация размещения объектов соответствует секции [[IPL#INST|instance]] <code>.ipl</code> файлов. Здесь схожая структура как у [[Бинарные_IPL|бинарных IPL]] файлов (введенные с [[:Категория:GTA_SA|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
 +
 
 +
''Информация вращения в виде [[Wikipedia:Quarternion|кватерниона]]''
 +
 
 +
===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_(GTA_4)|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: вращение объекта (в виде [[Wikipedia:Quarternion|кватерниона]])
 +
 
 +
===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]
  
  4b - UINT32  - Unknown
+
===slow===
  4b - UINT32  - Instances
+
 +
Размер: 24 байт
 +
4b - float    - X1
 +
4b - float    - Y1
 +
4b - float    - Z1
 +
4b - float    - X2
 +
  4b - float    - Y2
 +
  4b - float    - Z2
  
Информация размещения объектов соответствует секции [[IPL#INST|instance]] <code>.ipl</code> файлов. Здесь схожая структура как у [[Бинарные_IPL|бинарных IPL]] файлов (введенные с [[:Категория:GTA_SA|San Andreas]]):
+
;X1, Y1, Z1: нижний левый передний угол
 +
;X2, Y2, Z2: верхний левый задний
  
4b - FLOAT  - Позиция X
+
===blok===
4b - FLOAT  - Позиция Y
+
Секция "blok" использовалась разработчиками для указания различных заметок на карте игры. Секция игнорируется игрой.
4b - FLOAT  - Позиция Z
+
4b - FLOAT  - Вращение X
+
4b - FLOAT  - Вращение Y
+
4b - FLOAT  - Вращение Z
+
4b - FLOAT  - Вращение W
+
4b - UINT32  - название модели [[:Категория:Static_Model_Hashes|hash]]
+
4b - UINT32  - Unknown
+
4b - UINT32  - [[LOD]] Индекс (Индекс другой модели в текущем файле)
+
4b - UINT32  - Unknown
+
4b - UINT32  - Unknown
+
  
''Информация вращения в виде [[Wikipedia:Quarternion|кватериона]]''
+
Размер: 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: плоскость
  
 
==Ссылки==
 
==Ссылки==
Строка 31: Строка 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