File: SaveLoad.h

package info (click to toggle)
freeorion 0.5.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 194,940 kB
  • sloc: cpp: 186,508; python: 40,969; ansic: 1,164; xml: 719; makefile: 32; sh: 7
file content (58 lines) | stat: -rw-r--r-- 2,358 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef _SaveLoad_h_
#define _SaveLoad_h_

#include <vector>
#include <map>
#include <string>

class CombatLogManager;
class EmpireManager;
class SpeciesManager;
class Universe;
struct GalaxySetupData;
struct PlayerSaveGameData;
struct PlayerSaveHeaderData;
struct SaveGameEmpireData;
struct ServerSaveGameData;

/** Prepared empire data for save game or lobby. */
std::map<int, SaveGameEmpireData> CompileSaveGameEmpireData(const EmpireManager& empires);

/** Saves the provided data to savefile \a filename. */
int SaveGame(const std::string& filename,
             const ServerSaveGameData& server_save_game_data,
             const std::vector<PlayerSaveGameData>& player_save_game_data,
             const Universe& universe,
             const EmpireManager& empire_manager,
             const SpeciesManager& species_manager,
             const CombatLogManager& combat_log_manager,
             GalaxySetupData galaxy_setup_data,
             bool multiplayer);

/** Loads the indicated data from savefile \a filename. */
void LoadGame(const std::string& filename,
              ServerSaveGameData& server_save_game_data,
              std::vector<PlayerSaveGameData>& player_save_game_data,
              Universe& universe,
              EmpireManager& empire_manager,
              SpeciesManager& species_manager,
              CombatLogManager& combat_log_manager,
              GalaxySetupData& galaxy_setup_data);

/** Loads from a savefile \a filename some basic info about players in the save
  * that is needed when resuming the game. */
void LoadPlayerSaveHeaderData(const std::string& filename,
                              std::vector<PlayerSaveHeaderData>& player_save_header_data);


/** Loads from a savefile \a filename some basic empire information that is
  * useful when selecting which player will control which empire when reloading
  * a saved game: player name, empire name, and empire colour (and empire id).
  * Also loads galaxy setup data to show it in lobby window. */
void LoadEmpireSaveGameData(const std::string& filename,
                            std::map<int, SaveGameEmpireData>& empire_save_game_data,
                            std::vector<PlayerSaveHeaderData>& player_save_header_data,
                            GalaxySetupData& galaxy_setup_data,
                            int &current_turn);

#endif