<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hl2h/docs, branch master</title>
<subtitle>Simple internal C++ cheat for HL2 for GNU/Linux.
</subtitle>
<id>https://git.2137697.xyz/hl2h/atom?h=master</id>
<link rel='self' href='https://git.2137697.xyz/hl2h/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/hl2h/'/>
<updated>2026-10-27T17:36:31Z</updated>
<entry>
<title>GUI: fix footer clipping; remove the old text menu</title>
<updated>2026-10-27T17:36:31Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:36:31Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/hl2h/commit/?id=8ba97262a0219d7defd928d7bfb5f4214f235fc8'/>
<id>urn:sha1:8ba97262a0219d7defd928d7bfb5f4214f235fc8</id>
<content type='text'>
- Right-align the footer hint and size the config label from the remaining
  width, so "INS close" is no longer truncated.
- Delete the text-tree menu now that the GUI has feature parity: remove the
  tree/input/render code, the F1 toggle and menu_force_close.
- Keep only held-key polling for feature binds; poll it every frame from
  outer_draw.
- Update CONTEXT/ADR: the GUI is the only menu.
</content>
</entry>
<entry>
<title>GUI: wire real feature state and config</title>
<updated>2026-10-27T17:31:27Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:31:27Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/hl2h/commit/?id=f1794edcc60f6a27e622884c82397bb77e2aa280'/>
<id>urn:sha1:f1794edcc60f6a27e622884c82397bb77e2aa280</id>
<content type='text'>
Replace the dummy preview controls with the actual settings:

- cards bind directly to the feature state and the existing option
  variables; Active/Bind now drive the same gates as the text menu;
- every feature persists active+bind, including movement, melee and spread;
- config path and build info are real; Reload config re-reads the INI;
- Reset defaults is two-click, restores feature settings/binds and keeps
  the GUI layout;
- window position, category and expanded cards persist under [gui] in the
  same config file; layout saves on drag/category/expand/close;
- mouse bind capture handles all five buttons and consumes the click so it
  cannot re-arm immediately;
- Active/Bind tooltips and full scancode names.

The old text tree stays on F1 for one verification pass.
</content>
</entry>
<entry>
<title>GUI: Insert-only close, freeze mouse look at the source</title>
<updated>2026-10-27T17:21:13Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:21:13Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/hl2h/commit/?id=304441c71997ee61e618146f4d4302c6d2b952ad'/>
<id>urn:sha1:304441c71997ee61e618146f4d4302c6d2b952ad</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>GUI: allow movement while open; freeze look and block bind capture</title>
<updated>2026-10-27T17:09:19Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:09:19Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/hl2h/commit/?id=3fae02c7d342981c9910db7715305bc57b261a8b'/>
<id>urn:sha1:3fae02c7d342981c9910db7715305bc57b261a8b</id>
<content type='text'>
Feedback pass on the preview shell:

- Freeze the rendered view explicitly in CreateMove and again at
  FRAME_RENDER_START; CInput was still letting mouse look move the camera.
- Allow normal WASD/jump/duck movement while the GUI is open; strip
  attack/use/impulse/weapon selection so GUI clicks do not fire.
- While bind capture is active, block all game input.
- Esc no longer closes the GUI; it only cancels bind capture. F2 or the
  title-bar X close the preview.
- Interpose SDL_ShowCursor / SDL_SetRelativeMouseMode / warp / window grab so
  the game cannot re-capture or hide the native cursor while the GUI is open.
</content>
</entry>
<entry>
<title>GUI: add F2 preview shell with dummy controls</title>
<updated>2026-10-27T17:02:10Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:02:10Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/hl2h/commit/?id=0e9f3422e37d0b2d1344efec5ceb07c2246bfcd7'/>
<id>urn:sha1:0e9f3422e37d0b2d1344efec5ceb07c2246bfcd7</id>
<content type='text'>
First vertical slice for the custom ISurface GUI:

- window/sidebar/content shell with Movement, Combat, Visuals, Weapons and
  System categories;
- cards with dummy Active/Bind, collapsible settings, toggles, sliders,
  buttons, bind capture, scrolling and tooltips;
- native OS cursor by releasing SDL relative mode; reasserted while open;
- F2 toggles the preview; Insert still opens the old text tree;
- while the GUI is open, do_move freezes movement/buttons/impulses/view and
  skips combat features; ESP and the speed graph keep drawing.

Dummy controls do not touch the real config yet. The text menu is removed
after feature parity in the next pass.
</content>
</entry>
</feed>
