diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-04 18:15:18 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-04 18:15:18 +0100 |
| commit | 83b36aaaf146325af2d93dfbaf21eccba91a5d74 (patch) | |
| tree | 2f6cd5a1d38231df4a6650e223681863f651e1df /CONTEXT.md | |
| parent | Chams: material styles and viewmodel support (diff) | |
| download | hl2h-83b36aaaf146325af2d93dfbaf21eccba91a5d74.tar.gz hl2h-83b36aaaf146325af2d93dfbaf21eccba91a5d74.zip | |
Chams: exact material styles, GUI dropdown, viewmodel hookup
- world_find_material now tries the exact requested style first (resident,
then FindMaterial) before falling back to debugwhite/vgui white. The old
candidate scan returned vgui/white for every style, so all materials looked
flat.
- Add a real CK_DROPDOWN control (overlay list, outside-click close, config
save) and use it for the Chams material selector.
- Chams viewmodel toggle included in config/UI.
Diffstat (limited to '')
| -rw-r--r-- | CONTEXT.md | 15 |
1 files changed, 9 insertions, 6 deletions
| @@ -111,6 +111,10 @@ vocabulary / decisions. | |||
| 111 | - **Category**: sidebar group. Movement, Combat, Visuals, Weapons, System. | 111 | - **Category**: sidebar group. Movement, Combat, Visuals, Weapons, System. |
| 112 | - **Card**: per-feature panel. Header always shows Active + Bind; body is a | 112 | - **Card**: per-feature panel. Header always shows Active + Bind; body is a |
| 113 | collapsible set of settings. | 113 | collapsible set of settings. |
| 114 | - **Dropdown**: `CK_DROPDOWN` row with a value button; clicking opens an | ||
| 115 | overlay list below the row (above it near the window bottom). Clicking an | ||
| 116 | option sets the value and saves the config; clicking elsewhere closes it. | ||
| 117 | One dropdown is open at a time; it is not clipped by the card/content rect. | ||
| 114 | - **Text layout**: measured with `ISurface::GetTextSize` and wrapped to the | 118 | - **Text layout**: measured with `ISurface::GetTextSize` and wrapped to the |
| 115 | available width. Card headers, control rows, info rows, tooltips and toasts | 119 | available width. Card headers, control rows, info rows, tooltips and toasts |
| 116 | grow/wrap instead of truncating; there is no ellipsis truncation. The config | 120 | grow/wrap instead of truncating; there is no ellipsis truncation. The config |
| @@ -293,16 +297,15 @@ vocabulary / decisions. | |||
| 293 | materials ignore ColorModulate. The shared material's flag and colour are | 297 | materials ignore ColorModulate. The shared material's flag and colour are |
| 294 | restored to (false, white) after the draw. | 298 | restored to (false, white) after the draw. |
| 295 | - Material lookup walks the `IMaterialSystem` list (`world_find_material`), with | 299 | - Material lookup walks the `IMaterialSystem` list (`world_find_material`), with |
| 296 | `FindMaterial` (slot 71) as the fallback. The style index selects: | 300 | `FindMaterial` (slot 71) as the fallback. The **exact requested style** is |
| 297 | 0 `models/debug/debugwhite`, 1 `debug/debugwireframevertexcolorignorez`, | 301 | tried first (resident, then loaded on demand), and only if that fails does it |
| 298 | 2 `vgui/white_additive`, 3 `debug/debugtranslucentsinglecolor`, | 302 | fall back to `models/debug/debugwhite`/`vgui/white`. Styles: Flat, Wireframe, |
| 299 | 4 `vgui/white`; if the requested style is unavailable it falls back to the | 303 | Additive glow, Solid, White. The chosen material name is logged. |
| 300 | first available debugwhite candidate. The chosen material name is logged. | ||
| 301 | - `Viewmodel (hands/weapon)` also applies the override to entities whose class | 304 | - `Viewmodel (hands/weapon)` also applies the override to entities whose class |
| 302 | contains `viewmodel` or whose model path is `.../v_...`. The viewmodel gets | 305 | contains `viewmodel` or whose model path is `.../v_...`. The viewmodel gets |
| 303 | only the normal-depth pass (no ignorez). | 306 | only the normal-depth pass (no ignorez). |
| 304 | - Feature is off by default; `[chams] active/bind/walls/viewmodel/material/r/g/b`, | 307 | - Feature is off by default; `[chams] active/bind/walls/viewmodel/material/r/g/b`, |
| 305 | with Through walls, Viewmodel, Material (0..4) and colour in the Visuals | 308 | with Through walls, Viewmodel, a Material dropdown and colour in the Visuals |
| 306 | card. | 309 | card. |
| 307 | - This is a flat material override, not stencil outlines; depth handling is | 310 | - This is a flat material override, not stencil outlines; depth handling is |
| 308 | the simple ignorez/normal two-pass. | 311 | the simple ignorez/normal two-pass. |
