Names are guessed based on debugging symbols from Burnout Revenge (2005-07-14 build).
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 (individual stages) |
See CB3GameStageDataStruct
|
0x260 |
0x4 |
RwInt32 |
mnNumStages |
Number of stages |
|
0x264 |
0x4 |
RwInt32 |
? |
Stage data |
See CB3GameStageDataStruct
|
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
|
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 |
Up to 6
|
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
|
0x3DC |
0x4 |
|
|
Padding |
|
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 |
|
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 |
|
| 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 |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x10 |
CGtSphere |
mSphere |
|
|
0x10 |
0x10 |
CGtV3d |
mPlaneNormal |
|
|
CB3SignatureTakedownStruct[edit | edit source]
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 |
|
| 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 |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x18 |
RwInt32[6] |
manLaneIndices |
|
|
0x18 |
0x10 |
RwInt32[4] |
manControlSectionStartNodes |
|
|
0x28 |
0x10 |
RwInt32[4] |
manControlSectionStopNodes |
|
|
0x38 |
0x18 |
RwInt32[6] |
manExclusionZoneEndNodes |
|
|
0x50 |
0x4 |
RwInt32 |
mnNumControlZones |
|
|
0x54 |
0x4 |
RwInt32 |
mnNumExclusionZoneLanes |
|
|
CB3TrafficLightPositionStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwInt32* |
mpnStartSegments |
|
|
0x4 |
0x4 |
RwInt32* |
mpnStopSegments |
|
|
0x8 |
0x4 |
RwInt32* |
mpnEndSegments |
|
|
0xC |
0x4 |
RwInt32* |
mpnLanesIndices |
|
|
0x10 |
0x4 |
RwUInt8[4] |
mau8CoronaIndices |
|
|
0x14 |
0x1 |
RwUInt8 |
mu8NumCoronas |
|
|
0x15 |
0x1 |
RwUInt8 |
mu8NumLanes |
|
|
0x16 |
0x2 |
RwUInt8[2] |
mau8Pad |
Padding |
|
CB3TrafficValvePositionStruct[edit | edit source]
| To do: List specials flags. |
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwInt32* |
mpnLanes |
|
|
0x4 |
0x4 |
RwInt32* |
mpnSegments |
|
|
0x8 |
0x4 |
RwInt32 |
mnNumLanes |
|
|
0xC |
0x1 |
RwUInt8 |
mx8IsAGenerator |
|
|
0xD |
0x1 |
RwUInt8 |
mx8Specials |
|
|
0xE |
0x2 |
RwUInt8[2] |
mau8Pad |
Padding |
|
CB3TrafficSplitterPositionStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwInt32 |
mnLaneIndex |
|
|
0x4 |
0x4 |
RwInt32 |
mnSegmentIndex |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
CB3TrafficFillerStruct* |
mpKillFillers |
|
|
0x4 |
0x4 |
CB3TrafficValveLaneSpeedStruct* |
mpValveLaneSpeeds |
|
|
0x8 |
0x4 |
RwUInt8* |
mpu8ValveSpeedChangeIndices |
|
|
0xC |
0x4 |
RwUInt8* |
mpu8ValveLaneSpeedChangeIndices |
|
|
0x10 |
0x4 |
CB3TrafficValveLaneFlowStruct* |
mpValveLaneFlows |
|
|
0x14 |
0x4 |
RwUInt8* |
mpu8ValveFlowChangeIndices |
|
|
0x18 |
0x4 |
RwUInt8* |
mpu8ValveLaneFlowChangeIndices |
|
|
0x1C |
0x4 |
CB3FormationBehaviourStruct* |
mpValveLaneFormations |
|
|
0x20 |
0x4 |
RwUInt8* |
mpu8ValveFormationsChangeIndices |
|
|
0x24 |
0x4 |
RwUInt8* |
mpu8ValveLaneFormationChangeIndices |
|
|
0x28 |
0x4 |
CB3TrafficSplitterFlowStruct* |
mpSplitterFlows |
|
|
0x2C |
0x4 |
RwUInt8* |
mpu8SplitterFlowChangeIndices |
|
|
0x30 |
0x4 |
CB3TrafficLightTimingsStruct* |
mpTrafficLightTimings |
|
|
0x34 |
0x4 |
RwUInt8* |
mpu8TrafficLightIndices |
|
|
0x38 |
0x4 |
CB3CrashTrafficSequenceStruct* |
mpCrashJunctionSequences |
|
|
0x3C |
0x4 |
RwInt32 |
mnNumCrashJunctionSequences |
|
|
0x40 |
0x4 |
RwInt32 |
mnNumValveSpeedChanges |
|
|
0x44 |
0x4 |
RwInt32 |
mnNumValveFlowChanges |
|
|
0x48 |
0x4 |
RwInt32 |
mnNumValveFormationChanges |
|
|
0x4C |
0x4 |
RwReal |
mrTriggerTime |
|
|
0x50 |
0x2 |
RwUInt16 |
mu16TriggerSlice |
|
|
0x52 |
0x1 |
RwUInt8 |
mu8TriggerLap |
|
|
0x53 |
0x1 |
RwUInt8 |
mu8KillFillerCounts |
|
|
0x54 |
0x1 |
RwUInt8 |
mu8NumSplitterFlowChanges |
|
|
0x55 |
0x1 |
RwUInt8 |
mu8NumTrafficLightTimingChanges |
|
|
0x56 |
0x2 |
|
|
Padding |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x2 |
RwInt16 |
mu16StartSegmentIndex |
|
|
0x2 |
0x2 |
RwInt16 |
mu16EndSegmentIndex |
|
|
0x4 |
0x1 |
RwUInt8 |
mu8LaneIndex |
|
|
0x5 |
0x1 |
RwUInt8 |
mu8FillerType |
|
|
CB3TrafficValveLaneSpeedStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwReal |
marLaneSpeed |
|
|
CB3TrafficValveLaneFlowStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x1C |
RwReal[7] |
marFlowValues |
|
CB3FormationBehaviourStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwReal* |
mprSameLaneDist |
|
|
0x4 |
0x4 |
RwReal* |
mprLeftLaneDist |
|
|
0x8 |
0x4 |
RwReal* |
mprRightLaneDist |
|
|
0xC |
0x4 |
RwReal |
mrMaxDist |
|
|
0x10 |
0x4 |
RwInt32 |
mnNumBehaviours |
|
|
CB3TrafficSplitterFlowStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x18 |
RwInt32[6] |
mnForwardFlowPercent |
|
|
0x18 |
0x18 |
RwInt32[6] |
mnLeftFlowPercent |
|
|
0x30 |
0x18 |
RwInt32[6] |
mnRightFlowPercent |
|
|
CB3TrafficLightTimingsStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwReal |
mrTimeToGreen |
|
0x4 |
0x4 |
RwReal |
mrRedTime |
|
0x8 |
0x4 |
RwReal |
mrGreenTime |
|
0xC |
0x4 |
RwReal |
mrOrangeTime |
|
CB3CrashTrafficSequenceStruct[edit | edit source]
| To do: Verify structure is same as Revenge (none in samples). |
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
CB3CrashTrafficVehicleStruct* |
mpVehicles |
|
|
0x4 |
0x4 |
RwReal |
mrGenerationDistance |
|
|
0x8 |
0x1 |
RwUInt8 |
mu8NumVehicles |
|
|
0x9 |
0x1 |
RwUInt8 |
mu8NumRolledOutVehicles |
|
|
0xA |
0x1 |
RwUInt8 |
mu8ValveIndex |
|
|
0xB |
0x1 |
RwUInt8 |
mu8ValveLaneIndex |
|
|
CB3CrashTrafficVehicleStruct[edit | edit source]
| To do: List type flags. Verify structure is same as Revenge (none in samples). |
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
GtID |
mVehicleType |
|
|
0x8 |
0x8 |
GtID |
mTrailerType |
|
|
0x10 |
0x4 |
RwReal |
mrGenerationDistance |
|
|
0x14 |
0x4 |
RwReal |
mrGenerationTime |
|
|
0x18 |
0x1 |
RwUInt8 |
mu8VehicleClass |
|
|
0x19 |
0x1 |
RwUInt8 |
mu8VehicleColour |
|
|
0x1A |
0x1 |
RwUInt8 |
mu8TrailerColour |
|
|
0x1B |
0x1 |
RwUInt8 |
mx8TypeFlags |
|
|
0x1C |
0x4 |
|
|
Padding |
|
CB3TrafficVehicleWeightStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
GtID |
mVehicleID |
|
|
0x8 |
0x8 |
RwUInt8[8] |
mau8ColourWeights |
|
|
0x10 |
0x4 |
RwInt32 |
mnWeighting |
|
|
0x14 |
0x4 |
|
|
Padding |
|
CB3CrashTrafficDestructorStruct[edit | edit source]
| To do: Verify structure is same as Revenge (none in samples). |
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x2 |
RwUInt16 |
mu16SegmentIndex |
|
|
0x2 |
0x1 |
RwUInt8 |
mu8LaneIndex |
|
|
0x3 |
0x1 |
RwUInt8 |
mu8Pad |
Padding |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
CB3TrafficFillerStruct* |
mpTrafficFillers |
|
|
0x4 |
0x4 |
RwInt32 |
mnStartSlice |
|
|
0x8 |
0x4 |
RwInt32 |
mnEndSlice |
|
|
0xC |
0x4 |
RwUInt16* |
mpu16ExtraSegments |
|
|
0x10 |
0x4 |
RwUInt8* |
mpu8ValveIndices |
|
|
0x14 |
0x1 |
RwUInt8 |
mu8NumTrafficFillers |
|
|
0x15 |
0x1 |
RwUInt8 |
mu8NumValveIndices |
|
|
0x16 |
0x2 |
RwUInt8[2] |
mau8Pad |
Padding |
|
CB3TrafficLightCoronaStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x10 |
CGtV3d |
mPos |
|
|
0x10 |
0x10 |
CGtV3d |
mAt |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
CB3TrafficLaneStruct* |
mpLanes |
|
|
0x4 |
0x4 |
CGtV3d* |
mpNodes |
|
|
0x8 |
0x4 |
RwInt32 |
mnNumLanes |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwUInt16[2] |
mau16Nodes |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwReal |
mrCumulativeLength |
|
|
0x4 |
0x4 |
RwReal |
mrWidth |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0xC |
RwUInt16[6] |
mau16NeighbourLaneSegments |
|
|
0xC |
0x6 |
RwUint8[6] |
mau8NeighbourLaneIndices |
|
|
| 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 |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwUInt16[2] |
mau16Nodes |
|
|
CB3AISegmentDimensionStruct[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwReal |
mrCumulativeLength |
|
|
0x4 |
0x4 |
RwReal |
mrWidth |
|
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x2 |
RwInt16 |
mn16SliceIndex |
|
|
0x2 |
0x1 |
RwUInt8 |
mu8CornerIndex |
|
|
0x3 |
0x1 |
RwUInt8 |
mx8TypeFlags |
|
|
0x4 |
0x1 |
RwUInt8[2] |
mau8ChangeLaneIndices |
|
|
0x6 |
0x4 |
RwUInt16[2] |
mau16ChangeLaneSegments |
|
|
| 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 |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x2 |
RwUInt16 |
mu16StartIndex |
|
|
0x2 |
0x2 |
RwUInt16 |
mu16ApexIndex |
|
|
0x4 |
0x2 |
RwUInt16 |
mu16EndIndex |
|
|
0x6 |
0x2 |
RwUInt16 |
mu16Radius |
|
|
0x8 |
0x1 |
RwUInt8 |
mu8LaneIndex |
|
|
0x9 |
0x1 |
RwInt8 |
mn8DriftValue |
|
|
0xA |
0x1 |
RwInt8 |
mx8CornerDirection |
|
|
0xB |
0x1 |
RwInt8 |
mn8Pad |
|
|
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 |
|
| 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 |
? |
|