diff --git a/README.md b/README.md index fee84de..cc8a2d1 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,21 @@ default** and covers anything the hooked path doesn't. ## Roadmap -Open tasks (completed work lives in **Lessons learned** + the test suite, not here): +Completed work lives in **Lessons learned** + the test suite, not here. + +### Current tasks + +- **Graceful disconnect unhooks everything.** On an explicit *Disconnect* and on a graceful tool + exit, ask the injected DLL to disable *all* subsystems so the game runs exactly as if it was never + hooked (every hook's original bytes restored). The DLL stays injected but dormant — ready for a + later reconnect. Today neither path tells the DLL anything, so the hooks are left active/frozen. +- **Reconnect to an already-injected DLL.** Support disconnect → reconnect reusing the DLL that's + already in the game, *including across a tool restart or crash*: the host detects the live DLL + (via its advancing IPC heartbeat on the per-pid section), re-attaches to the same shared section, + and resumes control without re-injecting. (DLL self-cleanup on host *crash* is explicitly **not** + required — relaunch, reconnect, then disconnect gracefully to clean up.) + +### Future work - **Per-game profiles** — persist each game's subsystem / capture-mode / audio choices and re-apply them on attach.