summaryrefslogtreecommitdiffstats
path: root/src/ISURFACE_STATUS.md
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-10-26 17:53:40 +0100
committersalmonik <salmonik@tuta.io>2026-10-26 17:53:40 +0100
commitd164e3373108d0c0f83452fbea22f8569b84eec6 (patch)
tree141999a0ac933728382f344c56f009cb0464b044 /src/ISURFACE_STATUS.md
parentConfig: store in $XDG_CONFIG_HOME/hl2hake/config (diff)
downloadhl2h-d164e3373108d0c0f83452fbea22f8569b84eec6.tar.gz
hl2h-d164e3373108d0c0f83452fbea22f8569b84eec6.zip
Docs/cleanup: refresh CONTEXT, update ISurface status, remove dead code
- rewrite CONTEXT.md for the current architecture, interfaces, netvars, menu tree, bones/ESP, aimbot/vischeck, triggerbot, silent aim and ABH - update ISURFACE_STATUS.md: DrawLine slot, current menu/config path, 9 build TUs, current file layout - remove the stale root-level `tree` file - drop unused class_health_off/per-class health scan (NPC HP is not networked), surf_call_slot, and unused scancode helpers
Diffstat (limited to 'src/ISURFACE_STATUS.md')
-rw-r--r--src/ISURFACE_STATUS.md36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/ISURFACE_STATUS.md b/src/ISURFACE_STATUS.md
index de952cd..00a7adf 100644
--- a/src/ISURFACE_STATUS.md
+++ b/src/ISURFACE_STATUS.md
@@ -1,13 +1,13 @@
1# HL2hake ISurface Drawing — Status Report 1# HL2hake ISurface Drawing — Status Report
2 2
3## Date: 2026-09-12 (final round) 3## Date: 2026-09-12, updated 2026-10-26
4 4
5## Result: WORKING 5## Result: WORKING
6 6
7Overlay drawing works in-game and in menus. Draw path: `PaintTraverseEx` 7Overlay drawing works in-game and in menus. Draw path: `PaintTraverseEx`
8hook (slot 114) on the copied ISurface vtable, wrapping our draws in 8hook (slot 114) on the copied ISurface vtable, wrapping our draws in
9`PushMakeCurrent(panel, false)` / `PopMakeCurrent(panel)` around ISurface 9`PushMakeCurrent(panel, false)` / `PopMakeCurrent(panel)` around ISurface
10slots 6/10/12/17/18/20/22/66/67. 10slots 6/10/12/15/17/18/20/22/66/67.
11 11
12## Confirmed ISurface VTable Slots (disassembly-verified, binary=SDK header+4) 12## Confirmed ISurface VTable Slots (disassembly-verified, binary=SDK header+4)
13 13
@@ -18,6 +18,8 @@ slots 6/10/12/17/18/20/22/66/67.
18| 9 | `PopMakeCurrent(VPANEL)` | verified via disassembly | 18| 9 | `PopMakeCurrent(VPANEL)` | verified via disassembly |
19| 10 | `DrawSetColor(int r,g,b,a)` | stores RGBA at `this+0x24..0x27` | 19| 10 | `DrawSetColor(int r,g,b,a)` | stores RGBA at `this+0x24..0x27` |
20| 12 | `DrawFilledRect(int x0,y0,x1,y1)` | verified via disassembly | 20| 12 | `DrawFilledRect(int x0,y0,x1,y1)` | verified via disassembly |
21| 14 | `DrawOutlinedRect(int x0,y0,x1,y1)` | SDK header 10 + 4 |
22| 15 | `DrawLine(int x0,y0,x1,y1)` | SDK header 11 + 4 (skeleton ESP) |
21| 17 | `DrawSetTextFont(HFont)` | stores HFont at `this+0x290` | 23| 17 | `DrawSetTextFont(HFont)` | stores HFont at `this+0x290` |
22| 18 | `DrawSetTextColor(int r,g,b,a)` | stores RGBA at `this+0x28..0x2b` | 24| 18 | `DrawSetTextColor(int r,g,b,a)` | stores RGBA at `this+0x28..0x2b` |
23| 20 | `DrawSetTextPos(int x,y)` | stores at `this+0x2c/0x30` | 25| 20 | `DrawSetTextPos(int x,y)` | stores at `this+0x2c/0x30` |
@@ -65,24 +67,27 @@ fc-match findings (system fontconfig):
65 67
66## Menu 68## Menu
67 69
68- Tree: HL2hake → Bunnyhop/ABH, children indented (`g_depth[]`, +12px/level). 70- Starts fully collapsed on first open; `Insert` toggles it.
69- Right-aligned state at x=200: `[on]`/`[off]` for Active rows, 71- Tree: HL2hake -> Bunnyhop (Active, Auto-strafe), ABH (Active), ESP (Active,
70 `[keyname]` for Bind rows, `[press key]` while binding. 72 Show neutral/healthbar/healthnum/name/skeleton/box), Aimbot (Active, Bind,
73 Vischeck, Bones, Smoothness), Triggerbot (Active, Bind), Silent aim
74 (Active, Bind). Children indented by `g_depth[]` (+12px/level).
75- Right-aligned state at x=270: `[on]`/`[off]` for toggles, `[keyname]` for
76 binds, `[press key]` while binding, `N deg/tick` for values.
71- Feature gating: `feature_active(int)` (menu.cpp) — active AND 77- Feature gating: `feature_active(int)` (menu.cpp) — active AND
72 (bind==0 or key held). Called from `do_move` (hl2h.cpp) to gate 78 (bind==0 or key held), used by `do_move` and the aim features.
73 bhop (jump) and ABH branches. 79- Config: `$XDG_CONFIG_HOME/hl2hake/config` (fallback `~/.config/hl2hake/config`).
74- Config: INI at `~/.hl2hake.ini` (bhop/abh active+bind).
75 80
76## Build / Run 81## Build / Run
77 82
78- `./build.sh`: g++ `-m32 -O2 -fPIC -shared`, links 5 TUs, `-ldl`, 83- `./build.sh`: g++ `-m32 -O2 -std=c++17 -fPIC -shared`, 9 TUs
84 (`hl2h modules cinput netvars menu esp server bones vischeck`), `-ldl`,
79 `-Wall -Wextra -Werror` (all warnings fatal). 85 `-Wall -Wextra -Werror` (all warnings fatal).
80- `./play.sh -windowed +map d1_trainstation_01` (Steam runtime wrapper, 86- `./play.sh -windowed +map d1_trainstation_01` (Steam runtime wrapper,
81 `LD_PRELOAD=libhl2hake.so`). 87 `LD_PRELOAD=libhl2hake.so`).
82- Logs: `/tmp/hl2hake.log` (logf), `/tmp/hl2run.log` (stderr). 88- Logs: `/tmp/hl2hake.log` (logf), stderr.
83- Probe logging (`hook fired:`, `probe:`) removed 2026-09-12.
84- `HL2H_DRAW_TEST=1` env: draws red rect + "HL2H DRAW TEST" without 89- `HL2H_DRAW_TEST=1` env: draws red rect + "HL2H DRAW TEST" without
85 opening the menu. 90 opening the menu. `HL2H_BONE_DEBUG=1` draws head-hitbox markers.
86 91
87## Lessons 92## Lessons
88 93
@@ -98,7 +103,12 @@ fc-match findings (system fontconfig):
98## File Locations 103## File Locations
99 104
100- Project: `/home/salmon/Documents/rust/hl2h/` 105- Project: `/home/salmon/Documents/rust/hl2h/`
101- Hook + feature logic: `src/hl2h.cpp` 106- Hook + movement/feature logic: `src/hl2h.cpp`
102- Menu + drawing + config + input: `src/menu.cpp` 107- Menu + drawing + config + input: `src/menu.cpp`
108- ESP / skeleton drawing / aimbot / silent aim: `src/esp.cpp`
109- Bones + hitboxes: `src/bones.cpp`
110- Server-side entity/health access: `src/server.cpp`
111- World vischeck / entity trace: `src/vischeck.cpp`
103- Shared API: `src/hl2h.h` 112- Shared API: `src/hl2h.h`
113- Current project overview: `CONTEXT.md`
104- SDK headers: `source-sdk-2013/src/public/vgui/` 114- SDK headers: `source-sdk-2013/src/public/vgui/`