Prop Instance Data: Difference between revisions

From Burnout Wiki
Content added Content deleted
(Created page.)
 
(Added infobox and normalized some content.)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{ParadiseResourceTypeInfobox
= Layout =
| name = PropInstanceData
=== PropZoneData ===
| othernames = PropInstances
| resourcenames = PRP_INST_*<br /><sup><small>*Track unit ID</small></sup>
| id = 0x10011
| category = Game-specific<br />(Burnout Paradise)
| memdist = Main Memory only
}}

= Structures =
=== BrnPhysics::Props::PropZoneData ===
==== 32-bit ====
==== 32-bit ====
{| class="wikitable"
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x4 || PropCellData* || maCells || ||
| 0x0 || 0x4 || [[#BrnPhysics::Props::PropCellData|PropCellData]]* || maCells || ||
|-
|-
| 0x4 || 0x1 || uint8_t || muNumCells || ||
| 0x4 || 0x1 || uint8_t || muNumCells || ||
|-
|-
| 0x5 || 0x3 || || || padding ||
| 0x5 || 0x3 || || || Padding ||
|-
|-
| 0x8 || 0x4 || PropInstanceData* || maInstances || ||
| 0x8 || 0x4 || [[#BrnPhysics::Props::PropInstanceData|PropInstanceData]]* || maInstances || ||
|-
|-
| 0xC || 0x4 || uint32_t || muSizeInBytes || ||
| 0xC || 0x4 || uint32_t || muSizeInBytes || ||
Line 22: Line 30:
| 0x18 || 0x2 || uint16_t || muZoneId || ||
| 0x18 || 0x2 || uint16_t || muZoneId || ||
|-
|-
| 0x1A || 0x2 || || || padding ||
| 0x1A || 0x2 || || || Padding ||
|}
|}


==== 64-bit ====
==== 64-bit ====
{| class="wikitable"
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x8 || PropCellData* || maCells || ||
| 0x0 || 0x8 || [[#BrnPhysics::Props::PropCellData|PropCellData]]* || maCells || ||
|-
|-
| 0x8 || 0x1 || uint8_t || muNumCells || ||
| 0x8 || 0x1 || uint8_t || muNumCells || ||
|-
|-
| 0x9 || 0x7 || || || padding ||
| 0x9 || 0x7 || || || Padding ||
|-
|-
| 0x10 || 0x8 || PropInstanceData* || maInstances || ||
| 0x10 || 0x8 || [[#BrnPhysics::Props::PropInstanceData|PropInstanceData]]* || maInstances || ||
|-
|-
| 0x18 || 0x4 || uint32_t || muSizeInBytes || ||
| 0x18 || 0x4 || uint32_t || muSizeInBytes || ||
Line 46: Line 53:
| 0x24 || 0x2 || uint16_t || muZoneId || ||
| 0x24 || 0x2 || uint16_t || muZoneId || ||
|-
|-
| 0x26 || 0x2 || || || padding ||
| 0x26 || 0x2 || || || Padding ||
|}
|}


=== PropCellData ===
=== BrnPhysics::Props::PropCellData ===
{| class="wikitable"
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x4 || PropCellId || mId || ||
| 0x0 || 0x4 || [[#BrnPhysics::Props::PropCellId|PropCellId]] || mId || ||
|-
|-
| 0x4 || 0x2 || uint16_t || muStartIndex || ||
| 0x4 || 0x2 || uint16_t || muStartIndex || ||
Line 65: Line 71:
|}
|}


=== PropCellId ===
=== BrnPhysics::Props::PropCellId ===
{| class="wikitable"
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
Line 75: Line 80:
|}
|}


=== PropInstanceData ===
=== BrnPhysics::Props::PropInstanceData ===
{| class="wikitable"
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x40 || [[Common Data Types (Burnout Paradise)#Matrix44Affine | Matrix44Affine]] || mWorldTransform || ||
| 0x0 || 0x40 || [[Matrix44Affine]] || mWorldTransform || ||
|-
|-
| 0x40 || 0x4 || uint32_t || muTypeIdAndFlags || || Type ID in PropPhysics?<br>Flag 0x4000000 sets entity instance flags to 1. Rest do nothing?
| 0x40 || 0x4 || uint32_t || muTypeIdAndFlags || || Type data index in [[Prop Physics]]<br>The type ID forms the lower 26-bits and the flags are the upper 6 bits.<br>See [[#Prop instance flags|prop instance flags]]
|-
|-
| 0x44 || 0x4 || uint32_t || muInstanceID || ||
| 0x44 || 0x4 || uint32_t || muInstanceID || ||
Line 95: Line 99:
|-
|-
| 0x4D || 0x3 || uint8_t[3] || mau8Padding || ||
| 0x4D || 0x3 || uint8_t[3] || mau8Padding || ||
|}

==== Prop instance flags ====

Flag 0x10 sets entity instance flags to 1? <!-- What is a "entity instance flag"? Or do we mean 0x40000000 elsewhere sets this to 1? -->

{| class="wikitable"
! Name !! Value !! Comments
|-
| KI_PROP_FLAG_DISABLEPHYSICS || 1 ||
|}
|}

Latest revision as of 09:38, 4 October 2023

PropInstanceData
aka PropInstances
No Example
Resource names PRP_INST_*
*Track unit ID
Type ID 0x10011
Category Game-specific
(Burnout Paradise)
Memory
distribution
Main Memory only
Imports Unknown
Imported by Unknown
Editor
available?
No

Structures

BrnPhysics::Props::PropZoneData

32-bit

Offset Length Type Name Description Comments
0x0 0x4 PropCellData* maCells
0x4 0x1 uint8_t muNumCells
0x5 0x3 Padding
0x8 0x4 PropInstanceData* maInstances
0xC 0x4 uint32_t muSizeInBytes
0x10 0x4 uint32_t muNumberOfInstances
0x14 0x4 uint32_t muNumberOfProps
0x18 0x2 uint16_t muZoneId
0x1A 0x2 Padding

64-bit

Offset Length Type Name Description Comments
0x0 0x8 PropCellData* maCells
0x8 0x1 uint8_t muNumCells
0x9 0x7 Padding
0x10 0x8 PropInstanceData* maInstances
0x18 0x4 uint32_t muSizeInBytes
0x1C 0x4 uint32_t muNumberOfInstances
0x20 0x4 uint32_t muNumberOfProps
0x24 0x2 uint16_t muZoneId
0x26 0x2 Padding

BrnPhysics::Props::PropCellData

Offset Length Type Name Description Comments
0x0 0x4 PropCellId mId
0x4 0x2 uint16_t muStartIndex
0x6 0x2 uint16_t muCount
0x8 0x2 uint16_t muNumberOfRespawnDifferent
0xA 0x2 uint16_t muNumberOfDontRespawn

BrnPhysics::Props::PropCellId

Offset Length Type Name Description Comments
0x0 0x2 uint16_t muX
0x2 0x2 uint16_t muZ

BrnPhysics::Props::PropInstanceData

Offset Length Type Name Description Comments
0x0 0x40 Matrix44Affine mWorldTransform
0x40 0x4 uint32_t muTypeIdAndFlags Type data index in Prop Physics
The type ID forms the lower 26-bits and the flags are the upper 6 bits.
See prop instance flags
0x44 0x4 uint32_t muInstanceID
0x48 0x2 uint16_t muAlternativeType
0x4A 0x1 int8_t mn8RotSpeed
0x4B 0x1 uint8_t mn8MaxAngle
0x4C 0x1 uint8_t mn8MinAngle
0x4D 0x3 uint8_t[3] mau8Padding

Prop instance flags

Flag 0x10 sets entity instance flags to 1?

Name Value Comments
KI_PROP_FLAG_DISABLEPHYSICS 1