Rollcage 2 IMG: Difference between revisions
Jump to navigation
Jump to search
imported>Dinoguy1000 (update/cleanup) |
|||
| Line 1: | Line 1: | ||
{{GRAFPageHeader}} | |||
== IMG + IDX == | |||
{{GRAFPageMisc}} | |||
== | === Format Specifications === | ||
{{GRAFPageFormat|1={{BlockDescription| // IDX FILE }} | |||
: {{BlockDescription| // for each file }} | |||
:: uint32 {4} - File Offset | |||
:: uint32 {4} - Compressed File Length | |||
:: uint32 {4} - Decompressed File Length | |||
:: uint32 {4} - ''Unused'' | |||
{{BlockDescription| // IMG FILE }} | |||
: {{BlockDescription| // for each file }} | |||
:: char {4} - File Header {{Constant|(GT20)}} | |||
:: uint32 {4} - Decompressed File Length | |||
:: uint32 {4} - ''Unused'' {{InlineComment|(Same as the Unused field in the IDX File)}} | |||
:: uint32 {4} - Length of additional Information | |||
:: char {X} - Additional Information | |||
:: byte {X} - Compressed Data | |||
Compressed Data: | |||
: uint32 {4} - 'ControlBits' | |||
: char {X} - Compressed Data | |||
: uint32 {4} - 'ControlBits' | |||
: char {X} - Compressed Data | |||
: .. | |||
: The ControlBits say how to decompress the data. | |||
:: Whether the Bit is 0 and the next Byte is not compressed, | |||
:: or the Bit is 1 and the next Byte(s) is/are compressed. | |||
:: If the next Byte(s) is/are compressed, the next ControlBit say how its compressed. | |||
::: The Next Bit is 0: | |||
:::: The decompressor reads the next Byte from the Data. | |||
:::: This Byte OR FFFFFF00 (int32) say the decompressor how much bytes to go back. | |||
:::: From that position the decompressor copies 2 bytes to the end of the already decompressed Data. | |||
:::: If the next ControlBit is 1 the decompressor copies 2 additional Bytes. | |||
:::: If the next ControlBit is 1 the decompressor copies 1 additional Byte. | |||
::: The Next Bit is 1: | |||
:::: The decompressor reads the two next Bytes. | |||
:::: The first three bits of theese is the number of bytes to copy-2. | |||
:::: The rest 13 bits OR FFFFE000 (int32) defines the position from where the bytes have to be copied. | |||
:::: If the number of bytes to copy is 0, the decompressor reads also the next byte. | |||
::::: The first bit of this byte indicates that 2^14 will be deducated from the position from where the bytes have to be copied. | |||
::::: The rest is the number of bytes to copy-2. If this is again 0, the decompressor have to read the next 2 bytes, which is the number of bytes to copy. | |||
Example: | Example: | ||
}} | |||
=== MultiEx BMS === | === MultiEx BMS === | ||
Not written yet | |||
=== Notes and Comments === | |||
* The *.IDX file contains the directory, the *.IMG file contains the data | |||
=== | === Supported Programs === | ||
* [[Game Extractor|Game Extractor]] | |||
{{GRAFPageFooter}} | |||
{{DEFAULTSORT:{{PAGENAME}}}} | |||
[[Category:PC formats]] | |||
Revision as of 18:03, 21 October 2011
Back to index | Edit this page
IMG + IDX
- Format type: Archive
- Endianness: Little-endian
Format Specifications
// IDX FILE
- // for each file
- uint32 {4} - File Offset
- uint32 {4} - Compressed File Length
- uint32 {4} - Decompressed File Length
- uint32 {4} - Unused
// IMG FILE
- // for each file
- char {4} - File Header (GT20)
- uint32 {4} - Decompressed File Length
- uint32 {4} - Unused (Same as the Unused field in the IDX File)
- uint32 {4} - Length of additional Information
- char {X} - Additional Information
- byte {X} - Compressed Data
Compressed Data:
- uint32 {4} - 'ControlBits'
- char {X} - Compressed Data
- uint32 {4} - 'ControlBits'
- char {X} - Compressed Data
- ..
- The ControlBits say how to decompress the data.
- Whether the Bit is 0 and the next Byte is not compressed,
- or the Bit is 1 and the next Byte(s) is/are compressed.
- If the next Byte(s) is/are compressed, the next ControlBit say how its compressed.
- The Next Bit is 0:
- The decompressor reads the next Byte from the Data.
- This Byte OR FFFFFF00 (int32) say the decompressor how much bytes to go back.
- From that position the decompressor copies 2 bytes to the end of the already decompressed Data.
- If the next ControlBit is 1 the decompressor copies 2 additional Bytes.
- If the next ControlBit is 1 the decompressor copies 1 additional Byte.
- The Next Bit is 1:
- The decompressor reads the two next Bytes.
- The first three bits of theese is the number of bytes to copy-2.
- The rest 13 bits OR FFFFE000 (int32) defines the position from where the bytes have to be copied.
- If the number of bytes to copy is 0, the decompressor reads also the next byte.
- The first bit of this byte indicates that 2^14 will be deducated from the position from where the bytes have to be copied.
- The rest is the number of bytes to copy-2. If this is again 0, the decompressor have to read the next 2 bytes, which is the number of bytes to copy.
- The Next Bit is 0:
MultiEx BMS
Not written yet
Notes and Comments
- The *.IDX file contains the directory, the *.IMG file contains the data