Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 9406 in orxonox.OLD for trunk/src/orxonox.cc


Ignore:
Timestamp:
Jul 24, 2006, 11:09:47 AM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: merged the proxy back

merged with commandsvn merge -r9346:HEAD https://svn.orxonox.net/orxonox/branches/proxy .

no conflicts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/orxonox.cc

    r9240 r9406  
    5858
    5959#include "network_manager.h"
     60#include "shared_network_data.h"
    6061
    6162#include "state.h"
     
    6667int verbose = 5;
    6768
    68 using namespace std;
     69
    6970
    7071SHELL_COMMAND(restart, Orxonox, restart);
     
    7273REGISTER_ARG_FLAG( l, license,    "misc",  "showLicenseAndExit", "Prints the license and exit",      "1" );
    7374REGISTER_ARG_FLAG( c, client,     "game",  "gameType",           "Connect to Server (-H)",           "multiplayer_client" );
    74 REGISTER_ARG_FLAG( s, server,     "game",  "gameType",           "Start Orxonox as Game Server",     "multiplayer_server" );
     75REGISTER_ARG_FLAG( s, server,     "game",  "gameType",           "Start Orxonox as Game Server",     "multiplayer_master_server" );
     76REGISTER_ARG_FLAG( x, proxy,      "game",  "gameType",           "Start Orxonox as Proxy Server",    "multiplayer_proxy_server" );
    7577REGISTER_ARG_ARG(  H, host,       "game",  "host",               "Host to connect to",               "host");
    7678REGISTER_ARG_ARG(  p, port,       "game",  "port",               "Port to use",                      "port" );
     
    7981REGISTER_ARG_FLAG( f, fullscreen, "video", "Fullscreen-mode",    "start Orxonox in fullscreen mode", "1");
    8082REGISTER_ARG_FLAG( w, windowed,   "video", "Fullscreen-mode",    "start Orxonox in windowed mode",   "0");
    81 REGISTER_ARG_ARG(  r, resolution, "video", "Resolution",         "Sets resolution / window size",    "res");
     83REGISTER_ARG_ARG(  r, resolution, "video", "Resolution",         "sets resolution / window size",    "res");
     84REGISTER_ARG_FLAG( d, dedicated,  "video", "Norender-mode",      "the scene is not rendered",        "1" );
    8285
    8386REGISTER_ARG_FLAG( a, audio,      "audio", "Disable-Audio",      "Enable audio",                     "0" );
     
    144147  SDL_QuitSubSystem(SDL_INIT_TIMER);
    145148  ClassList::debug();
    146  
     149
    147150  Preferences::getInstance()->save();
    148151
     
    301304{
    302305  PRINT(3)("> Initializing networking\n");
    303 
    304   if( this->serverName != "") // we are a client
    305   {
     306  std::string gameType = Preferences::getInstance()->getString( "game", "gameType", "" );
     307
     308  if( gameType == "multiplayer_client")
     309  {    // we are a client
    306310    State::setOnline(true);
    307     NetworkManager::getInstance()->establishConnection(this->serverName, port);
    308   }
    309   else if( this->port > 0)
    310   {    // we are a server
     311    SharedNetworkData::getInstance()->setNodeType(NET_CLIENT);
     312    NetworkManager::getInstance()->createClient(this->serverName, port);
     313  }
     314  else if( gameType == "multiplayer_master_server")
     315  {    // we are a master server
    311316    State::setOnline(true);
    312     NetworkManager::getInstance()->createServer(port);
    313   }
    314   return 0;
     317    SharedNetworkData::getInstance()->setNodeType(NET_MASTER_SERVER);
     318
     319    NetworkManager::getInstance()->createMasterServer(port);
     320  }
     321  else if( gameType == "multiplayer_proxy_server")
     322  {    // we are a proxy server
     323    State::setOnline(true);
     324    SharedNetworkData::getInstance()->setNodeType(NET_PROXY_SERVER_ACTIVE);
     325    NetworkManager::getInstance()->createProxyServer(port);
     326  }
     327
     328  return 0;
     329
    315330}
    316331
     
    453468  if ( Preferences::getInstance()->getString("misc", "bt-to-file", "1") == "1" )
    454469  {
    455     SignalHandler::getInstance()->doCatch( argv[0] );
    456 
     470    SignalHandler::getInstance()->doCatch( argv[0], "orxonox.backtrace" );
     471    SignalHandler::getInstance()->registerCallback( EventHandler::releaseMouse, NULL );
    457472  }
    458473
    459474  if( Preferences::getInstance()->getString("game", "showGui", "") == "1" )
    460475    showGui = true;
    461   else if( Preferences::getInstance()->getString( "game", "gameType", "" ) == "multiplayer_server" ||
     476  else if( Preferences::getInstance()->getString( "game", "gameType", "" ) == "multiplayer_master_server" ||
     477           Preferences::getInstance()->getString( "game", "gameType", "" ) == "multiplayer_proxy_server" ||
    462478           Preferences::getInstance()->getString( "game", "gameType", "" ) == "multiplayer_client" )
    463479    return startNetworkOrxonox(argc, argv);
     
    493509    startOrxonox(argc, argv, host.c_str(), port);
    494510  }
    495   else if ( gameType == "multiplayer_server" )
     511  else if ( gameType == "multiplayer_master_server" )
    496512  {
    497513    int port = Preferences::getInstance()->getInt( "game", "port", DEFAULT_ORXONOX_PORT );
    498514
    499515    printf("Starting Orxonox as server: listening on port %i\n", port);
     516
     517    startOrxonox(argc, argv, "", port);
     518  }
     519  else if ( gameType == "multiplayer_proxy_server" )
     520  {
     521    int port = Preferences::getInstance()->getInt( "game", "port", DEFAULT_ORXONOX_PORT );
     522
     523    printf("Starting Orxonox as proxy server: listening on port %i\n", port);
    500524
    501525    startOrxonox(argc, argv, "", port);
Note: See TracChangeset for help on using the changeset viewer.