Difference between revisions of "Sims 3:0x02019972"

From SimsWiki
Jump to: navigation, search
m (more links)
m (Embedded vs non-embedded MTSTs)
Line 14: Line 14:
 
  DWORD 'MTST'
 
  DWORD 'MTST'
 
  DWORD Version
 
  DWORD Version
  DWORD // unknown
+
  DWORD [[FNV|FNV32]] of [[Sims 3:0x01D0E75D|MATD]] Name
DWORD Initial [[Sims 3:0x01D0E75D|MATD]] index | 0x10000000
+
DWORD Initial MATD index
 
  DWORD Count
 
  DWORD Count
  --count repeats of
+
  --''Count'' repeats of
  DWORD MATD index | 0x10000000
+
  DWORD MATD index
  DWORD [[FNV|FNV32]] of MATD Name
+
  DWORD FNV32 of MATD Name
  
 
Based on all MTST blocks so far seen, 'Count' is >= 1 and there is an entry named "Default", i.e.
 
Based on all MTST blocks so far seen, 'Count' is >= 1 and there is an entry named "Default", i.e.
  DWORD [[Sims 3:0x01D0E75D|MATD]] index (== initial MATD index) | 0x10000000
+
  DWORD MATD index // == ''Initial MATD index''
  DWORD 0x2EA8FB98 // [[FNV|FNV32]] of "Default"
+
  DWORD 0x2EA8FB98 // FNV32 of "Default"
 +
Where the MTST is a [[Sims_3:0x01661233|MODL]] block, ''index'' is ''or''-d with 0x10000000 and refers to the MODL resource RCOL block number.
 +
Where it is a MTST resource, ''index'' is ''or''-d with 0x30000000 (not sure what it indexes into, if anything).
 
<hr/>
 
<hr/>
 
[[Tutorials:TS3 Advanced Coding Tutorials]] -> [[Sims 3:PackedFileTypes]]
 
[[Tutorials:TS3 Advanced Coding Tutorials]] -> [[Sims 3:PackedFileTypes]]
 
<br/>[[Tutorials:TS3 Advanced Coding Tutorials]] -> [[Sims 3:RCOL]]
 
<br/>[[Tutorials:TS3 Advanced Coding Tutorials]] -> [[Sims 3:RCOL]]

Revision as of 20:14, 14 February 2010

Tutorials:TS3 Advanced Coding Tutorials -> Sims 3:PackedFileTypes
Tutorials:TS3 Advanced Coding Tutorials -> Sims 3:RCOL


Description

This is a Sims 3:RCOL chunk.

The purpose of the MTST is to allow multiple material definitions to be swapped by the game through the function:

ScriptCore.World.ObjectSetMaterial(ObjectGuid objId, string materialSetName, float transitionTime, bool bTransitionToOverlay);

For most objects, this function is often accessed through the function:

Sims3.Gameplay.Abstracts.GameObject.SetMaterial(string materialSetName);

The string argument is FNV32 hashed and matched with the hash name to locate and swap out the object's material.

Format

DWORD 'MTST'
DWORD Version
DWORD FNV32 of MATD Name
DWORD Initial MATD index
DWORD Count
--Count repeats of
	DWORD MATD index
	DWORD FNV32 of MATD Name

Based on all MTST blocks so far seen, 'Count' is >= 1 and there is an entry named "Default", i.e.

DWORD MATD index	// == Initial MATD index
DWORD 0x2EA8FB98	// FNV32 of "Default"

Where the MTST is a MODL block, index is or-d with 0x10000000 and refers to the MODL resource RCOL block number. Where it is a MTST resource, index is or-d with 0x30000000 (not sure what it indexes into, if anything).


Tutorials:TS3 Advanced Coding Tutorials -> Sims 3:PackedFileTypes
Tutorials:TS3 Advanced Coding Tutorials -> Sims 3:RCOL

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox