54 lines
No EOL
1.1 KiB
Text
54 lines
No EOL
1.1 KiB
Text
//------------------------------------------------
|
|
//--- 010 Editor v12.0.1 Binary Template
|
|
//
|
|
// File:
|
|
// Authors:
|
|
// Version:
|
|
// Purpose:
|
|
// Category:
|
|
// File Mask:
|
|
// ID Bytes:
|
|
// History:
|
|
//------------------------------------------------
|
|
|
|
typedef struct {
|
|
uint64 extension <format=hex>;
|
|
uint64 name <format=hex>;
|
|
uint32 flags <format=binary>;
|
|
} FileMeta;
|
|
|
|
uint32 format <format=hex>;
|
|
uint32 unknown_1 <format=hex>;
|
|
Assert(unknown_1 == 3);
|
|
|
|
uint32 num_entries;
|
|
uint64 properties[32] <format=hex>;
|
|
|
|
FileMeta file_meta[num_entries];
|
|
|
|
uint32 num_chunks;
|
|
uint32 chunk_sizes[num_chunks];
|
|
|
|
local int padding_size = 16 - (FTell() % 16);
|
|
if (padding_size < 16) {
|
|
byte padding[padding_size];
|
|
}
|
|
|
|
uint32 unpacked_size;
|
|
uint32 unknown_3;
|
|
|
|
local int chunk_index;
|
|
for (chunk_index = 0; chunk_index < num_chunks; chunk_index++) {
|
|
struct Chunk {
|
|
uint32 size <bgcolor=0x0015FF>;
|
|
|
|
local int padding_size = 16 - (FTell() % 16);
|
|
|
|
if (padding_size < 16) {
|
|
byte padding[padding_size];
|
|
}
|
|
|
|
byte data[chunk_sizes[chunk_index]] <bgcolor=0xFF1500>;
|
|
};
|
|
Chunk chunks;
|
|
} |