From 8882d8fc263e30c930f0ca167fdcecb20e362fd8 Mon Sep 17 00:00:00 2001 From: ReaperOfVeriod Date: Sun, 11 Oct 2026 03:06:07 +0200 Subject: [PATCH] Re-scan at finer granularity: collision..moby is entirely texture The "3 of 21 blocks not texture-like" figure from the last commit was an artifact of sampling every 256 KB and missing everything between. Re-scanned at 4 KB granularity there are about 100 such blocks, and looking at them rather than only counting them, they are smooth gradient ramps -- sky and fog texture. A noisy gradient has a high distinct byte count without being code, which is exactly the mistake the byte-count heuristic invites. So collision..moby is entirely texture data. There is no separate moby_anim region there, and two claims about this range have now been wrong: the "6.2 MB of unknown data" and the "3 unexplained blocks". Both came from sizes and counts taken without looking at what they described. moby_anim is therefore still unlocated, but it is not here. The remaining candidate is the unresolved tail after the last shrub class -- ~925 KB of real, non-zero data on level 0 that nothing accounts for. Recording the two corrections together rather than one at a time, because the mechanism is the same in both: a heuristic count is not an identification. --- docs/formats/core-data-regions.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/formats/core-data-regions.md b/docs/formats/core-data-regions.md index 1b19f26..2498b87 100644 --- a/docs/formats/core-data-regions.md +++ b/docs/formats/core-data-regions.md @@ -86,5 +86,18 @@ The texture table's `data_offset` values only reach 5326208, which is why the gap looked real: mip chains extend well past the last entry's offset. A region sized from a table of first-level offsets understates the data it points at. -Three of the 21 sampled blocks are not texture-like, so something is mixed in -and is not yet identified, but it is not 6.2 MB of `moby_anim`. +The "3 of 21 blocks not texture-like" figure in the previous revision was an +artifact of sampling every 256 KB. Re-scanned at 4 KB granularity the whole +range is texture data: ~100 blocks stand out, and looking at them they are +smooth gradient ramps -- sky and fog texture, exactly what gradient texels look +like. A noisy gradient has a high distinct byte count without being code. + +So the range between collision and moby is **entirely texture data**, and there +is no separate `moby_anim` region there. Combined with the correction above, +two claims made about this range have now been wrong: the "6.2 MB of unknown +data" and the "3 unexplained blocks". + +Where `moby_anim` actually lives is therefore still open, but it is not here. +The remaining candidate is the unresolved tail after the last shrub class, +which on level 0 is ~925 KB of real, non-zero data that nothing yet accounts +for.