summaryrefslogtreecommitdiffstats
path: root/src/settings.h
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-06 16:21:27 +0100
committersalmonik <salmonik@tuta.io>2026-11-06 16:21:27 +0100
commit3c27e7ce262e612fa75c6e6f090e04041a688861 (patch)
tree1c2bfd6accea27904dc9d81a61624905b220a8a0 /src/settings.h
parentHooks: central vtable install with restore support (diff)
downloadhl2h-3c27e7ce262e612fa75c6e6f090e04041a688861.tar.gz
hl2h-3c27e7ce262e612fa75c6e6f090e04041a688861.zip
Headers: split the shared header by declaration group
hl2h.h becomes an umbrella over core.h (logging, init stage, module snapshots, interfaces, netvars, CUserCmd, engine constants, vector math), settings.h (feature ids, feature state, user settings) and features.h (cross-module declarations). Translation units keep including hl2h.h, so this only moves declarations.
Diffstat (limited to 'src/settings.h')
-rw-r--r--src/settings.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/src/settings.h b/src/settings.h
new file mode 100644
index 0000000..67c82ae
--- /dev/null
+++ b/src/settings.h
@@ -0,0 +1,117 @@
1#ifndef HL2H_SETTINGS_H
2#define HL2H_SETTINGS_H
3
4#include "core.h"
5
6enum FeatureId {
7 FEAT_BHOP = 0,
8 FEAT_ABH = 1,
9 FEAT_ESP = 2,
10 FEAT_AIMBOT = 3,
11 FEAT_TRIGGERBOT = 4,
12 FEAT_SILENTAIM = 5,
13 FEAT_JUMPBUG = 6,
14 FEAT_MELEE = 7,
15 FEAT_SPREAD = 8,
16 FEAT_ITEM_ESP = 9,
17 FEAT_FULLBRIGHT = 10,
18 FEAT_WORLD_TINT = 11,
19 FEAT_FOG = 12,
20 FEAT_SKYBOX = 13,
21 FEAT_PROJECTILES = 14,
22 FEAT_CHAMS = 15,
23 FEAT_COUNT = 16
24};
25enum EspOption {
26 ESP_OPT_SHOW_NEUTRAL = 0,
27 ESP_OPT_SHOW_HEALTHBAR = 1,
28 ESP_OPT_SHOW_HEALTHNUM = 2,
29 ESP_OPT_SHOW_NAME = 3,
30 ESP_OPT_SHOW_SKELETON = 4,
31 ESP_OPT_SHOW_BOX = 5,
32 ESP_OPT_SHOW_SPEEDGRAPH = 6,
33 ESP_OPT_DAMAGE_TAGS = 7,
34 ESP_OPT_ALERT = 8,
35 ESP_OPT_WEAPON = 9,
36 ESP_OPT_ARROWS = 10,
37 ESP_OPT_COUNT = 11
38};
39enum AimBone {
40 AIM_BONE_HEAD = 0,
41 AIM_BONE_TORSO,
42 AIM_BONE_LARM,
43 AIM_BONE_RARM,
44 AIM_BONE_LLEG,
45 AIM_BONE_RLEG,
46 AIM_BONE_COUNT
47};
48
49// ---------------------------------------------------------------------------
50// feature state / settings (owned by menu.cpp alongside config)
51// ---------------------------------------------------------------------------
52
53struct FeatureState {
54 bool active;
55 int bind; // SDL scancode, 0 = none (always-on)
56};
57
58extern FeatureState g_bhop, g_abh, g_jumpbug, g_melee, g_spread, g_esp,
59 g_aimbot, g_triggerbot, g_silentaim, g_item_esp, g_fullbright,
60 g_world_tint, g_fog, g_skybox, g_projectiles, g_chams;
61extern bool g_proj_fuse, g_proj_radius, g_proj_traj;
62
63// Chams settings per relationship, and separate visible / through-wall
64// (invisible) material and colour. The viewmodel has a single style.
65struct ChamsGroup {
66 bool vis_on;
67 int vis_mat;
68 int vis_rgb[4]; // r, g, b, a (0..255)
69 bool inv_on;
70 int inv_mat;
71 int inv_rgb[4];
72};
73extern ChamsGroup g_chams_hostile, g_chams_neutral, g_chams_friendly;
74extern bool g_chams_viewmodel;
75extern int g_chams_vm_mat;
76extern int g_chams_vm_rgb[4];
77extern bool g_tint_world_on, g_tint_sky_on, g_tint_prop_on;
78extern int g_tint_world_rgb[3], g_tint_sky_rgb[3], g_tint_prop_rgb[3];
79extern bool g_fog_skybox, g_fog_disable;
80extern int g_fog_rgb[3], g_fog_start, g_fog_end;
81extern bool g_bhop_autostrafe;
82extern bool g_jumpbug_assist;
83extern bool g_spread_no_spread;
84extern bool g_item_health;
85extern bool g_item_ammo;
86extern bool g_item_armor;
87extern bool g_item_weapons;
88extern bool g_item_crates;
89extern bool g_item_distance;
90extern bool g_item_usable;
91extern int g_item_max_dist;
92extern bool g_aim_bones[AIM_BONE_COUNT];
93extern int g_aim_smooth;
94extern bool g_aim_vischeck;
95extern int g_aim_fov;
96extern bool g_aim_fov_circle;
97extern bool g_aim_punch;
98extern bool g_spread_engine;
99extern bool g_auto_crouchjump;
100extern bool g_edge_jump;
101extern int g_fov_camera;
102extern int g_fov_viewmodel;
103extern int g_tonemap;
104extern int g_esp_col_hostile[3];
105extern int g_esp_col_neutral[3];
106extern int g_esp_col_friendly[3];
107extern bool g_esp_opt[ESP_OPT_COUNT];
108extern int g_spread_pellets;
109
110const char *scancode_name(int sc);
111void config_save();
112void config_reload();
113void config_reset_defaults();
114const char *config_path_cstr();
115const char *config_file_cstr(const char *name);
116
117#endif