diff options
-rw-r--r-- | settings_gui.c | 2 | ||||
-rw-r--r-- | ttd.c | 12 |
2 files changed, 5 insertions, 9 deletions
diff --git a/settings_gui.c b/settings_gui.c index a0dc14d38..c64a56d9f 100644 --- a/settings_gui.c +++ b/settings_gui.c @@ -483,7 +483,7 @@ static void GameDifficultyWndProc(Window *w, WindowEvent *e) for (btn = 0; btn != GAME_DIFFICULTY_NUM; btn++) { val = ((int*)&_opt_mod_temp.diff)[btn]; // if setting has changed, change it - if (val != ((int*)&_opt_mod_temp.diff)[btn]) + if (val != ((int*)&_opt_ptr->diff)[btn]) DoCommandP(0, btn, val, NULL, CMD_CHANGE_DIFFICULTY_LEVEL); } DoCommandP(0, -1, _opt_mod_temp.diff_level, NULL, CMD_CHANGE_DIFFICULTY_LEVEL); @@ -789,8 +789,7 @@ void StartupDisasters(void); /** * Start Scenario starts a new game based on a scenario. * Eg 'New Game' --> select a preset scenario - * This starts a scenario based on your current difficulty settings just - * fix the landscape as that can be different from what is selected in the intro + * This starts a scenario based on your current difficulty settings */ static void StartScenario(void) { @@ -818,12 +817,9 @@ static void StartScenario(void) ShowErrorMessage(_error_message, STR_4009_GAME_LOAD_FAILED, 0, 0); } - { - byte landscape = _opt.landscape; // backup loaded landscape; - _opt_ptr = &_opt; - memcpy(_opt_ptr, &_opt_newgame, sizeof(GameOptions)); - _opt_ptr->landscape = landscape; - } + _opt_ptr = &_opt; + memcpy(&_opt_ptr->diff, &_opt_newgame.diff, sizeof(GameDifficulty)); + _opt.diff_level = _opt_newgame.diff_level; // Inititalize data StartupPlayers(); |