Flapt File: Difference between revisions

Added infobox and normalized some content.
m (Burninrubber0 moved page FlaptFile (Burnout Paradise) to Flapt File)
(Added infobox and normalized some content.)
 
(3 intermediate revisions by 2 users not shown)
Line 1:
{{ParadiseResourceTypeInfobox
The Flapt resource, stored in FLAPTHUD.BUNDLE, is a major GUI component in Burnout Paradise. Though it is not thoroughly researched, it is thought to be related to the EasyDrive menu as the name, Flapt, may mean Friends List Apt. The original EasyDrive menu was exclusively [https://youtu.be/oVkRTg0XczQ?t=99 used to view/invite friends].
| name = FlaptFile
| resourcenames = FLAPTHUD
| id = 0x10020
| category = Game-specific<br />(Burnout Paradise)
| memdist = Main Memory only
| imports = [[Texture]]
}}
 
The Flapt resource, stored in FLAPTHUD.BUNDLE, is a major GUI component in ''Burnout Paradise''. Though it is not thoroughly researched, it is thought to be related to the EasyDrive menu as the name, Flapt, may mean Friends List Apt. The original EasyDrive menu was exclusively [https://youtu.be/oVkRTg0XczQ?t=99 used to view/invite friends].
 
= Structures =
Line 9 ⟶ 18:
| 0x0 || 0x1 || uint8_t || muVersion || || 12
|-
| 0x1 || 0x3 || || || paddingPadding ||
|-
| 0x4 || 0x4 || uint32_t || muSizeInBytes || ||
Line 17 ⟶ 26:
| 0xC || 0x4 || uint32_t || muNumMovieClips || ||
|-
| 0x10 || 0x4 || [[#BrnFlapt::MovieClip | MovieClip]]* || mpaMovieClips || ||
|-
| 0x14 || 0x4 || uint32_t || muNumTextures || ||
|-
| 0x18 || 0x4 || [[#BrnFlapt::FlaptFile::GuiTexture | GuiTexture]]** || mpapTextures || ||
|-
| 0x1C || 0x4 || uint32_t || muNumVerts || ||
|-
| 0x20 || 0x4 || [[#BrnFlapt::FlaptFile::GuiVertex | GuiVertex]]* || mpaVerts || ||
|-
| 0x24 || 0x4 || uint32_t || muNumFontStyles || ||
|-
| 0x28 || 0x4 || [[#BrnFlapt::FontStyle | FontStyle]]* || mpaFontStyles || ||
|-
| 0x2C || 0x4 || uint32_t || muNumComponents || ||
|-
| 0x30 || 0x4 || [[#BrnFlapt::HashedString | HashedString]]* || mpaComponentNames || ||
|-
| 0x34 || 0x4 || [[#BrnFlapt::IndexPath | IndexPath]]* || mpaComponentPaths || ||
|-
| 0x38 || 0x4 || uint32_t || muNumTriggerParameters || ||
|-
| 0x3C || 0x4 || [[#BrnFlapt::TriggerParameters | TriggerParameters]]* || mpaTriggerParameters || ||
|-
| 0x40 || 0x4 || uint32_t || muNumStrings || ||
|-
| 0x44 || 0x4 || [[Common Data Types (Burnout Paradise)#CgsUtf8 | CgsUtf8]]** || mpapStrings || ||
|-
| 0x48 || 0x4 || uint32_t || muNumSpecialTextures || ||
|-
| 0x4C || 0x4 || [[Common Data Types (Burnout Paradise)#CgsUtf8 | CgsUtf8]]** || mpapSpecialTextureNames || ||
|-
| 0x50 || 0x8 || [[#BrnFlapt::FileDebugData | FileDebugData]] || mDEBUGData || ||
|}
 
Line 58 ⟶ 67:
| 0x0 || 0x1 || uint8_t || muVersion || || 12
|-
| 0x1 || 0x3 || || || paddingPadding ||
|-
| 0x4 || 0x4 || uint32_t || muSizeInBytes || ||
Line 66 ⟶ 75:
| 0xC || 0x4 || uint32_t || muNumMovieClips || ||
|-
| 0x10 || 0x8 || [[#BrnFlapt::MovieClip | MovieClip]]* || mpaMovieClips || ||
|-
| 0x18 || 0x4 || uint32_t || muNumTextures || ||
|-
| 0x1C || 0x4 || || || paddingPadding ||
|-
| 0x20 || 0x8 || [[#BrnFlapt::FlaptFile::GuiTexture | GuiTexture]]** || mpapTextures || ||
|-
| 0x28 || 0x4 || uint32_t || muNumVerts || ||
|-
| 0x2C || 0x4 || || || paddingPadding ||
|-
| 0x30 || 0x8 || [[#BrnFlapt::FlaptFile::GuiVertex | GuiVertex]]* || mpaVerts || ||
|-
| 0x38 || 0x4 || uint32_t || muNumFontStyles || ||
|-
| 0x3C || 0x4 || || || paddingPadding ||
|-
| 0x40 || 0x8 || [[#BrnFlapt::FontStyle | FontStyle]]* || mpaFontStyles || ||
|-
| 0x48 || 0x4 || uint32_t || muNumComponents || ||
|-
| 0x4C || 0x4 || || || paddingPadding ||
|-
| 0x50 || 0x8 || [[#BrnFlapt::HashedString | HashedString]]* || mpaComponentNames || ||
|-
| 0x58 || 0x8 || [[#BrnFlapt::IndexPath | IndexPath]]* || mpaComponentPaths || ||
|-
| 0x60 || 0x4 || uint32_t || muNumTriggerParameters || ||
|-
| 0x64 || 0x4 || || || paddingPadding ||
|-
| 0x68 || 0x8 || [[#BrnFlapt::TriggerParameters | TriggerParameters]]* || mpaTriggerParameters || ||
|-
| 0x70 || 0x4 || uint32_t || muNumStrings || ||
|-
| 0x74 || 0x4 || || || paddingPadding ||
|-
| 0x78 || 0x8 || [[Common Data Types (Burnout Paradise)#CgsUtf8 | CgsUtf8]]** || mpapStrings || ||
|-
| 0x80 || 0x4 || uint32_t || muNumSpecialTextures || ||
|-
| 0x84 || 0x4 || || || paddingPadding ||
|-
| 0x88 || 0x8 || [[Common Data Types (Burnout Paradise)#CgsUtf8 | CgsUtf8]]** || mpapSpecialTextureNames || ||
|-
| 0x90 || 0x10 || [[#BrnFlapt::FileDebugData | FileDebugData]] || mDEBUGData || ||
|}
 
Line 134 ⟶ 143:
| 0x6 || 0x1 || uint8_t || muNumFScriptCommands || ||
|-
| 0x7 || 0x1 || || || paddingPadding ||
|-
| 0x8 || 0x2 || uint16_t || muNumFramesInTimeline || ||
Line 140 ⟶ 149:
| 0xA || 0x2 || uint16_t || muNumKeyFrames || ||
|-
| 0xC || 0x4 || [[#BrnFlapt::FlaptFile | FlaptFile]]* || mpFile || ||
|-
| 0x10 || 0x4 || uint16_t* || mpauFrameToKeyFrameMap || ||
|-
| 0x14 || 0x4 || [[#BrnFlapt::RenderLayer | RenderLayer]]* || mpaRenderLayers || ||
|-
| 0x18 || 0x4 || [[#BrnFlapt::RenderLayerKeyFrame | RenderLayerKeyFrame]]* || mpaKeyFrames || ||
|-
| 0x1C || 0x4 || [[#BrnFlapt::KeyFrameAnims | KeyFrameAnims]]* || mpaKeyFrameAnims || ||
|-
| 0x20 || 0x4 || [[#BrnFlapt::FScriptCommand | FScriptCommand]]* || mpaFScriptStream || ||
|-
| 0x24 || 0x4 || uint16_t* || mpauChildMovieClips || ||
|-
| 0x28 || 0x4 || [[#BrnFlapt::HashedString | HashedString]]* || mpaChildNames || ||
|-
| 0x2C || 0x4 || [[#BrnFlapt::Mesh | Mesh]]* || mpaMeshes || ||
|-
| 0x30 || 0x4 || [[#BrnFlapt::TextField | TextField]]* || mpaTextFields || ||
|-
| 0x34 || 0x4 || [[#BrnFlapt::HashedString | HashedString]]* || mpaTextFieldNames || ||
|-
| 0x38 || 0x4 || [[#BrnFlapt::HashedString | HashedString]]* || mpaFrameLabels || ||
|-
| 0x3C || 0x4 || uint16_t* || mpauLabelledFrameIds || ||
Line 187 ⟶ 196:
| 0x6 || 0x1 || uint8_t || muNumFScriptCommands || ||
|-
| 0x7 || 0x1 || || || paddingPadding ||
|-
| 0x8 || 0x2 || uint16_t || muNumFramesInTimeline || ||
Line 193 ⟶ 202:
| 0xA || 0x2 || uint16_t || muNumKeyFrames || ||
|-
| 0xC || 0x4 || || || paddingPadding ||
|-
| 0x10 || 0x8 || [[#BrnFlapt::FlaptFile | FlaptFile]]* || mpFile || ||
|-
| 0x18 || 0x8 || uint16_t* || mpauFrameToKeyFrameMap || ||
|-
| 0x20 || 0x8 || [[#BrnFlapt::RenderLayer | RenderLayer]]* || mpaRenderLayers || ||
|-
| 0x28 || 0x8 || [[#BrnFlapt::RenderLayerKeyFrame | RenderLayerKeyFrame]]* || mpaKeyFrames || ||
|-
| 0x30 || 0x8 || [[#BrnFlapt::KeyFrameAnims | KeyFrameAnims]]* || mpaKeyFrameAnims || ||
|-
| 0x38 || 0x8 || [[#BrnFlapt::FScriptCommand | FScriptCommand]]* || mpaFScriptStream || ||
|-
| 0x40 || 0x8 || uint16_t* || mpauChildMovieClips || ||
|-
| 0x48 || 0x8 || [[#BrnFlapt::HashedString | HashedString]]* || mpaChildNames || ||
|-
| 0x50 || 0x8 || [[#BrnFlapt::Mesh | Mesh]]* || mpaMeshes || ||
|-
| 0x58 || 0x8 || [[#BrnFlapt::TextField | TextField]]* || mpaTextFields || ||
|-
| 0x60 || 0x8 || [[#BrnFlapt::HashedString | HashedString]]* || mpaTextFieldNames || ||
|-
| 0x68 || 0x8 || [[#BrnFlapt::HashedString | HashedString]]* || mpaFrameLabels || ||
|-
| 0x70 || 0x8 || uint16_t* || mpauLabelledFrameIds || ||
Line 271 ⟶ 280:
| 0x10 || 0x4 || uint8_t* || mpauTransformObjects || ||
|-
| 0x14 || 0x4 || [[#BrnFlapt::Transform | Transform]]* || mpaTransforms || ||
|-
| 0x18 || 0x4 || uint8_t* || mpauColourTransformObjects || ||
|-
| 0x1C || 0x4 || [[#BrnFlapt::ColourTransform | ColourTransform]]* || mpaColourTransforms || ||
|}
 
Line 294 ⟶ 303:
| 0x10 || 0x8 || uint8_t* || mpauTransformObjects || ||
|-
| 0x18 || 0x8 || [[#BrnFlapt::Transform | Transform]]* || mpaTransforms || ||
|-
| 0x20 || 0x8 || uint8_t* || mpauColourTransformObjects || ||
|-
| 0x28 || 0x8 || [[#BrnFlapt::ColourTransform | ColourTransform]]* || mpaColourTransforms || ||
|}
 
Line 305 ⟶ 314:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector4]] || mRightUp || ||
|-
| 0x10 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector4]] || mOriginXYZ || ||
|}
 
Line 314 ⟶ 323:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector4]] || mScale || ||
|-
| 0x10 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector4]] || mTranslate || ||
|}
 
Line 335 ⟶ 344:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || uint32_t || muHash || [[#Common Data Types (Burnout Paradise)#Language hash | JAMCRC hash]] of the string ||
|-
| 0x4 || 0x4 || char* || mpacDEBUGString || ||
Line 344 ⟶ 353:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || uint32_t || muHash || [[#Common Data Types (Burnout Paradise)#Language hash | JAMCRC hash]] of the string ||
|-
| 0x4 || 0x4 || || || paddingPadding ||
|-
| 0x8 || 0x8 || char* || mpacDEBUGString || ||
Line 366 ⟶ 375:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || [[#BrnFlapt::HashedString | HashedString]] || mName || ||
|-
| 0x8 || 0x2 || uint16_t || muInitialStringId || ||
Line 378 ⟶ 387:
| 0xD || 0x3 || || || ||
|-
| 0x10 || 0x8 || [[Common Data Types (Burnout Paradise)#Vector2 | Vector2]] || mTopLeft || ||
|-
| 0x18 || 0x8 || [[Common Data Types (Burnout Paradise)#Vector2 | Vector2]] || mBottomRight || ||
|}
 
=== CgsGraphics::Basic2dColouredTexturedVertex ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || [[Common Data Types (Burnout Paradise)#Vector2 | Vector2]] || mv2Pos || ||
|-
| 0x8 || 0x4 || [[#renderengine::RGBA8 | RGBA8]] || mv4Colour || ||
|-
| 0xC || 0x8 || [[Common Data Types (Burnout Paradise)#Vector2 | Vector2]] || mv2Tex0UV || ||
|}
 
=== renderengine::RGBA8 ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
Line 466 ⟶ 473:
| 0x0 || 0x4 || uint32_t || muNumStrings || ||
|-
| 0x4 || 0x4 || || || paddingPadding ||
|-
| 0x8 || 0x8 || char** || mpapStrings || ||
Line 474 ⟶ 481:
=== BrnFlapt::FlaptFile::GuiTexture ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| GuiTexture || [[Texture (Burnout Paradise) | Texture]] || || See platform-specific specs for details
|}
 
=== BrnFlapt::FlaptFile::GuiVertex ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| GuiVertex || [[#CgsGraphics::ImCommandBatchTransformTextureBlendRender::Im2dVertex | Im2dVertex]] || 0x14 ||
|}
 
=== CgsGraphics::ImCommandBatchTransformTextureBlendRender::Im2dVertex ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| Im2dVertex || [[#CgsGraphics::Basic2dColouredTexturedVertex | Basic2dColouredTexturedVertex]] || 0x14 ||
|}