Difference between revisions of "Sims 4:0x034AEECB"

From SimsWiki
Jump to: navigation, search
(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] mSlotKey   // used?
+
   BYTE     mSlotKey[numSlotKeys]    // used?
   BYTE    DiffuseKey           // This is the primary color texture type 0x3453cf95
+
   BYTE    DiffuseKey               // This is the primary color texture type 0x3453cf95
   BYTE    ShadowKey           // And the other texture 0x3453cf95
+
   BYTE    ShadowKey               // And the other texture 0x3453cf95
 
   BYTE    CompositionMethod
 
   BYTE    CompositionMethod
   BYTE    RegionMapKey         // type 0xac16fbec
+
   BYTE    RegionMapKey             // type 0xac16fbec
 
   BYTE    Overrides
 
   BYTE    Overrides
   BYTE    NormalMapKey         // have not seen a normal map used
+
   BYTE    NormalMapKey             // have not seen a normal map used
   BYTE    SpecularMapKey       // texture file type 0xba856c78
+
   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 11: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
Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox