UFO: Alien Invasion
Loading...
Searching...
No Matches
cp_installation.cpp File Reference

Handles everything that is located in or accessed through an installation. More...

#include "../../DateTime.h"
#include "../../cl_shared.h"
#include "../../../shared/parse.h"
#include "cp_campaign.h"
#include "cp_mapfightequip.h"
#include "cp_aircraft.h"
#include "cp_missions.h"
#include "cp_installation.h"
#include "save/save_installation.h"
Include dependency graph for cp_installation.cpp:

Go to the source code of this file.

Functions

int INS_GetCount (void)
 Get number of installations.
installationType_t INS_GetType (const char *type)
bool INS_HasAny (installationStatus_t status)
 Checks whether any installation is available.
bool INS_HasType (installationType_t type, installationStatus_t status)
 Checks whether the given installation type is available.
installation_tINS_GetByIDX (int idx)
 Get installation by it's index.
const installationTemplate_tINS_GetInstallationTemplateByID (const char *id)
 Returns the installation Template for a given installation ID.
const installationTemplate_tINS_GetInstallationTemplateByType (installationType_t type)
 Returns the installation Template for a given installation type.
installation_tINS_Build (const installationTemplate_t *installationTemplate, const vec2_t pos, const char *name)
 Build a new installation.
void INS_DestroyInstallation (installation_t *installation)
 Destroys an installation.
installation_tINS_GetCurrentSelectedInstallation (void)
 Returns the current selected installation.
void INS_SetCurrentSelectedInstallation (const installation_t *installation)
 Sets the currently selected installation.
static void INS_FinishInstallation (installation_t *installation)
 Finishes an installation.
installation_tINS_GetFirstUFOYard (bool free)
 returns the first installation with (free) ufostoring capacity
void INS_InitStartup (void)
 Resets console commands.
void INS_Shutdown (void)
 Closing operations for installations subsystem.
void INS_UpdateInstallationData (void)
 Check if some installation are build.
void INS_ParseInstallations (const char *name, const char **text)
 Copies an entry from the installation description file into the list of installation templates.
void INS_LinkTechnologies (void)
bool INS_SaveXML (xmlNode_t *p)
 Save callback for savegames in xml.
bool INS_LoadXML (xmlNode_t *p)
 Load callback for savegames.

Variables

static const cmdList_t debugInstallationCmds []
static const value_t installation_vals []

Detailed Description

Handles everything that is located in or accessed through an installation.

Note
Installation functions prefix: INS_*

Definition in file cp_installation.cpp.

Function Documentation

◆ INS_Build()

installation_t * INS_Build ( const installationTemplate_t * installationTemplate,
const vec2_t pos,
const char * name )

◆ INS_DestroyInstallation()

◆ INS_FinishInstallation()

◆ INS_GetByIDX()

installation_t * INS_GetByIDX ( int idx)

Get installation by it's index.

Parameters
[in]idxInstalation's index
Returns
Pointer to the installation corresponding to idx or nullptr if not found.

Definition at line 94 of file cp_installation.cpp.

References INS_Foreach.

Referenced by INS_DestroyInstallation_f(), INS_FillUFOYardData_f(), INS_SelectInstallation_f(), MIS_LoadXML(), UR_DialogStartStore_f(), US_FillUFOTransferUFOs_f(), US_LoadXML(), and US_TransferUFO_f().

◆ INS_GetCount()

int INS_GetCount ( void )

Get number of installations.

Definition at line 40 of file cp_installation.cpp.

References ccs, and cgi.

Referenced by GEO_GetGeoscapeAngle(), INS_BuildInstallation_f(), INS_DestroyInstallation(), INS_FillTypes_f(), INS_InitCallbacks(), INS_LoadXML(), and INS_SelectType_f().

◆ INS_GetCurrentSelectedInstallation()

installation_t * INS_GetCurrentSelectedInstallation ( void )

◆ INS_GetFirstUFOYard()

installation_t * INS_GetFirstUFOYard ( bool free)

returns the first installation with (free) ufostoring capacity

Parameters
[in]freeOn true it gives the first UFO Yard with free space
Returns
installation_t Pointer to the UFO Yard

Definition at line 314 of file cp_installation.cpp.

References INS_ForeachOfType, and INSTALLATION_UFOYARD.

Referenced by INS_FillUFOYardData_f().

◆ INS_GetInstallationTemplateByID()

const installationTemplate_t * INS_GetInstallationTemplateByID ( const char * id)

Returns the installation Template for a given installation ID.

Parameters
[in]idID of the installation template to find.
Returns
corresponding installation Template, nullptr if not found.

Definition at line 109 of file cp_installation.cpp.

References ccs, installationTemplate_t::id, and Q_streq.

Referenced by INS_BuildInstallation_f(), and INS_SelectType_f().

◆ INS_GetInstallationTemplateByType()

const installationTemplate_t * INS_GetInstallationTemplateByType ( installationType_t type)

Returns the installation Template for a given installation type.

Parameters
[in]typeType of the installation template to find.
Returns
corresponding installation Template, nullptr if not found.

Definition at line 127 of file cp_installation.cpp.

References ccs, installationTemplate_t::type, and type.

Referenced by CP_SpawnUFOCarrier_f(), CreateInstallation(), INS_LoadXML(), and INS_SetInstallationTitle().

◆ INS_GetType()

◆ INS_HasAny()

bool INS_HasAny ( installationStatus_t status)

Checks whether any installation is available.

Parameters
[in]statusStatus of installation to search for

Definition at line 64 of file cp_installation.cpp.

References INS_Foreach, and INSTALLATION_NOT_USED.

Referenced by CP_InterceptMissionSet().

◆ INS_HasType()

bool INS_HasType ( installationType_t type,
installationStatus_t status )

Checks whether the given installation type is available.

Parameters
[in]typeInstallation type to search for
[in]statusStatus of installation to search for

Definition at line 79 of file cp_installation.cpp.

References INS_ForeachOfType, INSTALLATION_NOT_USED, and type.

Referenced by CP_AttackUFOCarrier_f(), CP_CheckTriggerEvent(), CP_UFOCarrierMissionUpdate(), INS_FillTypes_f(), and INS_SelectType_f().

◆ INS_InitStartup()

void INS_InitStartup ( void )

Resets console commands.

Definition at line 336 of file cp_installation.cpp.

References cgi, and debugInstallationCmds.

Referenced by CP_InitStartup().

◆ INS_LinkTechnologies()

void INS_LinkTechnologies ( void )

◆ INS_LoadXML()

bool INS_LoadXML ( xmlNode_t * p)

◆ INS_ParseInstallations()

void INS_ParseInstallations ( const char * name,
const char ** text )

Copies an entry from the installation description file into the list of installation templates.

Note
Parses one "installation" entry in the installation.ufo file and writes it into the next free entry in installationTemplates.
Parameters
[in]nameUnique test-id of a installationTemplate_t.
[in]textthe rest of the script file that is tokenized here

Definition at line 392 of file cp_installation.cpp.

References ccs, cgi, Com_Parse(), cp_campaignPool, DEBUG_CLIENT, i, installationTemplate_t::id, INS_GetType(), INSTALLATION_RADAR, installation_vals, MAX_INSTALLATION_TEMPLATES, name, OBJZERO, Q_streq, and installationTemplate_t::type.

Referenced by CP_ParseScriptFirst().

◆ INS_SaveXML()

◆ INS_SetCurrentSelectedInstallation()

void INS_SetCurrentSelectedInstallation ( const installation_t * installation)

Sets the currently selected installation.

Parameters
installationPointer to the installation to select
See also
INS_SelectInstallation

Definition at line 215 of file cp_installation.cpp.

References cgi, installationTemplate_t::id, INS_Foreach, installation_t::installationTemplate, installation_t::name, and installation_t::selected.

Referenced by B_SetCurrentSelectedBase(), and INS_SelectInstallation().

◆ INS_Shutdown()

void INS_Shutdown ( void )

Closing operations for installations subsystem.

Definition at line 344 of file cp_installation.cpp.

References ccs, cgi, and debugInstallationCmds.

Referenced by CP_Shutdown().

◆ INS_UpdateInstallationData()

void INS_UpdateInstallationData ( void )

Variable Documentation

◆ debugInstallationCmds

const cmdList_t debugInstallationCmds[]
static
Initial value:
= {
{nullptr, nullptr, nullptr}
}

Definition at line 326 of file cp_installation.cpp.

Referenced by INS_InitStartup(), and INS_Shutdown().

◆ installation_vals

const value_t installation_vals[]
static
Initial value:
= {
{"description", V_TRANSLATION_STRING, offsetof(installationTemplate_t, description), 0},
{"radar_range", V_INT, offsetof(installationTemplate_t, radarRange), MEMBER_SIZEOF(installationTemplate_t, radarRange)},
{"radar_tracking_range", V_INT, offsetof(installationTemplate_t, trackingRange), MEMBER_SIZEOF(installationTemplate_t, trackingRange)},
{"max_batteries", V_INT, offsetof(installationTemplate_t, maxBatteries), MEMBER_SIZEOF(installationTemplate_t, maxBatteries)},
{"max_ufo_stored", V_INT, offsetof(installationTemplate_t, maxUFOsStored), MEMBER_SIZEOF(installationTemplate_t, maxUFOsStored)},
{"max_damage", V_INT, offsetof(installationTemplate_t, maxDamage), MEMBER_SIZEOF(installationTemplate_t, maxDamage)},
{"cost", V_INT, offsetof(installationTemplate_t, cost), MEMBER_SIZEOF(installationTemplate_t, cost)},
{"buildtime", V_INT, offsetof(installationTemplate_t, buildTime), MEMBER_SIZEOF(installationTemplate_t, buildTime)},
{"once", V_BOOL, offsetof(installationTemplate_t, once), MEMBER_SIZEOF(installationTemplate_t, once)},
{"model", V_HUNK_STRING, offsetof(installationTemplate_t, model), 0},
{"image", V_HUNK_STRING, offsetof(installationTemplate_t, image), 0},
{nullptr, V_NULL, 0, 0}
}
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
Definition r_gl.h:110
@ V_BOOL
Definition scripts.h:50
@ V_TRANSLATION_STRING
Definition scripts.h:59
@ V_HUNK_STRING
Definition scripts.h:69
@ V_NULL
Definition scripts.h:49
@ V_INT
Definition scripts.h:52
#define MEMBER_SIZEOF(TYPE, MEMBER)
Definition scripts.h:34

Definition at line 368 of file cp_installation.cpp.

Referenced by INS_ParseInstallations().