Burnout Game Data (Takedown-Dominator)/Burnout 3

This page is a work in progress. Check back later for more complete information.

Structures

Names are guessed based on debugging symbols from Burnout Revenge (2005-07-14 build).

CB3GameDataStruct

Offset Length Type Name Description Comments
0x0 0x4 RwUInt32 muVersionNumber Game data format version 9
0x4 0x4 Padding
0x8 0x190 GtID[50] maStageDataIDs Stage IDs
0x198 0xC8 RwInt32[50] manStageDataOffsets Stage data See CB3GameStageDataStruct
0x260 0x4 RwInt32 mnNumStages Number of stages
0x264 0x4 RwInt32 mnSingleRaceDataOffset Single race data See CB3SingleRaceDataStruct
0x268 0x4 RwInt32 mnTrackDataOffset Track data See CB3TrackDataStruct
0x26C 0x4 RwInt32 mnTrafficDataOffset Traffic data See CB3TrafficDataStruct
0x270 0x4 RwInt32 mnTrafficLanesDataOffset Traffic lanes data See CB3TrafficLanesStruct
0x274 0x4 RwInt32 mnAILanesDataOffset AI lanes data See CB3AILanesDataStruct

CB3GameStageDataStruct

 
Hmmm...
To do:
Verify the medal thresholds are actually medal thresholds and check further samples to see if the end fields (0x3E0+) exist.
Offset Length Type Name Description Comments
0x0 0x390 CB4AIDriverStruct[6] maDrivers Drivers
0x390 0x8 GtID mTrackID Track ID
0x398 0x8 GtID mStageID Stage ID
0x3A0 0x4 RwReal mrGoldThreshold Gold medal threshold
0x3A4 0x4 RwReal mrSilverThreshold Silver medal threshold
0x3A8 0x4 RwReal mrBronzeThreshold Bronze medal threshold
0x3AC 0x4 RwInt32 ? 15 in samples
0x3B0 0x4 RwInt32 ? 20 in samples
0x3B4 0x4 RwInt32 mnNumDrivers Number of drivers 6 in samples
0x3B8 0x4 RwInt32 mnNumLaps Number of laps
0x3BC 0x4 RwInt32 mnTrackDataSetSize Track data size
0x3C0 0x4 RwInt32 mnTrackDataSetOffset Track data See CB3TrackDataStruct
0x3C4 0x4 RwInt32 mnTrafficDataSetSize Traffic data size
0x3C8 0x4 RwInt32 mnTrafficDataSetOffset Traffic data See CB3TrafficDataStruct
0x3CC 0x4 RwInt32 mnTrafficLanesSetSize Traffic lanes size
0x3D0 0x4 RwInt32 mnTrafficLanesSetOffset Traffic lanes See CB3TrafficLanesStruct
0x3D4 0x4 RwInt32 mnAILanesSetSize AI lanes size
0x3D8 0x4 RwInt32 mnAILanesSetOffset AI lanes See CB3AILanesDataStruct
0x3E0 0x1 RwUInt8 mu8HardStart Hard start
0x3E1 0x1 RwInt8 mn8CrashGolfPar Crash golf par
0x3E2 0x2 RwUInt8[2] mau8Pad Padding

CB3AIDriverStruct

 
Hmmm...
To do:
List flags.
Offset Length Type Name Description Comments
0x0 0x8 GtID mVehicleClass Vehicle class ID
0x8 0x8 GtID mVehcileID Vehicle ID
0x10 0x40 RwReal[16] marMinSplitValues Minimum split values
0x50 0x40 RwReal[16] marMaxSplitValues Maximum split values
0x90 0x1 RwUInt8 mu8Aggression Aggression
0x91 0x1 RwUInt8 mu8AggressionMax Maximum aggression
0x92 0x1 RwUInt8 mu8AggressionDelta Delta aggression
0x93 0x1 RwUInt8 mu8CatchupTailoff Catchup tailoff
0x94 0x1 RwInt8 mn8VehicleColour Vehicle color
0x95 0x1 RwInt8 mn8TakedownDifficulty Takedown difficulty
0x96 0x1 RwInt8 mx8Flags Flags
0x97 0x1 RwUInt8 mu8Difficulty Difficulty

CB3TrackDataStruct

 
Hmmm...
To do:
Find out whether crash pickups or ramps are present (it's one or the other).
Offset Length Type Name Description Comments
0x0 0x1E0 CB3StartPositionStruct[6] maStartPositionStructs Start positions
0x1E0 0x40 CB3PlanarTriggerStruct[2] maStartLineStructs Start lines
0x220 0x40 CB3PlanarTriggerStruct[2] maFinishLineStructs Finish lines
0x260 0x180 CB3PlanarTriggerStruct[12] maSplitTimeCheckpointStructs
0x3E0 0x4 CB3SignatureTakedownStruct* mpSignatureTakedowns Signature takedowns
0x3E4 0x4 CB3CrashModePickupStruct* mpCrashModePickups Crash Mode pickups
0x3E8 0x4 RwUInt32 muVersionNumber Version number 5
0x3EC 0x4 RwInt32 mnNumStartLines Number of start lines
0x3F0 0x4 RwInt32 mnNumFinishLines Number of finish line
0x3F4 0x4 RwInt32 mnNumSplitTimeCheckpoints Number of split time checkpoints
0x3F8 0x4 RwInt32 mnNumSignatureTakedowns Number of Signature Takedowns
0x3FC 0x4 RwInt32 mnNumCrashModePickups Number of Crash Mode pickups

CB3StartPositionStruct

 
Hmmm...
To do:
Confirm the fields following the matrix are the same as in Revenge.
Offset Length Type Name Description Comments
0x0 0x40 CGtMatrix3x4 mMatrix
0x40 0x4 RwInt32 mnStreamUnitIndex
0x44 0x4 RwInt32 mnAILaneIndex
0x48 0x4 RwInt32 mnAILaneSegmentIndex
0x4C 0x4 RwInt32 mnPad Padding

CB3PlanarTriggerStruct

Offset Length Type Name Description Comments
0x0 0x10 CGtSphere mSphere
0x10 0x10 CGtV3d mPlaneNormal

CB3SignatureTakedownStruct

Offset Length Type Name Description Comments
0x0 0x40 CGtOrthogonalBox mSigTDBox Start and end coordinates of the zone into which a rival must be taken down
0x40 0x4 EB3SignatureTakedownType meType
0x44 0xC Padding

CB3CrashModePickupStruct

 
Hmmm...
To do:
List types and flags.
Offset Length Type Name Description Comments
0x0 0x10 CGtV3d mPosition
0x10 0x1 RwUInt8 meType
0x11 0x1 RwUInt8 mu8Flags
0x12 0x2 RwUInt8[2] mau8Pad Padding
0x14 0xC Padding

CB3TrafficDataStruct

 
Hmmm...
To do:
Document structure.

CB3TrafficLanesStruct

 
Hmmm...
To do:
Document structure.

CB3AILanesDataStruct

 
Hmmm...
To do:
Check whether the color fields at the end still exist (they may not).
Offset Length Type Name Description Comments
0x0 0x4 RwUInt32 mnLaneDataVersion Version number 3
0x4 0x4 RwInt32 mnLaneCount Number of AI lanes
0x8 0x4 RwInt32 mnSliceCount Number of slices
0xC 0x4 RwInt32 mnCornerCount Number of AI corners
0x10 0x4 RwUInt32 mnCheckpointCount Number of AI checkpoints
0x14 0x4 CB3AILaneStruct* mpLanesArray AI lanes
0x18 0x4 CB3SliceStruct* mpSlicesArray Slices
0x1C 0x4 CB3AICornerStruct* mpCornersArray AI corners
0x20 0x4 CGtV3d* mpNodesArray Nodes
0x24 0x80 CB3AICheckpoint[8] maCheckpoints AI checkpoints
0xA4 0x1 RwUInt8 mn8ColourOccluded Colour occluded
0xA5 0x1 RwUInt8 mn8ColourVisible Is colour visible
0xA6 0x2 Padding

CB3AILaneStruct

 
Hmmm...
To do:
Document structure.

CB3SliceStruct

 
Hmmm...
To do:
Confirm fields after length still exist.
Offset Length Type Name Description Comments
0x0 0x4 RwReal mrCumulativeLength Cumulative length
0x4 0x1 RwUInt8 mu8Indicator Indicator
0x5 0x1 RwUInt8 mu8WeatherIntensity Weather intensity
0x6 0x1 RwInt8 mn8Pad1 Padding
0x7 0x1 RwInt8 mn8Pad2 Padding

CB3AICornerStruct

 
Hmmm...
To do:
Document structure.

CB3AICheckpoint

Offset Length Type Name Description Comments
0x0 0x4 RwReal mrDistance Distance
0x4 0x4 RwReal mrMinTime Minimum time
0x8 0x4 RwReal mrMaxTime Maximum time
0xC 0x2 RwUInt16 mu16Slice Slice
0xE 0x2 RwUInt16 mu16Pad Padding

CB3SingleRaceDataStruct

 
Hmmm...
To do:
Document structure.

Enumerations

EB3SignatureTakedownType

 
Hmmm...
To do:
Compare to Revenge to confirm takedown counts don't go beyond the max here.
Name Value Comments
eSignatureTakedownType0 0
eSignatureTakedownType1 1
eSignatureTakedownType2 2
? 3
eSignatureTakedownTypeCount ?