Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/libraries/src/orxonox/OrxonoxPrereqs.h @ 5619

Last change on this file since 5619 was 5619, checked in by landauf, 15 years ago

Moved Notification and NotificationManger from overlays to the quest objects (NotificationOverlay and NotificationQueue remain with the other overlays).

Added a new interface NotificationListener. The NotificationManager sends notifications to all listeners. NotificationQueue is such a listener (through inheritance). This removes another dependency between orxonox and overlays.

  • Property svn:eol-style set to native
File size: 6.8 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *                    > www.orxonox.net <
4 *
5 *
6 *   License notice:
7 *
8 *   This program is free software; you can redistribute it and/or
9 *   modify it under the terms of the GNU General Public License
10 *   as published by the Free Software Foundation; either version 2
11 *   of the License, or (at your option) any later version.
12 *
13 *   This program is distributed in the hope that it will be useful,
14 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *   GNU General Public License for more details.
17 *
18 *   You should have received a copy of the GNU General Public License
19 *   along with this program; if not, write to the Free Software
20 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 *
22 *   Author:
23 *      Reto Grieder
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29/**
30  @file
31  @brief Contains all the necessary forward declarations for all classes and structs.
32*/
33
34#ifndef _OrxonoxPrereqs_H__
35#define _OrxonoxPrereqs_H__
36
37#include "OrxonoxConfig.h"
38
39//-----------------------------------------------------------------------
40// Shared library settings
41//-----------------------------------------------------------------------
42#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(ORXONOX_STATIC_BUILD)
43#  ifdef ORXONOX_SHARED_BUILD
44#    define _OrxonoxExport __declspec(dllexport)
45#  else
46#    if defined( __MINGW32__ )
47#      define _OrxonoxExport
48#    else
49#      define _OrxonoxExport __declspec(dllimport)
50#    endif
51#  endif
52#elif defined ( ORXONOX_GCC_VISIBILITY )
53#  define _OrxonoxExport  __attribute__ ((visibility("default")))
54#else
55#  define _OrxonoxExport
56#endif
57
58//-----------------------------------------------------------------------
59// Forward declarations
60//-----------------------------------------------------------------------
61
62namespace orxonox
63{
64    namespace LODParticle
65    {
66        enum Value
67        {
68            Off = 0,
69            Low = 1,
70            Normal = 2,
71            High = 3
72        };
73    }
74
75    class RadarViewable;
76    class Radar;
77    class RadarListener;
78
79    class Teamcolourable;
80
81    class CameraManager;
82    class LevelManager;
83    class PawnManager;
84    class PlayerManager;
85
86    // objects
87    class Level;
88    class Scene;
89    class Tickable;
90
91    class AddQuest;
92    class AddQuestHint;
93    class AddReward;
94    class ChangeQuestStatus;
95    class CompleteQuest;
96    class FailQuest;
97    class GlobalQuest;
98    class LocalQuest;
99    class Quest;
100    class QuestDescription;
101    class QuestEffect;
102    class QuestEffectBeacon;
103    class QuestHint;
104    class QuestItem;
105    class QuestListener;
106    class QuestManager;
107    class QuestNotification;
108    class Rewardable;
109
110    class WorldEntity;
111    class StaticEntity;
112    class MobileEntity;
113    class ControllableEntity;
114    class MovableEntity;
115    class Sublevel;
116    class ForceField;
117    class Attacher;
118
119    class Model;
120    class Billboard;
121    class BlinkingBillboard;
122    class BigExplosion;
123    class ExplosionChunk;
124    class FadingBillboard;
125    class GlobalShader;
126    class Light;
127    class Backlight;
128    class ParticleEmitter;
129    class ParticleSpawner;
130
131    class PongCenterpoint;
132    class PongBall;
133    class PongBat;
134
135    class Camera;
136    class CameraPosition;
137    class SpawnPoint;
138    class TeamSpawnPoint;
139    class Test;
140
141    class Spectator;
142    class Pawn;
143    class SpaceShip;
144    class TeamBaseMatchBase;
145    class Destroyer;
146
147    class BaseItem;
148    class DroppedItem;
149    class EquipmentItem;
150    class ModifierPickup;
151    class PassiveItem;
152    class PickupCollection;
153    class PickupInventory;
154    class PickupSpawner;
155    class UsableItem;
156
157    class Jump;
158    class HealthUsable;
159    class PassiveItem;
160
161    class Item;
162    class Engine;
163    class MultiStateEngine;
164    class RotatingEngine;
165
166    class Trigger;
167    class DistanceTrigger;
168    class EventTrigger;
169    class PlayerTrigger;
170    class CheckPoint;
171
172    class WeaponSystem;
173    class WeaponSet;
174    class WeaponSlot;
175    class WeaponPack;
176    class Weapon;
177    class WeaponMode;
178    class DefaultWeaponmodeLink;
179    class MuzzleFlash;
180
181    class LaserFire;
182    class FusionFire;
183    class HsW01;
184    class LightningGun;
185    class EnergyDrink;
186
187    class ReplenishingMunition;
188    class Munition;
189    class LaserMunition;
190    class FusionMunition;
191
192    class Projectile;
193    class BillboardProjectile;
194    class ParticleProjectile;
195    class LightningGunProjectile;
196
197    class EventListener;
198    class EventDispatcher;
199    class EventTarget;
200
201    class Controller;
202    class HumanController;
203    class ArtificialController;
204    class AIController;
205    class ScriptController;
206    class WaypointController;
207    class WaypointPatrolController;
208    class PongAI;
209
210    class Info;
211    class PlayerInfo;
212    class HumanPlayer;
213    class Bot;
214    class PongBot;
215    class GametypeInfo;
216
217    class Gametype;
218    class Deathmatch;
219    class TeamDeathmatch;
220    class Asteroids;
221    class TeamBaseMatch;
222    class UnderAttack;
223    class Pong;
224
225    // collision
226    class CollisionShape;
227    class SphereCollisionShape;
228    class CompoundCollisionShape;
229    class PlaneCollisionShape;
230    class WorldEntityCollisionShape;
231
232    // tools
233    class BillboardSet;
234    class Light;
235    class Mesh;
236    class ParticleInterface;
237    class Shader;
238    template <class T>
239    class Timer;
240
241    // overlays
242    class BarColour;
243    class DebugFPSText;
244    class DebugRTRText;
245    class GUIOverlay;
246    class HUDBar;
247    class HUDNavigation;
248    class HUDRadar;
249    class HUDSpeedBar;
250    class HUDHealthBar;
251    class HUDTimer;
252    class InGameConsole;
253    class Notification;
254    class NotificationListener;
255    class NotificationManager;
256    class NotificationOverlay;
257    class NotificationQueue;
258    class OrxonoxOverlay;
259    class OverlayGroup;
260    class OverlayText;
261    class FadeoutText;
262    class GametypeStatus;
263    class AnnounceMessage;
264    class KillMessage;
265    class DeathMessage;
266    class Map;
267
268    class CreateLines;
269    class Scoreboard;
270    class Stats;
271
272    //sound
273    class SoundBase;
274    class SoundManager;
275    class SoundMainMenu;
276}
277
278namespace Ogre
279{
280    // OGRE Wiki adapted code
281    class DynamicLines;
282    class DynamicRenderable;
283}
284
285// Bullet Physics Engine
286class btTransform;
287class btVector3;
288
289class btRigidBody;
290class btCollisionObject;
291class btGhostObject;
292class btManifoldPoint;
293
294class btCollisionShape;
295class btSphereShape;
296class btCompoundShape;
297class btStaticPlaneShape;
298
299class btDiscreteDynamicsWorld;
300class bt32BitAxisSweep3;
301class btDefaultCollisionConfiguration;
302class btCollisionDispatcher;
303class btSequentialImpulseConstraintSolver;
304
305// ALUT
306typedef struct ALCcontext_struct ALCcontext;
307typedef struct ALCdevice_struct ALCdevice;
308typedef unsigned int ALuint;
309typedef int ALint;
310
311#endif /* _OrxonoxPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.