Car Blaster

From Stunts Wiki
Car Blaster title screen.

Car Blaster is a graphical DOS hex editor for the CAR*.RES files which define car parameters in Stunts. It was developed by Mark Nailwood and released in its current version (3.2) in 1997. Car Blaster offers a number of conveniences which make editing of paramters far more comfortable than with a standard hex editor, and thus is employed by virtually all current car tuners.

Overview of main features

Car Blaster's graphical interface, despite not possessing mouse support, is relatively straightforward and simple to learn. The main edition window displays the 814 initial bytes, thus including all the fixed offset parameters, of a chosen CAR*.RES file in the form of a barplot. Changing a certain byte value simply requires navigating to its location and modifying column heights with keyboard arrows. Byte values and offsets are displayed by default as decimal numbers, a behaviour which can be counterintuitive at times but is easily modified with the h/H keys. As a further convenience in edition, a colour legend indicates the function of a number of significant bytes. Although said legend is not completely accurate (see car parameters), it is quite helpful while tuning. Text bytes are not covered by the main interface, however there is a separate interface for direct typing of such data.

A typical editing sesion on Car Blaster.

The major feature that sets Car Blaster apart from an usual hex editor, however, is the capability of loading two cars simultaneously, reminiscent of the Track Blaster tool. On Car Blaster, an active is loaded on foreground and the other on background, byte values for the same offset being displayed next to each other in the GUI, thus allowing for quick visual comparison of parameters. Moreover, pressing enter copies the background value to the foreground cars, allowing the user to save a lot of effort when transferring whole sequences of values from an old car to a new one. There are also keybindings for switching loaded cars and swapping foreground/background within the main interfaces, so that the user rarely needs leaving to the main menu during edition. Finally, it is also possible to copy ranges of consecutive bytes from one car to the other.

Limitations and bugs

Noteworthy issues with regular Car Blaster usage include:

  • The "Load Car" routine (accessed via F3 in the main menu) fails to load the CAR*.RES of cars using the Audi car shape (STAUDI.P3S), allegedly due to an out-of-bounds file size. Since the program does not use actual graphics data, there would be no justification for such restriction. It is possible, however, to edit cars with Audi graphics - the user merely has to load another car and employ the "Swap Car" (F9/F10) feature on the main interface.
  • Users of the "Swap Car" keybindings must be wary that pressing F9 (swap to the previous car) with the first (in alphabetical order) CAR*.RES on foreground or F10 (swap to next car) with the last car selected will cause an unhandled segmentation fault, and thus a hard crash.
  • When saving a CAR*.RES file, CarBlaster will check for the existence of the *.PVS and *.P3S (but not *.VSH and *.3SH) graphic files for the car. if they are not present, the program will create copies of the graphics of the last regular car loaded and rename them accordingly so they can be used with the new car. While this behaviour is intentional (aiming to save time when creating a new car using some of the default car graphics), it becomes an annoyance when developing cars with custom graphic files.

It's really great that people are shanrig this information.