BMC format is a file format used in Wacky Wheels to control player one during demo mode. Seen while viewing ordering instructions and game instructions, or when you don’t press any keys at the main menu for a while. There are six BMC files in wacky.dat: 1.bmc through 5.bmc control the main player for Regular Bronze Wheels tracks 1–5, and 7.bmc is for Regular Silver Wheels track 2.
Each action performed is described using a three-byte struct. The first two bytes of the file are a UINT16LE giving the number of structs in the file.
Format of the structs:
|INT16LE||duration||Minimum duration is 0x01. 0x100 is about 23 seconds long. Note that this is a signed value so the maximum duration is 0x7FFF, or about 49 minutes. Negative or zero duration work the same way as 0x01 duration.|
|UINT8||action||See table below.|
At some point, the demo game will start over, or skip to the next track. If your BMC file doesn’t end with an End Sequence action (0x40), the game may start playing back actions read previously from another file. I don’t know how many actions you can fit into the allotted time, or whether the time would be extended if the file hasn’t been performed completely.
Each action is a bitfield composed of one or more actions below. For example, to do a right handbrake turn, combine steer-right (0x02) and handbrake (0x20) to have an action of 0x22. Some of the combinations of actions don’t make sense or aren’t very useful (such as steering left and right at the same time.)
None of the combinations trigger a jump or turbo, and the jump and turbo start-up codes have no effect on the computer player. However, if you set a high enough duration for one of the actions where you fire, then you’ll get an ice cube, so the registered version cheat works for the computer player.
The fire, ice and hog start-up codes also work. If you use one of these codes and don’t fire off some of your ammo, you’ll bounce off of the hedgehog packs and other objects on the track. To make the player follow the same course whether or not these cheats are enabled, make sure that you have no more than 98 shots whenever you’re about to drive over an object to pick up.
|00100000||20||Hand brake turn left|
|01000000||40||End sequence and go back to the start|
This format was reverse engineered by Phil Carter and Klas Arvidsson. If you find this information helpful in a project you’re working on, please give credit where credit is due. (A link back to this wiki would be nice too!)