Sims 3:0xEA5118B0

From SimsWiki
Revision as of 13:01, 31 January 2010 by Dd764ta (Talk | contribs)

Jump to: navigation, search

Tutorials:TS3 Advanced Coding Tutorials


Contents

Overview

Defines special effects.

Format

Data is in Big Endian order unless otherwise noted. This spec is very primitive and needs work.

WORD	Version
//BlockSections
--Repeat until BlockType 0xFFFF
	// Block List
	WORD	BlockType
	WORD	BlockVersion
	DWORD	BlockCount
	--BlockCount times
		--Insert block data(depending on type)
		
// Fluid Effects
BYTE[6]
DWORD
WORD
DWORD Count
	QWORD
	QWORD
	DWORD Count1
		QWORD //Hashed property name?
		BYTE dataType
		switch(dataType)
			case 06: QWORD // DDS Instance Id
			case 00: FLOAT // Little Endian
				
// Main Effect Section
BYTE[4]
DWORD EffectCount
--Repeat EffectCount
	// Effect Block Table
	DWORD
	BYTE[21]
	DWORD Count1
	FLOAT[Count1]
	BYTE[16]
	DWORD BlockIndexCount
	--repeat BlockIndexCount
		BYTE BlockType
		BYTE[6]
		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
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
		BYTE
		BYTE
		DWORD Count
		--repeat Count
			FLOAT
			FLOAT
			FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		DWORD BlockIndex
		BYTE
		BYTE
		
--RepeatEffectCount
	// Effect Index
	DWORD BlockTableIndex
	ZSTRING EffectName
			

P1Block

	
BYTE
BYTE
BYTE
BYTE
FLOAT DurationMin //Little Endian
FLOAT DurationMax //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 Count1
	FLOAT
FLOAT
WORD
FLOAT
DWORD Count2
	FLOAT
FLOAT
DWORD Count3
	FLOAT
FLOAT
FLOAT
BYTE[4]
DWORD Count4
	FLOAT
DWORD Count5
	FLOAT
FLOAT
DWORD Count6
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
QWORD //I64 of a DDS resource
BYTE[10]
FLOAT
BYTE[8] // FFFFFFFFFFFFFFFF
BYTE
WORD
BYTE
BYTE
FLOAT
BYTE
BYTE
BYTE
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
DWORD Count7
	FLOAT
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
BYTE[4] // 00FF00FF
BYTE[4]
DWORD Count8
	FLOAT
DWORD Count9
	DWORD
	QWORD
	FLOAT
	FLOAT
	FLOAT
	FLOAT
	BYTE[4]
	ZSTRING
	ZSTRING
	DWORD Count
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
FLOAT
BYTE[16]
FLOAT
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
BYTE[24] //FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
DWORD Count10
	FLOAT
BYTE
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
DWORD Count11
	FLOAT
FLOAT
DWORD
BYTE[16]
DWORD Count12	
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian

P2Block

BYTE[6]
WORD
FLOAT DurationMin //Little Endian
FLOAT DurationMax//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 Count1
	FLOAT
FLOAT
DWORD
DWORD Count2
	FLOAT
FLOAT
DWORD
BYTE[4]
DWORD
BYTE[4]
DWORD Count3
	FLOAT
BYTE[24] 
DWORD Count4
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
BYTE[8]
DWORD Count5
	BYTE[3]
	FLOAT
	FLOAT
	FLOAT
	BYTE[9]
DWORD Count6
	FLOAT
FLOAT
ZSTRING
ZSTRING
BYTE
BYTE[8]
FLOAT //Little Endian
BYTE[20]
FLOAT
BYTE[12]
FLOAT
BYTE[8]
BYTE[4] //00FF00FF
BYTE[8]
DWORD Count7
	DWORD
	BYTE[30]
	DWORD Count
		FLOAT //Little Endian
		FLOAT //Little Endian
		FLOAT //Little Endian
FLOAT
BYTE[16]
FLOAT
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
BYTE[24] //FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
DWORD Count8
	FLOAT
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT //Little Endian
FLOAT
FLOAT
FLOAT
BYTE
DWORD Count9
	BYTE[8]
	FLOAT //Little Endian
	FLOAT //Little Endian
	DWORD Count
		FLOAT
FLOAT
FLOAT
DWORD Count10
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT timecode
BYTE[4]

P3Block

BYTE[4]
QWORD //I64 of a DDS resource
BYTE[6]
FLOAT
DWORD Count1
	FLOAT
DWORD Count2
	FLOAT
DWORD Count3
	FLOAT
DWORD Count4
	FLOAT //Little Endian
	FLOAT //Little Endian
	FLOAT //Little Endian
DWORD Count5
	FLOAT
	FLOAT
	FLOAT
BYTE[4]
FLOAT
BYTE[8]
BYTE[8] //FFFFFFFFFFFFFFFF
BYTE

P4Block

Effect Sequences

DWORD Count1
	FLOAT DurationMin //Little Endian
	FLOAT DurationMax //Little Endian
	ZSTRING Effect Name
DWORD

P5Block

DWORD
QWORD //I64 of an Audio resource
FLOAT
FLOAT
FLOAT

P6Block

FLOAT
FLOAT
DWORD Count1
	FLOAT
DWORD Count2
	FLOAT
FLOAT
BYTE
FLOAT

P7Block

Camera Effect

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

P8Block

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

P9Block

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]

P10Block

No examples to decode

P11Block

No examples to decode

P12Block

No examples to decode

P13Block

Only 1 example

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]

P14Block

No examples to decode



Tutorials:TS3 Advanced Coding Tutorials

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox