Loop Model: Difference between revisions

Formatted for wiki display and corrected info.
(Created page with "=== LoopModelData === {| class="wikitable" ! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |- | 0x0 || 0x4 || uint32_t || muVersion || Version number || || |- | 0x4 || 0x4 || uint32_t || muSignature || Signature || "YDNA" || |- | 0x8 || 0x4 || Partial * || mpaPartials || || Partial format || |- | 0xC || 0x4 || uint32_t || muNumOfPartials || || || |- | 0x10 || 0x4 || uint32_t || muSizeInBytes || Data size || || |} === Partial ===...")
 
(Formatted for wiki display and corrected info.)
Line 1:
Loop models match engine RPM to sounds via a graph.
=== LoopModelData ===
 
= Structures =
'''Note: PC (Remastered) loop models are 64-bit, unlike with other resource types.'''
 
=== BrnSound::Vehicles::Engines::LoopModelData ===
==== Graph32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || uint32_t || muVersion || Version number || 7 ||in all known versions
|-
| 0x4 || 0x4 || uint32_t || muSignature || SignatureMagic || "YDNA" ||
|-
| 0x8 || 0x4 || [[#BrnSound::Vehicles::Engines::Partial | Partial]]* || mpaPartials || || Partial format ||
|-
| 0xC || 0x4 || uint32_t || muNumOfPartials || || ||
|-
| 0x10 || 0x4 || uint32_t || muSizeInBytes || DataResource size || ||
|}
 
=== Partial ===
==== Point64-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || Nameuint32_t || mWaveNamemuVersion || NameVersion hashnumber || 7 ||in all known versions
|-
| 0x4 || 0x4 || Graph *uint32_t || mpaGraphsmuSignature || Magic || Graph format || YDNA
|-
| 0x8 || 0x10x8 || uint8_t[[#BrnSound::Vehicles::Engines::Partial || mu8NumOfGraphsPartial]]* || Num graphsmpaPartials || ||
|-
| 0x90x10 || 0x30x4 || uint32_t || || paddingmuNumOfPartials || ||
|-
| 0x14 || 0x4 || uint32_t || muSizeInBytes || DataResource size || ||
|}
 
=== Graph ===
=== BrnSound::Vehicles::Engines::Partial ===
'''Note: Field order changes between 32 and 64 bit, unlike with other resource types.'''
 
==== Graph32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || Point[[Common *Data ||Types mpaPoints(Burnout ||Paradise)#Sound Pointerhash to| arrayName]] of points on|| graphmWaveName || PointName formathash ||
|-
| 0x4 || 0x10x4 || uint8_t[[#BrnSound::Vehicles::Engines::Graph || mu8NumOfPointsGraph]]* || Num pointsmpaGraphs || ||
|-
| 0x50x8 || 0x1 || int8_t || mi8XAxisuint8_t || mu8NumOfGraphs || ||
|-
| 0x60x9 || 0x10x3 || int8_t || mi8YAxis || || padding ||
|-
| 0x7 || 0x1 || int8_t || mPad || || ||
|}
 
=== Point ===
==== Point64-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x40x8 || float32_t[[#BrnSound::Vehicles::Engines::Graph || mfXposGraph]]* || X position on graphmpaGraphs || ||
|-
| 0x40x8 || 0x4 || float32_t[[Common ||Data mfYposTypes ||(Burnout YParadise)#Sound positionhash on| graphName]] || mWaveName || Name hash ||
|}
== PS4 ==
=== LoopModelData ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x00xC || 0x40x1 || uint32_tuint8_t || muVersion || Version numbermu8NumOfGraphs || ||
|-
| 0x40xD || 0x40x3 || uint32_t || muSignature || Signature || "YDNA"padding ||
|-
| 0x8 || 0x8 || Partial * || mpaPartials || || Partial format ||
|-
| 0x10 || 0x4 || uint32_t || muNumOfPartials || || ||
|-
| 0x14 || 0x4 || uint32_t || muSizeInBytes || Data size || ||
|}
 
=== Partial ===
=== BrnSound::Vehicles::Engines::Graph ===
==== Partial32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|}-
| 0x0 || 0x4 || [[#BrnSound::Vehicles::Engines::Point | Point]]* || mpaPoints || Points on graph ||
|-
| 0x0 || 0x4 || Name0x1 || mWaveNameuint8_t || Name hashmu8NumOfPoints || ||
|-
| 0x40x5 || 0x80x1 || Graph *int8_t || mpaGraphsmi8XAxis || || Graph format ||
|-
| 0xC0x6 || 0x1 || uint8_tint8_t || mu8NumOfGraphs || Num graphsmi8YAxis || ||
|-
| 0xD0x7 || 0x30x1 || int8_t || || paddingmPad || ||
|}
 
=== Graph ===
==== Partial64-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x8 || [[#BrnSound::Vehicles::Engines::Point | Point]]* || mpaPoints || Pointer to array of pointsPoints on graph || Point format ||
|-
| 0x8 || 0x1 || uint8_t || mu8NumOfPoints || Num points || ||
|-
| 0x9 || 0x1 || int8_t || mi8XAxis || || ||
|-
| 0xA || 0x1 || int8_t || mi8YAxis || || ||
|-
| 0xB || 0x1 || int8_t || mPad || || ||
|-
| 0xC || 0x4 || || || padding || ||
|}
 
=== Point ===
=== BrnSound::Vehicles::Engines::Point ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments