Wacky Wheels is a light-hearted racing game where you can shoot hedgehogs (among other things) at your opponents in an attempt to overtake them.
The following tools are able to work with this game.
- For information about editing Wacky Wheels tracks, see Wacky Wheels Track Format.
- For information about editing the graphics in Wacky Wheels, see Wacky Wheels Graphics Formats.
- For information about editing the sound effects and music in Wacky Wheels, see Wacky Wheels Music and Sound Effects.
Most of the data files for Wacky Wheels are stored in wacky.dat, which is an archive file containing a number of other files. For the file format of wacky.dat itself, see DAT Format.
Note also that the file audiot.fx in wacky.dat is itself an archive file, containing 54 unnamed files. See the entry for *.fx in the table below.
Files in wacky.dat
|ndist||A table of integers that influence where objects are drawn on the screen at different viewing angles. See Tabulated data for drawing the screen.|
|slp||A table of integers that influence when objects are considered to be in your field of view. See Tabulated data for drawing the screen.|
|view||A table of integers that influence the apparent distance of objects and other drivers. See Tabulated data for drawing the screen.|
|sprite.atr||Contains file names and properties for sprites used at objects on the track. See sprite.atr.|
|*.bin||B800 Text. Registered version (wwreg.bin) and shareware (wwsw.bin) exit screens.|
|*.bmc||Controls the computer player during demo mode. See BMC Format.|
|trig.dat||Series of (x, y) pairs that describe a circle. See Tabulated data for drawing the screen.|
|*.fx||Uncompressed AudioT Format sound effects for PC speaker and AdLib. The archive file audiot.fx contains 26 files of each format. audiohed.fx is the header file for audiot.fx. See Wacky Wheels Music and Sound Effects.|
|*.gam||Track data. See Wacky Wheels Track Format.|
|*.htt||Default high score files for single player races. See Files not in wacky.dat for the file format.|
|*.inf||Unknown; perhaps hotspot coordinates for sprites as seems to contain signed 32-bit integers. See Klas Arvidsson’s notes.|
|wacky.ing||Unknown. Looks like an unused default high score file, but the first 66 bytes have to do with memory allocation and possibly other things. See wacky.ing.|
|*.klm||Game music in AdLib KLM Format. See Wacky Wheels Music and Sound Effects.|
|*.m||Track maps. See Wacky Wheels Track Format.|
|*.mid||Game music in MIDI Format. See Wacky Wheels Music and Sound Effects.|
|gig.mov||Controls the motion of the “giggle key” devils remain in two-player races. Also controls the devil that says “last lap.” See Devil motion.|
|*.ott||Default time trial high score files. See Files not in wacky.dat for the file format.|
|*.par||Background images for the races (buildings, etc. on the horizon). See Horizon graphics – *.par.|
|*.pcx||Game graphics in PCX Format. See Wacky Wheels Graphics Formats.|
|*.pos||Determines which direction is the wrong way in a race. See Wacky Wheels Track Format.|
|*.rd||The course followed by the computer players in each race. See Wacky Wheels Track Format.|
|wacky.sdx||Starts with an UINT16LE of 30, followed by 30 structs of 302 bytes each.
Changing the first 256 bytes will screw particles for player wheels.
Changing lots of its content makes DOSBox print DYNX86: Can't run code in this page !.
|*.sin||Sets the properties of each type of tile. See Wacky Wheels Track Format.|
|*.sp||Sprites. See *.sp.|
|*.spw||Where objects are placed on the map. See Wacky Wheels Track Format.|
|*.tab||Sets the top speed and acceleration curve for the human players. See Changing go kart/lawnmower speed.|
|*.voc||Sound effects in VOC Format. See Wacky Wheels Music and Sound Effects.|
|map.xy||Related to mini-map view (4096 bytes = 64*64 tiles), when not present, displays garbage at middle of screen.
These are offsets to coordinates X = 0, Y = 60 on screen, when values are incremented, the players drawn in mini map are all offset by the same amount of pixels.
When all set to zero, all players are all drawn at X = 0, Y = 60 position on screen, which confirms the previous theory.
Its content is best described as a sawtooth wave pattern where values starts at 0x00 and increments (possibly) up to 0x4D, over and over until EOF.
It's hard to tell why exactly it's content is like that but certainly it's a pre-computed table of some sort to save some CPU cycles.
Files not in wacky.dat
|wacky.cfg||Generated by setup.exe. Contains settings selected in setup.exe. Also contains saved games for one- and two-player races. See Wacky Wheels Configuration Format.|
|wacky.dtt||High scores for the Wacky Duck Shoot. See editing duck shoot high scores.|
|wacky*.hi||High scores for single-player races. See editing single-player race high scores.|
|wacky*.tim||High scores for time trials. See editing time trial scores.|
- Wacky Wheels does not read files from the current directory first, before falling back to WACKY.DAT. This means any modified files must be packaged up into the DAT file before they can be tested.
- As an addition to the previous note, since files aren't compressed, you can also directly edit WACKY.DAT content in a hex-editor for a quick roundtrip when trying to understand its secrets.
There are two versions, first is licensed to Apogee Software, second is distributed by Beavis Soft directly, both differ only by a few bytes:
WACKY.DAT 003ED60D: F7 77 0040D60D: F9 79 005FD60D: C1 41
WW.EXE 0005D60D: E8 68
- Phil's Wacky Wheels site (some modding info)