/* base/savegame.h This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_BASE_SAVEGAME_H__ #define __INCLUDED_BASE_SAVEGAME_H__ // system headers #include // project headers #include "core/info.h" #include "core/player.h" #include "base/ship.h" namespace game { /** * @brief a class containing helper functions for savegames */ class SaveGame { public: /** * @brief write player data to output stream, in .ini format */ static void player_to_stream(core::Player *player, std::ostream & os); /** * @brief write ship data to output stream, in .ini format */ static void ship_to_stream(Ship *ship, std::ostream & os); /** * @brief write inventory data to output stream, in .ini format */ static void ship_inventory_to_stream(Ship *ship, std::ostream & os); /** * @brief load a savegame from .ini file * */ static void load_game(core::Player *player, filesystem::IniFile & inifile); }; // class SaveGame } // namespace game #endif // __INCLUDED_BASE_SAVEGAME_H__