summaryrefslogtreecommitdiffstats
path: root/src/menu.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/menu.cpp50
1 files changed, 32 insertions, 18 deletions
diff --git a/src/menu.cpp b/src/menu.cpp
index bdb9531..873f5ed 100644
--- a/src/menu.cpp
+++ b/src/menu.cpp
@@ -64,12 +64,15 @@ FeatureState g_projectiles{true, 0}; // grenade / rocket ESP
64bool g_proj_fuse = true; 64bool g_proj_fuse = true;
65bool g_proj_radius = true; 65bool g_proj_radius = true;
66FeatureState g_chams{false, 0}; 66FeatureState g_chams{false, 0};
67ChamsGroup g_chams_hostile{true, 3, {255, 60, 60}, true, 3, {255, 60, 60}}; 67ChamsGroup g_chams_hostile{true, 3, {255, 60, 60, 255}, true, 3,
68ChamsGroup g_chams_neutral{true, 3, {220, 220, 220}, false, 3, {220, 220, 220}}; 68 {255, 60, 60, 255}};
69ChamsGroup g_chams_friendly{true, 3, {60, 255, 60}, false, 3, {60, 255, 60}}; 69ChamsGroup g_chams_neutral{true, 3, {220, 220, 220, 255}, false, 3,
70 {220, 220, 220, 255}};
71ChamsGroup g_chams_friendly{true, 3, {60, 255, 60, 255}, false, 3,
72 {60, 255, 60, 255}};
70bool g_chams_viewmodel = false; 73bool g_chams_viewmodel = false;
71int g_chams_vm_mat = 3; 74int g_chams_vm_mat = 3;
72int g_chams_vm_rgb[3] = {200, 200, 255}; 75int g_chams_vm_rgb[4] = {200, 200, 255, 255};
73bool g_item_health = true; 76bool g_item_health = true;
74bool g_item_ammo = true; 77bool g_item_ammo = true;
75bool g_item_armor = true; 78bool g_item_armor = true;
@@ -244,17 +247,18 @@ void config_save() {
244 fprintf(f, "[chams]\nactive=%d\nbind=%d\n", g_chams.active, g_chams.bind); 247 fprintf(f, "[chams]\nactive=%d\nbind=%d\n", g_chams.active, g_chams.bind);
245 auto save_chams = [&](const char *name, const ChamsGroup &g) { 248 auto save_chams = [&](const char *name, const ChamsGroup &g) {
246 fprintf(f, "[%s]\nvis=%d\nvis_mat=%d\nvis_r=%d\nvis_g=%d\nvis_b=%d\n" 249 fprintf(f, "[%s]\nvis=%d\nvis_mat=%d\nvis_r=%d\nvis_g=%d\nvis_b=%d\n"
247 "inv=%d\ninv_mat=%d\ninv_r=%d\ninv_g=%d\ninv_b=%d\n", 250 "vis_a=%d\ninv=%d\ninv_mat=%d\ninv_r=%d\ninv_g=%d\ninv_b=%d\n"
251 "inv_a=%d\n",
248 name, (int)g.vis_on, g.vis_mat, g.vis_rgb[0], g.vis_rgb[1], 252 name, (int)g.vis_on, g.vis_mat, g.vis_rgb[0], g.vis_rgb[1],
249 g.vis_rgb[2], (int)g.inv_on, g.inv_mat, g.inv_rgb[0], 253 g.vis_rgb[2], g.vis_rgb[3], (int)g.inv_on, g.inv_mat,
250 g.inv_rgb[1], g.inv_rgb[2]); 254 g.inv_rgb[0], g.inv_rgb[1], g.inv_rgb[2], g.inv_rgb[3]);
251 }; 255 };
252 save_chams("chams_hostile", g_chams_hostile); 256 save_chams("chams_hostile", g_chams_hostile);
253 save_chams("chams_neutral", g_chams_neutral); 257 save_chams("chams_neutral", g_chams_neutral);
254 save_chams("chams_friendly", g_chams_friendly); 258 save_chams("chams_friendly", g_chams_friendly);
255 fprintf(f, "[chams_vm]\non=%d\nmat=%d\nr=%d\ng=%d\nb=%d\n", 259 fprintf(f, "[chams_vm]\non=%d\nmat=%d\nr=%d\ng=%d\nb=%d\na=%d\n",
256 (int)g_chams_viewmodel, g_chams_vm_mat, g_chams_vm_rgb[0], 260 (int)g_chams_viewmodel, g_chams_vm_mat, g_chams_vm_rgb[0],
257 g_chams_vm_rgb[1], g_chams_vm_rgb[2]); 261 g_chams_vm_rgb[1], g_chams_vm_rgb[2], g_chams_vm_rgb[3]);
258 fprintf(f, "[items]\nactive=%d\nbind=%d\nhealth=%d\nammo=%d\n" 262 fprintf(f, "[items]\nactive=%d\nbind=%d\nhealth=%d\nammo=%d\n"
259 "armor=%d\nweapons=%d\ncrates=%d\ndistance=%d\nmax_dist=%d\n" 263 "armor=%d\nweapons=%d\ncrates=%d\ndistance=%d\nmax_dist=%d\n"
260 "usable=%d\n", 264 "usable=%d\n",
@@ -432,11 +436,13 @@ static bool config_load() {
432 if (v > 6) v = 6; 436 if (v > 6) v = 6;
433 g.vis_mat = v; 437 g.vis_mat = v;
434 } else if (strcmp(key, "vis_r") == 0 || strcmp(key, "vis_g") == 0 || 438 } else if (strcmp(key, "vis_r") == 0 || strcmp(key, "vis_g") == 0 ||
435 strcmp(key, "vis_b") == 0) { 439 strcmp(key, "vis_b") == 0 || strcmp(key, "vis_a") == 0) {
436 int v = atoi(val); 440 int v = atoi(val);
437 if (v < 0) v = 0; 441 if (v < 0) v = 0;
438 if (v > 255) v = 255; 442 if (v > 255) v = 255;
439 g.vis_rgb[key[4] == 'r' ? 0 : key[4] == 'g' ? 1 : 2] = v; 443 int idx = key[4] == 'r' ? 0 : key[4] == 'g' ? 1
444 : key[4] == 'b' ? 2 : 3;
445 g.vis_rgb[idx] = v;
440 } else if (strcmp(key, "inv") == 0) 446 } else if (strcmp(key, "inv") == 0)
441 g.inv_on = atoi(val) != 0; 447 g.inv_on = atoi(val) != 0;
442 else if (strcmp(key, "inv_mat") == 0) { 448 else if (strcmp(key, "inv_mat") == 0) {
@@ -445,11 +451,13 @@ static bool config_load() {
445 if (v > 6) v = 6; 451 if (v > 6) v = 6;
446 g.inv_mat = v; 452 g.inv_mat = v;
447 } else if (strcmp(key, "inv_r") == 0 || strcmp(key, "inv_g") == 0 || 453 } else if (strcmp(key, "inv_r") == 0 || strcmp(key, "inv_g") == 0 ||
448 strcmp(key, "inv_b") == 0) { 454 strcmp(key, "inv_b") == 0 || strcmp(key, "inv_a") == 0) {
449 int v = atoi(val); 455 int v = atoi(val);
450 if (v < 0) v = 0; 456 if (v < 0) v = 0;
451 if (v > 255) v = 255; 457 if (v > 255) v = 255;
452 g.inv_rgb[key[4] == 'r' ? 0 : key[4] == 'g' ? 1 : 2] = v; 458 int idx = key[4] == 'r' ? 0 : key[4] == 'g' ? 1
459 : key[4] == 'b' ? 2 : 3;
460 g.inv_rgb[idx] = v;
453 } 461 }
454 } 462 }
455 if (in_chams_vm) { 463 if (in_chams_vm) {
@@ -461,11 +469,13 @@ static bool config_load() {
461 if (v > 6) v = 6; 469 if (v > 6) v = 6;
462 g_chams_vm_mat = v; 470 g_chams_vm_mat = v;
463 } else if (strcmp(key, "r") == 0 || strcmp(key, "g") == 0 || 471 } else if (strcmp(key, "r") == 0 || strcmp(key, "g") == 0 ||
464 strcmp(key, "b") == 0) { 472 strcmp(key, "b") == 0 || strcmp(key, "a") == 0) {
465 int v = atoi(val); 473 int v = atoi(val);
466 if (v < 0) v = 0; 474 if (v < 0) v = 0;
467 if (v > 255) v = 255; 475 if (v > 255) v = 255;
468 g_chams_vm_rgb[key[0] == 'r' ? 0 : key[0] == 'g' ? 1 : 2] = v; 476 int idx = key[0] == 'r' ? 0 : key[0] == 'g' ? 1
477 : key[0] == 'b' ? 2 : 3;
478 g_chams_vm_rgb[idx] = v;
469 } 479 }
470 } 480 }
471 if (in_aim) { 481 if (in_aim) {
@@ -693,14 +703,18 @@ void config_reset_defaults() {
693 g_proj_fuse = true; 703 g_proj_fuse = true;
694 g_proj_radius = true; 704 g_proj_radius = true;
695 g_chams = {false, 0}; 705 g_chams = {false, 0};
696 g_chams_hostile = {true, 3, {255, 60, 60}, true, 3, {255, 60, 60}}; 706 g_chams_hostile = {true, 3, {255, 60, 60, 255}, true, 3,
697 g_chams_neutral = {true, 3, {220, 220, 220}, false, 3, {220, 220, 220}}; 707 {255, 60, 60, 255}};
698 g_chams_friendly = {true, 3, {60, 255, 60}, false, 3, {60, 255, 60}}; 708 g_chams_neutral = {true, 3, {220, 220, 220, 255}, false, 3,
709 {220, 220, 220, 255}};
710 g_chams_friendly = {true, 3, {60, 255, 60, 255}, false, 3,
711 {60, 255, 60, 255}};
699 g_chams_viewmodel = false; 712 g_chams_viewmodel = false;
700 g_chams_vm_mat = 3; 713 g_chams_vm_mat = 3;
701 g_chams_vm_rgb[0] = 200; 714 g_chams_vm_rgb[0] = 200;
702 g_chams_vm_rgb[1] = 200; 715 g_chams_vm_rgb[1] = 200;
703 g_chams_vm_rgb[2] = 255; 716 g_chams_vm_rgb[2] = 255;
717 g_chams_vm_rgb[3] = 255;
704 g_item_health = true; 718 g_item_health = true;
705 g_item_ammo = true; 719 g_item_ammo = true;
706 g_item_armor = true; 720 g_item_armor = true;