game.dtz
GAME.DTZ (DaTa Zlib) is a file regarding PS2 and PSP versions of GTA LCS and GTA VCS. It contains data files, as well as main textures and models analogue to existing 3D era games compiled in binary form. It is compressed using the zlib/deflate algorithm [1] (max compression). Its contents can be viewed using any zlib compression/decompression utility, such as offzip [2] and zdrop, though some can be viewed with DTZ Editor [3], a tool made by Dageron.
Contents
GAME.DTZ
The Header for both GTA LCS and GTA VCS versions is defined like so: Note: this about the decompressed version, GAME.DAT. All values are Little-Endian.
0x0 [4b] "GTAG" signature 0x4 [4b] 1, unknown 0x8 [4b] size of decompressed file 0xC [4b] ? 0x10 [4b] offset to global table of offsets 0x14 [4b] number of offsets in global table 0x18 [4b] same as 0xC 0x1C [2b] ? 0x1E [2b] ?
Below is the data table which is different between games: LCS Version
tba
VCS Version PS2
0x20 paths 0x24 offset to "Buildings" info 0x28 offset to "Treadables" info 0x2C offset to "Dummys" info 0x30 offset to "EntryInfoNode" info 0x34 offset to "PtrNode" info 0x38 number of offsets in IDE table 0x3C offset to IDE table 0x40 car class table (poorfamily, etc.) 0x44 number of cars in each class 0x48 offset to GTA3.ZON 0x4C 0, ? 0x50 0, ? 0x54 number of 2dfx data "lines" 0x58 offset to 2dfx data 0x5C ? (has to do with model indices) 0x60 offset to "Texlist" info 0x64 0, ? 0x68 ? 0x6C 0, ? 0x70 ? 0x74 offset to OBJECT.DAT 0x78 ? 0x7C offset to GTA3PS2.DIR 0x80 offset to animation data 0x84 offset to FISTFITE.DAT 0x88 offset to PED.DAT offset table 0x8C offset to PEDSTATS.DAT offset table 0x90 offset to car colours data 0x94 ? 0x98 number of CULL.IPL "lines" 0x9C offset to CULL.IPL 0xA0 0, ? 0xA4 0, ? 0xA8 offset to WATERPRO.DAT 0xAC offset to weather types table 0xB0 offset to SURFACE.DAT 0xB4 offset to TIMECYC.DAT 0xB8 offset to PEDGRP.DAT 0xBC offset to PARTICLE.CFG 0xC0 offset to WEAPON.DAT 0xC4 0, ? 0xC8 offset to models offset table 0xCC offset to MOCAPPS2.DIR 0xD0 ? 0xD4 0, ? 0xD8 ? 0xDC 0, ? 0xE0 offset to FRONTENT.TEX (zlib/deflate compressed) 0xE4 ? 0xE8 ? 0xEC ? 0xF0 ? 0xF4 ? 0xF8 size of decompressed FONTS.TEX 0xFC offset to FONTS.TEX (zlib/deflate compressed) 0x100 offset to radar textures offset table
Table of Analogy
Description | Analogy | Offset | Notes |
---|---|---|---|
Textures | |||
textures of menu | frontend.txd | LCS PS2: 0x4E4A30
|
contain texture of menu, packed deflate/zlib algorithm (*) |
texture of fonts | fonts.txd | LCS PS2: 0x4EF4D8
|
also packed deflate/zlib algorithm (*) |
particle effects | particle.txd | LCS PS2: 0x4A1C28
LCS PSP: VCS PS2: VCS PSP: |
contain all textures of particle effect (*) |
generic-textures | generic.txd, wheels.txd, vehicle.txd | LCS PS2: 0x4A1BFC
LCS PSP: VCS PS2: VCS PSP: |
contains general textures for cars and all the textures of wheels (*) |
radar icons | hud.txd | LCS PS2: 0x4A1BE4
LCS PSP: VCS PS2: VCS PSP: |
contain icons for hud (*) |
texture of radar | radarNN.txd | Contain textures for radar | |
Animation | |||
? | ped.ifp | ||
? | swim.ifp | only in GTA VCS | |
? | fight.ifp | only in GTA VCS | |
? | driveby.ifp | only in GTA VCS | |
DIR-files | |||
for cuts.img | cuts.dir | not working | |
for GTA3PS2.IMG | GTA3PS2.dir | specific for stories, doesn't contain the names. | |
Collision | |||
? | peds.col | peds.col2 | |
? | vehicles.col | vehicles.col2 | |
? | weapons.col | weapons.col2 | |
Models | |||
model of plane | air_vlo.dff | air_vlo.mdl | |
model of arrow | arrow.dff | arrow.mdl | |
model of wheels | wheels.dff | ||
model of marker (zone) | zonecylb.dff | ||
IDE / IPL / DAT | |||
IDE | *.ide | contain all name of models and textures. | |
IPL | *.ipl | contains all the coordinates for the placement of collisions in the game. | |
colors of cars | carcols.dat | ||
cullzone data | cullzone.dat | ||
fistfite data | fistfite.dat | ||
handling data | handling.dat | LCS PS2: 0x1647A0
|
LCS and VCS have different structure of handling |
info.zon | |||
map.zon | |||
object data | object.dat | ||
particle data | particle.cfg | LCS PS2: 0x3917D0
|
characteristics of special effects |
pedstats data | pedstats.dat | LCS PS2:
part 1 - part 2 - part 3 - LCS PSP:
VCS PS2: part 1 - part 2 - VCS PSP:
|
characteristics of pedestrians, in the PS2-version split into parts
LCS PS2: part 1 - 15 items part 2 - 18 items part 3 - 9 items LCS PSP: 42 items VCS PS2: part 1 - 6 items part 2 - 36 items VCS PSP: 42 items |
timecyc data | timecyc.dat | ||
data about waters surfaces | waterpro.dat | ||
weapon data | weapon.dat | VCS PS2: 0x3D7530
|
|
Other | |||
SDT-files. | only in PSP versions |
Notes:
- Offset is specified for the unpacked game.dtz
- * - Data marked with (*) are opened by GTA Stories Texture Explorer.
weapons data
Analog of weapons.dat
Structure of LCS version
Total number of records: 38
typedef struct vFireOffset{
float x;
float y;
float z;
};
typedef struct vTimeStrc{
float a;
float b;
float c;
};
typedef struct weapondata{
int FireType;
float Range;
int FiringRate;
int Reload;
int AmountOfAmmunition;
int Damage;
float Speed;
float Radius;
float LifeSpan;
float Spread;
DWORD padding1;
DWORD padding2;
vFireOffset FireOffset;
DWORD zero;
DWORD anim_id;
vTimeStrc time1;
vTimeStrc time2;
float unk;
DWORD ModelID;
DWORD ModelID2;
DWORD weapon_slot;
DWORD Flags <format=hex>;
};
Structure of VCS version
Total number of records: 40
typedef struct vFireOffset{
float f1;
float f2;
float f3;
};
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; //vector
DWORD _f3C; //always zero
DWORD _f40; //integer value
DWORD _f44; //DWORD ? unknown
vFireOffset m_vFireOffset; //vector
vFireOffset m_vFireOffset; //vector
DWORD dwModelID;
DWORD dwModel2ID;
DWORD dwWeaponSlot
DWORD _f6C; //padding (0xAA)
};