Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentation2011/src/orxonox/OrxonoxPrereqs.h @ 9009

Last change on this file since 9009 was 8858, checked in by landauf, 13 years ago

merged output branch back to trunk.

Changes:

  • you have to include util/Output.h instead of util/Debug.h
  • COUT(x) is now called orxout(level)
  • output levels are now defined by an enum instead of numbers. see util/Output.h for the definition
  • it's possible to use output contexts with orxout(level, context). see util/Output.h for some common contexts. you can define more contexts
  • you must use 'endl' at the end of an output message, '\n' does not flush the message

Output levels:

  • instead of COUT(0) use orxout()
  • instead of COUT(1) use orxout(user_error) or orxout(internal_error)
  • instead of COUT(2) use orxout(user_warning) or orxout(internal_warning)
  • instead of COUT(3) use orxout(user_status/user_info) or orxout(internal_status/internal_info)
  • instead of COUT(4) use orxout(verbose)
  • instead of COUT(5) use orxout(verbose_more)
  • instead of COUT(6) use orxout(verbose_ultra)

Guidelines:

  • user_* levels are for the user, visible in the console and the log-file
  • internal_* levels are for developers, visible in the log-file
  • verbose_* levels are for debugging, only visible if the context of the output is activated

Usage in C++:

  • orxout() << "message" << endl;
  • orxout(level) << "message" << endl;
  • orxout(level, context) << "message" << endl;

Usage in Lua:

  • orxout("message")
  • orxout(orxonox.level.levelname, "message")
  • orxout(orxonox.level.levelname, "context", "message")

Usage in Tcl (and in the in-game-console):

  • orxout levelname message
  • orxout_context levelname context message
  • shortcuts: log message, error message, warning message, status message, info message, debug message
  • Property svn:eol-style set to native
File size: 5.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
32    Shared library macros, enums, constants and forward declarations for the orxonox library
33*/
34
35#ifndef _OrxonoxPrereqs_H__
36#define _OrxonoxPrereqs_H__
37
38#include "OrxonoxConfig.h"
39#include "tools/ToolsPrereqs.h"
40
41//-----------------------------------------------------------------------
42// Shared library settings
43//-----------------------------------------------------------------------
44
45#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(ORXONOX_STATIC_BUILD)
46#  ifdef ORXONOX_SHARED_BUILD
47#    define _OrxonoxExport __declspec(dllexport)
48#  else
49#    if defined( __MINGW32__ )
50#      define _OrxonoxExport
51#    else
52#      define _OrxonoxExport __declspec(dllimport)
53#    endif
54#  endif
55#  define _OrxonoxPrivate
56#elif defined (ORXONOX_GCC_VISIBILITY)
57#  define _OrxonoxExport  __attribute__ ((visibility("default")))
58#  define _OrxonoxPrivate __attribute__ ((visibility("hidden")))
59#else
60#  define _OrxonoxExport
61#  define _OrxonoxPrivate
62#endif
63
64//-----------------------------------------------------------------------
65// Forward declarations
66//-----------------------------------------------------------------------
67
68namespace orxonox
69{
70    class CameraManager;
71    class Level;
72    class LevelInfo;
73    class LevelInfoItem;
74    class LevelManager;
75    class PawnManager;
76    class PlayerManager;
77    class Radar;
78    class Scene;
79
80    // chat
81    class ChatHistory;
82    class ChatInputHandler;
83    class ChatListener;
84    class ChatManager;
85
86    // collisionshapes
87    class CollisionShape;
88    class CompoundCollisionShape;
89    class WorldEntityCollisionShape;
90
91    // controllers
92    class AIController;
93    class ArtificialController;
94    class Controller;
95    class DroneController;
96    class HumanController;
97    class ScriptController;
98    class WaypointController;
99    class WaypointPatrolController;
100
101    // gametypes
102    class Asteroids;
103    class Deathmatch;
104    class Dynamicmatch;
105    class Gametype;
106    class LastManStanding;
107    class LastTeamStanding;
108    class TeamBaseMatch;
109    class TeamDeathmatch;
110    class UnderAttack;
111
112    // graphics
113    class Backlight;
114    class Billboard;
115    class BlinkingBillboard;
116    class Camera;
117    class FadingBillboard;
118    class GlobalShader;
119    class Light;
120    class Model;
121    class ParticleEmitter;
122    class ParticleSpawner;
123
124    // infos
125    class Bot;
126    class GametypeInfo;
127    class HumanPlayer;
128    class Info;
129    class PlayerInfo;
130
131    // interfaces
132    class GametypeMessageListener;
133    class NotificationListener;
134    class Pickupable;
135    class PickupCarrier;
136    class PlayerTrigger;
137    class RadarListener;
138    class RadarViewable;
139    class Rewardable;
140    class TeamColourable;
141
142    // items
143    class Engine;
144    class Item;
145    class MultiStateEngine;
146
147    // overlays
148    class InGameConsole;
149    class Map;
150    class OrxonoxOverlay;
151    class OverlayGroup;
152
153    // pickup
154    class PickupIdentifier;
155
156    //sound
157    class AmbientSound;
158    class BaseSound;
159    class SoundBuffer;
160    class SoundManager;
161    class SoundStreamer;
162    class WorldSound;
163    class WorldAmbientSound;
164
165    // weaponsystem
166    class DefaultWeaponmodeLink;
167    class Munition;
168    class Weapon;
169    class WeaponMode;
170    class WeaponPack;
171    class WeaponSet;
172    class WeaponSlot;
173    class WeaponSystem;
174
175    // worldentities
176    class BigExplosion;
177    class CameraPosition;
178    class ControllableEntity;
179    class Drone;
180    class EffectContainer;
181    class ExplosionChunk;
182    class MobileEntity;
183    class MovableEntity;
184    class SpawnPoint;
185    class StaticEntity;
186    class TeamSpawnPoint;
187    class WorldEntity;
188    class Rocket;
189    // worldentities, pawns
190    class Destroyer;
191    class Pawn;
192    class SpaceShip;
193    class Spectator;
194    class TeamBaseMatchBase;
195}
196
197// Bullet Physics Engine
198class btTransform;
199class btVector3;
200
201class btRigidBody;
202class btCollisionObject;
203class btGhostObject;
204class btManifoldPoint;
205
206class btCollisionShape;
207class btSphereShape;
208class btCompoundShape;
209class btStaticPlaneShape;
210
211class btDiscreteDynamicsWorld;
212class bt32BitAxisSweep3;
213class btDefaultCollisionConfiguration;
214class btCollisionDispatcher;
215class btSequentialImpulseConstraintSolver;
216
217// ALUT
218typedef struct ALCcontext_struct ALCcontext;
219typedef struct ALCdevice_struct ALCdevice;
220typedef unsigned int ALuint;
221typedef int ALint;
222typedef int ALenum;
223
224#endif /* _OrxonoxPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.