Changeset 9406 in orxonox.OLD for trunk/src/orxonox.cc
- Timestamp:
- Jul 24, 2006, 11:09:47 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/orxonox.cc
r9240 r9406 58 58 59 59 #include "network_manager.h" 60 #include "shared_network_data.h" 60 61 61 62 #include "state.h" … … 66 67 int verbose = 5; 67 68 68 using namespace std; 69 69 70 70 71 SHELL_COMMAND(restart, Orxonox, restart); … … 72 73 REGISTER_ARG_FLAG( l, license, "misc", "showLicenseAndExit", "Prints the license and exit", "1" ); 73 74 REGISTER_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" ); 75 REGISTER_ARG_FLAG( s, server, "game", "gameType", "Start Orxonox as Game Server", "multiplayer_master_server" ); 76 REGISTER_ARG_FLAG( x, proxy, "game", "gameType", "Start Orxonox as Proxy Server", "multiplayer_proxy_server" ); 75 77 REGISTER_ARG_ARG( H, host, "game", "host", "Host to connect to", "host"); 76 78 REGISTER_ARG_ARG( p, port, "game", "port", "Port to use", "port" ); … … 79 81 REGISTER_ARG_FLAG( f, fullscreen, "video", "Fullscreen-mode", "start Orxonox in fullscreen mode", "1"); 80 82 REGISTER_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"); 83 REGISTER_ARG_ARG( r, resolution, "video", "Resolution", "sets resolution / window size", "res"); 84 REGISTER_ARG_FLAG( d, dedicated, "video", "Norender-mode", "the scene is not rendered", "1" ); 82 85 83 86 REGISTER_ARG_FLAG( a, audio, "audio", "Disable-Audio", "Enable audio", "0" ); … … 144 147 SDL_QuitSubSystem(SDL_INIT_TIMER); 145 148 ClassList::debug(); 146 149 147 150 Preferences::getInstance()->save(); 148 151 … … 301 304 { 302 305 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 306 310 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 311 316 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 315 330 } 316 331 … … 453 468 if ( Preferences::getInstance()->getString("misc", "bt-to-file", "1") == "1" ) 454 469 { 455 SignalHandler::getInstance()->doCatch( argv[0] );456 470 SignalHandler::getInstance()->doCatch( argv[0], "orxonox.backtrace" ); 471 SignalHandler::getInstance()->registerCallback( EventHandler::releaseMouse, NULL ); 457 472 } 458 473 459 474 if( Preferences::getInstance()->getString("game", "showGui", "") == "1" ) 460 475 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" || 462 478 Preferences::getInstance()->getString( "game", "gameType", "" ) == "multiplayer_client" ) 463 479 return startNetworkOrxonox(argc, argv); … … 493 509 startOrxonox(argc, argv, host.c_str(), port); 494 510 } 495 else if ( gameType == "multiplayer_ server" )511 else if ( gameType == "multiplayer_master_server" ) 496 512 { 497 513 int port = Preferences::getInstance()->getInt( "game", "port", DEFAULT_ORXONOX_PORT ); 498 514 499 515 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); 500 524 501 525 startOrxonox(argc, argv, "", port);
Note: See TracChangeset
for help on using the changeset viewer.