Progression Data/Burnout Paradise

From Burnout Wiki
ProgressionData
aka Progression
No Example
Resource names progressiondata
Type ID 0x1000C
Category Game-specific
(Burnout Paradise)
Memory
distribution
Main Memory only
Imports Unknown
Imported by Unknown
Editor
available?
No


Previous versions
Information on the Progression resource versions used in prior retail versions of Burnout Paradise.
Development
Information on the Progression resource versions used during development.

The Progression resource stores the events, ranks, and opponents seen throughout Burnout Paradise, along with much of the related data. It is dependent on the Traffic Data resource for certain elements, such as event starts.

Structures

BrnProgression::ProgressionData

32-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muVersionNumber File version 44
0x4 0x4 uint32_t muSize Resource size
0x8 0x4 CgsID* mpaPlayerCarIds Cars the player starts the game with Leftover, actually hardcoded to the Hunter Cavalry
0xC 0x4 uint32_t muPlayerCarIdCount Number of starter cars Leftover, actually hardcoded to 1
0x10 0x4 ProgressionRankData* mpaProgressionRanks Rank details
0x14 0x4 uint32_t muProgressionRankCount Number of ranks
0x18 0x4 EventJunction* mpaEventJunctions Junctions
0x1C 0x4 uint32_t muEventJunctionCount Number of junctions
0x20 0x4 RaceEventData* mpaEvents Events
0x24 0x4 uint32_t muEventCount Number of events
0x28 0x4 Rival* mpaRivals Rivals
0x2C 0x4 int32_t miRivalCount Number of rivals
0x30 0x4 OpponentBalanceData* mpaAIBalances AI opponent balancing data
0x34 0x4 uint32_t muAIBalanceCount Number of balancing data entries
0x38 0x4 EventRacerPersonality* mpaPersonalities AI personalities
0x3C 0x4 uint32_t muPersonalityCount Number of personalities
0x40 0x4 TrophyUnlockData* mpaTrophyUnlocks Trophy car unlocks Carbon cars
0x44 0x4 uint32_t muTrophyUnlockCount Number of trophy cars
0x48 0x4 CarOpponentSet* mpaCarOpponentSet Per-vehicle opponent vehicle sets
0x4C 0x4 uint32_t muCarOpponentsCount Number of opponent sets
0x50 0x4 uint32_t ? Number of event junctions (excluding BSI) Remastered only, set to 120. Used in save validation

64-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muVersionNumber File version 44
0x4 0x4 uint32_t muSize Resource size
0x8 0x8 CgsID* mpaPlayerCarIds Cars the player starts the game with Leftover, actually hardcoded to the Hunter Cavalry
0x10 0x4 uint32_t muPlayerCarIdCount Number of starter cars Leftover, actually hardcoded to 1
0x14 0x4 Padding
0x18 0x8 ProgressionRankData* mpaProgressionRanks Rank details
0x20 0x4 uint32_t muProgressionRankCount Number of ranks
0x24 0x4 Padding
0x28 0x8 EventJunction* mpaEventJunctions Junctions
0x30 0x4 uint32_t muEventJunctionCount Number of junctions
0x34 0x4 Padding
0x38 0x8 RaceEventData* mpaEvents Events
0x40 0x4 uint32_t muEventCount Number of events
0x44 0x4 Padding
0x48 0x8 Rival* mpaRivals Rivals
0x50 0x4 int32_t miRivalCount Number of rivals
0x54 0x4 Padding
0x58 0x8 OpponentBalanceData* mpaAIBalances AI opponent balancing data
0x60 0x4 uint32_t muAIBalanceCount Number of balancing data entries
0x64 0x4 Padding
0x68 0x8 EventRacerPersonality* mpaPersonalities AI personalities
0x70 0x4 uint32_t muPersonalityCount Number of personalities
0x74 0x4 Padding
0x78 0x8 TrophyUnlockData* mpaTrophyUnlocks Trophy car unlocks Carbon cars
0x80 0x4 uint32_t muTrophyUnlockCount Number of trophy cars
0x84 0x4 Padding
0x88 0x8 CarOpponentSet* mpaCarOpponentSet Per-vehicle opponent vehicle sets
0x90 0x4 uint32_t muCarOpponentsCount Number of opponent sets
0x94 0x4 uint32_t ? Number of event junctions Remastered only, set to 120. Used in save validation

BrnProgression::ProgressionRankData

Offset Length Type Name Description Comments
0x0 0x4 float32_t mfTrafficDensityRace
0x4 0x4 float32_t mfBurningRouteTimeScale
0x8 0x4 float32_t mfTrafficDensityBurningRoute
0xC 0x4 float32_t mfTrafficDensityRoadRage
0x10 0x4 float32_t mfTrafficDensitySurvival
0x14 0x4 float32_t mfTrafficDensityPursuit
0x18 0x4 float32_t mfShuntStrengthRace
0x1C 0x4 float32_t mfShuntStrengthRoadRage
0x20 0x4 float32_t mfShuntStrengthMarkedMan
0x24 0x4 float32_t mfLargeVehicleProbability
0x28 0x4 uint32_t muId GameDB ID
0x2C 0x20 float32_t[8] maOvertakingDifficulty
0x4C 0x2 uint16_t mu16MedalThresholdToNextRank Number of wins required for a license upgrade
0x4E 0x2 uint16_t mu16EventThresholdToNextRank
0x50 0x2 uint16_t muRoadRageTakedownTarget
0x52 0x2 uint16_t muRoadRageTime
0x54 0x2 uint16_t muRoadRageTimeExtensions
0x56 0x2 uint16_t muRoadRageExtensionTime
0x58 0x2 uint16_t muRoadRageDamageLimit
0x5A 0x2 uint16_t muRoadRageTriggerExtension
0x5C 0x1 uint8_t muRaceRivalsNumber
0x5D 0x1 uint8_t muGauntletRivalsNumber
0x5E 0x1 uint8_t muRoadRageRivalsNumber
0x5F 0x1 uint8_t muNumGiftCars
0x60 0x1 uint8_t muNumWinsToRankUpRace
0x61 0x1 uint8_t muNumWinsToRankUpStunt
0x62 0x1 uint8_t muNumWinsToRankUpRoadRage
0x63 0x1 uint8_t muNumWinsToRankUpMarkedMan
0x64 0x4 Padding
0x68 0x8 CgsID mFreeCarForRankUpID Vehicle unlocked at a given rank

BrnProgression::EventJunction

32-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muID Junction GameDB ID
0x4 0x4 RaceEventData* mpOfflineEvent Offline event
0x8 0x4 RaceEventData* mpOnlineEvent Online event
0xC 0x4 RaceEventData* Bike event
0x10 0x4 int32_t miShotGroup Shot group GameDB ID Can be -1

64-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muID Junction GameDB ID
0x4 0x4 Padding
0x8 0x8 RaceEventData* mpOfflineEvent Offline event
0x10 0x8 RaceEventData* mpOnlineEvent Online event
0x18 0x8 RaceEventData* Bike event
0x20 0x4 int32_t miShotGroup Shot group GameDB ID Can be -1
0x24 0x4 Padding

BrnProgression::RaceEventData

32-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muId Event GameDB ID
0x4 0x4 uint32_t muFlags Flags See EFlags
0x8 0x4 float32_t mfTrafficDensity
0xC 0x4 float32_t mfBoostEarning
0x10 0x8 CgsID mSpecialEventCarId Limits to specified vehicle ID Used on Burning Routes
0x18 0x4 CheckpointData* mpaCheckpoints Checkpoints
0x1C 0x4 int32_t miCheckpointCount Number of checkpoints
0x20 0x4 float32_t mfTimeLimitFast
0x24 0x4 float32_t mfTimeLimitSlow
0x28 0x18 int32_t[6] miRankScore
0x40 0x18 float32_t[6] mfRankTime
0x58 0x4 float32_t mfExtensionTime
0x5C 0x8C EventStartGridSlot[7] maStartGridSlots
0xE8 0x4 uint32_t muStartGridCount
0xEC 0x1 uint8_t mu8Mode Event type See EModeType
0xED 0x1 uint8_t mu8OnlineMode Online event type See EOnlineModeType
0xEE 0x1 uint8_t mu8StartRivalCount
0xEF 0x1 uint8_t mu8AddRivalCount
0xF0 0x1 uint8_t mu8TakeDownBronze
0xF1 0x1 uint8_t mu8TakeDownSilver
0xF2 0x1 uint8_t mu8TakeDownGold
0xF3 0x1 uint8_t mu8DamageLimit
0xF4 0x1 uint8_t mu8ExtensionTimeCount
0xF5 0x1 uint8_t mu8AStarType A* Type See AStarType
0xF6 0x1 int8_t mi8UnlockRank
0xF7 0x1 Padding

64-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muId Event GameDB ID
0x4 0x4 uint32_t muFlags Flags See EFlags
0x8 0x4 float32_t mfTrafficDensity
0xC 0x4 float32_t mfBoostEarning
0x10 0x8 CgsID mSpecialEventCarId Limits to specified vehicle ID Used on Burning Routes
0x18 0x8 CheckpointData* mpaCheckpoints Checkpoints
0x20 0x4 int32_t miCheckpointCount Number of checkpoints
0x24 0x4 float32_t mfTimeLimitFast
0x28 0x4 float32_t mfTimeLimitSlow
0x2C 0x18 int32_t[6] miRankScore
0x44 0x18 float32_t[6] mfRankTime
0x5C 0x4 float32_t mfExtensionTime
0x60 0x8C EventStartGridSlot[7] maStartGridSlots
0xEC 0x4 uint32_t muStartGridCount
0xF0 0x1 uint8_t mu8Mode Event type See EModeType
0xF1 0x1 uint8_t mu8OnlineMode Online event type See EOnlineModeType
0xF2 0x1 uint8_t mu8StartRivalCount
0xF3 0x1 uint8_t mu8AddRivalCount
0xF4 0x1 uint8_t mu8TakeDownBronze
0xF5 0x1 uint8_t mu8TakeDownSilver
0xF6 0x1 uint8_t mu8TakeDownGold
0xF7 0x1 uint8_t mu8DamageLimit
0xF8 0x1 uint8_t mu8ExtensionTimeCount
0xF9 0x1 uint8_t mu8AStarType A* Type See AStarType
0xFA 0x1 int8_t mi8UnlockRank
0xFB 0x5 Padding

BrnProgression::CheckpointData

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muLandmarkId Landmark GameDB ID
0x4 0x4 int32_t miBlockSectionCount Number of block sections
0x8 0x20 uint32_t[8] mauBlockSectionIds Block section GameDB IDs

BrnProgression::EventStartGridSlot

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muOpponentIndex
0x4 0x4 uint32_t muPersonalityIndex
0x8 0x4 int32_t miFastAIBalanceGraphIndex
0xC 0x4 int32_t miSlowAIBalanceGraphIndex
0x10 0x1 uint8_t muColourIndex
0x11 0x1 uint8_t muFlags Flags See EFlags
0x12 0x2 Padding

BrnProgression::Rival

Offset Length Type Name Description Comments
0x0 0x8 CgsID mId GameDB ID
0x8 0x8 CgsID mCarId Vehicle to use
0x10 0x2 int16_t miPersonalityIndex
0x12 0x2 int16_t miPursuitTarget
0x14 0x1 int8_t miDistrictIndex
0x15 0x1 int8_t miUnlockRank
0x16 0x1 uint8_t mu8NumMedalsToUnlock
0x17 0x1 bool mbIsUsedForRankUpGiftCar
0x18 0x20 char[32] macName Rival name

BrnProgression::OpponentBalanceData

Offset Length Type Name Description Comments
0x0 0x20 float32_t[8] mafAheadGraphPoints
0x20 0x20 float32_t[8] mafBehindGraphPoints
0x40 0x4 float32_t mfCatchUpCutOffRatio

BrnProgression::EventRacerPersonality

Offset Length Type Name Description Comments
0x0 0x4 float32_t mfMinAggression
0x4 0x4 float32_t mfMaxAggression
0x8 0x4 float32_t mfSkill
0xC 0x4 float32_t mfSpeed

BrnProgression::TrophyUnlockData

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muNumberTrophyUnlock Always 0
0x4 0x2 uint16_t mu16UnlockType See UnlockType
0x6 0x2 Padding
0x8 0x8 CgsID mCarUnlockId ID of vehicle to unlock

BrnProgression::CarOpponentSet

Offset Length Type Name Description Comments
0x0 0x80 CarOpponent[8] maCarOpponents
0x80 0x8 CgsID mPlayerCarId
0x88 0x4 int32_t miRank
0x8C 0x4 int32_t miOpponentCount

BrnProgression::CarOpponent

Offset Length Type Name Description Comments
0x0 0x8 CgsID mCarId
0x8 0x4 int32_t miPersonalityIndex
0xC 0x4 Padding

Enumerations

BrnProgression::RaceEventData::EFlags

Name Value Comments
E_FLAG_CRASHBREAKER 0x1 Unused in final game
? 0x2 Midnight ride?
? 0x4 Island event

BrnProgression::RaceEventData::EModeType

Name Value Comments
E_MODE_INVALID -1
E_MODE_RACE 0
E_MODE_ROAD_RAGE 1
E_MODE_STUNT_ATTACK 2
E_MODE_SURVIVOR 3
E_MODE_BURNING_ROUTE 4
E_MODE_PURSUIT 5
E_MODE_COUNT 6

BrnProgression::RaceEventData::EOnlineModeType

Name Value Comments
E_ONLINE_MODE_RACE 0
E_ONLINE_MODE_ROAD_RAGE 1
E_ONLINE_MODE_BURNING_HOME_RUN 2
E_ONLINE_MODE_COUNT 3

BrnProgression::RaceEventData::AStarType

Name Value Comments
E_ASTAR_TYPE_EUCLIDEAN 0
E_ASTAR_TYPE_EUCLIDEAN_X_BIASED 1
E_ASTAR_TYPE_EUCLIDEAN_Y_BIASED 2

BrnProgression::EventStartGridSlot::EFlags

Name Value Comments
E_FLAG_CAN_DEVIATE_FROM_ROUTE 0x1
E_FLAG_CAN_TAKE_SHORTCUTS 0x2

BrnProgression::TrophyUnlockData::UnlockType

Name Value Comments
E_UNLOCKTYPE_NONE 0
E_UNLOCKTYPE_COMPLETE_ALL_STUNTS 1
E_UNLOCKTYPE_COMPLETE_ALL_JUMPS 2
E_UNLOCKTYPE_COMPLETE_ALL_SMASHES 3
E_UNLOCKTYPE_COMPLETE_ALL_TAKEDOWNS 4
E_UNLOCKTYPE_COMPLETE_ALL_CRASHES 5
E_UNLOCKTYPE_COMPLETE_ALL_TIMEROADRULES 6
E_UNLOCKTYPE_COMPLETE_ALL_CRASHROADRULES 7
E_UNLOCKTYPE_COMPLETE_ALL_ROADRULES 8
E_UNLOCKTYPE_COMPLETE_ALL_JUNCTIONEVENTS 9
E_UNLOCKTYPE_COMPLETE_ALL_ONLINECHALLENGE 10
E_UNLOCKTYPE_COMPLETE_ALL_RACES 11
E_UNLOCKTYPE_COMPLETE_ALL_ROADRAGES 12
E_UNLOCKTYPE_COMPLETE_ALL_BURNINGROUTES 13
E_UNLOCKTYPE_COMPLETE_ALL_ELIMINATORS 14
E_UNLOCKTYPE_COMPLETE_ALL_SURVIVORS 15
E_UNLOCKTYPE_COMPLETE_ALL_STUNTATTACK 16
E_UNLOCKTYPE_FIND_ALL_GASSTATIONS 17
E_UNLOCKTYPE_FIND_ALL_JUNKYARDS 18
E_UNLOCKTYPE_FIND_ALL_PAINTSHOPS 19
E_UNLOCKTYPE_FIND_ALL_BODYSHOPS 20
E_UNLOCKTYPE_FIND_ALL_DRIVE_THRUS 21
E_UNLOCKTYPE_NUM_MEDELS 22
E_UNLOCKTYPE_NUM_ROADRULES 23
E_UNLOCKTYPE_NUM_TIME_ROADRULES 24
E_UNLOCKTYPE_NUM_CRASH_ROADRULES 25
E_UNLOCKTYPE_NUM_NORMALTAKEDOWNS 26
E_UNLOCKTYPE_NUM_SIGNATURETAKEDOWNS 27
E_UNLOCKTYPE_NUM_JUMPS 28
E_UNLOCKTYPE_NUM_SMASHES 29
E_UNLOCKTYPE_NUM_STUNTS 30
E_UNLOCKTYPE_NUM_ONLINE_VERTICLE_TAKEDOWNS 31
E_UNLOCKTYPE_NUM_PERCENTAGE_PARALLELPARK_ONLINE 32
E_UNLOCKTYPE_NUM_OF_EACH_ONLINE_EVENT_COMPLETE 33
E_UNLOCKTYPE_NUM_MUG_SHOTS_COLLECTED 34
E_UNLOCKTYPE_COUNT 35