Difference between revisions of "Sims 3:0x02D5DF13"
From SimsWiki
Line 3: | Line 3: | ||
==Format== | ==Format== | ||
Follows the [[RCOL]] format, with its own custom chunks. These chunks have a lot of filler data(0xDEADBEEF), so it will likely expand in later versions. | Follows the [[RCOL]] format, with its own custom chunks. These chunks have a lot of filler data(0xDEADBEEF), so it will likely expand in later versions. | ||
− | ===S_SM=== | + | ===S_SM State Machine Definition=== |
− | + | ||
<pre> | <pre> | ||
− | DWORD S_SM | + | DWORD 'S_SM' |
− | DWORD Name // | + | DWORD Version // 0x202 |
+ | DWORD Name // Hashed state machine name (Typically same as filename w/o path or extension) | ||
DWORD count1 // Actor definitions | DWORD count1 // Actor definitions | ||
--repeat | --repeat | ||
− | DWORD S_AD index | + | DWORD [S_AD index] |
DWORD count2 // Property definitions | DWORD count2 // Property definitions | ||
--repeat | --repeat | ||
− | DWORD S_PD index | + | DWORD [S_PD index] |
DWORD count3 // States | DWORD count3 // States | ||
--repeat | --repeat | ||
− | DWORD S_St index | + | DWORD [S_St index] |
DWORD count4 | DWORD count4 | ||
--repeat | --repeat | ||
− | DWORD // | + | DWORD //animation |
DWORD //actor name | DWORD //actor name | ||
DWORD //actor name | DWORD //actor name | ||
DWORD 0xDEADBEEF | DWORD 0xDEADBEEF | ||
− | DWORD // State machine properties | + | DWORD Properties // State machine properties |
− | DWORD | + | DWORD Priority // Automation priority |
− | DWORD | + | DWORD // Value that's 0-5<!-- SACS.ActorTypes would fit but the values don't make sense--> |
− | DWORD | + | DWORD Empty |
− | DWORD | + | DWORD Empty |
− | DWORD | + | DWORD Empty |
− | DWORD | + | DWORD Empty |
</pre> | </pre> | ||
− | ===S_St=== | + | ===S_St State Definition=== |
− | + | ||
<pre> | <pre> | ||
− | DWORD S_St | + | DWORD 'S_St' |
− | DWORD version | + | DWORD version // 0x101 |
− | DWORD // Hashed state name | + | DWORD Name // Hashed state name |
− | DWORD // | + | DWORD Priority // Automation Priority |
− | DWORD S_DG index // State decision graph | + | DWORD [S_DG index] // State decision graph |
DWORD count // State transitions | DWORD count // State transitions | ||
--repeat(count) | --repeat(count) | ||
− | DWORD S_St index | + | DWORD [S_St index] // Valid transitions out |
− | DWORD | + | DWORD // Values 0-6<!-- Could be event subtype for SACS events --> |
</pre> | </pre> | ||
− | ===S_PD=== | + | ===S_PD Parameter Definition=== |
− | + | ||
<pre> | <pre> | ||
− | DWORD S_PD | + | DWORD 'S_PD' |
− | DWORD version | + | DWORD version // 0x100 |
DWORD hash // Hashed parameter name | DWORD hash // Hashed parameter name | ||
DWORD hash // Default value | DWORD hash // Default value | ||
</pre> | </pre> | ||
− | ===S_DG=== | + | ===S_DG Decision Graph=== |
Decision graph | Decision graph | ||
<pre> | <pre> | ||
− | DWORD | + | DWORD 'S_DG' |
− | DWORD version | + | DWORD version // 0x101 |
− | DWORD blank | + | DWORD blank // In all cases in JazzData.package |
DWORD count1 | DWORD count1 | ||
--Reps (Count1) | --Reps (Count1) | ||
− | DWORD index | + | DWORD index // List of all decision graph nodes descendant from this S_DG |
DWORD count2 | DWORD count2 | ||
--Reps (Count2) | --Reps (Count2) | ||
− | DWORD index | + | DWORD index // Root of the decision graph |
4 BYTES (DEADBEEF filler) | 4 BYTES (DEADBEEF filler) | ||
</pre> | </pre> | ||
− | ===S_AD=== | + | ===S_AD Actor Definition=== |
− | + | ||
<pre> | <pre> | ||
− | DWORD | + | DWORD 'S_AD' |
− | DWORD version | + | DWORD version // 0x100 |
DWORD //hashed actor parameter name | DWORD //hashed actor parameter name | ||
− | DWORD // | + | DWORD //null in all JazzData.package cases |
</pre> | </pre> | ||
− | ===SoPn | + | ===SoPn Select on Parameter Node=== |
− | Select on Parameter | + | |
<pre> | <pre> | ||
DWORD 'SoPn' | DWORD 'SoPn' | ||
− | DWORD version | + | DWORD version // 0x101 |
DWORD index // Parameter to select on | DWORD index // Parameter to select on | ||
DWORD count // Possible cases to select | DWORD count // Possible cases to select | ||
--repetition | --repetition | ||
− | DWORD // | + | DWORD //hashed value to compare |
DWORD indexcount | DWORD indexcount | ||
index[indexcount] // Action to take on match | index[indexcount] // Action to take on match | ||
Line 88: | Line 84: | ||
DWORD "/DGN" | DWORD "/DGN" | ||
</pre> | </pre> | ||
− | ===SNSN | + | ===SNSN Next State Node=== |
− | Next State Node | + | |
<pre> | <pre> | ||
− | DWORD | + | DWORD 'SNSN' |
− | DWORD version | + | DWORD version // 0x101 |
DWORD S_St index // Next state | DWORD S_St index // Next state | ||
DWORD /DGN (end entry) | DWORD /DGN (end entry) | ||
</pre> | </pre> | ||
− | ===Rand=== | + | ===Rand Random Node=== |
− | + | ||
<pre> | <pre> | ||
− | DWORD Rand | + | DWORD 'Rand' |
− | DWORD version | + | DWORD version // 0x101 |
DWORD count // Possible outcomes | DWORD count // Possible outcomes | ||
--Reps (Count times) | --Reps (Count times) | ||
Line 106: | Line 100: | ||
DWORD subcount | DWORD subcount | ||
--Reps (subcount times) | --Reps (subcount times) | ||
− | DWORD index // Action on selection | + | DWORD [DGN index] // Action on selection |
DWORD - DEADBEEF | DWORD - DEADBEEF | ||
DWORD flags // Random node flags | DWORD flags // Random node flags | ||
DWORD /DGN | DWORD /DGN | ||
</pre> | </pre> | ||
− | ===Play=== | + | ===Play Play Animation Node=== |
− | + | ||
<pre> | <pre> | ||
DWORD 'Play' | DWORD 'Play' | ||
Line 123: | Line 116: | ||
DWORD | DWORD | ||
--rep(count1) | --rep(count1) | ||
− | DWORD | + | DWORD Empty |
− | DWORD | + | DWORD Empty |
− | DWORD | + | DWORD Actor // Hashed actor parameter name |
− | DWORD | + | DWORD Slot // Hashed slot name (Only one instance of this in jazzdata.package) |
DWORD count2 | DWORD count2 | ||
--rep(count2) | --rep(count2) | ||
− | DWORD | + | DWORD // |
DWORD | DWORD | ||
4byte filler(DEADBEEF) | 4byte filler(DEADBEEF) | ||
Line 142: | Line 135: | ||
4byte filler(DEADBEEF) | 4byte filler(DEADBEEF) | ||
DWORD | DWORD | ||
− | DWORD | + | DWORD Priority // Animation Priroity |
DWORD | DWORD | ||
FLOAT | FLOAT | ||
Line 148: | Line 141: | ||
FLOAT | FLOAT | ||
FLOAT | FLOAT | ||
− | DWORD S_AD Index // Actor to animate | + | DWORD [S_AD Index] // Actor to animate |
− | DWORD | + | DWORD Priority // Animation Priroity |
DWORD | DWORD | ||
DWORD | DWORD | ||
Line 159: | Line 152: | ||
DWORD count3 | DWORD count3 | ||
--rep(count3) | --rep(count3) | ||
− | DWORD Index | + | DWORD [DGN Index] // Additional actions (On animation complete?) |
DWORD '/DGN' | DWORD '/DGN' | ||
</pre> | </pre> | ||
− | ===Prop=== | + | ===Prop Create Prop Node=== |
− | + | ||
<pre> | <pre> | ||
− | DWORD Prop | + | DWORD 'Prop' |
DWORD version | DWORD version | ||
DWORD index | DWORD index | ||
Line 178: | Line 170: | ||
DWORD /DGN | DWORD /DGN | ||
</pre> | </pre> | ||
− | ===AcOp=== | + | ===AcOp Actor Operation Node=== |
− | + | ||
<pre> | <pre> | ||
− | DWORD AcOp | + | DWORD 'AcOp' |
DWORD version | DWORD version | ||
DWORD index // Actor to operate on | DWORD index // Actor to operate on | ||
Line 192: | Line 183: | ||
DWORD /DGN | DWORD /DGN | ||
</pre> | </pre> | ||
− | ===Stop=== | + | ===Stop Stop Animation Node=== |
− | + | ||
<pre> | <pre> | ||
DWORD 'Stop' | DWORD 'Stop' | ||
Line 205: | Line 195: | ||
FLOAT | FLOAT | ||
DWORD S_AD index // Actor to stop animating | DWORD S_AD index // Actor to stop animating | ||
− | DWORD | + | DWORD |
DWORD | DWORD | ||
DWORD | DWORD |
Revision as of 12:16, 18 July 2009
Overview
Coordinates animations(and sounds?).
Format
Follows the RCOL format, with its own custom chunks. These chunks have a lot of filler data(0xDEADBEEF), so it will likely expand in later versions.
S_SM State Machine Definition
DWORD 'S_SM' DWORD Version // 0x202 DWORD Name // Hashed state machine name (Typically same as filename w/o path or extension) DWORD count1 // Actor definitions --repeat DWORD [S_AD index] DWORD count2 // Property definitions --repeat DWORD [S_PD index] DWORD count3 // States --repeat DWORD [S_St index] DWORD count4 --repeat DWORD //animation DWORD //actor name DWORD //actor name DWORD 0xDEADBEEF DWORD Properties // State machine properties DWORD Priority // Automation priority DWORD // Value that's 0-5<!-- SACS.ActorTypes would fit but the values don't make sense--> DWORD Empty DWORD Empty DWORD Empty DWORD Empty
S_St State Definition
DWORD 'S_St' DWORD version // 0x101 DWORD Name // Hashed state name DWORD Priority // Automation Priority DWORD [S_DG index] // State decision graph DWORD count // State transitions --repeat(count) DWORD [S_St index] // Valid transitions out DWORD // Values 0-6<!-- Could be event subtype for SACS events -->
S_PD Parameter Definition
DWORD 'S_PD' DWORD version // 0x100 DWORD hash // Hashed parameter name DWORD hash // Default value
S_DG Decision Graph
Decision graph
DWORD 'S_DG' DWORD version // 0x101 DWORD blank // In all cases in JazzData.package DWORD count1 --Reps (Count1) DWORD index // List of all decision graph nodes descendant from this S_DG DWORD count2 --Reps (Count2) DWORD index // Root of the decision graph 4 BYTES (DEADBEEF filler)
S_AD Actor Definition
DWORD 'S_AD' DWORD version // 0x100 DWORD //hashed actor parameter name DWORD //null in all JazzData.package cases
SoPn Select on Parameter Node
DWORD 'SoPn' DWORD version // 0x101 DWORD index // Parameter to select on DWORD count // Possible cases to select --repetition DWORD //hashed value to compare DWORD indexcount index[indexcount] // Action to take on match 4BYTE filler(DEADBEEF) DWORD "/DGN"
SNSN Next State Node
DWORD 'SNSN' DWORD version // 0x101 DWORD S_St index // Next state DWORD /DGN (end entry)
Rand Random Node
DWORD 'Rand' DWORD version // 0x101 DWORD count // Possible outcomes --Reps (Count times) FLOAT // Random weight DWORD subcount --Reps (subcount times) DWORD [DGN index] // Action on selection DWORD - DEADBEEF DWORD flags // Random node flags DWORD /DGN
Play Play Animation Node
DWORD 'Play' DWORD version TGI64 (CLIP) TGI64 (TkMk) DWORD count1 DWORD DWORD DWORD --rep(count1) DWORD Empty DWORD Empty DWORD Actor // Hashed actor parameter name DWORD Slot // Hashed slot name (Only one instance of this in jazzdata.package) DWORD count2 --rep(count2) DWORD // DWORD 4byte filler(DEADBEEF) DWORD DWORD DWORD DWORD DWORD len STRING char16[len] // Padded to DWORD boundry if (len > 0){BYTE[4-((2*len)%4)]} '00' DWORD 4byte filler(DEADBEEF) DWORD DWORD Priority // Animation Priroity DWORD FLOAT FLOAT FLOAT FLOAT DWORD [S_AD Index] // Actor to animate DWORD Priority // Animation Priroity DWORD DWORD DWORD DWORD DWORD DWORD 4byte filler(DEADBEEF) DWORD count3 --rep(count3) DWORD [DGN Index] // Additional actions (On animation complete?) DWORD '/DGN'
Prop Create Prop Node
DWORD 'Prop' DWORD version DWORD index 4 BYTES blank? 4 BYTES 4 BYTES blank? 4 BYTES 20 BYTES blank? DWORD count --Rep (count times) DWORD index DWORD /DGN
AcOp Actor Operation Node
DWORD 'AcOp' DWORD version DWORD index // Actor to operate on DWORD (0x01) // Count? DWORD op // Actor operation 12 BYTES blank? DWORD count --Rep (count times) DWORD index // Linked action DWORD /DGN
Stop Stop Animation Node
DWORD 'Stop' DWORD version DWORD DWORD DWORD FLOAT FLOAT DWORD FLOAT DWORD S_AD index // Actor to stop animating DWORD DWORD DWORD DWORD DWORD DWORD DWORD DWORD 0xDEADBEEF DWORD count --repeat(count) DWORD index DWORD '/DGN'