This version (2017/08/29 21:38) was approved by zdimension.

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.

  1. 262144 bytes of data is a 16bpp 512×256 BGR loading screen image.
  2. 8192 bytes of data is a 16bpp 64×64 BGR spinning CD image.
  3. 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.                                                        
trs/psx/gamewad.txt · Last modified: 2017/08/29 21:38 by zdimension
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0