From db3670b759c694372b5db6ed0ee3c1ac4eac623a Mon Sep 17 00:00:00 2001 From: Raffson Date: Tue, 24 Dec 2024 18:14:24 +0100 Subject: [PATCH] Fix NGW bug wrt missing plugin-options in campaign settings --- qt_ui/windows/newgame/WizardPages/QNewGameSettings.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/qt_ui/windows/newgame/WizardPages/QNewGameSettings.py b/qt_ui/windows/newgame/WizardPages/QNewGameSettings.py index 1c6d273a..3898fbd3 100644 --- a/qt_ui/windows/newgame/WizardPages/QNewGameSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QNewGameSettings.py @@ -23,7 +23,7 @@ class NewGameSettings(QtWidgets.QWizardPage): settings = Settings() self.settings_widget = QSettingsWidget(settings) self.settings_widget.load_default_settings() - settings.__dict__.update(Settings.deserialize_state_dict(campaign.settings)) + self._load_campaign_settings(campaign, settings) settings.player_income_multiplier = ( campaign.recommended_player_income_multiplier ) @@ -31,6 +31,14 @@ class NewGameSettings(QtWidgets.QWizardPage): self.settings_widget.update_from_settings() self.setLayout(self.settings_widget.layout) + @staticmethod + def _load_campaign_settings(campaign, settings): + campaign_settings = Settings.deserialize_state_dict(campaign.settings) + campaign_settings["plugins"] = { + **settings.__dict__["plugins"], **campaign_settings["plugins"] + } + settings.__dict__.update(campaign_settings) + def set_campaign_values(self, c: Campaign): sw = self.settings_widget sw.load_default_settings()