Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/libraries/network/NetworkPrereqs.h @ 8446

Last change on this file since 8446 was 8351, checked in by rgrieder, 14 years ago

Merged kicklib2 branch back to trunk (includes former branches ois_update, mac_osx and kicklib).

Notes for updating

Linux:
You don't need an extra package for CEGUILua and Tolua, it's already shipped with CEGUI.
However you do need to make sure that the OgreRenderer is installed too with CEGUI 0.7 (may be a separate package).
Also, Orxonox now recognises if you install the CgProgramManager (a separate package available on newer Ubuntu on Debian systems).

Windows:
Download the new dependency packages versioned 6.0 and use these. If you have problems with that or if you don't like the in game console problem mentioned below, you can download the new 4.3 version of the packages (only available for Visual Studio 2005/2008).

Key new features:

  • *Support for Mac OS X*
  • Visual Studio 2010 support
  • Bullet library update to 2.77
  • OIS library update to 1.3
  • Support for CEGUI 0.7 —> Support for Arch Linux and even SuSE
  • Improved install target
  • Compiles now with GCC 4.6
  • Ogre Cg Shader plugin activated for Linux if available
  • And of course lots of bug fixes

There are also some regressions:

  • No support for CEGUI 0.5, Ogre 1.4 and boost 1.35 - 1.39 any more
  • In game console is not working in main menu for CEGUI 0.7
  • Tolua (just the C lib, not the application) and CEGUILua libraries are no longer in our repository. —> You will need to get these as well when compiling Orxonox
  • And of course lots of new bugs we don't yet know about
  • Property svn:eol-style set to native
File size: 4.7 KB
RevLine 
[1168]1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
[1232]3 *                    > www.orxonox.net <
[1168]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/**
[5929]30@file
31@brief
32    Shared library macros, enums, constants and forward declarations for the network library
[1168]33*/
34
35#ifndef _NetworkPrereqs_H__
36#define _NetworkPrereqs_H__
37
[2710]38#include "OrxonoxConfig.h"
[1168]39
40//-----------------------------------------------------------------------
41// Shared library settings
42//-----------------------------------------------------------------------
[5929]43
[2710]44#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined( NETWORK_STATIC_BUILD )
[1168]45#  ifdef NETWORK_SHARED_BUILD
46#    define _NetworkExport __declspec(dllexport)
47#  else
48#    if defined( __MINGW32__ )
49#      define _NetworkExport
50#    else
51#      define _NetworkExport __declspec(dllimport)
52#    endif
53#  endif
[8351]54#  define _NetworkPrivate
55#elif defined (ORXONOX_GCC_VISIBILITY)
[1168]56#  define _NetworkExport  __attribute__ ((visibility("default")))
[8351]57#  define _NetworkPrivate __attribute__ ((visibility("hidden")))
[1168]58#else
59#  define _NetworkExport
[8351]60#  define _NetworkPrivate
[1168]61#endif
62
[1360]63//-----------------------------------------------------------------------
[5929]64// Constants
[2662]65//-----------------------------------------------------------------------
[5929]66
[2662]67namespace orxonox
68{
[7801]69  static const unsigned int GAMESTATEID_INITIAL       = static_cast<unsigned int>(-1);
[7163]70  extern const char* LAN_DISCOVERY_MESSAGE;
71  extern const char* LAN_DISCOVERY_ACK;
[7801]72  static const unsigned int LAN_DISCOVERY_PORT          = 55558;
73  static const unsigned int NETWORK_PEER_ID_SERVER      = 0;
[8327]74  static const unsigned int NETWORK_PEER_ID_BROADCAST   = static_cast<unsigned int>(-1);
75  static const unsigned int NETWORK_PEER_ID_UNKNOWN     = static_cast<unsigned int>(-2);
[7801]76  static const unsigned int NETWORK_CHANNEL_DEFAULT     = 0;
77  static const unsigned int NETWORK_CHANNEL_UNRELIABLE  = 1;
78  static const unsigned int NETWORK_CHANNEL_COUNT       = 2;
[2662]79}
80
81//-----------------------------------------------------------------------
[5929]82// Enums
83//-----------------------------------------------------------------------
84
85namespace orxonox
86{
87  namespace packet
88  {
89    namespace PacketFlag
90    {
91      enum Value
92      {
[7801]93        Reliable    = 1,
94        Unsequenced = 2,
95        NoAllocate  = 4
[5929]96      };
97    }
98  }
99}
100
101//-----------------------------------------------------------------------
[1168]102// Forward declarations
103//-----------------------------------------------------------------------
[2773]104
105// from ENet
106struct _ENetPeer;
[7801]107typedef _ENetPeer     ENetPeer;
[2773]108struct _ENetPacket;
[7801]109typedef _ENetPacket   ENetPacket;
[2773]110struct _ENetEvent;
[7801]111typedef _ENetEvent    ENetEvent;
[2773]112struct _ENetHost;
[7801]113typedef _ENetHost     ENetHost;
[2773]114struct _ENetAddress;
[7801]115typedef _ENetAddress  ENetAddress;
116typedef uint8_t       ENetChannelID;
[2773]117
[2171]118namespace orxonox
[1168]119{
[5929]120  class ChatListener;
[1168]121  class Client;
122  class ClientConnection;
[2087]123  class ClientConnectionListener;
[1168]124  class ClientInformation;
[3214]125  class Connection;
[7490]126  class FunctionCall;
[3084]127  class FunctionCallManager;
[1735]128  class GamestateClient;
[5929]129  class GamestateHandler;
[1735]130  class GamestateManager;
[5929]131  class Host;
[3084]132  class NetworkFunctionBase;
[5929]133  struct NetworkFunctionPointer;
[3084]134  class NetworkFunctionStatic;
[5929]135  template <class T>
136  class NetworkMemberFunction;
[3084]137  class NetworkMemberFunctionBase;
[1168]138  class Server;
[3214]139  class ServerConnection;
140  class TrafficControl;
[2662]141
[5929]142  // packet
[2662]143  namespace packet
144  {
[3084]145    class Acknowledgement;
146    class Chat;
147    class ClassID;
[5929]148    class DeleteObjects;
[3084]149    class FunctionCalls;
150    class FunctionIDs;
[1735]151    class Gamestate;
152    class Packet;
153    class Welcome;
[5929]154  }
[3214]155
[5929]156  // synchronisable
157  template <class T>
158  class NetworkCallback;
[6417]159  template <class T, class U>
160  class NetworkCallbackNotify;
[5929]161  class NetworkCallbackBase;
162  class NetworkCallbackManager;
163  class Synchronisable;
164  class SynchronisableHeader;
165  template <class T>
166  class SynchronisableVariable;
167  class SynchronisableVariableBase;
168  template <class T>
169  class SynchronisableVariableBidirectional;
[1168]170}
171
[7801]172namespace boost
173{
174  class mutex;
175  class thread;
176}
177
[1168]178#endif /* _NetworkPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.