AttribSys Vault: Difference between revisions

Added breakdown and replaced Node with AttribEntry.
m (Remove base class names generated by Ghidra.)
(Added breakdown and replaced Node with AttribEntry.)
 
(2 intermediate revisions by the same user not shown)
Line 68:
 
= Vault =
[[File:PUSMC01 AttribSys Breakdown.svg|thumb|A breakdown diagram of the Cavalry's vault.]]
 
The vault is a set of structures with [[#Attrib::Vault::ChunkBlock|ChunkBlocks]] which are read sequentially. In Burnout Paradise, these are:
* '''Vers''': The version
Line 154 ⟶ 156:
|}
 
This is always followed by the types, then the entries (which are [[#Attrib::NodeCollectionLoadData::AttribEntry|nodesentries]]).
 
=== Attrib::NodeCollectionLoadData::AttribEntry ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 162 ⟶ 164:
| 0x0 || 0x8 || [[Attribute hash|Key]] || mKey || ||
|-
| 0x8 || 0x4 || [[#Attrib::Node::anon_union_0|anon_union_0]]void* || field_1mData || || Just a pointer
|-
| 0xC || 0x2 || uint16_t || mTypeIndexmType || ||
|-
| 0xE || 0x1 || uint8_t || mMaxmNodeFlags || ||
|-
| 0xF || 0x1 || uint8_t || mFlagsmEntryFlags || ||
|}
 
=== Attrib::Node::anon_union_0 ===
{| class="wikitable"
! Length !! Type !! Name !! Description !! Comments
|-
| 0x4 || void* || mPtr || ||
|-
| 0x4 || Array* || mArray || ||
|-
| 0x4 || uintptr_t || mValue || ||
|-
| 0x4|| uintptr_t || mOffset || ||
|}
 
Line 191 ⟶ 180:
| 0x0 || 0x8 || [[#Attrib::Vault::ChunkBlock|ChunkBlock]] || || Base class ||
|-
| 0x8 || 0x8 || [[Attribute hash|HashInt]] || mCount || Number of dependenciesexports ||
|}
 
Followed by [[#Attrib::Vault::ExportEntry|export entries]] of an amount defined by <code>mCount</code>.
 
=== Attrib::Vault::ExportEntry ===
Line 242 ⟶ 231:
 
=== EPtrRefType ===
Information from Need for Speed ProStreet (RU PS2).
Information from [https://github.com/NFSTools/VaultLib/blob/master/VaultLib.Core/DataInterfaces/IPtrRef.cs VaultLib].
 
{| class="wikitable"