summaryrefslogtreecommitdiffstats
path: root/CONTEXT.md
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-04 19:36:24 +0100
committersalmonik <salmonik@tuta.io>2026-11-04 19:36:24 +0100
commitb661a8dfd2c02bea54d8581ebb35d0fb3267867c (patch)
tree817760a933a14cc0e6446299424a017a9a1c88cf /CONTEXT.md
parentChams: keep additive viewmodel visible on bright backgrounds (diff)
downloadhl2h-b661a8dfd2c02bea54d8581ebb35d0fb3267867c.tar.gz
hl2h-b661a8dfd2c02bea54d8581ebb35d0fb3267867c.zip
Chams: per-colour alpha and a softer viewmodel additive base
- Colour picker gains an optional alpha bar (checkerboard preview, #RRGGBBAA readout); add_color_alpha is used for the chams colours. Chams colours are now r,g,b,a and chams_apply sets $alpha plus MATERIAL_VAR_TRANSLUCENT when alpha < 255. Config stores vis_a / inv_a / vm a. - The additive viewmodel base is now a faint translucent tint (alpha/8) instead of an opaque fill, so additive/Fullbright stay see-through and the viewmodel no longer becomes a solid blob. Fullbright whitening reduced to 25% so blue stays blue instead of turning lavender.
Diffstat (limited to 'CONTEXT.md')
-rw-r--r--CONTEXT.md26
1 files changed, 16 insertions, 10 deletions
diff --git a/CONTEXT.md b/CONTEXT.md
index c75e36c..1bb0a6a 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -290,11 +290,16 @@ vocabulary / decisions.
290 viewmodel entities (class contains `viewmodel` or model path `.../v_...`) 290 viewmodel entities (class contains `viewmodel` or model path `.../v_...`)
291 are a fourth group. 291 are a fourth group.
292- Each relationship has independent **visible** and **through-wall** settings: 292- Each relationship has independent **visible** and **through-wall** settings:
293 on/off, style, and colour. The viewmodel has on/off, style and colour only. 293 on/off, style, colour and alpha. The viewmodel has on/off, style, colour and
294 The through-wall pass uses `MATERIAL_VAR_IGNOREZ` (1 << 15) through 294 alpha only. The through-wall pass uses `MATERIAL_VAR_IGNOREZ` (1 << 15)
295 `IMaterial::SetMaterialVarFlag` (slot 29); colours use `$color`/`$color2` 295 through `IMaterial::SetMaterialVarFlag` (slot 29); colours use
296 (IMaterialVar slot 11, SetVecValue 3-float slot 11) and `ColorModulate` 296 `$color`/`$color2` (IMaterialVar slot 11, SetVecValue 3-float slot 11) and
297 (slot 28). Shared materials are restored after each draw. 297 `ColorModulate` (slot 28). Alpha uses `$alpha` (IMaterialVar slot 3,
298 SetFloatValue) and `MATERIAL_VAR_TRANSLUCENT` (1 << 21) when alpha < 255.
299 Shared materials are restored after each draw.
300- The GUI colour picker (`add_color_alpha`) has an alpha bar, checkerboard
301 preview and `#RRGGBBAA` readout; plain `add_color` keeps the old opaque
302 three-component behaviour. Chams colours are four ints (r, g, b, a).
298- Styles are built from `debug/debugtranslucentsinglecolor` (UnlitGeneric, 303- Styles are built from `debug/debugtranslucentsinglecolor` (UnlitGeneric,
299 `$color`) and material flags: 304 `$color`) and material flags:
300 0 Flat (solid + FLAT), 1 Wireframe (`debug/debugwireframe`), 2 Additive 305 0 Flat (solid + FLAT), 1 Wireframe (`debug/debugwireframe`), 2 Additive
@@ -310,12 +315,13 @@ vocabulary / decisions.
310- Viewmodels are collated by the engine as `RENDER_GROUP_VIEW_MODEL_OPAQUE`, 315- Viewmodels are collated by the engine as `RENDER_GROUP_VIEW_MODEL_OPAQUE`,
311 so an additive forced material can wash out against a bright sky or wall 316 so an additive forced material can wash out against a bright sky or wall
312 (and the engine may not treat the draw as translucent). Additive styles on 317 (and the engine may not treat the draw as translucent). Additive styles on
313 the viewmodel therefore draw a dim opaque solid base first, then the 318 the viewmodel therefore draw a faint translucent base (alpha/8) first, then
314 additive pass; the first-person model never disappears. 319 the additive pass, so the model keeps a silhouette on bright backgrounds
320 without becoming an opaque blob.
315- Feature is off by default. Config sections: `[chams]` (active/bind), 321- Feature is off by default. Config sections: `[chams]` (active/bind),
316 `[chams_hostile|neutral|friendly]` (`vis`, `vis_mat`, `vis_r/g/b`, `inv`, 322 `[chams_hostile|neutral|friendly]` (`vis`, `vis_mat`, `vis_r/g/b/a`, `inv`,
317 `inv_mat`, `inv_r/g/b`) and `[chams_vm]` (`on`, `mat`, `r/g/b`). The GUI has 323 `inv_mat`, `inv_r/g/b/a`) and `[chams_vm]` (`on`, `mat`, `r/g/b/a`). The GUI
318 a Hostile/Neutral/Friendly section each, plus Viewmodel. 324 has a Hostile/Neutral/Friendly section each, plus Viewmodel.
319- This is a material override, not stencil outlines. 325- This is a material override, not stencil outlines.
320 326
321## Bones / ESP 327## Bones / ESP