diff --git a/docs/formats/core-data-regions.md b/docs/formats/core-data-regions.md index e115181..25ada38 100644 --- a/docs/formats/core-data-regions.md +++ b/docs/formats/core-data-regions.md @@ -1679,3 +1679,42 @@ alignment preference but a weak one. can be read as they are, and that they are sparse and variable-length rather than fixed-stride -- so the next attempt should look for a terminator-delimited walk through the sparse region, not for a record size. + +## Collision: the segmentation is not recoverable from zero structure + +Continuing on the verbatim payload, with the grid known. + +**Cells are not zero-separated.** Counting maximal runs of non-zero `u16` across +the whole payload: + + level 0 363 cells 15,115 runs mean run 25.3 u16 + level 1 384 cells 24,647 runs mean run 51.5 u16 + level 2 53 cells 31,512 runs mean run 30.3 u16 + +Two to three orders of magnitude apart, so a zero run is not a cell boundary. +Cells are not uniform blocks either: level 0 averages 2,488 bytes per cell and +level 2 averages 43,684, which cannot both be one fixed-size record. + +**The run lengths are not records.** Their histogram has a long tail of +near-power-of-two values -- 2,140, 1,184, 840, 816, 628, 604, 562 -- which is +what you get when a run is bounded by a single zero *byte* inside otherwise dense +data, not by a delimiter. Combined with the 18%-zeros finding, the payload reads +as dense data with sparse holes rather than as a delimited sequence. + +**So: not ascending `u32` tables, not zero-run delimiters, not fixed stride.** +All three segmentation theories are now excluded on the full population rather +than on a sample. + +### What would actually unblock this + +`overlay.bin` **is the game's own code**, and the collision parser is in it -- +`Camera_CollPrimTest WARNING! - grid out of bounds! (RAR)` was located in the +debug string pool earlier, and that string is inside the collision routine. The +format is therefore recoverable, but not by measuring bytes: it needs either +disassembly of that routine or a reference for R&C2's collision cell record. + +Stating this plainly is worth more than another scan. The disc-side measurement +space for collision is now genuinely exhausted -- the bytes are available, they +are verbatim, the grid is known, and three independent segmentation theories have +failed on the whole population. Further probing without the loader's own logic is +not going to converge.