XPlor/definitions/asura/chunks/stuc_chunk.xscript
njohnson 8f07bf0b72 Update Asura XScript definitions with new syntax
- Migrate from bracket attributes to ui() function calls
- Enhance chunk parsing with improved structure definitions
- Add additional metadata fields to chunk handlers
- Update Xbox 360 texture and archive definitions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:10:29 -05:00

62 lines
1.2 KiB
Plaintext

// STUC - Structure/Cutscene Chunk (reversed "CUTS")
// Contains cutscene structure and scene data
// Found in .cut files
type stuc_chunk [display="STUC Cutscene Structure"] byteorder BE
{
// Standard 16-byte Asura chunk header
chunk_id = ascii(read(4));
u32 chunk_size;
u32 version;
u32 flags;
chunk_id = chunk_id;
ui("chunk_id", "Chunk ID");
chunk_size = chunk_size;
ui("chunk_size", "Chunk Size");
version = version;
ui("version", "Version");
flags = flags;
ui("flags", "Flags");
// Scene entry count
u32 entry_count;
entry_count = entry_count;
ui("entry_count", "Entry Count");
// Unknown fields
u32 unknown1;
u32 unknown2;
// Scene name (null-terminated)
scene_name = cstring();
scene_name = scene_name;
ui("scene_name", "Scene Name");
// Use scene name for display (clean removes non-printable chars)
set_name(clean(scene_name));
// Position data (3 floats for X, Y, Z)
f32 pos_x;
f32 pos_y;
f32 pos_z;
pos_x = pos_x;
ui("pos_x", "Position X");
pos_y = pos_y;
ui("pos_y", "Position Y");
pos_z = pos_z;
ui("pos_z", "Position Z");
}