Merge branch 'next' of git://gitorious.org/fg/flightgear into next
This commit is contained in:
commit
47f69ca524
15 changed files with 34 additions and 21 deletions
|
@ -52,11 +52,15 @@ using std::string;
|
|||
|
||||
static string tempReg;
|
||||
|
||||
FGAIAircraft::FGAIAircraft(FGAISchedule *ref) : FGAIBase(otAircraft) {
|
||||
FGAIAircraft::FGAIAircraft(FGAISchedule *ref) :
|
||||
/* HOT must be disabled for AI Aircraft,
|
||||
* otherwise traffic detection isn't working as expected.*/
|
||||
FGAIBase(otAircraft, false)
|
||||
{
|
||||
trafficRef = ref;
|
||||
if (trafficRef) {
|
||||
groundOffset = trafficRef->getGroundOffset();
|
||||
setCallSign(trafficRef->getCallSign());
|
||||
setCallSign(trafficRef->getCallSign());
|
||||
}
|
||||
else
|
||||
groundOffset = 0;
|
||||
|
|
|
@ -40,7 +40,7 @@ const double FGAIBallistic::slugs_to_kgs = 14.5939029372;
|
|||
const double FGAIBallistic::slugs_to_lbs = 32.1740485564;
|
||||
|
||||
FGAIBallistic::FGAIBallistic(object_type ot) :
|
||||
FGAIBase(ot),
|
||||
FGAIBase(ot, false),
|
||||
_height(0.0),
|
||||
_speed(0),
|
||||
_ht_agl_ft(0.0),
|
||||
|
|
|
@ -52,7 +52,7 @@ const double FGAIBase::lbs_to_slugs = 0.031080950172; //conversion factor
|
|||
|
||||
using namespace simgear;
|
||||
|
||||
FGAIBase::FGAIBase(object_type ot) :
|
||||
FGAIBase::FGAIBase(object_type ot, bool enableHot) :
|
||||
_max_speed(300),
|
||||
_name(""),
|
||||
_parent(""),
|
||||
|
@ -121,6 +121,10 @@ FGAIBase::FGAIBase(object_type ot) :
|
|||
p = 1e5;
|
||||
a = 340;
|
||||
Mach = 0;
|
||||
|
||||
// explicitly disable HOT for (most) AI models
|
||||
if (!enableHot)
|
||||
aip.getSceneGraph()->setNodeMask(~SG_NODEMASK_TERRAIN_BIT);
|
||||
}
|
||||
|
||||
FGAIBase::~FGAIBase() {
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
otEscort, otMultiplayer,
|
||||
MAX_OBJECTS }; // Needs to be last!!!
|
||||
|
||||
FGAIBase(object_type ot);
|
||||
FGAIBase(object_type ot, bool enableHot);
|
||||
virtual ~FGAIBase();
|
||||
|
||||
virtual void readFromScenario(SGPropertyNode* scFileNode);
|
||||
|
|
|
@ -29,18 +29,18 @@
|
|||
|
||||
#include "AIMultiplayer.hxx"
|
||||
|
||||
#include <simgear/scene/util/SGNodeMasks.hxx>
|
||||
|
||||
// #define SG_DEBUG SG_ALERT
|
||||
|
||||
FGAIMultiplayer::FGAIMultiplayer() : FGAIBase(otMultiplayer) {
|
||||
FGAIMultiplayer::FGAIMultiplayer() :
|
||||
FGAIBase(otMultiplayer, false)
|
||||
{
|
||||
no_roll = false;
|
||||
|
||||
mTimeOffsetSet = false;
|
||||
mAllowExtrapolation = true;
|
||||
mLagAdjustSystemSpeed = 10;
|
||||
mLastTimestamp = 0;
|
||||
aip.getSceneGraph()->setNodeMask(~SG_NODEMASK_TERRAIN_BIT);
|
||||
lastUpdateTime = 0;
|
||||
|
||||
}
|
||||
|
|
|
@ -42,7 +42,8 @@
|
|||
|
||||
|
||||
FGAIShip::FGAIShip(object_type ot) :
|
||||
FGAIBase(ot),
|
||||
// allow HOT to be enabled
|
||||
FGAIBase(ot, true),
|
||||
|
||||
|
||||
_waiting(false),
|
||||
|
|
|
@ -33,7 +33,7 @@ using std::string;
|
|||
#include "AIStatic.hxx"
|
||||
|
||||
|
||||
FGAIStatic::FGAIStatic() : FGAIBase(otStatic) {
|
||||
FGAIStatic::FGAIStatic() : FGAIBase(otStatic, false) {
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -35,7 +35,9 @@ using std::string;
|
|||
#include "AIStorm.hxx"
|
||||
|
||||
|
||||
FGAIStorm::FGAIStorm() : FGAIBase(otStorm) {
|
||||
FGAIStorm::FGAIStorm() :
|
||||
FGAIBase(otStorm, false)
|
||||
{
|
||||
delay = 3.6;
|
||||
subflashes = 1;
|
||||
timer = 0.0;
|
||||
|
|
|
@ -35,7 +35,9 @@ using std::string;
|
|||
#include "AIThermal.hxx"
|
||||
|
||||
|
||||
FGAIThermal::FGAIThermal() : FGAIBase(otThermal) {
|
||||
FGAIThermal::FGAIThermal() :
|
||||
FGAIBase(otThermal, false)
|
||||
{
|
||||
max_strength = 6.0;
|
||||
diameter = 0.5;
|
||||
strength = factor = 0.0;
|
||||
|
|
|
@ -442,7 +442,7 @@ void FGAirport::processThreshold(SGPropertyNode* aThreshold)
|
|||
// first, let's identify the current runway
|
||||
string id(aThreshold->getStringValue("rwy"));
|
||||
if (!hasRunwayWithIdent(id)) {
|
||||
SG_LOG(SG_GENERAL, SG_WARN, "FGAirport::processThreshold: "
|
||||
SG_LOG(SG_GENERAL, SG_DEBUG, "FGAirport::processThreshold: "
|
||||
"found runway not defined in the global data:" << ident() << "/" << id);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1205,7 +1205,7 @@ FGMultiplayMgr::ProcessPosMsg(const FGMultiplayMgr::MsgBuf& Msg,
|
|||
else
|
||||
{
|
||||
// We failed to find the property. We'll try the next packet immediately.
|
||||
SG_LOG(SG_NETWORK, SG_INFO, "FGMultiplayMgr::ProcessPosMsg - "
|
||||
SG_LOG(SG_NETWORK, SG_DEBUG, "FGMultiplayMgr::ProcessPosMsg - "
|
||||
"message from " << MsgHdr->Callsign << " has unknown property id "
|
||||
<< id);
|
||||
}
|
||||
|
|
|
@ -197,13 +197,13 @@ void Airway::Network::addEdge(Airway* aWay, const SGGeod& aStartPos,
|
|||
FGPositionedRef end = FGPositioned::findClosestWithIdent(aEndIdent, aEndPos);
|
||||
|
||||
if (!start) {
|
||||
SG_LOG(SG_GENERAL, SG_INFO, "unknown airways start pt: '" << aStartIdent << "'");
|
||||
SG_LOG(SG_GENERAL, SG_DEBUG, "unknown airways start pt: '" << aStartIdent << "'");
|
||||
start = FGPositioned::createUserWaypoint(aStartIdent, aStartPos);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!end) {
|
||||
SG_LOG(SG_GENERAL, SG_INFO, "unknown airways end pt: '" << aEndIdent << "'");
|
||||
SG_LOG(SG_GENERAL, SG_DEBUG, "unknown airways end pt: '" << aEndIdent << "'");
|
||||
end = FGPositioned::createUserWaypoint(aEndIdent, aEndPos);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -297,12 +297,12 @@ FGRunway* getRunwayFromName(const std::string& aName)
|
|||
|
||||
const FGAirport* apt = fgFindAirportID(parts[0]);
|
||||
if (!apt) {
|
||||
SG_LOG(SG_GENERAL, SG_WARN, "navaid " << aName << " associated with bogus airport ID:" << parts[0]);
|
||||
SG_LOG(SG_GENERAL, SG_DEBUG, "navaid " << aName << " associated with bogus airport ID:" << parts[0]);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!apt->hasRunwayWithIdent(parts[1])) {
|
||||
SG_LOG(SG_GENERAL, SG_WARN, "navaid " << aName << " associated with bogus runway ID:" << parts[1]);
|
||||
SG_LOG(SG_GENERAL, SG_DEBUG, "navaid " << aName << " associated with bogus runway ID:" << parts[1]);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ FGNavRecord::FGNavRecord(Type aTy, const std::string& aIdent,
|
|||
// assign our own defaults, unless the range is not set for some
|
||||
// reason.
|
||||
if (range < 0.1) {
|
||||
SG_LOG(SG_GENERAL, SG_WARN, "navaid " << ident() << " has no range set, using defaults");
|
||||
SG_LOG(SG_GENERAL, SG_DEBUG, "navaid " << ident() << " has no range set, using defaults");
|
||||
switch (type()) {
|
||||
case NDB:
|
||||
case VOR:
|
||||
|
|
|
@ -269,13 +269,13 @@ bool FGScheduledFlight::initializeAirports()
|
|||
departurePort = FGAirport::findByIdent(depId);
|
||||
if(departurePort == NULL)
|
||||
{
|
||||
SG_LOG( SG_GENERAL, SG_WARN, "Traffic manager could not find departure airport : " << depId);
|
||||
SG_LOG( SG_GENERAL, SG_DEBUG, "Traffic manager could not find departure airport : " << depId);
|
||||
return false;
|
||||
}
|
||||
arrivalPort = FGAirport::findByIdent(arrId);
|
||||
if(arrivalPort == NULL)
|
||||
{
|
||||
SG_LOG( SG_GENERAL, SG_WARN, "Traffic manager could not find arrival airport : " << arrId);
|
||||
SG_LOG( SG_GENERAL, SG_DEBUG, "Traffic manager could not find arrival airport : " << arrId);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue