#include <algorithm>
#include <cstring>
#include <errno.h>
-#include <osg/Math> // isNaN
#include <simgear/misc/stdint.hxx>
#include <simgear/timing/timestamp.hxx>
case props::DOUBLE:
{
float val = XDR_decode_float(*xdr);
- if (osg::isNaN(val))
+ if (SGMisc<float>::isNaN(val))
return false;
xdr++;
break;
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;
- }
+ SGPropertyNode* propOnline = fgGetNode("/sim/multiplay/online", true);
+ propOnline->setBoolValue(false);
+ propOnline->setAttribute(SGPropertyNode::PRESERVE, true);
//////////////////////////////////////////////////
// Set members from property values
if (rxPort <= 0)
rxPort = txPort;
} else {
- SG_LOG(SG_NETWORK, SG_ALERT, "Cannot enable multiplayer mode: missing a valid server address.");
+ SG_LOG(SG_NETWORK, SG_INFO, "FGMultiplayMgr - multiplayer mode disabled (no MP server specificed).");
return;
}
mInitialised = true;
SG_LOG(SG_NETWORK, SG_ALERT, "Multiplayer mode active!");
+
+ if (!fgGetBool("/sim/ai/enabled"))
+ {
+ // multiplayer depends on AI module
+ fgSetBool("/sim/ai/enabled", true);
+ }
} // FGMultiplayMgr::init()
//////////////////////////////////////////////////////////////////////
{
// check for corrupted data (NaNs)
bool isCorrupted = false;
- isCorrupted |= ((osg::isNaN(motionInfo.time )) ||
- (osg::isNaN(motionInfo.lag )) ||
+ isCorrupted |= ((SGMisc<double>::isNaN(motionInfo.time )) ||
+ (SGMisc<double>::isNaN(motionInfo.lag )) ||
(osg::isNaN(motionInfo.orientation(3) )));
for (unsigned i = 0; (i < 3)&&(!isCorrupted); ++i)
{