Difference between revisions of "Sims 3:0x02D5DF13"

From SimsWiki
Jump to: navigation, search
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===
State machine definition
+
 
<pre>
 
<pre>
DWORD S_SM
+
DWORD 'S_SM'
DWORD Name //hashed filename(basename without .jazz extension)
+
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 //grouping?
+
   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===
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 // State properties
+
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===
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 - S_DG
+
DWORD 'S_DG'
DWORD version
+
DWORD version // 0x101
DWORD blank (SO FAR!)
+
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===
Actor definition
+
 
<pre>
 
<pre>
DWORD - S_AD
+
DWORD 'S_AD'
DWORD version
+
DWORD version // 0x100
 
DWORD //hashed actor parameter name
 
DWORD //hashed actor parameter name
DWORD //default null value? (Following S_PD format)
+
DWORD //null in all JazzData.package cases
 
</pre>
 
</pre>
===SoPn===
+
===SoPn Select on Parameter Node===
Select on Parameter node
+
 
<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 //hash value to check
+
     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 - SNSN
+
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===
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===
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 flags // Animation node flags
+
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 flags // Animation node flags
+
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===
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===
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===
Stop animatio 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 flags // Animation node flags
+
DWORD
 
DWORD
 
DWORD
 
DWORD
 
DWORD

Revision as of 12:16, 18 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 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'
Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox