This version is outdated by a newer approved version.This version (2017/08/29 19:38) was approved by zdimension.
This is an old revision of the document!
GAMEWAD.OBJ (TR5 NTSC 1.0)
By: Gh0stBlade
//The number of file entries stored in GAMEWAD.OBJ. #define NUM_GAMEWAD_FILE_ENTRIES 51 //Maximum size of the GAMEWAD header struct. #define GAMEWAD_HEADER_MAX_LENGTH 512 struct GamewadEntry { int fileOffset; int fileSize; }; struct GamewadHeader { struct GamewadEntry entries[NUM_GAMEWAD_FILE_ENTRIES]; char reserved[GAMEWAD_HEADER_MAX_LENGTH - (NUM_GAMEWAD_FILE_ENTRIES * sizeof(GamewadEntry))]; }; enum GamewadFiles { NONE, // Used to initialise Gamewad offset to 0. CUTSEQ, TITLE, ANDREA1, // Guessed ANDREA2, ANDREA3, JOBY2, JOBY3, JOBY4, JOBY5, ANDY1, ANDY2, ANDY3, RICH1, RICH2, RICHCUT2, RICH3, // End Guessed RESERVED_17, // 0 bytes RESERVED_18, // 0 bytes RESERVED_19, // 0 bytes RESERVED_20, // 0 bytes RESERVED_21, // 0 bytes RESERVED_22, // 0 bytes RESERVED_23, // 0 bytes RESERVED_24, // 0 bytes RESERVED_25, // 0 bytes RESERVED_26, // 0 bytes RESERVED_27, // 0 bytes RESERVED_28, // 0 bytes RESERVED_29, // 0 bytes UNKNOWN_30, // 16bpp TR5 Extras Storyboards (ENG) 512x UNKNOWN_31, // 16bpp TRN Extras Storyboards 512x UNKNOWN_32, // 16bpp TR5 Extras Storyboards (ENG) 512x RESERVED_33, // 0 bytes RESERVED_34, // 0 bytes RESERVED_35, // 0 bytes RESERVED_36, // 0 bytes RESERVED_37, // 0 bytes RESERVED_38, // 0 bytes RESERVED_39, // 0 bytes RESERVED_40, // 0 bytes UNKNOWN_41, // 16bpp TR5 Legal Screen (ENG) 512x256 & 16bpp Loading CD (64x64) UNKNOWN_42, // 16bpp TR4 Legal Screen (FR) 512x256 & 16bpp Placeholder loading CD (64x64) UNKNOWN_43, // 16bpp TR4 Legal Screen (US) 512x256 & 16bpp Placeholder loading CD (64x64) UNKNOWN_44, // 16bpp TR4 Legal Screen (ENG) 512x256 & 16bpp Placeholder loading CD (64x64) UNKNOWN_45, // 16bpp TR4 Legal Screen (ENG) 512x256 & 16bpp Placeholder loading CD (64x64) UNKNOWN_46, // 16bpp TR5 Legal Screen (ENG) 512x256 & 16bpp Loading CD (64x64) UNKNOWN_47, // 16bpp TR4 Legal Screen (US) 512x256 & 16bpp Placeholder loading CD (64x64) UNKNOWN_48, // 16bpp TR4 Legal Screen (ENG) 512x256 & 16bpp Placeholder loading CD (64x64) UNKNOWN_49, // 4bpp TR4 Logo (FR) 256x58 UNKNOWN_50 // 4bpp TR4 Logo (ENG) 256x58 };
The original PlayStation engine loads 512 bytes of data (GAMEWAD_HEADER_MAX_LENGTH) into the gamewad buffer. Level file entries contain 3 other files prior to the level file itself.
- 262144 bytes of data is a 16bpp 512×256 BGR loading screen image.
- 8192 bytes of data is a 16bpp 64×64 BGR spinning CD image.
- 42012 is “SETUP.MOD” an external module similar to a DLL file (for the final NTSC version of Tomb Raider Chronicles) the size may vary depending on the version.
UNKNOWN_41 and UNKNOWN_46 are identical. UNKNOWN_44 and UNKNOWN_45 are too. Same for UNKNOWN_43 and UNKNOWN_47. And UNKNOWN_44 and UNKNOWN_48.
For the file to be loadable by the PSX engine, all the file offsets must aligned to 2048 (
0x800
). i.e. they must be aligned to the next multiple of 2048 which is the size of a single CD sector.
Hidden messages
Tomb Raider 4
Too lazy to download it, someone give me TR4 gamewad.obj plz?
Tomb Raider 5
Game : Tomb Raider 5 PSX (US), file : GAMEWAD.OBJ
, offset : 0x498
, length : 451 characters before null
TR5 DATA FILE (C) 2000 Core Design... 'gamewad.asm' Compiled by Del - 00:08:25 Thursday 2nd of November 2000. this version built by Del, second attempt submission, 1/11/2000.... Hiya to Caroline and Abbie! lets hope we get to do a nice ONLINE game next... EVERQUEST RULES... ADSL ROCKS, when it works... someone really should kill BT , they suck.
With newlines:
TR5 DATA FILE (C) 2000 Core Design... 'gamewad.asm' Compiled by Del - 00:08:25 Thursday 2nd of November 2000. this version built by Del, second attempt submission, 1/11/2000.... Hiya to Caroline and Abbie! lets hope we get to do a nice ONLINE game next... EVERQUEST RULES... ADSL ROCKS, when it works... someone really should kill BT , they suck.