Difference between revisions of "Sims 3:0x033A1435"
(→Properties) |
|||
(6 intermediate revisions by one user not shown) | |||
Line 40: | Line 40: | ||
DWORD // Property ID - see [[#Properties|Properties]] below | DWORD // Property ID - see [[#Properties|Properties]] below | ||
BYTE // 0x00 | BYTE // 0x00 | ||
− | BYTE // Data type - see [[#Data | + | BYTE // Data type - see [[#Data Types|Data types]] below |
{Data} // | {Data} // | ||
DWORD // 0x00000000 the next "property id"; not a full entry group | DWORD // 0x00000000 the next "property id"; not a full entry group | ||
Line 56: | Line 56: | ||
====Properties==== | ====Properties==== | ||
Property IDs are derived from an internal name hashed with the [[FNV|FNV32]] algorithm. | Property IDs are derived from an internal name hashed with the [[FNV|FNV32]] algorithm. | ||
− | {| class="wikitable" border="1" | + | {| class="wikitable sortable" border="1" |
+ | |- Sortable table | ||
! ID !! Name !! Description !! DataType | ! ID !! Name !! Description !! DataType | ||
|- | |- | ||
Line 87: | Line 88: | ||
| 0x6B7119C1 || Description || || 0x0D | | 0x6B7119C1 || Description || || 0x0D | ||
|- | |- | ||
− | | 0x8A7006DB || Image Source || || 0x07 | + | | 0x8A7006DB || Image Source || See [[#Render Targets|Render Targets]] below || 0x07 |
|- | |- | ||
− | | 0xA2C91332 || Render Target ||See [[#Render Targets|Render Targets]] below | + | | 0xA2C91332 || Render Target || See [[#Render Targets|Render Targets]] below || 0x07 |
|- | |- | ||
| 0xA3AAFC98 || Source Rectangle || || 0x0A | | 0xA3AAFC98 || Source Rectangle || || 0x0A | ||
|- | |- | ||
− | | 0xAE5FE82A || Min Detail Level ||See [[#Detail Levels|Detail Levels]] below | + | | 0xAE5FE82A || Min Detail Level || See [[#Detail Levels|Detail Levels]] below || 0x07 |
|- | |- | ||
| 0xB01748DA || Colour || || 0x07 | | 0xB01748DA || Colour || || 0x07 | ||
Line 104: | Line 105: | ||
|- | |- | ||
| 0xD92A4C8B || UI Visible || || 0x00 | | 0xD92A4C8B || UI Visible || || 0x00 | ||
+ | |- | ||
+ | | 0xD49E8879 || ? || ? || 0x00 | ||
|- | |- | ||
| 0xDCFF6D7B || Default Fabric || References embedded superblock || 0x0C | | 0xDCFF6D7B || Default Fabric || References embedded superblock || 0x0C | ||
Line 119: | Line 122: | ||
|} | |} | ||
=====Step Types===== | =====Step Types===== | ||
− | These are the | + | These are the known values for the ID field of the properties. The ID is derived from a [[FNV|FNV32]] hashed internal name. |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! ID !! Name !! Description | ! ID !! Name !! Description | ||
Line 130: | Line 133: | ||
|- | |- | ||
| 0x5D7C85D4 || Hair Tone || | | 0x5D7C85D4 || Hair Tone || | ||
+ | |- | ||
+ | | 0x890805DB || Remapped Channel Select || | ||
|- | |- | ||
| 0x9CD1269D || Colour Fill || Fills the texture buffer with a colour, this is often limited to a masked channel | | 0x9CD1269D || Colour Fill || Fills the texture buffer with a colour, this is often limited to a masked channel | ||
Line 140: | Line 145: | ||
|- | |- | ||
| 0xDC0984B9 || HSV to RGB || | | 0xDC0984B9 || HSV to RGB || | ||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
+ | |||
=====Detail Levels===== | =====Detail Levels===== | ||
This is not an enumeration, rather min/max constants defined by EA | This is not an enumeration, rather min/max constants defined by EA | ||
Line 245: | Line 249: | ||
|- | |- | ||
|} | |} | ||
− | |||
====Data Types==== | ====Data Types==== |
Latest revision as of 21:29, 13 February 2012
Modding Reference by Category | |
---|---|
Sims 3 :DBPF | File Types | RCOL(Scene) | Catalog Resource | String Table | Key Table | TS3 Programmer's Reference |
Texture Compositor - TXTC | ||
---|---|---|
TypeID: | 0x033A1435 | |
Game Version: | The Sims 3 |
Contents |
[edit] Overview
This format is internally known as the "TextureCompositor". It describes the process of combining various texture files into what is actually rendered in the game. Texture Steps are to be read sequentially, as the previous ones affect the ones that follow. Sources are generally external textures referenced by an image key, destination represents the render texture specified by the steps, thus a virtual texture.
[edit] Format
DWORD // Version DWORD // Offset of the I64GT Count from the end of this DWORD --if Version >= 7 BYTE EmbeddedTxtcCount --repetition(EmbeddedTxtcCount) BYTE // TGI index for this embedded txtc's resource key DWORD // byte size of this embedded txtc --Insert another TXTC BYTE[3] // don't know but seems needed DWORD Pattern Size DWORD PartType BYTE //00 DWORD // entry count --if Version >= 8 BYTE //00 --repetition(entry count) {Entry} // see below BYTE // I64GT Count --repetition(I64GT Count) I64GT
[edit] Entry format
An "entry" is made up of a repeating group, as follows:
--Repeat until the next "property id" is 0x00000000 DWORD // Property ID - see Properties below BYTE // 0x00 BYTE // Data type - see Data types below {Data} // DWORD // 0x00000000 the next "property id"; not a full entry group
by Karybdis
[edit] Pattern Size
0x00000000 | Default |
0x00000001 | Large |
[edit] Properties
Property IDs are derived from an internal name hashed with the FNV32 algorithm.
ID | Name | Description | DataType |
---|---|---|---|
0x048F7567 | Destination Blend | See Blend Factors below | 0x03 |
0x06A775CE | Skip Shader Model | See Shader Models below. | 0x03 |
0x10DA0B6A | Mask Source | ||
0x182E64EB | Width | 0x07 | |
0x1F091259 | Mask Select | 0x0B | |
0x2EDF5F53 | Min Shader Model | 0x03 | |
0x331178DF | Skip Detail Level | See Detail Levels below | 0x07 |
0x3A3260E6 | Mask Bias | 0x09 | |
0x49DE3B16 | Mask Key | 0x0C | |
0x49F996DB | Rotation | 0x09 | |
0x4C47D5C0 | Height | 0x07 | |
0x64399EC5 | Default Colour | 0x07 | |
0x687720A6 | ID | See Step Types below. | 0x07 |
0x6B7119C1 | Description | 0x0D | |
0x8A7006DB | Image Source | See Render Targets below | 0x07 |
0xA2C91332 | Render Target | See Render Targets below | 0x07 |
0xA3AAFC98 | Source Rectangle | 0x0A | |
0xAE5FE82A | Min Detail Level | See Detail Levels below | 0x07 |
0xB01748DA | Colour | 0x07 | |
0xB07B3B93 | Colour Write | See Colour Write Flags below | 0x03 |
0xB67C2EF8 | HSV Shift | 0x0B | |
0xD0E69002 | Channel Select | 0x0B | |
0xD92A4C8B | UI Visible | 0x00 | |
0xD49E8879 | ? | ? | 0x00 |
0xDCFF6D7B | Default Fabric | References embedded superblock | 0x0C |
0xE055EE36 | Source Blend | See Blend Factors below | 0x03 |
0xE1D6D01F | Destination Rectangle | 0x0A | |
0xE27FE962 | Enable Filtering | 0x00 | |
0xF6CC8471 | Image Key | 0x0C | |
0xFBF310C7 | Enable Blending | Indicative whether or not there will be Source/Destination blend parameters | 0x00 |
[edit] Step Types
These are the known values for the ID field of the properties. The ID is derived from a FNV32 hashed internal name.
ID | Name | Description |
---|---|---|
0x034210A5 | Draw Fabric | Draws an embedded fabric txtc. This comes from Default fabric parameter, which has overrides all over the place |
0x1E363B9B | Channel Select | Masks future steps based upon the colour from the "Channel Select" parameter using the mask texture in the "Image Key" |
0x43B554E3 | Skin Tone | |
0x5D7C85D4 | Hair Tone | |
0x890805DB | Remapped Channel Select | |
0x9CD1269D | Colour Fill | Fills the texture buffer with a colour, this is often limited to a masked channel |
0xA15200B1 | Draw Image | Draws an image to the buffer, this is affected by masked colour channels, src/dest rectangles and src/dest blend factors |
0xC6B6AC1F | CAS Pick Data | |
0xD6BD8695 | Set Target | Sets which render target future steps will use |
0xDC0984B9 | HSV to RGB |
[edit] Detail Levels
This is not an enumeration, rather min/max constants defined by EA
ID | Name | Description |
---|---|---|
0x00000000 | Lowest | |
0x00000003 | Highest |
[edit] Shader Models
ID | Name | Description |
---|---|---|
0x00000000 | SM_1_0 | |
0x00000001 | SM_1_1 | |
0x00000002 | SM_2_0 | |
0x00000003 | SM_2_1 | |
0x7FFFFFFF | SM_Highest |
[edit] Render Textures
ID | Name | Description |
---|---|---|
0x21E9CD3 | RenderTexture_A | |
0x21E9CD5 | RenderTexture_B |
[edit] Render Targets
Analogous to .NET Render Targets
ID | Name | Description |
---|---|---|
0x21E9CD2 | RenderTarget_A | |
0x21E9CD4 | RenderTarget_B |
[edit] Colour Write Flags
Filters colour channels that are used in a step
ID | Name | Description |
---|---|---|
0x00000001 | Red | |
0x00000002 | Green | |
0x00000004 | Blue | |
0x00000008 | Alpha |
[edit] Blend Factors
Analogous to .NET Blend Factors
ID | Name | Description |
---|---|---|
0x00000000 | Zero | |
0x00000001 | One | |
0x00000002 | Source Colour | |
0x00000003 | Inverse Source Colour | |
0x00000004 | Source Alpha | |
0x00000005 | Inverse Source Alpha | |
0x00000006 | Destination Alpha | |
0x00000007 | Inverse Destination Alpha | |
0x00000008 | Destination Colour | |
0x00000009 | Inverse Destination Colour | |
0x0000000A | Source Alpha Saturation | |
0x0000000B | Blend Factor | |
0x0000000C | Inverse Blend Factor |
[edit] Data Types
Typecode | Data | Comment |
---|---|---|
0x00 | BYTE | boolean |
0x01 | BYTE | signed |
0x02 | WORD | signed short |
0x03 | DWORD | signed int |
0x04 | QWORD | signed long int |
0x05 | BYTE | unsigned |
0x06 | WORD | unsigned short |
0x07 | DWORD | unsigned int (e.g. step type) |
0x08 | QWORD | unsigned long int |
0x09 | FLOAT | |
0x0A | FLOAT[4] | RectFloat |
0x0B | FLOAT[4] | Vector4 |
0x0C | BYTE | Index into TGI64 table |
0x0D | WORD len, string[len] |
Modding Reference by Category | |
---|---|
Sims 3 :DBPF | File Types | RCOL(Scene) | Catalog Resource | String Table | Key Table | TS3 Programmer's Reference |