BMC Format

From ModdingWiki
Jump to navigation Jump to search
BMC Format
Format typeMacro
Maximum length49 min

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:

Data type Name Description
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.

Binary Hex Action
00000000 00 Do nothing
00000001 01 Steer left
00000010 02 Steer right
00000100 04 Accelerate
00001000 08 Fire
00010000 10 Brake
00100000 20 Hand brake turn left
01000000 40 End sequence and go back to the start
10000000 80 Unused?


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!)