diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-06 16:21:27 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-06 16:21:27 +0100 |
| commit | 3c27e7ce262e612fa75c6e6f090e04041a688861 (patch) | |
| tree | 1c2bfd6accea27904dc9d81a61624905b220a8a0 /src/settings.h | |
| parent | Hooks: central vtable install with restore support (diff) | |
| download | hl2h-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.h | 117 |
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 | |||
| 6 | enum 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 | }; | ||
| 25 | enum 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 | }; | ||
| 39 | enum 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 | |||
| 53 | struct FeatureState { | ||
| 54 | bool active; | ||
| 55 | int bind; // SDL scancode, 0 = none (always-on) | ||
| 56 | }; | ||
| 57 | |||
| 58 | extern 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; | ||
| 61 | extern 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. | ||
| 65 | struct 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 | }; | ||
| 73 | extern ChamsGroup g_chams_hostile, g_chams_neutral, g_chams_friendly; | ||
| 74 | extern bool g_chams_viewmodel; | ||
| 75 | extern int g_chams_vm_mat; | ||
| 76 | extern int g_chams_vm_rgb[4]; | ||
| 77 | extern bool g_tint_world_on, g_tint_sky_on, g_tint_prop_on; | ||
| 78 | extern int g_tint_world_rgb[3], g_tint_sky_rgb[3], g_tint_prop_rgb[3]; | ||
| 79 | extern bool g_fog_skybox, g_fog_disable; | ||
| 80 | extern int g_fog_rgb[3], g_fog_start, g_fog_end; | ||
| 81 | extern bool g_bhop_autostrafe; | ||
| 82 | extern bool g_jumpbug_assist; | ||
| 83 | extern bool g_spread_no_spread; | ||
| 84 | extern bool g_item_health; | ||
| 85 | extern bool g_item_ammo; | ||
| 86 | extern bool g_item_armor; | ||
| 87 | extern bool g_item_weapons; | ||
| 88 | extern bool g_item_crates; | ||
| 89 | extern bool g_item_distance; | ||
| 90 | extern bool g_item_usable; | ||
| 91 | extern int g_item_max_dist; | ||
| 92 | extern bool g_aim_bones[AIM_BONE_COUNT]; | ||
| 93 | extern int g_aim_smooth; | ||
| 94 | extern bool g_aim_vischeck; | ||
| 95 | extern int g_aim_fov; | ||
| 96 | extern bool g_aim_fov_circle; | ||
| 97 | extern bool g_aim_punch; | ||
| 98 | extern bool g_spread_engine; | ||
| 99 | extern bool g_auto_crouchjump; | ||
| 100 | extern bool g_edge_jump; | ||
| 101 | extern int g_fov_camera; | ||
| 102 | extern int g_fov_viewmodel; | ||
| 103 | extern int g_tonemap; | ||
| 104 | extern int g_esp_col_hostile[3]; | ||
| 105 | extern int g_esp_col_neutral[3]; | ||
| 106 | extern int g_esp_col_friendly[3]; | ||
| 107 | extern bool g_esp_opt[ESP_OPT_COUNT]; | ||
| 108 | extern int g_spread_pellets; | ||
| 109 | |||
| 110 | const char *scancode_name(int sc); | ||
| 111 | void config_save(); | ||
| 112 | void config_reload(); | ||
| 113 | void config_reset_defaults(); | ||
| 114 | const char *config_path_cstr(); | ||
| 115 | const char *config_file_cstr(const char *name); | ||
| 116 | |||
| 117 | #endif | ||
