summaryrefslogtreecommitdiffstats
path: root/src/settings.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-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