Apt Data

From Burnout Wiki
AptData
aka Flash

BrnCarSelectMain played in Apt Player.
Resource names Unknown
Type ID 0x1E
Category Generic
Memory
distribution
Main Memory only
Imports Texture
Imported by Unknown
Editor
available?
Viewer only
Use Apt Player
Hmmm...
Hmmm...
To do:
Split this page into manageable subpages.


Previous versions
Information on previous versions of the Apt Data resource type.

Apt is a Flash-based format. It is used for animations in several EA games.

Structures

CgsGui::AptDataHeader

32-bit

Offset Length Type Name Description Comments
0x0 0x4 char* mpacMovieName Component name
0x4 0x4 char* ? Base component name
0x8 0x4 void* mpAptData Apt data See Apt data
0xC 0x4 void* mpConstData Apt constant file See AptConstFile
0x10 0x4 GuiGeometryObject* mpGeomStruct Geometry
0x14 0x4 uint32_t muSizeOfHeader Total file size
0x18 0x4 EAptDataState meCurrentState State

64-bit

Offset Length Type Name Description Comments
0x0 0x8 char* mpacMovieName Component name
0x8 0x8 char* ? Base component name
0x10 0x8 void* mpAptData Apt data See Apt data
0x18 0x8 void* mpConstData Apt constant file See AptConstFile
0x20 0x8 GuiGeometryObject* mpGeomStruct Geometry
0x28 0x4 uint32_t muSizeOfHeader Total file size
0x2C 0x4 EAptDataState meCurrentState State

Apt data

Apt data is not a structure per se; rather, data is accessed from the Apt constant file via the main character. It is strongly recommended to read the file this way instead of sequentially. The documentation uses this method.

All pointers in the Apt data section are relative to its beginning.

Offset Length Type Name Description Comments
0x0 0x10 char[16] apttag Apt data info Formatted as "Apt Data 1:SWF version:pointer size"
Always "Apt Data:1:7:4" in 32-bit versions
Always "Apt Data 1:7:8" in 64-bit versions

AptConstFile

32-bit

Offset Length Type Name Description Comments
0x0 0x14 char[20] aMagic Magic Always "Apt constant file" followed by 0x1A
0x14 0x4 AptCharacter* pMainCharacter Main character in the Apt Data section Relative to Apt data start
0x18 0x4 int nConstants Number of constants
0x1C 0x4 AptConstantTable* aConstants Constants Relative to AptConstFile start

64-bit

Offset Length Type Name Description Comments
0x0 0x14 char[20] aMagic Magic Always "Apt constant file" followed by 0x1A
0x14 0x4 Padding
0x18 0x8 AptCharacter* pMainCharacter Main character in the Apt Data section Relative to Apt data start
0x20 0x4 int nConstants Number of constants
0x24 0x4 Padding
0x28 0x8 AptConstantTable* aConstants Constants Relative to AptConstFile start

AptCharacter

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptCharacterType eType Type
0x4 0x4 AptCharacter* pParentAnim Parent Always 0x09876543
0x8 0x4 Anonymous union Character data type
0xC 0x4 AptFilePtr m_pAnimFile Animation file
0x10 Anonymous union Character data

64-bit

Offset Length Type Name Description Comments
0x0 0x4 AptCharacterType eType Type
0x4 0x4 Padding
0x8 0x8 AptCharacter* pParentAnim Parent Always 0x09876543
0x10 0x4 Anonymous union Character data type
0x14 0x4 Padding
0x18 0x8 AptFilePtr m_pAnimFile Animation file
0x20 Anonymous union Character data

AptCharacterData_t

Offset (bits) Length (bits) Name Description Comments
0 16 m_nRef Reference count uint16_t
16 1 m_nDynamic Dynamic
17 15 Padding

AptCharacterShapeData_t

Offset (bits) Length (bits) Name Description Comments
0 16 m_nRef Reference count uint16_t
16 1 m_bNotLoaded Texture needs loading
17 15 m_textID Bitmap character ID in parent animation character library No texture if 0

AptCharacterBitmapData_t

Offset (bits) Length (bits) Name Description Comments
0 16 m_nRef Reference count uint16_t
16 1 m_bLoaded Loaded Only used when a bitmap is imported
17 1 m_bBinded Texture has been bound
18 14 Padding

AptCharacterShape

32-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect rBounds Bounds
0x10 0x4 AptRenderableGeometry* pRenderUnit Geometry ID

64-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect rBounds Bounds
0x10 0x8 AptRenderableGeometry* pRenderUnit Geometry ID

AptRect

Offset Length Type Name Description Comments
0x0 0x4 float fLeft Left bound
0x4 0x4 float fTop Top bound
0x8 0x4 float fRight Right bound
0xC 0x4 float fBottom Bottom bound

AptRenderableGeometry

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptAssetRenderingUnit mRenderUnit Render unit

64-bit

Offset Length Type Name Description Comments
0x0 0x8 AptAssetRenderingUnit mRenderUnit Render unit

AptCharacterMorph

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptCharacter* pStartCharacter Start character
0x4 0x4 AptCharacter* pEndCharacter End character

64-bit

Offset Length Type Name Description Comments
0x0 0x8 AptCharacter* pStartCharacter Start character
0x8 0x8 AptCharacter* pEndCharacter End character

AptCharacterText

32-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect rBounds
0x10 0x4 int nFontID
0x14 0x4 AptStringAlignment eAlignment
0x18 0x4 unsigned int nColour BGRA
0x1C 0x4 float fFontHeight
0x20 0x4 int bReadOnly
0x24 0x4 int bMultiLine
0x28 0x4 int bWordWrap
0x2C 0x4 char* szInitialText Default string
0x30 0x4 char* szVariable Name of the variable where the text is stored

64-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect rBounds
0x10 0x4 int nFontID
0x14 0x4 AptStringAlignment eAlignment
0x18 0x4 unsigned int nColour BGRA
0x1C 0x4 float fFontHeight
0x20 0x4 int bReadOnly
0x24 0x4 int bMultiLine
0x28 0x4 int bWordWrap
0x2C 0x4 Padding
0x30 0x8 char* szInitialText Default string
0x38 0x8 char* szVariable Name of the variable where the text is stored

AptCharacterFont

32-bit

Offset Length Type Name Description Comments
0x0 0x4 char* szName
0x4 0x4 int nGlyphs Number of glyphs
0x8 0x4 AptCharacter** apGlyphs

64-bit

Offset Length Type Name Description Comments
0x0 0x8 char* szName
0x8 0x4 int nGlyphs Number of glyphs
0xC 0x4 Padding
0x10 0x8 AptCharacter** apGlyphs Shape characters that make up the font

AptCharacterButton

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int bIsMenu
0x4 0x10 AptRect mHitTestBoundingRect Bounds
0x14 0x4 int mHitTestTriangles Hit test triangles
0x18 0x4 int mHitTestVertexCount Number of vertices
0x1C 0x4 float* mHitTestVertexTable Vertex table Length = mHitTestVertexcount * 2
0x20 0x4 short* mHitTestIndexTable Index table Length = mHitTestTriangles * 3
0x24 0x4 int nButtonRecords
0x28 0x4 AptCharacterButtonRecord* aButtonRecords
0x2C 0x4 int nActionConditions Number of action conditions
0x30 0x4 AptActionConditionBlock* aActionConditions Action conditions
0x34 0x4 AptCharacterButtonSound* pButtonSound Button sound

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int bIsMenu
0x4 0x10 AptRect mHitTestBoundingRect Bounds
0x14 0x4 int mHitTestTriangles Hit test triangles
0x18 0x4 int mHitTestVertexCount Number of vertices
0x1C 0x4 Padding
0x20 0x8 float* mHitTestVertexTable Vertex table Length = mHitTestVertexcount * 2
0x28 0x8 short* mHitTestIndexTable Index table Length = mHitTestTriangles * 3
0x30 0x4 int nButtonRecords
0x34 0x4 Padding
0x38 0x8 AptCharacterButtonRecord* aButtonRecords
0x40 0x4 int nActionConditions Number of action conditions
0x44 0x4 Padding
0x48 0x8 AptActionConditionBlock* aActionConditions Action conditions
0x50 0x8 AptCharacterButtonSound* pButtonSound Button sound

AptCharacterButtonRecord

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptCharacterButtonRecordState eStates States during which the record acts
0x4 0x4 AptCharacter* pCharacter Character ID
0x8 0x4 int nLayer Layer depth at which to place the character
0xC 0x18 AptMatrix matrix
0x24 0x20 AptFloatArrayCXForm cxform BGRA colors
Scale is multiplied against the parent character's color
Translate is added against the parent character's color

64-bit

Offset Length Type Name Description Comments
0x0 0x4 AptCharacterButtonRecordState eStates States during which the record acts
0x4 0x4 Padding
0x8 0x8 AptCharacter* pCharacter Character ID
0x10 0x4 int nLayer Layer depth at which to place the character
0x14 0x18 AptMatrix matrix
0x2C 0x20 AptFloatArrayCXForm cxform BGRA colors
Scale is multiplied against the parent character's color
Translate is added against the parent character's color

AptMatrix

Offset Length Type Name Description Comments
0x0 0x4 float a Scale X
0x4 0x4 float b Rotate Skew 0
0x8 0x4 float c Rotate Skew 1
0xC 0x4 float d Scale Y
0x10 0x4 float tx Translate X
0x14 0x4 float ty Translate Y

AptFloatArrayCXForm

Offset Length Type Name Description Comments
0x0 0x10 float[4] scale
0x10 0x10 float[4] translate

AptActionConditionBlock

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int nConditions
0x4 0x4 AptActionBlock actions

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int nConditions
0x4 0x4 Padding
0x4 0x8 AptActionBlock actions

AptActionBlock

Actions
Information on the actions used in Apt.

32-bit

Offset Length Type Name Description Comments
0x0 0x4 unsigned char* aActionStream See actions subpage

64-bit

Offset Length Type Name Description Comments
0x0 0x8 unsigned char* aActionStream See actions subpage

AptCharacterButtonSound

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptCharacter* pOverUpToIdle
0x4 0x4 AptCharacter* pIdleToOverUp
0x8 0x4 AptCharacter* pOverUpToOverDown
0xC 0x4 AptCharacter* pOverDownToOverUp

64-bit

Offset Length Type Name Description Comments
0x0 0x8 AptCharacter* pOverUpToIdle
0x8 0x8 AptCharacter* pIdleToOverUp
0x10 0x8 AptCharacter* pOverUpToOverDown
0x18 0x8 AptCharacter* pOverDownToOverUp

AptCharacterSprite

Also known as a movie clip.

32-bit

Offset Length Type Name Description Comments
0x0 0xC AptMovie movie

64-bit

Offset Length Type Name Description Comments
0x0 0x18 AptMovie movie

AptMovie

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int nFrames Number of frames
0x4 0x4 AptFrame* aFrames Frames
0x8 0x4 AptNativeHash* phLabels Names Always 0?

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int nFrames Number of frames
0x4 0x4 Padding
0x8 0x8 AptFrame* aFrames Frames
0x10 0x8 AptNativeHash* phLabels Names Always 0?

AptFrame

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int nControls
0x4 0x4 AptControl** apControls

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int nControls
0x4 0x4 Padding
0x8 0x8 AptControl** apControls

AptControl

Offset Length Type Name Description Comments
0x0 0x4 AptControlType eType
0x4 Anonymous union Control

AptControlDoAction

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptActionBlock actions Actions

64-bit

Offset Length Type Name Description Comments
0x0 0x8 AptActionBlock actions Actions

AptControlDoInitAction

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int nSpriteID Sprite ID
0x4 0x4 AptActionBlock actions Actions

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int nSpriteID Sprite ID
0x4 0x4 Padding
0x8 0x8 AptActionBlock actions Actions

AptControlFrameLabel

32-bit

Offset Length Type Name Description Comments
0x0 0x4 char* szLabel

64-bit

Offset Length Type Name Description Comments
0x0 0x8 char* szLabel

AptControlPlaceObject2

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptPlaceObjectFlags eFlags Flags Gives information on which fields are set
0x4 0x4 int nDepth Depth (layer) at which to place the character
0x8 0x4 int nCharacterID Character ID to place
0xC 0x18 AptMatrix matrix Matrix Rotation applied to all child characters
Pre-multiplies any additional transformation
0x24 0x8 AptUint32CXForm ncxform Color transform Multiplies against the parent's color transform
0x2C 0x4 float fRatio Blend ratio Adds to the parent's color transform
0x30 0x4 char* szName Character name
0x34 0x4 int nClipDepth Clipping depth (layer)
0x38 0x4 AptEventActionSet* pActions

64-bit

Offset Length Type Name Description Comments
0x0 0x4 AptPlaceObjectFlags eFlags Flags Gives information on which fields are set
0x4 0x4 int nDepth Depth (layer) at which to place the character
0x8 0x4 int nCharacterID Character ID to place
0xC 0x18 AptMatrix matrix Matrix Rotation applied to all child characters
Pre-multiplies any additional transformation
0x24 0x8 AptUint32CXForm ncxform Color transform Multiplies against the parent's color transform
0x2C 0x4 float fRatio Blend ratio Adds to the parent's color transform
0x30 0x8 char* szName Character name
0x38 0x4 int nClipDepth Clipping depth (layer)
0x3C 0x4 Padding
0x40 0x8 AptEventActionSet* pActions

AptUint32CXForm

Offset Length Type Name Description Comments
0x0 0x4 uint32_t nScale
0x4 0x4 uint32_t nBias

AptEventActionSet

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int nEventActions
0x4 0x4 AptEventActionBlock* aEventActions

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int nEventActions
0x4 0x4 Padding
0x8 0x8 AptEventActionBlock* aEventActions

AptEventActionBlock

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int nTriggers
0x4 0x4 int nKeyCode
0x8 0x4 AptActionBlock actions

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int nTriggers
0x4 0x4 int nKeyCode
0x8 0x8 AptActionBlock actions

AptControlPlaceObject3

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptPlaceObjectFlags eFlags
0x4 0x4 int nDepth
0x8 0x4 int nCharacterID
0xC 0x18 AptMatrix matrix
0x24 0x8 AptUint32CXForm ncxform
0x2C 0x4 float fRatio
0x30 0x4 char* szName
0x34 0x4 int nClipDepth
0x38 0x4 AptEventActionSet* pActions
0x3C 0x4 int32_t nBlendMode
0x40 0x4 uint32_t nNumFilters
0x44 0x4 AptFilter** ppFilters

64-bit

Offset Length Type Name Description Comments
0x0 0x4 AptPlaceObjectFlags eFlags
0x4 0x4 int nDepth
0x8 0x4 int nCharacterID
0xC 0x18 AptMatrix matrix
0x24 0x8 AptUint32CXForm ncxform
0x2C 0x4 float fRatio
0x30 0x8 char* szName
0x38 0x4 int nClipDepth
0x3C 0x4 Padding
0x40 0x8 AptEventActionSet* pActions
0x48 0x4 int32_t nBlendMode
0x4C 0x4 uint32_t nNumFilters
0x50 0x8 AptFilter** ppFilters

AptFilter

Offset Length Type Name Description Comments
0x0 0x4 uint32_t mnFilterID Flash filter type See filter IDs

AptControlRemoveObject2

Offset Length Type Name Description Comments
0x0 0x4 int nDepth

AptControlBackgroundColour

Offset Length Type Name Description Comments
0x0 0x4 unsigned int nColour

AptControlSound

Offset Length Type Name Description Comments
0x0 0x4 int nID

AptNativeHash

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int32_t mnTotalSize
0x4 0x4 AptHashItem* mpData
0x8 0x4 AptValue* mp__proto__
0xC 0x4 AptValue* mpPrototype
0x10 0x4 int32_t nEventHandlers

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int32_t mnTotalSize
0x4 0x4 Padding
0x8 0x8 AptHashItem* mpData
0x10 0x8 AptValue* mp__proto__
0x18 0x8 AptValue* mpPrototype
0x20 0x4 int32_t nEventHandlers

AptHashItem

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptNativeString Key
0x10 0x8 AptValue* mValue

64-bit

Offset Length Type Name Description Comments
0x0 0x4 AptNativeString Key
0x4 0x4 Padding
0x10 0x8 AptValue* mValue

AptCharacterSound

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptAssetSound zID

64-bit

Offset Length Type Name Description Comments
0x0 0x8 AptAssetSound zID

AptCharacterBitmap

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptAssetTexture zID

64-bit

Offset Length Type Name Description Comments
0x0 0x8 AptAssetTexture zID

AptCharacterAnimation

32-bit

Offset Length Type Name Description Comments
0x0 0xC AptCharacterSprite Base class
0xC 0x4 int nCharacters Number of characters
0x10 0x4 AptCharacter** apCharacters Characters
0x14 0x4 unsigned int nWidth Screen width
0x18 0x4 unsigned int nHeight Screen height
0x1C 0x4 unsigned int nMillisecondsPerFrame The number of milliseconds each frame should last for
0x20 0x4 int nImports Number of imports
0x24 0x4 AptImport* aImports
0x28 0x4 int nExports Number of exports
0x2C 0x4 AptExport* aExports
0x30 0x4 ? nCurrentConstantIndex? Always 0?
intptr_t in later Apt versions but seems to be fixed 32-bit in Burnout

64-bit

Offset Length Type Name Description Comments
0x0 0x18 AptCharacterSprite Base class
0x18 0x4 int nCharacters Number of characters
0x1C 0x4 Padding
0x20 0x8 AptCharacter** apCharacters Characters
0x28 0x4 unsigned int nWidth Screen width
0x2C 0x4 unsigned int nHeight Screen height
0x30 0x4 unsigned int nMillisecondsPerFrame The number of milliseconds each frame should last for
0x34 0x4 int nImports Number of imports
0x38 0x8 AptImport* aImports
0x40 0x4 int nExports Number of exports
0x44 0x4 Padding
0x48 0x8 AptExport* aExports
0x50 0x4 ? nCurrentConstantIndex? Always 0?
intptr_t in later Apt versions but seems to be fixed 32-bit in Burnout

AptImport

32-bit

Offset Length Type Name Description Comments
0x0 0x4 char* szFile External movie/component name
0x4 0x4 char* szName Import name
0x8 0x4 int nID ID assigned to the imported character
0xC 0x4 AptFilePtr file Always 0?

64-bit

Offset Length Type Name Description Comments
0x0 0x8 char* szFile External movie/component name
0x8 0x8 char* szName Import name
0x10 0x4 int nID ID assigned to the imported character
0x14 0x4 Padding
0x18 0x8 AptFilePtr file Always 0?

AptExport

32-bit

Offset Length Type Name Description Comments
0x0 0x4 char* szName Import name
0x4 0x4 int nID ID assigned to the imported character

64-bit

Offset Length Type Name Description Comments
0x0 0x8 char* szName Import name
0x8 0x4 int nID ID assigned to the imported character

AptCharacterStaticText

32-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect rBounds
0x10 0x18 AptMatrix matrix
0x28 0x4 int nFontRecords
0x2C 0x4 AptCharacterStaticTextRecords* aRecords

64-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect rBounds
0x10 0x18 AptMatrix matrix
0x28 0x4 int nFontRecords
0x2C 0x4 Padding
0x30 0x8 AptCharacterStaticTextRecords* aRecords

AptCharacterStaticTextRecords

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int nFontID
0x4 0x20 AptFloatArrayCXForm cxform
0x24 0x4 float fXOffset
0x28 0x4 float fYOffset
0x2C 0x4 float fScale
0x30 0x4 int nGlyphs
0x34 0x4 AptCharacterGlyphEntry* aGlyphs

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int nFontID
0x4 0x20 AptFloatArrayCXForm cxform
0x24 0x4 float fXOffset
0x28 0x4 float fYOffset
0x2C 0x4 float fScale
0x30 0x4 int nGlyphs
0x34 0x4 Padding
0x38 0x8 AptCharacterGlyphEntry* aGlyphs

AptCharacterGlyphEntry

Offset Length Type Name Description Comments
0x0 0x2 short nIndex
0x2 0x2 short nAdvance

AptCharacterImage

32-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect bounds
0x10 0x4 AptAssetTexture texture

64-bit

Offset Length Type Name Description Comments
0x0 0x10 AptRect bounds
0x10 0x8 AptAssetTexture texture

AptConstantTable

This is immediately followed by aligned (4 bytes on 32 bit, 8 bytes on 64 bit) name strings for the constants.

32-bit

Offset Length Type Name Description Comments
0x0 0x4 AptVirtualFunctionTable_Indices eType Data type
0x4 0x4 Anonymous union Data

64-bit

Offset Length Type Name Description Comments
0x0 0x4 AptVirtualFunctionTable_Indices eType Data type
0x4 0x4 Padding
0x8 0x8 Anonymous union Data

CgsResource::GuiGeometryObject

32-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muNumberOfFiles
0x4 0x4 uint32_t muNumberOfTexturePages
0x8 0x4 GuiGeometryFile** mppGeometryFiles

64-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muNumberOfFiles
0x4 0x4 uint32_t muNumberOfTexturePages
0x8 0x8 GuiGeometryFile** mppGeometryFiles

CgsResource::GuiGeometryFile

32-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muID
0x4 0x4 uint32_t muNumberOfMeshes
0x8 0x4 GuiGeometryMesh** mppGeometryMeshes

64-bit

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muID
0x4 0x4 uint32_t muNumberOfMeshes
0x8 0x8 GuiGeometryMesh** mppGeometryMeshes

CgsResource::GuiGeometryMesh

32-bit

Offset Length Type Name Description Comments
0x0 0x10 GuiGeometryMeshHeader mMeshHeader
0x10 0x4 uint32_t muNumberOfVerticies
0x14 0x4 GuiVertex** mppVerticies

64-bit

Offset Length Type Name Description Comments
0x0 0x18 GuiGeometryMeshHeader mMeshHeader
0x18 0x4 uint32_t muNumberOfVerticies
0x1C 0x4 Padding
0x20 0x8 GuiVertex** mppVerticies

CgsResource::GuiGeometryMeshHeader

32-bit

Offset Length Type Name Description Comments
0x0 0x4 int32_t miMeshType
0x4 0x4 int32_t miTextureMode
0x8 0x4 int32_t miTextureId Import index 1-based
0xC 0x4 GuiTexture* mpTexture Imported resource (if present)

64-bit

Offset Length Type Name Description Comments
0x0 0x4 int32_t miMeshType See mesh type
0x4 0x4 int32_t miTextureMode See texture type
0x8 0x4 int32_t miTextureId
0xC 0x4 Padding
0x10 0x8 GuiTexture* mpTexture Imported resource (if present)

CgsGraphics::Basic2dColouredTexturedVertex

Offset Length Type Name Description Comments
0x0 0x8 Vector2 mv2Pos
0x8 0x4 RGBA8 mv4Colour
0xC 0x8 Vector2 mv2Tex0UV

renderengine::RGBA8

Offset Length Type Name Description Comments
0x0 0x4 uint32_t m_rgba Color data

Unions

AptCharacter data type

Length Type Name Description Comments
0x4 AptCharacterDataT m_data
0x4 AptCharacterShapeDataT m_shapeData
0x4 AptCharacterBitmapDataT m_bitmapData

AptCharacter type

32-bit

Length Type Name Description Comments
0x14 AptCharacterShape shape Shape
0x8 AptCharacterMorph morph Morph
0x34 AptCharacterText text Text
0xC AptCharacterFont font Font
0x38 AptCharacterButton button Button
0xC AptCharacterSprite sprite Sprite
0x4 AptCharacterSound sound Sound
0x4 AptCharacterBitmap bitmap Bitmap
0x34 AptCharacterAnimation animation Animation
0x30 AptCharacterStaticText statictext Static text
0x14 AptCharacterImage image Image

64-bit

Length Type Name Description Comments
0x18 AptCharacterShape shape Shape
0x10 AptCharacterMorph morph Morph
0x40 AptCharacterText text Text
0x18 AptCharacterFont font Font
0x58 AptCharacterButton button Button
0x18 AptCharacterSprite sprite Sprite
0x8 AptCharacterSound sound Sound
0x8 AptCharacterBitmap bitmap Bitmap
0x54 AptCharacterAnimation animation Animation
0x38 AptCharacterStaticText statictext Static text
0x18 AptCharacterImage image Image

AptControl type

32-bit

Length Type Name Description Comments
0x4 AptControlDoAction action
0x8 AptControlDoInitAction initAction
0x4 AptControlFrameLabel frameLabel
0x3C AptControlPlaceObject2 placeObject2
0x48 AptControlPlaceObject3 placeObject3
0x4 AptControlRemoveObject2 removeObject2
0x4 AptControlBackgroundColour backgroundColour
0x4 AptControlSound startSound
0x4 AptControlSound startSoundStream

64-bit

Length Type Name Description Comments
0x8 AptControlDoAction action
0x10 AptControlDoInitAction initAction
0x8 AptControlFrameLabel frameLabel
0x48 AptControlPlaceObject2 placeObject2
0x58 AptControlPlaceObject3 placeObject3
0x4 AptControlRemoveObject2 removeObject2
0x4 AptControlBackgroundColour backgroundColour
0x4 AptControlSound startSound
0x4 AptControlSound startSoundStream

AptConstantTable data type

32-bit

Length Type Name Description Comments
0x4 char* szString String
0x4 float fFloat Float
0x4 int nInteger Integer
0x4 int nRegister Register
0x4 int bBoolean Boolean
0x4 unsigned int nLookup Lookup

64-bit

Length Type Name Description Comments
0x8 char* szString String
0x4 float fFloat Float
0x4 int nInteger Integer
0x4 int nRegister Register
0x4 int bBoolean Boolean
0x4 unsigned int nLookup Lookup

Typedefs

AptCharacterDataT

Name Type Length Comments
AptCharacterDataT AptCharacterData_t 0x4

AptCharacterShapeDataT

Name Type Length Comments
AptCharacterShapeDataT AptCharacterShapeData_t 0x4

AptCharacterBitmapDataT

Name Type Length Comments
AptCharacterBitmapDataT AptCharacterBitmapData_t 0x4

AptAssetRenderingUnit

32-bit

Name Type Length Comments
AptAssetRenderingUnit void* 0x4

64-bit

Name Type Length Comments
AptAssetRenderingUnit void* 0x8

AptAssetSound

32-bit

Name Type Length Comments
AptAssetSound void* 0x4

64-bit

Name Type Length Comments
AptAssetSound void* 0x8

AptAssetTexture

32-bit

Name Type Length Comments
AptAssetTexture void* 0x4

64-bit

Name Type Length Comments
AptAssetTexture void* 0x8

CgsResource::GuiGeometryMeshHeader::GuiTexture

Name Type Length Comments
GuiTexture Texture See platform-specific specs for details

CgsResource::GuiGeometryMeshMesh::GuiVertex

Name Type Length Comments
GuiVertex Im2dVertex 0x14

CgsGraphics::ImCommandBatchTransformTextureBlendRender::Im2dVertex

Name Type Length Comments
Im2dVertex Basic2dColouredTexturedVertex 0x14

Enumerations

AptCharacterType

Name Value Comments
AptCharacterType_Shape 1
AptCharacterType_Text 2
AptCharacterType_Font 3
AptCharacterType_Button 4
AptCharacterType_Sprite 5
AptCharacterType_Sound 6
AptCharacterType_Bitmap 7
AptCharacterType_Morph 8
AptCharacterType_Animation 9
AptCharacterType_StaticText 10
AptCharacterType_None 11
AptCharacterType_Video 12
AptCharacterType_Level 15
AptCharacterType_CustomControl 16
AptCharacterType_Image 17
AptCharacterType_Max 18

AptStringAlignment

Name Value Comments
AptStringAlignment_Left 0
AptStringAlignment_Right 1
AptStringAlignment_Center 2
AptStringAlignment_None 3
AptStringAlignment_Justify 4

AptCharacterButtonRecordState

Name Value Comments
AptCharacterButtonRecordState_None 0x0
AptCharacterButtonRecordState_Up 0x1
AptCharacterButtonRecordState_Over 0x2
AptCharacterButtonRecordState_Down 0x4
AptCharacterButtonRecordState_HitTest 0x8

AptControlType

Name Value Comments
AptControlType_DoAction 1
AptControlType_FrameLabel 2
AptControlType_PlaceObject2 3
AptControlType_RemoveObject2 4
AptControlType_BackgroundColour 5
AptControlType_StartSound 6
AptControlType_StartSoundStream 7
AptControlType_DoInitAction 8
AptControlType_PlaceObject3 9

AptPlaceObjectFlags

Name Value Comments
AptPlaceObjectFlag_None 0x0
AptPlaceObjectFlag_Move 0x1 Move an existing object (specified by nDepth) instead of creating a new object
If AptPlaceObjectFlag_Character is set, a new character replaces the old one
AptPlaceObjectFlag_Character 0x2 Character ID is set
AptPlaceObjectFlag_Matrix 0x4 Matrix is set
AptPlaceObjectFlag_CXForm 0x8 Color transform is set
AptPlaceObjectFlag_Ratio 0x10 Blend ratio is set
AptPlaceObjectFlag_Name 0x20 Object name is set
AptPlaceObjectFlag_DefineClip 0x40 Opens or closes a clipping bracket
AptPlaceObjectFlag_Actions 0x80 Has associated actions

Filter IDs

Name Value Comments
DropShadowFilter 0
BlurFilter 1
GlowFilter 2
BevelFilter 3
GradientGlowFilter 4
ConvolutionFilter 5
ColorMatrixFilter 6
GradientBevelFilter 7

AptVirtualFunctionTable_Indices

Values are from Apt 3.02.02.

Name Value Comments
AptVFT_xxx 0
AptVFT_StringValue 1
AptVFT_Property 2
AptVFT_None 3
AptVFT_Register 4
AptVFT_Boolean 5
AptVFT_Float 6
AptVFT_Integer 7
AptVFT_Lookup 8
AptVFT_NativeFunction 9
AptVFT_FrameStack 10
AptVFT_Extern 11
AptVFT_CharacterInstHandle 12
AptVFT_Sound 13
AptVFT_Array 14
AptVFT_Math 15
AptVFT_Key 16
AptVFT_Global 17
AptVFT_ScriptColour 18
AptVFT_Object 19
AptVFT_Prototype 20
AptVFT_Date 21
AptVFT_MovieClip 22
AptVFT_Mouse 23
AptVFT_XmlNode 24
AptVFT_Xml 25
AptVFT_XmlAttributes 26
AptVFT_LoadVars 27
AptVFT_TextFormat 28
AptVFT_Extension 29
AptVFT_GlobalExtension 30
AptVFT_Stage 31
AptVFT_Error 32
AptVFT_StringObject 33
AptVFT_ScriptFunction1 34
AptVFT_ScriptFunction2 35
AptVFT_ScriptFunctionByteCodeBlock 36
AptVFT_CIHNone 37
AptVFT_MovieClipLoader 38
AptVFT_AptUtil 39
AptVFT_ExternalFunction 40
AptVFT_AltInput 41
AptVFT_NumVFTs 42

CgsGui::AptDataHeader::EAptDataState

Name Value Comments
E_APTDATASTATE_LOADING 0
E_APTDATASTATE_LOADED 1
E_APTDATASTATE_ACTIVE 2

CgsResource::GuiGeometryMeshHeader::EMeshType

Name Value Comments
E_MESHTYPE_TRILIST 0
E_MESHTYPE_TRISTRIP 1
E_MESHTYPE_LINELIST 2

CgsResource::GuiGeometryMeshHeader::ETextureType

Name Value Comments
E_TEXTURETYPE_VECTOR 0
E_TEXTURETYPE_TEXTURED_CLAMP 1
E_TEXTURETYPE_TEXTURED_WRAP 2