summaryrefslogtreecommitdiffstats
path: root/CONTEXT.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTEXT.md')
-rw-r--r--CONTEXT.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/CONTEXT.md b/CONTEXT.md
index 861fbf8..1c43b1f 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -99,6 +99,10 @@ Starts fully collapsed on first open. `Insert` toggles; `Up`/`Down` navigate;
99Bind rows enter bind-select mode: press a key/button to assign, `Escape` sets 99Bind rows enter bind-select mode: press a key/button to assign, `Escape` sets
100None (always-on), `Enter` cancels. 100None (always-on), `Enter` cancels.
101 101
102> The text menu below is being replaced by the GUI described in the next
103> section. The old tree is kept only until the GUI reaches parity. The current
104> preview shell opens with F2; Insert still opens the text tree.
105
102``` 106```
103HL2hake 107HL2hake
104 Bunnyhop 108 Bunnyhop
@@ -136,6 +140,30 @@ HL2hake
136 140
137Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. 141Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604.
138 142
143## GUI vocabulary / decisions
144
145- **GUI**: custom immediate-mode settings surface drawn through the existing
146 `ISurface` paint path. No Dear ImGui, no OpenGL hook, no new runtime
147 dependency.
148- **Category**: sidebar group. Movement, Combat, Visuals, Weapons, System.
149- **Card**: per-feature panel. Header always shows Active + Bind; body is a
150 collapsible set of settings.
151- **Freeze**: while the GUI is open, the usercmd movement/buttons/impulses/view
152 are held and combat features are skipped; the game keeps simulating and
153 ESP/FOV circle/speed graph keep drawing. No invulnerability.
154- **Native cursor**: on open, leave SDL relative-mouse mode and show the OS
155 cursor; restore on close. Absolute mouse coordinates are used.
156- **Bind capture**: click Bind, press a key/button; Esc or clicking elsewhere
157 cancels; Clear sets None; Insert is reserved for the GUI.
158- **UI scale**: `clamp(min(screen_w/1920, screen_h/1080), 0.75, 1.5)`; base
159 window 960x620, body/title fonts 15/20 px at scale 1.
160- Every feature gets Active + Bind; bind None means always-on.
161- System page: config path/build info, Reload config, and a two-click Reset
162 that restores feature settings/binds but keeps GUI layout.
163- Window: fixed-size, draggable by title bar, clamped to screen, position,
164 category and expanded cards persisted under `[gui]`.
165
166
139## Bones / ESP 167## Bones / ESP
140 168
141- `SetupBones(BONE_USED_BY_ANYTHING)` with engine `Time()`; studio header via 169- `SetupBones(BONE_USED_BY_ANYTHING)` with engine `Time()`; studio header via