type rawfile [display="Raw File"] { // Header: name_ptr, length, buffer_ptr (12 bytes) i32 name_ptr [ui, readonly, display="Name Ptr"]; i32 len [ui, readonly, display="Length"]; i32 buffer_ptr [ui, readonly, display="Buffer Ptr"]; // Name string (if inline) if (name_ptr == -1) { name = cstring() [ui, readonly, display="Name"]; _name = name; } // Data buffer (if inline) - read len + 1 bytes for null terminator if (buffer_ptr == -1 && len > 0) { raw_data = read(len + 1) [ui, readonly, display="Raw Data"]; } }