COIExtension

What is a COIExtension?

COIExtension is a object loader format used to store data related to Extension objects.

Structure

Size Type Name Description
... COICommon Common Variables common to multiple object loaders
1 Boolean Has Animations Whether or not this object has animations

The remaining data only exists if Has Animations is true

Size Type Name Description
... CAnimations Animations The animations attached to this object

This data always exists

Size Type Name Description
4 Int32 Type The type of the extension, unknown what this means

This data only exists if Type is -1

Size Type Name Description
... CString Name The name of the extension
... CString File Name The file name of the extension
4 UInt32 Magic Number The magic number of the extension, the usage of this is unknown
... CString Sub-Type The sub-type of the extension, this allows a single mfx to store multiple object types, although I'm unsure if this allows for multiple objects to appear within Create New Object

The remaining data always exists

Size Type Name Description
4 UInt32 Full Size The size of the remaining data excluding itself
4 UInt32 Size The size of the remaining data including itself
4 UInt32 Max Size Usage is unknown, however the value is Size - 10
4 Int32 Version The version of the extension property data
4 Int32 ID Unknown
4 Int32 Private The size of the header and any data between that and the property data
... UInt8[] Extension Data Data exclusive to the extension, the length is Size - 20 (The size of the header)