Ejemplo n.º 1
0
void playsingle_controller::reset_replay()
{
	if(replay_ && replay_->allow_reset_replay()) {
		replay_->stop_replay();
		throw reset_gamestate_exception(replay_->get_reset_state(), false);
	}
	else {
		ERR_NG << "recieved invalid reset replay\n";
	}
}
Ejemplo n.º 2
0
void playsingle_controller::hotkey_handler::load_autosave(const std::string& filename)
{
	if(playsingle_controller_.is_networked_mp())
	{
		config savegame;
		std::string error_log;
		savegame::read_save_file(filename, savegame, &error_log);

		if(!error_log.empty() || savegame.child_or_empty("snapshot")["replay_pos"].to_int(-1) < 0 ) {
			gui2::show_error_message(play_controller_.get_display().video(),
				_("The file you have tried to load is corrupt: '") +
				error_log);
			return;
		}
		boost::shared_ptr<config> res(new config(savegame.child_or_empty("snapshot")));
		throw reset_gamestate_exception(res, true);
	}
	else
	{
		play_controller::hotkey_handler::load_autosave(filename);
	}
}