Difference between revisions of "Sims 4:0x034AEECB"
From SimsWiki
(Added the Maxis supplied documentation) |
(finishing up will referenced structs) |
||
| Line 9: | Line 9: | ||
----BEGIN dataSize---- | ----BEGIN dataSize---- | ||
UINT32 numPresets // Presets are not used in TS4 | UINT32 numPresets // Presets are not used in TS4 | ||
| − | + | ||
7STRING name // | 7STRING name // | ||
FLOAT DisplayIndex // Sort order in catalog | FLOAT DisplayIndex // Sort order in catalog | ||
| Line 37: | Line 37: | ||
struct LOD mlods[numLODs] | struct LOD mlods[numLODs] | ||
BYTE numSlotKeys | BYTE numSlotKeys | ||
| − | BYTE[numSlotKeys] | + | BYTE mSlotKey[numSlotKeys] // used? |
| − | BYTE DiffuseKey | + | BYTE DiffuseKey // This is the primary color texture type 0x3453cf95 |
| − | BYTE ShadowKey | + | BYTE ShadowKey // And the other texture 0x3453cf95 |
BYTE CompositionMethod | BYTE CompositionMethod | ||
| − | BYTE RegionMapKey | + | BYTE RegionMapKey // type 0xac16fbec |
BYTE Overrides | BYTE Overrides | ||
| − | BYTE NormalMapKey | + | BYTE NormalMapKey // have not seen a normal map used |
| − | BYTE SpecularMapKey | + | BYTE SpecularMapKey // texture file type 0xba856c78 |
| − | -----END dataSize----- | + | -----END dataSize----- |
struct ResourceKeyArray keyTable // List of TGI keys referenced | struct ResourceKeyArray keyTable // List of TGI keys referenced | ||
| + | |||
| + | struct ParmFlags is a bitfield of size BYTE | ||
| + | [7-6] not_used | ||
| + | [5] ShowInCasDemo | ||
| + | [4] ShowInSimInfoPanel | ||
| + | [3] ShowInUI | ||
| + | [2] AllowForRandom | ||
| + | [1] DefaultThumnailPart | ||
| + | [0] DefaultForBodyType | ||
| + | |||
| + | struct TagMultimap is a counted array of struct Tag entries | ||
| + | UINT32 tagCount | ||
| + | struct Tag[] | ||
| + | |||
| + | struct Tag is a simple struct | ||
| + | UINT16 Category | ||
| + | UINT16 tagValue | ||
| + | |||
| + | struct SwatchColorSet is a counted array of UINT32 (color values) | ||
| + | BYTE usedColorCount | ||
| + | UINT32 rawData[usedColorCount] // Data is RGBA value | ||
| + | |||
| + | struct LOD is a complex struct | ||
| + | BYTE level | ||
| + | UINT32 --unused-- | ||
| + | BYTE numAssets | ||
| + | struct LODAsset assets[numAssets] | ||
| + | BYTE numLODKeys | ||
| + | BYTE lodKey[numLODKeys] // These keys are all indexes into the keyTable | ||
| + | |||
| + | struct LODAsset is a simple struct | ||
| + | INT32 sorting | ||
| + | INT32 specLevel | ||
| + | INT32 casShadow | ||
==Format== | ==Format== | ||
Revision as of 16:58, 6 September 2014
Format from Maxis Documentation
This information was provided on Sept 5, 2014 by SimGuruModSquad on [official forums] as part of the Modding Documentation.
The layout will be using the Maxis provided data type descriptors, i.e.: UINT32 vs DWORD
UINT32 version // currently 0x1a is only supported version UINT32 dataSize // Size of following data (before ResourceKeyArray) ----BEGIN dataSize---- UINT32 numPresets // Presets are not used in TS4 7STRING name // FLOAT DisplayIndex // Sort order in catalog UINT16 SeconndaryDisplayIndex UINT32 PrototypeID UINT32 AuralMateralHash struct ParmFlags partFlags // See below UINT64 ExcludePartFlags UINT32 ExcludeModifierRegionFlags struct TagMultimap Tags // see below UINT32 SimoleaonPrice UINT32 PartTitleKey // Index into STBLs for the title UINT32 PartDescKey // Index into STBLs for the description BYTE UniqueTextureSpace INT32 BodyType INT32 --UNUSED1-- UINT32 AgeGender BYTE --UNUSED2-- BYTE --UNUSED3-- struct SwatchColorSet SwatchColors BYTE BuffResKey // These keys are all indexes into the keyTable below BYTE VariantThumbKey BYTE NakedKey BYTE ParentKey INT32 SortLayer BYTE numLODs struct LOD mlods[numLODs] BYTE numSlotKeys BYTE mSlotKey[numSlotKeys] // used? BYTE DiffuseKey // This is the primary color texture type 0x3453cf95 BYTE ShadowKey // And the other texture 0x3453cf95 BYTE CompositionMethod BYTE RegionMapKey // type 0xac16fbec BYTE Overrides BYTE NormalMapKey // have not seen a normal map used BYTE SpecularMapKey // texture file type 0xba856c78 -----END dataSize----- struct ResourceKeyArray keyTable // List of TGI keys referenced
struct ParmFlags is a bitfield of size BYTE
[7-6] not_used [5] ShowInCasDemo [4] ShowInSimInfoPanel [3] ShowInUI [2] AllowForRandom [1] DefaultThumnailPart [0] DefaultForBodyType
struct TagMultimap is a counted array of struct Tag entries
UINT32 tagCount struct Tag[]
struct Tag is a simple struct
UINT16 Category UINT16 tagValue
struct SwatchColorSet is a counted array of UINT32 (color values)
BYTE usedColorCount UINT32 rawData[usedColorCount] // Data is RGBA value
struct LOD is a complex struct
BYTE level UINT32 --unused-- BYTE numAssets struct LODAsset assets[numAssets] BYTE numLODKeys BYTE lodKey[numLODKeys] // These keys are all indexes into the keyTable
struct LODAsset is a simple struct
INT32 sorting INT32 specLevel INT32 casShadow
Format
This is what was discovered early in the process -- now obsolete
DWORD version // 0x1a is current DWORD offset // to resource reference table from end of header (ie offset + 8)
DWORD presetCount? // For all files I read so far, it's 0. It might still be a count 7STRING // UnicodeBE FLOAT sortPriority // CAS sorts on this value, from largest to smallest
// This block hasn't been test for multiple files.
Byte[22] Unknown
DWORD count
--repeat(count)
DWORD
// Unknown bytes
// Resource reference table in I64GT format (not TGI64)
BYTE count
--repeat(count)
QWORD instance
DWORD group
DWORD type