28
edits
m (minor update) |
|||
Line 13: | Line 13: | ||
# Event Entry Offsets | # Event Entry Offsets | ||
# Node Bodies | # Node Bodies | ||
# | # Sync Data Entry Indices | ||
# | # Sync Data | ||
# | # State Transitions | ||
# Events | # Events | ||
# Transitions | # Transitions | ||
# Command Groups | # Command Groups | ||
# | # AS Blackboard Parameters | ||
# | # Partials | ||
# Bone Groups | # Bone Groups | ||
# Calculation Presets | # Calculation Presets | ||
Line 27: | Line 27: | ||
# Expression Binary | # Expression Binary | ||
# AS Markings | # AS Markings | ||
# | # Material Blend Settings | ||
# Enum Resolve Table | # Enum Resolve Table | ||
# String Pool | # String Pool | ||
Line 74: | Line 74: | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
|Partial | |Partial Count | ||
|- | |- | ||
|0x1C | |0x1C | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |Sync Data Entry Count | ||
|- | |- | ||
|0x20 | |0x20 | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |AS Blackboard Parameters Offset | ||
|- | |- | ||
|0x24 | |0x24 | ||
Line 99: | Line 99: | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |State Transitions Offset | ||
|- | |- | ||
|0x30 | |0x30 | ||
Line 109: | Line 109: | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |Partials Offset | ||
|- | |- | ||
|0x38 | |0x38 | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |Sync Data Offset | ||
|- | |- | ||
|0x3C | |0x3C | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |Sync Data Indices Array Offset | ||
|- | |- | ||
|0x40 | |0x40 | ||
Line 174: | Line 174: | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |Material Blend Settings Offset (version 0x417 only) | ||
|} | |} | ||
Line 188: | Line 188: | ||
|0x00 | |0x00 | ||
|0x04 | |0x04 | ||
| | |u32 | ||
|Flags and Index | |Flags and Index | ||
|- | |- | ||
Line 197: | Line 197: | ||
|} | |} | ||
If the | If the top bit of the flags is set, then the bottom two bytes of the flags become an index value. If it is not set, then the provided value is value of the parameter. If <code>flags & 1 << 0x18 != 0</code>, then the index is an expression index (EXB) and the normal value field becomes the input value for the expression. If <code>flags & 1 << 0x1e != 0</code>, then the index is a calculation preset index. Note, this is only applicable if the parameter is a float. Otherwise, if <code>flags & 1 << 0x19 != 0</code>, then the index specifies the command data type. 0 is the current frame normalized (i.e. <code>(current_frame - start_frame)/total_duration</code>), 1 and 2 are random float values between 0.0 and 1.0, 3 is an unknown string value, 4 is the command's fade in frame, and 6 is an unknown float value. Note, this only applies if the parameter is a float or a string. In all other cases, the index is a blackboard index and value of the parameter is the value of the corresponding blackboard parameter. For float parameters specifically, <code>flags >> 0x1a & 3</code> specifies the exact parameter source. 0 is a float blackboard parameter while 1, 2, or 3 are a vector3f blackboard parameter with 1, 2, and 3 being the x, y, and z components respectively. | ||
If <code>flags & | |||
==== AS Commands ==== | ==== AS Commands ==== | ||
Line 221: | Line 219: | ||
|- | |- | ||
|0x08 | |0x08 | ||
|0x08 | |0x08 | ||
|Parameter<float> | |Parameter<float> | ||
| | | | ||
|- | |- | ||
| | |0x10 | ||
|0x08 | |0x08 | ||
|Parameter< | |Parameter<bool> | ||
| | |Is Ignore Same Command | ||
|- | |- | ||
| | |0x18 | ||
|0x04 | |0x04 | ||
|u32 | |u32 | ||
| | |Interpolation Type (uncertain, but 0 = unspecified, 1 = no model morph, 3 = enable local bone morph, 4 = enable inertial blend) | ||
|- | |||
| rowspan="5" |0x1C | |||
| rowspan="5" |0x10 | |||
|u32 | |||
| rowspan="5" |GUID | |||
|- | |||
|u16 | |||
|- | |||
|u16 | |||
|- | |||
|u8[2] | |||
|- | |||
|u8[6] | |||
|- | |- | ||
| | |0x2C | ||
|0x02 | |0x02 | ||
|u16 | |u16 | ||
|Child Node Index | |Child Node Index | ||
|- | |- | ||
| | |0x2E | ||
| | |0x02 | ||
|u16 | |u16 | ||
| | | | ||
Line 268: | Line 274: | ||
|0x01 | |0x01 | ||
|u8 | |u8 | ||
| | |Sync Data Count | ||
|- | |- | ||
|0x03 | |0x03 | ||
|0x01 | |0x01 | ||
|u8 | |u8 | ||
| | |Does Not Have State Transition | ||
|- | |- | ||
|0x04 | |0x04 | ||
Line 298: | Line 304: | ||
|0x02 | |0x02 | ||
|u16 | |u16 | ||
| | |Sync Data Index Array Index | ||
|- | |- | ||
|0x12 | |0x12 | ||
Line 305: | Line 311: | ||
|AS Markings Index (-1 for index) | |AS Markings Index (-1 for index) | ||
|- | |- | ||
| rowspan="5" | | | rowspan="5" |0x14 | ||
| rowspan="5" |0x10 | | rowspan="5" |0x10 | ||
|u32 | |u32 | ||
Line 314: | Line 320: | ||
|u16 | |u16 | ||
|- | |- | ||
| | |u8[2] | ||
|- | |- | ||
|u8[6] | |u8[6] |
edits