Difference between revisions of "Sims 3:0x025ED6F4"

From SimsWiki
Jump to: navigation, search
(Format)
Line 1: Line 1:
{{TS3AdvancedModdingHeader}}
 
{{TS3Resource
 
|name=XML - SIMO
 
|typeid= 0x025ED6F4
 
|expansion=The Sims 3
 
}}
 
<br clear="all">
 
==Overview==
 
Sim outfit definition.
 
 
==Format==
 
==Format==
 
  DWORD version
 
  DWORD version
DWORD TGI offset
 
 
   
 
   
// Xml Presets
+
  --if Version < 0x08 (yes, really completely different)
DWORD count
+
  --repeat
+
--if Version >= 0x0B
+
BYTE
+
DWORD length
+
char16[length] // xml preset
+
 
   
 
   
DWORD
 
DWORD
 
FLOAT weight slider (heavy) 0 if slim, 0.0 - 1.0 for heavy
 
FLOAT strength slider [0.0 - 1.0]
 
FLOAT weight slider (slim) 0 if heavy, 0.0 - 1.0 for slim
 
--if Version >= 0x09
 
 
  DWORD
 
  DWORD
DWORD Age    //[[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age, Species, Gender and Handedness]]
+
DWORD
  DWORD Gender  //[[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age, Species, Gender and Handedness]]
+
DWORD
DWORD Species //[[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age, Species, Gender and Handedness]]
+
   
 +
DWORD [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age]]
 +
DWORD [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Gender]]
 
   
 
   
--if Version >= 0x09
 
 
  DWORD
 
  DWORD
 
--if Version >= 0x15
 
WORD index //of [[Sims 3:0x0354796A|0x0354796A - Skin Tone]]
 
--else
 
BYTE index //of [[Sims 3:0x0354796A|0x0354796A - Skin Tone]]
 
 
--if Version == 0x08 //??really only this version?? or >= ?
 
BYTE index //of [[Sims 3:0x03555BA8|0x03555BA8- Hair Tone]]
 
 
   
 
   
FLOAT Eyelash Slider
+
--[[Sims 3:0x0354796A|0x0354796A - Skin Tone]] resource key (IGT)
--if Version >= 0x0E
+
  QWORD skinInstance
--if Version >= 0x11
+
DWORD skinGroup
FLOAT (male & female - muscle slider)
+
DWORD skinType
  --if Version >= 0x12
+
FLOAT (female only - breast slider)
+
 
   
 
   
DWORD HairBaseColor    //ARGB Color
+
  --[[Sims 3:0x03555BA8|0x03555BA8- Hair Tone]] resource key (IGT)
DWORD HairHaloHighColor //ARGB Color
+
  QWORD hairInstance
DWORD HairHaloLowColor  //ARGB Color
+
  DWORD hairGroup
  --if Version >= 0x13
+
  DWORD hairType
  FLOAT NumCurls
+
  FLOAT CurlPixelRadius
+
  --if Version >= 0x14
+
--Fur Map TGI
+
DWORD Type
+
DWORD Group
+
QWORD Instance
+
 
   
 
   
--if Version <= 0x08
 
 
  DWORD
 
  DWORD
--else
+
  DWORD
  --if Version <= 0x0D
+
BYTE
+
 
   
 
   
// CAS Parts
+
BYTE caspCount
BYTE count
+
--repeat caspCount
--repeat
+
--[[Sims 3:0x034AEECB|0x034AEECB - CAS Part]] resource key
 +
DWORD CASPType
 +
DWORD CASPGroup
 +
QWORD CASPInstance
 
   
 
   
    --if Version >= 0x15
+
BYTE txtcPairCount
WORD index // of [[Sims 3:0x034AEECB|0x034AEECB - CAS Part]]
+
--repeat txtcPairCount
    --else
+
--[[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]] resource key #1
BYTE index // of [[Sims 3:0x034AEECB|0x034AEECB - CAS Part]]
+
DWORD Txtc1Type
 +
DWORD Txtc1Group
 +
QWORD Txtc1Instance
 +
--[[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]] resource key #2
 +
DWORD Txtc1Type
 +
DWORD Txtc1Group
 +
QWORD Txtc1Instance
 
   
 
   
DWORD //[[Sims 3:0x034AEECB#Clothing Types|Part Type]]
+
DWORD [[Sims 3:0x034AEECB#Clothing Types|Part Type]]
BYTE count
+
--repeat
+
--if Version >= 0x15
+
WORD index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
+
WORD index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
+
--else
+
BYTE index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
+
BYTE index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
+
 
   
 
   
 +
WORD // Could be "byte ZERO; count of face parts in V7 format", I guess?
 
   
 
   
  BYTE // zero
+
  --else // Version >= 0x08
 
   
 
   
// Face Parts
+
DWORD // Offset (from after this DWORD) to table of resource keys
BYTE count
+
--repeat
+
--if Version >= 0x10
 +
// Xml Presets
 +
DWORD XmlPresetCount
 +
--repeat XmlPresetCount
 +
BYTE
 +
DWORD length
 +
char16[length] // xml preset
 
   
 
   
 +
--else if Version >= 0x09 // I am not convinced this is the same list as above but zero length XMLs...
 +
// List of DWORDs
 +
DWORD DwordCoust
 +
--repeat DwordCoust
 +
DWORD
 +
 +
--if Version >= 0x0E
 +
DWORD
 +
DWORD
 +
 +
FLOAT weight slider (heavy) 0 if slim, 0.0 - 1.0 for heavy
 +
FLOAT strength slider [0.0 - 1.0]
 +
FLOAT weight slider (slim) 0 if heavy, 0.0 - 1.0 for slim
 +
 +
--if Version >= 0x09
 +
DWORD
 +
 +
DWORD Age    //[[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age]]
 +
DWORD Gender  //[[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Gender]]
 +
DWORD Species //[[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Species]]
 +
 +
--if Version >= 0x09
 +
DWORD Handedness //??[[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Handedness]]??
 +
 
  --if Version >= 0x15
 
  --if Version >= 0x15
  WORD index // of [[Sims 3:0x0358B08A|0x0358B08A - Face Part]]
+
  WORD // [[Sims 3:0x0354796A|0x0354796A - Skin Tone]] index
 
  --else
 
  --else
  BYTE index // of [[Sims 3:0x0358B08A|0x0358B08A - Face Part]]
+
  BYTE // [[Sims 3:0x0354796A|0x0354796A - Skin Tone]] index
  FLOAT
+
 +
--if Version == 0x08 // Well, < 0x09 I guess is more accurate...
 +
BYTE // [[Sims 3:0x03555BA8|0x03555BA8- Hair Tone]] index
 +
 +
  FLOAT Eyelash Slider
 
   
 
   
--if Version <= 0x08
+
// Now a longer conditional chunk...
DWORD
+
--if Version >= 0x09
 +
--if Version >= 0x0E
 +
--if Version >= 0x11
 +
FLOAT (male & female - muscle slider)
 +
--if Version >= 0x12
 +
FLOAT (female only - breast slider)
 +
 +
DWORD HairBaseColor    //ARGB Color
 +
DWORD HairHaloHighColor //ARGB Color
 +
DWORD HairHaloLowColor  //ARGB Color
 
   
 
   
  //TGI (I64GT) list (includes resources referenced in preset xmls)
+
--if Version >= 0x13
BYTE count // but why make all the indexes WORD if the length is still only 255 max?
+
FLOAT NumCurls
--repeat
+
FLOAT CurlPixelRadius
QWORD Instance
+
--if Version >= 0x14
DWORD Group
+
--Fur Map TGI
DWORD Type
+
DWORD Type
 +
DWORD Group
 +
QWORD Instance
 +
 +
--else // Version < 0x0E
 +
BYTE // You'd have thought "hair tone index" as there is one to reference but
 +
    // the value here is not right...
 +
   
 +
--else // Version < 0x09
 +
DWORD
 +
 +
// CAS Parts
 +
BYTE CASPartCount
 +
--repeat CASPartCount
 +
 +
--if Version >= 0x15
 +
WORD index // of [[Sims 3:0x034AEECB|0x034AEECB - CAS Part]]
 +
--else
 +
BYTE index // of [[Sims 3:0x034AEECB|0x034AEECB - CAS Part]]
 +
 +
--if Version >= 0x0E
 +
DWORD //[[Sims 3:0x034AEECB#Clothing Types|Part Type]]
 +
 +
BYTE TxtcPairCount
 +
--repeat TxtcPairCount
 +
--if Version >= 0x15
 +
WORD index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
 +
WORD index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
 +
--else
 +
BYTE index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
 +
BYTE index // of [[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]]
 +
 +
BYTE // zero
 +
 +
// Face Parts
 +
BYTE FacePartCount
 +
--repeat FacePartCount
 +
--if Version >= 0x15
 +
WORD index // of [[Sims 3:0x0358B08A|0x0358B08A - Face Part]]
 +
--else
 +
BYTE index // of [[Sims 3:0x0358B08A|0x0358B08A - Face Part]]
 +
FLOAT
 +
 +
--if Version <= 0x0A
 +
DWORD
 +
 +
//TGI (I64GT) list (includes resources referenced in preset xmls)
 +
BYTE count // but why make all the indexes WORD if the length is still only 255 max?
 +
--repeat
 +
QWORD Instance
 +
DWORD Group
 +
DWORD Type
  
 
Thanks to [http://www.den.simlogical.com/denforum/index.php?action=profile;u=1256 mscsims] for the Island Paradise update.
 
Thanks to [http://www.den.simlogical.com/denforum/index.php?action=profile;u=1256 mscsims] for the Island Paradise update.
 
   
 
   
 
{{TS3AdvancedModdingHeader}}
 
{{TS3AdvancedModdingHeader}}

Revision as of 05:40, 29 June 2013

Format

DWORD version

--if Version < 0x08 (yes, really completely different)

	DWORD
	DWORD
	DWORD

	DWORD Age
	DWORD Gender

	DWORD

	--0x0354796A - Skin Tone resource key (IGT)
		QWORD skinInstance
		DWORD skinGroup
		DWORD skinType

	--0x03555BA8- Hair Tone resource key (IGT)
		QWORD hairInstance
		DWORD hairGroup
		DWORD hairType

	DWORD
	DWORD

	BYTE caspCount
	--repeat caspCount
		--0x034AEECB - CAS Part resource key
			DWORD CASPType
			DWORD CASPGroup
			QWORD CASPInstance

		BYTE txtcPairCount
		--repeat txtcPairCount
			--0x033A1435 - Texture Compositor resource key #1
				DWORD Txtc1Type
				DWORD Txtc1Group
				QWORD Txtc1Instance
			--0x033A1435 - Texture Compositor resource key #2
				DWORD Txtc1Type
				DWORD Txtc1Group
				QWORD Txtc1Instance

		DWORD Part Type

	WORD	// Could be "byte ZERO; count of face parts in V7 format", I guess?

--else // Version >= 0x08

	DWORD // Offset (from after this DWORD) to table of resource keys
	
	--if Version >= 0x10
		// Xml Presets
		DWORD XmlPresetCount
		--repeat XmlPresetCount
			BYTE
			DWORD length
			char16[length] // xml preset

	--else if Version >= 0x09 // I am not convinced this is the same list as above but zero length XMLs...
		// List of DWORDs
		DWORD DwordCoust
		--repeat DwordCoust
			DWORD

	--if Version >= 0x0E
		DWORD
		DWORD

	FLOAT weight slider (heavy) 0 if slim, 0.0 - 1.0 for heavy
	FLOAT strength slider [0.0 - 1.0]
	FLOAT weight slider (slim) 0 if heavy, 0.0 - 1.0 for slim

	--if Version >= 0x09
		DWORD

	DWORD Age     //Age
	DWORD Gender  //Gender
	DWORD Species //Species
	
	--if Version >= 0x09
		DWORD Handedness //??Handedness??
		
	--if Version >= 0x15
		WORD // 0x0354796A - Skin Tone index
	--else
		BYTE // 0x0354796A - Skin Tone index
		
	--if Version == 0x08 // Well, < 0x09 I guess is more accurate...
		BYTE // 0x03555BA8- Hair Tone index
	
	FLOAT Eyelash Slider

	// Now a longer conditional chunk...
	--if Version >= 0x09
		--if Version >= 0x0E
			--if Version >= 0x11
				FLOAT (male & female - muscle slider)
				--if Version >= 0x12
					FLOAT (female only - breast slider)
		
			DWORD HairBaseColor     //ARGB Color
			DWORD HairHaloHighColor //ARGB Color
			DWORD HairHaloLowColor  //ARGB Color

			--if Version >= 0x13
				FLOAT NumCurls
				FLOAT CurlPixelRadius
				--if Version >= 0x14
					--Fur Map TGI
					DWORD Type
					DWORD Group
					QWORD Instance
		
		--else // Version < 0x0E
			BYTE // You'd have thought "hair tone index" as there is one to reference but
			     // the value here is not right...

	--else // Version < 0x09
			DWORD
	
	// CAS Parts
	BYTE CASPartCount
	--repeat CASPartCount
	
		--if Version >= 0x15
			WORD index // of 0x034AEECB - CAS Part
		--else
			BYTE index // of 0x034AEECB - CAS Part
	
		--if Version >= 0x0E
			DWORD //Part Type

		BYTE TxtcPairCount
		--repeat TxtcPairCount
			--if Version >= 0x15
				WORD index // of 0x033A1435 - Texture Compositor
				WORD index // of 0x033A1435 - Texture Compositor
			--else
				BYTE index // of 0x033A1435 - Texture Compositor
				BYTE index // of 0x033A1435 - Texture Compositor

	BYTE // zero
	
	// Face Parts
	BYTE FacePartCount
	--repeat FacePartCount
		--if Version >= 0x15
			WORD index // of 0x0358B08A - Face Part
		--else
			BYTE index // of 0x0358B08A - Face Part
		FLOAT
	
	--if Version <= 0x0A
		DWORD
	
	//TGI (I64GT) list (includes resources referenced in preset xmls)
	BYTE count // but why make all the indexes WORD if the length is still only 255 max?
	--repeat
		QWORD Instance
		DWORD Group
		DWORD Type

Thanks to mscsims for the Island Paradise update.

Modding Reference by Category

Sims 3 :DBPF | File Types | RCOL(Scene) | Catalog Resource | String Table | Key Table | TS3 Programmer's Reference 

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox