Difference between revisions of "JOEPack format"

From VDrift
Jump to: navigation, search
(New page: This is a simple file format that just crams a bunch of files together, like a zip file, but without any compression.)
 
(Beginning of real file format documentation - will finish soon)
Line 1: Line 1:
 
This is a simple file format that just crams a bunch of files together, like a zip file, but without any compression.
 
This is a simple file format that just crams a bunch of files together, like a zip file, but without any compression.
 +
 +
==Technical specification==
 +
 +
"JoePack" is a binary file format in which multi-byte values are expressed with the little-endian byte order. This section details version 1 of the file format.
 +
 +
''Note: This documentation was generated by reverse engineering the source code.  So there may be errors in evaluation.''
 +
=== Data Type Map ===
 +
The following table explicitly defines the various data types used in a JOE file.
 +
{| border="1"
 +
!Identifier!!Detailed Description
 +
|-
 +
|uint||32-bit un-signed integer
 +
|-
 +
|ushort||16-bit un-signed integer
 +
|-
 +
|string||Array of characters
 +
|}
 +
 +
=== File Header ===
 +
This block of information initiates every file.
 +
 +
{| border="1" width="100%"
 +
!data type!!block offset!!name!!description
 +
|-
 +
|string||0||versionstr
 +
|report the file version that this file conforms to.  This specification details version 1 of the format.
 +
|-
 +
|unsigned int||8||numobjs
 +
|This is the number of files contained in the pack
 +
|-
 +
|unsigned int||12||maxstrlen
 +
|The maximum file name length in this pack
 +
|}

Revision as of 18:43, 23 March 2009

This is a simple file format that just crams a bunch of files together, like a zip file, but without any compression.

Technical specification

"JoePack" is a binary file format in which multi-byte values are expressed with the little-endian byte order. This section details version 1 of the file format.

Note: This documentation was generated by reverse engineering the source code. So there may be errors in evaluation.

Data Type Map

The following table explicitly defines the various data types used in a JOE file.

Identifier Detailed Description
uint 32-bit un-signed integer
ushort 16-bit un-signed integer
string Array of characters

File Header

This block of information initiates every file.

data type block offset name description
string 0 versionstr report the file version that this file conforms to. This specification details version 1 of the format.
unsigned int 8 numobjs This is the number of files contained in the pack
unsigned int 12 maxstrlen The maximum file name length in this pack