Sims 3:0x02D5DF13
From SimsWiki
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'