God of Thunder

From ModdingWiki
Jump to: navigation, search
God of Thunder
God of Thunder.png
Mod-God of Thunder.png
Levels?Tick.png Editable
Tiles?Tick.png Editable
Sprites?X mark.svg Not editable
Fullscreen?X mark.svg Not editable
Sound?X mark.svg Not editable
Music?Tick.png Editable
Text?X mark.svg Not editable
Story/cutscenes?X mark.svg Not editable
UI/menus?X mark.svg Not editable

God of Thunder is a strategy game, where the player walks between a number of separate screens, typically solving a puzzle before the next screen can be reached.

Tools

The following tools are able to work with this game.

Name PlatformGroup/archives Levels Graphics Music Sounds Text Saves .exe patch Notes
Camoto Linux/WindowsEditEditEditEditNoNoNoNo
Grom PE's unpacker Windows consoleExtractNoNoConvertNoNoNoNo
Wombat WindowsExtractNoNoConvertNoNoNoNo

File formats

The following file formats are used by this game.
Filename Format Details
gotres.dat DAT Format (God of Thunder) Main data file holding most of the other files below
_g[123].exe Standard .exe, compressed with LZEXE Episode-specific code
actor* 16×16 8bpp tiles Frames for creatures/enemies, trailing data unknown but includes tile names
bossv* VOC Format Sound effects
bpics*
face*
hampic
objects
odinpic
openback
openp*
status
storypic
God of Thunder Tileset Format Various tiles and images
palette
storypal
VGA Palette 8-bit (0-255)
sdat[123] God of Thunder Level Format Level screens
*song
song*
God of Thunder Music Format Background music is raw OPL, in a slightly different arrangement to other common formats
speak[123]
story[123]
ASCII text (CRLF) Various game texts

Parameters

The game supports a handful of command-line parameters.

Parameter Purpose
/VERSION Print game and front end versions
/GRAPHICS Skip detection and assume VGA card present
/NOAL Disable Adlib detection?
/NOSB Disable SoundBlaster support (use PC speaker sound effects)
/SBTONE  ?
/FORCESB Force use of SoundBlaster even if not detected
/NOJOY Disable Joystick support
/VOLSTAGG Enable cheats
/HELA  ?
/RETURN Skip intro, start at title
/KEYRETURN Skip intro and title, start at menu
/SCORE:n Set high score to name given by /SAVEGAME
/SAVEGAME:SAVEGAMx.yyy Pass to _G[123].EXE to load and play given saved game file
/EXIT Show exit screen only
/LOCKDEMO Lock until demo - run intro/credits/highscores/demo, ignoring keypresses until the demo starts

Compression

Some data inside the .exe is compressed with the same LZSS algorithm used in the .DAT file, while others are simply RLE-encoded with this algorithm:

  1. Read a byte from the input (decompressed) data
  2. If the byte is zero, finish
  3. If the most significant bit is 1:
    1. Take the lower seven bits and treat this value as the "count"
    2. Read another byte from the input
    3. Write that byte "count" times to the output
  4. Otherwise the most significant bit is 0:
    1. Treat the byte as the "count"
    2. Copy "count" bytes unchanged from the input to the output
  5. Go back to step 1