#include "config.hpp" namespace config { bool read() { if (!updater::file_good(file_path)) { save(); return false; } std::ifstream f(file_path); json data; try { data = json::parse(f); } catch (const std::exception& e) { save(); } if (data.empty()) return false; if (data["team_esp"].is_boolean()) team_esp = data["team_esp"]; if (data["automatic_update"].is_boolean()) automatic_update = data["automatic_update"]; if (data["render_distance"].is_number()) render_distance = data["render_distance"]; if (data["flag_render_distance"].is_number()) flag_render_distance = data["flag_render_distance"]; if (data["show_extra_flags"].is_boolean()) show_extra_flags = data["show_extra_flags"]; if (data.find("esp_box_color_team") != data.end()) { esp_box_color_team = { data["esp_box_color_team"][0].get(), data["esp_box_color_team"][1].get(), data["esp_box_color_team"][2].get() }; } if (data.find("esp_box_color_enemy") != data.end()) { esp_box_color_enemy = { data["esp_box_color_enemy"][0].get(), data["esp_box_color_enemy"][1].get(), data["esp_box_color_enemy"][2].get() }; } if (data.find("esp_name_color") != data.end()) { esp_name_color = { data["esp_name_color"][0].get(), data["esp_name_color"][1].get(), data["esp_name_color"][2].get() }; } if (data.find("esp_distance_color") != data.end()) { esp_distance_color = { data["esp_distance_color"][0].get(), data["esp_distance_color"][1].get(), data["esp_distance_color"][2].get() }; } //if (data["show_distance"].is_boolean()) // show_distance = data["show_distance"]; //if (data["show_armor"].is_boolean()) // show_armor = data["show_armor"]; //if (data["rainbow"].is_boolean()) // rainbow = data["rainbow"]; //if (data["rainbow_speed"].is_number()) // rainbow_speed = data["rainbow_speed"]; //if (data["head_tracker"].is_boolean()) // head_tracker = data["head_tracker"]; return true; } void save() { json data; data["team_esp"] = team_esp; data["automatic_update"] = automatic_update; data["render_distance"] = render_distance; data["flag_render_distance"] = flag_render_distance; data["show_extra_flags"] = show_extra_flags; data["esp_box_color_team"] = { esp_box_color_team.r, esp_box_color_team.g, esp_box_color_team.b }; data["esp_box_color_enemy"] = { esp_box_color_enemy.r, esp_box_color_enemy.g, esp_box_color_enemy.b }; data["esp_name_color"] = { esp_name_color.r, esp_name_color.g, esp_name_color.b }; data["esp_distance_color"] = { esp_distance_color.r, esp_distance_color.g, esp_distance_color.b }; //data["show_distance"] = show_distance; //data["show_armor"] = show_armor; //data["rainbow"] = rainbow; //data["rainbow_speed"] = rainbow_speed; //data["head_tracker"] = head_tracker; std::ofstream output(file_path); output << std::setw(4) << data << std::endl; output.close(); } }