GTA Series IMG DIR: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| Line 10: | Line 10: | ||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | <div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | ||
<pre> | <pre> | ||
// DIR file format (version 1) | |||
// | 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" | |||
} | |||
</pre> | </pre> | ||
</div> | </div> | ||
Revision as of 17:39, 20 May 2022
IMG, DIR
- Format Type : Archive
- Endian Order : Little Endian
- Signature : VER2
Format Specifications (version 1)
// DIR file format (version 1)
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"
}
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))
- 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
Notes and Comments
None.
Games
List of games using this file format:
- GTA 3 (PC) (*.IMG / *.DIR)
- GTA Vice City (PC) (*.IMG / *.DIR)
- GTA San Andreas (PC) (*.IMG)
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
None.
Compatible Programs
See Also