The project hasn't been a WormKit DLL for a long time — it requires a
custom launcher. Rename the crate to openwa-dll with output openwa.dll
to match the rest of the naming convention (openwa-core, openwa-launcher).
Updates all references across Cargo.toml, Rust sources, PowerShell scripts,
CLAUDE.md, skill files, and docs. Replaces stale "wormkit hook/shim"
comments with accurate descriptions. Three remaining "WormKit" references
are legitimate (refer to the actual WA modding framework).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Steam registry lookup was unreliable from a 32-bit process (WoW64 redirection
issues, key may not exist). Replace with a short list of hardcoded common Steam
locations; OPENWA_WA_PATH and explicit CLI arg remain the preferred override.
Also add start.ps1 (build + launch) and update start-debug.ps1 to build with
--features openwa-wormkit/debug-ui, which is required to enable the debug UI
overlay at runtime.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat: replace WormKit injection with custom launcher (openwa-launcher)
New binary crate `openwa-launcher` creates WA.exe in a suspended state,
injects openwa_wormkit.dll via CreateRemoteThread(LoadLibraryA), waits for
DllMain to complete (all hooks installed), then resumes the main thread.
This guarantees hooks are in place before a single WA instruction runs and
requires zero modifications to the game folder.
- WA.exe location: CLI arg > OPENWA_WA_PATH env var > Steam registry
- DLL location: always next to the launcher executable
- Forwards all CLI args (replay file etc.) to WA.exe
- Supports --minimized flag (used by replay-test.ps1)
- Remove deploy.ps1 / deploy-debug.ps1 (no longer needed)
- Update replay-test.ps1 to build + run via launcher; removes DLL copy step
- Update start-debug.ps1 to invoke launcher directly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat: add egui debug UI window with entity census, inspector, and log panel
Spawns a floating egui/eframe window in the same process as WA.exe (DLL
injection) when OPENWA_DEBUG_UI=1. Shows a live entity census from the
SharedData hash table, a struct inspector with navigation history, and a
scrollable log stream.
- New crate: openwa-debugui (egui 0.28 + glow backend, winit any-thread)
- Entity type names resolved via vtable map with ClassType fallback
- Children tree reads sparse slot array (children_size = high-watermark)
- Add CTASK_MINE/OILDRUM/CLOUD_VTABLE constants to address.rs (derived
from runtime vtables: delta 0x6C0000)
- debug-ui feature gate in openwa-wormkit; deploy-debug.ps1 / start-debug.ps1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>