Find a ten-entry table on a 148-byte stride after shrub
Range measured: level 0, 16047040..16737344, the 690,304 bytes between the last shrub class's body and the constant trailer. Nothing outside that range is read. Method: reading the bytes at +0x20 as u32 shows ten consecutive entries whose low halves increase by a constant 0x94 (148), followed by a zero. The high half is 0xf000 for the first nine and 0x0a40 for the tenth, so the table is ten entries and ends at +0x48, absolute 16047112. What the entries mean, what 148 refers to, and why there are ten are all unestablished. Ten matches no count already known for this level -- 238 moby classes, 74 tie, 7 shrub, 93 tfrag textures -- so it is not yet tied to anything else in the lump. Recording it as a lead rather than a finding. The stride is a real measurement on a bounded range, but a ten-entry table with an unexplained stride is exactly the shape that looks like a structure while being something else, and the rule in AGENTS.md is that a pattern gets looked at before it gets named.
This commit is contained in:
@@ -150,3 +150,21 @@ range and was about to conclude the body had zero length, which would have been
|
|||||||
wrong. The last shrub class is a real class with real data, and the NaN filler
|
wrong. The last shrub class is a real class with real data, and the NaN filler
|
||||||
only appears in degenerate ones. Checking the actual byte pattern rather than
|
only appears in degenerate ones. Checking the actual byte pattern rather than
|
||||||
concluding from a failed heuristic is what caught it.
|
concluding from a failed heuristic is what caught it.
|
||||||
|
|
||||||
|
### First structure in the region after shrub
|
||||||
|
|
||||||
|
**Range measured:** level 0, `16047040 .. 16737344` (690,304 bytes), starting
|
||||||
|
at the first byte after the last shrub class's 240-byte body. Nothing outside
|
||||||
|
that range is read.
|
||||||
|
|
||||||
|
**Method:** reading the bytes at `+0x20` as `u32` shows ten consecutive
|
||||||
|
entries whose low halves increase by a constant **0x94 (148)**, followed by a
|
||||||
|
zero. Read as u32 the high half is `0xf000` for the first nine and `0x0a40`
|
||||||
|
for the tenth, so the table is ten entries long and ends at `+0x48`
|
||||||
|
(absolute `16047112`).
|
||||||
|
|
||||||
|
**Result, stated plainly:** a ten-entry table on a 148-byte stride. What the
|
||||||
|
entries mean, what 148 refers to, and why there are ten, are all unestablished.
|
||||||
|
Ten does not match any count already known for this level -- 238 moby
|
||||||
|
classes, 74 tie, 7 shrub, 93 tfrag textures -- so this is not yet tied to any
|
||||||
|
structure elsewhere in the lump.
|
||||||
|
|||||||
Reference in New Issue
Block a user