CHASE*.DAT files are a set of binary files that set the paths and some behaviors of cars seen in the introduction cutscene of the game. They are located in the
\data\paths\ folder. Each entry is 28 bytes in size, with the following format:
|0x00||word||velocity in x,y,z direction|
|0x0D||char||gas pedal power|
|0x0E||char||brake pedal power|
The following commands along with their details relate directly to the chase scene in the game's mission script.
START_CHASE_SCENE (opcode 0354) is a command that starts the chase scene. The scene consists of 13 unique cars following paths defined in the
CHASE*.DAT files. The minimum to get the chase scene to look decent is to start the cutscene "JB" with the appropriate cutscene objects, make the player safe using
MAKE_PLAYER_SAFE_FOR_CUTSCENE, and load the level collision using
LOAD_COLLISION. Depending on the implementation of the code, anything less can result in many undesirable behaviors, including crashing the game, unusual cycling of colors on cars, creating random collisional damages on cars, making the cars not move, or inability for the player to enter any cars. The game performs the loading of all car models for the scene so you do not need to load the models yourself. During the scene, many parts of the city's collision unloads.
The following table is the initialization of cars and their properties when the opcode is called. The index corresponds to which chase path to use. The data is located in a function at memory address 0x435810 for US v1.0.
STOP_CHASE_SCENE (opcode 0355) is a command that stops the chase scene started by
START_CHASE_SCENE by deleting all cars from the scene. The chase scene causes many parts of the city's collision to unload so, in order to restore the collision, place the player character outside Staunton Island to force the loading of level collisions.
REMOVE_CAR_FROM_CHASE (opcode 040A) is a command that removes the car from the chase scene started by
GET_CHASE_CAR (opcode 0439) is a command that gets the car from the chase scene started by
START_CHASE_SCENE. The car is also released from the chase scene and no longer follows its path. This command was never called in the original script of GTA III.