Difference between revisions of "Grand Prix Legends File Specs"

From Grand Prix Legends Wiki
Jump to: navigation, search
Line 33: Line 33:
 
</ul>
 
</ul>
  
{| border="0" cellspacing="0" cellpadding="5"
+
{| border="0" cellspacing="5" cellpadding="0"
 
! align="left"|Bytes  
 
! align="left"|Bytes  
 
! align="left"|Values
 
! align="left"|Values

Revision as of 20:33, 11 April 2009

Menu

Home
File Specs
Programs
Links
Odds 'n' Bods

Grand Prix Legends File Formats
The following pages give the file specifications for the various files that make up a track in GPL.  Not everything is known yet, and any
help filling in the gaps will be much appreciated.

To start with, some notes:

  • The numbers are either 32 bit unsigned integers, or 32bit floating point numbers.  If dissecting by hand, bear in mind that they are
    stored least significant byte first:  1's,  256's,  65536's,  16777216's.  This makes the hex sequence 01 01 00 00 into the
    number 257 (decimal).  In C/C++, to read e.g. a float, do:   float x;   fread(&x, sizeof(float), 1, fileptr);
  • Most (all?) of the files & sections within files are of lengths which are a multiple of 4.  An example is the String section of a 3DO file
    where the data is of any length, then padded with 0x20's to an even 4.
  • Every file within a DAT file starts with a header section, which is as follows.  The DAT file header is different.
Bytes Values Notes
0-3 4 characters Gives the type of the section, e.g. "4OD3" (reverse to 3DO4) or "SZYX", etc.
4-7 number Seems to be fairly unimportant - usually 1 or 0. Can be regarded as sub-type.
8-11 data size Size in bytes of the following data.
12- data... data.


Bytes Values Notes
0-34 charactersGives the type of the section, e.g. "4OD3" (reverse to 3DO4) or "SZYX", etc.
4-7numberSeems to be fairly unimportant - usually 1 or 0.  Can be regarded as sub-type.
8-11data sizeSize in bytes of the following data.
12-data...Data.


And now for the files:
DAT files: Wrapper These are a wrapper for the hundreds of files that make up a track (or any other resource in the game)
3DO files: 3D objects Defines the 3D objects, e.g. cars, track, trackside objects...
MIP files: "Multum in parvo" (thanks Oliver) Store textures in several resolutions
SRB files: Single/Scaled Resolution Bitmap? Also textures, but in a scaled format?  Contains within a Mip file.
PBF files: Pictures Pictures for the non-game aspects, e.g. track posters.
TRK files: Track layout (by Nigel Pattinson) Stores the information required to drive the track, not see it.
TRK Tutorial Also, a tutorial
LP files: AI driving lines So the AI cars can drive perfect laps, overtake, etc.
CAM files: Cameras Camera locations for TV1, TV2 & Pitlane.
CCAM files: Car Cameras Car camera files
SETUP files: Car setups Detailed setups, as changed from the car setup screen.
WAV files: Wave files (non GPL specific) Sounds, believe it or not...
controls.cfg: Controller config Contains the controller setup info. (1 per player)