From 857f3fb0b8772fea9ac085ac92fcd675d5f86e8a Mon Sep 17 00:00:00 2001 From: glx22 Date: Sat, 4 Jan 2025 01:09:35 +0100 Subject: [PATCH] Fix: Hide company settings from console commands --- src/settings.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index 5b567caf8c..1162eee2d4 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1861,7 +1861,8 @@ void StringSettingDesc::ChangeValue(const void *object, std::string &newval) con void IConsoleSetSetting(const char *name, const char *value, bool force_newgame) { const SettingDesc *sd = GetSettingFromName(name); - if (sd == nullptr) { + /* Company settings are not in "list_settings", so don't try to modify them. */ + if (sd == nullptr || sd->flags & SF_PER_COMPANY) { IConsolePrint(CC_ERROR, "'{}' is an unknown setting.", name); return; } @@ -1904,7 +1905,8 @@ void IConsoleSetSetting(const char *name, int value) void IConsoleGetSetting(const char *name, bool force_newgame) { const SettingDesc *sd = GetSettingFromName(name); - if (sd == nullptr) { + /* Company settings are not in "list_settings", so don't try to read them. */ + if (sd == nullptr || sd->flags & SF_PER_COMPANY) { IConsolePrint(CC_ERROR, "'{}' is an unknown setting.", name); return; }