Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/gui/src/orxonox/OrxonoxPrereqs.h @ 2823

Last change on this file since 2823 was 2801, checked in by rgrieder, 16 years ago

Move graphic related content of GSGraphics to GraphicsManager which originally was GraphisEngine (but since we don't have an engine of our own, I renamed it).
Reduced OgreWindowEventUtilities.h dependency from GraphisManager.h (includes windows.h).

  • Property svn:eol-style set to native
File size: 6.2 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#define ORXONOX_NO_EXPORTS // This is an executable that needs no exports
43#if defined(ORXONOX_PLATFORM_WINDOWS) && !(defined(ORXONOX_STATIC_BUILD) || defined(ORXONOX_NO_EXPORTS))
44#  ifdef ORXONOX_SHARED_BUILD
45#    define _OrxonoxExport __declspec(dllexport)
46#  else
47#    if defined( __MINGW32__ )
48#      define _OrxonoxExport
49#    else
50#      define _OrxonoxExport __declspec(dllimport)
51#    endif
52#  endif
53#elif defined ( ORXONOX_GCC_VISIBILITY )
54#  define _OrxonoxExport  __attribute__ ((visibility("default")))
55#else
56#  define _OrxonoxExport
57#endif
58
59//-----------------------------------------------------------------------
60// Forward declarations
61//-----------------------------------------------------------------------
62
63namespace orxonox
64{
65    namespace LODParticle
66    {
67        enum LOD
68        {
69            off = 0,
70            low = 1,
71            normal = 2,
72            high = 3
73        };
74    }
75
76    //put here all existing munitionTypes
77    namespace MunitionType
78    {
79
80
81
82        enum Enum
83        { laserGunMunition };
84    }
85
86    //put here all weapon fire modes.
87    //they have to be added to Pawn and HumanController, too.
88    namespace WeaponMode
89    {
90        enum Enum
91        {
92            fire     = 0x1,
93            altFire  = 0x2,
94            altFire2 = 0x4
95        };
96    }
97
98
99    class GraphicsManager;
100    class OgreWindowEventListener;
101    class Settings;
102
103    class RadarViewable;
104    class Radar;
105    class RadarListener;
106
107    class CameraManager;
108    class LevelManager;
109    class PawnManager;
110    class PlayerManager;
111
112    // objects
113    class Level;
114    class Scene;
115
116    class AddQuest;
117    class AddQuestHint;
118    class AddReward;
119    class ChangeQuestStatus;
120    class CompleteQuest;
121    class FailQuest;
122    class GlobalQuest;
123    class LocalQuest;
124    class Quest;
125    class QuestDescription;
126    class QuestEffect;
127    class QuestEffectBeacon;
128    class QuestHint;
129    class QuestItem;
130    class QuestListener;
131    class QuestManager;
132    class Rewardable;
133
134    class WorldEntity;
135    class StaticEntity;
136    class MobileEntity;
137    class ControllableEntity;
138    class MovableEntity;
139    class Sublevel;
140
141    class Model;
142    class Billboard;
143    class BlinkingBillboard;
144    class ExplosionChunk;
145    class FadingBillboard;
146    class GlobalShader;
147    class Light;
148    class Backlight;
149    class ParticleEmitter;
150    class ParticleSpawner;
151
152    class Camera;
153    class CameraPosition;
154    class SpawnPoint;
155
156    class Spectator;
157    class Pawn;
158    class SpaceShip;
159
160    class Item;
161    class Engine;
162    class MultiStateEngine;
163    class RotatingEngine;
164
165    class Trigger;
166    class DistanceTrigger;
167    class EventTrigger;
168    class PlayerTrigger;
169
170    class WeaponSystem;
171    class WeaponSet;
172    class WeaponSlot;
173    class WeaponPack;
174    class Weapon;
175    class Munition;
176    class LaserGun;
177    class LaserGunMunition;
178
179    class EventListener;
180    class EventDispatcher;
181    class EventTarget;
182
183    class Controller;
184    class HumanController;
185    class ArtificialController;
186    class AIController;
187    class ScriptController;
188
189    class Info;
190    class PlayerInfo;
191    class HumanPlayer;
192    class Bot;
193    class GametypeInfo;
194
195    class Gametype;
196
197    class Scores;
198    class CreateLines;
199    class Scoreboard;
200    class Stats;
201
202    // collision
203    class CollisionShape;
204    class SphereCollisionShape;
205    class CompoundCollisionShape;
206    class PlaneCollisionShape;
207    class WorldEntityCollisionShape;
208
209    // tools
210    class BillboardSet;
211    class Light;
212    class Mesh;
213    class ParticleInterface;
214    class Shader;
215    template <class T>
216    class Timer;
217
218    // overlays
219    class BarColour;
220    class DebugFPSText;
221    class DebugRTRText;
222    class HUDBar;
223    class HUDNavigation;
224    class HUDRadar;
225    class HUDSpeedBar;
226    class HUDHealthBar;
227    class InGameConsole;
228    class Notification;
229    class NotificationManager;
230    class NotificationQueue;
231    class OrxonoxOverlay;
232    class OverlayGroup;
233    class OverlayText;
234    class GametypeStatus;
235    class CreateLines;
236    class Scoreboard;
237
238    //gui
239    class GUIManager;
240
241    // game states
242    class GSRoot;
243    class GSGraphics;
244    class GSIO;
245    class GSIOConsole;
246    class GSLevel;
247    class GSStandalone;
248    class GSServer;
249    class GSClient;
250    class GSGUI;
251}
252
253namespace Ogre
254{
255    // some got forgotten in OgrePrerequisites
256    class BorderPanelOverlayElement;
257    class PanelOverlayElement;
258    class TextAreaOverlayElement;
259}
260
261namespace CEGUI
262{
263    class LuaScriptModule;
264
265    class OgreCEGUIRenderer;
266    class OgreCEGUIResourceProvider;
267    class OgreCEGUITexture;
268}
269
270// Bullet Physics Engine
271
272class btTransform;
273class btVector3;
274
275class btRigidBody;
276class btCollisionObject;
277class btGhostObject;
278class btManifoldPoint;
279
280class btCollisionShape;
281class btSphereShape;
282class btCompoundShape;
283class btStaticPlaneShape;
284
285class btDiscreteDynamicsWorld;
286class bt32BitAxisSweep3;
287class btDefaultCollisionConfiguration;
288class btCollisionDispatcher;
289class btSequentialImpulseConstraintSolver;
290
291// lua
292struct lua_State;
293
294#endif /* _OrxonoxPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.