Heroes Of Might And Magic 4 H4R: Difference between revisions
Jump to navigation
Jump to search
imported>AKuHAK |
imported>AKuHAK |
||
| Line 32: | Line 32: | ||
::: uint16 {2} - Directory Name Length <br> | ::: uint16 {2} - Directory Name Length <br> | ||
::: char {X} - Directory Name <br> | ::: char {X} - Directory Name <br> | ||
::: uint16 {2} - Pointer Name Length <font color="purple">(null)</font><br> | ::: uint16 {2} - Pointer Name Length <font color="purple">(always null for pointer data)</font><br> | ||
::: char {X} - Pointer Name <font color="purple">(null - doesn't exist)</font> <br> | ::: char {X} - Pointer Name <font color="purple">(null - doesn't exist)</font> <br> | ||
::: uint32 {4} - Compression Level <font color="purple">( | ::: uint32 {4} - Compression Level <font color="purple">(0 - without compression, 3 - normal gzip compression)</font><br> | ||
::: <font color="blue"> ''' } ''' </font> <br> | ::: <font color="blue"> ''' } ''' </font> <br> | ||
:: <font color="blue"> ''' else { ''' </font> <br> | :: <font color="blue"> ''' else { ''' </font> <br> | ||
::: <font color="blue"> ''' // Pointer ''' </font> <br> | ::: <font color="blue"> ''' // Pointer ''' </font> <br> | ||
::: uint16 {2} - Filename Length <font color="purple">(null)</font> <br> | ::: uint16 {2} - Filename Length <font color="purple">(always null for pointer data)</font> <br> | ||
::: char {X} - Filename <font color="purple">(null - doesn't exist)</font> <br> | ::: char {X} - Filename <font color="purple">(null - doesn't exist)</font> <br> | ||
::: uint16 {2} - Directory Name Length <font color="purple">(null)</font> <br> | ::: uint16 {2} - Directory Name Length <font color="purple">(always null for pointer data)</font> <br> | ||
::: char {X} - Directory Name <font color="purple">(null - doesn't exist)</font> <br> | ::: char {X} - Directory Name <font color="purple">(null - doesn't exist)</font> <br> | ||
::: uint16 {2} - Pointer Name Length<br> | ::: uint16 {2} - Pointer Name Length<br> | ||
::: char {X} - Pointer Name <font color="purple">(must be equivalent to existing FileName)</font><br> | ::: char {X} - Pointer Name <font color="purple">(must be equivalent to existing FileName)</font><br> | ||
::: uint32 {4} - Compression Level <font color="purple">( | ::: uint32 {4} - Compression Level <font color="purple">(always null for pointer data)</font><br> | ||
::: <font color="blue"> ''' } ''' </font> <br> | ::: <font color="blue"> ''' } ''' </font> <br> | ||
Revision as of 08:03, 23 October 2012
Choose archive extension:
H4R
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
byte {4} - Header (72 52 82 5)
uint32 {4} - Directory Offset
byte {X} - File Data
// Directory
- uint32 {4} - Number Of Files
- // for each file
- uint32 {4} - Data Offset
- uint32 {4} - File Length
- uint32 {4} - Directory Length (compresed size)
- uint32 {4} - Time? (UNIX format)
- uint32 {4} - Data Offset
- if (fileNameLength > 0){
- // File
- uint16 {2} - Filename Length
- char {X} - Filename
- uint16 {2} - Directory Name Length
- char {X} - Directory Name
- uint16 {2} - Pointer Name Length (always null for pointer data)
- char {X} - Pointer Name (null - doesn't exist)
- uint32 {4} - Compression Level (0 - without compression, 3 - normal gzip compression)
- }
- // File
- else {
- // Pointer
- uint16 {2} - Filename Length (always null for pointer data)
- char {X} - Filename (null - doesn't exist)
- uint16 {2} - Directory Name Length (always null for pointer data)
- char {X} - Directory Name (null - doesn't exist)
- uint16 {2} - Pointer Name Length
- char {X} - Pointer Name (must be equivalent to existing FileName)
- uint32 {4} - Compression Level (always null for pointer data)
- }
- // Pointer
- if (fileNameLength > 0){
MultiEx BMS Script
Not written yet