From 0eb769dc3b3ab3e552fa57d9c326a3e3367fa341 Mon Sep 17 00:00:00 2001 From: Iurii Chernyi Date: Sat, 15 Aug 2009 19:59:42 +0000 Subject: [PATCH] Set leader names to player names in MP... ...(can be overridden on per-faction/per-scenario basis) --- data/multiplayer/factions/drakes-default.cfg | 1 + data/multiplayer/factions/knalgans-default.cfg | 1 + data/multiplayer/factions/loyalists-default.cfg | 1 + data/multiplayer/factions/northerners-default.cfg | 1 + data/multiplayer/factions/rebels-default.cfg | 1 + data/multiplayer/factions/undead-default.cfg | 1 + src/playcampaign.cpp | 12 ++++++++++++ 7 files changed, 18 insertions(+) diff --git a/data/multiplayer/factions/drakes-default.cfg b/data/multiplayer/factions/drakes-default.cfg index 8f67789927e..25de9591119 100644 --- a/data/multiplayer/factions/drakes-default.cfg +++ b/data/multiplayer/factions/drakes-default.cfg @@ -2,6 +2,7 @@ [multiplayer_side] id=Drakes name= _"Drakes" + rename_leader_to_player = "yes" image="units/drakes/flare.png" {MAGENTA_IS_THE_TEAM_COLOR} type=Drake Flare diff --git a/data/multiplayer/factions/knalgans-default.cfg b/data/multiplayer/factions/knalgans-default.cfg index 867423d8505..b339fa6b18f 100644 --- a/data/multiplayer/factions/knalgans-default.cfg +++ b/data/multiplayer/factions/knalgans-default.cfg @@ -2,6 +2,7 @@ [multiplayer_side] id=Knalgan Alliance name=_"Knalgan Alliance" + rename_leader_to_player = "yes" image="units/dwarves/steelclad.png" {MAGENTA_IS_THE_TEAM_COLOR} type=Dwarvish Steelclad diff --git a/data/multiplayer/factions/loyalists-default.cfg b/data/multiplayer/factions/loyalists-default.cfg index 230b5b26e6b..40730c5fd0d 100644 --- a/data/multiplayer/factions/loyalists-default.cfg +++ b/data/multiplayer/factions/loyalists-default.cfg @@ -2,6 +2,7 @@ [multiplayer_side] id=Loyalists name= _"Loyalists" + rename_leader_to_player = "yes" image="units/human-loyalists/lieutenant.png" {MAGENTA_IS_THE_TEAM_COLOR} type=Lieutenant diff --git a/data/multiplayer/factions/northerners-default.cfg b/data/multiplayer/factions/northerners-default.cfg index 764acd7a738..a4e649da5c3 100644 --- a/data/multiplayer/factions/northerners-default.cfg +++ b/data/multiplayer/factions/northerners-default.cfg @@ -2,6 +2,7 @@ [multiplayer_side] id=Northerners name= _"Northerners" + rename_leader_to_player = "yes" image="units/orcs/warrior.png" {MAGENTA_IS_THE_TEAM_COLOR} type=Orcish Warrior diff --git a/data/multiplayer/factions/rebels-default.cfg b/data/multiplayer/factions/rebels-default.cfg index 674e0b4f289..dd42079732b 100644 --- a/data/multiplayer/factions/rebels-default.cfg +++ b/data/multiplayer/factions/rebels-default.cfg @@ -2,6 +2,7 @@ [multiplayer_side] id=Rebels name= _"Rebels" + rename_leader_to_player = "yes" image="units/elves-wood/captain.png" {MAGENTA_IS_THE_TEAM_COLOR} type=Elvish Captain diff --git a/data/multiplayer/factions/undead-default.cfg b/data/multiplayer/factions/undead-default.cfg index 75556ffd905..306de03f52d 100644 --- a/data/multiplayer/factions/undead-default.cfg +++ b/data/multiplayer/factions/undead-default.cfg @@ -2,6 +2,7 @@ [multiplayer_side] id=Undead name= _"Undead" + rename_leader_to_player = "yes" image="units/undead-necromancers/dark-sorcerer.png" {MAGENTA_IS_THE_TEAM_COLOR} type=Dark Sorcerer diff --git a/src/playcampaign.cpp b/src/playcampaign.cpp index ce8e55ec685..89fbaa68f64 100644 --- a/src/playcampaign.cpp +++ b/src/playcampaign.cpp @@ -223,6 +223,18 @@ LEVEL_RESULT play_game(display& disp, game_state& gamestate, const config& game_ preload_lua_tags(game_config, gamestate.starting_pos); starting_pos = gamestate.starting_pos; scenario = &starting_pos; + foreach (config &side, const_cast(scenario)->child_range("side")) + { + if (utils::string_bool(side["rename_leader_to_player"],false)) { + if (!side["current_player"].empty()) { + //human + side["name"] = side["current_player"]; + } else { + //AI + side["name"] = side["save_id"]; + } + } + } } else { //reload of the scenario, as starting_pos contains carryover information only LOG_G << "loading scenario: '" << gamestate.classification().scenario << "'\n";