Difference between revisions of "Sims 3:0x025ED6F4"

From SimsWiki
Jump to: navigation, search
m (Format: two values corrected - Eyelash Slider belongs to the Face Parts)
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{TS3AdvancedModdingHeader}}
+
==Format==
{{TS3Resource
+
DWORD version
|name=XML - SIMO
+
|typeid= 0x025ED6F4
+
--if Version < 0x08 (yes, really completely different)
|expansion=The Sims 3
+
}}
+
DWORD
<br clear="all">
+
DWORD
By atavera-
+
DWORD
 
+
Its not just an XML, although versions 8+ may contain embedded XML files. Still missing versions lower than 12 (which are more or less this spec minus alot of parts)
+
DWORD [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age]]
 
+
DWORD [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Gender]]
These resources usually assemble the mesh parts of a whole sim.
+
 
+
DWORD
<pre>
+
DWORD version
+
--[[Sims 3:0x0354796A|0x0354796A - Skin Tone]] resource key (IGT)
DWORD TGI offset
+
QWORD skinInstance
DWORD count1
+
DWORD skinGroup
--repeat(count1)
+
DWORD skinType
//Embedded XML
+
   
if (version > 0x0000000E)
+
--[[Sims 3:0x03555BA8|0x03555BA8- Hair Tone]] resource key (IGT)
{
+
QWORD hairInstance
BYTE
+
DWORD hairGroup
}
+
DWORD hairType
DWORD length
+
char16[length]
+
DWORD
if (version > 0x0000000C)
+
DWORD
{
+
DWORD
+
BYTE caspCount
DWORD
+
--repeat caspCount
}
+
--[[Sims 3:0x034AEECB|0x034AEECB - CAS Part]] resource key
FLOAT
+
DWORD CASPType
FLOAT
+
DWORD CASPGroup
FLOAT
+
QWORD CASPInstance
DWORD
+
DWORD
+
BYTE txtcPairCount
12 BYTES
+
--repeat txtcPairCount
BYTE TGI index //Skin Type (0x0354796A)
+
--[[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]] resource key #1
if (version > 0x0000000C)
+
DWORD Txtc1Type
{
+
DWORD Txtc1Group
FLOAT
+
QWORD Txtc1Instance
}
+
--[[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]] resource key #2
DWORD //RGBA Color
+
DWORD Txtc1Type
DWORD //RGBA Color
+
DWORD Txtc1Group
DWORD //RGBA Color
+
QWORD Txtc1Instance
BYTE count2
+
BYTE
+
DWORD [[Sims 3:0x034AEECB#Clothing Types|Part Type]]
--repeat(count2)
+
if (version > 0x0000000C)
+
WORD // Could be "byte ZERO; count of face parts in V7 format", I guess?
{
+
DWORD
+
--else // Version >= 0x08
}
+
BYTE count
+
DWORD // Offset (from after this DWORD) to table of resource keys
--repeat(count)
+
BYTE TGI index // Property Set(0x033A1435)
+
--if Version >= 0x10
BYTE TGI index // Property Set(0x033A1435)
+
// Xml Presets
BYTE TGI index // Body Part(0x034AEECB)
+
DWORD XmlPresetCount
BYTE count3
+
--repeat XmlPresetCount
--repeat(count3)
+
BYTE
BYTE TGI index //Face Part (0x0358B08A)
+
DWORD length
FLOAT
+
char16[length] // xml preset
BYTE count4
+
--repeat(count4)
+
--else if Version >= 0x09 // I am not convinced this is the same list as above but zero length XMLs...
//TGI64
+
// List of DWORDs
QWORD instance
+
DWORD DwordCoust
DWORD group
+
--repeat DwordCoust
DWORD type
+
DWORD
 
+
</pre>
+
--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
 +
WORD // [[Sims 3:0x0354796A|0x0354796A - Skin Tone]] index
 +
--else
 +
BYTE // [[Sims 3:0x0354796A|0x0354796A - Skin Tone]] index
 +
 +
--if Version == 0x08 // Well, < 0x09 I guess is more accurate...
 +
BYTE // [[Sims 3:0x03555BA8|0x03555BA8- Hair Tone]] index
 +
 +
FLOAT Skin Tone 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 [[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)
 +
--if Version >= 0x15
 +
WORD count
 +
--else
 +
BYTE count
 +
--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.
 +
 
{{TS3AdvancedModdingHeader}}
 
{{TS3AdvancedModdingHeader}}

Latest revision as of 17:55, 10 August 2017

[edit] 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 Skin Tone 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)
	--if Version >= 0x15
		WORD count
	--else
		BYTE count
	--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