diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-27 18:21:13 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-27 18:21:13 +0100 |
| commit | 304441c71997ee61e618146f4d4302c6d2b952ad (patch) | |
| tree | e7a00d279b257f88e7a590da59023533cae6ae80 /CONTEXT.md | |
| parent | GUI: allow movement while open; freeze look and block bind capture (diff) | |
| download | hl2h-304441c71997ee61e618146f4d4302c6d2b952ad.tar.gz hl2h-304441c71997ee61e618146f4d4302c6d2b952ad.zip | |
GUI: Insert-only close, freeze mouse look at the source
Feedback pass:
- Insert now toggles the GUI; the old text tree moved to F1.
- Remove the title-bar X. Insert is the only close path; Esc only cancels
bind capture.
- Discard accumulated mouse deltas in CInput::CreateMove before the game can
apply them (CInput::ClearStates), so the camera no longer moves for a frame
and snaps back. Also skip ExtraMouseSample and zero relative mouse state
while the GUI is open.
- Strip attack/use/impulse/weapon selection from the command while open;
keep jump, duck and walk. Skip combat command edits (spread seed) too.
- Widen System page buttons so "Reload config" and "Reset defaults" fit.
- Update CONTEXT/ADR for the Insert-only close behavior.
Diffstat (limited to '')
| -rw-r--r-- | CONTEXT.md | 17 |
1 files changed, 9 insertions, 8 deletions
| @@ -94,14 +94,14 @@ Relevant vtable slots (this build): | |||
| 94 | 94 | ||
| 95 | ## Menu | 95 | ## Menu |
| 96 | 96 | ||
| 97 | Starts fully collapsed on first open. `Insert` toggles; `Up`/`Down` navigate; | 97 | Preview key: `F1` (the final GUI will replace this tree). Starts fully collapsed on first open. `F1` toggles; `Up`/`Down` navigate; |
| 98 | `Enter` expands/toggles; `Left`/`Right` edit values; `Escape` closes. | 98 | `Enter` expands/toggles; `Left`/`Right` edit values; `Escape` closes. |
| 99 | Bind rows enter bind-select mode: press a key/button to assign, `Escape` sets | 99 | Bind rows enter bind-select mode: press a key/button to assign, `Escape` sets |
| 100 | None (always-on), `Enter` cancels. | 100 | None (always-on), `Enter` cancels. |
| 101 | 101 | ||
| 102 | > The text menu below is being replaced by the GUI described in the next | 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 | 103 | > section. The old tree is kept only until the GUI reaches parity. During the |
| 104 | > preview shell opens with F2; Insert still opens the text tree. | 104 | > preview, **Insert** toggles the GUI and the old text tree is on **F1**. |
| 105 | 105 | ||
| 106 | ``` | 106 | ``` |
| 107 | HL2hake | 107 | HL2hake |
| @@ -149,10 +149,11 @@ Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. | |||
| 149 | - **Card**: per-feature panel. Header always shows Active + Bind; body is a | 149 | - **Card**: per-feature panel. Header always shows Active + Bind; body is a |
| 150 | collapsible set of settings. | 150 | collapsible set of settings. |
| 151 | - **Freeze**: while the GUI is open, look/attack/use/impulse/weapon selection | 151 | - **Freeze**: while the GUI is open, look/attack/use/impulse/weapon selection |
| 152 | are blocked and combat features are skipped, but normal WASD/jump/duck | 152 | are blocked and combat features are skipped, but normal WASD/jump/duck/walk |
| 153 | movement is allowed. Bind capture blocks all game input until it ends. The | 153 | movement is allowed. Mouse deltas are discarded before `CInput::CreateMove` |
| 154 | game keeps simulating and ESP/FOV circle/speed graph keep drawing. No | 154 | can apply them (`CInput::ClearStates`), so the view cannot drift for a frame. |
| 155 | invulnerability. | 155 | Bind capture blocks all game input until it ends. The game keeps simulating |
| 156 | and ESP/FOV circle/speed graph keep drawing. No invulnerability. | ||
| 156 | - **Native cursor**: on open, leave SDL relative-mouse mode and show the OS | 157 | - **Native cursor**: on open, leave SDL relative-mouse mode and show the OS |
| 157 | cursor; restore on close. Absolute mouse coordinates are used. | 158 | cursor; restore on close. Absolute mouse coordinates are used. |
| 158 | - **Bind capture**: click Bind, press a key/button; Esc cancels capture but | 159 | - **Bind capture**: click Bind, press a key/button; Esc cancels capture but |
| @@ -165,7 +166,7 @@ Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. | |||
| 165 | that restores feature settings/binds but keeps GUI layout. | 166 | that restores feature settings/binds but keeps GUI layout. |
| 166 | - Window: fixed-size, draggable by title bar, clamped to screen, position, | 167 | - Window: fixed-size, draggable by title bar, clamped to screen, position, |
| 167 | category and expanded cards persisted under `[gui]`. Esc does not close the | 168 | category and expanded cards persisted under `[gui]`. Esc does not close the |
| 168 | GUI; the toggle key or title-bar X does. | 169 | GUI; the toggle key (Insert) is the only close path. There is no title-bar X. |
| 169 | 170 | ||
| 170 | 171 | ||
| 171 | ## Bones / ESP | 172 | ## Bones / ESP |
