menu/settings updated
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
#include "pch-il2cpp.h"
|
#include "pch-il2cpp.h"
|
||||||
#include "Menu.hpp"
|
#include "Menu.hpp"
|
||||||
#include "../main.h"
|
#include "main.h"
|
||||||
#include "../settings/settings.hpp"
|
#include "settings/settings.hpp"
|
||||||
|
|
||||||
#include "misc/misc.h"
|
#include "misc/misc.h"
|
||||||
|
|
||||||
@@ -14,8 +14,8 @@ void InitStyle()
|
|||||||
|
|
||||||
auto& Style = ImGui::GetStyle();
|
auto& Style = ImGui::GetStyle();
|
||||||
|
|
||||||
Style.WindowRounding = 8.000f;
|
Style.WindowRounding = 0.000f;
|
||||||
Style.FrameRounding = 4.000f;
|
Style.FrameRounding = 0.000f;
|
||||||
|
|
||||||
Style.Colors[ImGuiCol_WindowBg] = ImColor(0, 0, 0, 240);
|
Style.Colors[ImGuiCol_WindowBg] = ImColor(0, 0, 0, 240);
|
||||||
Style.Colors[ImGuiCol_TitleBg] = ImColor(1, 1, 1, 240);
|
Style.Colors[ImGuiCol_TitleBg] = ImColor(1, 1, 1, 240);
|
||||||
@@ -30,13 +30,17 @@ void InitStyle()
|
|||||||
Style.Colors[ImGuiCol_FrameBgHovered] = ImColor(60, 66, 76, 102);
|
Style.Colors[ImGuiCol_FrameBgHovered] = ImColor(60, 66, 76, 102);
|
||||||
Style.Alpha = 0.8f;
|
Style.Alpha = 0.8f;
|
||||||
|
|
||||||
|
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(10.0f, 8.0f));
|
||||||
|
|
||||||
ImGuiIO& io = ImGui::GetIO();
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\tahoma.ttf", 13.000f);
|
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\arial.ttf", 14.000f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawVisualsTab() {
|
void DrawVisualsTab() {
|
||||||
ImGui::Checkbox("Big flashlight", &settings::big_flashlight);
|
ImGui::Checkbox("Unlimited UV", &settings::unlimited_uv);
|
||||||
|
ImGui::Checkbox("Fullbright", &settings::fullBright);
|
||||||
|
|
||||||
|
/*
|
||||||
bool open_flcolor_popup = ImGui::ColorButton("flashlightcolor", ImVec4(settings::flashlight_color[0], settings::flashlight_color[1], settings::flashlight_color[2], settings::flashlight_color[3]));
|
bool open_flcolor_popup = ImGui::ColorButton("flashlightcolor", ImVec4(settings::flashlight_color[0], settings::flashlight_color[1], settings::flashlight_color[2], settings::flashlight_color[3]));
|
||||||
if (open_flcolor_popup)
|
if (open_flcolor_popup)
|
||||||
{
|
{
|
||||||
@@ -134,86 +138,35 @@ void DrawVisualsTab() {
|
|||||||
if (ImGui::BeginPopup("gesppop")) {
|
if (ImGui::BeginPopup("gesppop")) {
|
||||||
ImGui::ColorPicker4("Goat ESP color", (float*)&settings::goat_esp_color);
|
ImGui::ColorPicker4("Goat ESP color", (float*)&settings::goat_esp_color);
|
||||||
ImGui::EndPopup();
|
ImGui::EndPopup();
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawEntitiesTab() {
|
void DrawEntitiesTab() {
|
||||||
if (ImGui::Button("TP items to you")) {
|
|
||||||
//call tp items
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Freeze Azazel")) {
|
|
||||||
//Misc::FreezeAzazel();
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui::Spacing();
|
|
||||||
ImGui::Text("Azazel & Demons");
|
|
||||||
const char* azazel_demons_items[] = { "Sam", "Molly", "Anna", "Zara", "Ghost", "Inmate", "Demon"};
|
|
||||||
static int entity_current = 0;
|
|
||||||
ImGui::Combo("##a", &entity_current, azazel_demons_items, IM_ARRAYSIZE(azazel_demons_items));
|
|
||||||
if (ImGui::Button("Spawn##a")) {
|
|
||||||
//call spawn function
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui::Spacing();
|
|
||||||
ImGui::Text("Items");
|
ImGui::Text("Items");
|
||||||
const char* items_items[] = { "Hay", "First aid", "Battery", "Gasoline", "Fuse", "Food", "Bleach", "Ritual Book (inactive)", "Ritual Book (active)", "Matchbox", "Egg-1", "Egg-2", "Egg-3", "Egg-4", "Egg-5", "Egg-6", "Egg-7", "Egg-8", "Egg-9", "Egg-10"};
|
const char* items_items[] = { "Hay", "First aid", "Battery", "Gasoline", "Fuse", "Food", "Bleach", "Bone", "Ritual Book (in-active)", "Ritual Book (active)", "Matchbox", "Egg-1", "Egg-2", "Egg-3", "Egg-4", "Egg-5", "Egg-6", "Egg-7", "Egg-8", "Egg-9", "Egg-10" };
|
||||||
static int item_current = 0;
|
static int item_current = 0;
|
||||||
ImGui::Combo("##i", &item_current, items_items, IM_ARRAYSIZE(items_items));
|
ImGui::Combo("##i", &item_current, items_items, IM_ARRAYSIZE(items_items));
|
||||||
if (ImGui::Button("Spawn##i")) {
|
if (ImGui::Button("Spawn##i")) {
|
||||||
//print("--> %s\n",items_items[item_current]);
|
Misc::CarryItem(items_items[item_current]);
|
||||||
//Misc::CarryItem(items_items[item_current]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
ImGui::Text("Animals");
|
ImGui::Text("Animals");
|
||||||
const char* animals_items[] = { "Rat", "Goat", "Spider"};
|
const char* animals_items[] = { "Rat", "Goat", "Pig" };
|
||||||
static int animal_current = 0;
|
static int animal_current = 0;
|
||||||
ImGui::Combo("##an", &animal_current, animals_items, IM_ARRAYSIZE(animals_items));
|
ImGui::Combo("##an", &animal_current, animals_items, IM_ARRAYSIZE(animals_items));
|
||||||
if (ImGui::Button("Spawn##an")) {
|
if (ImGui::Button("Spawn##an")) {
|
||||||
//Misc::SpawnAnimal(animals_items[animal_current]);
|
Misc::CarryAnimal(animals_items[animal_current]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawMapSpecificTab() {
|
void DrawMapSpecificTab() {
|
||||||
if (ImGui::Button("Instant win")) {
|
if (ImGui::Button("Force Start The Game")) {
|
||||||
//call instant win
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Burn a ritual object")) {
|
|
||||||
//Misc::BurnRitualObj(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Burn all ritual objects")) {
|
|
||||||
//Misc::BurnRitualObj(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Force start game")) {
|
|
||||||
Misc::ForceStart();
|
Misc::ForceStart();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui::Button("Knock out everyone")) {
|
if (ImGui::Button("Instant Win")) {
|
||||||
//Misc::KnockoutPlayers(false);
|
Misc::InstantWin();
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("knock yourself out")) {
|
|
||||||
//Misc::KnockoutPlayers(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Shoot Everyone (Town)")) {
|
|
||||||
//Misc::ShootEveryone(true, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Shoot Yourself (Town)")) {
|
|
||||||
//Misc::ShootEveryone(false, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Jumpscare Everyone")) {
|
|
||||||
//Misc::Jumpscare(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Skip long interact")) {
|
|
||||||
//Misc::SkipLongInteract();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,41 +272,18 @@ void DrawInspector() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DrawMiscTab() {
|
void DrawMiscTab() {
|
||||||
ImGui::Checkbox("Chat spam", &settings::chat_spam);
|
//ImGui::Checkbox("Chat spam", &settings::chat_spam);
|
||||||
ImGui::InputText("Message", &settings::message);
|
//ImGui::InputText("Message", &settings::message);
|
||||||
|
|
||||||
|
/*
|
||||||
if (ImGui::Button("Unlock Achievements")) {
|
if (ImGui::Button("Unlock Achievements")) {
|
||||||
//Unlock Achievements
|
//Unlock Achievements
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui::Button("Unlock Doors")) {
|
|
||||||
//Misc::UnlockDoors();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Revive Yourself")) {
|
|
||||||
//Misc::Revive(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("Revive Everyone")) {
|
|
||||||
//Misc::Revive(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ImGui::Button("TP Keys")) {
|
if (ImGui::Button("TP Keys")) {
|
||||||
//Misc::TPKeys();
|
//Misc::TPKeys();
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::Checkbox("Unlock all", &settings::unlock_all);
|
|
||||||
|
|
||||||
ImGui::Checkbox("Spoof level", &settings::spoof_level);
|
|
||||||
ImGui::InputInt("New level", &settings::new_level);
|
|
||||||
//normalize level
|
|
||||||
if (settings::new_level > 666) {
|
|
||||||
settings::new_level = 666;
|
|
||||||
}
|
|
||||||
else if (settings::new_level < 0) {
|
|
||||||
settings::new_level = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui::Checkbox("Change Steam name", &settings::steam_name_spoof);
|
ImGui::Checkbox("Change Steam name", &settings::steam_name_spoof);
|
||||||
ImGui::InputText("New name##steam", &settings::new_name);
|
ImGui::InputText("New name##steam", &settings::new_name);
|
||||||
|
|
||||||
@@ -366,15 +296,22 @@ void DrawMiscTab() {
|
|||||||
//Misc::PlayRandomSound();
|
//Misc::PlayRandomSound();
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::Checkbox("EXP modifier", &settings::exp_modifier);
|
|
||||||
ImGui::SliderInt("Amount", &settings::new_exp, 0, 5000);
|
|
||||||
|
|
||||||
ImGui::Checkbox("Walk in lobby", &settings::walk_in_lobby);
|
ImGui::Checkbox("Walk in lobby", &settings::walk_in_lobby);
|
||||||
|
|
||||||
ImGui::Checkbox("Auto respawn", &settings::auto_respawn);
|
ImGui::Checkbox("Auto respawn", &settings::auto_respawn);
|
||||||
|
*/
|
||||||
|
|
||||||
ImGui::Checkbox("Change player speed", &settings::change_player_speed);
|
ImGui::Checkbox("EXP Modifier", &settings::exp_modifier);
|
||||||
ImGui::SliderInt("Multiplier", &settings::new_speed, 0, 10);
|
ImGui::SliderInt("Amount", &settings::new_exp, 0, 5000);
|
||||||
|
|
||||||
|
ImGui::Checkbox("Unlock all", &settings::unlock_all);
|
||||||
|
ImGui::Checkbox("Disable Long Interact", &settings::disable_longInteract);
|
||||||
|
|
||||||
|
ImGui::Checkbox("Azazel Speed", &settings::freeze_azazel);
|
||||||
|
ImGui::SliderFloat("Multiplier", &settings::new_azazel_speed, 0, 15);
|
||||||
|
|
||||||
|
ImGui::Checkbox("Spoof level", &settings::spoof_level);
|
||||||
|
ImGui::InputInt("New level", &settings::new_level);
|
||||||
|
|
||||||
#if _DEBUG
|
#if _DEBUG
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
@@ -390,10 +327,35 @@ void DrawMiscTab() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DrawPlayersTab() {
|
||||||
|
ImGui::Checkbox("Change player speed", &settings::change_player_speed);
|
||||||
|
ImGui::SliderInt("Multiplier", &settings::new_speed, 0, 10);
|
||||||
|
|
||||||
|
if (ImGui::Button("Revive Players")) {
|
||||||
|
Misc::Revive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ImGui::Button("Revive Yourself")) {
|
||||||
|
Misc::Revive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ImGui::Button("Send Jumpscare To Players")) {
|
||||||
|
Misc::Jumpscare();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ImGui::Button("Kill The Players")) {
|
||||||
|
Misc::Kill(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ImGui::Button("Kill Yourself")) {
|
||||||
|
Misc::Kill(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tabs current_tab = tabs::VISUALS;
|
tabs current_tab = tabs::VISUALS;
|
||||||
void DrawMenu(bool open_menu) {
|
void DrawMenu(bool open_menu) {
|
||||||
ImGui::SetNextWindowSize(ImVec2(240.000f, 300.000f), ImGuiCond_Once);
|
ImGui::SetNextWindowSize(ImVec2(240.000f, 300.000f), ImGuiCond_Once);
|
||||||
ImGui::Begin("Devour Client", NULL, 2);
|
ImGui::Begin("DevourClient", NULL, 2);
|
||||||
|
|
||||||
#if _DEBUG
|
#if _DEBUG
|
||||||
if (inspector) {
|
if (inspector) {
|
||||||
@@ -421,6 +383,11 @@ void DrawMenu(bool open_menu) {
|
|||||||
current_tab = tabs::MISC;
|
current_tab = tabs::MISC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGui::Button("Players", ImVec2(0.000f, 0.000f))) {
|
||||||
|
current_tab = tabs::MISC;
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|
||||||
switch (current_tab) {
|
switch (current_tab) {
|
||||||
@@ -436,6 +403,9 @@ void DrawMenu(bool open_menu) {
|
|||||||
case tabs::MISC:
|
case tabs::MISC:
|
||||||
DrawMiscTab();
|
DrawMiscTab();
|
||||||
break;
|
break;
|
||||||
|
case tabs::PLAYERS:
|
||||||
|
DrawPlayersTab();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,8 @@ enum class tabs {
|
|||||||
VISUALS,
|
VISUALS,
|
||||||
ENTITIES,
|
ENTITIES,
|
||||||
MAP_SPECIFIC,
|
MAP_SPECIFIC,
|
||||||
MISC
|
MISC,
|
||||||
|
PLAYERS
|
||||||
};
|
};
|
||||||
|
|
||||||
void InitStyle();
|
void InitStyle();
|
||||||
|
|||||||
@@ -12,10 +12,12 @@
|
|||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
|
|
||||||
#include "wrapper.h"
|
#include "Wrapper.h"
|
||||||
#include "ClientHelper.h"
|
#include "ClientHelper.h"
|
||||||
|
|
||||||
#include "hooks/hooks.hpp"
|
#include "hooks/hooks.hpp"
|
||||||
|
#include "color.hpp"
|
||||||
|
#include "UnityCore.h"
|
||||||
|
#include "features/misc/misc.h"
|
||||||
|
|
||||||
// Set the name of your log file here
|
// Set the name of your log file here
|
||||||
extern const LPCWSTR LOG_FILE = L"DevourClient.txt";
|
extern const LPCWSTR LOG_FILE = L"DevourClient.txt";
|
||||||
@@ -35,17 +37,36 @@ void Run()
|
|||||||
// Initialize thread data - DO NOT REMOVE
|
// Initialize thread data - DO NOT REMOVE
|
||||||
il2cpp_thread_attach(il2cpp_domain_get());
|
il2cpp_thread_attach(il2cpp_domain_get());
|
||||||
|
|
||||||
// If you would like to write to a log file, specify the name above and use il2cppi_log_write()
|
|
||||||
il2cppi_log_write("Initializg..");
|
|
||||||
|
|
||||||
// If you would like to output to a new console window, use il2cppi_new_console() to open one and redirect stdout
|
// If you would like to output to a new console window, use il2cppi_new_console() to open one and redirect stdout
|
||||||
il2cppi_new_console();
|
il2cppi_new_console();
|
||||||
|
|
||||||
|
std::cout << dye::green("\n\tDevourClient v2.0\n\t") << __DATE__ << " - " << __TIME__ << std::endl;
|
||||||
|
std::cout << "\tDevour Version ";
|
||||||
|
|
||||||
|
if (app::Application_get_version != nullptr)
|
||||||
|
std::cout << dye::light_red("v") << dye::light_red(il2cppi_to_string(app::Application_get_version(NULL))) << "\n\n";
|
||||||
|
else
|
||||||
|
std::cout << "Unknown\n\n";
|
||||||
|
|
||||||
|
std::cout << dye::light_aqua("\tMade with < 3 by patate and Jadis0x.\n");
|
||||||
|
|
||||||
|
uint64_t steamUserID = app::SteamUser_GetSteamID(nullptr).m_SteamID;
|
||||||
|
std::string steamName = il2cppi_to_string(app::SteamFriends_GetPersonaName(nullptr));
|
||||||
|
|
||||||
|
std::cout << "[DevourClient]: " << dye::yellow("GitHub: ") << dye::aqua_on_black("https://github.com/ALittlePatate/DevourClient\n");
|
||||||
|
std::cout << "[DevourClient]: Logged in as " << dye::yellow(steamName) << " (" << steamUserID << ")\n\n";
|
||||||
|
|
||||||
|
std::cout << "[DevourClient]: " << dye::aqua("Initializing..\n");
|
||||||
|
il2cppi_log_write("Initializing..");
|
||||||
|
|
||||||
if (InitializeHooks()) {
|
if (InitializeHooks()) {
|
||||||
il2cppi_log_write("Hooks initialized");
|
il2cppi_log_write("Hooks initialized");
|
||||||
|
std::cout << "[DevourClient]: " << dye::aqua("Hooks initialized.\n");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
il2cppi_log_write("MH_Initialize failed, quitting...");
|
il2cppi_log_write("MH_Initialize failed, quitting...");
|
||||||
|
std::cout << "[DevourClient]: " << dye::aqua("MH_Initialize failed, quitting...\n");
|
||||||
CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking
|
CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -54,19 +75,44 @@ void Run()
|
|||||||
|
|
||||||
if (HookDX11()) {
|
if (HookDX11()) {
|
||||||
il2cppi_log_write("DirectX11 hooked");
|
il2cppi_log_write("DirectX11 hooked");
|
||||||
|
std::cout << "[DevourClient]: " << dye::aqua("DirectX11 hooked.\n");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
il2cppi_log_write("DirectX11 hook failed, quitting...");
|
il2cppi_log_write("DirectX11 hook failed, quitting...");
|
||||||
|
std::cout << "[DevourClient]: " << dye::aqua("DirectX11 hook failed!quitting...\n");
|
||||||
CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking
|
CreateThread(0, 0, EjectThread, 0, 0, 0); //Unhooking
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::cout << "[DevourClient]: " << dye::light_green("Done!:)\n");
|
||||||
|
|
||||||
|
|
||||||
|
std::string scene = SceneName();
|
||||||
|
|
||||||
|
if (scene == std::string("Menu")) {
|
||||||
|
app::Menu* horrorMenu = UnityCore::Object<app::Menu>::FindObjectOfType("Menu", "Horror");
|
||||||
|
|
||||||
|
if (!horrorMenu)
|
||||||
|
return;
|
||||||
|
|
||||||
|
app::String* str = reinterpret_cast<app::String*>(il2cpp_string_new("Welcome to DevourClient.\n\nAfter ensuring the game is in full screen, press the Q key to activate the menu.\n\n\nYou can disable the cheat by pressing the 'END' key."));
|
||||||
|
|
||||||
|
if (str) {
|
||||||
|
if (app::Menu_ShowMessageModal == nullptr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
app::Menu_ShowMessageModal(horrorMenu, str, nullptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
if (GetAsyncKeyState(VK_END) & 0x8000 || should_unhook)
|
if (GetAsyncKeyState(VK_END) & 0x8000 || should_unhook)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
|
if (settings::fullBright)
|
||||||
|
Misc::FullBright();
|
||||||
|
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(400));
|
||||||
}
|
}
|
||||||
CreateThread(0, 0, EjectThread, 0, 0, 0);
|
CreateThread(0, 0, EjectThread, 0, 0, 0);
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ namespace settings {
|
|||||||
int height = 1080;
|
int height = 1080;
|
||||||
int width = 1920;
|
int width = 1920;
|
||||||
|
|
||||||
bool big_flashlight = false;
|
bool fullBright = false;
|
||||||
float flashlight_color[4] = { 255.f, 255.f, 255.f, 255.f };
|
float flashlight_color[4] = { 255.f, 255.f, 255.f, 255.f };
|
||||||
|
|
||||||
bool unlimited_uv = false;
|
bool unlimited_uv = false;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace settings {
|
|||||||
extern int height;
|
extern int height;
|
||||||
extern int width;
|
extern int width;
|
||||||
|
|
||||||
extern bool big_flashlight;
|
extern bool fullBright;
|
||||||
extern float flashlight_color[4];
|
extern float flashlight_color[4];
|
||||||
|
|
||||||
extern bool unlimited_uv;
|
extern bool unlimited_uv;
|
||||||
|
|||||||
Reference in New Issue
Block a user