From 6b5425ebd35c28e20680f5f28c887b705827ba1c Mon Sep 17 00:00:00 2001 From: salmonik Date: Tue, 27 Oct 2026 18:53:32 +0100 Subject: GUI: add on-screen toasts and atomic config writes - Toast queue drawn in the top-right by the overlay, independent of the GUI being open. Info/warn/error colors and 6/9/12 s lifetimes; timers start on the first painted frame so startup messages are not missed. - Queue a load toast after install_menu, plus warnings/errors for missing modules/interfaces/netvars, input hooks, fonts, ISurface, server datamap, and spread seed support. - Toast on config reload, reset, bind/unbind and config save failure. - Config saves now write `config.tmp`, flush, then rename it over the real file; failures leave the previous config intact. - config_load reports whether a file was found so Reload can distinguish a successful reload from a missing file. - Update CONTEXT and ISURFACE_STATUS for the single GUI, toasts and atomic config writes. --- src/ISURFACE_STATUS.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/ISURFACE_STATUS.md') diff --git a/src/ISURFACE_STATUS.md b/src/ISURFACE_STATUS.md index 00a7adf..d553af0 100644 --- a/src/ISURFACE_STATUS.md +++ b/src/ISURFACE_STATUS.md @@ -1,6 +1,6 @@ # HL2hake ISurface Drawing — Status Report -## Date: 2026-09-12, updated 2026-10-26 +## Date: 2026-09-12, updated 2026-10-27 ## Result: WORKING @@ -67,21 +67,21 @@ fc-match findings (system fontconfig): ## Menu -- Starts fully collapsed on first open; `Insert` toggles it. -- Tree: HL2hake -> Bunnyhop (Active, Auto-strafe), ABH (Active), ESP (Active, - Show neutral/healthbar/healthnum/name/skeleton/box), Aimbot (Active, Bind, - Vischeck, Bones, Smoothness), Triggerbot (Active, Bind), Silent aim - (Active, Bind). Children indented by `g_depth[]` (+12px/level). -- Right-aligned state at x=270: `[on]`/`[off]` for toggles, `[keyname]` for - binds, `[press key]` while binding, `N deg/tick` for values. +- Custom immediate-mode GUI; `Insert` is the only toggle. +- Sidebar: Movement / Combat / Visuals / Weapons / System. Cards show + Active + Bind and collapsible settings; System has config path, build info, + Reload and two-click Reset. - Feature gating: `feature_active(int)` (menu.cpp) — active AND (bind==0 or key held), used by `do_move` and the aim features. -- Config: `$XDG_CONFIG_HOME/hl2hake/config` (fallback `~/.config/hl2hake/config`). +- Layout (`x`, `y`, `category`, `expanded` bitmask) persists under `[gui]`. +- Config: `$XDG_CONFIG_HOME/hl2hake/config` (fallback `~/.config/hl2hake/config`); + writes are atomic (`.tmp` + rename). +- Toasts are drawn by `gui.cpp` even when the menu is closed. ## Build / Run -- `./build.sh`: g++ `-m32 -O2 -std=c++17 -fPIC -shared`, 9 TUs - (`hl2h modules cinput netvars menu esp server bones vischeck`), `-ldl`, +- `./build.sh`: g++ `-m32 -O2 -std=c++17 -fPIC -shared`, 10 TUs + (`hl2h modules cinput netvars menu gui esp server bones vischeck`), `-ldl`, `-Wall -Wextra -Werror` (all warnings fatal). - `./play.sh -windowed +map d1_trainstation_01` (Steam runtime wrapper, `LD_PRELOAD=libhl2hake.so`). -- cgit v1.2.3