Difference between revisions of "Sims 3:0x02D5DF13"
From SimsWiki
Line 8: | Line 8: | ||
DWORD S_SM | DWORD S_SM | ||
DWORD Name //hashed filename(basename without .jazz extension) | DWORD Name //hashed filename(basename without .jazz extension) | ||
− | DWORD count1 | + | DWORD count1 // Actor definitions |
--repeat | --repeat | ||
DWORD S_AD index | DWORD S_AD index | ||
− | DWORD count2 | + | DWORD count2 // Property definitions |
--repeat | --repeat | ||
DWORD S_PD index | DWORD S_PD index | ||
− | DWORD count3 | + | DWORD count3 // States |
--repeat | --repeat | ||
DWORD S_St index | DWORD S_St index | ||
Line 20: | Line 20: | ||
--repeat | --repeat | ||
DWORD //grouping? | DWORD //grouping? | ||
− | DWORD // | + | DWORD //actor name |
− | DWORD // | + | DWORD //actor name |
DWORD 0xDEADBEEF | DWORD 0xDEADBEEF | ||
− | DWORD | + | DWORD // State machine properties |
DWORD | DWORD | ||
DWORD | DWORD | ||
Line 36: | Line 36: | ||
DWORD S_St | DWORD S_St | ||
DWORD version | DWORD version | ||
− | DWORD // | + | DWORD // Hashed state name |
− | + | DWORD // State properties | |
− | + | DWORD S_DG index // State decision graph | |
− | DWORD count | + | DWORD count // State transitions |
--repeat(count) | --repeat(count) | ||
DWORD S_St index | DWORD S_St index | ||
Line 49: | Line 49: | ||
DWORD S_PD | DWORD S_PD | ||
DWORD version | DWORD version | ||
− | DWORD hash | + | DWORD hash // Hashed parameter name |
− | DWORD hash | + | DWORD hash // Default value |
</pre> | </pre> | ||
===S_DG=== | ===S_DG=== | ||
Line 71: | Line 71: | ||
DWORD - S_AD | DWORD - S_AD | ||
DWORD version | DWORD version | ||
− | DWORD //hashed | + | DWORD //hashed actor parameter name |
− | DWORD | + | DWORD //default null value? (Following S_PD format) |
</pre> | </pre> | ||
===SoPn=== | ===SoPn=== | ||
Line 79: | Line 79: | ||
DWORD 'SoPn' | DWORD 'SoPn' | ||
DWORD version | DWORD version | ||
− | DWORD index | + | DWORD index // Parameter to select on |
− | DWORD count | + | DWORD count // Possible cases to select |
--repetition | --repetition | ||
− | DWORD //hash | + | DWORD //hash value to check |
DWORD indexcount | DWORD indexcount | ||
− | index[indexcount] | + | index[indexcount] // Action to take on match |
4BYTE filler(DEADBEEF) | 4BYTE filler(DEADBEEF) | ||
− | DWORD | + | DWORD "/DGN" |
</pre> | </pre> | ||
===SNSN=== | ===SNSN=== | ||
Line 93: | Line 93: | ||
DWORD - SNSN | DWORD - SNSN | ||
DWORD version | DWORD version | ||
− | DWORD index | + | DWORD S_St index // Next state |
DWORD /DGN (end entry) | DWORD /DGN (end entry) | ||
</pre> | </pre> | ||
Line 101: | Line 101: | ||
DWORD Rand | DWORD Rand | ||
DWORD version | DWORD version | ||
− | DWORD count | + | DWORD count // Possible outcomes |
--Reps (Count times) | --Reps (Count times) | ||
− | FLOAT | + | FLOAT // Random weight |
DWORD subcount | DWORD subcount | ||
--Reps (subcount times) | --Reps (subcount times) | ||
− | DWORD index | + | DWORD index // Action on selection |
DWORD - DEADBEEF | DWORD - DEADBEEF | ||
− | DWORD | + | DWORD flags // Random node flags |
− | + | ||
− | + | ||
DWORD /DGN | DWORD /DGN | ||
</pre> | </pre> | ||
Line 139: | Line 137: | ||
DWORD | DWORD | ||
DWORD len | DWORD len | ||
− | STRING char16[len] | + | STRING char16[len] // Padded to DWORD boundry |
if (len > 0){BYTE[4-((2*len)%4)]} '00' | if (len > 0){BYTE[4-((2*len)%4)]} '00' | ||
DWORD | DWORD | ||
4byte filler(DEADBEEF) | 4byte filler(DEADBEEF) | ||
DWORD | DWORD | ||
− | DWORD | + | DWORD flags // Animation node flags |
DWORD | DWORD | ||
FLOAT | FLOAT | ||
Line 150: | Line 148: | ||
FLOAT | FLOAT | ||
FLOAT | FLOAT | ||
− | DWORD S_AD Index | + | DWORD S_AD Index // Actor to animate |
− | DWORD | + | DWORD flags // Animation node flags |
DWORD | DWORD | ||
DWORD | DWORD | ||
Line 185: | Line 183: | ||
DWORD AcOp | DWORD AcOp | ||
DWORD version | DWORD version | ||
− | DWORD index | + | DWORD index // Actor to operate on |
− | DWORD (0x01) | + | DWORD (0x01) // Count? |
− | DWORD | + | DWORD op // Actor operation |
12 BYTES blank? | 12 BYTES blank? | ||
DWORD count | DWORD count | ||
--Rep (count times) | --Rep (count times) | ||
− | DWORD index | + | DWORD index // Linked action |
DWORD /DGN | DWORD /DGN | ||
</pre> | </pre> | ||
Line 199: | Line 197: | ||
DWORD 'Stop' | DWORD 'Stop' | ||
DWORD version | DWORD version | ||
− | |||
DWORD | DWORD | ||
DWORD | DWORD | ||
DWORD | DWORD | ||
+ | FLOAT | ||
FLOAT | FLOAT | ||
DWORD | DWORD | ||
FLOAT | FLOAT | ||
− | DWORD S_AD index | + | DWORD S_AD index // Actor to stop animating |
− | DWORD | + | DWORD flags // Animation node flags |
DWORD | DWORD | ||
DWORD | DWORD |
Revision as of 12:34, 17 July 2009
Contents |
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 Name //hashed filename(basename without .jazz 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 //grouping? DWORD //actor name DWORD //actor name DWORD 0xDEADBEEF DWORD // State machine properties DWORD DWORD DWORD DWORD DWORD DWORD
S_St
State definition
DWORD S_St DWORD version DWORD // Hashed state name DWORD // State properties DWORD S_DG index // State decision graph DWORD count // State transitions --repeat(count) DWORD S_St index DWORD
S_PD
Parameter definition
DWORD S_PD DWORD version DWORD hash // Hashed parameter name DWORD hash // Default value
S_DG
Decision graph
DWORD - S_DG DWORD version DWORD blank (SO FAR!) DWORD count1 --Reps (Count1) DWORD index DWORD count2 --Reps (Count2) DWORD index 4 BYTES (DEADBEEF filler)
S_AD
Actor definition
DWORD - S_AD DWORD version DWORD //hashed actor parameter name DWORD //default null value? (Following S_PD format)
SoPn
Select on Parameter node
DWORD 'SoPn' DWORD version DWORD index // Parameter to select on DWORD count // Possible cases to select --repetition DWORD //hash value to check DWORD indexcount index[indexcount] // Action to take on match 4BYTE filler(DEADBEEF) DWORD "/DGN"
SNSN
Next State Node
DWORD - SNSN DWORD version DWORD S_St index // Next state DWORD /DGN (end entry)
Rand
Random node
DWORD Rand DWORD version DWORD count // Possible outcomes --Reps (Count times) FLOAT // Random weight DWORD subcount --Reps (subcount times) DWORD 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 DWORD DWORD DWORD 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 flags // Animation node flags DWORD FLOAT FLOAT FLOAT FLOAT DWORD S_AD Index // Actor to animate DWORD flags // Animation node flags DWORD DWORD DWORD DWORD DWORD DWORD 4byte filler(DEADBEEF) DWORD count3 --rep(count3) DWORD Index 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 animatio node
DWORD 'Stop' DWORD version DWORD DWORD DWORD FLOAT FLOAT DWORD FLOAT DWORD S_AD index // Actor to stop animating DWORD flags // Animation node flags DWORD DWORD DWORD DWORD DWORD DWORD DWORD 0xDEADBEEF DWORD count --repeat(count) DWORD index DWORD '/DGN'