Prop Instance Data: Difference between revisions
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 |
|||
⚫ | |||
| 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 = |
|||
⚫ | |||
==== 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 || || || |
| 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 || || || |
| 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 || || || |
| 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 || || || |
| 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 || [[ |
| 0x0 || 0x40 || [[Matrix44Affine]] || mWorldTransform || || |
||
|- |
|- |
||
| 0x40 || 0x4 || uint32_t || muTypeIdAndFlags || || Type |
| 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 | |
Resource names | PRP_INST_* *Track unit ID |
Type ID | 0x10011 |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
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 |