XPlor/definitions/asura/chunks/tsxt_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

57 lines
1.3 KiB
Plaintext

// TSXT - Texture Set Chunk (reversed "TXST")
// Contains texture set information and references
// Found in .tsBE files
type tsxt_chunk [display="TSXT Texture Set"] 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");
// Texture count
u32 texture_count;
texture_count = texture_count;
ui("texture_count", "Texture Count");
// Get type-specific index for naming
idx = ctx_get("_tsxt_idx");
// Reference to external texture archive
if (texture_count > 0) {
texture_archive_path = cstring();
texture_archive_path = texture_archive_path;
ui("texture_archive_path", "Texture Archive");
}
// Set indexed name (format: tsxt.0, tsxt.1, etc.)
set_name("tsxt." + idx);
// Texture entries follow - each contains hash and metadata
// Structure per entry (approx 28 bytes):
// - 4 bytes: texture hash/ID
// - 4 bytes: offset in archive
// - 4 bytes: width info
// - 4 bytes: height info
// - 4 bytes: format flags
// - 4 bytes: mip levels
// - 4 bytes: unknown
}