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

Материал из GTAModding.ru
Перейти к: навигация, поиск
(Новая: {{stub}} '''WRLD''' - формат, используемый в LCS и VCS для хранения геометрии и текстур игрового мира. == Структур...)
 
Строка 1: Строка 1:
 
{{stub}}
 
{{stub}}
  
'''WRLD''' - формат, используемый в LCS и VCS для хранения геометрии и текстур игрового мира.
+
'''WRLD''' - формат, используемый в LCS, VCS и Manhunt2. Хранит все данные для рендеринга игровых локаций - геометрию, текстуры, а так же информацию о размещении объектов. Аналог на [[Renderware]] - формат BSP (корневая секция которого так же называется "world").
 
+
 
+
  
 
== Структура ==
 
== Структура ==
Все файлы world-файлы имеют сигнатуру DLRW и содержит в себе 3 FAT:
 
  
1. Таблица оффсетов на внутренний [[IPL]]
+
'''Структура заголовка WRLD (на основе данных Херомата):'''
  
2. Таблица идентификации моделей и текстур
+
глобальный заголовок WRLD [32 байта]
 +
   
 +
  0х00 4b: сигнатура "DLRW"
 +
  0х04 4b: тип WRLD (1 - Master WRLD, 0 - Slave WRLD)
 +
  0х08 4b: размер WRLD
 +
  0х0С 4b: переход на начало глобалсекции (таблицы адресов для всех подсекций в WRLD)
 +
  0х10 4b: переход на начало глобалсекции (повторяется)
 +
  0х14 4b: количество оффсетов в глобалсекции
 +
  0х18 4b: адрес на продолжение подчинённого World в IMG-архиве (для мастера не используется, равно нулю)
 +
  0х1С 4b: не используется (всегда 0)
  
3. Общий FAT.
+
заголовок Master WRLD [800 байт]
  
'''Структура заголовка WRLD:'''
+
  0х20 4b: адрес на таблицу идентификаторов ресурсов, хранящихся в WRLD.
 +
  цикл, читающий каждую группу Slave WRLD из [[IMG]]-архива {
 +
  4b: адрес на массив начал Slave WRLD
 +
  4b: флаг, назначение неизвестно
 +
  } конец цикла
 +
  4b: количество всех ресурсов в уровне (один master WRLD + все подчинённые ему slave WRLD)
 +
  Xb: выравнивание (0хАААА...)
 +
  4b: неизв.
 +
  4b: оффсет на массив с неизвестными данными
 +
  4b: неизв.
 +
  4b: оффсет на таблицу с неизвестными данными
 +
  4b: неизв.
 +
  4b: оффсет на массив с неизвестными данными
 +
  4b: количество радар-прикреплённых текстур (только для ЛСС)
 +
  4b: адрес на массив начал радар-прикреплённых текстур (только для ЛСС)
 +
 
 +
заголовок Slave WRLD [48 байт]
  
     WRLD header [40 bytes]
+
     0х20 4b: адрес на таблицу идентификаторов ресурсов, хранящихся в WRLD.
   
+
     0х24 2b: количество ресурсов в WRLD
    4b: Сигнатура DLRW
+
     0x26 2b: флаг, назначение неизвестно
     4b: unknown (обычно = 0)
+
     0x28 32b: переходы на таблицу скайлинга и координат моделей, последний оффсет указывает на конец последней таблицы.
    4b: Размер WRLD
+
     0х48 2b: флаг, назначение неизвестно
     4b: Оффсет на начало общего FAT
+
     0х4A 2b: флаг, назначение неизвестно
     4b: Оффсет на начало общего FAT (повторяется)
+
     0х4C 4b: переход на 8-байтовый неизвестный массив
     4b: Количество оффсетов в общем FAT
+
     8b: unknown (обычно нули)
+
     4b: Оффсет на FAT идентификации моделей и текстур
+
    2b: Количество оффсетов в FAT идентификации моделей и текстур
+
    2b: unknown
+
  
 
'''Структура таблицы оффсетов на внутренний IPL'''
 
'''Структура таблицы оффсетов на внутренний IPL'''

Версия 20:52, 9 марта 2013

WRLD - формат, используемый в LCS, VCS и Manhunt2. Хранит все данные для рендеринга игровых локаций - геометрию, текстуры, а так же информацию о размещении объектов. Аналог на Renderware - формат BSP (корневая секция которого так же называется "world").

Структура

Структура заголовка WRLD (на основе данных Херомата):

глобальный заголовок WRLD [32 байта]

  0х00 4b: сигнатура "DLRW"
  0х04 4b: тип WRLD (1 - Master WRLD, 0 - Slave WRLD)
  0х08 4b: размер WRLD
  0х0С 4b: переход на начало глобалсекции (таблицы адресов для всех подсекций в WRLD)
  0х10 4b: переход на начало глобалсекции (повторяется)
  0х14 4b: количество оффсетов в глобалсекции
  0х18 4b: адрес на продолжение подчинённого World в IMG-архиве (для мастера не используется, равно нулю)
  0х1С 4b: не используется (всегда 0)

заголовок Master WRLD [800 байт]

  0х20 4b: адрес на таблицу идентификаторов ресурсов, хранящихся в WRLD.
  цикл, читающий каждую группу Slave WRLD из IMG-архива {
  4b: адрес на массив начал Slave WRLD
  4b: флаг, назначение неизвестно
  } конец цикла
  4b: количество всех ресурсов в уровне (один master WRLD + все подчинённые ему slave WRLD)
  Xb: выравнивание (0хАААА...)
  4b: неизв.
  4b: оффсет на массив с неизвестными данными
  4b: неизв.
  4b: оффсет на таблицу с неизвестными данными
  4b: неизв.
  4b: оффсет на массив с неизвестными данными
  4b: количество радар-прикреплённых текстур (только для ЛСС)
  4b: адрес на массив начал радар-прикреплённых текстур (только для ЛСС)
  

заголовок Slave WRLD [48 байт]

   0х20 4b: адрес на таблицу идентификаторов ресурсов, хранящихся в WRLD.
   0х24 2b: количество ресурсов в WRLD
   0x26 2b: флаг, назначение неизвестно
   0x28 32b: переходы на таблицу скайлинга и координат моделей, последний оффсет указывает на конец последней таблицы.
   0х48 2b: флаг, назначение неизвестно
   0х4A 2b: флаг, назначение неизвестно
   0х4C 4b: переход на 8-байтовый неизвестный массив

Структура таблицы оффсетов на внутренний IPL

Данная таблица располагается сразу после заголовка и имеет фиксированное число оффсетов.

Каждый оффсет имеет тип Longint и ссылается на определенное место во внутренней бинарной таблице IPL

Последний оффсет таблицы ссылается на технический сектор AAAAAAAA, необходимый движку, и сигнализирует об окончании загрузки IPL.

Структура таблицы идентификации моделей и текстур

По данной таблице моделям и текстурам присваивается определенный ID.

Один структурный блок таблицы занимает 8 байт

   4b: ID модели или текстуры
   4b: Оффсет на модель или текстуру

Структура общего FAT

Общий FAT обычно располагается в самом конце файла и указывает на все оффсеты, которые ссылаются непосредственно на модели/текстуры/IPL.

Используется скорее всего для проверки

п · о · р
Lcs.png GTA Liberty City Stories Vcs.png GTA Vice City Stories
Форматы файлов.anim.at3.cam.chk/.xtx.col2.cut.dtz.ifp.img/.dir.irx.gxt.lvz.mdl.pss.raw/.sdt.scm.vb.wrld
ИнструментыApacheConsole Texture Explorer (PSP/PS2)GTA Stories IMG ToolGTA Stories Texture ViewerGTA Stories Texture Explorer
GTA Stories RAW EditorGXT EditorJPCSPMDL importerMF AudioPCSX2PPSSPPStories WRLD ToolGTA Stories Map Converter v1.0UMD GenYAIE
ТуториалыМоддинг VCS и LCS (PSP/PS2)Аудио на PSPАудио на PS2Спецификация версий PS2Конфигурирование PCSX2
ПК-версииVice City StoriesLiberty City Stories