summaryrefslogtreecommitdiffstats
path: root/src/hl2h.h
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-04 17:51:20 +0100
committersalmonik <salmonik@tuta.io>2026-11-04 17:51:20 +0100
commit49df428d95a7c443d418d5b7e2a93af599b54f76 (patch)
tree604e64048aacc5e2b86f441e03e5e5ab8600bef2 /src/hl2h.h
parentItems: skip the CNetworkArray length header for m_iAmmo/m_hMyWeapons (diff)
downloadhl2h-49df428d95a7c443d418d5b7e2a93af599b54f76.tar.gz
hl2h-49df428d95a7c443d418d5b7e2a93af599b54f76.zip
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.
Diffstat (limited to 'src/hl2h.h')
-rw-r--r--src/hl2h.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/hl2h.h b/src/hl2h.h
index d8927c7..55fac0d 100644
--- a/src/hl2h.h
+++ b/src/hl2h.h
@@ -68,6 +68,7 @@ struct GameInterfaces {
68 void *debugoverlay = nullptr; // IVDebugOverlay003 (engine-accurate world->screen) 68 void *debugoverlay = nullptr; // IVDebugOverlay003 (engine-accurate world->screen)
69 void *enginetrace = nullptr; // EngineTraceClient003 (world vischeck) 69 void *enginetrace = nullptr; // EngineTraceClient003 (world vischeck)
70 void *cvar = nullptr; // VEngineCvar004 (mat_fullbright etc.) 70 void *cvar = nullptr; // VEngineCvar004 (mat_fullbright etc.)
71 void *modelrender = nullptr; // VEngineModel016 (chams)
71}; 72};
72extern GameInterfaces g_iface; 73extern GameInterfaces g_iface;
73 74
@@ -189,7 +190,8 @@ enum FeatureId {
189 FEAT_FOG = 12, 190 FEAT_FOG = 12,
190 FEAT_SKYBOX = 13, 191 FEAT_SKYBOX = 13,
191 FEAT_PROJECTILES = 14, 192 FEAT_PROJECTILES = 14,
192 FEAT_COUNT = 15 193 FEAT_CHAMS = 15,
194 FEAT_COUNT = 16
193}; 195};
194enum EspOption { 196enum EspOption {
195 ESP_OPT_SHOW_NEUTRAL = 0, 197 ESP_OPT_SHOW_NEUTRAL = 0,
@@ -226,8 +228,10 @@ struct FeatureState {
226 228
227extern FeatureState g_bhop, g_abh, g_jumpbug, g_melee, g_spread, g_esp, 229extern FeatureState g_bhop, g_abh, g_jumpbug, g_melee, g_spread, g_esp,
228 g_aimbot, g_triggerbot, g_silentaim, g_item_esp, g_fullbright, 230 g_aimbot, g_triggerbot, g_silentaim, g_item_esp, g_fullbright,
229 g_world_tint, g_fog, g_skybox, g_projectiles; 231 g_world_tint, g_fog, g_skybox, g_projectiles, g_chams;
230extern bool g_proj_fuse, g_proj_radius; 232extern bool g_proj_fuse, g_proj_radius;
233extern bool g_chams_walls;
234extern int g_chams_rgb[3];
231extern bool g_tint_world_on, g_tint_sky_on, g_tint_prop_on; 235extern bool g_tint_world_on, g_tint_sky_on, g_tint_prop_on;
232extern int g_tint_world_rgb[3], g_tint_sky_rgb[3], g_tint_prop_rgb[3]; 236extern int g_tint_world_rgb[3], g_tint_sky_rgb[3], g_tint_prop_rgb[3];
233extern bool g_fog_skybox, g_fog_disable; 237extern bool g_fog_skybox, g_fog_disable;
@@ -329,6 +333,9 @@ bool aimbot_fov_circle();
329void aimbot_reset_lock(); 333void aimbot_reset_lock();
330void silentaim_reset_lock(); 334void silentaim_reset_lock();
331void *entitylist_get(int idx); 335void *entitylist_get(int idx);
336bool esp_is_npc_index(int idx);
337void *world_find_material(const char *name);
338void chams_init();
332int engine_get_local_player(); 339int engine_get_local_player();
333void draw_text_col(int x, int y, const char *s, int r, int g, int b); 340void draw_text_col(int x, int y, const char *s, int r, int g, int b);
334void draw_text_small_col(int x, int y, const char *s, int r, int g, int b); 341void draw_text_small_col(int x, int y, const char *s, int r, int g, int b);