UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cl_game.cpp File Reference

Shared game type code. More...

Go to the source code of this file.

Data Structures

class  GAMECvarListener
 
class  GAMECmdListener
 

Macros

#define MAX_CGAMETYPES   16
 

Functions

static const cgame_export_tGAME_GetCurrentType (void)
 
static SharedPtr
< GAMECvarListener
cvarListener (new GAMECvarListener())
 
static SharedPtr< GAMECmdListenercmdListener (new GAMECmdListener())
 
character_tGAME_GetCharacter (int index)
 Returns a character that can be used to store the game type specific character values. More...
 
character_tGAME_GetCharacterByUCN (int ucn)
 Returns a character that can be used to store the game type specific character values. More...
 
size_t GAME_GetCharacterArraySize (void)
 
const char * GAME_GetCurrentName (void)
 
void GAME_ResetCharacters (void)
 Reset all characters in the static character array. More...
 
void GAME_AppendTeamMember (int memberIndex, const char *teamDefID, const equipDef_t *ed)
 
void GAME_GenerateTeam (const char *teamDefID, const equipDef_t *ed, int teamMembers)
 
void GAME_ReloadMode (void)
 
bool GAME_IsMultiplayer (void)
 
void GAME_EndBattlescape (void)
 This is called when a client quits the battlescape. More...
 
void GAME_EndRoundAnnounce (int playerNum, int team)
 Send end round announcements. More...
 
void GAME_DisplayItemInfo (uiNode_t *node, const char *string)
 Shows game type specific item information (if it's not resolvable via objDef_t). More...
 
void GAME_SetServerInfo (const char *server, const char *serverport)
 
static void CL_QueryMasterServer (const char *action, http_callback_t callback)
 
bool GAME_HandleServerCommand (const char *command, dbuffer *msg)
 
void GAME_AddChatMessage (const char *format,...)
 
bool GAME_IsTeamEmpty (void)
 
static void GAME_NET_OOB_Printf (struct net_stream *s, const char *format,...)
 
static void GAME_NET_OOB_Printf2 (const char *format,...)
 
static void GAME_UI_Popup (const char *title, const char *format,...)
 
static char * GAME_StrDup (const char *string)
 
static void GAME_Free (void *ptr)
 
static memPool_tGAME_CreatePool (const char *name)
 
static void GAME_FreePool (memPool_t *pool)
 
static char * GAME_PoolStrDup (const char *in, memPool_t *pool, const int tagNum)
 
static void GAME_DestroyInventory (Inventory *const inv)
 
static void GAME_EquipActor (character_t *const chr, const equipDef_t *ed, const objDef_t *weapon, int maxWeight)
 
static bool GAME_RemoveFromInventory (Inventory *const i, const invDef_t *container, Item *fItem)
 
static void GAME_WebUpload (int category, const char *filename)
 
static void GAME_WebDelete (int category, const char *filename)
 
static void GAME_WebDownloadFromUser (int category, const char *filename, int userId)
 
static void GAME_WebListForUser (int category, int userId)
 
static void GAME_SetNextUniqueCharacterNumber (int ucn)
 
static int GAME_GetNextUniqueCharacterNumber (void)
 
static void GAME_CollectItems (void *data, int won, void(*collectItem)(void *, const objDef_t *, int), void(*collectAmmo)(void *, const Item *), void(*ownitems)(const Inventory *))
 
static void GAME_CollectAliens (void *data, void(*collect)(void *, const teamDef_t *, int, bool))
 Collecting stunned and dead alien bodies after the mission. More...
 
static int UI_DrawString_ (const char *fontID, align_t align, int x, int y, const char *c)
 
static void UI_PushWindow_ (const char *name)
 
static void UI_DrawNormImageByName_ (bool flip, float x, float y, float w, float h, float sh, float th, float sl, float tl, const char *name)
 
static void R_UploadAlpha_ (const char *name, const byte *alphaData)
 
static void R_DrawImageCentered (int x, int y, const char *name)
 
static const char * Com_EParse_ (const char **text, const char *errhead, const char *errinfo)
 
static const cgame_import_tGAME_GetImportData (const cgameType_t *t)
 
static void GAME_FreeInventory (void *data)
 
static voidGAME_AllocInventoryMemory (size_t size)
 
static void GAME_FreeAllInventory (void)
 
void GAME_UnloadGame (void)
 
void GAME_SwitchCurrentSelectedMap (int step)
 
const mapDef_tGAME_GetCurrentSelectedMap (void)
 
int GAME_GetCurrentTeam (void)
 
void GAME_DrawMap (geoscapeData_t *data)
 
void GAME_DrawMapMarkers (uiNode_t *node)
 
void GAME_MapClick (uiNode_t *node, int x, int y, const vec2_t pos)
 
void GAME_SetMode (const cgame_export_t *gametype)
 
static void UI_MapInfoGetNext (int step)
 
static void UI_MapInfo (int step)
 Prints the map info for the server creation dialogue. More...
 
static void UI_RequestMapList_f (void)
 
static void UI_GetMaps_f (void)
 
static void UI_NextMap_f (void)
 Select the next available map. More...
 
static void UI_PreviousMap_f (void)
 Select the previous available map. More...
 
static void UI_SelectMap_f (void)
 
void GAME_ParseModes (const char *name, const char **text)
 
static bool GAME_LoadGame (const char *path, const char *name)
 
static const cgame_export_tGAME_GetCGameAPI (const cgameType_t *t)
 
static const cgame_export_tGAME_GetCGameAPI_ (const cgameType_t *t)
 
static void GAME_SetMode_f (void)
 Decides which game mode should be set - takes the menu as reference. More...
 
bool GAME_ItemIsUseable (const objDef_t *od)
 
void GAME_HandleResults (dbuffer *msg, int winner, int *numSpawned, int *numAlive, int numKilled[][MAX_TEAMS], int numStunned[][MAX_TEAMS], bool nextmap)
 After a mission was finished this function is called. More...
 
static void GAME_NetSendItem (dbuffer *buf, const Item *item, containerIndex_t container, int x, int y)
 
static void GAME_NetSendInventory (dbuffer *buf, const Inventory *inv)
 
static void GAME_NetSendCharacter (dbuffer *buf, const character_t *chr)
 Send the character information to the server that is needed to spawn the soldiers of the player. More...
 
static void GAME_SendCurrentTeamSpawningInfo (dbuffer *buf, linkedList_t *team)
 Stores a team-list (chr-list) info to buffer (which might be a network buffer, too). More...
 
const char * GAME_GetTeamDef (void)
 
static bool GAME_Spawn (linkedList_t **chrList)
 
void GAME_StartBattlescape (bool isTeamPlay)
 Called when the server sends the EV_START event. More...
 
void GAME_InitMissionBriefing (const char *title)
 
static void GAME_InitializeBattlescape (linkedList_t *team)
 This is called if actors are spawned (or at least the spawning commands were send to the server). This callback can e.g. be used to set initial actor states. E.g. request crouch and so on. These events are executed without consuming time. More...
 
void GAME_SpawnSoldiers (void)
 Called during startup of mission to send team info. More...
 
void GAME_StartMatch (void)
 
const char * GAME_GetRelativeSavePath (char *buf, size_t bufSize)
 
const char * GAME_GetAbsoluteSavePath (char *buf, size_t bufSize)
 
equipDef_tGAME_GetEquipmentDefinition (void)
 
void GAME_NotifyEvent (event_t eventType)
 
bool GAME_TeamIsKnown (const teamDef_t *teamDef)
 
void GAME_CharacterCvars (const character_t *chr)
 
static void GAME_Abort_f (void)
 Let the aliens win the match. More...
 
void GAME_Drop (void)
 
static void GAME_Exit_f (void)
 Quits the current running game by calling the shutdown callback. More...
 
void GAME_Frame (void)
 Called every frame and allows us to hook into the current running game mode. More...
 
void GAME_DrawBaseLayout (int baseIdx, int x, int y, int totalMarge, int w, int h, int padding, const vec4_t bgcolor, const vec4_t color)
 
void GAME_DrawBaseLayoutTooltip (int baseIdx, int x, int y)
 Cgame callback to draw tooltip for baselayout UI node. More...
 
const char * GAME_GetModelForItem (const objDef_t *od, uiModel_t **uiModel)
 Get a model for an item. More...
 
character_tGAME_GetSelectedChr (void)
 Returns the currently selected character. More...
 
int GAME_GetChrMaxLoad (const character_t *chr)
 Returns the max weight the given character can carry. More...
 
const equipDef_tGAME_ChangeEquip (const linkedList_t *equipmentList, changeEquipType_t changeType, const char *equipID)
 Changed the given cvar to the next/prev equipment definition. More...
 
void GAME_InitUIData (void)
 Fills the game mode list entries with the parsed values from the script. More...
 
void GAME_InitStartup (void)
 
void GAME_Shutdown (void)
 

Variables

static cgameType_t cgameTypes [MAX_CGAMETYPES]
 
static int numCGameTypes
 
geoscapeData_t geoscapeData
 
static equipDef_t equipDefStandard
 
static character_t characters [MAX_ACTIVETEAM]
 static character array that can be used by a game mode to store the needed character values. More...
 
static const int TAG_INVENTORY = 17462
 
static const inventoryImport_t inventoryImport = { GAME_FreeInventory, GAME_FreeAllInventory, GAME_AllocInventoryMemory }
 
static const value_t cgame_vals []
 Valid equipment definition values from script files. More...
 

Detailed Description

Shared game type code.

Definition in file cl_game.cpp.

Macro Definition Documentation

#define MAX_CGAMETYPES   16

Definition at line 58 of file cl_game.cpp.

Referenced by GAME_ParseModes().

Function Documentation

static void CL_QueryMasterServer ( const char *  action,
http_callback_t  callback 
)
static
See also
CL_PingServers_f

Definition at line 356 of file cl_game.cpp.

References HTTP_GetURL(), masterserver_url, cvar_s::string, and va().

Referenced by GAME_GetImportData().

static SharedPtr<GAMECmdListener> cmdListener ( new   GAMECmdListener())
static
static const char* Com_EParse_ ( const char **  text,
const char *  errhead,
const char *  errinfo 
)
static

Definition at line 581 of file cl_game.cpp.

References Com_EParse().

Referenced by GAME_GetImportData().

static SharedPtr<GAMECvarListener> cvarListener ( new   GAMECvarListener())
static
static void GAME_Abort_f ( void  )
static

Let the aliens win the match.

Definition at line 1652 of file cl_game.cpp.

References Cbuf_AddText(), and TEAM_ALIEN.

Referenced by GAME_InitStartup().

void GAME_AddChatMessage ( const char *  format,
  ... 
)
static void* GAME_AllocInventoryMemory ( size_t  size)
static

Definition at line 887 of file cl_game.cpp.

References cl_genericPool, and Mem_PoolAlloc.

const equipDef_t* GAME_ChangeEquip ( const linkedList_t equipmentList,
changeEquipType_t  changeType,
const char *  equipID 
)

Changed the given cvar to the next/prev equipment definition.

Definition at line 1783 of file cl_game.cpp.

References BACKWARD, Com_Error(), csi, linkedList_t::data, csi_s::eds, ERR_DROP, FORWARD, index, INV_GetEquipmentDefinitionByID(), LIST_ContainsString(), LIST_Foreach, LIST_IsEmpty(), linkedList_t::next, csi_s::numEDs, and Q_streq.

Referenced by GAME_GetImportData().

void GAME_CharacterCvars ( const character_t chr)

Definition at line 1642 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by CL_UpdateCharacterValues().

static void GAME_CollectAliens ( void data,
void(*)(void *, const teamDef_t *, int, bool)  collect 
)
static

Collecting stunned and dead alien bodies after the mission.

Definition at line 533 of file cl_game.cpp.

References LE_GetNextInUse(), LE_IsActor(), LE_IsAlien, LE_IsDead, LE_IsStunned, and le_s::teamDef.

Referenced by GAME_GetImportData().

static void GAME_CollectItems ( void data,
int  won,
void(*)(void *, const objDef_t *, int collectItem,
void(*)(void *, const Item *)  collectAmmo,
void(*)(const Inventory *)  ownitems 
)
static
static memPool_t* GAME_CreatePool ( const char *  name)
static

Definition at line 438 of file cl_game.cpp.

References Mem_CreatePool.

Referenced by GAME_GetImportData().

static void GAME_DestroyInventory ( Inventory *const  inv)
static

Definition at line 453 of file cl_game.cpp.

References cls, InventoryInterface::destroyInventory(), and client_static_s::i.

Referenced by GAME_GetImportData().

void GAME_DisplayItemInfo ( uiNode_t node,
const char *  string 
)

Shows game type specific item information (if it's not resolvable via objDef_t).

Parameters
[in]nodeThe menu node to show the information in.
[in]stringThe id of the 'thing' to show information for.

Definition at line 338 of file cl_game.cpp.

References GAME_GetCurrentType(), cgame_export_s::GetModelForItem(), and UI_DrawModelNode().

Referenced by uiItemNode::draw().

void GAME_DrawBaseLayout ( int  baseIdx,
int  x,
int  y,
int  totalMarge,
int  w,
int  h,
int  padding,
const vec4_t  bgcolor,
const vec4_t  color 
)

Definition at line 1699 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by uiBaseLayoutNode::draw().

void GAME_DrawBaseLayoutTooltip ( int  baseIdx,
int  x,
int  y 
)

Cgame callback to draw tooltip for baselayout UI node.

Parameters
[in]baseIdxNumeric index of the base
[in]xHorizontal screen position
[in]yVertical screen position

Definition at line 1712 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by uiBaseLayoutNode::drawTooltip().

void GAME_DrawMap ( geoscapeData_t data)

Definition at line 931 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by uiGeoscapeNode::draw().

void GAME_DrawMapMarkers ( uiNode_t node)

Definition at line 938 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by uiGeoscapeNode::draw().

void GAME_Drop ( void  )

Definition at line 1658 of file cl_game.cpp.

References GAME_GetCurrentType(), GAME_SetMode(), GAME_UnloadGame(), SV_Shutdown(), and UI_InitStack().

Referenced by CL_Drop().

void GAME_EndBattlescape ( void  )

This is called when a client quits the battlescape.

See also
GAME_StartBattlescape

Definition at line 314 of file cl_game.cpp.

References cls, Com_Printf(), Cvar_Set(), InventoryInterface::GetUsedSlots(), and client_static_s::i.

Referenced by CL_Disconnect().

void GAME_EndRoundAnnounce ( int  playerNum,
int  team 
)

Send end round announcements.

Parameters
playerNumThe server player number of the player that has ended the round
teamThe team the player is in
Todo:
do we need the team number here? isn't the playernum enough to get the team?

Definition at line 325 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by CL_EndRoundAnnounce().

static void GAME_EquipActor ( character_t *const  chr,
const equipDef_t ed,
const objDef_t weapon,
int  maxWeight 
)
static

Definition at line 458 of file cl_game.cpp.

References cls, InventoryInterface::EquipActor(), and client_static_s::i.

Referenced by GAME_GetImportData().

static void GAME_Exit_f ( void  )
static

Quits the current running game by calling the shutdown callback.

Definition at line 1677 of file cl_game.cpp.

References GAME_SetMode(), and GAME_UnloadGame().

Referenced by GAME_InitStartup().

void GAME_Frame ( void  )

Called every frame and allows us to hook into the current running game mode.

Definition at line 1687 of file cl_game.cpp.

References cls, client_static_s::frametime, GAME_GetCurrentType(), key_console, and client_static_s::keyDest.

Referenced by CL_Frame().

static void GAME_Free ( void ptr)
static

Definition at line 433 of file cl_game.cpp.

References Mem_Free.

Referenced by GAME_GetImportData().

static void GAME_FreeAllInventory ( void  )
static

Definition at line 893 of file cl_game.cpp.

References cl_genericPool, and Mem_FreeTag.

static void GAME_FreeInventory ( void data)
static

Definition at line 882 of file cl_game.cpp.

References Mem_Free.

static void GAME_FreePool ( memPool_t pool)
static

Definition at line 443 of file cl_game.cpp.

References Mem_FreePool.

Referenced by GAME_GetImportData().

void GAME_GenerateTeam ( const char *  teamDefID,
const equipDef_t ed,
int  teamMembers 
)
const char* GAME_GetAbsoluteSavePath ( char *  buf,
size_t  bufSize 
)
static const cgame_export_t* GAME_GetCGameAPI_ ( const cgameType_t t)
static

Definition at line 1258 of file cl_game.cpp.

References GAME_GetCGameAPI(), and cgameType_s::window.

Referenced by GAME_InitUIData(), and GAME_SetMode_f().

character_t* GAME_GetCharacter ( int  index)

Returns a character that can be used to store the game type specific character values.

Note
The returned pointer is a reference to static memory
Parameters
indexThe index of the character array. This value must be greater than 0 and not bigger than the value GAME_GetCharacterArraySize returned
See also
GAME_GetCharacterArraySize
GAME_ResetCharacters
Returns
A character slot

Definition at line 196 of file cl_game.cpp.

References Com_Error(), ERR_DROP, index, and lengthof.

Referenced by GAME_AppendTeamMember(), and GAME_LoadTeamInfo().

size_t GAME_GetCharacterArraySize ( void  )
Returns
The size of the static character array
See also
GAME_GetCharacter
GAME_ResetCharacters

Definition at line 226 of file cl_game.cpp.

References lengthof.

Referenced by GAME_AutoTeam_f(), GAME_GenerateTeam(), GAME_GetImportData(), GAME_LoadTeamInfo(), and GAME_Spawn().

character_t* GAME_GetCharacterByUCN ( int  ucn)

Returns a character that can be used to store the game type specific character values.

Note
The returned pointer is a reference to static memory
Parameters
ucnThe unique character number
Returns
null if no character with the specified ucn was found.

Definition at line 210 of file cl_game.cpp.

References i, lengthof, and character_s::ucn.

int GAME_GetChrMaxLoad ( const character_t chr)

Returns the max weight the given character can carry.

Parameters
[in]chrThe character to find the max load for.
Returns
The max load the character can carry or NONE.

Definition at line 1768 of file cl_game.cpp.

References ABILITY_POWER, GAME_GetCurrentType(), NONE, character_s::score, and chrScoreGlobal_s::skills.

Referenced by CL_ActorInvMove(), GAME_AppendTeamMember(), GAME_GetImportData(), GAME_LoadCharacter(), HUD_UpdateActorLoad_f(), INV_MoveItem(), and INV_UpdateActorLoad_f().

const mapDef_t* GAME_GetCurrentSelectedMap ( void  )

Definition at line 921 of file cl_game.cpp.

References cls, Com_GetMapDefByIDX(), and client_static_s::currentSelectedMap.

Referenced by GAME_GetImportData().

int GAME_GetCurrentTeam ( void  )

Definition at line 926 of file cl_game.cpp.

References cls, and client_static_s::team.

Referenced by GAME_GetImportData().

equipDef_t* GAME_GetEquipmentDefinition ( void  )
static const cgame_import_t* GAME_GetImportData ( const cgameType_t t)
static
Todo:
add a wrapper here that stores the cgame command and removes them on shutdown automatically
Todo:
add a wrapper here that stores the cgame cvars and removes them on shutdown automatically

Definition at line 586 of file cl_game.cpp.

References _Mem_Alloc(), cgame_import_s::Alloc(), BEP_Evaluate(), Cbuf_AddText(), Cbuf_Execute(), cgame_import_s::cgameType, cgi, CL_ActorGetSkillString(), cgame_import_s::CL_ActorGetSkillString(), CL_Disconnect(), CL_Drop(), CL_GenerateCharacter(), CL_GetClientState(), CL_GetPlayerNum(), CL_Milliseconds(), CL_OnBattlescape(), CL_PlayerGetName(), cgame_import_s::CL_PlayerGetName(), CL_QueryMasterServer(), CL_SetClientState(), CL_Translate(), cgame_import_s::CL_Translate(), CL_UpdateCharacterValues(), Cmd_AddCommand(), Cmd_AddParamCompleteFunction(), Cmd_Argc(), cgame_import_s::Cmd_Args(), Cmd_Args(), cgame_import_s::Cmd_Argv(), Cmd_Argv(), Cmd_ExecuteString(), Cmd_GenericCompleteFunction(), Cmd_RemoveCommand(), Cmd_TableAddList(), Cmd_TableRemoveList(), Com_DPrintf(), Com_Drop(), Com_DropShipShortNameToID(), cgame_import_s::Com_DropShipTypeToShortName(), Com_DropShipTypeToShortName(), cgame_import_s::Com_EParse(), Com_EParse_(), Com_EParseValue(), Com_Error(), Com_GetConstInt(), Com_GetConstIntFromNamespace(), Com_GetConstVariable(), cgame_import_s::Com_GetConstVariable(), Com_GetDropShipIdsNum(), Com_GetHumanAircraftIdsNum(), Com_GetMapDefinitionByID(), cgame_import_s::Com_GetMapDefinitionByID(), cgame_import_s::Com_GetRandomMapAssemblyNameForCraft(), Com_GetRandomMapAssemblyNameForCraft(), cgame_import_s::Com_GetRandomMapAssemblyNameForCrashedCraft(), Com_GetRandomMapAssemblyNameForCrashedCraft(), cgame_import_s::Com_GetTeamDefinitionByID(), Com_GetTeamDefinitionByID(), Com_GetUfoIdsNum(), cgame_import_s::Com_GetUGVByID(), Com_GetUGVByID(), cgame_import_s::Com_GetUGVByIDSilent(), Com_GetUGVByIDSilent(), Com_ParseBlock(), Com_ParseBlockToken(), Com_ParseBoolean(), Com_ParseList(), Com_Printf(), Com_RegisterConstInt(), Com_RegisterConstList(), Com_ServerState(), Com_SetGameType(), cgame_import_s::Com_UFOCrashedTypeToShortName(), Com_UFOCrashedTypeToShortName(), Com_UFOShortNameToID(), cgame_import_s::Com_UFOTypeToShortName(), Com_UFOTypeToShortName(), Com_UnregisterConstList(), Com_UnregisterConstVariable(), cgame_import_s::Com_ValueToStr(), Com_ValueToStr(), cgame_import_s::CreatePool(), csi, cgame_import_s::csi, Cvar_Delete(), cgame_import_s::Cvar_ForceSet(), Cvar_ForceSet(), cgame_import_s::Cvar_Get(), Cvar_Get(), Cvar_GetInteger(), Cvar_GetString(), cgame_import_s::Cvar_GetString(), Cvar_GetValue(), cgame_import_s::Cvar_Set(), Cvar_Set(), Cvar_SetValue(), Cvar_VariableStringOld(), cgame_import_s::Cvar_VariableStringOld(), FS_BuildFileList(), FS_CheckFile(), FS_CloseFile(), FS_FreeFile(), FS_LoadFile(), cgame_import_s::FS_NextFileFromFileList(), FS_NextFileFromFileList(), cgame_import_s::FS_NextScriptHeader(), FS_NextScriptHeader(), FS_OpenFile(), FS_Read(), FS_RemoveFile(), FS_WriteFile(), GAME_AppendTeamMember(), GAME_AutoTeam(), cgame_import_s::GAME_ChangeEquip(), GAME_ChangeEquip(), GAME_CollectAliens(), GAME_CollectItems(), GAME_CreatePool(), GAME_DestroyInventory(), GAME_EquipActor(), GAME_Free(), GAME_FreePool(), GAME_GetAbsoluteSavePath(), GAME_GetCharacterArraySize(), GAME_GetChrMaxLoad(), cgame_import_s::GAME_GetCurrentSelectedMap(), GAME_GetCurrentSelectedMap(), GAME_GetCurrentTeam(), GAME_GetNextUniqueCharacterNumber(), GAME_GetRelativeSavePath(), GAME_IsTeamEmpty(), GAME_LoadCharacter(), GAME_LoadDefaultTeam(), GAME_NET_OOB_Printf(), GAME_NET_OOB_Printf2(), GAME_PoolStrDup(), GAME_ReloadMode(), GAME_RemoveFromInventory(), GAME_SaveCharacter(), GAME_SetNextUniqueCharacterNumber(), GAME_SetServerInfo(), cgame_import_s::GAME_StrDup(), GAME_StrDup(), GAME_SwitchCurrentSelectedMap(), GAME_UI_Popup(), GAME_WebDelete(), GAME_WebDownloadFromUser(), GAME_WebListForUser(), GAME_WebUpload(), cgame_import_s::GetAbsoluteSavePath(), cgame_import_s::GetRelativeSavePath(), HUD_DisplayMessage(), HUD_InitUI(), INV_GetEquipmentDefinitionByID(), cgame_import_s::INV_GetEquipmentDefinitionByID(), cgame_import_s::INV_GetFilterType(), INV_GetFilterType(), INV_GetFilterTypeID(), INV_ItemDescription(), INV_ItemMatchesFilter(), LIST_Add(), cgame_import_s::LIST_Add(), LIST_AddPointer(), LIST_AddString(), LIST_AddStringSorted(), LIST_ContainsString(), cgame_import_s::LIST_ContainsString(), LIST_CopyStructure(), cgame_import_s::LIST_CopyStructure(), LIST_Count(), LIST_Delete(), cgame_import_s::LIST_GetByIdx(), LIST_GetByIdx(), LIST_GetPointer(), cgame_import_s::LIST_GetPointer(), cgame_import_s::LIST_GetRandom(), LIST_GetRandom(), LIST_IsEmpty(), LIST_PrependString(), LIST_Remove(), LIST_RemoveEntry(), LIST_Sort(), cgame_import_s::NET_Connect(), NET_Connect(), NET_DatagramBroadcast(), NET_DatagramSocketClose(), cgame_import_s::NET_DatagramSocketNew(), NET_DatagramSocketNew(), NET_ReadByte(), NET_ReadLong(), cgame_import_s::NET_ReadMsg(), NET_ReadMsg(), NET_ReadShort(), NET_ReadString(), NET_ReadStringLine(), NET_SockaddrToStrings(), NET_StreamFree(), cgame_import_s::NET_StreamGetData(), NET_StreamGetData(), cgame_import_s::NET_StreamPeerToName(), NET_StreamPeerToName(), NET_StreamSetCallback(), NET_StreamSetData(), NET_WriteByte(), NET_WriteShort(), cgame_import_s::PoolStrDup(), R_Color(), R_Draw2DMapMarkers(), R_Draw3DMapMarkers(), R_DrawBloom(), R_DrawFill(), R_DrawImageCentered(), R_DrawLine(), R_DrawLineStrip(), R_DrawRect(), R_ImageExists(), R_LoadImage(), geoscapeData_s::r_radarPic, cgame_import_s::r_radarPic, geoscapeData_s::r_radarSourcePic, cgame_import_s::r_radarSourcePic, R_SoftenTexture(), R_UploadAlpha_(), geoscapeData_s::r_xviAlpha, cgame_import_s::r_xviAlpha, S_SetSampleRepeatRate(), S_StartLocalSample(), SV_Shutdown(), SV_ShutdownWhenEmpty(), Sys_Error(), cgame_import_s::UI_AddOption(), UI_AddOption(), UI_ContainerNodeUpdateEquipment(), UI_DisplayNotice(), UI_DrawFill(), UI_DrawNormImageByName_(), UI_DrawRect(), UI_DrawString_(), UI_DrawTooltip(), UI_ExecuteConfunc(), cgame_import_s::UI_GetActiveWindowName(), UI_GetActiveWindowName(), cgame_import_s::UI_GetFontFromNode(), UI_GetFontFromNode(), UI_GetNodeAbsPos(), cgame_import_s::UI_GetNodeByPath(), UI_GetNodeByPath(), cgame_import_s::UI_GetOption(), UI_GetOption(), UI_GetSpriteByName(), cgame_import_s::UI_GetSpriteByName(), cgame_import_s::UI_InitOptionIteratorAtIndex(), UI_InitOptionIteratorAtIndex(), UI_InitStack(), ui_inventory, cgame_import_s::ui_inventory, UI_MessageAddStack(), UI_MessageGetStack(), cgame_import_s::UI_MessageGetStack(), UI_MessageResetStack(), cgame_import_s::UI_OptionIteratorNextOption(), UI_OptionIteratorNextOption(), UI_PopupButton(), UI_PopupList(), cgame_import_s::UI_PopupList(), UI_PopWindow(), UI_PushWindow_(), UI_RegisterLinkedListText(), UI_RegisterOption(), UI_RegisterText(), UI_ResetData(), UI_SortOptions(), UI_TextNodeSelectLine(), UI_TextScrollEnd(), UI_UpdateInvisOptions(), XML_AddBool(), XML_AddBoolValue(), XML_AddByte(), XML_AddByteValue(), XML_AddDate(), XML_AddDouble(), XML_AddDoubleValue(), XML_AddFloat(), XML_AddFloatValue(), XML_AddInt(), XML_AddIntValue(), XML_AddLong(), XML_AddLongValue(), cgame_import_s::XML_AddNode(), XML_AddNode(), XML_AddPos2(), XML_AddPos3(), XML_AddShort(), XML_AddShortValue(), XML_AddString(), XML_AddStringValue(), XML_GetBool(), cgame_import_s::XML_GetDate(), XML_GetDate(), XML_GetDouble(), XML_GetFloat(), XML_GetInt(), XML_GetLong(), cgame_import_s::XML_GetNextNode(), XML_GetNextNode(), cgame_import_s::XML_GetNextPos2(), XML_GetNextPos2(), cgame_import_s::XML_GetNextPos3(), XML_GetNextPos3(), cgame_import_s::XML_GetNode(), XML_GetNode(), cgame_import_s::XML_GetPos2(), XML_GetPos2(), cgame_import_s::XML_GetPos3(), XML_GetPos3(), XML_GetShort(), cgame_import_s::XML_GetString(), XML_GetString(), cgame_import_s::XML_Parse(), and XML_Parse().

Referenced by GAME_GetCGameAPI().

const char* GAME_GetModelForItem ( const objDef_t od,
uiModel_t **  uiModel 
)

Get a model for an item.

Parameters
[in]odThe object definition to get the model from.
[out]uiModelThe menu model pointer.
Returns
The model path for the item. Never nullptr.

Definition at line 1725 of file cl_game.cpp.

References GAME_GetCurrentType(), cgame_export_s::GetModelForItem(), objDef_s::id, objDef_s::model, and UI_GetUIModel().

Referenced by uiItemNode::draw(), and UI_DrawItem().

static int GAME_GetNextUniqueCharacterNumber ( void  )
static

Definition at line 493 of file cl_game.cpp.

References cls, and client_static_s::nextUniqueCharacterNumber.

Referenced by GAME_GetImportData().

const char* GAME_GetRelativeSavePath ( char *  buf,
size_t  bufSize 
)
character_t* GAME_GetSelectedChr ( void  )

Returns the currently selected character.

Returns
The selected character or nullptr.

Definition at line 1746 of file cl_game.cpp.

References chrDisplayList, Cvar_GetInteger(), GAME_GetCurrentType(), cgame_export_s::GetSelectedChr(), and LIST_Foreach.

Referenced by INV_MoveItem(), and INV_UpdateActorLoad_f().

const char* GAME_GetTeamDef ( void  )
void GAME_HandleResults ( dbuffer msg,
int  winner,
int numSpawned,
int numAlive,
int  numKilled[][MAX_TEAMS],
int  numStunned[][MAX_TEAMS],
bool  nextmap 
)

After a mission was finished this function is called.

Parameters
msgThe network message buffer
winnerThe winning team or -1 if it was a draw
numSpawnedThe amounts of all spawned actors per team
numAliveThe amount of survivors per team
numKilledThe amount of killed actors for all teams. The first dimension contains the attacker team, the second the victim team
numStunnedThe amount of stunned actors for all teams. The first dimension contains the attacker team, the second the victim team
nextmapIndicates if there is another map to follow within the same msission

Definition at line 1326 of file cl_game.cpp.

References CL_Drop(), and GAME_GetCurrentType().

Referenced by CL_ParseResults().

bool GAME_HandleServerCommand ( const char *  command,
dbuffer msg 
)

Definition at line 361 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by CL_ConnectionlessPacket().

static void GAME_InitializeBattlescape ( linkedList_t team)
static

This is called if actors are spawned (or at least the spawning commands were send to the server). This callback can e.g. be used to set initial actor states. E.g. request crouch and so on. These events are executed without consuming time.

Definition at line 1537 of file cl_game.cpp.

References ACTOR_HAND_NOT_SET, cl, clc_initactorstates, cls, GAME_GetCurrentType(), i, lengthof, LIST_Count(), LIST_Foreach, m, NET_WriteByte(), NET_WriteMsg(), NET_WriteShort(), client_static_s::netStream, NONE, STATE_REACTION, clientBattleScape_s::teamList, and UI_ExecuteConfunc().

Referenced by GAME_StartMatch().

void GAME_InitUIData ( void  )

Fills the game mode list entries with the parsed values from the script.

Definition at line 1840 of file cl_game.cpp.

References Com_Printf(), GAME_GetCGameAPI_(), GAME_UnloadGame(), i, cgame_export_s::isMultiplayer, cgameType_s::name, numCGameTypes, UI_ExecuteConfunc(), and cgameType_s::window.

Referenced by CLMN_Init().

bool GAME_IsMultiplayer ( void  )
bool GAME_IsTeamEmpty ( void  )

Definition at line 388 of file cl_game.cpp.

References chrDisplayList, and LIST_IsEmpty().

Referenced by GAME_GetImportData(), GAME_LoadDefaultTeam(), and GAME_LoadTeam_f().

static bool GAME_LoadGame ( const char *  path,
const char *  name 
)
static
void GAME_MapClick ( uiNode_t node,
int  x,
int  y,
const vec2_t  pos 
)

Definition at line 945 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by uiGeoscapeNode::onLeftClick().

static void GAME_NET_OOB_Printf ( struct net_stream s,
const char *  format,
  ... 
)
static

Definition at line 393 of file cl_game.cpp.

References NET_OOB_Printf(), and Q_vsnprintf().

Referenced by GAME_GetImportData().

static void GAME_NET_OOB_Printf2 ( const char *  format,
  ... 
)
static

Definition at line 405 of file cl_game.cpp.

References cls, NET_OOB_Printf(), client_static_s::netStream, and Q_vsnprintf().

Referenced by GAME_GetImportData().

static void GAME_NetSendInventory ( dbuffer buf,
const Inventory inv 
)
static
static void GAME_NetSendItem ( dbuffer buf,
const Item item,
containerIndex_t  container,
int  x,
int  y 
)
static
See also
G_WriteItem
G_ReadItem
Note
The amount of the Item should not be needed here - because the amount is only valid for CID_FLOOR and CID_EQUIP

Definition at line 1341 of file cl_game.cpp.

References Item::ammoDef(), CL_GetEvent(), Com_DPrintf(), DEBUG_CLIENT, Item::def(), EV_INV_TRANSFER, eventRegister_s::formatString, Item::getAmmoLeft(), Item::getAmount(), objDef_s::id, objDef_s::idx, NET_WriteFormat(), NONE, and Item::rotated.

Referenced by GAME_NetSendInventory().

void GAME_NotifyEvent ( event_t  eventType)

Definition at line 1623 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by CL_ExecuteBattlescapeEvent(), and CL_ParseEvent().

void GAME_ParseModes ( const char *  name,
const char **  text 
)
static char* GAME_PoolStrDup ( const char *  in,
memPool_t pool,
const int  tagNum 
)
static

Definition at line 448 of file cl_game.cpp.

References Mem_PoolStrDup.

Referenced by GAME_GetImportData().

void GAME_ReloadMode ( void  )

Definition at line 290 of file cl_game.cpp.

References GAME_GetCurrentType(), and GAME_SetMode().

Referenced by GAME_GetImportData(), and VID_Restart_f().

static bool GAME_RemoveFromInventory ( Inventory *const  i,
const invDef_t container,
Item fItem 
)
static

Definition at line 463 of file cl_game.cpp.

References cls, client_static_s::i, and InventoryInterface::removeFromInventory().

Referenced by GAME_GetImportData().

void GAME_ResetCharacters ( void  )

Reset all characters in the static character array.

See also
GAME_GetCharacterArraySize
GAME_GetCharacter

Definition at line 243 of file cl_game.cpp.

References chrDisplayList, i, LIST_Delete(), MAX_ACTIVETEAM, and UI_ExecuteConfunc().

Referenced by GAME_GenerateTeam(), GAME_LoadTeamInfo(), and GAME_SetMode().

static void GAME_SendCurrentTeamSpawningInfo ( dbuffer buf,
linkedList_t team 
)
static

Stores a team-list (chr-list) info to buffer (which might be a network buffer, too).

See also
G_ClientTeamInfo
MP_SaveTeamMultiplayerInfo
Note
Called in CL_Precache_f to send the team info to server

Definition at line 1423 of file cl_game.cpp.

References clc_teaminfo, GAME_NetSendCharacter(), GAME_NetSendInventory(), LIST_Count(), LIST_Foreach, NET_WriteByte(), and Inventory::resetTempContainers().

Referenced by GAME_SpawnSoldiers().

static void GAME_SetMode_f ( void  )
static

Decides which game mode should be set - takes the menu as reference.

Definition at line 1269 of file cl_game.cpp.

References Cmd_Argc(), Cmd_Argv(), Com_Printf(), GAME_GetCGameAPI_(), GAME_SetMode(), GAME_UnloadGame(), i, numCGameTypes, Q_streq, UI_GetActiveWindowName(), and cgameType_s::window.

Referenced by GAME_InitStartup().

static void GAME_SetNextUniqueCharacterNumber ( int  ucn)
static

Definition at line 488 of file cl_game.cpp.

References cls, and client_static_s::nextUniqueCharacterNumber.

Referenced by GAME_GetImportData().

void GAME_SetServerInfo ( const char *  server,
const char *  serverport 
)

Definition at line 347 of file cl_game.cpp.

References cls, Q_strncpyz(), client_static_s::servername, and client_static_s::serverport.

Referenced by GAME_GetImportData().

void GAME_Shutdown ( void  )
void GAME_StartBattlescape ( bool  isTeamPlay)

Called when the server sends the EV_START event.

Parameters
isTeamPlaytrue if the game is a teamplay round. This can be interesting for multiplayer based game types
See also
GAME_EndBattlescape

Definition at line 1487 of file cl_game.cpp.

References _, cl, CL_GetConfigString(), CS_MAPTITLE, Cvar_Set(), GAME_GetCurrentType(), GAME_InitMissionBriefing(), HUD_InitUI(), and clientBattleScape_s::mapMaxLevel.

Referenced by CL_StartGame().

static char* GAME_StrDup ( const char *  string)
static

Definition at line 428 of file cl_game.cpp.

References cl_genericPool, and Mem_PoolStrDup.

Referenced by GAME_GetImportData().

void GAME_SwitchCurrentSelectedMap ( int  step)

Definition at line 912 of file cl_game.cpp.

References cls, csi, client_static_s::currentSelectedMap, and csi_s::numMDs.

Referenced by GAME_GetImportData().

bool GAME_TeamIsKnown ( const teamDef_t teamDef)

Definition at line 1630 of file cl_game.cpp.

References GAME_GetCurrentType().

Referenced by CL_ActorAppear(), and CL_AddTargetingBox().

static void GAME_UI_Popup ( const char *  title,
const char *  format,
  ... 
)
static

Definition at line 417 of file cl_game.cpp.

References popupText, Q_vsnprintf(), and UI_Popup().

Referenced by GAME_GetImportData().

static void GAME_WebDelete ( int  category,
const char *  filename 
)
static

Definition at line 473 of file cl_game.cpp.

References GAME_GetCurrentName(), and WEB_CGameDelete().

Referenced by GAME_GetImportData().

static void GAME_WebDownloadFromUser ( int  category,
const char *  filename,
int  userId 
)
static

Definition at line 478 of file cl_game.cpp.

References GAME_GetCurrentName(), and WEB_CGameDownloadFromUser().

Referenced by GAME_GetImportData().

static void GAME_WebListForUser ( int  category,
int  userId 
)
static

Definition at line 483 of file cl_game.cpp.

References GAME_GetCurrentName(), and WEB_CGameListForUser().

Referenced by GAME_GetImportData().

static void GAME_WebUpload ( int  category,
const char *  filename 
)
static

Definition at line 468 of file cl_game.cpp.

References GAME_GetCurrentName(), and WEB_CGameUpload().

Referenced by GAME_GetImportData().

static void R_DrawImageCentered ( int  x,
int  y,
const char *  name 
)
static

Definition at line 574 of file cl_game.cpp.

References image_s::height, it_pic, R_DrawImage(), R_FindImage(), and image_s::width.

Referenced by GAME_GetImportData().

static void R_UploadAlpha_ ( const char *  name,
const byte alphaData 
)
static

Definition at line 564 of file cl_game.cpp.

References Com_Printf(), R_GetImage(), and R_UploadAlpha().

Referenced by GAME_GetImportData().

static void UI_DrawNormImageByName_ ( bool  flip,
float  x,
float  y,
float  w,
float  h,
float  sh,
float  th,
float  sl,
float  tl,
const char *  name 
)
static

Definition at line 559 of file cl_game.cpp.

References UI_DrawNormImageByName().

Referenced by GAME_GetImportData().

static int UI_DrawString_ ( const char *  fontID,
align_t  align,
int  x,
int  y,
const char *  c 
)
static

Definition at line 549 of file cl_game.cpp.

References UI_DrawString().

Referenced by GAME_GetImportData().

static void UI_GetMaps_f ( void  )
static

Definition at line 1101 of file cl_game.cpp.

References UI_MapInfo().

Referenced by GAME_InitStartup().

static void UI_MapInfo ( int  step)
static
static void UI_MapInfoGetNext ( int  step)
static
static void UI_NextMap_f ( void  )
static

Select the next available map.

Definition at line 1109 of file cl_game.cpp.

References UI_MapInfo().

Referenced by GAME_InitStartup().

static void UI_PreviousMap_f ( void  )
static

Select the previous available map.

Definition at line 1117 of file cl_game.cpp.

References UI_MapInfo().

Referenced by GAME_InitStartup().

static void UI_PushWindow_ ( const char *  name)
static

Definition at line 554 of file cl_game.cpp.

References UI_PushWindow().

Referenced by GAME_GetImportData().

Variable Documentation

const value_t cgame_vals[]
static
Initial value:
= {
{"window", V_STRING, offsetof(cgameType_t, window), 0},
{"name", V_STRING, offsetof(cgameType_t, name), 0},
{"equipments", V_LIST, offsetof(cgameType_t, equipmentList), 0},
{nullptr, V_NULL, 0, 0}
}
Definition: scripts.h:79
Definition: scripts.h:49
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
Definition: r_gl.h:110

Valid equipment definition values from script files.

Definition at line 1159 of file cl_game.cpp.

cgameType_t cgameTypes[MAX_CGAMETYPES]
static

Definition at line 59 of file cl_game.cpp.

character_t characters[MAX_ACTIVETEAM]
static

static character array that can be used by a game mode to store the needed character values.

Definition at line 185 of file cl_game.cpp.

equipDef_t equipDefStandard
static

Definition at line 180 of file cl_game.cpp.

Referenced by GAME_GetEquipmentDefinition().

geoscapeData_t geoscapeData

Definition at line 146 of file cl_game.cpp.

Referenced by uiGeoscapeNode::onLoading().

Definition at line 898 of file cl_game.cpp.

int numCGameTypes
static

Definition at line 60 of file cl_game.cpp.

Referenced by GAME_InitUIData(), GAME_ParseModes(), GAME_SetMode_f(), and GAME_Shutdown().

const int TAG_INVENTORY = 17462
static

Definition at line 880 of file cl_game.cpp.