UFO: Alien Invasion
Toggle main menu visibility
Loading...
Searching...
No Matches
cp_event.h
Go to the documentation of this file.
1
5
6
/*
7
Copyright (C) 2002-2025 UFO: Alien Invasion.
8
9
This program is free software; you can redistribute it and/or
10
modify it under the terms of the GNU General Public License
11
as published by the Free Software Foundation; either version 2
12
of the License, or (at your option) any later version.
13
14
This program is distributed in the hope that it will be useful,
15
but WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
18
See the GNU General Public License for more details.
19
20
You should have received a copy of the GNU General Public License
21
along with this program; if not, write to the Free Software
22
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
24
*/
25
26
#pragma once
27
28
#define MAX_EVENTMAILS 64
29
#define MAX_CAMPAIGNEVENTS 128
30
38
typedef
struct
eventMail_s {
39
char
*
id
;
40
char
*
from
;
41
char
*
to
;
42
char
*
cc
;
43
char
*
subject
;
46
char
*
date
;
47
char
*
body
;
48
char
*
icon
;
49
char
*
model
;
50
bool
read
;
51
bool
sent
;
52
bool
skipMessage
;
53
}
eventMail_t
;
54
55
void
CL_EventAddMail_f
(
void
);
56
void
CL_ParseEventMails
(
const
char
*
name
,
const
char
** text);
57
eventMail_t
*
CL_GetEventMail
(
const
char
*
id
);
58
void
CP_FreeDynamicEventMail
(
void
);
59
void
CL_EventAddMail
(
const
char
* eventMailId);
60
64
typedef
struct
campaignEvent_s {
65
char
*
tech
;
66
int
interest
;
67
}
campaignEvent_t
;
68
69
typedef
struct
campaignEvents_s {
70
campaignEvent_t
campaignEvents
[
MAX_CAMPAIGNEVENTS
];
71
int
numCampaignEvents
;
72
char
*
id
;
73
}
campaignEvents_t
;
74
78
typedef
enum
{
79
NEW_DAY
,
80
UFO_DETECTION
,
81
CAPTURED_ALIENS_DIED
,
82
CAPTURED_ALIENS
,
83
ALIENBASE_DISCOVERED
84
}
campaignTriggerEventType_t
;
85
86
typedef
struct
{
87
campaignTriggerEventType_t
type
;
88
char
*
id
;
89
char
*
require
;
90
char
*
reactivate
;
91
char
*
command
;
92
bool
once
;
93
bool
active
;
94
}
campaignTriggerEvent_t
;
95
96
#define MAX_CAMPAIGN_TRIGGER_EVENTS 32
97
98
void
CP_CheckCampaignEvents
(
struct
campaign_s* campaign);
99
void
CL_ParseCampaignEvents
(
const
char
*
name
,
const
char
** text);
100
void
CP_ParseEventTrigger
(
const
char
*
name
,
const
char
** text);
101
bool
CP_TriggerEventLoadXML
(
xmlNode_t
* p);
102
bool
CP_TriggerEventSaveXML
(
xmlNode_t
* p);
103
void
CP_TriggerEvent
(
campaignTriggerEventType_t
type
,
const
void
* userdata =
nullptr
);
104
const
campaignEvents_t
*
CP_GetEventsByID
(
const
char
*
name
);
CP_GetEventsByID
const campaignEvents_t * CP_GetEventsByID(const char *name)
Definition
cp_event.cpp:139
CP_TriggerEventLoadXML
bool CP_TriggerEventLoadXML(xmlNode_t *p)
Definition
cp_event.cpp:419
CL_GetEventMail
eventMail_t * CL_GetEventMail(const char *id)
Searches all event mails for a given id.
Definition
cp_event.cpp:45
CL_EventAddMail
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
cp_event.cpp:507
campaignTriggerEventType_t
campaignTriggerEventType_t
events that are triggered by the campaign
Definition
cp_event.h:78
UFO_DETECTION
@ UFO_DETECTION
Definition
cp_event.h:80
ALIENBASE_DISCOVERED
@ ALIENBASE_DISCOVERED
Definition
cp_event.h:83
CAPTURED_ALIENS
@ CAPTURED_ALIENS
Definition
cp_event.h:82
NEW_DAY
@ NEW_DAY
Definition
cp_event.h:79
CAPTURED_ALIENS_DIED
@ CAPTURED_ALIENS_DIED
Definition
cp_event.h:81
CP_CheckCampaignEvents
void CP_CheckCampaignEvents(struct campaign_s *campaign)
CL_ParseEventMails
void CL_ParseEventMails(const char *name, const char **text)
Definition
cp_event.cpp:93
CL_ParseCampaignEvents
void CL_ParseCampaignEvents(const char *name, const char **text)
Definition
cp_event.cpp:448
CP_TriggerEvent
void CP_TriggerEvent(campaignTriggerEventType_t type, const void *userdata=nullptr)
Triggers a campaign event with a special type.
Definition
cp_event.cpp:310
MAX_CAMPAIGNEVENTS
#define MAX_CAMPAIGNEVENTS
Definition
cp_event.h:29
CL_EventAddMail_f
void CL_EventAddMail_f(void)
Definition
cp_event.cpp:553
CP_ParseEventTrigger
void CP_ParseEventTrigger(const char *name, const char **text)
Definition
cp_event.cpp:359
CP_FreeDynamicEventMail
void CP_FreeDynamicEventMail(void)
Make sure, that the linked list is freed with every new game.
Definition
cp_event.cpp:67
CP_TriggerEventSaveXML
bool CP_TriggerEventSaveXML(xmlNode_t *p)
Definition
cp_event.cpp:401
type
QGL_EXTERN GLint GLenum type
Definition
r_gl.h:94
name
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
Definition
r_gl.h:110
campaignEvent_t
Defines campaign events when story related technologies should be researched.
Definition
cp_event.h:64
campaignEvent_t::interest
int interest
Definition
cp_event.h:66
campaignEvent_t::tech
char * tech
Definition
cp_event.h:65
campaignEvents_t
Definition
cp_event.h:69
campaignEvents_t::numCampaignEvents
int numCampaignEvents
Definition
cp_event.h:71
campaignEvents_t::campaignEvents
campaignEvent_t campaignEvents[MAX_CAMPAIGNEVENTS]
Definition
cp_event.h:70
campaignEvents_t::id
char * id
Definition
cp_event.h:72
campaignTriggerEvent_t
Definition
cp_event.h:86
campaignTriggerEvent_t::id
char * id
Definition
cp_event.h:88
campaignTriggerEvent_t::once
bool once
Definition
cp_event.h:92
campaignTriggerEvent_t::reactivate
char * reactivate
Definition
cp_event.h:90
campaignTriggerEvent_t::require
char * require
Definition
cp_event.h:89
campaignTriggerEvent_t::command
char * command
Definition
cp_event.h:91
campaignTriggerEvent_t::type
campaignTriggerEventType_t type
Definition
cp_event.h:87
campaignTriggerEvent_t::active
bool active
Definition
cp_event.h:93
eventMail_t
available mails for a tech - mail and mail_pre in script files
Definition
cp_event.h:38
eventMail_t::skipMessage
bool skipMessage
Definition
cp_event.h:52
eventMail_t::model
char * model
Definition
cp_event.h:49
eventMail_t::cc
char * cc
Definition
cp_event.h:42
eventMail_t::to
char * to
Definition
cp_event.h:41
eventMail_t::date
char * date
Definition
cp_event.h:46
eventMail_t::from
char * from
Definition
cp_event.h:40
eventMail_t::subject
char * subject
Definition
cp_event.h:43
eventMail_t::id
char * id
Definition
cp_event.h:39
eventMail_t::sent
bool sent
Definition
cp_event.h:51
eventMail_t::read
bool read
Definition
cp_event.h:50
eventMail_t::body
char * body
Definition
cp_event.h:47
eventMail_t::icon
char * icon
Definition
cp_event.h:48
xmlNode_t
#define xmlNode_t
Definition
xml.h:24
src
client
cgame
campaign
cp_event.h
Generated on __DATE__ __TIME__ for UFO: Alien Invasion by
1.17.0