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

Материал из GTAModding.ru
Перейти к: навигация, поиск
Строка 653: Строка 653:
 
Общее число записей: равно количеству автотранспорта в игре. Является частью структуры [[IDE]] секции cars.
 
Общее число записей: равно количеству автотранспорта в игре. Является частью структуры [[IDE]] секции cars.
  
Размер массива данных: 14.
+
Размер массива данных: 8. Если количество расцветок авто меньше 8, то последнее значение просто повторяется до конца.
 
<source lang="cpp">typedef struct carcols
 
<source lang="cpp">typedef struct carcols
 
   {
 
   {

Версия 23:02, 22 июня 2013

*.dtz - дамп памяти консоли, содержащий основные игровые ресурсы GTA LCS и GTA VCS. Файл GAME.dtz упакован при помощи алгоритма сжатия deflate/zlib.

Данный файл представляет особый интерес в силу того, что что в нем содержатся конфигурационные данные, а также элементы интерфейса и модели некоторых игровых объектов (в основном это бинарные аналоги текстовых файлов в папке data и моделей с текстурными архивами в папке models из GTA VC).

Содержание

Краткое описание содержимого

В текущий момент известно, что в GAME.dtz содержатся следующие данные:

Описание Аналогия из предыдущих частей серии Оффсет на ресурс Комментарии
Текстуры
текстуры меню frontend.txd LCS PS2: 0x4E4A30

LCS PSP: 0x4DA830

VCS PS2: 0x581330

VCS PSP: 0x51D95C

директория с текстурами меню, запакована deflate/zlib алгоритмом (*)
текстуры шрифтов (fonts.chk) fonts.txd LCS PS2: 0x4EF4D8

LCS PSP: 0x4E2B1C

VCS PS2: 0x57BE4C

VCS PSP: 0x530AFC

директория с текстурами шрифтов, запакована deflate/zlib алгоритмом (*)
текстуры particle-эффектов particle.txd LCS PS2: 0x4A1C28

LCS PSP: 0x38AB90

VCS PS2: 0x761F0

VCS PSP: 0x3F7FB0

содержит все текстуры particle-эффектов (*)
generic-текстуры generic.txd, wheels.txd, vehicle.txd LCS PS2: 0x4A1BFC

LCS PSP: 0x392B04

VCS PS2: 0x539E0

VCS PSP: 0x3D60B4

содержит общие текстуры для автотранспорта и все текстуры колес (*)
значки радара hud.txd LCS PS2: 0x4A1BE4

LCS PSP: 0x38AD30

VCS PS2: 0x287B0

VCS PSP: 0x3B4678

содержит текстуры для hud-а (*)
текстуры радара radarNN.txd - несколько файлов, только в GTA VCS
Анимация
 ? ped.ifp
 ? swim.ifp только в GTA VCS
 ? fight.ifp только в GTA VCS
 ? driveby.ifp только в GTA VCS
Коллизия
коллизии пешеходов peds.col
коллизии автотранспорта vehicles.col
коллизии оружия weapons.col
Модели
стрелка Shape .dff LCS PS2: 30643F стрелка
цилиндр zonecylb.dff LCS PS2: 64EA3F цилиндр
стрелка 2 arrow.dff LCS PS2: 800643 стрелка 2
ЛОДы колес wheels.dff LCS PS2: 800643

E8C249 50C349 B8C349 ECC349 88C449 94EB49

ЛОДы колес
колесо 1 wheels.dff LCS PS2: 80С249 колесо 1
колесо 2 wheels.dff LCS PS2: B4C249 колесо 2
колесо 3 wheels.dff LCS PS2: 1CC349 колесо 3
колесо 4 wheels.dff LCS PS2: 84C349 колесо 4
колесо 5 wheels.dff LCS PS2: 20C449 колесо 5
колесо 6 wheels.dff LCS PS2: 54C449 колесо 6
крылатый карандаш air_vlo.dff LCS PS2: 2CEB49 крылатый карандаш
колесо 7 wheels.dff LCS PS2: 60EB49 колесо 7
IDE / IPL / DAT
аналог IDE *.ide содержит все имена моделей и текстур
аналог IPL *.ipl содержит все координаты для расстановки коллизий в игре
цвета автомобилей carcols.dat
цвета пешеходов peds.dat только в GTA VCS
cullzone data cullzone.dat
fistfite data fistfite.dat
handling data handling.dat LCS PS2: 0x1647A0

LCS PSP: 0x50190

VCS PS2: 0x4C2A10

VCS PSP: 0x3AF30F

в LCS и VCS структуры отличаются
info.zon
map.zon
object data object.dat
particle data particle.cfg LCS PS2: 0x3917D0 характеристики спецэффектов
pedstats data pedstats.dat LCS PS2:

часть 1 - 0x49E820

часть 2 - 0x49EB78

часть 3 - 0x4A1A10

LCS PSP:

0x391DA0

VCS PS2:

часть 1 - 0x4C8080

часть 2 - 0x4C8428

VCS PSP:

0x3B1F10

характеристики пешеходов, в PS2-версиях разделены на части

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
0x44FAE0

VCS PS2:
0x3D7530
VCS PSP:
0x2E8B60

Разное
SDT-файлы. LCS:
0x377720
только в PSP-версиях

Внимание!

  • Оффсеты указаны для распакованного game.dtz.
  • Данные, помеченные (*) открываются при помощи GTA Stories Texture Explorer.

Структуры

Ниже представлены некоторые структуры описанных выше данных.

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;
    float       fTurnMass;
    float       fTractionMultiplier;
    float       _fC;
    DWORD       dwId;
    float       _f14;
    float       fDragMult;
    float       _f1C;
    float       CentreOfMassX;
    float       CentreOfMassY;
    float       CentreOfMassZ;
    float       _f2C;
    int         nPercentSubmerged
    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;
    char        cEngineType_TransmissionData;
    byte        nNumberOfGears_TransmissionData;
    byte        _f83; //bABS?
    float       _f84;
    float       fEngineInertia;
    float       _f8C;
    float       _f90;
    float       _f94;
    float       _f98;
    float       _f9C;
    float       fBrakeBias;
    float       _fA4;
    float       fSteeringLock;
    float       fTractionLoss;
    float       fTractionBias;
    float       _fB4; //fSuspensionHighSpdComDamp? (всегда ноль)
    float       fSuspensionForceLevel;
    float       fSuspensionDampingLevel;
    float       fSuspensionUpperLimit;
    float       fSuspensionLowerLimit;
    float       fSuspensionBias;
    float       fSuspensionAntiDive;
    DWORD       dwflags <format=hex>;
    float       fSeatOffsetDistance;
    DWORD       dwMonetaryValue;
    byte        bFrontLights;   //(0 = long, 1 = small, 2 = big, 3 = tall)
    byte        bRearLights;    //(0 = long, 1 = small, 2 = big, 3 = tall)
    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 carcols
  {
  byte		ColorID1;		//Номер первого цвета;
  byte		ColorID2;		//Номер второго цвета;
};

Структура версии VCS

п · о · р
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