mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-18 03:15:34 +08:00
[FSD]FSD improvements and fixes
* Ignore new unused messages * Correctly increase statistic
This commit is contained in:
committed by
Mat Sutcliffe
parent
857d5eb005
commit
8633502cdb
@@ -655,13 +655,17 @@ namespace BlackCore
|
|||||||
|
|
||||||
void CFSDClient::sendClientResponse(ClientQueryType queryType, const QString &receiver)
|
void CFSDClient::sendClientResponse(ClientQueryType queryType, const QString &receiver)
|
||||||
{
|
{
|
||||||
QStringList responseData;
|
if (queryType == ClientQueryType::Unknown) { return; }
|
||||||
if (queryType == ClientQueryType::IsValidATC)
|
if (queryType == ClientQueryType::IsValidATC)
|
||||||
{
|
{
|
||||||
this->handleIllegalFsdState("Never use sendClientResponse with IsValidATC from the client");
|
this->handleIllegalFsdState("Never use sendClientResponse with IsValidATC from the client");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (queryType == ClientQueryType::Capabilities)
|
|
||||||
|
this->increaseStatisticsValue(QStringLiteral("sendClientResponse"), toQString(queryType));
|
||||||
|
|
||||||
|
QStringList responseData;
|
||||||
|
if (queryType == ClientQueryType::Capabilities)
|
||||||
{
|
{
|
||||||
responseData.clear();
|
responseData.clear();
|
||||||
if (m_capabilities & Capabilities::AtcInfo) responseData.push_back(toQString(Capabilities::AtcInfo) % "=1");
|
if (m_capabilities & Capabilities::AtcInfo) responseData.push_back(toQString(Capabilities::AtcInfo) % "=1");
|
||||||
@@ -738,7 +742,6 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
this->handleIllegalFsdState(QStringLiteral("Dont send '%1' as pilot client!").arg(toQString(ClientQueryType::AircraftConfig)));
|
this->handleIllegalFsdState(QStringLiteral("Dont send '%1' as pilot client!").arg(toQString(ClientQueryType::AircraftConfig)));
|
||||||
}
|
}
|
||||||
this->increaseStatisticsValue(QStringLiteral("sendClientResponse"), toQString(queryType));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFSDClient::sendClientIdentification(const QString &fsdChallenge)
|
void CFSDClient::sendClientIdentification(const QString &fsdChallenge)
|
||||||
@@ -786,12 +789,14 @@ namespace BlackCore
|
|||||||
m_messageTypeMapping["#DA"] = MessageType::DeleteATC;
|
m_messageTypeMapping["#DA"] = MessageType::DeleteATC;
|
||||||
m_messageTypeMapping["#DP"] = MessageType::DeletePilot;
|
m_messageTypeMapping["#DP"] = MessageType::DeletePilot;
|
||||||
m_messageTypeMapping["$FP"] = MessageType::FlightPlan;
|
m_messageTypeMapping["$FP"] = MessageType::FlightPlan;
|
||||||
|
m_messageTypeMapping["#PC"] = MessageType::FlightPlanAcknowledge;
|
||||||
m_messageTypeMapping["$DI"] = MessageType::FsdIdentification;
|
m_messageTypeMapping["$DI"] = MessageType::FsdIdentification;
|
||||||
m_messageTypeMapping["$!!"] = MessageType::KillRequest;
|
m_messageTypeMapping["$!!"] = MessageType::KillRequest;
|
||||||
m_messageTypeMapping["@"] = MessageType::PilotDataUpdate;
|
m_messageTypeMapping["@"] = MessageType::PilotDataUpdate;
|
||||||
m_messageTypeMapping["$PI"] = MessageType::Ping;
|
m_messageTypeMapping["$PI"] = MessageType::Ping;
|
||||||
m_messageTypeMapping["$PO"] = MessageType::Pong;
|
m_messageTypeMapping["$PO"] = MessageType::Pong;
|
||||||
m_messageTypeMapping["$ER"] = MessageType::ServerError;
|
m_messageTypeMapping["$ER"] = MessageType::ServerError;
|
||||||
|
m_messageTypeMapping["#DL"] = MessageType::ServerHeartbeat;
|
||||||
m_messageTypeMapping["#TM"] = MessageType::TextMessage;
|
m_messageTypeMapping["#TM"] = MessageType::TextMessage;
|
||||||
m_messageTypeMapping["#SB"] = MessageType::PilotClientCom;
|
m_messageTypeMapping["#SB"] = MessageType::PilotClientCom;
|
||||||
}
|
}
|
||||||
@@ -1767,6 +1772,8 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
case MessageType::AddAtc: /* ignore */ break;
|
case MessageType::AddAtc: /* ignore */ break;
|
||||||
case MessageType::AddPilot: /* ignore */ break;
|
case MessageType::AddPilot: /* ignore */ break;
|
||||||
|
case MessageType::ServerHeartbeat: /* ignore */ break;
|
||||||
|
case MessageType::FlightPlanAcknowledge: /* ignore */ break;
|
||||||
case MessageType::AtcDataUpdate: handleAtcDataUpdate(tokens); break;
|
case MessageType::AtcDataUpdate: handleAtcDataUpdate(tokens); break;
|
||||||
case MessageType::AuthChallenge: handleAuthChallenge(tokens); break;
|
case MessageType::AuthChallenge: handleAuthChallenge(tokens); break;
|
||||||
case MessageType::AuthResponse: handleAuthResponse(tokens); break;
|
case MessageType::AuthResponse: handleAuthResponse(tokens); break;
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
//! Message type
|
//! Message type
|
||||||
|
//! \remark FSD Server docu https://studentweb.uvic.ca/~norrisng/fsd-doc/
|
||||||
enum class MessageType
|
enum class MessageType
|
||||||
{
|
{
|
||||||
Unknown,
|
Unknown,
|
||||||
@@ -31,12 +32,14 @@ enum class MessageType
|
|||||||
DeleteATC,
|
DeleteATC,
|
||||||
DeletePilot,
|
DeletePilot,
|
||||||
FlightPlan,
|
FlightPlan,
|
||||||
|
FlightPlanAcknowledge,
|
||||||
FsdIdentification,
|
FsdIdentification,
|
||||||
KillRequest,
|
KillRequest,
|
||||||
PilotDataUpdate,
|
PilotDataUpdate,
|
||||||
Ping,
|
Ping,
|
||||||
Pong,
|
Pong,
|
||||||
ServerError,
|
ServerError,
|
||||||
|
ServerHeartbeat,
|
||||||
TextMessage,
|
TextMessage,
|
||||||
PilotClientCom,
|
PilotClientCom,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user