mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 18:25:35 -04:00
739994cfcd
Runtime detects an uncovered overlay/kernel variant by sustained dirty-RAM interp pressure inside the capture windows (g_dirty_window_dispatches, sampled every 600 vblanks; fires only at a coherent non-loading moment via cdrom_load_in_progress, 60s cooldown, 16/session cap), writes the capture JSON, and spawns the game.toml-configured compile command ([runtime] overlay_autocompile_cmd, cmd.exe /C, cwd=project root, child output kept in an in-memory ring — no log files). On child exit 0 the emu thread rescans the cache (overlay_loader_rescan: idempotent dir re-scan + checked-regions reset) so the new DLL loads on the next dispatch and the variant goes native in-session. Dedup is tool-side (existing-CRC skip); pressure drops to zero once code is native, so the loop self-limits. New TCP: autocompile_status / autocompile_run / overlay_rescan. compile_dll now uses absolute native paths and reports exit codes. VERIFIED live (user-played route): 2 auto-triggers fired, captures written, child ran recompiler+audit (new variants 1E7DDE2C, A62D0A7C discovered and audit-clean), rescan picked the compiled DLL up in-session. OPEN ISSUE: gcc exits 1 with no output inside the spawned cmd.exe child (same absolute-path command succeeds from an interactive shell) — compile step currently completed manually; suspect child-env difference, to be isolated next session. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>