Difference between revisions of "Sims 3:0x0358B08A"

From SimsWiki
Jump to: navigation, search
 
(Overview)
 
(35 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Face Parts<br>
+
{{TS3AdvancedModdingHeader}}
 +
{{TS3Resource
 +
|name=Face Part - FACE
 +
|typeid= 0x0358B08A
 +
|expansion=The Sims 3
 +
}}
 +
<br clear="all">
 +
 
 +
==Overview==
 +
(Also applies to Clothing Parts ([[Sims 3:0x062C8204|0x062C8204]],[[Sims 3:0x0A037DDA|0x0A037DDA]]))
  
 
I've not worked out the entry format exactly, but it's more a matter of checking to make sure data style doesn't change across files. I need independent confirmation that this works please!
 
I've not worked out the entry format exactly, but it's more a matter of checking to make sure data style doesn't change across files. I need independent confirmation that this works please!
  
<pre>
+
-Karybdis
DWORD - Version
+
DWORD - Offset of the TGI index from here
+
DWORD - Type? (1C, 3C, AC, BC)
+
BYTE - Length of the Part Name in two byte pieces
+
NAME - Part Name (*2 bytes per character, null byte first)
+
DWORD
+
 
+
-The 067caa11 file
+
TID
+
GID
+
I64
+
 
+
DWORD - Entry Count
+
-Repeat Entries (Entry size dependent on Type. (1C/3C/AC - 24 bytes, BC - 36 Bytes. See Sample Data!))
+
 
+
DWORD - TGI Entry Count
+
-TGI's (Entry Count Times)
+
TID
+
GID
+
I64
+
 
+
  
looking at that Type DWORD in binary, we get (for the first byte)
+
Updated and verified as part of s3pi build process.  -- PLJ
00011100 - 1c
+
00111100 - 3c
+
10101100 - AC
+
10111100 - BC
+
don't know if that will have anything to do with it.
+
  
 +
Version 7 info (store packages only??) - cmar
  
My naive assessment of the types and Entries
+
Version 10 - Sims Medieval, seems to otherwise be identical to Version 7 structure. - cmar
  
1c - no index long
+
Revised to include new info from breast slider bblends. - cmar
3c - first entry no index long
+
ac - always has a zero based index long
+
bc - double set. second set always has a 1 based index long
+
  
and the entries
+
==Format==
 +
DWORD - Version
 +
 +
// [[Sims 3:Key table|Key table]]:
 +
DWORD TGI_offset // from after this DWORD
 +
DWORD TGI_size // Version 7 and Version 10: (4 + TGIcount * 16), Version 8: (4 + tgiCount * 16) '''PLUS EIGHT''' ''(for no readily apparent reason)''
 +
 +
7STRING Part name // UnicodeBE
 +
 +
DWORD                  // Always 2 ?
 +
 +
--If Version == 8, the Blend Geometry ([[Sims_3:0x067CAA11|0x067CAA11]]) Resource Key:
 +
DWORD bgType
 +
DWORD bgGroup
 +
QWORD bgInstance
 +
 +
DWORD Entry count
 +
--Repeat Entry count times:
 +
DWORD [[#Facial Region Flags|Facial Region Flags]] // (For Clothing) (?)
 +
DWORD GEOM count
 +
--repeat GEOM count times:
 +
DWORD GEOM [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age, Species, Gender and Handedness]]
 +
FLOAT GEOM Amount
 +
DWORD GEOM VPXY Index in TGI
 +
DWORD Bone count
 +
--repeat Bone count times:
 +
DWORD Bone [[Sims 3:CAS Part Flags#Age, Species, Gender and Handedness|Age, Species, Gender and Handedness]]
 +
FLOAT Bone Amount
 +
DWORD Bone VPXY Index in TGI
 +
 +
 +
--Insert [[Sims 3:Key table|resource references]] here  // Version 7 and Version 10 - points to VPXY
  
4 BYTES
+
===Facial Region Flags===
4 BYTES (entry has an index long) (check if there's a val of 0 for this dword, if so, expect another dword before weird data, and index long after first float)
+
{| class="wikitable" border="1"
4 BYTES (1) (if expected, as said above)
+
! Bit !! Value !! Part
4 BYTES (weird data)
+
|-
FLOAT
+
| 0 || 0x001 || Eyes
4 BYTES (index long, if it exists, otherwise this is 0)
+
|-
4 BYTES (if the last long was 0, this long exists. If this word isn't 0, then a second set exists)
+
| 1 || 0x002 || Nose
4 BYTES (another weird data)
+
|-
FLOAT
+
| 2 || 0x004 || Mouth
4 BYTES (index long)
+
|-
</pre>
+
| 3 || 0x008 || TranslateMouth
 +
|-
 +
| 4 || 0x010 || Ears
 +
|-
 +
| 5 || 0x020 || TranslateEyes
 +
|-
 +
| 6 || 0x040 || Face
 +
|-
 +
| 7 || 0x080 || Head
 +
|-
 +
| 8 || 0x100 || Brow
 +
|-
 +
| 9 || 0x200 || Jaw
 +
|-
 +
| 10 || 0x400 || Body
 +
|-
 +
| 11 || 0x800 || Eyelashes
 +
|}
 +
{{TS3AdvancedModdingHeader}}

Latest revision as of 18:57, 16 December 2012

Modding Reference by Category

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

Face Part - FACE
TypeID:0x0358B08A
Game Version:The Sims 3



[edit] Overview

(Also applies to Clothing Parts (0x062C8204,0x0A037DDA))

I've not worked out the entry format exactly, but it's more a matter of checking to make sure data style doesn't change across files. I need independent confirmation that this works please!

-Karybdis

Updated and verified as part of s3pi build process. -- PLJ

Version 7 info (store packages only??) - cmar

Version 10 - Sims Medieval, seems to otherwise be identical to Version 7 structure. - cmar

Revised to include new info from breast slider bblends. - cmar

[edit] Format

DWORD - Version

// Key table:
DWORD TGI_offset	// from after this DWORD
DWORD TGI_size		// Version 7 and Version 10: (4 + TGIcount * 16), Version 8: (4 + tgiCount * 16) PLUS EIGHT (for no readily apparent reason)

7STRING Part name	// UnicodeBE

DWORD                  // Always 2 ?

--If Version == 8, the Blend Geometry (0x067CAA11) Resource Key:
	DWORD bgType
	DWORD bgGroup
	QWORD bgInstance

DWORD Entry count
--Repeat Entry count times:
	DWORD Facial Region Flags	// (For Clothing) (?)
	DWORD GEOM count
	--repeat GEOM count times:
		DWORD GEOM Age, Species, Gender and Handedness
		FLOAT GEOM Amount
		DWORD GEOM VPXY Index in TGI
	DWORD Bone count
	--repeat Bone count times:
		DWORD Bone Age, Species, Gender and Handedness
		FLOAT Bone Amount
		DWORD Bone VPXY Index in TGI


--Insert resource references here  // Version 7 and Version 10 - points to VPXY 

[edit] Facial Region Flags

Bit Value Part
0 0x001 Eyes
1 0x002 Nose
2 0x004 Mouth
3 0x008 TranslateMouth
4 0x010 Ears
5 0x020 TranslateEyes
6 0x040 Face
7 0x080 Head
8 0x100 Brow
9 0x200 Jaw
10 0x400 Body
11 0x800 Eyelashes
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