ASB: Difference between revisions

Jump to navigation Jump to search
82 bytes added ,  10 months ago
m
I was going to finish this but I don't have the motivation to rn so I just made a few small fixes to what already was here
m (mixed up two sections accidentally)
m (I was going to finish this but I don't have the motivation to rn so I just made a few small fixes to what already was here)
Line 2: Line 2:


=== File Structure ===
=== File Structure ===
ASB is a little endian format which consists of node pathways triggered by AS commands. When an AS command is called, it runs the sequence of nodes connected to it which trigger and control animations and animation logic. Nodes are arranged in an array and referenced and accessed by their array index.
ASB is a little endian format which consists of node pathways triggered by AS commands. When an AS command is called, it runs the sequence of nodes connected to it which trigger and control animations and animation logic. Nodes are arranged in an array and referenced and accessed by their array index. Despite the presence of animation events in ASB files, these events do not appear to be used by the game.


All string offsets in the file are relative to the start of the string pool and name hashes are 32-bit murmur3 hashes. There are six possible parameter types: string, int (32-bit signed integer), float (32-bit floating point number), bool, vector3f, and pointer (object pointer).
All string offsets in the file are relative to the start of the string pool and name hashes are 32-bit murmur3 hashes. There are six possible parameter types: string, int (32-bit signed integer), float (32-bit floating point number), bool, vector3f, and pointer (object pointer).
Line 11: Line 11:
# AS Commands
# AS Commands
# Nodes
# Nodes
# Event Entries Offsets
# Event Entry Offsets
# Node Bodies
# Node Bodies
# 0x38 Section Indices
# 0x38 Section Indices
Line 17: Line 17:
# 0x2C Section
# 0x2C Section
# Events
# Events
# Transitions (possibly the wrong description)
# Transitions
# Command Groups
# Command Groups
# Local Blackboard Parameters
# Local Blackboard Parameters
# 0x34 Section (possibly animation slots)
# Animation Slots
# Bone Groups
# Bone Groups
# 0x40 Section
# 0x40 Section
# Tag List
# Valid Tag List
# Tag Groups
# Expression Binary
# Expression Binary
# String Triplets
# AS Markings
# Tag Groups
# 0x68 Section (version 0x417 only)
# 0x68 Section
# Enum Resolve Table
# 0x28 Section
# String Pool
# String Pool


Line 35: Line 35:
==== File Header ====
==== File Header ====
{| class="wikitable"
{| class="wikitable"
|+
|+File Header
!Offset
!Offset
!Size
!Size
Line 74: Line 74:
|0x04
|0x04
|u32
|u32
|0x34 Section Entry Count
|Slot Count
|-
|-
|0x1C
|0x1C
Line 94: Line 94:
|0x04
|0x04
|u32
|u32
|0x28 Section Offset
|Enum Resolve Table Offset
|-
|-
|0x2C
|0x2C
Line 109: Line 109:
|0x04
|0x04
|u32
|u32
|0x34 Section Offset
|Animation Slots Offset
|-
|-
|0x38
|0x38
28

edits

Navigation menu