DTZ — различия между версиями
Материал из GTAModding.ru
Строка 73: | Строка 73: | ||
| radarNN.txd | | radarNN.txd | ||
| - | | - | ||
− | | | + | | только в [[GTA VCS]], запакованы deflate/zlib алгоритмом |
|- | |- | ||
| colspan="4" | <b>Анимация</b> | | colspan="4" | <b>Анимация</b> | ||
Строка 99: | Строка 99: | ||
| colspan="4" | <b>Коллизия</b> | | colspan="4" | <b>Коллизия</b> | ||
|- | |- | ||
− | | коллизии пешеходов | + | | коллизии пешеходов (**) |
| peds.col | | peds.col | ||
| | | | ||
− | | | + | | одна за всех :) |
|- | |- | ||
− | | коллизии автотранспорта | + | | коллизии автотранспорта (**) |
| vehicles.col | | vehicles.col | ||
| | | | ||
| | | | ||
|- | |- | ||
− | | коллизии оружия | + | | коллизии оружия (**) |
| weapons.col | | weapons.col | ||
| | | | ||
| | | | ||
+ | |- | ||
+ | | коллизии ко всем моделям из MasterWRLD, а так же к скриптовым объектам из GTA3XXX.IMG архива (**) | ||
+ | | generic.col | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | коллизии всех остальных объектов в игре (**) | ||
+ | | | ||
+ | | | ||
+ | | содержат только ограничивающие коробку и сферу, всё остальное - в стиминг-COL2 из GTA3XXX.IMG | ||
|- | |- | ||
| colspan="4" | <b>Модели</b> | | colspan="4" | <b>Модели</b> | ||
|- | |- | ||
− | | стрелка | + | | стрелка (***) |
| Shape .dff | | Shape .dff | ||
| LCS PS2: 30643F | | LCS PS2: 30643F | ||
|[[Изображение:Dtz1.PNG|150px|стрелка]] | |[[Изображение:Dtz1.PNG|150px|стрелка]] | ||
|- | |- | ||
− | | цилиндр | + | | цилиндр (***) |
| zonecylb.dff | | zonecylb.dff | ||
| LCS PS2: 64EA3F | | LCS PS2: 64EA3F | ||
|[[Изображение:Dtz2.PNG|150px|цилиндр]] | |[[Изображение:Dtz2.PNG|150px|цилиндр]] | ||
|- | |- | ||
− | | стрелка 2 | + | | стрелка 2 (***) |
| arrow.dff | | arrow.dff | ||
| LCS PS2: 800643 | | LCS PS2: 800643 | ||
|[[Изображение:Dtz3.PNG|150px|стрелка 2]] | |[[Изображение:Dtz3.PNG|150px|стрелка 2]] | ||
|- | |- | ||
− | | ЛОДы колес | + | | ЛОДы колес (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: 800643 | | LCS PS2: 800643 | ||
Строка 142: | Строка 152: | ||
|[[Изображение:Dtz4.PNG|150px|ЛОДы колес]] | |[[Изображение:Dtz4.PNG|150px|ЛОДы колес]] | ||
|- | |- | ||
− | | колесо 1 | + | | колесо 1 (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: 80С249 | | LCS PS2: 80С249 | ||
|[[Изображение:Dtz5.PNG|150px|колесо 1]] | |[[Изображение:Dtz5.PNG|150px|колесо 1]] | ||
|- | |- | ||
− | | колесо 2 | + | | колесо 2 (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: B4C249 | | LCS PS2: B4C249 | ||
|[[Изображение:Dtz6.PNG|150px|колесо 2]] | |[[Изображение:Dtz6.PNG|150px|колесо 2]] | ||
|- | |- | ||
− | | колесо 3 | + | | колесо 3 (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: 1CC349 | | LCS PS2: 1CC349 | ||
|[[Изображение:Dtz7.PNG|150px|колесо 3]] | |[[Изображение:Dtz7.PNG|150px|колесо 3]] | ||
|- | |- | ||
− | | колесо 4 | + | | колесо 4 (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: 84C349 | | LCS PS2: 84C349 | ||
|[[Изображение:Dtz8.PNG|150px|колесо 4]] | |[[Изображение:Dtz8.PNG|150px|колесо 4]] | ||
|- | |- | ||
− | | колесо 5 | + | | колесо 5 (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: 20C449 | | LCS PS2: 20C449 | ||
|[[Изображение:Dtz9.PNG|150px|колесо 5]] | |[[Изображение:Dtz9.PNG|150px|колесо 5]] | ||
|- | |- | ||
− | | колесо 6 | + | | колесо 6 (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: 54C449 | | LCS PS2: 54C449 | ||
|[[Изображение:Dtz10.PNG|150px|колесо 6]] | |[[Изображение:Dtz10.PNG|150px|колесо 6]] | ||
|- | |- | ||
− | | крылатый карандаш | + | | крылатый карандаш (***) |
| air_vlo.dff | | air_vlo.dff | ||
| LCS PS2: 2CEB49 | | LCS PS2: 2CEB49 | ||
|[[Изображение:Dtz11.PNG|150px|крылатый карандаш]] | |[[Изображение:Dtz11.PNG|150px|крылатый карандаш]] | ||
|- | |- | ||
− | | колесо 7 | + | | колесо 7 (***) |
| wheels.dff | | wheels.dff | ||
| LCS PS2: 60EB49 | | LCS PS2: 60EB49 | ||
Строка 184: | Строка 194: | ||
| colspan="4" | <b>IDE / IPL / DAT</b> | | colspan="4" | <b>IDE / IPL / DAT</b> | ||
|- | |- | ||
− | | аналог [[IDE]] | + | | аналог [[IDE]] (**) |
| *.ide | | *.ide | ||
| | | | ||
− | | содержит все | + | | содержит все данные инициализации моделей, текстур и коллизий |
|- | |- | ||
− | | аналог [[IPL]] | + | | аналог [[IPL]] (**) |
| *.ipl | | *.ipl | ||
| | | | ||
− | | содержит все координаты для расстановки коллизий в игре | + | | содержит все координаты для расстановки коллизий и генерика в игре |
|- | |- | ||
− | | цвета автомобилей | + | | цвета автомобилей (**) |
| carcols.dat | | carcols.dat | ||
| | | | ||
| | | | ||
|- | |- | ||
− | | цвета пешеходов | + | | цвета пешеходов (**) |
| pedcols.dat | | pedcols.dat | ||
| | | | ||
Строка 214: | Строка 224: | ||
| | | | ||
|- | |- | ||
− | | handling data | + | | handling data (**) |
| handling.dat | | handling.dat | ||
| LCS PS2: <code>0x1647A0</code> | | LCS PS2: <code>0x1647A0</code> | ||
Строка 266: | Строка 276: | ||
<code>0x3B1F10</code> | <code>0x3B1F10</code> | ||
− | | характеристики пешеходов | + | | характеристики пешеходов |
LCS PS2: | LCS PS2: | ||
Строка 317: | Строка 327: | ||
* Оффсеты указаны для распакованного game.dtz. | * Оффсеты указаны для распакованного game.dtz. | ||
* Данные, помеченные (*) открываются при помощи [[GTA Stories Texture Explorer]]. | * Данные, помеченные (*) открываются при помощи [[GTA Stories Texture Explorer]]. | ||
+ | * Данные, помеченные (**) просматриваются при помощи [[Stories WRLD Tool]]. | ||
+ | * Данные, помеченные (***) импортируются в 3D MAX при помощи [[MDL importer]]. | ||
== Структуры == | == Структуры == | ||
Строка 505: | Строка 517: | ||
<source lang="cpp">typedef struct lcs_handling_item | <source lang="cpp">typedef struct lcs_handling_item | ||
{ | { | ||
− | float fMass; | + | float fMass; //B |
− | float fTurnMass; | + | float fTurnMass; //C |
− | float fTractionMultiplier; | + | float fTractionMultiplier;//J |
float _fC; | float _fC; | ||
− | DWORD | + | DWORD CarId; |
− | float _f14; | + | float _f14; //null, кроме игрушечных авто |
− | float fDragMult; | + | float fDragMult; //D |
− | float _f1C; | + | float _f1C; //null |
− | float CentreOfMassX; | + | float CentreOfMassX; //F |
− | float CentreOfMassY; | + | float CentreOfMassY; //G |
− | float CentreOfMassZ; | + | float CentreOfMassZ; //H |
− | float _f2C; | + | float _f2C; //null |
− | int nPercentSubmerged | + | int nPercentSubmerged //I |
float _f34; | float _f34; | ||
float _f38; | float _f38; | ||
Строка 537: | Строка 549: | ||
float _f78; | float _f78; | ||
float _f7C; | float _f7C; | ||
− | char cDriveType_TransmissionData; | + | char cDriveType_TransmissionData; //R |
− | char cEngineType_TransmissionData; | + | char cEngineType_TransmissionData; //R |
− | byte nNumberOfGears_TransmissionData; | + | byte nNumberOfGears_TransmissionData;//M |
− | byte _f83; // | + | byte _f83; //null |
− | float _f84; | + | float _f84; //null |
− | float fEngineInertia; | + | float fEngineInertia; //P |
float _f8C; | float _f8C; | ||
float _f90; | float _f90; | ||
Строка 548: | Строка 560: | ||
float _f98; | float _f98; | ||
float _f9C; | float _f9C; | ||
− | float fBrakeBias; | + | float fBrakeBias; //T |
− | float | + | float bABS; //U |
− | float fSteeringLock; | + | float fSteeringLock; //V |
− | float fTractionLoss; | + | float fTractionLoss; //K |
− | float fTractionBias; | + | float fTractionBias; //L |
− | float _fB4; // | + | float _fB4; //null |
− | float fSuspensionForceLevel; | + | float fSuspensionForceLevel; //a |
− | float fSuspensionDampingLevel; | + | float fSuspensionDampingLevel; //b |
− | float fSuspensionUpperLimit; | + | float fSuspensionUpperLimit; //d |
− | float fSuspensionLowerLimit; | + | float fSuspensionLowerLimit; //e |
− | float fSuspensionBias; | + | float fSuspensionBias; //f |
− | float fSuspensionAntiDive; | + | float fSuspensionAntiDive; //g |
DWORD dwflags <format=hex>; | DWORD dwflags <format=hex>; | ||
− | float fSeatOffsetDistance; | + | float fSeatOffsetDistance; //aa |
− | DWORD dwMonetaryValue; | + | DWORD dwMonetaryValue; //ac |
− | byte bFrontLights; | + | byte bFrontLights; //ah |
− | byte bRearLights; | + | byte bRearLights; //ai |
byte padding[18]; | byte padding[18]; | ||
}; | }; |
Версия 14:25, 14 августа 2013
*.dtz
- дамп памяти консоли, содержащий основные игровые ресурсы GTA LCS и GTA VCS. Файл GAME.dtz
упакован при помощи алгоритма сжатия deflate/zlib.
Данный файл представляет особый интерес в силу того, что что в нем содержатся конфигурационные данные, а также элементы интерфейса и модели некоторых игровых объектов (в основном это бинарные аналоги текстовых файлов в папке data и моделей с текстурными архивами в папке models из GTA VC).
Содержание |
Краткое описание содержимого
В текущий момент известно, что в GAME.dtz
содержатся следующие данные:
Описание | Аналогия из предыдущих частей серии | Оффсет на ресурс | Комментарии |
---|---|---|---|
Текстуры | |||
текстуры меню | frontend.txd | LCS PS2: 0x4E4A30
LCS PSP: VCS PS2: VCS PSP: |
директория с текстурами меню, запакована deflate/zlib алгоритмом (*) |
текстуры шрифтов (fonts.chk) | fonts.txd | LCS PS2: 0x4EF4D8
LCS PSP: VCS PS2: VCS PSP: |
директория с текстурами шрифтов, запакована deflate/zlib алгоритмом (*) |
текстуры particle-эффектов | particle.txd | LCS PS2: 0x4A1C28
LCS PSP: VCS PS2: VCS PSP: |
содержит все текстуры particle-эффектов (*) |
generic-текстуры | generic.txd, wheels.txd, vehicle.txd | LCS PS2: 0x4A1BFC
LCS PSP: VCS PS2: VCS PSP: |
содержит общие текстуры для автотранспорта и все текстуры колес (*) |
значки радара | hud.txd | LCS PS2: 0x4A1BE4
LCS PSP: VCS PS2: VCS PSP: |
содержит текстуры для hud-а (*) |
текстуры радара | radarNN.txd | - | только в GTA VCS, запакованы deflate/zlib алгоритмом |
Анимация | |||
? | ped.ifp | ||
? | swim.ifp | только в GTA VCS | |
? | fight.ifp | только в GTA VCS | |
? | driveby.ifp | только в GTA VCS | |
Коллизия | |||
коллизии пешеходов (**) | peds.col | одна за всех :) | |
коллизии автотранспорта (**) | vehicles.col | ||
коллизии оружия (**) | weapons.col | ||
коллизии ко всем моделям из MasterWRLD, а так же к скриптовым объектам из GTA3XXX.IMG архива (**) | generic.col | ||
коллизии всех остальных объектов в игре (**) | содержат только ограничивающие коробку и сферу, всё остальное - в стиминг-COL2 из GTA3XXX.IMG | ||
Модели | |||
стрелка (***) | Shape .dff | LCS PS2: 30643F | |
цилиндр (***) | zonecylb.dff | LCS PS2: 64EA3F | |
стрелка 2 (***) | arrow.dff | LCS PS2: 800643 | |
ЛОДы колес (***) | wheels.dff | LCS PS2: 800643
E8C249 50C349 B8C349 ECC349 88C449 94EB49 |
|
колесо 1 (***) | wheels.dff | LCS PS2: 80С249 | |
колесо 2 (***) | wheels.dff | LCS PS2: B4C249 | |
колесо 3 (***) | wheels.dff | LCS PS2: 1CC349 | |
колесо 4 (***) | wheels.dff | LCS PS2: 84C349 | |
колесо 5 (***) | wheels.dff | LCS PS2: 20C449 | |
колесо 6 (***) | wheels.dff | LCS PS2: 54C449 | |
крылатый карандаш (***) | air_vlo.dff | LCS PS2: 2CEB49 | |
колесо 7 (***) | wheels.dff | LCS PS2: 60EB49 | |
IDE / IPL / DAT | |||
аналог IDE (**) | *.ide | содержит все данные инициализации моделей, текстур и коллизий | |
аналог IPL (**) | *.ipl | содержит все координаты для расстановки коллизий и генерика в игре | |
цвета автомобилей (**) | carcols.dat | ||
цвета пешеходов (**) | pedcols.dat | только в GTA VCS | |
cullzone data | cullzone.dat | ||
fistfite data | fistfite.dat | ||
handling data (**) | handling.dat | LCS PS2: 0x1647A0
LCS PSP: VCS PS2: VCS PSP: |
в LCS и VCS структуры отличаются |
info.zon | |||
map.zon | |||
object data | object.dat | ||
particle data | particle.cfg | LCS PS2: 0x3917D0
|
характеристики спецэффектов |
pedstats data | pedstats.dat | LCS PS2:
часть 1 - часть 2 - часть 3 - LCS PSP:
VCS PS2: часть 1 - часть 2 - VCS PSP:
|
характеристики пешеходов
LCS PS2: часть 1 - 15 items часть 2 - 18 items часть 3 - 9 items LCS PSP: 42 items VCS PS2: часть 1 - 6 items часть 2 - 36 items VCS PSP: 42 items |
timecyc data | timecyc.dat | характеристики погоды | |
waterpro data | waterpro.dat | данные водных поверхностей | |
weapon data | weapon.dat | LCS PS2:0x40A980 VCS PS2: |
|
Разное | |||
SDT-файлы. | LCS:0x377720
|
только в PSP-версиях |
Внимание!
- Оффсеты указаны для распакованного game.dtz.
- Данные, помеченные (*) открываются при помощи GTA Stories Texture Explorer.
- Данные, помеченные (**) просматриваются при помощи Stories WRLD Tool.
- Данные, помеченные (***) импортируются в 3D MAX при помощи MDL importer.
Структуры
Ниже представлены некоторые структуры описанных выше данных.
weapons data
Состоит из двух CWeaponModelInfo. Чтение происходит напрямую из заголовка DaTa Zlib.
Структура версии LCS
Заголовок
typedef struct Weapon_lcs_header { offset CWeaponModelInfo1; offset CWeaponModelInfo2; };
данные weapons
Общее число записей: 38
typedef struct vFireOffset{ float x; float y; float z; }; typedef struct vTimeStrc{ float a; float b; float c; }; typedef struct weapondata{ int iFireType; float fRange; int iFiringRate; int iReload; int iAmountOfAmmunition; int iDamage; float fSpeed; float fRadius; float fLifeSpan; float fSpread; DWORD dwPadding1; DWORD dwPadding2; vFireOffset FireOffset; DWORD dwZero; DWORD dwAnim_id; vTimeStrc time1; vTimeStrc time2; float unk; DWORD dwModelID; DWORD dwModelID2; DWORD dwweapon_slot; DWORD dwFlags <format=hex>; };
Структура версии VCS
Общее число записей: 40
typedef struct vFireOffset{ float x; float y; float z; }; typedef struct vTimeStrc{ float a; float b; float c; }; typedef struct weapondata{ DWORD dwType; int iFireType; float fRange; int iFiringRate; int iReload; int iAmountOfAmmunition; int iDamage; float fSpeed; float fRadius; float fLifeSpan; float fSpread; DWORD dwPadding; //padding (0xAA) vFireOffset m_vFireOffset; //вектор DWORD _f3C; //всегда нуль DWORD _f40; //целочисленное значение DWORD _f44; //DWORD ? unknown vTimeStrc m_vTimeStrc; vTimeStrc m_vTimeStrc; float unk; DWORD dwModelID; DWORD dwModel2ID; DWORD dwWeaponSlot DWORD _f6C; //padding (0xAA) };
pedstats data
Структура версии LCS
Заголовок
Размер массива адресов: 42. Чтение происходит напрямую из заголовка DaTa Zlib.
typedef struct pedstat_lcs_header { offset Pedstat_offset; };
данные pedstats
На PS2 разделены на три фрагмента: 15+18+9=42. Общее число записей: 42.
typedef struct pedstat_lcs{ int iNumber; char name[24]; float fFleeDistance; float fHeadingChangeRate; byte btFear; byte btTemper; byte btLawfullness; byte btView; float fAttackStrength; float fDefendWeakness; WORD btStatFlags; byte padding[2]; };
Структура версии VCS
Общее число записей: 42.
На PS2 разделены на два фрагмента: 6+36=42
typedef struct pedstat_vcs{ int iNumber; float fFleeDistance; float fHeadingChangeRate; float fAttackStrength; float fDefendWeakness; byte btStatFlags; byte btZero; byte btFear; byte btTemper; byte btLawfullness; byte btView; char name[26]; };
handling data
Структура версии LCS
Заголовок
Чтение происходит напрямую из заголовка DaTa Zlib.
typedef struct lcs_handling_header { float unknow; float unknow; float unknow; float unknow; float unknow; float null; float null; float null; };
данные handling
Общее число записей: 81.
typedef struct lcs_handling_item { float fMass; //B float fTurnMass; //C float fTractionMultiplier;//J float _fC; DWORD CarId; float _f14; //null, кроме игрушечных авто float fDragMult; //D float _f1C; //null float CentreOfMassX; //F float CentreOfMassY; //G float CentreOfMassZ; //H float _f2C; //null int nPercentSubmerged //I float _f34; float _f38; float _f3C; float _f40; float _f44; float _f48; float _f4C; float _f50; float _f54; float _f58; float _f5C; float _f60; float _f64; float _f68; float _f6C; float _f70; float _f74; float _f78; float _f7C; char cDriveType_TransmissionData; //R char cEngineType_TransmissionData; //R byte nNumberOfGears_TransmissionData;//M byte _f83; //null float _f84; //null float fEngineInertia; //P float _f8C; float _f90; float _f94; float _f98; float _f9C; float fBrakeBias; //T float bABS; //U float fSteeringLock; //V float fTractionLoss; //K float fTractionBias; //L float _fB4; //null float fSuspensionForceLevel; //a float fSuspensionDampingLevel; //b float fSuspensionUpperLimit; //d float fSuspensionLowerLimit; //e float fSuspensionBias; //f float fSuspensionAntiDive; //g DWORD dwflags <format=hex>; float fSeatOffsetDistance; //aa DWORD dwMonetaryValue; //ac byte bFrontLights; //ah byte bRearLights; //ai byte padding[18]; };
Текстовую версию, декомпилированную с помощью Stories WRLD Tool, можно cкачать из архива gtamodding.ru.
Структура версии VCS
particle data
Структура версии LCS
Общее число записей: 82. Заголовок секции отсутствует. Чтение происходит напрямую из заголовка DaTa Zlib.
typedef struct particle { DWORD dwID; char Name[20]; //A; float CreateRange; //CR; float DefInitRadius; //E; float ExpRate; //F; word InitAngle; //GZA; word ChangeTimeA; //IZA; word AngleChangeAmount; //HZA; word InitZRadius; //HZR; float ChangeTimeZ; //GZR; float ZRadiusChangeAmount; //IZR; word FadeTime; //H; word InitInten; //G; word FadeAmount; //I; word InitIntenA; //GA; word FadeTimeA; //HA; word FadeAmountA; //IA; byte StartAnimFr; //K; byte FinalAnimFr; //L; word AnimSpeed; //J; int RotSpeed; //M; float GravitAccel; //N; int DragFrictDeccel; //O; int DefLifeSpan; //P; float PosRandomError; //Q; float VelRandomError; //R; float ExpRateError; //S; int RotRateError; //T; int LSErrorShape; //U; float TrailLengthMult; //V; int Flags <format=hex>; //Z; byte ColourR; //B; byte ColourG; //C; word ColourB; //D; byte InitColourVar; //CV; byte FadeColourR; //B2; byte FadeColourG; //C2; byte FadeColourB; //D2; DWORD unk1; int ColourFadeTime; //FT; float StretchTexX; //WX; float StretchTexY; //WY; float WindFactor; //WI; DWORD unk2; };
Структура версии VCS
carcols data
Структура версии LCS
Секция col
Общее число записей: 1. Заголовок секции отсутствует. Чтение происходит напрямую из заголовка DaTa Zlib.
Размер массива данных: 102. Лимит: 256 (кушает в памяти 1024 байт)
typedef struct colors { byte Red; //Kрасный цвет; byte Grey; //Зелёный цвет; byte Blue; //Синий цвет; byte Alpha; //Альфа канал цвета; };
Секция car
Общее число записей: равно количеству автотранспорта в игре. Является частью структуры IDE секции cars.
Размер массивов данных: 8. Если количество расцветок авто меньше 8, то пустые значения заполнены нулями.
typedef struct carcolors1 { byte ColorID1; //Номер первого цвета; };
typedef struct carcolors2 { byte ColorID2; //Номер второго цвета; };
Структура версии VCS
Текстовую версию, декомпилированную с помощью Stories WRLD Tool, можно cкачать из архива gtamodding.ru.