GameX

Back to file listing

The GameX files
Wasteland is a map-driven game. The main map data is stored in these files called GAME1 and GAME2. GAME1 resided on Disk 1, and GAME2 resided on Disk 2. The GameX files are chopped up into blocks which have the letters "msq" in the header, so we call them "MSQ blocks".... So, the overall structure of the GAMEx files is like so:

The MSQ blocks are encrypted using a one-byte encryption based on the XOR operation. It's fairly simple to Decrypt.

The MSQ blocks are atomic. They are self-contained, and their encryption does not rely on data from outside the block. Each block holds the data for a single map. All of the MSQ blocks in GAME1 have the number '0' immediately following the 'q', i.e. the header reads "msq0". Similarly, all the MSQ blocks in GAME2 have the number '1' immediately following the 'q'.

The Save Game
Both of the MSQ blocks contains the SAVE GAME information. By modifying this section, Characters can be Edited who are already in the party. Characters who are not yet in the party can be found in the Monster/Encounter data NPC section.

MSQ map block offsets
The offsets to the MSQ map blocks are hardcoded in the EXE file. The offsets for the 20 maps in GAME1 are at seg2:bc7a. The offsets for the 22 maps in GAME2 are right behind the GAME1 offsets at seg2:0xbcca. Each offset is a 32 bit little-endian value.

MSQ map sizes
The map sizes (32 or 64) are also hardcoded in the EXE file. The sizes for the 20 maps in GAME1 are at seg2:bf1c. The offsets for the 22 maps in GAME2 are right behind the GAME1 map sizes at seg2:bf30. Each size is single byte with the value 0x20 or 0x40 indicating a map with the size 32x32 or 64x64.