diff --git a/docs/re_gc_catalog.md b/docs/re_gc_catalog.md index 83d0bdf..ee2fbb8 100644 --- a/docs/re_gc_catalog.md +++ b/docs/re_gc_catalog.md @@ -12,6 +12,12 @@ record count, allocates `count * 0xb4` bytes, and deserializes every variable-si disk record into one `0xb4`-byte runtime entry. The dumped file contains 924 records. IDs are explicit and can have gaps; they are not array indices. +The loader stops after the declared record count; it does not require EOF. +GC 4.75 catalogs can append a version-specific metadata block after the song +array (one observed 917-record catalog has 4116 trailing bytes). The clean-room +reader therefore validates every declared record but intentionally leaves such +post-array data uninterpreted. + The game's primitives used by this loader are: - `FUN_005d8bc0`: big-endian `u32`;