UFO: Alien Invasion
Toggle main menu visibility
Loading...
Searching...
No Matches
cp_building.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
#pragma once
26
27
#include "
../../../shared/shared.h
"
28
#include "
../../DateTime.h
"
29
31
typedef
enum
{
32
B_STATUS_NOT_SET
,
33
B_STATUS_UNDER_CONSTRUCTION
,
34
B_STATUS_CONSTRUCTION_FINISHED
,
35
/* and building needs workers */
36
B_STATUS_WORKING
,
37
B_STATUS_DOWN
38
}
buildingStatus_t
;
39
41
typedef
enum
{
42
B_ONCONSTRUCT
,
43
B_ONENABLE
,
44
B_ONDISABLE
,
45
B_ONDESTROY
,
46
B_MAXEVENT
47
}
buildingEvent_t
;
48
51
typedef
enum
{
52
B_MISC
,
53
B_LAB
,
54
B_QUARTERS
,
55
B_STORAGE
,
56
B_WORKSHOP
,
57
B_HOSPITAL
,
58
B_HANGAR
,
59
B_ALIEN_CONTAINMENT
,
60
B_SMALL_HANGAR
,
61
B_POWER
,
62
B_COMMAND
,
63
B_ANTIMATTER
,
64
B_ENTRANCE
,
65
B_DEFENCE_MISSILE
,
66
B_DEFENCE_LASER
,
67
B_RADAR
,
68
69
MAX_BUILDING_TYPE
70
}
buildingType_t
;
71
73
typedef
struct
building_s {
74
int
idx
;
75
struct
building_s*
tpl
;
76
struct
base_s*
base
;
77
78
const
char
*
id
;
79
char
*
name
;
80
const
char
*
image
, *
mapPart
, *
pedia
;
81
82
vec2_t
size
;
83
int
fixCosts
,
varCosts
;
84
89
float
level
;
90
91
class
DateTime
timeStart
;
92
int
buildTime
;
93
94
buildingStatus_t
buildingStatus
;
95
97
char
*
onConstruct
;
98
char
*
onDestroy
;
99
char
*
onEnable
;
100
char
*
onDisable
;
101
102
int
maxCount
;
103
104
vec2_t
pos
;
105
bool
mandatory
;
106
108
int
maxEmployees
;
109
110
buildingType_t
buildingType
;
111
struct
technology_s*
tech
;
112
const
struct
building_s*
dependsBuilding
;
113
114
int
capacity
;
115
}
building_t
;
116
117
void
B_ParseBuildings
(
const
char
*
name
,
const
char
** text,
bool
link);
118
bool
B_BuildingScriptSanityCheck
(
void
);
119
120
building_t
*
B_GetBuildingTemplate
(
const
char
* buildingName);
121
building_t
*
B_GetBuildingTemplateSilent
(
const
char
* buildingName);
122
const
building_t
*
B_GetBuildingTemplateByType
(
buildingType_t
type
);
123
124
buildingType_t
B_GetBuildingTypeByBuildingID
(
const
char
* buildingID);
125
bool
B_CheckBuildingDependencesStatus
(
const
building_t
* building);
126
bool
B_IsBuildingBuiltUp
(
const
building_t
* building);
127
float
B_GetConstructionTimeRemain
(
const
building_t
* building);
128
129
bool
B_FireEvent
(
const
building_t
* buildingTemplate,
const
struct
base_s* base,
buildingEvent_t
eventType);
DateTime.h
DateTime class definition.
DateTime
Class describing a point of time.
Definition
DateTime.h:31
buildingEvent_t
buildingEvent_t
Building events.
Definition
cp_building.h:41
B_MAXEVENT
@ B_MAXEVENT
Definition
cp_building.h:46
B_ONDISABLE
@ B_ONDISABLE
Definition
cp_building.h:44
B_ONENABLE
@ B_ONENABLE
Definition
cp_building.h:43
B_ONCONSTRUCT
@ B_ONCONSTRUCT
Definition
cp_building.h:42
B_ONDESTROY
@ B_ONDESTROY
Definition
cp_building.h:45
B_CheckBuildingDependencesStatus
bool B_CheckBuildingDependencesStatus(const building_t *building)
Check that the dependences of a building is operationnal.
Definition
cp_building.cpp:324
B_GetBuildingTypeByBuildingID
buildingType_t B_GetBuildingTypeByBuildingID(const char *buildingID)
Returns the building type for a given building identified by its building id from the ufo script file...
Definition
cp_building.cpp:84
buildingType_t
buildingType_t
All different building types.
Definition
cp_building.h:51
B_ENTRANCE
@ B_ENTRANCE
Definition
cp_building.h:64
B_QUARTERS
@ B_QUARTERS
Definition
cp_building.h:54
B_DEFENCE_LASER
@ B_DEFENCE_LASER
Definition
cp_building.h:66
B_COMMAND
@ B_COMMAND
Definition
cp_building.h:62
B_RADAR
@ B_RADAR
Definition
cp_building.h:67
B_HANGAR
@ B_HANGAR
Definition
cp_building.h:58
MAX_BUILDING_TYPE
@ MAX_BUILDING_TYPE
Definition
cp_building.h:69
B_MISC
@ B_MISC
Definition
cp_building.h:52
B_POWER
@ B_POWER
Definition
cp_building.h:61
B_STORAGE
@ B_STORAGE
Definition
cp_building.h:55
B_LAB
@ B_LAB
Definition
cp_building.h:53
B_HOSPITAL
@ B_HOSPITAL
Definition
cp_building.h:57
B_WORKSHOP
@ B_WORKSHOP
Definition
cp_building.h:56
B_SMALL_HANGAR
@ B_SMALL_HANGAR
Definition
cp_building.h:60
B_DEFENCE_MISSILE
@ B_DEFENCE_MISSILE
Definition
cp_building.h:65
B_ALIEN_CONTAINMENT
@ B_ALIEN_CONTAINMENT
Definition
cp_building.h:59
B_ANTIMATTER
@ B_ANTIMATTER
Definition
cp_building.h:63
B_BuildingScriptSanityCheck
bool B_BuildingScriptSanityCheck(void)
Checks the parsed buildings for errors.
Definition
cp_building.cpp:242
B_GetBuildingTemplateByType
const building_t * B_GetBuildingTemplateByType(buildingType_t type)
Returns the building template in the global building-types list for a buildingType.
Definition
cp_building.cpp:309
B_FireEvent
bool B_FireEvent(const building_t *buildingTemplate, const struct base_s *base, buildingEvent_t eventType)
B_GetBuildingTemplateSilent
building_t * B_GetBuildingTemplateSilent(const char *buildingName)
Returns the building in the global building-types list that has the unique name buildingID.
Definition
cp_building.cpp:274
B_IsBuildingBuiltUp
bool B_IsBuildingBuiltUp(const building_t *building)
Returns if a building is fully buildt up.
Definition
cp_building.cpp:37
B_GetConstructionTimeRemain
float B_GetConstructionTimeRemain(const building_t *building)
Returns the time remaining time of a building construction.
Definition
cp_building.cpp:50
B_ParseBuildings
void B_ParseBuildings(const char *name, const char **text, bool link)
Copies an entry from the building description file into the list of building types.
Definition
cp_building.cpp:133
buildingStatus_t
buildingStatus_t
All possible building status.
Definition
cp_building.h:31
B_STATUS_CONSTRUCTION_FINISHED
@ B_STATUS_CONSTRUCTION_FINISHED
Definition
cp_building.h:34
B_STATUS_NOT_SET
@ B_STATUS_NOT_SET
Definition
cp_building.h:32
B_STATUS_UNDER_CONSTRUCTION
@ B_STATUS_UNDER_CONSTRUCTION
Definition
cp_building.h:33
B_STATUS_WORKING
@ B_STATUS_WORKING
Definition
cp_building.h:36
B_STATUS_DOWN
@ B_STATUS_DOWN
Definition
cp_building.h:37
B_GetBuildingTemplate
building_t * B_GetBuildingTemplate(const char *buildingName)
Returns the building in the global building-types list that has the unique name buildingID.
Definition
cp_building.cpp:292
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
shared.h
building_t
A building with all it's data.
Definition
cp_building.h:73
building_t::tpl
struct building_s * tpl
Definition
cp_building.h:75
building_t::size
vec2_t size
Definition
cp_building.h:82
building_t::image
const char * image
Definition
cp_building.h:80
building_t::idx
int idx
Definition
cp_building.h:74
building_t::name
char * name
Definition
cp_building.h:79
building_t::dependsBuilding
const struct building_s * dependsBuilding
Definition
cp_building.h:112
building_t::mandatory
bool mandatory
Definition
cp_building.h:105
building_t::onEnable
char * onEnable
Definition
cp_building.h:99
building_t::buildTime
int buildTime
Definition
cp_building.h:92
building_t::level
float level
Definition
cp_building.h:89
building_t::fixCosts
int fixCosts
Definition
cp_building.h:83
building_t::maxCount
int maxCount
Definition
cp_building.h:102
building_t::buildingType
buildingType_t buildingType
Definition
cp_building.h:110
building_t::varCosts
int varCosts
Definition
cp_building.h:83
building_t::base
struct base_s * base
Definition
cp_building.h:76
building_t::onDisable
char * onDisable
Definition
cp_building.h:100
building_t::maxEmployees
int maxEmployees
Definition
cp_building.h:108
building_t::capacity
int capacity
Definition
cp_building.h:114
building_t::buildingStatus
buildingStatus_t buildingStatus
Definition
cp_building.h:94
building_t::timeStart
class DateTime timeStart
Definition
cp_building.h:91
building_t::pedia
const char * pedia
Definition
cp_building.h:80
building_t::mapPart
const char * mapPart
Definition
cp_building.h:80
building_t::pos
vec2_t pos
Definition
cp_building.h:104
building_t::id
const char * id
Definition
cp_building.h:78
building_t::onConstruct
char * onConstruct
Definition
cp_building.h:97
building_t::onDestroy
char * onDestroy
Definition
cp_building.h:98
building_t::tech
struct technology_s * tech
Definition
cp_building.h:111
vec2_t
vec_t vec2_t[2]
Definition
ufotypes.h:38
src
client
cgame
campaign
cp_building.h
Generated on __DATE__ __TIME__ for UFO: Alien Invasion by
1.17.0