Challenge List
ChallengeList | |
---|---|
Resource names | B5ChallengeList |
Type ID | 0x1001F |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
Editor available? |
No |
To do: Cover previous versions and development versions of the resource. |
The challenge list resource holds a list of online challenges. These challenges support up to two goals to be completed by 2-8 players on a timed or non-timed basis.
Structures
BrnResource::ChallengeListResource
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muNumChallenges | ||
0x4 | 0x4 | ChallengeListEntry* | mpEntries | ||
0x8 | 0x8 | uint64_t | mu16BytePad |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | ChallengeListEntry* | mpEntries | ||
0x8 | 0x4 | uint32_t | muNumChallenges |
BrnResource::ChallengeListEntry
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xA0 | ChallengeListEntryAction[2] | maAction | Challenge parts | |
0xA0 | 0x10 | char[16] | macDescriptionStringID | Freeburn challenge description string ID | FBCD_<GameDB ID> |
0xB0 | 0x10 | char[16] | macTitleStringID | Freeburn challenge title string ID | FBCT_<GameDB ID> |
0xC0 | 0x8 | CgsID | mChallengeID | Challenge GameDB ID | |
0xC8 | 0x8 | CgsID | mCarID | Car ID to restrict to for challenge participation | Unused |
0xD0 | 0x1 | uint8_t | muCarType | Car type to restrict to for challenge participation | Unused. See ECarRestrictionType |
0xD1 | 0x1 | int8_t | miCarColourIndex | Unused | |
0xD2 | 0x1 | int8_t | miCarColourPaletteIndex | Unused | |
0xD3 | 0x1 | uint8_t | muNumPlayers | Number of players required to run the challenge | 22 = 2-player, 33 = 3-player, etc. |
0xD4 | 0x1 | uint8_t | muNumActions | Number of parts in the challenge | 1 or 2 |
0xD5 | 0x1 | uint8_t | muDifficulty | See EChallengeDifficulty | |
0xD6 | 0x1 | uint8_t | ? | Entitlement group | See EEntitlementGroup |
0xD7 | 0x1 | Padding |
BrnResource::ChallengeListEntryAction
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | muActionType | Goal | See EChallengeActionType |
0x1 | 0x1 | uint8_t | muCoopType | Co-op type used | See EChallengeCoopType |
0x2 | 0x1 | uint8_t | mxModifier | Modifications to the goal | See challenge modifier |
0x3 | 0x1 | uint8_t | muCombineActionType | Score counting type | See ECombineActionType |
0x4 | 0x1 | uint8_t | muNumLocations | Number of locations | |
0x5 | 0x4 | uint8_t[4] | mauLocationType | Location types | See ELocationType |
0x9 | 0x7 | Padding | |||
0x10 | 0x20 | LocationData[4] | maLocationData | Locations | |
0x30 | 0x1 | uint8_t | muNumTargets | Number of targets | Up to 2 |
0x31 | 0x3 | Padding | |||
0x34 | 0x8 | int32_t[2] | maiTargetValue | Targets | |
0x3C | 0x2 | uint8_t[2] | mau8TargetDataType | Target data types | See EChallengeDataType |
0x3E | 0x2 | Padding | |||
0x40 | 0x4 | float32_t | mfTimeLimit | Time limit on achieving the goal | Setting this makes any challenge timed |
0x44 | 0x4 | float32_t | mfConvoyTime | Counts down instead of up | Unused |
0x48 | 0x4 | uint32_t | muPropType | ||
0x4C | 0x4 | Padding |
Unions
BrnResource::ChallengeListEntryAction::LocationData
Length | Type | Name | Description | Comments |
---|---|---|---|---|
0x4 | EDistrict | meDistrict | ||
0x4 | ECounty | ? | ||
0x8 | CgsID | mTriggerID | ||
0x8 | CgsID | mRoadID |
Enumerations
BrnResource::ChallengeListEntry::ECarRestrictionType
Name | Value | Comments |
---|---|---|
E_CAR_TYPE_NONE | 0 | |
E_CAR_TYPE_DANGER | 1 | |
E_CAR_TYPE_AGGRESSION | 2 | |
E_CAR_TYPE_STUNT | 3 | |
E_CAR_TYPE_COUNT | 4 |
BrnResource::ChallengeListEntry::EChallengeDifficulty
Name | Value | Comments |
---|---|---|
E_CHALLENGE_DIFFICULTY_EASY | 0 | |
E_CHALLENGE_DIFFICULTY_MEDIUM | 1 | |
E_CHALLENGE_DIFFICULTY_HARD | 2 | |
E_CHALLENGE_DIFFICULTY_VERY_HARD | 3 | |
E_CHALLENGE_DIFFICULTY_COUNT | 4 |
BrnResource::ChallengeListEntry::EEntitlementGroup
Name | Value | Comments |
---|---|---|
? | 0 | Release (Freeburn challenges) |
? | 1 | Unknown DLC. Same behaviour as 0. |
? | 2 | |
? | 3 | Cagney (Timed challenges) |
? | 4 | Davis (Bike challenges) |
? | 5 | Island challenges |
BrnResource::ChallengeListEntryAction::EChallengeActionType
Name | Value | Comments |
---|---|---|
E_CHALLENGE_ACTION_MINIMUM_SPEED | 0 | |
E_CHALLENGE_ACTION_IN_AIR | 1 | |
E_CHALLENGE_ACTION_AIR_DISTANCE | 2 | |
E_CHALLENGE_ACTION_LEAP_CARS | 3 | |
E_CHALLENGE_ACTION_DRIFT | 4 | |
E_CHALLENGE_ACTION_NEAR_MISS | 5 | |
E_CHALLENGE_ACTION_BARREL_ROLLS | 6 | |
E_CHALLENGE_ACTION_ONCOMING | 7 | |
E_CHALLENGE_ACTION_FLATSPIN | 8 | |
E_CHALLENGE_ACTION_LAND_SUCCESSFUL | 9 | |
E_CHALLENGE_ACTION_ROAD_RULE_TIME | 10 | |
E_CHALLENGE_ACTION_ROAD_RULE_CRASH | 11 | |
E_CHALLENGE_ACTION_PLAYER_POWER_PARKING | 12 | |
E_CHALLENGE_ACTION_TRAFFIC_POWER_PARKING | 13 | |
E_CHALLENGE_ACTION_CRASH_INTO_PLAYER | 14 | |
E_CHALLENGE_ACTION_BURNOUTS | 15 | |
E_CHALLENGE_ACTION_MEET_UP | 16 | |
E_CHALLENGE_ACTION_BILLBOARD | 17 | Smash X Billboards |
E_CHALLENGE_ACTION_BOOST_TIME | 18 | |
E_CHALLENGE_ACTION_BARREL_ROLLS_REVERSE | 19 | |
E_CHALLENGE_ACTION_FLATSPIN_REVERSE | 20 | |
E_CHALLENGE_ACTION_LAND_SUCCESSFUL_REVERSE | 21 | |
? | 22 | Convoy-related? Likely non-functional (missing code) |
? | 23 | |
? | 24 | Air chained multiplier Non-functional (missing code) |
? | 25 | Flat Spin chained multiplier Non-functional (missing code) |
? | 26 | Barrel Roll chained multiplier Non-functional (missing code) |
? | 27 | Super Jump chained multiplier Non-functional (missing code) |
? | 28 | Billboard chained multiplier Non-functional (missing code) |
? | 29 | Unknown chained multiplier Non-functional (always 0, but does still count for the generic chained multiplier action, though still affected by the missing chain tracking code issue) |
? | 30 | Chained multiplier (any type - including stunt types not listed in prior actions and stunt types that don't typically receive stunt run modifiers) Non-functional (missing code) |
? | 31 | Air multiplier |
? | 32 | Flat Spin multiplier |
? | 33 | Barrel Roll multiplier |
? | 34 | Super Jump multiplier |
? | 35 | Billboard multiplier |
? | 36 | Cars leapt multiplier |
? | 37 | Takedown multiplier |
? | 38 | Multiplier (any of the above multipliers, including chained) |
? | 39 | Stunt score |
? | 40 | Corkscrew (perform a Barrel Roll and Flat Spin at the same time) |
? | 41 | Land X Super Jumps anywhere |
? | 42 | Land specific Super Jump. Selected via trigger ID in second target |
? | 43 | Smash specific Billboard. Selected via trigger ID in second target |
? | 44 | Interstate lap |
? | 45 | Interstate lap without stopping |
? | 46 | Interstate lap without crashing |
? | 47 | Aerial near miss |
? | 48 | Reverse driving |
? | 49 | Reverse oncoming |
? | 50 | Get X takedowns |
? | 51 | Vertical takedown |
? | 52 | Target (generic counter, usually used as a MEET_UP counter) |
? | 53 | Wheelie distance |
? | 54 | Wheelie X times |
? | 55 | Wheelie near miss |
? | 56 | Wheelie oncoming |
? | 57 | Oncoming near miss |
? | 58 | No longer exists |
? | 59 | No longer exists |
? | 60 | Distance traveled |
? | 61 | No longer exists |
? | 62 | Jump over bikes |
E_ACTION_COUNT | 63 |
BrnResource::ChallengeListEntryAction::EChallengeCoopType
Name | Value | Comments |
---|---|---|
E_CHALLENGE_COOP_TYPE_ONCE | 0 | |
E_CHALLENGE_COOP_TYPE_INDIVIDUAL | 1 | |
E_CHALLENGE_COOP_TYPE_INDIVIDUAL_ACCUMULATION | 2 | |
E_CHALLENGE_COOP_TYPE_SIMULTANEOUS | 3 | |
E_CHALLENGE_COOP_TYPE_CUMULATIVE | 4 | |
E_CHALLENGE_COOP_TYPE_AVERAGE | 5 | Non-functional (missing code) |
E_CHALLENGE_COOP_TYPE_INDIVIDUAL_SEQUENCE | 6 | Non-functional (missing code) |
E_CHALLENGE_COOP_TYPE_COUNT | 7 |
Challenge modifier
Name | Value | Comments |
---|---|---|
KX_MODIFIER_NONE | 0x0 | No modifiers set |
KX_MODIFIER_WITHOUT_CRASHING | 0x1 | Crashing resets score |
KX_MODIFIER_PRISTINE | 0x2 | Has "contributed most"/"finished first" popup |
KX_MODIFIER_HEAD_ON | 0x4 | Unused |
KX_MODIFIER_IN_AIR | 0x8 | In air |
KX_MODIFIER_BANK_FOR_SUCCESS | 0x10 | Must be set unless co-op type is individual accumulation or scoring may go berserk. |
? | 0x20 | Stands by before part 2 |
? | 0x40 | Timer starts on challenge activation |
BrnResource::ChallengeListEntryAction::ECombineActionType
Name | Value | Comments |
---|---|---|
E_COMBINE_ACTION_CHAIN | 0 | |
E_COMBINE_ACTION_FAILURE_RESETS_CHAIN | 1 | Only works if KX_MODIFIER_WITHOUT_CRASHING is set in the modifier |
E_COMBINE_ACTION_FAILURE_RESETS_EVERYONE | 2 | |
? | 3 | Unknown, unused. Non-functional but would be similar to sequential |
E_COMBINE_ACTION_SIMULTANEOUS | 4 | Perform two actions at the same time |
E_COMBINE_ACTION_INDEPENDENT | 5 | Perform two actions at any time |
? | 6 | Perform two actions sequentially |
E_COMBINE_ACTION_COUNT | 7 |
BrnResource::ChallengeListEntryAction::ELocationType
Name | Value | Comments |
---|---|---|
E_LOCATION_TYPE_ANYWHERE | 0 | |
E_LOCATION_TYPE_DISTRICT | 1 | |
E_LOCATION_TYPE_COUNTY | 2 | |
E_LOCATION_TYPE_TRIGGER | 3 | |
E_LOCATION_TYPE_ROAD | 4 | |
E_LOCATION_TYPE_ROAD_NO_MARKER | 5 | |
? | 6 | Gas Station |
? | 7 | Auto Repair |
? | 8 | Paint Shop |
E_LOCATION_TYPE_COUNT | 9 |
BrnResource::ChallengeListEntryAction::EChallengeDataType
Name | Value | Comments |
---|---|---|
E_CHALLENGE_DATA_TYPE_CRASHES | 0 | |
E_CHALLENGE_DATA_TYPE_NEAR_MISS | 1 | |
E_CHALLENGE_DATA_TYPE_ONCOMING | 2 | |
E_CHALLENGE_DATA_TYPE_DRIFT | 3 | |
E_CHALLENGE_DATA_TYPE_AIR | 4 | |
E_CHALLENGE_DATA_TYPE_AIR_DISTANCE | 5 | |
E_CHALLENGE_DATA_TYPE_BARREL_ROLLS | 6 | |
E_CHALLENGE_DATA_TYPE_FLAT_SPINS | 7 | |
E_CHALLENGE_DATA_TYPE_CARS_LEAPT | 8 | |
E_CHALLENGE_DATA_TYPE_SPEED_ROAD_RULE | 9 | |
E_CHALLENGE_DATA_TYPE_CRASH_ROAD_RULE | 10 | |
E_CHALLENGE_DATA_TYPE_SUCCESSFUL_LANDINGS | 11 | |
E_CHALLENGE_DATA_TYPE_BURNOUTS | 12 | |
E_CHALLENGE_DATA_TYPE_POWER_PARKS | 13 | |
E_CHALLENGE_DATA_TYPE_PERCENTAGE | 14 | |
E_CHALLENGE_DATA_TYPE_MEET_UP | 15 | |
E_CHALLENGE_DATA_TYPE_BILLBOARDS | 16 | |
E_CHALLENGE_DATA_TYPE_BOOST_TIME | 17 | |
E_CHALLENGE_DATA_TYPE_CONVOY_POSITION | 18 | |
E_CHALLENGE_DATA_TYPE_DISTANCE | 19 | |
E_CHALLENGE_DATA_TYPE_CHAIN | 20 | |
E_CHALLENGE_DATA_TYPE_MULTIPLIER | 21 | |
E_CHALLENGE_DATA_TYPE_STUNT_SCORE | 22 | |
E_CHALLENGE_DATA_TYPE_CORKSCREW | 23 | Perform a Barrel Roll and Flat Spin at the same time |
E_CHALLENGE_DATA_TYPE_SUPER_JUMP | 24 | 1 on first target (number of jumps?), jump trigger ID on second target |
E_CHALLENGE_DATA_TYPE_INTERSTATE_LAP | 25 | |
E_CHALLENGE_DATA_TYPE_TAKEDOWNS | 26 | |
E_CHALLENGE_DATA_TYPE_VERT_TAKEDOWN | 27 | |
E_CHALLENGE_DATA_TYPE_AERIAL_NEAR_MISS | 28 | |
E_CHALLENGE_DATA_TYPE_REV_DRIVING | 29 | |
E_CHALLENGE_DATA_TYPE_REV_ONCOMING | 30 | |
E_CHALLENGE_DATA_TYPE_TARGET | 31 | Generic counter, usually used as a MEET_UP counter |
E_CHALLENGE_DATA_TYPE_BIKES_LEAPT | 32 | |
E_CHALLENGE_DATA_TYPE_WHEELIE | 33 | |
E_CHALLENGE_DATA_TYPE_WHEELIE_NEAR_MISS | 34 | |
E_CHALLENGE_DATA_TYPE_WHEELIE_ONCOMING | 35 | |
E_CHALLENGE_DATA_TYPE_ONCOMING_NEAR_MISS | 36 | |
E_CHALLENGE_DATA_TYPE_DISTANCE_TRAVELED | 37 | |
E_CHALLENGE_DATA_TYPE_COUNT | 38 | Used as a placeholder when there is no target |
BrnWorld::EDistrict
See districts.
BrnWorld::ECounty
See counties.