- 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>
42 lines
927 B
Plaintext
42 lines
927 B
Plaintext
// STSA - Asset List Chunk (reversed "ASTS")
|
|
// Contains asset/file listings
|
|
// Found in audio streaming archives (.asr files)
|
|
|
|
type stsa_chunk [display="STSA Asset List"] 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");
|
|
|
|
// File/asset count
|
|
u32 file_count;
|
|
file_count = file_count;
|
|
|
|
ui("file_count", "File Count");
|
|
|
|
// Sniper Elite III+ has an extra field indicating internal (0) or external (1) files
|
|
// Check version to determine format
|
|
if (version >= 3) {
|
|
u32 external_flag;
|
|
external_flag = external_flag;
|
|
|
|
ui("external_flag", "External Flag");
|
|
}
|
|
}
|