From 49df428d95a7c443d418d5b7e2a93af599b54f76 Mon Sep 17 00:00:00 2001 From: salmonik Date: Wed, 4 Nov 2026 17:51:20 +0100 Subject: Add chams - Hook IVModelRender::DrawModelExecute (VEngineModel016 slot 19) and force models/debug/debugwhite for NPC models, identified by ModelRenderInfo_t::entity_index. - Two passes: MATERIAL_VAR_IGNOREZ through walls, then normal depth, with IMaterial::ColorModulate for the configured colour; restore the shared material's flag/colour afterwards. - Material lookup via the IMaterialSystem list, FindMaterial fallback. - New Chams feature/card with Through walls and colour; [chams] config. - Remove the temporary ammo/projectile/fuse diagnostics. --- src/hl2h.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/hl2h.cpp') diff --git a/src/hl2h.cpp b/src/hl2h.cpp index 703a582..067b11f 100644 --- a/src/hl2h.cpp +++ b/src/hl2h.cpp @@ -1148,6 +1148,7 @@ static void *setup_thread(void *) { g_iface.engineserver = ef("VEngineServer021", nullptr); g_iface.debugoverlay = ef("VDebugOverlay003", nullptr); g_iface.enginetrace = ef("EngineTraceClient003", nullptr); + g_iface.modelrender = ef("VEngineModel016", nullptr); static const char *cvar_names[] = {"VEngineCvar004", "VEngineCvar007", "VEngineCvar003", "IVEngineCvar004", nullptr}; @@ -1178,6 +1179,9 @@ static void *setup_thread(void *) { "enginetrace: %p (EngineTraceClient003)", g_iface.engineserver, g_iface.debugoverlay, g_iface.enginetrace); logf("cvar: %p (VEngineCvar004)", g_iface.cvar); + logf("modelrender: %p (VEngineModel016)", g_iface.modelrender); + + chams_init(); resolve_netvars(); if (!g_net.ok()) -- cgit v1.2.3