Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/orxonox/OrxonoxPrereqs.h @ 9016

Last change on this file since 9016 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
RevLine 
[612]1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
[1505]3 *                    > www.orxonox.net <
[612]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:
[682]23 *      Reto Grieder
[612]24 *   Co-authors:
25 *      ...
26 *
27 */
28
29/**
[5929]30@file
31@brief
32    Shared library macros, enums, constants and forward declarations for the orxonox library
[1024]33*/
[612]34
[673]35#ifndef _OrxonoxPrereqs_H__
36#define _OrxonoxPrereqs_H__
[612]37
[2710]38#include "OrxonoxConfig.h"
[5781]39#include "tools/ToolsPrereqs.h"
40
[1024]41//-----------------------------------------------------------------------
42// Shared library settings
43//-----------------------------------------------------------------------
[5929]44
[5693]45#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(ORXONOX_STATIC_BUILD)
[1024]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
[8351]55#  define _OrxonoxPrivate
56#elif defined (ORXONOX_GCC_VISIBILITY)
[1024]57#  define _OrxonoxExport  __attribute__ ((visibility("default")))
[8351]58#  define _OrxonoxPrivate __attribute__ ((visibility("hidden")))
[1024]59#else
60#  define _OrxonoxExport
[8351]61#  define _OrxonoxPrivate
[1024]62#endif
[729]63
64//-----------------------------------------------------------------------
[1024]65// Forward declarations
66//-----------------------------------------------------------------------
[729]67
[1563]68namespace orxonox
69{
[2087]70    class CameraManager;
[5929]71    class Level;
[7648]72    class LevelInfo;
73    class LevelInfoItem;
[2087]74    class LevelManager;
[2662]75    class PawnManager;
[2171]76    class PlayerManager;
[5929]77    class Radar;
[5738]78    class Scene;
79
[8858]80    // chat
81    class ChatHistory;
82    class ChatInputHandler;
83    class ChatListener;
84    class ChatManager;
85
[5929]86    // collisionshapes
87    class CollisionShape;
88    class CompoundCollisionShape;
89    class WorldEntityCollisionShape;
[5693]90
[5929]91    // controllers
92    class AIController;
93    class ArtificialController;
94    class Controller;
[7163]95    class DroneController;
[5929]96    class HumanController;
97    class ScriptController;
98    class WaypointController;
99    class WaypointPatrolController;
[2087]100
[5929]101    // gametypes
102    class Asteroids;
103    class Deathmatch;
[7163]104    class Dynamicmatch;
[5929]105    class Gametype;
[7655]106    class LastManStanding;
[8178]107    class LastTeamStanding;
[5929]108    class TeamBaseMatch;
109    class TeamDeathmatch;
110    class UnderAttack;
111
[5693]112    // graphics
[5929]113    class Backlight;
[2087]114    class Billboard;
115    class BlinkingBillboard;
[5929]116    class Camera;
[2662]117    class FadingBillboard;
118    class GlobalShader;
[2087]119    class Light;
[5929]120    class Model;
[2087]121    class ParticleEmitter;
122    class ParticleSpawner;
123
[5929]124    // infos
125    class Bot;
126    class GametypeInfo;
127    class HumanPlayer;
128    class Info;
129    class PlayerInfo;
[5693]130
[5929]131    // interfaces
132    class GametypeMessageListener;
133    class NotificationListener;
[6524]134    class Pickupable;
135    class PickupCarrier;
[5929]136    class PlayerTrigger;
137    class RadarListener;
138    class RadarViewable;
139    class Rewardable;
140    class TeamColourable;
[5693]141
[5929]142    // items
143    class Engine;
144    class Item;
145    class MultiStateEngine;
[2087]146
[5929]147    // overlays
148    class InGameConsole;
149    class Map;
150    class OrxonoxOverlay;
151    class OverlayGroup;
[7163]152
[5929]153    // pickup
[6524]154    class PickupIdentifier;
[3079]155
[5929]156    //sound
157    class AmbientSound;
158    class BaseSound;
[6417]159    class SoundBuffer;
[5929]160    class SoundManager;
[6417]161    class SoundStreamer;
[5929]162    class WorldSound;
[7854]163    class WorldAmbientSound;
[2662]164
[5693]165    // weaponsystem
[5929]166    class DefaultWeaponmodeLink;
167    class Munition;
168    class Weapon;
169    class WeaponMode;
170    class WeaponPack;
[2096]171    class WeaponSet;
172    class WeaponSlot;
[5929]173    class WeaponSystem;
[2096]174
[5929]175    // worldentities
176    class BigExplosion;
177    class CameraPosition;
178    class ControllableEntity;
[7163]179    class Drone;
[6417]180    class EffectContainer;
[5929]181    class ExplosionChunk;
182    class MobileEntity;
183    class MovableEntity;
184    class SpawnPoint;
185    class StaticEntity;
186    class TeamSpawnPoint;
187    class WorldEntity;
[6417]188    class Rocket;
[5929]189    // worldentities, pawns
190    class Destroyer;
191    class Pawn;
192    class SpaceShip;
193    class Spectator;
194    class TeamBaseMatchBase;
[1625]195}
[708]196
[2662]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
[3196]217// ALUT
218typedef struct ALCcontext_struct ALCcontext;
219typedef struct ALCdevice_struct ALCdevice;
220typedef unsigned int ALuint;
221typedef int ALint;
[6417]222typedef int ALenum;
[3196]223
[673]224#endif /* _OrxonoxPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.