UFO: Alien Invasion
cp_save.h File Reference

Defines some savefile structures. More...

#include <zlib.h>
#include "../../../common/msg.h"
#include "../../../common/xml.h"
Include dependency graph for cp_save.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  saveFileHeader_t
 
struct  saveSubsystems_t
 

Macros

#define MAX_SAVESUBSYSTEMS   32
 
#define SAVE_FILE_VERSION   4
 
#define SAVEGAME_EXTENSION   "savx"
 
#define FOREACH_XMLNODE(var, node, name)    for (xmlNode_t* var = cgi->XML_GetNode((node), name); var; var = cgi->XML_GetNextNode(var, node, name))
 

Functions

void SAV_Init (void)
 Register all save-subsystems and init some cvars and commands. More...
 
bool SAV_AddSubsystem (saveSubsystems_t *subsystem)
 Adds a subsystem to the saveSubsystems array. More...
 
bool B_SaveXML (xmlNode_t *parent)
 Save callback for saving in xml format. More...
 
bool B_LoadXML (xmlNode_t *parent)
 Loads base data. More...
 
bool CP_SaveXML (xmlNode_t *parent)
 Save callback for savegames in XML Format. More...
 
bool CP_LoadXML (xmlNode_t *parent)
 Load callback for savegames in XML Format. More...
 
bool HOS_LoadXML (xmlNode_t *parent)
 Saving function for hospital related data. More...
 
bool HOS_SaveXML (xmlNode_t *parent)
 Saving function for hospital related data. More...
 
bool BS_SaveXML (xmlNode_t *parent)
 Save callback for savegames. More...
 
bool BS_LoadXML (xmlNode_t *parent)
 Load callback for savegames. More...
 
bool AIR_SaveXML (xmlNode_t *parent)
 Save callback for savegames in xml format. More...
 
bool AIR_LoadXML (xmlNode_t *parent)
 
bool AC_LoadXML (xmlNode_t *parent)
 Load callback for savin in XML Format. More...
 
bool E_SaveXML (xmlNode_t *parent)
 Save callback for savegames in XML Format. More...
 
bool E_LoadXML (xmlNode_t *parent)
 Load callback for savegames in XML Format. More...
 
bool RS_SaveXML (xmlNode_t *parent)
 Save callback for research and technologies. More...
 
bool RS_LoadXML (xmlNode_t *parent)
 Load callback for research and technologies. More...
 
bool PR_SaveXML (xmlNode_t *parent)
 Save callback for savegames in XML Format. More...
 
bool PR_LoadXML (xmlNode_t *parent)
 Load callback for xml savegames. More...
 
bool MS_SaveXML (xmlNode_t *parent)
 Save callback for messages. More...
 
bool MS_LoadXML (xmlNode_t *parent)
 Load callback for messages. More...
 
bool STATS_SaveXML (xmlNode_t *parent)
 Save callback for savegames in XML Format. More...
 
bool STATS_LoadXML (xmlNode_t *parent)
 Load callback for savegames in XML Format. More...
 
bool NAT_SaveXML (xmlNode_t *parent)
 Nation saving callback. More...
 
bool NAT_LoadXML (xmlNode_t *parent)
 Nation loading xml callback. More...
 
bool TR_SaveXML (xmlNode_t *parent)
 Save callback for xml savegames. More...
 
bool TR_LoadXML (xmlNode_t *parent)
 Load callback for xml savegames. More...
 
bool AB_SaveXML (xmlNode_t *parent)
 Save callback for alien base data. More...
 
bool AB_LoadXML (xmlNode_t *parent)
 Load callback for alien base data. More...
 
bool XVI_SaveXML (xmlNode_t *parent)
 XVI map saving callback. More...
 
bool XVI_LoadXML (xmlNode_t *parent)
 Load the XVI map from the savegame. More...
 
bool INS_SaveXML (xmlNode_t *parent)
 Save callback for savegames in xml. More...
 
bool INS_LoadXML (xmlNode_t *parent)
 Load callback for savegames. More...
 
bool MSO_SaveXML (xmlNode_t *parent)
 saves current notification and pause settings More...
 
bool MSO_LoadXML (xmlNode_t *parent)
 Restores the notification and pause settings from savegame. More...
 
bool US_SaveXML (xmlNode_t *parent)
 Save callback for savegames in XML Format. More...
 
bool US_LoadXML (xmlNode_t *parent)
 Load callback for xml savegames. More...
 
bool MIS_LoadXML (xmlNode_t *parent)
 Load callback for savegames in XML Format. More...
 
bool MIS_SaveXML (xmlNode_t *parent)
 Save callback for savegames in XML Format. More...
 
bool INT_SaveXML (xmlNode_t *parent)
 Save callback for savegames in XML Format. More...
 
bool INT_LoadXML (xmlNode_t *parent)
 Load callback for savegames in XML Format. More...
 
bool B_PostLoadInit (void)
 Set the capacity stuff for all the bases after loading a savegame. More...
 
bool AIR_PostLoadInit (void)
 Actions needs to be done after loading the savegame. More...
 
bool PR_PostLoadInit (void)
 actions to do with productions after loading a savegame More...
 
bool SAV_LoadHeader (const char *filename, saveFileHeader_t *header)
 Loads and verifies a savegame header. More...
 
bool SAV_GameLoad (const char *file, const char **error)
 Loads the given savegame from an xml File. More...
 
bool SAV_GameSaveAllowed (char **error)
 Determines if saving is allowed. More...
 
bool SAV_GameSave (const char *filename, const char *comment, char **error)
 This is a savegame function which stores the game in xml-Format. More...
 

Detailed Description

Defines some savefile structures.

Definition in file cp_save.h.

Macro Definition Documentation

◆ FOREACH_XMLNODE

#define FOREACH_XMLNODE (   var,
  node,
  name 
)     for (xmlNode_t* var = cgi->XML_GetNode((node), name); var; var = cgi->XML_GetNextNode(var, node, name))

Definition at line 54 of file cp_save.h.

◆ MAX_SAVESUBSYSTEMS

#define MAX_SAVESUBSYSTEMS   32

Definition at line 32 of file cp_save.h.

◆ SAVE_FILE_VERSION

#define SAVE_FILE_VERSION   4

Definition at line 33 of file cp_save.h.

◆ SAVEGAME_EXTENSION

#define SAVEGAME_EXTENSION   "savx"

Definition at line 34 of file cp_save.h.

Function Documentation

◆ AB_LoadXML()

bool AB_LoadXML ( xmlNode_t p)

◆ AB_SaveXML()

bool AB_SaveXML ( xmlNode_t p)

Save callback for alien base data.

Parameters
[out]pXML Node structure, where we write the information to
See also
AB_LoadXML

Definition at line 387 of file cp_alienbase.cpp.

References AB_Foreach, cgi, SAVE_ALIENBASE_ALIENBASES, SAVE_ALIENBASE_BASE, SAVE_ALIENBASE_IDX, SAVE_ALIENBASE_POS, SAVE_ALIENBASE_STEALTH, SAVE_ALIENBASE_SUPPLY, cgame_import_t::XML_AddNode(), and xmlNode_t.

Referenced by SAV_Init().

◆ AC_LoadXML()

bool AC_LoadXML ( xmlNode_t parent)

◆ AIR_LoadXML()

◆ AIR_PostLoadInit()

bool AIR_PostLoadInit ( void  )

Actions needs to be done after loading the savegame.

See also
SAV_GameActionsAfterLoad

Definition at line 2631 of file cp_aircraft.cpp.

References AIR_PostLoadInitMissions().

Referenced by SAV_GameActionsAfterLoad().

◆ AIR_SaveXML()

bool AIR_SaveXML ( xmlNode_t parent)

◆ B_LoadXML()

bool B_LoadXML ( xmlNode_t parent)

Loads base data.

Parameters
[in]parentXML Node structure, where we get the information from
Todo:
save it as vec2t if needed, also it's opposite

Definition at line 2406 of file cp_base.cpp.

References base_t::aircraftCurrent, base_t::alienContainment, base_t::alienInterest, B_GetBaseByIDX(), B_GetBuildingByIDX, B_GetBuildingIDX, B_GetBuildingTemplate(), B_GetCount(), B_GetMaxBuildingLevel(), B_LoadBaseSlotsXML(), B_LoadStorageXML(), B_RADAR, building_t::base, base_t::baseStatus, base_t::batteries, BDEF_InitialiseBaseSlots(), base_t::bEquipment, baseBuildingTile_t::blocked, baseBuildingTile_t::building, ccs_t::buildings, building_t::buildingStatus, building_t::buildTime, CAP_ALIENS, CAP_Get, ccs, cgi, FOREACH_XMLNODE, base_t::founded, i, base_t::idx, building_t::idx, Inventory::init(), base_t::lasers, building_t::level, AlienCargo::load(), base_t::map, MAX_BASE_SLOT, MAX_BUILDINGS, MAX_VAR, base_t::name, ccs_t::numBases, base_t::numBatteries, ccs_t::numBuildings, base_t::numLasers, base_t::pos, building_t::pos, baseBuildingTile_t::posX, baseBuildingTile_t::posY, Q_strncpyz(), base_t::radar, RADAR_Initialise(), RADAR_InitialiseUFOs(), SAVE_BASES_ALIENCONTAINMENT, SAVE_BASES_ALIENINTEREST, SAVE_BASES_BASE, SAVE_BASES_BASESTATUS, SAVE_BASES_BATTERIES, SAVE_BASES_BLOCKED, SAVE_BASES_BUILDING, SAVE_BASES_BUILDING_PLACE, SAVE_BASES_BUILDINGBUILDTIME, SAVE_BASES_BUILDINGINDEX, SAVE_BASES_BUILDINGLEVEL, SAVE_BASES_BUILDINGS, SAVE_BASES_BUILDINGSPACE, SAVE_BASES_BUILDINGSTATUS, SAVE_BASES_BUILDINGTIMESTART, SAVE_BASES_BUILDINGTYPE, SAVE_BASES_IDX, SAVE_BASES_LASERS, SAVE_BASES_NAME, SAVE_BASES_POS, SAVE_BASES_RADARRANGE, SAVE_BASES_STORAGE, SAVE_BASES_TRACKINGRANGE, SAVE_BASES_X, SAVE_BASES_Y, SAVE_BASESTATUS_NAMESPACE, SAVE_BUILDINGSTATUS_NAMESPACE, saveBaseConstants, base_t::storage, building_t::timeStart, cgame_import_t::XML_GetDate(), cgame_import_t::XML_GetNode(), cgame_import_t::XML_GetPos2(), cgame_import_t::XML_GetPos3(), cgame_import_t::XML_GetString(), and xmlNode_t.

Referenced by SAV_Init().

◆ B_PostLoadInit()

bool B_PostLoadInit ( void  )

Set the capacity stuff for all the bases after loading a savegame.

See also
SAV_GameActionsAfterLoad

Definition at line 2377 of file cp_base.cpp.

References B_PostLoadInitCapacity().

Referenced by SAV_GameActionsAfterLoad().

◆ B_SaveXML()

bool B_SaveXML ( xmlNode_t parent)

Save callback for saving in xml format.

Parameters
[out]parentXML Node structure, where we write the information to
Todo:
save it as vec2t if needed, also it's opposite

Definition at line 2263 of file cp_base.cpp.

References base_t::alienContainment, base_t::alienInterest, B_GetBuildingAt, B_GetNext(), B_GetNextBuilding(), B_IsTileBlocked, B_SaveBaseSlotsXML(), B_SaveStorageXML(), BASE_SIZE, base_t::baseStatus, base_t::batteries, building_t::buildingStatus, building_t::buildTime, cgi, cgame_import_t::Com_GetConstVariable(), base_t::founded, DateTime::getDateAsDays(), DateTime::getTimeAsSeconds(), base_t::idx, building_t::idx, base_t::lasers, building_t::level, base_t::name, base_t::numBatteries, base_t::numLasers, base_t::pos, building_t::pos, base_t::radar, AlienCargo::save(), SAVE_BASES_ALIENCONTAINMENT, SAVE_BASES_ALIENINTEREST, SAVE_BASES_BASE, SAVE_BASES_BASES, SAVE_BASES_BASESTATUS, SAVE_BASES_BATTERIES, SAVE_BASES_BLOCKED, SAVE_BASES_BUILDING, SAVE_BASES_BUILDING_PLACE, SAVE_BASES_BUILDINGBUILDTIME, SAVE_BASES_BUILDINGINDEX, SAVE_BASES_BUILDINGLEVEL, SAVE_BASES_BUILDINGS, SAVE_BASES_BUILDINGSPACE, SAVE_BASES_BUILDINGSTATUS, SAVE_BASES_BUILDINGTIMESTART, SAVE_BASES_BUILDINGTYPE, SAVE_BASES_IDX, SAVE_BASES_LASERS, SAVE_BASES_NAME, SAVE_BASES_POS, SAVE_BASES_RADARRANGE, SAVE_BASES_STORAGE, SAVE_BASES_TRACKINGRANGE, SAVE_BASES_X, SAVE_BASES_Y, SAVE_BASESTATUS_NAMESPACE, SAVE_BUILDINGSTATUS_NAMESPACE, saveBaseConstants, base_t::storage, building_t::timeStart, building_t::tpl, cgame_import_t::XML_AddNode(), and xmlNode_t.

Referenced by SAV_Init().

◆ BS_LoadXML()

◆ BS_SaveXML()

◆ CP_LoadXML()

◆ CP_SaveXML()

◆ E_LoadXML()

◆ E_SaveXML()

bool E_SaveXML ( xmlNode_t p)

Save callback for savegames in XML Format.

Parameters
[out]pXML Node structure, where we write the information to
See also
E_LoadXML
SAV_GameSaveXML
G_SendCharacterData
CP_ParseCharacterData
GAME_SendCurrentTeamSpawningInfo
Note
e->transfer is not saved here because it'll be restored via TR_Load.

Definition at line 870 of file cp_employee.cpp.

References cgi, cgame_import_t::Com_GetConstVariable(), E_Foreach, i, MAX_EMPL, SAVE_EMPLOYEE_ASSIGNED, SAVE_EMPLOYEE_BASEHIRED, SAVE_EMPLOYEE_CHR, SAVE_EMPLOYEE_EMPLOYEE, SAVE_EMPLOYEE_EMPLOYEES, SAVE_EMPLOYEE_NATION, SAVE_EMPLOYEE_TYPE, SAVE_EMPLOYEE_UGV, SAVE_EMPLOYEETYPE_NAMESPACE, saveEmployeeConstants, cgame_import_t::XML_AddNode(), and xmlNode_t.

Referenced by SAV_Init().

◆ HOS_LoadXML()

bool HOS_LoadXML ( xmlNode_t p)

Saving function for hospital related data.

See also
HOS_SaveXML
SAV_GameLoadXML

Definition at line 201 of file cp_hospital.cpp.

Referenced by SAV_Init().

◆ HOS_SaveXML()

bool HOS_SaveXML ( xmlNode_t p)

Saving function for hospital related data.

See also
HOS_LoadXML
SAV_GameSaveXML

Definition at line 190 of file cp_hospital.cpp.

Referenced by SAV_Init().

◆ INS_LoadXML()

bool INS_LoadXML ( xmlNode_t p)

Load callback for savegames.

Parameters
[in]pXML Node structure, where we get the information from
See also
INS_SaveXML
SAV_GameLoadXML
INS_LoadItemSlots

Definition at line 499 of file cp_installation.cpp.

References installation_t::alienInterest, B_LoadBaseSlotsXML(), installation_t::batteries, BDEF_InitialiseInstallationSlots(), installation_t::buildStart, ccs, cgi, capacities_t::cur, cgame_import_t::Cvar_Set(), installation_t::idx, INS_GetCount(), INS_GetInstallationTemplateByType(), INS_GetType(), INSTALLATION_WORKING, installation_t::installationDamage, ccs_t::installations, installation_t::installationStatus, installation_t::installationTemplate, LIST_Add(), capacities_t::max, installationTemplate_t::maxBatteries, installationTemplate_t::maxUFOsStored, installation_t::name, installation_t::numBatteries, OBJZERO, installation_t::pos, Q_strncpyz(), installation_t::radar, RADAR_Initialise(), RADAR_InitialiseUFOs(), RADAR_UpdateInstallationRadarCoverage(), installationTemplate_t::radarRange, SAVE_INSTALLATION_ALIENINTEREST, SAVE_INSTALLATION_BATTERIES, SAVE_INSTALLATION_BUILDSTART, SAVE_INSTALLATION_DAMAGE, SAVE_INSTALLATION_IDX, SAVE_INSTALLATION_INSTALLATION, SAVE_INSTALLATION_INSTALLATIONS, SAVE_INSTALLATION_NAME, SAVE_INSTALLATION_NUM, SAVE_INSTALLATION_POS, SAVE_INSTALLATION_STATUS, SAVE_INSTALLATION_TEMPLATEID, SAVE_INSTALLATIONSTATUS_NAMESPACE, saveInstallationConstants, installationTemplate_t::trackingRange, type, installation_t::ufoCapacity, cgame_import_t::XML_GetNextNode(), cgame_import_t::XML_GetNode(), cgame_import_t::XML_GetPos3(), cgame_import_t::XML_GetString(), and xmlNode_t.

Referenced by SAV_Init().

◆ INS_SaveXML()

◆ INT_LoadXML()

◆ INT_SaveXML()

◆ MIS_LoadXML()

bool MIS_LoadXML ( xmlNode_t parent)

Load callback for savegames in XML Format.

Parameters
[in]parentXML Node structure, where we get the information from

Definition at line 2064 of file cp_missions.cpp.

References AB_GetByIDX(), mission_t::active, AIR_AircraftGetFromIDX(), mission_t::missionData_t::aircraft, mission_t::missionData_t::alienBase, B_GetBaseByIDX(), B_IsUnderAttack, mission_t::missionData_t::base, mission_t::category, ccs, cgi, mission_t::missionData_t::city, CITY_GetByPos(), cgame_import_t::Com_GetMapDefinitionByID(), CP_BasemissionIsSubvertingGovernmentMission(), mission_t::crashed, mission_t::data, mission_t::finalDate, mission_t::id, base_t::idx, mission_t::idx, mission_t::initialIndividualInterest, mission_t::initialOverallInterest, INS_GetByIDX(), mission_t::missionData_t::installation, INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUPPLY, INTERESTCATEGORY_TERROR_ATTACK, LIST_Add(), mission_t::mapDef, ccs_t::missions, base_t::name, name, OBJZERO, mission_t::onGeoscape, mission_t::onlose, mission_t::onwin, mission_t::pos, mission_t::posAssigned, Q_strncpyz(), SAVE_INTERESTCAT_NAMESPACE, SAVE_MISSIONS, SAVE_MISSIONS_ACTIVE, SAVE_MISSIONS_ALIENBASEINDEX, SAVE_MISSIONS_BASEINDEX, SAVE_MISSIONS_CATEGORY, SAVE_MISSIONS_CRASHED, SAVE_MISSIONS_CRASHED_AIRCRAFT, SAVE_MISSIONS_FINALDATE, SAVE_MISSIONS_ID, SAVE_MISSIONS_INITIALINDIVIDUALINTEREST, SAVE_MISSIONS_INITIALOVERALLINTEREST, SAVE_MISSIONS_INSTALLATIONINDEX, SAVE_MISSIONS_MAPDEF_ID, SAVE_MISSIONS_MISSION, SAVE_MISSIONS_MISSION_IDX, SAVE_MISSIONS_ONGEOSCAPE, SAVE_MISSIONS_ONLOSE, SAVE_MISSIONS_ONWIN, SAVE_MISSIONS_POS, SAVE_MISSIONS_POSASSIGNED, SAVE_MISSIONS_STAGE, SAVE_MISSIONS_STARTDATE, SAVE_MISSIONSTAGE_NAMESPACE, saveInterestConstants, saveMissionConstants, mission_t::stage, STAGE_BASE_ATTACK, STAGE_BUILD_BASE, STAGE_INTERCEPT, STAGE_MISSION_GOTO, STAGE_TERROR_MISSION, mission_t::startDate, cgame_import_t::XML_GetDate(), cgame_import_t::XML_GetNextNode(), cgame_import_t::XML_GetNode(), cgame_import_t::XML_GetPos2(), cgame_import_t::XML_GetString(), and xmlNode_t.

Referenced by SAV_Init().

◆ MIS_SaveXML()

bool MIS_SaveXML ( xmlNode_t parent)

Save callback for savegames in XML Format.

Parameters
[out]parentXML Node structure, where we write the information to

Definition at line 1992 of file cp_missions.cpp.

References mission_t::active, mission_t::missionData_t::aircraft, mission_t::missionData_t::alienBase, mission_t::missionData_t::base, mission_t::category, cgi, cgame_import_t::Com_GetConstVariable(), mission_t::crashed, mission_t::data, mission_t::finalDate, DateTime::getDateAsDays(), DateTime::getTimeAsSeconds(), mission_t::id, mapDef_t::id, aircraft_t::idx, alienBase_t::idx, base_t::idx, installation_t::idx, mission_t::idx, mission_t::initialIndividualInterest, mission_t::initialOverallInterest, mission_t::missionData_t::installation, INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUPPLY, mission_t::mapDef, MIS_Foreach, mission_t::onGeoscape, mission_t::onlose, mission_t::onwin, mission_t::pos, mission_t::posAssigned, SAVE_INTERESTCAT_NAMESPACE, SAVE_MISSIONS, SAVE_MISSIONS_ACTIVE, SAVE_MISSIONS_ALIENBASEINDEX, SAVE_MISSIONS_BASEINDEX, SAVE_MISSIONS_CATEGORY, SAVE_MISSIONS_CRASHED, SAVE_MISSIONS_CRASHED_AIRCRAFT, SAVE_MISSIONS_FINALDATE, SAVE_MISSIONS_ID, SAVE_MISSIONS_INITIALINDIVIDUALINTEREST, SAVE_MISSIONS_INITIALOVERALLINTEREST, SAVE_MISSIONS_INSTALLATIONINDEX, SAVE_MISSIONS_MAPDEF_ID, SAVE_MISSIONS_MISSION, SAVE_MISSIONS_MISSION_IDX, SAVE_MISSIONS_ONGEOSCAPE, SAVE_MISSIONS_ONLOSE, SAVE_MISSIONS_ONWIN, SAVE_MISSIONS_POS, SAVE_MISSIONS_POSASSIGNED, SAVE_MISSIONS_STAGE, SAVE_MISSIONS_STARTDATE, SAVE_MISSIONSTAGE_NAMESPACE, saveInterestConstants, saveMissionConstants, mission_t::stage, STAGE_BASE_ATTACK, STAGE_INTERCEPT, STAGE_MISSION_GOTO, mission_t::startDate, cgame_import_t::XML_AddNode(), and xmlNode_t.

Referenced by SAV_Init().

◆ MS_LoadXML()

◆ MS_SaveXML()

bool MS_SaveXML ( xmlNode_t p)

Save callback for messages.

Parameters
[out]pXML Node structure, where we write the information to
See also
MS_MessageSaveXML

Definition at line 238 of file cp_messages.cpp.

References cgi, MS_MessageSaveXML(), SAVE_MESSAGES_MESSAGES, cgame_import_t::UI_MessageGetStack(), cgame_import_t::XML_AddNode(), and xmlNode_t.

Referenced by SAV_Init().

◆ MSO_LoadXML()

◆ MSO_SaveXML()

◆ NAT_LoadXML()

◆ NAT_SaveXML()

bool NAT_SaveXML ( xmlNode_t p)

◆ PR_LoadXML()

◆ PR_PostLoadInit()

bool PR_PostLoadInit ( void  )

actions to do with productions after loading a savegame

See also
SAV_GameActionsAfterLoad

Definition at line 803 of file cp_produce.cpp.

References PR_PostLoadInitProgress().

Referenced by SAV_GameActionsAfterLoad().

◆ PR_SaveXML()

◆ RS_LoadXML()

◆ RS_SaveXML()

◆ SAV_AddSubsystem()

bool SAV_AddSubsystem ( saveSubsystems_t subsystem)

Adds a subsystem to the saveSubsystems array.

Note
The order is not important
See also
SAV_Init

Definition at line 394 of file cp_save.cpp.

References cgi, saveSubsystems_t::load, MAX_SAVESUBSYSTEMS, saveSubsystems_t::name, saveSubsystems_t::save, saveSubsystems, and saveSubsystemsAmount.

Referenced by SAV_Init().

◆ SAV_GameLoad()

bool SAV_GameLoad ( const char *  file,
const char **  error 
)

Loads the given savegame from an xml File.

Returns
true on load success false on failures
Parameters
[in]fileThe Filename to load from (without extension)
[out]errorOn failure an errormessage may be set.

Definition at line 152 of file cp_save.cpp.

References _, cgi, saveFileHeader_t::compressed, cp_campaignPool, f, FILE_READ, saveFileHeader_t::gameVersion, cgame_import_t::GetRelativeSavePath(), i, len, LittleLong, MAX_OSPATH, Mem_PoolAllocTypeN, name, Q_strcat(), SAV_GameActionsAfterLoad(), SAV_VerifyHeader(), SAVE_ROOTNODE, SAVEGAME_EXTENSION, saveSubsystems, saveSubsystemsAmount, va(), saveFileHeader_t::version, cgame_import_t::XML_GetNode(), cgame_import_t::XML_Parse(), xmlNode_t, and saveFileHeader_t::xmlSize.

Referenced by SAV_GameContinue_f(), SAV_GameLoad_f(), SAV_GameQuickLoad_f(), and TEST_F().

◆ SAV_GameSave()

◆ SAV_GameSaveAllowed()

bool SAV_GameSaveAllowed ( char **  error)

Determines if saving is allowed.

Definition at line 267 of file cp_save.cpp.

References _, B_AtLeastOneExists, cgi, and CP_IsRunning().

Referenced by SAV_GameSave().

◆ SAV_Init()

◆ SAV_LoadHeader()

bool SAV_LoadHeader ( const char *  filename,
saveFileHeader_t header 
)

Loads and verifies a savegame header.

Parameters
[in]filenameName of the file to load header from (without path and extension)
[out]headerPointer to the header structure to fill
Returns
true on success false on failure

Definition at line 114 of file cp_save.cpp.

References cgi, saveFileHeader_t::compressed, f, FILE_READ, cgame_import_t::GetRelativeSavePath(), LittleLong, MAX_OSPATH, Q_strcat(), SAV_VerifyHeader(), SAVEGAME_EXTENSION, saveFileHeader_t::version, and saveFileHeader_t::xmlSize.

Referenced by SAV_ListSaveGames_f().

◆ STATS_LoadXML()

◆ STATS_SaveXML()

◆ TR_LoadXML()

◆ TR_SaveXML()

◆ US_LoadXML()

◆ US_SaveXML()

bool US_SaveXML ( xmlNode_t p)

◆ XVI_LoadXML()

bool XVI_LoadXML ( xmlNode_t p)

Load the XVI map from the savegame.

See also
Savegame callback
SAV_InitXML
XVI_SaveXML

Definition at line 247 of file cp_xvi.cpp.

References cgi, CP_InitializeXVIOverlay(), CP_SetXVILevel(), level, SAVE_XVI_ENTRY, SAVE_XVI_HEIGHT, SAVE_XVI_LEVEL, SAVE_XVI_WIDTH, SAVE_XVI_X, SAVE_XVI_XVI, SAVE_XVI_Y, cgame_import_t::XML_GetNextNode(), cgame_import_t::XML_GetNode(), and xmlNode_t.

Referenced by SAV_Init().

◆ XVI_SaveXML()

bool XVI_SaveXML ( xmlNode_t p)

XVI map saving callback.

Note
Only save transparency
See also
Savegame callback
SAV_InitXML
XVI_LoadXML

Definition at line 215 of file cp_xvi.cpp.

References cgi, CP_GetXVILevel(), CP_GetXVIMapDimensions(), SAVE_XVI_ENTRY, SAVE_XVI_HEIGHT, SAVE_XVI_LEVEL, SAVE_XVI_WIDTH, SAVE_XVI_X, SAVE_XVI_XVI, SAVE_XVI_Y, cgame_import_t::XML_AddNode(), and xmlNode_t.

Referenced by SAV_Init().