Difference between revisions of "Sims 3:0xEA5118B0"

From SimsWiki
Jump to: navigation, search
(Format)
Line 15: Line 15:
 
  WORD Version
 
  WORD Version
 
  [[#Effect_Blocks|Effect Block Section]]
 
  [[#Effect_Blocks|Effect Block Section]]
  [[#Shader_Effects|Effect Shader Section]]
+
  [[#Materials|Material Section]]
 
  [[#Effect_Compilations|Effect Compilation Section]]
 
  [[#Effect_Compilations|Effect Compilation Section]]
 
  [[#Effect_Handles|Effect Handle Section]]
 
  [[#Effect_Handles|Effect Handle Section]]
Line 62: Line 62:
 
|-
 
|-
 
| 0x000A
 
| 0x000A
| P10Block
+
| Unused
 
|-
 
|-
 
| 0x000B
 
| 0x000B
| P11Block
+
| Game Effect
 
|-
 
|-
 
| 0x000C
 
| 0x000C
| P12Block
+
| Fast Particle Effect
 
|-
 
|-
 
| 0x000D
 
| 0x000D
| Distribution Effect  
+
| Distribute Effect  
 
|-
 
|-
 
| 0x000E
 
| 0x000E
| P14Block
+
| Ribbon Effect
 
|-
 
|-
 
|}
 
|}
Line 80: Line 80:
  
 
======Format======
 
======Format======
  BYTE
+
  DWORD //Flags?
BYTE
+
BYTE
+
BYTE
+
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 105: Line 102:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
  FLOAT
+
  FLOAT  
 
   
 
   
//Angle(Degrees)
+
  DWORD Count
  DWORD Count1
+
  FLOAT //Angle?
  FLOAT  
+
 
  FLOAT
 
  FLOAT
 
  WORD
 
  WORD
 
  FLOAT
 
  FLOAT
 
  //Scale Delta
 
  //Scale Delta
  DWORD Count2
+
  DWORD Count
 
  FLOAT  
 
  FLOAT  
 
  FLOAT
 
  FLOAT
  DWORD Count3
+
  DWORD Count
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
  BYTE[4]
+
  FLOAT
  DWORD Count4
+
  DWORD Count
 
  FLOAT
 
  FLOAT
  DWORD Count5
+
  DWORD Count
 
  FLOAT
 
  FLOAT
 
  FLOAT  
 
  FLOAT  
 
  //Particle Color Delta
 
  //Particle Color Delta
  DWORD Count6
+
  DWORD Count
 
  FLOAT Red //Little Endian
 
  FLOAT Red //Little Endian
 
   FLOAT Green //Little Endian
 
   FLOAT Green //Little Endian
Line 136: Line 132:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 +
 +
//Resource reference block
 
  QWORD //I<sub>64</sub> of a an image([[Sims_3:0x00B2D882|DDS]]), model([[Sims_3:0x736884F1|VPXY]]), or shader(see [[#Shader_Effects|Shader Section]] below)
 
  QWORD //I<sub>64</sub> of a an image([[Sims_3:0x00B2D882|DDS]]), model([[Sims_3:0x736884F1|VPXY]]), or shader(see [[#Shader_Effects|Shader Section]] below)
  BYTE[10]
+
  BYTE
  FLOAT
+
  BYTE flag
  BYTE[8] // FFFFFFFFFFFFFFFF
+
if((flag &0x80==0x80)) DWORD
 +
  BYTE
 
  BYTE
 
  BYTE
 
  WORD
 
  WORD
 +
FLOAT
 +
QWORD //0xFFFFFFFFFFFFFFFF
 +
 +
BYTE
 +
BYTE
 +
BYTE
 
  BYTE
 
  BYTE
 
  BYTE
 
  BYTE
Line 151: Line 156:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 +
FLOAT
 +
FLOAT
 +
FLOAT
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
FLOAT
 
FLOAT
 
FLOAT
 
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
  DWORD Count7
+
  DWORD Count
 
  FLOAT
 
  FLOAT
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 169: Line 174:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  BYTE[4] // 00FF00FF
 
  BYTE[4] // 00FF00FF
  BYTE[4]
+
  DWORD Count
  DWORD Count8
+
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
  DWORD Count
 
  FLOAT
 
  FLOAT
  DWORD Count9
+
  DWORD Count
 
  DWORD
 
  DWORD
 
  QWORD
 
  QWORD
Line 187: Line 195:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT
 
  FLOAT
  BYTE[16]
+
  FLOAT
 +
FLOAT
 +
FLOAT
 +
FLOAT
 +
 
  FLOAT //-1000000000.0
 
  FLOAT //-1000000000.0
 
  FLOAT // 0.0
 
  FLOAT // 0.0
 
  FLOAT //-10000.0 Little Endian
 
  FLOAT //-10000.0 Little Endian
 
  FLOAT // 10000.0 Little Endian  
 
  FLOAT // 10000.0 Little Endian  
  BYTE[24] //FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+
  QWORD //0xFFFFFFFFFFFFFFFF
 +
QWORD //0xFFFFFFFFFFFFFFFF
 +
QWORD //0xFFFFFFFFFFFFFFFF
 +
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 200: Line 215:
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
  DWORD Count10
+
  DWORD Count
 
   FLOAT
 
   FLOAT
 
  BYTE
 
  BYTE
Line 206: Line 221:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
  DWORD Count11
+
  DWORD Count
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
  DWORD
+
  FLOAT
BYTE[16]
+
  DWORD Count
  DWORD Count12
+
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
  BYTE
+
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT
 +
   
 +
if(Version >= 2)
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
DWORD Count
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
 +
if(Version >=3)BYTE
 +
if(Version >=4)FLOAT
  
  
Line 222: Line 251:
 
This type takes an existing effect and modifies it
 
This type takes an existing effect and modifies it
 
=====Format=====
 
=====Format=====
  BYTE[6]
+
  DWORD
  WORD
+
  DWORD
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 246: Line 275:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT  
 
  FLOAT  
  DWORD Count1
+
  DWORD Count
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  DWORD
 
  DWORD
  DWORD Count2
+
  DWORD Count
 
  FLOAT
 
  FLOAT
  FLOAT
+
  FLOAT  
  DWORD
+
  DWORD Count
BYTE[4]
+
FLOAT
  DWORD
+
  DWORD Count
BYTE[4]
+
FLOAT
  DWORD Count3
+
  DWORD Count
 
  FLOAT
 
  FLOAT
  BYTE[24]
+
  FLOAT
  DWORD Count4
+
FLOAT
 +
FLOAT
 +
FLOAT
 +
FLOAT
 +
FLOAT
 +
  DWORD Count
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
  BYTE[8]
+
  FLOAT //Little Endian
  DWORD Count5
+
  FLOAT //Little Endian
  BYTE[3]
+
FLOAT //Little Endian
FLOAT
+
  DWORD Count
FLOAT
+
FLOAT
+
BYTE[9]
+
  DWORD Count6
+
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
Line 277: Line 307:
 
  ZSTRING Death Effect //See [[#Effect_Handles|Effect Handles]] below
 
  ZSTRING Death Effect //See [[#Effect_Handles|Effect Handles]] below
 
  BYTE
 
  BYTE
  BYTE[8]
+
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
  BYTE[20]
+
  FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
 
  FLOAT
 
  FLOAT
BYTE[12]
 
 
  FLOAT
 
  FLOAT
  BYTE[8]
+
  FLOAT
 +
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
 +
FLOAT
 +
FLOAT
 +
DWORD Count
 +
DWORD Count
 +
FLOAT
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 
  BYTE[4] //00FF00FF
 
  BYTE[4] //00FF00FF
  BYTE[8]
+
  DWORD Count
  DWORD Count7
+
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
DWORD Count
 +
FLOAT
 +
  DWORD Count
 
  DWORD
 
  DWORD
  BYTE[30]
+
QWORD
 +
FLOAT
 +
FLOAT
 +
FLOAT
 +
FLOAT
 +
  BYTE[4]
 +
ZSTRING
 +
ZSTRING
 
  DWORD Count
 
  DWORD Count
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 294: Line 355:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT
 
  FLOAT
  BYTE[16]
+
  FLOAT
 +
FLOAT
 +
FLOAT
 +
FLOAT
 +
 
 
  FLOAT //-1000000000.0
 
  FLOAT //-1000000000.0
 
  FLOAT // 0.0
 
  FLOAT // 0.0
 
  FLOAT //-10000.0 Little Endian
 
  FLOAT //-10000.0 Little Endian
 
  FLOAT // 10000.0 Little Endian  
 
  FLOAT // 10000.0 Little Endian  
  BYTE[24] //FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+
  QWORD //0xFFFFFFFFFFFFFFFF
 +
QWORD //0xFFFFFFFFFFFFFFFF
 +
QWORD //0xFFFFFFFFFFFFFFFF
 +
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 307: Line 375:
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
  DWORD Count8
+
  DWORD Count
 
  FLOAT
 
  FLOAT
 
  BYTE
 
  BYTE
 +
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 317: Line 386:
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
 +
DWORD Count
 +
FLOAT
 
  BYTE
 
  BYTE
  DWORD Count9
+
   
BYTE[8]
+
FLOAT //Little Endian
FLOAT //Little Endian
+
FLOAT //Little Endian
  FLOAT //Little Endian
+
FLOAT //Little Endian
DWORD Count
+
  FLOAT
+
 
  FLOAT
 
  FLOAT
 
  FLOAT
 
  FLOAT
  DWORD Count10
+
FLOAT
 +
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
FLOAT //Little Endian
 +
 +
  DWORD Count
 +
FLOAT
 +
FLOAT
 +
FLOAT
 +
DWORD Count
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
Line 334: Line 414:
 
  FLOAT //Little Endian
 
  FLOAT //Little Endian
 
  FLOAT timecode
 
  FLOAT timecode
  BYTE[4]
+
  FLOAT
  
 
====Decal Effect====
 
====Decal Effect====
Line 450: Line 530:
 
  BYTE[21]
 
  BYTE[21]
 
  BYTE[3]
 
  BYTE[3]
 
+
====Game Effect====
 
+
====P10Block====
+
No examples to decode
+
 
+
====P11Block====
+
 
No examples to decode
 
No examples to decode
  
====P12Block====
+
====FastParticle Effect====
 
No examples to decode
 
No examples to decode
  
Line 489: Line 564:
 
  BYTE[8] //FFFFFFFFFFFFFFFF
 
  BYTE[8] //FFFFFFFFFFFFFFFF
 
  BYTE[5]  
 
  BYTE[5]  
====P14Block====
+
====Ribbon Effect====
 
No examples to decode
 
No examples to decode
  
===Shader Effects===
+
===Materials===
 
====Overview====
 
====Overview====
 
References shaders from "Shaders_Win32.precomp", making them available to the particle effects in the previous section and overriding some parameters.
 
References shaders from "Shaders_Win32.precomp", making them available to the particle effects in the previous section and overriding some parameters.

Revision as of 05:38, 22 July 2010

Modding Reference by Category

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

Effect Resource Tree - SWB
TypeID:0xEA5118B0
Game Version:The Sims 3



Contents

Overview

Defines special effects.

Format

All data is in Big Endian order unless otherwise noted(most floats). This spec is very primitive and needs work.

WORD	Version
Effect Block Section 		
Material Section 				
Effect Compilation Section
Effect Handle Section

Effect Blocks

Format

--Repeat until BlockType 0xFFFF
	// Block List
	WORD	BlockType
	WORD	BlockVersion
	DWORD	BlockCount
	--BlockCount times
		--Insert block data(depending on type)

Blocks

BlockType
0x0001 Particle Effect
0x0002 Metaparticle Effect
0x0003 Decal Effect
0x0004 Effect Sequence
0x0005 Sound Effect
0x0006 Shake Effect
0x0007 Camera Effect
0x0008 Model Effect
0x0009 Screen Effect
0x000A Unused
0x000B Game Effect
0x000C Fast Particle Effect
0x000D Distribute Effect
0x000E Ribbon Effect

Particle Effect

Format
DWORD //Flags?
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT 

DWORD Count
	FLOAT //Angle?
FLOAT
WORD
FLOAT
//Scale Delta
DWORD Count 
	FLOAT 
FLOAT
DWORD Count
	FLOAT
FLOAT
FLOAT
FLOAT
DWORD Count
	FLOAT
DWORD Count
	FLOAT
FLOAT 
//Particle Color Delta
DWORD Count	
	FLOAT Red //Little Endian
 	FLOAT Green //Little Endian
	FLOAT Blue //Little Endian

FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian

//Resource reference block
QWORD //I64 of a an image(DDS), model(VPXY), or shader(see Shader Section below)
BYTE
BYTE flag
if((flag &0x80==0x80)) DWORD
BYTE
BYTE
WORD
FLOAT
QWORD //0xFFFFFFFFFFFFFFFF

BYTE
BYTE
BYTE
BYTE
BYTE
FLOAT
BYTE
BYTE
BYTE
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT 
FLOAT 
FLOAT 
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
DWORD Count
	FLOAT
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
BYTE[4] // 00FF00FF
DWORD Count
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
DWORD Count
	FLOAT
DWORD Count
	DWORD
	QWORD
	FLOAT
	FLOAT
	FLOAT
	FLOAT
	BYTE[4]
	ZSTRING
	ZSTRING
	DWORD Count
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT

FLOAT //-1000000000.0
FLOAT // 0.0
FLOAT //-10000.0 Little Endian
FLOAT // 10000.0 Little Endian 
QWORD //0xFFFFFFFFFFFFFFFF
QWORD //0xFFFFFFFFFFFFFFFF
QWORD //0xFFFFFFFFFFFFFFFF

FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
DWORD Count
 	FLOAT
BYTE
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
DWORD Count
	FLOAT
FLOAT
FLOAT
DWORD Count
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT

if(Version >= 2)
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
DWORD Count	
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian

if(Version >=3)BYTE
if(Version >=4)FLOAT


Metaparticle Effect

Overview

This type takes an existing effect and modifies it

Format
DWORD
DWORD
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT 
DWORD Count
	FLOAT
FLOAT
DWORD
DWORD Count
	FLOAT
FLOAT 
DWORD Count
	FLOAT 
DWORD Count
	FLOAT 
DWORD Count
	FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
DWORD Count
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
DWORD Count
	FLOAT
FLOAT
ZSTRING Base Effect //See Effect Handles below
ZSTRING Death Effect //See Effect Handles below
BYTE
FLOAT //Little Endian 
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian

FLOAT
FLOAT
FLOAT

FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian

FLOAT
FLOAT
DWORD Count
	DWORD Count
		FLOAT
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
BYTE[4] //00FF00FF
DWORD Count
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
DWORD Count
	FLOAT
DWORD Count
	DWORD
	QWORD
	FLOAT
	FLOAT
	FLOAT
	FLOAT
	BYTE[4]
	ZSTRING
	ZSTRING
	DWORD Count
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
 
FLOAT //-1000000000.0
FLOAT // 0.0
FLOAT //-10000.0 Little Endian
FLOAT // 10000.0 Little Endian 
QWORD //0xFFFFFFFFFFFFFFFF
QWORD //0xFFFFFFFFFFFFFFFF
QWORD //0xFFFFFFFFFFFFFFFF

FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
DWORD Count
	FLOAT
BYTE

FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
DWORD Count
	FLOAT
BYTE

FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian

FLOAT
FLOAT
FLOAT

FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian

DWORD Count
	FLOAT
FLOAT
FLOAT
DWORD Count
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT timecode
FLOAT

Decal Effect

Overview

This is mostly used for things like the build tool UI tools(i.e. the terrain tool circle).

Format
BYTE[4]
QWORD //I64 of a DDS Resource
BYTE[6]
FLOAT
DWORD Count1
	FLOAT
DWORD Count2 
	FLOAT
DWORD Count3 
	FLOAT
//Color Deltas
DWORD Count4
	FLOAT Red //Little Endian
	FLOAT Green //Little Endian
	FLOAT Blue //Little Endian
DWORD Count5
	FLOAT
	FLOAT
	FLOAT
BYTE[4]
FLOAT
BYTE[8]
BYTE[8] //FFFFFFFFFFFFFFFF
BYTE

Effect Sequence

Overivew

Combines effect compilations so they play out sequentially

Format
DWORD Count1 
	FLOAT //Little Endian
	FLOAT //Little Endian
	ZSTRING Effect Name //See Effect Handles below
DWORD


Sound Effect

Overview

Plays a sound

Format
DWORD
QWORD //I64 of an Audio Tuner
FLOAT
FLOAT
FLOAT

Shake Effect

Format
FLOAT
FLOAT
DWORD Count1
	FLOAT
DWORD Count2
	FLOAT
FLOAT
BYTE
FLOAT

Camera Effect

Format
DWORD
WORD
FLOAT
DWORD Count1
	FLOAT
DWORD Count2
	FLOAT
DWORD Count3
	FLOAT
DWORD Count4
	FLOAT
BYTE[17]
DWORD
BYTE

Model Effect

Format
BYTE[12]
FLOAT
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
BYTE[4]
BYTE[8] //FFFFFFFFFFFFFFFF
BYTE

Screen Effect

Format
BYTE type
DWORD
DWORD Count1	 
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
DWORD Count2
	FLOAT
	FLOAT
	FLOAT
if(type == 0) BYTE[4] else BYTE[12]
BYTE[8]
BYTE[21]
BYTE[3]

Game Effect

No examples to decode

FastParticle Effect

No examples to decode

Distribution Effect

Overview

Note: there is only one of these

Format
DWORD
DWORD
ZSTRING
BYTE[5]
FLOAT
BYTE[2]
FLOAT
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
BYTE[84]
BYTE[24] //FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FLOAT //Little Endian
FLOAT //Little Endian
BYTE[8] //FFFFFFFFFFFFFFFF
BYTE[14]
BYTE[8] //FFFFFFFFFFFFFFFF
BYTE[5] 

Ribbon Effect

No examples to decode

Materials

Overview

References shaders from "Shaders_Win32.precomp", making them available to the particle effects in the previous section and overriding some parameters.

Format

BYTE[6]
DWORD
WORD
DWORD Count
	QWORD Shader Id?
	QWORD Effect Type
	DWORD Count1
		QWORD //Property ID
		BYTE dataType
		switch(dataType)
			case 06: QWORD // DDS Instance Id
			case 00: FLOAT // Little Endian

Effect Types

ID Name
0x8FAB3764 Fluid Effect
0x4968A478 Sim Censor

Properties

FNV32 Hashed property names from "Shaders_Win32.precomp"

ID Name
0x6CC0FD85 Diffuse Map
0x6E56548A Normal Map
0x8C27D8C9 Edge Darkening
0xC3C472A1 Refraction Distortion Scale
0x6A203374 Clip Alpha Opacity
0x556010DC Alpha Cutoff
0xF2FCAD8C Specular Scale
0xF43D2BDC Multiply Value
0x3965ECE0 Additive Value

Effect Compilations

Overview

This section combines multiple effects from the previous sections. The same effects are often used more than once here but with different offsets and parameters.

Format

BYTE[4]
DWORD EffectCount
--Repeat EffectCount
	// Effect Block Table
	DWORD
	BYTE[8]
	FLOAT
	FLOAT
	BYTE[5]
	DWORD Count1
	FLOAT[Count1] //LOD Ranges
	BYTE[16]
	DWORD BlockIndexCount
	--repeat BlockIndexCount
		BYTE BlockType
		BYTE[6]
		FLOAT
		FLOAT[12] Transformation Matrix //Little Endian
		BYTE MinLOD //index to LOD Ranges
		BYTE MaxLOD //index to LOD Ranges
		DWORD Count
		--repeat Count
			FLOAT
			FLOAT
			FLOAT
		FLOAT[6] // always 1.0
		BYTE[12]
		FLOAT
		DWORD BlockIndex
		BYTE
		BYTE

Effect Handles

Overview

This is the root of an effect tree. Effects are called via scripts and clip events by the name provided in this section, which links to the other parts.

Format

--Repeat until index 0xFFFFFFFF
	DWORD CompilationIndex //see previous section
	ZSTRING EffectName
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