GTA Series IMG DIR

From XentaxWiki
Revision as of 11:05, 11 June 2022 by imported>Ikskoks (→‎Compatible Programs)
Jump to navigation Jump to search

IMG, DIR

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : None / VER2 / R*N.


Format Specifications (version 1)

// DIR file format (version 1)

// num_of_entries = total_archive_size / 32

num_of_entries *
{
   4 bytes (uint32) - file offset (in sectors)
   4 bytes (uint32) - file size (in sectors)
   24 bytes (char) - filename + padding  // e.g. "radar00.txd"
}


// IMG file format (version 1)

num_of_entries *
{
   x bytes - file data
}

Format Specifications (version 2)

char {4}     - Signature (VER2)
uint32 {4}   - Number Of Files

// for each file

uint32 {4}   - File Offset [*2048]
uint32 {4}   - File Length [*2048] (includes padding at the end of the file)
char {X}     - Filename
byte {1}     - null Filename Terminator
byte {0-3}   - null Padding so filenameLength+1 is a multiple of 4 bytes


// repeat until this file entry has length 32 bytes
uint16 {2}   - Unknown ID (incremental from 166 (from start of filename))


// for each file

byte {X}     - File Data
byte {X}     - Padding to a multiple of 2048 bytes


Format Specifications (version 3)

// IMG file format (version 3)


// header
4 bytes (char) - signature  // "R*N." (Rockstar North)  52 2A 4E A9
4 bytes (uint32) - version  // always 3
4 bytes (uint32) - number of files
4 bytes (uint32) - info table size (in bytes)
2 bytes (uint16) - length of the info table entry  // always 16
2 bytes (uint16) - unknown


// info table
num_of_files *
{
   4 bytes (uint32) - file size
   4 bytes (uint32) - file type
   4 bytes (uint32) - file offset (in sectors)
   2 bytes (uint16) - used blocks
   2 bytes (uint16) - padding
}


// data
num_of_files *
{
   x bytes - file data
}

Notes and Comments

  • Archives can be encrypted with AES-128 ECB encryption.
  • IMG files from XBOX GTA games can be compressed with lzo1x-999 compression.

Games

List of games using this file format:

  • Bully: Scholarship Edition (PC) (*.IMG / *.DIR) (version 1)
  • Grand Theft Auto III (PC) (*.IMG / *.DIR) (version 1)
  • Grand Theft Auto: Vice City (PC) (*.IMG / *.DIR) (version 1)
  • Grand Theft Auto: San Andreas (PC) (*.IMG) (version 2)
  • Grand Theft Auto: Liberty City Stories
  • Grand Theft Auto: Vice City Stories
  • Grand Theft Auto IV (*.IMG) (version 3)

MultiEx BMS Script

ImpType Standard ;
IDString VER2 ;
Get NUMFILES Long 0 ;
SavePos CURPOS 0 ;
For T = 1 To NUMFILES ;
SavePos FOO ;
Get FILEOFF Long 0 ;
Math FILEOFF *= 2048 ;
SavePos FSO ;
Get FILESIZE Long 0 ;
Math FILESIZE *= 2048 ;
Get FILENAME String 0 ;
Log FILENAME FILEOFF FILESIZE FOO FSO ;
Math CURPOS += 32 ;
GoTo CURPOS 0 ;
Next T ;

QuickBMS Script

Compatible Programs

See Also