GTA Series IMG DIR: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
m (Ikskoks moved page GTA San Andreas IMG to GTA Series IMG DIR)
imported>Ikskoks
Line 1: Line 1:
== IMG ==  
== IMG, DIR ==  


* ''' Format Type ''':    Archive <br>  
* ''' Format Type ''':    Archive <br>  
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>  
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>  
* ''' Signature ''':    VER2 <br>




=== Format Specifications ===  
=== Format Specifications ===  
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<pre>
// header
4 bytes (char) - signature
</pre>
</div>
=== Format Specifications (version 2) ===


<tt><b>
<tt><b>
char {4}&nbsp;&nbsp;&nbsp;&nbsp; - Header <font color="purple">(VER2)</font> <br>  
char {4}&nbsp;&nbsp;&nbsp;&nbsp; - Signature <font color="purple">(VER2)</font> <br>  
uint32 {4}&nbsp;&nbsp; - Number Of Files <br>  
uint32 {4}&nbsp;&nbsp; - Number Of Files <br>  
<br>
<br>

Revision as of 17:23, 20 May 2022

IMG, DIR

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : VER2


Format Specifications

// header
4 bytes (char) - signature 



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

MultiEx BMS

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 ;

Supported Programs