LEVEL_RESULT play_replay_level(const config& game_config, const config* level, CVideo& video, game_state& state_of_game, bool is_unit_test) { try{ const int ticks = SDL_GetTicks(); int num_turns = (*level)["turns"].to_int(-1); config init_level = *level; carryover_info sides(state_of_game.carryover_sides); sides.transfer_to(init_level); state_of_game.carryover_sides = sides.to_config(); DBG_NG << "creating objects... " << (SDL_GetTicks() - ticks) << "\n"; replay_controller replaycontroller(init_level, state_of_game, ticks, num_turns, game_config, video); DBG_NG << "created objects... " << (SDL_GetTicks() - replaycontroller.get_ticks()) << "\n"; const events::command_disabler disable_commands; //replay event-loop for (;;){ replaycontroller.play_slice(); if (is_unit_test) { if (replaycontroller.manage_noninteractively()) { return VICTORY; } } } } catch(end_level_exception&){ DBG_NG << "play_replay_level: end_level_exception\n"; } return VICTORY; }
LEVEL_RESULT play_replay_level(const config& game_config, const config* level, CVideo& video, game_state& state_of_game) { try{ const int ticks = SDL_GetTicks(); const int num_turns = atoi((*level)["turns"].c_str()); DBG_NG << "creating objects... " << (SDL_GetTicks() - ticks) << "\n"; replay_controller replaycontroller(*level, state_of_game, ticks, num_turns, game_config, video); DBG_NG << "created objects... " << (SDL_GetTicks() - replaycontroller.get_ticks()) << "\n"; const events::command_disabler disable_commands; //replay event-loop for (;;){ replaycontroller.play_slice(); } } catch(end_level_exception&){ DBG_NG << "play_replay_level: end_level_exception\n"; } return VICTORY; }