]> git.mxchange.org Git - flightgear.git/commitdiff
#734: MP cannot be enabled without 'AI' module
authorThorstenB <brehmt@gmail.com>
Mon, 30 Apr 2012 12:32:35 +0000 (14:32 +0200)
committerThorstenB <brehmt@gmail.com>
Mon, 30 Apr 2012 12:32:35 +0000 (14:32 +0200)
Add and improve error messages.

src/MultiPlayer/multiplaymgr.cxx

index d034f7a1c9ec19b6ad2810e3f7e1c938694a58ee..8c7a8d7c5f3b94186d13592091d8424ebcee5444 100644 (file)
@@ -403,9 +403,16 @@ FGMultiplayMgr::init (void)
     SG_LOG(SG_NETWORK, SG_WARN, "FGMultiplayMgr::init - already initialised");
     return;
   }
-  
+
   fgSetBool("/sim/multiplay/online", false);
-  
+
+  if (!fgGetBool("/sim/ai/enabled"))
+  {
+      SG_LOG(SG_NETWORK, SG_ALERT,
+        "Cannot enable multiplayer mode: AI subsystem is disabled (to enable start with '--enable-ai-models').");
+      return;
+  }
+
   //////////////////////////////////////////////////
   //  Set members from property values
   //////////////////////////////////////////////////
@@ -428,8 +435,8 @@ FGMultiplayMgr::init (void)
     if (strncmp (mServer.getHost(), "0.0.0.0", 8) == 0) {
       mHaveServer = false;
       SG_LOG(SG_NETWORK, SG_ALERT,
-        "FGMultiplayMgr - Could not resolve '"
-        << txAddress << "'. Multiplayer mode disabled.");
+        "Cannot enable multiplayer mode: resolving MP server address '"
+        << txAddress << "' failed.");
       return;
     } else {
       SG_LOG(SG_NETWORK, SG_INFO, "FGMultiplayMgr - have server");
@@ -438,13 +445,13 @@ FGMultiplayMgr::init (void)
     if (rxPort <= 0)
       rxPort = txPort;
   } else {
-    SG_LOG(SG_NETWORK, SG_INFO, "FGMultiplayMgr - no transmission address. Multiplayer mode disabled");
+    SG_LOG(SG_NETWORK, SG_ALERT, "Cannot enable multiplayer mode: missing a valid server address.");
     return;
   }
 
   if (rxPort <= 0) {
-    SG_LOG(SG_NETWORK, SG_INFO,
-      "FGMultiplayMgr - No receiver port. Multiplayer mode disabled.");
+    SG_LOG(SG_NETWORK, SG_ALERT,
+      "Cannot enable multiplayer mode: No receiver port specified.");
     return;
   }
   if (mCallsign.empty())
@@ -457,14 +464,14 @@ FGMultiplayMgr::init (void)
   
   mSocket.reset(new simgear::Socket());
   if (!mSocket->open(false)) {
-    SG_LOG( SG_NETWORK, SG_WARN,
-            "FGMultiplayMgr - Failed to create data socket. Multiplayer mode disabled." );
+    SG_LOG( SG_NETWORK, SG_ALERT,
+            "Cannot enable multiplayer mode: creating data socket failed." );
     return;
   }
   mSocket->setBlocking(false);
   if (mSocket->bind(rxAddress.c_str(), rxPort) != 0) {
     SG_LOG( SG_NETWORK, SG_ALERT,
-            "FGMultiplayMgr - Failed to bind receive socket. Multiplayer mode disabled. "
+            "Cannot enable multiplayer mode: binding receive socket failed. "
             << strerror(errno) << "(errno " << errno << ")");
     return;
   }