X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2FAIMultiplayer.cxx;h=ab9cc5c3cf8915a8c1320908fb7eafe034adf908;hb=40639d38a877b7f58702db0c2b8831985b8ddbaf;hp=a34a92775635f1bbd2353b9ce71a528e56d74f6b;hpb=fd492a297aee6d40c58f71b1889847b6668af3fd;p=flightgear.git diff --git a/src/AIModel/AIMultiplayer.cxx b/src/AIModel/AIMultiplayer.cxx old mode 100755 new mode 100644 index a34a92775..ab9cc5c3c --- a/src/AIModel/AIMultiplayer.cxx +++ b/src/AIModel/AIMultiplayer.cxx @@ -29,6 +29,8 @@ #include "AIMultiplayer.hxx" +#include + // #define SG_DEBUG SG_ALERT FGAIMultiplayer::FGAIMultiplayer() : FGAIBase(otMultiplayer) { @@ -37,6 +39,9 @@ FGAIMultiplayer::FGAIMultiplayer() : FGAIBase(otMultiplayer) { mTimeOffsetSet = false; mAllowExtrapolation = true; mLagAdjustSystemSpeed = 10; + + aip.getSceneGraph()->setNodeMask(~SG_NODEMASK_TERRAIN_BIT); + } @@ -97,6 +102,8 @@ void FGAIMultiplayer::unbind() { void FGAIMultiplayer::update(double dt) { + using namespace simgear; + if (dt <= 0) return; @@ -200,19 +207,19 @@ void FGAIMultiplayer::update(double dt) { //cout << "Found " << pIt->second->getPath() << ":"; switch ((*firstPropIt)->type) { - case SGPropertyNode::INT: - case SGPropertyNode::BOOL: - case SGPropertyNode::LONG: + case props::INT: + case props::BOOL: + case props::LONG: pIt->second->setIntValue((*firstPropIt)->int_value); //cout << "Int: " << (*firstPropIt)->int_value << "\n"; break; - case SGPropertyNode::FLOAT: - case SGPropertyNode::DOUBLE: + case props::FLOAT: + case props::DOUBLE: pIt->second->setFloatValue((*firstPropIt)->float_value); //cout << "Flo: " << (*firstPropIt)->float_value << "\n"; break; - case SGPropertyNode::STRING: - case SGPropertyNode::UNSPECIFIED: + case props::STRING: + case props::UNSPECIFIED: pIt->second->setStringValue((*firstPropIt)->string_value); //cout << "Str: " << (*firstPropIt)->string_value << "\n"; break; @@ -274,23 +281,23 @@ void FGAIMultiplayer::update(double dt) int ival; float val; switch ((*prevPropIt)->type) { - case SGPropertyNode::INT: - case SGPropertyNode::BOOL: - case SGPropertyNode::LONG: + case props::INT: + case props::BOOL: + case props::LONG: ival = (int) (0.5+(1-tau)*((double) (*prevPropIt)->int_value) + tau*((double) (*nextPropIt)->int_value)); pIt->second->setIntValue(ival); //cout << "Int: " << ival << "\n"; break; - case SGPropertyNode::FLOAT: - case SGPropertyNode::DOUBLE: + case props::FLOAT: + case props::DOUBLE: val = (1-tau)*(*prevPropIt)->float_value + tau*(*nextPropIt)->float_value; //cout << "Flo: " << val << "\n"; pIt->second->setFloatValue(val); break; - case SGPropertyNode::STRING: - case SGPropertyNode::UNSPECIFIED: + case props::STRING: + case props::UNSPECIFIED: //cout << "Str: " << (*nextPropIt)->string_value << "\n"; pIt->second->setStringValue((*nextPropIt)->string_value); break; @@ -387,19 +394,19 @@ void FGAIMultiplayer::update(double dt) if (pIt != mPropertyMap.end()) { switch ((*firstPropIt)->type) { - case SGPropertyNode::INT: - case SGPropertyNode::BOOL: - case SGPropertyNode::LONG: + case props::INT: + case props::BOOL: + case props::LONG: pIt->second->setIntValue((*firstPropIt)->int_value); //cout << "Int: " << (*firstPropIt)->int_value << "\n"; break; - case SGPropertyNode::FLOAT: - case SGPropertyNode::DOUBLE: + case props::FLOAT: + case props::DOUBLE: pIt->second->setFloatValue((*firstPropIt)->float_value); //cout << "Flo: " << (*firstPropIt)->float_value << "\n"; break; - case SGPropertyNode::STRING: - case SGPropertyNode::UNSPECIFIED: + case props::STRING: + case props::UNSPECIFIED: pIt->second->setStringValue((*firstPropIt)->string_value); //cout << "Str: " << (*firstPropIt)->string_value << "\n"; break;