Furthened decomp work
This commit is contained in:
parent
746709f40c
commit
28cbbe3470
519 changed files with 1498 additions and 43421 deletions
|
|
@ -15,6 +15,8 @@ Detailed completed analysis belongs in the files under `docs/`, not in this plan
|
|||
|
||||
## Progress Snapshot
|
||||
|
||||
Latest verified batch: [docs/regret-hidden-debugger-investigation.md](docs/regret-hidden-debugger-investigation.md) now also records the debugger-side cleanup pass after the first `.unk` loader/runtime split, the final exhaustive Regret-side caller sweep, and the first practical seeding/simulation model. The live `REGRET.EXE` database now has the source-pane constructor/pointer/draw/viewport methods, the source-buffer create/load/split/destroy chain, the breakpoint-table helpers, the current-entry push/pop helpers, the interpreter saved-farptr helpers (`13f0:0000/003c`), the interpreter-context create/init pair (`13f0:00e8/0244`), the shared slot-chunk accessor at `13f8:1d72`, and the named interpreter wrapper at `13f8:10da` that feeds `usecode_debugger_interpreter_hook`. The practical consequence is sharper than before: the remaining blocker is not `can we export readable source` or even `can compiled usecode carry line numbers`, because retail Remorse already can, and it is no longer `what else in Regret might still be debugger-related`. The remaining blocker is now narrowly `where inside the already-identified interpreter dispatcher/runtime path does Regret seed the current-entry stack, and how can that same engine-side path be reused or reproduced for stable RUN/step behavior`, with the strongest current simulation route now being a small in-process reuse of existing VM context data rather than blind external memory poking or offline-only source-file tricks.
|
||||
|
||||
Latest verified batch: [docs/jp-remorse-hidden-debugger-investigation.md](docs/jp-remorse-hidden-debugger-investigation.md) now records the first debugger-focused comparison pass on `/ja/CRUSADER.EXE`. Current best read is narrower than the No Regret result but still decision-relevant: the JP Win32 build clearly retains broad executable cheat/debug machinery, yet live byte searches on the active image found no hits for the classic hidden usecode-debugger UI bundle (`Goto Line`, `Watch what?`, `Inspect what?`, `Global name`, `Search for`, `FILE NOT FOUND`, `Unable to open this file`, `Nothing to find`, `Not found`, `Done`) even though the same method still recovers positive-control strings like `JASSICA16`, `Immortality enabled.`, and `Cheats are now active.`. The practical consequence is that JP currently strengthens the `broad Win32 cheat/debug preservation` story, but not the `JP preserved the missing retail debugger bootstrap` theory; No Regret remains the stronger sibling-build anchor for the hidden-debugger unlock problem.
|
||||
|
||||
Latest verified batch: [docs/regret-hidden-debugger-investigation.md](docs/regret-hidden-debugger-investigation.md) now records the forcing-options pass as well as the structural recovery. Current best read is now split cleanly between the analytical and practical sides: analytically, Regret still matters because it recovers the missing writer/bootstrap and the live `1480:6972` vtable override; practically, it also matters because it is now the first build where a debugger bring-up looks realistically forceable without rebuilding the subsystem. The current ranked Regret-side forcing order is: small executable patch into `usecode_debugger_open_modal` or the break/step auto-open path first, live memory forcing only if the debugger object already exists second, and `-u` / custom `EUSECODE.FLX` only as a hybrid context-generator after code or memory has already armed the debugger. That means Regret is now both the best comparison anchor for retail and the best live hack target if the immediate goal is simply to make the menu appear.
|
||||
|
|
@ -143,7 +145,7 @@ Measured live naming floor for `CRUSADER.EXE` right now:
|
|||
|
||||
## Next Resume Point
|
||||
|
||||
1. Resume the hidden-debugger lane from [docs/regret-hidden-debugger-investigation.md](docs/regret-hidden-debugger-investigation.md), [docs/jp-remorse-hidden-debugger-investigation.md](docs/jp-remorse-hidden-debugger-investigation.md), and [docs/retail-debugger-entry-options.md](docs/retail-debugger-entry-options.md): use No Regret, not JP, as the primary sibling-build anchor and compare retail `CRUSADER.EXE` directly against the recovered Regret bootstrap/state-hook path. The concrete next target is now the smallest retail analogue of Regret `1398:0000`, the missing writer for retail `1478:659c/659e`, and any retail interpreter-side handoff that could be reattached without the wider old patch chains.
|
||||
1. Resume the hidden-debugger lane from [docs/regret-hidden-debugger-investigation.md](docs/regret-hidden-debugger-investigation.md), [docs/jp-remorse-hidden-debugger-investigation.md](docs/jp-remorse-hidden-debugger-investigation.md), and [docs/retail-debugger-entry-options.md](docs/retail-debugger-entry-options.md): use No Regret, not JP, as the primary sibling-build anchor and compare retail `CRUSADER.EXE` directly against the now-closed Regret bootstrap/state-hook/runtime map. The concrete next target is no longer another broad Regret sweep; it is the smallest retail analogue of Regret `1398:0000`, the missing writer for retail `1478:659c/659e`, and any retail interpreter-side handoff that could be reattached without the wider old patch chains.
|
||||
2. In parallel with that comparison, keep the `-u` / replacement-`EUSECODE.FLX` lane alive as the least invasive practical experiment surface: prefer monitor/computer, `SURCAM*`, and `NPCTRIG` families over generic container scripts, and look only for indirect compiled control bridges rather than assuming usecode can already construct the debugger state directly.
|
||||
3. Continue broad sweeps in the same `12f8` / `13c8` / `13f8` UI-gump neighborhood so the next write window can harvest more obvious virtual-slot and wrapper names before switching back to deeper caller-policy work.
|
||||
4. Resume from `docs/ne-hole-filling-priorities.md` only after the current UI edge stops yielding cheap structural wins; the immediate best candidates are the remaining anonymous sibling methods in the main-menu, quick-save/load/exit, and adjacent button-gump families.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue