From 1364b9f64179a41d7c1958bbc005dc56e9436018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Sat, 4 Jan 2025 15:13:08 +0100 Subject: [PATCH] Fix: Hide company settings from console commands (#13269) --- 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; }