Skip to content

Commit

Permalink
use config::child_or_add
Browse files Browse the repository at this point in the history
  • Loading branch information
gfgtdf committed May 29, 2014
1 parent 7684fe0 commit 28ffcc5
Showing 1 changed file with 8 additions and 18 deletions.
26 changes: 8 additions & 18 deletions src/playcampaign.cpp
Expand Up @@ -291,15 +291,6 @@ 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);
}

if (res == DEFEAT) {
if (resources::persist != NULL)
Expand All @@ -324,6 +315,10 @@ static LEVEL_RESULT playsingle_scenario(const config& game_config,
}
}

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);

return res;
}

Expand All @@ -343,15 +338,6 @@ static LEVEL_RESULT playmp_scenario(const config& game_config,
playmp_controller playcontroller(init_level, state_of_game, ticks,
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);
}

//Check if the player started as mp client and changed to host
if (io_type == IO_CLIENT && playcontroller.is_host())
Expand Down Expand Up @@ -382,6 +368,10 @@ static LEVEL_RESULT playmp_scenario(const config& game_config,
}
}

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);

return res;
}

Expand Down

0 comments on commit 28ffcc5

Please sign in to comment.