WPL
Материал из GTAModding.ru
Версия от 12:40, 19 марта 2011; Solom (обсуждение | вклад)
Файлы 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) - Blok
Секция 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 flags 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
- предположительно хеш названия гаража из gxt-файла
Секция 3 - Parked 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 - INT32 - Flags 4b - INT32 - Alarm 4b - INT32 - Unknown
- X,Y,Z
- Координаты расположения.
- Rotation
- Поворот автомобиля
- Model name hash
- Хеш имени модели.
- Car color 1-3
- Параметр задаёт цвета автомобилю
- Specular Color
- Цвет спекуляра
- Flags
- Флаги
- Alarm
- Сигнализация
Секция 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
Используется только в (*_strbig*.wpl) файлах.
Размер: 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
Присутствие секции LODCull наблюдается файлах, имена которых начинаются с "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]
Секция 10 - Unknown(Zone or Cull?)
Размер: 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 - Blok
Размер: 132 байт 4b - UINT32 - Unknown 92b - Char - Unknownstring 4b - UINT32 - Unknown(Flag?) 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
- задаёт плоскость.