mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-16 02:06:08 +08:00
Issue #94 Add server capability flag for VISUPDATE
This commit is contained in:
@@ -290,7 +290,7 @@ namespace BlackCore::Context
|
||||
}
|
||||
|
||||
m_fsdClient->setClientIdAndKey(static_cast<quint16>(clientId), clientKey.toLocal8Bit());
|
||||
m_fsdClient->setClientCapabilities(Capabilities::AircraftInfo | Capabilities::FastPos | Capabilities::AtcInfo | Capabilities::AircraftConfig);
|
||||
m_fsdClient->setClientCapabilities(Capabilities::AircraftInfo | Capabilities::FastPos | Capabilities::VisPos | Capabilities::AtcInfo | Capabilities::AircraftConfig);
|
||||
m_fsdClient->setServer(server);
|
||||
|
||||
m_fsdClient->setPilotRating(PilotRating::Student);
|
||||
|
||||
@@ -166,11 +166,14 @@ namespace BlackCore::Fsd
|
||||
/*! Can send/receive fast position updates (pilot only). */
|
||||
FastPos = (1 << 6),
|
||||
|
||||
/*! Can send/receive visual position updates (pilot only). */
|
||||
VisPos = (1 << 7),
|
||||
|
||||
/*! Stealth mode */
|
||||
Stealth = (1 << 7),
|
||||
Stealth = (1 << 8),
|
||||
|
||||
/*! Aircraft Config */
|
||||
AircraftConfig = (1 << 8)
|
||||
AircraftConfig = (1 << 9)
|
||||
};
|
||||
|
||||
//! Operators
|
||||
|
||||
@@ -854,6 +854,7 @@ namespace BlackCore::Fsd
|
||||
if (m_capabilities & Capabilities::OngoingCoord) responseData.push_back(toQString(Capabilities::OngoingCoord) % "=1");
|
||||
if (m_capabilities & Capabilities::InterminPos) responseData.push_back(toQString(Capabilities::InterminPos) % "=1");
|
||||
if (m_capabilities & Capabilities::FastPos) responseData.push_back(toQString(Capabilities::FastPos) % "=1");
|
||||
if (m_capabilities & Capabilities::VisPos) responseData.push_back(toQString(Capabilities::VisPos) % "=1");
|
||||
if (m_capabilities & Capabilities::Stealth) responseData.push_back(toQString(Capabilities::Stealth) % "=1");
|
||||
if (m_capabilities & Capabilities::AircraftConfig) responseData.push_back(toQString(Capabilities::AircraftConfig) % "=1");
|
||||
const ClientResponse clientResponse(ownCallsign, receiver, ClientQueryType::Capabilities, responseData);
|
||||
@@ -1390,6 +1391,7 @@ namespace BlackCore::Fsd
|
||||
CClient::Capabilities caps = CClient::None;
|
||||
if (capabilities & Capabilities::AtcInfo) { caps |= CClient::FsdAtisCanBeReceived; }
|
||||
if (capabilities & Capabilities::FastPos) { caps |= CClient::FsdWithInterimPositions; }
|
||||
if (capabilities & Capabilities::VisPos) { caps |= CClient::FsdWithVisualPositions; }
|
||||
if (capabilities & Capabilities::AircraftInfo) { caps |= CClient::FsdWithIcaoCodes; }
|
||||
if (capabilities & Capabilities::AircraftConfig) { caps |= CClient::FsdWithAircraftConfig; }
|
||||
|
||||
@@ -1782,6 +1784,12 @@ namespace BlackCore::Fsd
|
||||
return (d & CFsdSetup::ReceiveInterimPositions);
|
||||
}
|
||||
|
||||
bool CFSDClient::isVisualPositionSendingEnabledForServer() const
|
||||
{
|
||||
const CFsdSetup::SendReceiveDetails d = this->getSetupForServer().getSendReceiveDetails();
|
||||
return (d & CFsdSetup::SendVisualPositions);
|
||||
}
|
||||
|
||||
const CFsdSetup &CFSDClient::getSetupForServer() const
|
||||
{
|
||||
return m_server.getFsdSetup();
|
||||
|
||||
@@ -416,6 +416,7 @@ namespace BlackCore::Fsd
|
||||
|
||||
bool isInterimPositionSendingEnabledForServer() const;
|
||||
bool isInterimPositionReceivingEnabledForServer() const;
|
||||
bool isVisualPositionSendingEnabledForServer() const;
|
||||
const BlackMisc::Network::CFsdSetup &getSetupForServer() const;
|
||||
|
||||
//! Handles ATIS replies from non-VATSIM servers. If the conditions are not met,
|
||||
|
||||
@@ -407,6 +407,7 @@ namespace BlackCore::Fsd
|
||||
case Capabilities::AircraftInfo: return "MODELDESC";
|
||||
case Capabilities::OngoingCoord: return "ONGOINGCOORD";
|
||||
case Capabilities::InterminPos: return "INTERIMPOS";
|
||||
case Capabilities::VisPos: return "VISUPDATE";
|
||||
case Capabilities::FastPos: return "FASTPOS";
|
||||
case Capabilities::Stealth: return "STEALTH";
|
||||
case Capabilities::AircraftConfig: return "ACCONFIG";
|
||||
@@ -424,6 +425,7 @@ namespace BlackCore::Fsd
|
||||
else if (str == "ONGOINGCOORD") return Capabilities::OngoingCoord;
|
||||
else if (str == "INTERIMPOS") return Capabilities::InterminPos;
|
||||
else if (str == "FASTPOS") return Capabilities::FastPos;
|
||||
else if (str == "VISUPDATE") return Capabilities::VisPos;
|
||||
else if (str == "STEALTH") return Capabilities::Stealth;
|
||||
else if (str == "ACCONFIG") return Capabilities::AircraftConfig;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user