UFO: Alien Invasion
|
Geoscape event implementation. More...
#include "../../cl_shared.h"
#include "../../../shared/parse.h"
#include "../../../common/binaryexpressionparser.h"
#include "cp_campaign.h"
#include "cp_time.h"
#include "cp_xvi.h"
#include "cp_event_callbacks.h"
#include "save/save_triggerevents.h"
Go to the source code of this file.
Macros | |
#define | EVENTCONSTANTS_NAMESPACE "eventTrigger::" |
Functions | |
eventMail_t * | CL_GetEventMail (const char *id) |
Searches all event mails for a given id. More... | |
void | CP_FreeDynamicEventMail (void) |
Make sure, that the linked list is freed with every new game. More... | |
void | CL_ParseEventMails (const char *name, const char **text) |
void | CP_CheckCampaignEvents (campaign_t *campaign) |
const campaignEvents_t * | CP_GetEventsByID (const char *name) |
static int | CP_CheckTriggerEvent (const char *expression, const void *userdata) |
void | CP_TriggerEvent (campaignTriggerEventType_t type, const void *userdata) |
Triggers a campaign event with a special type. More... | |
void | CP_ParseEventTrigger (const char *name, const char **text) |
bool | CP_TriggerEventSaveXML (xmlNode_t *p) |
bool | CP_TriggerEventLoadXML (xmlNode_t *p) |
void | CL_ParseCampaignEvents (const char *name, const char **text) |
void | CL_EventAddMail (const char *eventMailId) |
Adds the event mail to the message stack. This message is going to be added to the savegame. More... | |
void | CL_EventAddMail_f (void) |
Variables | |
static linkedList_t * | eventMails = nullptr |
static const value_t | eventMail_vals [] |
Valid event mail parameters. More... | |
static const value_t | event_vals [] |
Valid event mail parameters. More... | |
static const constListEntry_t | eventConstants [] |
Geoscape event implementation.
Definition in file cp_event.cpp.
#define EVENTCONSTANTS_NAMESPACE "eventTrigger::" |
Definition at line 349 of file cp_event.cpp.
void CL_EventAddMail | ( | const char * | eventMailId | ) |
Adds the event mail to the message stack. This message is going to be added to the savegame.
Definition at line 508 of file cp_event.cpp.
References _, eventMail_s::body, ccs, cgi, CL_GetEventMail(), Com_sprintf(), cp_campaignPool, CP_DateConvertLong(), eventMail_s::date, ccs_s::date, Date_GetMonthName(), dateLong_s::day, uiMessageListNodeMessage_s::eventMail, eventMail_s::from, m, MAX_VAR, dateLong_s::month, MS_AddNewMessage(), MSG_EVENT, cgame_import_s::PoolStrDup(), eventMail_s::sent, eventMail_s::skipMessage, eventMail_s::subject, eventMail_s::to, UP_OpenEventMail(), va(), and dateLong_s::year.
Referenced by CL_EventAddMail_f(), CP_CampaignInit(), and CP_SpawnUFOCarrier_f().
Definition at line 554 of file cp_event.cpp.
References cgi, CL_EventAddMail(), and cgame_import_s::Cmd_Argv().
eventMail_t* CL_GetEventMail | ( | const char * | id | ) |
Searches all event mails for a given id.
[in] | id | The id from the script files |
Definition at line 44 of file cp_event.cpp.
References ccs, ccs_s::eventMails, i, eventMail_s::id, LIST_Foreach, ccs_s::numEventMails, and Q_streq.
Referenced by CL_EventAddMail(), MS_LoadXML(), and UP_OpenEventMail().
void CL_ParseCampaignEvents | ( | const char * | name, |
const char ** | text | ||
) |
Definition at line 449 of file cp_event.cpp.
References campaignEvents_s::campaignEvents, ccs_s::campaignEvents, ccs, cgi, cgame_import_s::Com_EParse(), cp_campaignPool, DEBUG_CLIENT, events, campaignEvents_s::id, campaignEvent_s::interest, MAX_CAMPAIGNEVENTS, MAX_CAMPAIGNS, ccs_s::numCampaignEventDefinitions, campaignEvents_s::numCampaignEvents, OBJZERO, cgame_import_s::PoolStrDup(), Sys_Error(), campaignEvent_s::tech, and V_INT.
Referenced by CP_ParseScriptFirst().
void CL_ParseEventMails | ( | const char * | name, |
const char ** | text | ||
) |
Definition at line 92 of file cp_event.cpp.
References ccs, cgi, cp_campaignPool, DEBUG_CLIENT, ccs_s::eventMails, eventMail_s::id, MAX_EVENTMAILS, ccs_s::numEventMails, OBJZERO, and cgame_import_s::PoolStrDup().
Referenced by CP_ParseScriptFirst().
void CP_CheckCampaignEvents | ( | campaign_t * | campaign | ) |
Definition at line 112 of file cp_event.cpp.
References campaignEvents_s::campaignEvents, ccs, events, campaign_s::events, i, campaignEvents_s::numCampaignEvents, ccs_s::overallInterest, and RS_MarkStoryLineEventResearched().
Referenced by CP_CampaignRun().
Definition at line 155 of file cp_event.cpp.
References aircraftSlot_s::ammoLeft, ccs_s::campaignStats, stats_s::capturedAliens, ccs, cgi, CP_GetAverageXVIRate(), ccs_s::curCampaign, campaign_s::date, Date_IsDue(), date_s::day, campaign_s::difficulty, nationInfo_s::happiness, i, INS_ForeachOfType, INS_GetType(), INS_HasType(), INSTALLATION_DEFENCE, INSTALLATION_NOT_USED, INSTALLATION_WORKING, MAX_VAR, campaign_s::maxAllowedXVIRateUntilLost, campaign_s::minhappiness, NAT_Foreach, NAT_GetCurrentMonthInfo(), Q_streq, Q_strncpyz(), Q_strnull(), Q_strstart(), RS_GetTechByID(), RS_IsResearched_ptr(), type, and nationInfo_s::xviInfection.
Referenced by CP_TriggerEvent().
Make sure, that the linked list is freed with every new game.
Definition at line 66 of file cp_event.cpp.
References cgi.
Referenced by CP_ResetCampaignData().
const campaignEvents_t* CP_GetEventsByID | ( | const char * | name | ) |
Will return the campaign related events
name | The events id |
Definition at line 138 of file cp_event.cpp.
References campaignEvents_s::campaignEvents, ccs_s::campaignEvents, ccs, events, i, campaignEvents_s::id, ccs_s::numCampaignEventDefinitions, campaignEvents_s::numCampaignEvents, Q_streq, RS_GetTechByID(), and Sys_Error().
Referenced by CP_ParseCampaign().
void CP_ParseEventTrigger | ( | const char * | name, |
const char ** | text | ||
) |
Definition at line 360 of file cp_event.cpp.
References ccs_s::campaignTriggerEvents, ccs, cgi, cgame_import_s::Com_EParse(), cp_campaignPool, DEBUG_CLIENT, MAX_CAMPAIGN_TRIGGER_EVENTS, ccs_s::numCampaignTriggerEvents, OBJZERO, and cgame_import_s::PoolStrDup().
Referenced by CP_ParseScriptFirst().
void CP_TriggerEvent | ( | campaignTriggerEventType_t | type, |
const void * | userdata | ||
) |
Triggers a campaign event with a special type.
[in] | type | the event type |
[in] | userdata | Any userdata that is passed to the bep checker function |
Definition at line 311 of file cp_event.cpp.
References ccs_s::campaignTriggerEvents, ccs, cgi, CP_CampaignTriggerFunctions(), CP_CheckTriggerEvent(), i, ccs_s::numCampaignTriggerEvents, and Q_strvalid.
Referenced by AL_AddAliens(), CP_CampaignRun(), CP_SpawnAlienBaseMission(), TEST_F(), and UFO_DetectNewUFO().
bool CP_TriggerEventLoadXML | ( | xmlNode_t * | p | ) |
Definition at line 420 of file cp_event.cpp.
References campaignTriggerEvent_t::active, ccs_s::campaignTriggerEvents, ccs, cgi, i, ccs_s::numCampaignTriggerEvents, Q_streq, SAVE_TRIGGEREVENTS_NAME, SAVE_TRIGGEREVENTS_STATE, SAVE_TRIGGEREVENTS_TRIGGEREVENT, SAVE_TRIGGEREVENTS_TRIGGEREVENTS, cgame_import_s::XML_GetNextNode(), cgame_import_s::XML_GetNode(), cgame_import_s::XML_GetString(), and xmlNode_t.
Referenced by SAV_Init().
bool CP_TriggerEventSaveXML | ( | xmlNode_t * | p | ) |
Definition at line 402 of file cp_event.cpp.
References ccs_s::campaignTriggerEvents, ccs, cgi, i, ccs_s::numCampaignTriggerEvents, SAVE_TRIGGEREVENTS_NAME, SAVE_TRIGGEREVENTS_STATE, SAVE_TRIGGEREVENTS_TRIGGEREVENT, SAVE_TRIGGEREVENTS_TRIGGEREVENTS, cgame_import_s::XML_AddNode(), and xmlNode_t.
Referenced by SAV_Init().
|
static |
Valid event mail parameters.
Definition at line 339 of file cp_event.cpp.
|
static |
Definition at line 350 of file cp_event.cpp.
|
static |
Valid event mail parameters.
Definition at line 74 of file cp_event.cpp.
|
static |
Definition at line 35 of file cp_event.cpp.