Burnout Game Data (Takedown-Dominator)/Burnout 3: Difference between revisions
Content added Content deleted
(Slices) |
m (Remove WIP pretext) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
<pre>This page is a work in progress. Check back later for more complete information.</pre> |
|||
= Structures = |
= Structures = |
||
Names are guessed based on debugging symbols from [[Burnout Revenge (2005-07-14 build)]]. |
Names are guessed based on debugging symbols from [[Burnout Revenge (2005-07-14 build)]]. |
||
Line 12: | Line 11: | ||
| 0x8 || 0x190 || [[GtID]][50] || maStageDataIDs || Stage IDs || |
| 0x8 || 0x190 || [[GtID]][50] || maStageDataIDs || Stage IDs || |
||
|- |
|- |
||
| 0x198 || 0xC8 || RwInt32[50] || manStageDataOffsets || Stage data || See [[#CB3GameStageDataStruct|CB3GameStageDataStruct]] |
| 0x198 || 0xC8 || RwInt32[50] || manStageDataOffsets || Stage data (individual stages) || See [[#CB3GameStageDataStruct|CB3GameStageDataStruct]] |
||
|- |
|- |
||
| 0x260 || 0x4 || RwInt32 || mnNumStages || Number of stages || |
| 0x260 || 0x4 || RwInt32 || mnNumStages || Number of stages || |
||
|- |
|- |
||
| 0x264 || 0x4 || RwInt32 || |
| 0x264 || 0x4 || RwInt32 || ? || Stage data || See [[#CB3GameStageDataStruct|CB3GameStageDataStruct]] |
||
|- |
|- |
||
| 0x268 || 0x4 || RwInt32 || mnTrackDataOffset || Track data || See [[#CB3TrackDataStruct|CB3TrackDataStruct]] |
| 0x268 || 0x4 || RwInt32 || mnTrackDataOffset || Track data || See [[#CB3TrackDataStruct|CB3TrackDataStruct]] |
||
Line 28: | Line 27: | ||
=== CB3GameStageDataStruct === |
=== CB3GameStageDataStruct === |
||
{{todo|Verify the medal thresholds are actually medal thresholds and check further samples to see if the end fields (0x3E0+) exist.}} |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 48: | Line 46: | ||
| 0x3B0 || 0x4 || RwInt32 || ? || || 20 in samples |
| 0x3B0 || 0x4 || RwInt32 || ? || || 20 in samples |
||
|- |
|- |
||
| 0x3B4 || 0x4 || RwInt32 || mnNumDrivers || Number of drivers || |
| 0x3B4 || 0x4 || RwInt32 || mnNumDrivers || Number of drivers || Up to 6 |
||
|- |
|- |
||
| 0x3B8 || 0x4 || RwInt32 || mnNumLaps || Number of laps || |
| 0x3B8 || 0x4 || RwInt32 || mnNumLaps || Number of laps || |
||
Line 68: | Line 66: | ||
| 0x3D8 || 0x4 || RwInt32 || mnAILanesSetOffset || AI lanes || See [[#CB3AILanesDataStruct|CB3AILanesDataStruct]] |
| 0x3D8 || 0x4 || RwInt32 || mnAILanesSetOffset || AI lanes || See [[#CB3AILanesDataStruct|CB3AILanesDataStruct]] |
||
|- |
|- |
||
| |
| 0x3DC || 0x4 || || || Padding || |
||
|- |
|||
| 0x3E1 || 0x1 || RwInt8 || mn8CrashGolfPar || Crash golf par || |
|||
|- |
|||
| 0x3E2 || 0x2 || RwUInt8[2] || mau8Pad || Padding || |
|||
|} |
|} |
||
Line 106: | Line 100: | ||
=== CB3TrackDataStruct === |
=== CB3TrackDataStruct === |
||
{{todo|Find out whether crash pickups or ramps are present (it's one or the other).}} |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 188: | Line 181: | ||
=== CB3TrafficDataStruct === |
=== CB3TrafficDataStruct === |
||
{{todo| |
{{todo|List flags.}} |
||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x8 || [[GtID]] || mHelicopterID || || |
|||
|- |
|||
| 0x8 || 0x8 || [[GtID]] || mLTrainID || || |
|||
|- |
|||
| 0x10 || 0x8 || [[GtID]] || mTramID || || |
|||
|- |
|||
| 0x18 || 0x8 || [[GtID]] || mMonoRailID || || |
|||
|- |
|||
| 0x20 || 0x8 || [[GtID]] || mPlaneID || || |
|||
|- |
|||
| 0x28 || 0x4 || RwUInt32 || mu32VersionNumber || || 8 |
|||
|- |
|||
| 0x2C || 0x4 || [[#CB3StopJunctionStruct|CB3StopJunctionStruct]]* || mpStopJunctions || || |
|||
|- |
|||
| 0x30 || 0x4 || RwInt32 || mnNumStopJunctions || || |
|||
|- |
|||
| 0x34 || 0x4 || [[#CB3TrafficLightPositionStruct|CB3TrafficLightPositionStruct]]* || mpTrafficLights || || |
|||
|- |
|||
| 0x38 || 0x4 || RwInt32 || mnNumTrafficLights || || |
|||
|- |
|||
| 0x3C || 0x4 || [[#CB3TrafficValvePositionStruct|CB3TrafficValvePositionStruct]]* || mpTrafficValves || || |
|||
|- |
|||
| 0x40 || 0x4 || RwInt32 || mnNumTrafficValves || || |
|||
|- |
|||
| 0x44 || 0x4 || [[#CB3TrafficSplitterPositionStruct|CB3TrafficSplitterPositionStruct]]* || mpTrafficSplitters || || |
|||
|- |
|||
| 0x48 || 0x4 || RwInt32 || mnNumTrafficSplitters || || |
|||
|- |
|||
| 0x4C || 0x4 || [[#CB3TriggerStruct|CB3TriggerStruct]]* || mpTriggers || || |
|||
|- |
|||
| 0x50 || 0x4 || RwInt32 || mnNumTriggers || || |
|||
|- |
|||
| 0x54 || 0x4 || [[#CB3TrafficVehicleWeightStruct|CB3TrafficVehicleWeightStruct]]* || mpCarWeightings || || |
|||
|- |
|||
| 0x58 || 0x4 || RwInt32 || mnNumCarWeightings || || |
|||
|- |
|||
| 0x5C || 0x4 || RwInt32 || mnTotalCarWeighting || || |
|||
|- |
|||
| 0x60 || 0x4 || [[#CB3TrafficVehicleWeightStruct|CB3TrafficVehicleWeightStruct]]* || mpVanWeightings || || |
|||
|- |
|||
| 0x64 || 0x4 || RwInt32 || mnNumVanWeightings || || |
|||
|- |
|||
| 0x68 || 0x4 || RwInt32 || mnTotalVanWeighting || || |
|||
|- |
|||
| 0x6C || 0x4 || [[#CB3TrafficVehicleWeightStruct|CB3TrafficVehicleWeightStruct]]* || mpBusWeightings || || |
|||
|- |
|||
| 0x70 || 0x4 || RwInt32 || mnNumBusWeightings || || |
|||
|- |
|||
| 0x74 || 0x4 || RwInt32 || mnTotalBusWeighting || || |
|||
|- |
|||
| 0x78 || 0x4 || [[#CB3TrafficVehicleWeightStruct|CB3TrafficVehicleWeightStruct]]* || mpLorryWeightings || || |
|||
|- |
|||
| 0x7C || 0x4 || RwInt32 || mnNumLorryWeightings || || |
|||
|- |
|||
| 0x80 || 0x4 || RwInt32 || mnTotalLorryWeighting || || |
|||
|- |
|||
| 0x84 || 0x4 || [[#CB3TrafficVehicleWeightStruct|CB3TrafficVehicleWeightStruct]]* || mpArticCabWeightings || || |
|||
|- |
|||
| 0x88 || 0x4 || RwInt32 || mnNumArticCabWeightings || || |
|||
|- |
|||
| 0x8C || 0x4 || RwInt32 || mnTotalArticCabWeighting || || |
|||
|- |
|||
| 0x90 || 0x4 || [[#CB3TrafficVehicleWeightStruct|CB3TrafficVehicleWeightStruct]]* || mpArticTrailerWeightings || || |
|||
|- |
|||
| 0x94 || 0x4 || RwInt32 || mnNumArticTrailerWeightings || || |
|||
|- |
|||
| 0x98 || 0x4 || RwInt32 || mnTotalArticTrailerWeighting || || |
|||
|- |
|||
| 0x9C || 0x4 || [[#CB3CrashTrafficDestructorStruct|CB3CrashTrafficDestructorStruct]]* || mpCrashTrafficDestructors || || |
|||
|- |
|||
| 0xA0 || 0x4 || RwInt32 || mnNumCrashTrafficDestructors || || |
|||
|- |
|||
| 0xA4 || 0x4 || [[#CB3TrafficHullStruct|CB3TrafficHullStruct]]* || mpTrafficHulls || || |
|||
|- |
|||
| 0xA8 || 0x4 || RwInt32 || mnNumTrafficHulls || || |
|||
|- |
|||
| 0xAC || 0x4 || [[#CB3TrafficLightCoronaStruct|CB3TrafficLightCoronaStruct]]* || mpTrafficLightCoronas || || |
|||
|- |
|||
| 0xB0 || 0x4 || RwInt32 || mnNumTrafficLightCoronas || || |
|||
|- |
|||
| 0xB4 || 0x1 || RwUInt8 || mx8Flags || || |
|||
|- |
|||
| 0xB5 || 0x1 || RwUInt8 || mu8UsedSpecialVehicles || || |
|||
|- |
|||
| 0xB6 || 0x1 || RwUInt8 || mu8NumSpecialVehicles || || |
|||
|- |
|||
| 0xB7 || 0x1 || RwUInt8 || mu8Pad || Padding || |
|||
|} |
|||
=== CB3StopJunctionStruct === |
|||
{| class="wikitable" |
|||
! 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 === |
|||
{| class="wikitable" |
|||
! 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 === |
|||
{{todo|List specials flags.}} |
|||
{| class="wikitable" |
|||
! 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 === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || RwInt32 || mnLaneIndex || || |
|||
|- |
|||
| 0x4 || 0x4 || RwInt32 || mnSegmentIndex || || |
|||
|} |
|||
=== CB3TriggerStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || [[#CB3TrafficFillerStruct|CB3TrafficFillerStruct]]* || mpKillFillers || || |
|||
|- |
|||
| 0x4 || 0x4 || [[#CB3TrafficValveLaneSpeedStruct|CB3TrafficValveLaneSpeedStruct]]* || mpValveLaneSpeeds || || |
|||
|- |
|||
| 0x8 || 0x4 || RwUInt8* || mpu8ValveSpeedChangeIndices || || |
|||
|- |
|||
| 0xC || 0x4 || RwUInt8* || mpu8ValveLaneSpeedChangeIndices || || |
|||
|- |
|||
| 0x10 || 0x4 || [[#CB3TrafficValveLaneFlowStruct|CB3TrafficValveLaneFlowStruct]]* || mpValveLaneFlows || || |
|||
|- |
|||
| 0x14 || 0x4 || RwUInt8* || mpu8ValveFlowChangeIndices || || |
|||
|- |
|||
| 0x18 || 0x4 || RwUInt8* || mpu8ValveLaneFlowChangeIndices || || |
|||
|- |
|||
| 0x1C || 0x4 || [[#CB3FormationBehaviourStruct|CB3FormationBehaviourStruct]]* || mpValveLaneFormations || || |
|||
|- |
|||
| 0x20 || 0x4 || RwUInt8* || mpu8ValveFormationsChangeIndices || || |
|||
|- |
|||
| 0x24 || 0x4 || RwUInt8* || mpu8ValveLaneFormationChangeIndices || || |
|||
|- |
|||
| 0x28 || 0x4 || [[#CB3TrafficSplitterFlowStruct|CB3TrafficSplitterFlowStruct]]* || mpSplitterFlows || || |
|||
|- |
|||
| 0x2C || 0x4 || RwUInt8* || mpu8SplitterFlowChangeIndices || || |
|||
|- |
|||
| 0x30 || 0x4 || [[#CB3TrafficLightTimingsStruct|CB3TrafficLightTimingsStruct]]* || mpTrafficLightTimings || || |
|||
|- |
|||
| 0x34 || 0x4 || RwUInt8* || mpu8TrafficLightIndices || || |
|||
|- |
|||
| 0x38 || 0x4 || [[#CB3CrashTrafficSequenceStruct|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 || |
|||
|} |
|||
=== CB3TrafficFillerStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x2 || RwInt16 || mu16StartSegmentIndex || || |
|||
|- |
|||
| 0x2 || 0x2 || RwInt16 || mu16EndSegmentIndex || || |
|||
|- |
|||
| 0x4 || 0x1 || RwUInt8 || mu8LaneIndex || || |
|||
|- |
|||
| 0x5 || 0x1 || RwUInt8 || mu8FillerType || || |
|||
|} |
|||
=== CB3TrafficValveLaneSpeedStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || RwReal || marLaneSpeed || || |
|||
|} |
|||
=== CB3TrafficValveLaneFlowStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x1C || RwReal[7] || marFlowValues || |
|||
|} |
|||
=== CB3FormationBehaviourStruct === |
|||
{| class="wikitable" |
|||
! 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 === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x18 || RwInt32[6] || mnForwardFlowPercent || || |
|||
|- |
|||
| 0x18 || 0x18 || RwInt32[6] || mnLeftFlowPercent || || |
|||
|- |
|||
| 0x30 || 0x18 || RwInt32[6] || mnRightFlowPercent || || |
|||
|} |
|||
=== CB3TrafficLightTimingsStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
! 0x0 || 0x4 || RwReal || mrTimeToGreen || |
|||
|- |
|||
| 0x4 || 0x4 || RwReal || mrRedTime || |
|||
|- |
|||
| 0x8 || 0x4 || RwReal || mrGreenTime || |
|||
|- |
|||
| 0xC || 0x4 || RwReal || mrOrangeTime || |
|||
|} |
|||
=== CB3CrashTrafficSequenceStruct === |
|||
{{todo|Verify structure is same as Revenge (none in samples).}} |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || [[#CB3CrashTrafficVehicleStruct|CB3CrashTrafficVehicleStruct]]* || mpVehicles || || |
|||
|- |
|||
| 0x4 || 0x4 || RwReal || mrGenerationDistance || || |
|||
|- |
|||
| 0x8 || 0x1 || RwUInt8 || mu8NumVehicles || || |
|||
|- |
|||
| 0x9 || 0x1 || RwUInt8 || mu8NumRolledOutVehicles || || |
|||
|- |
|||
| 0xA || 0x1 || RwUInt8 || mu8ValveIndex || || |
|||
|- |
|||
| 0xB || 0x1 || RwUInt8 || mu8ValveLaneIndex || || |
|||
|} |
|||
=== CB3CrashTrafficVehicleStruct === |
|||
{{todo|List type flags. Verify structure is same as Revenge (none in samples).}} |
|||
{| class="wikitable" |
|||
! 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 === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x8 || [[GtID]] || mVehicleID || || |
|||
|- |
|||
| 0x8 || 0x8 || RwUInt8[8] || mau8ColourWeights || || |
|||
|- |
|||
| 0x10 || 0x4 || RwInt32 || mnWeighting || || |
|||
|- |
|||
| 0x14 || 0x4 || || || Padding || |
|||
|} |
|||
=== CB3CrashTrafficDestructorStruct === |
|||
{{todo|Verify structure is same as Revenge (none in samples).}} |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x2 || RwUInt16 || mu16SegmentIndex || || |
|||
|- |
|||
| 0x2 || 0x1 || RwUInt8 || mu8LaneIndex || || |
|||
|- |
|||
| 0x3 || 0x1 || RwUInt8 || mu8Pad || Padding || |
|||
|} |
|||
=== CB3TrafficHullStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || [[#CB3TrafficFillerStruct|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 === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x10 || [[CGtV3d]] || mPos || || |
|||
|- |
|||
| 0x10 || 0x10 || [[CGtV3d]] || mAt || || |
|||
|} |
|||
=== CB3TrafficLanesStruct === |
=== CB3TrafficLanesStruct === |
||
{| class="wikitable" |
|||
{{todo|Document structure.}} |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || [[#CB3TrafficLaneStruct|CB3TrafficLaneStruct]]* || mpLanes || || |
|||
|- |
|||
| 0x4 || 0x4 || [[CGtV3d]]* || mpNodes || || |
|||
|- |
|||
| 0x8 || 0x4 || RwInt32 || mnNumLanes || || |
|||
|} |
|||
=== CB3TrafficLaneStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || [[#CB3SegmentNodeStruct|CB3SegmentNodeStruct]]* || mpSegmentNodeData || || |
|||
|- |
|||
| 0x4 || 0x4 || [[#CB3SegmentDimensions|CB3SegmentDimensions]]* || mpSegmentDimensions || || |
|||
|- |
|||
| 0x8 || 0x4 || [[#CB3TrafficSegmentStruct|CB3TrafficSegmentStruct]]* || mpTrafficSegmentData || || |
|||
|- |
|||
| 0xc || 0x4 || [[CGtV3d]]* || mpNodes || || |
|||
|- |
|||
| 0x10 || 0x4 || RwInt32 || mnNumSegments || || |
|||
|} |
|||
=== CB3SegmentNodeStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || RwUInt16[2] || mau16Nodes || || |
|||
|} |
|||
=== CB3SegmentDimensions === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || RwReal || mrCumulativeLength || || |
|||
|- |
|||
| 0x4 || 0x4 || RwReal || mrWidth || || |
|||
|} |
|||
=== CB3TrafficSegmentStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0xC || RwUInt16[6] || mau16NeighbourLaneSegments || || |
|||
|- |
|||
| 0xC || 0x6 || RwUint8[6] || mau8NeighbourLaneIndices || || |
|||
|} |
|||
=== CB3AILanesDataStruct === |
=== CB3AILanesDataStruct === |
||
Line 226: | Line 643: | ||
=== CB3AILaneStruct === |
=== CB3AILaneStruct === |
||
{| class="wikitable" |
|||
{{todo|Document structure.}} |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || [[#CB3AIRungStruct|CB3AIRungStruct]]* || mpRungsArray || || |
|||
|- |
|||
| 0x4 || 0x4 || [[#CB3AISegmentDimensionStruct|CB3AISegmentDimensionStruct]]* || mpSegmentDimensionsArray || || |
|||
|- |
|||
| 0x8 || 0x4 || [[#CB3AISegmentStruct|CB3AISegmentStruct]]* || mpSegmentsArray || || |
|||
|- |
|||
| 0xC || 0x2 || RwUInt16 || mu16SegmentCount || || |
|||
|- |
|||
| 0xE || 0x1 || RwUInt8 || mu8Looped || || |
|||
|- |
|||
| 0xF || 0x1 || RwInt8 || mn8Pad1 || Padding || |
|||
|} |
|||
=== CB3AIRungStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || RwUInt16[2] || mau16Nodes || || |
|||
|} |
|||
=== CB3AISegmentDimensionStruct === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || RwReal || mrCumulativeLength || || |
|||
|- |
|||
| 0x4 || 0x4 || RwReal || mrWidth || || |
|||
|} |
|||
=== CB3AISegmentStruct === |
|||
{{todo|List type flags.}} |
|||
{| class="wikitable" |
|||
! 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 || || |
|||
|} |
|||
=== CB3SliceStruct === |
=== CB3SliceStruct === |
||
Line 245: | Line 708: | ||
=== CB3AICornerStruct === |
=== CB3AICornerStruct === |
||
{| class="wikitable" |
|||
{{todo|Document structure.}} |
|||
! 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 || || |
|||
|} |
|||
=== CB3AICheckpoint === |
=== CB3AICheckpoint === |
||
Line 261: | Line 742: | ||
| 0xE || 0x2 || RwUInt16 || mu16Pad || Padding || |
| 0xE || 0x2 || RwUInt16 || mu16Pad || Padding || |
||
|} |
|} |
||
=== CB3SingleRaceDataStruct === |
|||
{{todo|Document structure.}} |
|||
= Enumerations = |
= Enumerations = |
Latest revision as of 04:58, 11 April 2023
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 (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 |
CB3GameStageDataStruct
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 |
CB3AIDriverStruct
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
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
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
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
To do: List flags. |
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | GtID | mHelicopterID | ||
0x8 | 0x8 | GtID | mLTrainID | ||
0x10 | 0x8 | GtID | mTramID | ||
0x18 | 0x8 | GtID | mMonoRailID | ||
0x20 | 0x8 | GtID | mPlaneID | ||
0x28 | 0x4 | RwUInt32 | mu32VersionNumber | 8 | |
0x2C | 0x4 | CB3StopJunctionStruct* | mpStopJunctions | ||
0x30 | 0x4 | RwInt32 | mnNumStopJunctions | ||
0x34 | 0x4 | CB3TrafficLightPositionStruct* | mpTrafficLights | ||
0x38 | 0x4 | RwInt32 | mnNumTrafficLights | ||
0x3C | 0x4 | CB3TrafficValvePositionStruct* | mpTrafficValves | ||
0x40 | 0x4 | RwInt32 | mnNumTrafficValves | ||
0x44 | 0x4 | CB3TrafficSplitterPositionStruct* | mpTrafficSplitters | ||
0x48 | 0x4 | RwInt32 | mnNumTrafficSplitters | ||
0x4C | 0x4 | CB3TriggerStruct* | mpTriggers | ||
0x50 | 0x4 | RwInt32 | mnNumTriggers | ||
0x54 | 0x4 | CB3TrafficVehicleWeightStruct* | mpCarWeightings | ||
0x58 | 0x4 | RwInt32 | mnNumCarWeightings | ||
0x5C | 0x4 | RwInt32 | mnTotalCarWeighting | ||
0x60 | 0x4 | CB3TrafficVehicleWeightStruct* | mpVanWeightings | ||
0x64 | 0x4 | RwInt32 | mnNumVanWeightings | ||
0x68 | 0x4 | RwInt32 | mnTotalVanWeighting | ||
0x6C | 0x4 | CB3TrafficVehicleWeightStruct* | mpBusWeightings | ||
0x70 | 0x4 | RwInt32 | mnNumBusWeightings | ||
0x74 | 0x4 | RwInt32 | mnTotalBusWeighting | ||
0x78 | 0x4 | CB3TrafficVehicleWeightStruct* | mpLorryWeightings | ||
0x7C | 0x4 | RwInt32 | mnNumLorryWeightings | ||
0x80 | 0x4 | RwInt32 | mnTotalLorryWeighting | ||
0x84 | 0x4 | CB3TrafficVehicleWeightStruct* | mpArticCabWeightings | ||
0x88 | 0x4 | RwInt32 | mnNumArticCabWeightings | ||
0x8C | 0x4 | RwInt32 | mnTotalArticCabWeighting | ||
0x90 | 0x4 | CB3TrafficVehicleWeightStruct* | mpArticTrailerWeightings | ||
0x94 | 0x4 | RwInt32 | mnNumArticTrailerWeightings | ||
0x98 | 0x4 | RwInt32 | mnTotalArticTrailerWeighting | ||
0x9C | 0x4 | CB3CrashTrafficDestructorStruct* | mpCrashTrafficDestructors | ||
0xA0 | 0x4 | RwInt32 | mnNumCrashTrafficDestructors | ||
0xA4 | 0x4 | CB3TrafficHullStruct* | mpTrafficHulls | ||
0xA8 | 0x4 | RwInt32 | mnNumTrafficHulls | ||
0xAC | 0x4 | CB3TrafficLightCoronaStruct* | mpTrafficLightCoronas | ||
0xB0 | 0x4 | RwInt32 | mnNumTrafficLightCoronas | ||
0xB4 | 0x1 | RwUInt8 | mx8Flags | ||
0xB5 | 0x1 | RwUInt8 | mu8UsedSpecialVehicles | ||
0xB6 | 0x1 | RwUInt8 | mu8NumSpecialVehicles | ||
0xB7 | 0x1 | RwUInt8 | mu8Pad | Padding |
CB3StopJunctionStruct
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
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
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwInt32 | mnLaneIndex | ||
0x4 | 0x4 | RwInt32 | mnSegmentIndex |
CB3TriggerStruct
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 |
CB3TrafficFillerStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2 | RwInt16 | mu16StartSegmentIndex | ||
0x2 | 0x2 | RwInt16 | mu16EndSegmentIndex | ||
0x4 | 0x1 | RwUInt8 | mu8LaneIndex | ||
0x5 | 0x1 | RwUInt8 | mu8FillerType |
CB3TrafficValveLaneSpeedStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwReal | marLaneSpeed |
CB3TrafficValveLaneFlowStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1C | RwReal[7] | marFlowValues |
CB3FormationBehaviourStruct
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x18 | RwInt32[6] | mnForwardFlowPercent | ||
0x18 | 0x18 | RwInt32[6] | mnLeftFlowPercent | ||
0x30 | 0x18 | RwInt32[6] | mnRightFlowPercent |
CB3TrafficLightTimingsStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwReal | mrTimeToGreen | ||
0x4 | 0x4 | RwReal | mrRedTime | ||
0x8 | 0x4 | RwReal | mrGreenTime | ||
0xC | 0x4 | RwReal | mrOrangeTime |
CB3CrashTrafficSequenceStruct
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
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | GtID | mVehicleID | ||
0x8 | 0x8 | RwUInt8[8] | mau8ColourWeights | ||
0x10 | 0x4 | RwInt32 | mnWeighting | ||
0x14 | 0x4 | Padding |
CB3CrashTrafficDestructorStruct
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 |
CB3TrafficHullStruct
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | CGtV3d | mPos | ||
0x10 | 0x10 | CGtV3d | mAt |
CB3TrafficLanesStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | CB3TrafficLaneStruct* | mpLanes | ||
0x4 | 0x4 | CGtV3d* | mpNodes | ||
0x8 | 0x4 | RwInt32 | mnNumLanes |
CB3TrafficLaneStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | CB3SegmentNodeStruct* | mpSegmentNodeData | ||
0x4 | 0x4 | CB3SegmentDimensions* | mpSegmentDimensions | ||
0x8 | 0x4 | CB3TrafficSegmentStruct* | mpTrafficSegmentData | ||
0xc | 0x4 | CGtV3d* | mpNodes | ||
0x10 | 0x4 | RwInt32 | mnNumSegments |
CB3SegmentNodeStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwUInt16[2] | mau16Nodes |
CB3SegmentDimensions
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwReal | mrCumulativeLength | ||
0x4 | 0x4 | RwReal | mrWidth |
CB3TrafficSegmentStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | RwUInt16[6] | mau16NeighbourLaneSegments | ||
0xC | 0x6 | RwUint8[6] | mau8NeighbourLaneIndices |
CB3AILanesDataStruct
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | CB3AIRungStruct* | mpRungsArray | ||
0x4 | 0x4 | CB3AISegmentDimensionStruct* | mpSegmentDimensionsArray | ||
0x8 | 0x4 | CB3AISegmentStruct* | mpSegmentsArray | ||
0xC | 0x2 | RwUInt16 | mu16SegmentCount | ||
0xE | 0x1 | RwUInt8 | mu8Looped | ||
0xF | 0x1 | RwInt8 | mn8Pad1 | Padding |
CB3AIRungStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwUInt16[2] | mau16Nodes |
CB3AISegmentDimensionStruct
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwReal | mrCumulativeLength | ||
0x4 | 0x4 | RwReal | mrWidth |
CB3AISegmentStruct
To do: List type flags. |
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 |
CB3SliceStruct
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
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 |
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 |
Enumerations
EB3SignatureTakedownType
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 | ? |