aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/defaultsettings.cpp7
-rw-r--r--src/gui/cheatMenu.cpp45
-rw-r--r--src/gui/cheatMenu.h3
3 files changed, 54 insertions, 1 deletions
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 2899f2509..525f94678 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -63,6 +63,13 @@ void set_default_settings(Settings *settings)
settings->setDefault("max_out_chat_queue_size", "20");
settings->setDefault("pause_on_lost_focus", "false");
settings->setDefault("enable_register_confirmation", "true");
+
+ // Cheat Menu
+ settings->setDefault("cheat_menu_font", "FM_Mono");
+ settings->setDefault("m_bg_color_alpha", "173");
+ settings->setDefault("m_active_bg_color_alpha", "210");
+ settings->setDefault("m_font_color_alpha", "195");
+ settings->setDefault("m_selected_font_color_alpha", "235");
// Cheats
settings->setDefault("xray", "false");
diff --git a/src/gui/cheatMenu.cpp b/src/gui/cheatMenu.cpp
index 548ddea73..7839caaad 100644
--- a/src/gui/cheatMenu.cpp
+++ b/src/gui/cheatMenu.cpp
@@ -18,11 +18,54 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "script/scripting_client.h"
#include "client/client.h"
#include "client/fontengine.h"
+#include "settings.h"
#include <cstddef>
+FontMode fontStringToEnum(std::string str) {
+ if (str == "FM_Standard")
+ return FM_Standard;
+ else if (str == "FM_Mono")
+ return FM_Mono;
+ else if (str == "FM_Fallback")
+ return FM_Fallback;
+ else if (str == "FM_Simple")
+ return FM_Simple;
+ else if (str == "FM_SimpleMono")
+ return FM_SimpleMono;
+ else if (str == "FM_MaxMode")
+ return FM_MaxMode;
+ else if (str == "FM_Unspecified")
+ return FM_Unspecified;
+ else
+ return FM_Standard;
+}
+
CheatMenu::CheatMenu(Client *client) : m_client(client)
{
- m_font = g_fontengine->getFont(FONT_SIZE_UNSPECIFIED, FM_Mono);
+ FontMode fontMode = fontStringToEnum(g_settings->get("cheat_menu_font"));
+ irr::core::vector3df bg_color;
+ irr::core::vector3df active_bg_color;
+ irr::core::vector3df font_color;
+ irr::core::vector3df selected_font_color;
+
+ g_settings->getV3FNoEx("m_bg_color", bg_color);
+ g_settings->getV3FNoEx("m_active_bg_color", active_bg_color);
+ g_settings->getV3FNoEx("m_font_color", font_color);
+ g_settings->getV3FNoEx("m_selected_font_color", selected_font_color);
+
+ m_bg_color = video::SColor(g_settings->getU32("m_bg_color_alpha"),
+ bg_color.X, bg_color.Y, bg_color.Z);
+
+ m_active_bg_color = video::SColor(g_settings->getU32("m_active_bg_color_alpha"),
+ active_bg_color.X, active_bg_color.Y, active_bg_color.Z);
+
+ m_font_color = video::SColor(g_settings->getU32("m_font_color_alpha"),
+ font_color.X, font_color.Y, font_color.Z);
+
+ m_selected_font_color = video::SColor(g_settings->getU32("m_selected_font_color_alpha"),
+ selected_font_color.X, selected_font_color.Y, selected_font_color.Z);
+
+ m_font = g_fontengine->getFont(FONT_SIZE_UNSPECIFIED, fontMode);
if (!m_font) {
errorstream << "CheatMenu: Unable to load fallback font" << std::endl;
diff --git a/src/gui/cheatMenu.h b/src/gui/cheatMenu.h
index 4ffaa177d..350bf9ac3 100644
--- a/src/gui/cheatMenu.h
+++ b/src/gui/cheatMenu.h
@@ -17,6 +17,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#pragma once
#include "irrlichttypes_extrabloated.h"
+#include "settings.h"
#include <cstddef>
#include <string>
@@ -67,6 +68,8 @@ private:
video::SColor m_font_color = video::SColor(195, 255, 255, 255);
video::SColor m_selected_font_color = video::SColor(235, 255, 255, 255);
+ FontMode fontStringToEnum(std::string str);
+
Client *m_client;
gui::IGUIFont *m_font = nullptr;