summaryrefslogtreecommitdiffstats
path: root/src/settings.h
blob: 67c82aeb4b7df971081f4659fc0b5a769a5dbf30 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#ifndef HL2H_SETTINGS_H
#define HL2H_SETTINGS_H

#include "core.h"

enum FeatureId {
  FEAT_BHOP = 0,
  FEAT_ABH = 1,
  FEAT_ESP = 2,
  FEAT_AIMBOT = 3,
  FEAT_TRIGGERBOT = 4,
  FEAT_SILENTAIM = 5,
  FEAT_JUMPBUG = 6,
  FEAT_MELEE = 7,
  FEAT_SPREAD = 8,
  FEAT_ITEM_ESP = 9,
  FEAT_FULLBRIGHT = 10,
  FEAT_WORLD_TINT = 11,
  FEAT_FOG = 12,
  FEAT_SKYBOX = 13,
  FEAT_PROJECTILES = 14,
  FEAT_CHAMS = 15,
  FEAT_COUNT = 16
};
enum EspOption {
  ESP_OPT_SHOW_NEUTRAL = 0,
  ESP_OPT_SHOW_HEALTHBAR = 1,
  ESP_OPT_SHOW_HEALTHNUM = 2,
  ESP_OPT_SHOW_NAME = 3,
  ESP_OPT_SHOW_SKELETON = 4,
  ESP_OPT_SHOW_BOX = 5,
  ESP_OPT_SHOW_SPEEDGRAPH = 6,
  ESP_OPT_DAMAGE_TAGS = 7,
  ESP_OPT_ALERT = 8,
  ESP_OPT_WEAPON = 9,
  ESP_OPT_ARROWS = 10,
  ESP_OPT_COUNT = 11
};
enum AimBone {
  AIM_BONE_HEAD = 0,
  AIM_BONE_TORSO,
  AIM_BONE_LARM,
  AIM_BONE_RARM,
  AIM_BONE_LLEG,
  AIM_BONE_RLEG,
  AIM_BONE_COUNT
};

// ---------------------------------------------------------------------------
// feature state / settings (owned by menu.cpp alongside config)
// ---------------------------------------------------------------------------

struct FeatureState {
  bool active;
  int bind; // SDL scancode, 0 = none (always-on)
};

extern FeatureState g_bhop, g_abh, g_jumpbug, g_melee, g_spread, g_esp,
    g_aimbot, g_triggerbot, g_silentaim, g_item_esp, g_fullbright,
    g_world_tint, g_fog, g_skybox, g_projectiles, g_chams;
extern bool g_proj_fuse, g_proj_radius, g_proj_traj;

// Chams settings per relationship, and separate visible / through-wall
// (invisible) material and colour. The viewmodel has a single style.
struct ChamsGroup {
  bool vis_on;
  int vis_mat;
  int vis_rgb[4]; // r, g, b, a (0..255)
  bool inv_on;
  int inv_mat;
  int inv_rgb[4];
};
extern ChamsGroup g_chams_hostile, g_chams_neutral, g_chams_friendly;
extern bool g_chams_viewmodel;
extern int g_chams_vm_mat;
extern int g_chams_vm_rgb[4];
extern bool g_tint_world_on, g_tint_sky_on, g_tint_prop_on;
extern int g_tint_world_rgb[3], g_tint_sky_rgb[3], g_tint_prop_rgb[3];
extern bool g_fog_skybox, g_fog_disable;
extern int g_fog_rgb[3], g_fog_start, g_fog_end;
extern bool g_bhop_autostrafe;
extern bool g_jumpbug_assist;
extern bool g_spread_no_spread;
extern bool g_item_health;
extern bool g_item_ammo;
extern bool g_item_armor;
extern bool g_item_weapons;
extern bool g_item_crates;
extern bool g_item_distance;
extern bool g_item_usable;
extern int g_item_max_dist;
extern bool g_aim_bones[AIM_BONE_COUNT];
extern int g_aim_smooth;
extern bool g_aim_vischeck;
extern int g_aim_fov;
extern bool g_aim_fov_circle;
extern bool g_aim_punch;
extern bool g_spread_engine;
extern bool g_auto_crouchjump;
extern bool g_edge_jump;
extern int g_fov_camera;
extern int g_fov_viewmodel;
extern int g_tonemap;
extern int g_esp_col_hostile[3];
extern int g_esp_col_neutral[3];
extern int g_esp_col_friendly[3];
extern bool g_esp_opt[ESP_OPT_COUNT];
extern int g_spread_pellets;

const char *scancode_name(int sc);
void config_save();
void config_reload();
void config_reset_defaults();
const char *config_path_cstr();
const char *config_file_cstr(const char *name);

#endif