summaryrefslogtreecommitdiffstats
path: root/CONTEXT.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CONTEXT.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/CONTEXT.md b/CONTEXT.md
index 92094bc..1fe24a0 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -278,6 +278,25 @@ vocabulary / decisions.
278 visible corner. Each edge is clipped at the camera near plane and then to the 278 visible corner. Each edge is clipped at the camera near plane and then to the
279 screen, so a box straddling the camera still draws its visible portions. 279 screen, so a box straddling the camera still draws its visible portions.
280 280
281## Chams
282
283- Hooks `IVModelRender::DrawModelExecute` (slot 19 in `VEngineModel016`).
284 The model's entity is `ModelRenderInfo_t::entity_index` (32-bit offset 0x30);
285 only entities for which `esp_is_npc_index` says the client class is an NPC
286 are affected.
287- Uses `IVModelRender::ForcedMaterialOverride` (slot 1) with
288 `models/debug/debugwhite` and draws twice: first with
289 `MATERIAL_VAR_IGNOREZ` (1 << 15) set through `IMaterial::SetMaterialVarFlag`
290 (slot 29) for the through-wall pass, then without it. `IMaterial::
291 ColorModulate` (slot 28) applies the configured colour. The shared material's
292 flag and colour are restored to (false, white) after the draw.
293- Material lookup walks the `IMaterialSystem` list (`world_find_material`), with
294 `FindMaterial` (slot 71) as the fallback for a not-yet-resident material.
295- Feature is off by default; `[chams] active/bind/walls/r/g/b`, with a
296 "Through walls" toggle and colour picker in the Visuals card.
297- This is a flat material override, not stencil outlines; depth handling is
298 the simple ignorez/normal two-pass.
299
281## Bones / ESP 300## Bones / ESP
282 301
283- `SetupBones(BONE_USED_BY_ANYTHING)` with engine `Time()`; studio header via 302- `SetupBones(BONE_USED_BY_ANYTHING)` with engine `Time()`; studio header via