← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~widelands-dev/widelands/bug-1629691-make-empty-ai-empty into lp:widelands

 

GunChleoc has proposed merging lp:~widelands-dev/widelands/bug-1629691-make-empty-ai-empty into lp:widelands.

Commit message:
Set AI from selection in UI when saveloading

Requested reviews:
  Widelands Developers (widelands-dev)
Related bugs:
  Bug #1629691 in widelands: "Suggestion for "No AI": do nothing more thoroughly"
  https://bugs.launchpad.net/widelands/+bug/1629691

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1629691-make-empty-ai-empty/+merge/349389

The bug is that when loading a savegame, the AI selected in the interface by the user was completely ignored. This overwrites the AI setting from the savegame when starting a savegame.
-- 
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/bug-1629691-make-empty-ai-empty into lp:widelands.
=== modified file 'src/logic/game.cc'
--- src/logic/game.cc	2018-05-27 06:02:18 +0000
+++ src/logic/game.cc	2018-07-12 05:43:15 +0000
@@ -337,6 +337,13 @@
 		loader_ui->set_background(background);
 		loader_ui->step(_("Loading…"));
 		gl.load_game(settings.multiplayer);
+		// Players might have selected a different AI type
+		for (uint8_t i = 0; i < settings.players.size(); ++i) {
+			const PlayerSettings& playersettings = settings.players[i];
+			if (playersettings.state == PlayerSettings::State::kComputer) {
+				get_player(i + 1)->set_ai(playersettings.ai);
+			}
+		}
 	} catch (...) {
 		throw;
 	}


Follow ups