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)
 
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{TS3ModdingHeader}}
+
==Format==
 +
DWORD version
 +
 +
--if Version < 0x08 (yes, really completely different)
 +
 +
DWORD
 +
DWORD
 +
DWORD
 +
 +
DWORD [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age]]
 +
DWORD [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Gender]]
 +
 +
DWORD
 +
 +
--[[Sims 3:0x0354796A|0x0354796A - Skin Tone]] resource key (IGT)
 +
QWORD skinInstance
 +
DWORD skinGroup
 +
DWORD skinType
 +
 +
--[[Sims 3:0x03555BA8|0x03555BA8- Hair Tone]] resource key (IGT)
 +
QWORD hairInstance
 +
DWORD hairGroup
 +
DWORD hairType
 +
 +
DWORD
 +
DWORD
 +
 +
BYTE caspCount
 +
--repeat caspCount
 +
--[[Sims 3:0x034AEECB|0x034AEECB - CAS Part]] resource key
 +
DWORD CASPType
 +
DWORD CASPGroup
 +
QWORD CASPInstance
 +
 +
BYTE txtcPairCount
 +
--repeat txtcPairCount
 +
--[[Sims 3:0x033A1435|0x033A1435 - Texture Compositor]] resource key #1
 +
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]]
 +
 +
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    //[[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
  
By atavera-
+
Thanks to [http://www.den.simlogical.com/denforum/index.php?action=profile;u=1256 mscsims] for the Island Paradise update.
 
+
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)
+
{{TS3AdvancedModdingHeader}}
 
+
These resources usually assemble the mesh parts of a whole sim.
+
 
+
<pre>
+
DWORD version
+
DWORD TGI offset
+
DWORD count1
+
--repeat(count1)
+
//Embedded XML
+
if (version > 0x0000000E)
+
{
+
BYTE
+
}
+
DWORD length
+
char16[length]
+
if (version > 0x0000000C)
+
{
+
DWORD
+
DWORD
+
}
+
FLOAT
+
FLOAT
+
FLOAT
+
DWORD
+
DWORD
+
12 BYTES
+
BYTE TGI index //Skin Type (0x0354796A)
+
if (version > 0x0000000C)
+
{
+
FLOAT
+
}
+
DWORD //RGBA Color
+
DWORD //RGBA Color
+
DWORD //RGBA Color
+
BYTE count2
+
BYTE
+
--repeat(count2)
+
if (version > 0x0000000C)
+
{
+
DWORD
+
}
+
BYTE count
+
--repeat(count)
+
BYTE TGI index // Property Set(0x033A1435)
+
BYTE TGI index // Property Set(0x033A1435)
+
BYTE TGI index // Body Part(0x034AEECB)
+
BYTE count3
+
--repeat(count3)
+
BYTE TGI index //Face Part (0x0358B08A)
+
FLOAT
+
BYTE count4
+
--repeat(count4)
+
//TGI64
+
QWORD instance
+
DWORD group
+
DWORD type
+
 
+
</pre>
+
 
+
{{TS3ModdingHeader}}
+

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