From c3d599dcbe016602ef196992755ac0bcc1bec12c Mon Sep 17 00:00:00 2001 From: gfgtdf Date: Thu, 29 May 2014 22:15:46 +0200 Subject: [PATCH] use config::child_or_add Note: This commit is a squash of two cherry-picked commits from master, they were adjacent and the second was a fixup of the first. The first commit in master was 28ffcc54483942c598d24cecd4f65534f0185c51 --- src/playcampaign.cpp | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/playcampaign.cpp b/src/playcampaign.cpp index fad7b1c33a1b..9b97457f4aa0 100644 --- a/src/playcampaign.cpp +++ b/src/playcampaign.cpp @@ -271,15 +271,10 @@ static LEVEL_RESULT playsingle_scenario(const config& game_config, LOG_NG << "created objects... " << (SDL_GetTicks() - playcontroller.get_ticks()) << "\n"; LEVEL_RESULT res = playcontroller.play_scenario(story, skip_replay); - end_level = playcontroller.get_end_level_data_const(); - if (state_of_game.carryover_sides.has_child("end_level_data")) { - config& cfg_end_level = state_of_game.carryover_sides.child("end_level_data"); - end_level.write(cfg_end_level); - } else { - config& cfg_end_level = state_of_game.carryover_sides.add_child("end_level_data"); - end_level.write(cfg_end_level); - } + end_level = playcontroller.get_end_level_data_const(); + config& cfg_end_level = state_of_game.carryover_sides.child_or_add("end_level_data"); + end_level.write(cfg_end_level); if (res == DEFEAT) { if (resources::persist != NULL) @@ -324,15 +319,10 @@ static LEVEL_RESULT playmp_scenario(const config& game_config, playmp_controller playcontroller(init_level, state_of_game, ticks, num_turns, game_config, disp.video(), skip_replay, blindfold_replay, io_type == IO_SERVER); LEVEL_RESULT res = playcontroller.play_scenario(story, skip_replay); - end_level = playcontroller.get_end_level_data_const(); - if (state_of_game.carryover_sides.has_child("end_level_data")) { - config& cfg_end_level = state_of_game.carryover_sides.child("end_level_data"); - end_level.write(cfg_end_level); - } else { - config& cfg_end_level = state_of_game.carryover_sides.add_child("end_level_data"); - end_level.write(cfg_end_level); - } + end_level = playcontroller.get_end_level_data_const(); + config& cfg_end_level = state_of_game.carryover_sides.child_or_add("end_level_data"); + end_level.write(cfg_end_level); //Check if the player started as mp client and changed to host if (io_type == IO_CLIENT && playcontroller.is_host())