Updated knowledge

This commit is contained in:
MaddoScientisto 2026-04-02 01:15:16 +02:00
commit 1ad746ba82
21 changed files with 882 additions and 9 deletions

View file

@ -195,6 +195,34 @@ This body does not resemble inventory logic at all. It scans nearby family-`6` o
So by the time we reach Crusader, `unequip` has clearly broadened into `deactivate / detach / reverse state / cleanup side effects`.
### Concrete map-side example: map 13 `fixed:4767`
The recent map-13 wall-jump follow-up produced a useful grounded example of what `FFFLOOR` looks like in the exported scene cache.
- Retail decoded scene entry `fixed:4767` is `item:12469:fixed:309:0:47966:53598:97`.
- Reference data identifies shape `0x0135` / `shape:309` as `terrain` with dimensions `4 x 4 x 0` and traits `solid`, `fixed`, and `land`.
- The extracted EUSECODE corpus identifies class `0x0135` as `FFFLOOR`, with live `gotHit`, `equip`, and `unequip` handlers.
The important part is the behavior, not the raw shape flags:
- `FFFLOOR::gotHit` loops while an actor remains on the tile and repeatedly calls `FREE.slot_20(pid, 8)` followed by `NPC.slot_2d(...)`.
- `NPC.slot_2d` is not a teleport or pure logic stub in this lane; it resolves into the normal actor hit/damage path and can end in `Item.receiveHit(...)`.
- `FFFLOOR::equip` cases `29` and `30` also toggle nearby `0x0135` tiles between frame `1` and frame `0`, and case `30` explicitly `touch`es those tiles after restoring frame `0`.
This makes the safest current interpretation:
- `FFFLOOR` is a gameplay-side environmental hazard / sensor floor family.
- The suspicious map-13 tile near the wall-jump setup is therefore better read as `trap or trigger floor on the same upper platform` than as `hidden collision override for the wall itself`.
That same map-side follow-up also found a nearby family-4 egg on the same upper platform, `fixed:4770` (`shape 17`, egg id `37`, subtype selector `QLo 4`), which resolves to `CHANGER` in retail Remorse.
That companion egg is now behaviorally useful too:
- the extracted `CHANGER::hatch` body reads the egg id from `mapNum`, scans nearby `roof` items, compares each roof's low quality byte against that egg id, and destroys matching roofs
- the local decoded map-13 scene contains nearby roof placements (`shape:538`, kind `roof`) whose `quality & 0xff = 37`, matching the egg id from `fixed:4770`
So the current best local read is `hazard/sensor floor plus keyed roof-destruction trigger cluster`, not `single suspicious floor tile beside a special-cased wall`.
## What survived from the RPG ancestor
The surviving part is not just the word choice. The system architecture survived too: