Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
TypeList.h
Go to the documentation of this file.
1/* Copyright (C) 2023 Wildfire Games.
2 * This file is part of 0 A.D.
3 *
4 * 0 A.D. is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * 0 A.D. is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18// MESSAGE: message types
19// INTERFACE: component interface types
20// COMPONENT: component types
21
22// Components intended only for use in test cases:
23// (The tests rely on the enum IDs, so don't change the order of these)
24INTERFACE(Test1)
25COMPONENT(Test1A)
26COMPONENT(Test1B)
27COMPONENT(Test1Scripted)
28INTERFACE(Test2)
29COMPONENT(Test2A)
30COMPONENT(Test2Scripted)
31
32// Message types:
33MESSAGE(TurnStart)
34MESSAGE(Update)
35MESSAGE(Update_MotionFormation)
36MESSAGE(Update_MotionUnit)
37MESSAGE(Update_Final)
38MESSAGE(Interpolate) // non-deterministic (use with caution)
39MESSAGE(RenderSubmit) // non-deterministic (use with caution)
40MESSAGE(ProgressiveLoad) // non-deterministic (use with caution)
41MESSAGE(Deserialized) // non-deterministic (use with caution)
42MESSAGE(Create)
43MESSAGE(Destroy)
44MESSAGE(OwnershipChanged)
45MESSAGE(PositionChanged)
46MESSAGE(InterpolatedPositionChanged)
47MESSAGE(MotionUpdate)
48MESSAGE(RangeUpdate)
49MESSAGE(TerrainChanged)
50MESSAGE(VisibilityChanged)
51MESSAGE(WaterChanged)
52MESSAGE(MovementObstructionChanged)
53MESSAGE(ObstructionMapShapeChanged)
54MESSAGE(TerritoriesChanged)
56MESSAGE(ValueModification)
57MESSAGE(TemplateModification)
58MESSAGE(VisionRangeChanged)
59MESSAGE(VisionSharingChanged)
60MESSAGE(MinimapPing)
61MESSAGE(CinemaPathEnded)
62MESSAGE(CinemaQueueEnded)
63MESSAGE(PlayerColorChanged)
64
65// TemplateManager must come before all other (non-test) components,
66// so that it is the first to be (de)serialized
67INTERFACE(TemplateManager)
68COMPONENT(TemplateManager)
69
70// Special component for script component types with no native interface
71INTERFACE(UnknownScript)
72COMPONENT(UnknownScript)
73
74// In alphabetical order:
75
76INTERFACE(AIInterface)
77COMPONENT(AIInterfaceScripted)
78
79INTERFACE(AIManager)
80COMPONENT(AIManager)
81
82INTERFACE(Attack)
83COMPONENT(AttackScripted)
84
85INTERFACE(CinemaManager)
86COMPONENT(CinemaManager)
87
88INTERFACE(CommandQueue)
89COMPONENT(CommandQueue)
90
91INTERFACE(Decay)
92COMPONENT(Decay)
93
94INTERFACE(Fogging)
95COMPONENT(FoggingScripted)
96
97// Note: The VisualActor component relies on this component being initialized before itself, in order to support using
98// an entity's footprint shape for the selection boxes. This dependency is not strictly necessary, but it does avoid
99// some extra plumbing code to set up on-demand initialization. If you find yourself forced to break this dependency,
100// see VisualActor's Init method for a description of how you can avoid it.
101INTERFACE(Footprint)
102COMPONENT(Footprint)
103
104INTERFACE(GarrisonHolder)
105COMPONENT(GarrisonHolderScripted)
106
107INTERFACE(GuiInterface)
108COMPONENT(GuiInterfaceScripted)
109
110INTERFACE(Identity)
111COMPONENT(IdentityScripted)
112
113INTERFACE(Minimap)
114COMPONENT(Minimap)
115
116INTERFACE(Mirage)
117COMPONENT(MirageScripted)
118
119INTERFACE(Motion)
120COMPONENT(MotionBall)
121COMPONENT(MotionScripted)
122
123INTERFACE(Obstruction)
124COMPONENT(Obstruction)
125
126INTERFACE(ObstructionManager)
127COMPONENT(ObstructionManager)
128
131
132INTERFACE(Ownership)
133COMPONENT(Ownership)
134
135INTERFACE(ParticleManager)
136COMPONENT(ParticleManager)
137
138INTERFACE(Pathfinder)
139COMPONENT(Pathfinder)
140
141INTERFACE(Player)
142COMPONENT(PlayerScripted)
143
144INTERFACE(PlayerManager)
145COMPONENT(PlayerManagerScripted)
146
147INTERFACE(Position)
148COMPONENT(Position) // must be before VisualActor
149
150INTERFACE(ProjectileManager)
151COMPONENT(ProjectileManager)
152
153INTERFACE(RallyPoint)
154COMPONENT(RallyPointScripted)
155
156INTERFACE(RallyPointRenderer)
157COMPONENT(RallyPointRenderer)
158
159INTERFACE(RangeManager)
160COMPONENT(RangeManager)
161
162INTERFACE(RangeOverlayRenderer)
163COMPONENT(RangeOverlayRenderer)
164
165INTERFACE(Selectable)
166COMPONENT(Selectable)
167
168INTERFACE(Settlement)
169COMPONENT(SettlementScripted)
170
171INTERFACE(Sound)
172COMPONENT(SoundScripted)
173
174INTERFACE(SoundManager)
175COMPONENT(SoundManager)
176
177INTERFACE(ValueModificationManager)
178COMPONENT(ValueModificationManagerScripted)
179
180INTERFACE(Terrain)
181COMPONENT(Terrain)
182
183INTERFACE(TerritoryDecayManager)
184COMPONENT(TerritoryDecayManagerScripted)
185
186INTERFACE(TerritoryInfluence)
187COMPONENT(TerritoryInfluence)
188
189INTERFACE(TerritoryManager)
190COMPONENT(TerritoryManager)
191
192INTERFACE(TurretHolder)
193COMPONENT(TurretHolderScripted)
194
195INTERFACE(UnitMotion)
196COMPONENT(UnitMotion) // must be after Obstruction
197COMPONENT(UnitMotionScripted)
198
199INTERFACE(UnitMotionManager)
200COMPONENT(UnitMotionManager)
201
202INTERFACE(UnitRenderer)
203COMPONENT(UnitRenderer)
204
205INTERFACE(Visibility)
206COMPONENT(VisibilityScripted)
207
208INTERFACE(Vision)
209COMPONENT(Vision)
210
211// Note: this component relies on the Footprint component being initialized before itself. See the comments above for
212// the Footprint component to find out why.
213INTERFACE(Visual)
214COMPONENT(VisualActor) // must be after Ownership (dependency in Deserialize) and Vision (dependency in Init)
215
T Interpolate(const T &a, const T &b, float t)
Definition: MathUtil.h:26
#define MESSAGE(name)
#define COMPONENT(name)
#define INTERFACE(name)
Class OverlayRenderer: Render various bits of data that overlay the game world (selection circles,...
Definition: OverlayRenderer.h:38
Class WaterManager: Maintain rendering-related water settings and textures Anything that affects game...
Definition: WaterManager.h:48
static int ProgressiveLoad()
Definition: main.cpp:303
Definition: ICmpPathfinder.h:37