Trigger Data: Difference between revisions
(Added infobox and normalized some content.) |
m (Remove base class names generated by Ghidra.) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
| name = TriggerData |
| name = TriggerData |
||
| othernames = Trigger |
| othernames = Trigger |
||
| example = [[File:Paradise TriggerData Example.png|frameless|320px]]<br /> |
| example = [[File:Paradise TriggerData Example.png|frameless|320px]]<br />Triggers viewed from above in Blender. |
||
| resourcenames = TriggerData |
| resourcenames = TriggerData |
||
| id = 0x10003 |
| id = 0x10003 |
||
| category = Game-specific<br />(Burnout Paradise) |
| category = Game-specific<br />(Burnout Paradise) |
||
| memdist = Main Memory only |
| memdist = Main Memory only |
||
| editor = Yes<br />View with [https://github.com/burninrubber0/TriggersToGLTF TriggersToGLTF]*<br /><sup><small>Requires manual extraction</small></sup><br />Edit with [https://github.com/burninrubber0/Bundle-Manager/releases/latest Bundle Manager] |
| editor = Yes<br />View with [https://github.com/burninrubber0/TriggersToGLTF TriggersToGLTF]*<br /><sup><small>*Requires manual extraction</small></sup><br />Edit with [https://github.com/burninrubber0/Bundle-Manager/releases/latest Bundle Manager] |
||
}} |
}} |
||
Line 146: | Line 146: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || |
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || || Base class || |
||
|- |
|- |
||
| 0x2C || 0x4 || [[#BrnTrigger::StartingGrid|StartingGrid]]* || mpaStartingGrids || StartingGrid || |
| 0x2C || 0x4 || [[#BrnTrigger::StartingGrid|StartingGrid]]* || mpaStartingGrids || StartingGrid || |
||
Line 163: | Line 163: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || |
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || || Base class || |
||
|- |
|- |
||
| 0x2C || 0x4 || || || Padding || |
| 0x2C || 0x4 || || || Padding || |
||
Line 260: | Line 260: | ||
! Offset !! Size !! Type !! Name !! Description !! Comments |
! Offset !! Size !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || |
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || || Base class || |
||
|- |
|- |
||
| 0x2C || 0x4 || int32_t || miGroupID || GameDB ID || |
| 0x2C || 0x4 || int32_t || miGroupID || GameDB ID || |
||
Line 312: | Line 312: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || |
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || || Base class || |
||
|- |
|- |
||
| 0x2C || 0x1 || uint8_t || muScoreType || || See [[#BrnTrigger::Blackspot::ScoreType|score type]] |
| 0x2C || 0x1 || uint8_t || muScoreType || || See [[#BrnTrigger::Blackspot::ScoreType|score type]] |
||
Line 325: | Line 325: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || |
| 0x0 || 0x2C || [[#BrnTrigger::TriggerRegion|TriggerRegion]] || || Base class || |
||
|} |
|} |
||
Latest revision as of 05:20, 22 February 2024
TriggerData | |
---|---|
aka Trigger | |
Triggers viewed from above in Blender. | |
Resource names | TriggerData |
Type ID | 0x10003 |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
Editor available? |
Yes View with TriggersToGLTF* *Requires manual extraction Edit with Bundle Manager |
The Trigger resource contains all regional player-triggered events related to sound, roads, event finishes, drivethrus, picture paradise locations, and challenge landmarks.
Previous versions Information on the Trigger resource versions used in prior retail versions of Burnout Paradise. |
Development Information on the Trigger resource versions used during development. |
Structures
BrnTrigger::TriggerData
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | int32_t | miVersionNumber | Resource version | 42 |
0x4 | 0x4 | uint32_t | muSize | Resource size | |
0x8 | 0x8 | Padding | |||
0x10 | 0x10 | Vector3 | mPlayerStartPosition | Dev start position | |
0x20 | 0x10 | Vector3 | mPlayerStartDirection | Dev start direction | |
0x30 | 0x4 | Landmark* | mpLandmarks | Landmarks | |
0x34 | 0x4 | int32_t | miLandmarkCount | Number of landmarks | |
0x38 | 0x4 | int32_t | miOnlineLandmarkCount | Number of online landmarks | |
0x3C | 0x4 | SignatureStunt* | mpSignatureStunts | Signature stunts | |
0x40 | 0x4 | int32_t | miSignatureStuntCount | Number of signature stunts | |
0x44 | 0x4 | GenericRegion* | mpGenericRegions | Generic regions | |
0x48 | 0x4 | int32_t | miGenericRegionCount | Number of generic regions | |
0x4C | 0x4 | Killzone* | mpKillzones | Killzones | |
0x50 | 0x4 | int32_t | miKillzoneCount | Number of killzones | |
0x54 | 0x4 | Blackspot* | mpBlackspots | Blackspots | |
0x58 | 0x4 | int32_t | miBlackspotCount | Number of blackspots | |
0x5C | 0x4 | VFXBoxRegion* | mpVFXBoxRegions | VFX box regions | |
0x60 | 0x4 | int32_t | miVFXBoxRegionCount | Number of VFX box regions | |
0x64 | 0x4 | RoamingLocation* | mpRoamingLocations | Roaming locations | |
0x68 | 0x4 | int32_t | miRoamingLocationCount | Number of roaming locations | |
0x6C | 0x4 | SpawnLocation* | mpSpawnLocations | Spawn locations | |
0x70 | 0x4 | int32_t | miSpawnLocationCount | Number of spawn locations | |
0x74 | 0x4 | TriggerRegion** | mppRegions | Trigger regions | Generic regions used in Killzones, landmarks for debug only |
0x78 | 0x4 | int32_t | miRegionCount | Number of regions | |
0x7C | 0x4 | Padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | int32_t | miVersionNumber | Resource version | 42 |
0x4 | 0x4 | uint32_t | muSize | Resource size | |
0x8 | 0x8 | Padding | |||
0x10 | 0x10 | Vector3 | mPlayerStartPosition | Dev start position | |
0x20 | 0x10 | Vector3 | mPlayerStartDirection | Dev start direction | |
0x30 | 0x8 | Landmark* | mpLandmarks | Landmarks | |
0x38 | 0x4 | int32_t | miLandmarkCount | Number of landmarks | |
0x3C | 0x4 | int32_t | miOnlineLandmarkCount | Number of online landmarks | |
0x40 | 0x8 | SignatureStunt* | mpSignatureStunts | Signature stunts | |
0x48 | 0x4 | int32_t | miSignatureStuntCount | Number of signature stunts | |
0x4C | 0x4 | Padding | |||
0x50 | 0x8 | GenericRegion* | mpGenericRegions | Generic regions | |
0x58 | 0x4 | int32_t | miGenericRegionCount | Number of generic regions | |
0x5C | 0x4 | Padding | |||
0x60 | 0x8 | Killzone* | mpKillzones | Killzones | |
0x68 | 0x4 | int32_t | miKillzoneCount | Number of killzones | |
0x6C | 0x4 | Padding | |||
0x70 | 0x8 | Blackspot* | mpBlackspots | Blackspots | |
0x78 | 0x4 | int32_t | miBlackspotCount | Number of blackspots | |
0x7C | 0x4 | Padding | |||
0x80 | 0x8 | VFXBoxRegion* | mpVFXBoxRegions | VFX box regions | |
0x88 | 0x4 | int32_t | miVFXBoxRegionCount | Number of VFX box regions | |
0x8C | 0x4 | Padding | |||
0x90 | 0x8 | RoamingLocation* | mpRoamingLocations | Roaming locations | |
0x98 | 0x4 | int32_t | miRoamingLocationCount | Number of roaming locations | |
0x9C | 0x4 | Padding | |||
0xA0 | 0x8 | SpawnLocation* | mpSpawnLocations | Spawn locations | |
0xA8 | 0x4 | int32_t | miSpawnLocationCount | Number of spawn locations | |
0xAC | 0x4 | Padding | |||
0xB0 | 0x8 | TriggerRegion** | mppRegions | Trigger regions | Generic regions used in Killzones, landmarks for debug only |
0xB8 | 0x4 | int32_t | miRegionCount | Number of regions | |
0xBC | 0x4 | Padding |
BrnTrigger::Landmark
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2C | TriggerRegion | Base class | ||
0x2C | 0x4 | StartingGrid* | mpaStartingGrids | StartingGrid | |
0x30 | 0x1 | int8_t | miStartingGridCount | Always 0 | |
0x31 | 0x1 | uint8_t | muDesignIndex | Landmark index | |
0x32 | 0x1 | uint8_t | muDistrict | District ID | Always 3. See Districts |
0x33 | 0x1 | uint8_t | mu8Flags | Flags | See flags |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2C | TriggerRegion | Base class | ||
0x2C | 0x4 | Padding | |||
0x30 | 0x8 | StartingGrid* | mpaStartingGrids | StartingGrid | |
0x38 | 0x1 | int8_t | miStartingGridCount | Always 0 | |
0x39 | 0x1 | uint8_t | muDesignIndex | Landmark index | |
0x3A | 0x1 | uint8_t | muDistrict | District ID | Always 3. See Districts |
0x3B | 0x1 | uint8_t | mu8Flags | Flags | See flags |
0x3C | 0x4 | Padding |
BrnTrigger::TriggerRegion
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x24 | BoxRegion | mBoxRegion | ||
0x24 | 0x4 | int32_t | mId | ||
0x28 | 0x2 | int16_t | miRegionIndex | Region index | |
0x2A | 0x1 | uint8_t | meType | Region type | See type |
0x2B | 0x1 | uint8_t[1] | muPad | Padding |
BrnTrigger::BoxRegion
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | float32_t | mPositionX | ||
0x4 | 0x4 | float32_t | mPositionY | ||
0x8 | 0x4 | float32_t | mPositionZ | ||
0xC | 0x4 | float32_t | mRotationX | ||
0x10 | 0x4 | float32_t | mRotationY | ||
0x14 | 0x4 | float32_t | mRotationZ | ||
0x18 | 0x4 | float32_t | mDimensionX | ||
0x1C | 0x4 | float32_t | mDimensionY | ||
0x20 | 0x4 | float32_t | mDimensionZ |
BrnTrigger::StartingGrid
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x80 | Vector3[8] | maStartingPositions | ||
0x80 | 0x80 | Vector3[8] | maStartingDirections |
BrnTrigger::SignatureStunt
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | mId | GameDB ID | |
0x8 | 0x8 | int64_t | miCamera | ||
0x10 | 0x4 | GenericRegion** | mppStuntElements | ||
0x14 | 0x4 | int32_t | miStuntElementCount |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | mId | GameDB ID | |
0x8 | 0x8 | int64_t | miCamera | ||
0x10 | 0x8 | GenericRegion** | mppStuntElements | ||
0x18 | 0x4 | int32_t | miStuntElementCount | ||
0x1C | 0x4 | Padding |
BrnTrigger::GenericRegion
Offset | Size | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2C | TriggerRegion | Base class | ||
0x2C | 0x4 | int32_t | miGroupID | GameDB ID | |
0x30 | 0x2 | int16_t | miCameraCut1 | ||
0x32 | 0x2 | int16_t | miCameraCut2 | ||
0x34 | 0x1 | int8_t | miCameraType1 | Stunt camera type 1 | See stunt camera type |
0x35 | 0x1 | int8_t | miCameraType2 | Stunt camera type 2 | See stunt camera type |
0x36 | 0x1 | uint8_t | meType | Generic region type | See type |
0x37 | 0x1 | int8_t | miIsOneWay |
BrnTrigger::Killzone
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | GenericRegion** | mppTriggers | GenericRegion pointer array | |
0x4 | 0x4 | int32_t | miTriggerCount | Number of generic regions | |
0x8 | 0x4 | CgsID* | mpRegionIds | Regions GameDB IDs | |
0xC | 0x4 | int32_t | miRegionIdCount | Number of region IDs |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | GenericRegion** | mppTriggers | GenericRegion pointer array | |
0x8 | 0x4 | int32_t | miTriggerCount | Number of generic regions | |
0xC | 0x4 | Padding | |||
0x10 | 0x8 | CgsID* | mpRegionIds | Regions GameDB IDs | |
0x18 | 0x4 | int32_t | miRegionIdCount | Number of region IDs | |
0x1C | 0x4 | Padding |
BrnTrigger::Blackspot
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2C | TriggerRegion | Base class | ||
0x2C | 0x1 | uint8_t | muScoreType | See score type | |
0x2D | 0x3 | Padding | |||
0x30 | 0x4 | int32_t | miScoreAmount |
BrnTrigger::VFXBoxRegion
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2C | TriggerRegion | Base class |
BrnTrigger::RoamingLocation
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector3 | mPosition | ||
0x10 | 0x1 | uint8_t | muDistrictIndex | See Districts | |
0x11 | 0xF | Padding |
BrnTrigger::SpawnLocation
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector3 | mPosition | ||
0x10 | 0x10 | Vector3 | mDirection | ||
0x20 | 0x8 | CgsID | mJunkyardId | GameDB ID | |
0x28 | 0x1 | uint8_t | muType | Type | See type |
0x29 | 0x7 | Padding |
Enumerations
BrnTrigger::TriggerRegion::Type
Name | Value | Comments |
---|---|---|
E_TYPE_LANDMARK | 0 | |
E_TYPE_BLACKSPOT | 1 | |
E_TYPE_GENERIC_REGION | 2 | |
E_TYPE_VFXBOX_REGION | 3 | |
E_TYPE_COUNT | 4 |
Landmark flags
Name | Value | Comments |
---|---|---|
KI_FLAG_ONLINE | 0x1 | Is online |
BrnTrigger::GenericRegion::StuntCameraType
Name | Value | Comments |
---|---|---|
E_STUNT_CAMERA_TYPE_NO_CUTS | 0 | |
E_STUNT_CAMERA_TYPE_CUSTOM | 1 | |
E_STUNT_CAMERA_TYPE_NORMAL | 2 |
BrnTrigger::GenericRegion::Type
Name | Value | Comments |
---|---|---|
E_TYPE_JUNK_YARD | 0 | Junkyard |
? | 1 | BikeShop |
E_TYPE_GAS_STATION | 2 | GasStation |
E_TYPE_BODY_SHOP | 3 | BodyShop |
E_TYPE_PAINT_SHOP | 4 | PaintShop |
E_TYPE_CAR_PARK | 5 | CarPark |
E_TYPE_SIGNATURE_TAKEDOWN | 6 | SignatureTakedown |
E_TYPE_KILLZONE | 7 | KillzoneTrigger |
E_TYPE_JUMP | 8 | Stunt |
E_TYPE_SMASH | 9 | StuntProp |
E_TYPE_SIGNATURE_CRASH | 10 | SignatureCrash |
E_TYPE_SIGNATURE_CRASH_CAMERA | 11 | SignatureCrashCamera |
E_TYPE_ROAD_LIMIT | 12 | RoadLimit |
E_TYPE_OVERDRIVE_BOOST | 13 | OverDriveBoost |
E_TYPE_OVERDRIVE_STRENGTH | 14 | OverDriveStrength |
E_TYPE_OVERDRIVE_SPEED | 15 | OverDriveSpeed |
E_TYPE_OVERDRIVE_CONTROL | 16 | OverDriveControl |
E_TYPE_TIRE_SHOP | 17 | TireShop |
E_TYPE_TUNING_SHOP | 18 | TuningShop |
E_TYPE_PICTURE_PARADISE | 19 | PictureParadise |
E_TYPE_TUNNEL | 20 | Tunnel |
E_TYPE_OVERPASS | 21 | Overpass |
E_TYPE_BRIDGE | 22 | Bridge |
E_TYPE_WAREHOUSE | 23 | Warehouse |
E_TYPE_LARGE_OVERHEAD_OBJECT | 24 | LargeOverheadobject |
E_TYPE_NARROW_ALLEY | 25 | NarrowAlley |
E_TYPE_PASS_TUNNEL | 26 | Pass Tunnel |
E_TYPE_PASS_OVERPASS | 27 | Pass Overpass |
E_TYPE_PASS_BRIDGE | 28 | Pass Bridge |
E_TYPE_PASS_WAREHOUSE | 29 | Pass Warehouse |
E_TYPE_PASS_LARGEOVERHEADOBJECT | 30 | Pass LargeOverheadobject |
E_TYPE_PASS_NARROWALLEY | 31 | Pass NarrowAlley |
E_TYPE_RAMP | 32 | Ramp |
? | 33 | Gold |
? | 34 | IslandEntitlement |
E_TYPE_COUNT | 35 |
BrnTrigger::Blackspot::ScoreType
Name | Value | Comments |
---|---|---|
E_SCORE_TYPE_DISTANCE | 0 | |
E_SCORE_TYPE_CAR_COUNT | 1 | |
E_SCORE_TYPE_COUNT | 2 |
BrnTrigger::SpawnLocation::Type
Name | Value | Comments |
---|---|---|
E_TYPE_PLAYER_SPAWN | 0 | |
E_TYPE_CAR_SELECT_LEFT | 1 | |
E_TYPE_CAR_SELECT_RIGHT | 2 | |
E_TYPE_CAR_UNLOCK | 3 | |
E_TYPE_COUNT | 4 |