This page is located on the SimsWiki. To view it in it's original form, click here.
This article is imported from the old MTS2 wiki. You can help Sims2Wiki by cleaning it up. It's original page with comments can be found at http://old_wiki.modthesims2.com/EFFDIR
FX Effect Resource Tree (Simcity4 version)
Red text is updated from previous version
Function Notes are in Blue Text

''' Vanilla is 3.1, Rush Hour is 4.2
WORD - Major Version EFDIR 
WORD - Minor Version EFDIR 

'''Start Section #1 - Main Section - Terrain Independent FSHs and S3Ds'''
DWORD (Number of Entries)
	DWORD
	DWORD (0x00000000) <<<---Constant
	DWORD
	DWORD <<<---Effect Duration Minimum
	DWORD <<<---Effect Duration Maximum
	DWORD <<<---Number Released At High Detail
	DWORD <<<---Repeat flag (=0 runs continuously, >0 runs once)
	DWORD
	DWORD
	DWORD
	DWORD <<<---Time Delay Minimum
	DWORD <<<---Time Delay Maximum
	DWORD <<<---X-Axis Push Minimum
	DWORD <<<---Z-Axis Push Minimum
	DWORD <<<---Y-Axis Push Minimum
	DWORD <<<---X-Axis Push Maximum
	DWORD <<<---Z-Axis Push Maximum
	DWORD <<<---Y-Axis Push Maximum
	DWORD <<<---Initial Velocity Minimum
	DWORD <<<---Initial Velocity Maximum
	DWORD <<<---Initial X-Axis Shift Minimum
	DWORD <<<---Initial Z-Axis Shift Minimum
	DWORD <<<---Initial Y-Axis Shift Minimum
	DWORD <<<---Initial X-Axis Shift Maximum
	DWORD <<<---Initial Z-Axis Shift Maximum
	DWORD <<<---Initial Y-Axis Shift Maximum
	DWORD <<<---Initial Size Variation %
	DWORD <<<---Initial X-Axis Stretch Max
	DWORD <<<---Initial Spin Variation Max
	DWORD
	DWORD <<<---Initial Alpha Variation Max
	DWORD <<<---Initial Color Variation % (Red)
	DWORD <<<---Initial Color Variation % (Green)
	DWORD <<<---Initial Color Variation % (Blue)
	DWORD (Number of reps)
		DWORD reps
	DWORD (Number of reps) <<<---Color Adjustments Over Time (Percentage of red, green, and blue)
		12-Byte reps <<<---Float32(1st DWORD=Red, 2nd DWORD=Green, 3rd DWORD=Blue)
	DWORD (Number of reps) <<<---Brightness Adjustments Over Time (Percentage)
		DWORD reps <<<---Float32
	DWORD (Number of reps) <<<---Size Over Time (Percentage)
		DWORD reps <<<---Float32
	DWORD (Number of reps) <<<---X-Axis Shrink/Stretch Over Time (Percentage)
		DWORD reps <<<---Float32
	DWORD (Number of reps) <<<---Spin Over Time (Might Be Rotation Speed Spread[Randomized])
		DWORD reps
	DWORD (Resource Key) 
	2 Bytes
	DWORD
	DWORD <<<---Direction of Travel Blur (0=none,<>0 decreasing amounts of blur)
	DWORD <<<---X-Axis Force (Wind)
	DWORD <<<---Z-Axis Force (Lift/Gravity)
	DWORD <<<---Y-Axis Force (Wind)
	DWORD <<<---Carry
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD 
	DWORD <<<---Spiral Travel Pattern Maximum
	DWORD (Number of reps)
		28-byte reps
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD (Number of reps)
		DWORD reps
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD (usually 0xce6e6b28=-1,000,000,000)
	DWORD (usually0x3f800000 or 0x00000000)
	DWORD (usually 0x3f800000=1)
	DWORD (usually 0xc61c4000=-10,000)
	DWORD (usually 0x461c4000=10,000)
	DWORD (String Length)
		String (Only if String Length > 0)
	DWORD (Usually 0x00010000)
	DWORD (Usually 0x3f800000=1)
	DWORD (usually 0x40a00000=5)
	DWORD (usually 0x40a00000=5)
	DWORD (usually 0x42480000=50)
	DWORD (usually 0x42480000=50)
	DWORD (usually 0x3dcccccc=0.1)
	DWORD (usually 0x3e4ccccd=0.2)
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD (Number of reps)
		DWORD reps
	DWORD
	DWORD
	DWORD (Number of reps) <<<---Coordinate System For Movement
		32-byte reps <<<---8xFloat32(X,Z,Y,X,Z,Y,Sequence Number, Sequence Number)
	DWORD
	DWORD (Number of sub-entries)
		DWORD (String Length)	
		String (Only if String Length > 0)
		DWORD
	DWORD
	DWORD
	DWORD (Number of reps) <<<---List of Resource Keys (Used to place random S3Ds)
		DWORD reps <<<---Uint32
	DWORD
	DWORD
	DWORD (Number of reps)
		DWORD reps
	DWORD (0x40800000) -- End of entry
0x0001 - End of Section


'''Start Section #2 - Terrain Dependent FSHs'''
DWORD (Number of Entries)
	DWORD
	DWORD (Resource Key)
	1 Byte <<<---Inverse Flag: 00=Normal, 01=No Inverse (i.e. hidden by obstructions), 03=Inverse (Viewed when behind obstruction)
	1 Byte <<<---Repeat Flag:  01=Repeat Continuously, 02=Run Once-Then Disappear, 03+=Run Once-Then Hold
	DWORD <<<---Effect Speed (Higher numbers run slower)
	DWORD (Number of reps) <<<---Rotation Over Time
		DWORD reps <<<---Float32
	DWORD (Number of reps) <<<---Size Adjustments Over Time (Percentage)
		DWORD reps <<<---Float32
	DWORD (Number of reps) <<<---Alpha Adjustments Over Time (Percentage)
		DWORD reps <<<---Float32
	DWORD (Number of reps) <<<---Color Adjustments Over Time (Percentage of red, green, and blue)
		12-byte reps <<<---Float32(1st DWORD=Red, 2nd DWORD=Green, 3rd DWORD=Blue)
	DWORD (Number of reps) <<<---Always 0x00000001
		DWORD reps <<<---Y-Axis Stretch Adjustments Over Time
	DWORD <<<---Initial Intensity Variation
	DWORD <<<---Initial Size Variation
	DWORD
	DWORD
	DWORD
	DWORD
0x0000 - End of section


'''Start Section #3'''
DWORD (Number of Entries)
	DWORD
	DWORD
	DWORD (Number of reps)
		DWORD reps
	DWORD (Number of reps)
		DWORD reps
	5 bytes
0x0000 End of Section


'''Start Section #4 - Terrain Effects? (craters and erosion)'''
DWORD (Number of Entries)
	DWORD (Number of reps)
		12-byte reps
	DWORD (Number of reps)
		DWORD reps
	DWORD



'''Start Section #5 - Brush (Cursor) Exemplars'''
DWORD (Number of entries)
	Two bytes
	DWORD (Resource Key)
	DWORD
	DWORD
	5 Bytes
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD


'''Start Section #6 - LUA Occupant Groups, Generators, and Attractors'''
DWORD (Number of Entries)
	Two bytes <<<---Always 0x0000
	DWORD (Length of string)
		String <<<---Points to an entry in the LUA files
	1 byte <<<---Type ID: 00=Attractor or Generator, 01=Occupant_group


'''Start Section #7 -- Earthquakes(Destructive)?+'''
DWORD (Number of Entries)
	22 Bytes
	DWORD
	4 Bytes
	DWORD
	8 Bytes
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	8 Bytes


'''Start Section #8 -- Randomized Picks'''
DWORD (Number of Entries)
	Two bytes
	DWORD (Number of sub-entries)
		DWORD
		DWORD
		DWORD (String Length)
			String <<<---Used to Redirect to Another Entry in Section #13
	DWORD




'''Start Section #9 - Sounds'''
DWORD (Number of Entries)
	6 Bytes <<<---Always 0x000000000000
	DWORD (Resource Key)
	DWORD 
	DWORD <<<---Always 0x00000000


'''Begin Section #10''' - Effective Radius? (meteor_shadow_water''', tornado_scuff_terrain, ufo_ma_topbluering''')
DWORD (Number of entries)
	DWORD
	DWORD
	DWORD
0X0001 - END OF SECTION



'''Start section #11 - UDI Collisions?
DWORD (number of entries)
	DWORD
	DWORD (String Length)
		String (Only if String Length > 0)
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
	DWORD
0x0002 (End of section)



'''Start section #12 - Main Script Index'''
DWORD (Number of Entries)
	DWORD
	DWORD (0x01, 0x03, or 0x05 only)
	DWORD (Number of Primary Indices)
		DWORD (String Length)
			String (Only if String Length > 0)
		Byte (Index Flag) <<<---Indicates which section the Index Key belongs to (See notes below)
		DWORD
		DWORD
		8 Bytes
		DWORD
		DWORD
		DWORD
		DWORD
		DWORD
		DWORD
		DWORD <<<---X-Axis Shift (Float32)
		DWORD <<<---Z-Axis Shift (Float32)
		DWORD <<<---Y-Axis Shift (Float32)
		DWORD
		10 Bytes
		DWORD
		DWORD
		DWORD
		DWORD
		2 Bytes (Random) <<<---0x0000=Always Appears, Non-Zero=Randomized chance (Can be set into groups with this number)
		2 Bytes (Random Chance) <<<---% Chance that effect will appear
		DWORD (Index Key) <<<---Points to entry in appropriate section
	DWORD (Number of Secondary Indices) <<<---Screen Shake Indices??
		DWORD
		DWORD (String Length) 
			String (Only if String Length > 0)
		DWORD
		DWORD (Index Key)
	DWORD (0x00000000)
	DWORD (0x00000000)
	2 DWORDs (0xCCCCCCCC or 0x00000000 each)



'''Start Section #13 - Main Effect Directory'''
	DWORD (String Length)
		String
	DWORD (Index Key) <<<---Points to entry in section #12
2 Bytes - End of Section

'''13.5 area'''
BYTE
DWORD
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT

'''Start Section #14 - Tools FX Linking?''' (Relates to Sections 3 and 5 only)
DWORD (Number of entries)
	DWORD (String Length)
		String <<<---Points to an entry in section #13
	DWORD (Group Property) <<<---Call from exe or exemplar
	DWORD (Instance Property) <<<---Call from exe or exemplar
0x0000 End of section


'''Start Final Section #15 - Class ID Calls'''
DWORD (Number of Entries)
	DWORD (ClassID) <<<---Class ID Call (from EXE most probably)
	DWORD (String Length)
		String <<<---Points to an entry in section #13



''Index Flags:\\
0x00 - Section #1
0x01 - Section #2
0x02 - Redirection - String Points to an entry in section #13
0x03 - Section #4
0x04 - Section #6
0x05 - Section #7
0x06 - Section #8
0x07 - Section #9
0x08 - Section #10
0x10 - Section #11