Difference between revisions of "Sims 3:0x02D5DF13"

From SimsWiki
Jump to: navigation, search
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 //hashed object name
+
   DWORD //actor name
   DWORD //hashed object name
+
   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 //hashed interaction name
+
DWORD // Hashed state name
4 BYTES
+
DWORD // State properties
4 BYTES S_DG index
+
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 object name
+
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(values seen are "Yes","No","Normal")
+
     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 count2
+
DWORD flags // Random node flags
--Reps (count2 times)
+
        DWORD index
+
 
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 (0x00, or 0x01 [not a count])
+
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
 
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'
Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox