ignore the sweatbox and playbacks to use only real VATSIM data
This commit is contained in:
@@ -56,7 +56,9 @@ PlugIn::PlugIn() :
|
|||||||
m_inboundsQueueLock(),
|
m_inboundsQueueLock(),
|
||||||
m_inbounds(),
|
m_inbounds(),
|
||||||
m_forcedToBackendCallsigns(),
|
m_forcedToBackendCallsigns(),
|
||||||
m_compatible(false) {
|
m_compatible(false),
|
||||||
|
m_sweatboxValid(false),
|
||||||
|
m_playbackValid(false) {
|
||||||
GOOGLE_PROTOBUF_VERIFY_VERSION;
|
GOOGLE_PROTOBUF_VERIFY_VERSION;
|
||||||
|
|
||||||
this->RegisterTagItemType("Delta time", static_cast<int>(PlugIn::TagItemElement::DeltaTime));
|
this->RegisterTagItemType("Delta time", static_cast<int>(PlugIn::TagItemElement::DeltaTime));
|
||||||
@@ -376,6 +378,7 @@ void PlugIn::generateAircraftReportMessage(EuroScopePlugIn::CRadarTarget& radarT
|
|||||||
|
|
||||||
bool PlugIn::OnCompileCommand(const char* cmdline) {
|
bool PlugIn::OnCompileCommand(const char* cmdline) {
|
||||||
std::string message(cmdline);
|
std::string message(cmdline);
|
||||||
|
bool retval = false;
|
||||||
|
|
||||||
#pragma warning(disable: 4244)
|
#pragma warning(disable: 4244)
|
||||||
std::transform(message.begin(), message.end(), message.begin(), ::toupper);
|
std::transform(message.begin(), message.end(), message.begin(), ::toupper);
|
||||||
@@ -383,11 +386,37 @@ bool PlugIn::OnCompileCommand(const char* cmdline) {
|
|||||||
|
|
||||||
/* no AMAN command */
|
/* no AMAN command */
|
||||||
if (0 != message.find(".AMAN"))
|
if (0 != message.find(".AMAN"))
|
||||||
return false;
|
return retval;
|
||||||
|
|
||||||
if (std::string::npos != message.find("RELOAD")) {
|
if (std::string::npos != message.find("RELOAD")) {
|
||||||
this->validateBackendData();
|
this->validateBackendData();
|
||||||
return true;
|
this->m_sweatboxValid = false;
|
||||||
|
this->m_playbackValid = false;
|
||||||
|
retval = true;
|
||||||
|
}
|
||||||
|
else if (std::string::npos != message.find("SWEATBOX")) {
|
||||||
|
this->m_sweatboxValid = !this->m_sweatboxValid;
|
||||||
|
if (true == this->m_sweatboxValid)
|
||||||
|
this->m_playbackValid = false;
|
||||||
|
retval = true;
|
||||||
|
}
|
||||||
|
else if (std::string::npos != message.find("PLAYBACK")) {
|
||||||
|
this->m_playbackValid = !this->m_playbackValid;
|
||||||
|
if (true == this->m_playbackValid)
|
||||||
|
this->m_sweatboxValid = false;
|
||||||
|
retval = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (true == retval) {
|
||||||
|
if (true == this->m_sweatboxValid)
|
||||||
|
this->DisplayUserMessage(PLUGIN_NAME, "INFO", "Sweatbox data is used in AMAN", true, true, false, false, false);
|
||||||
|
else
|
||||||
|
this->DisplayUserMessage(PLUGIN_NAME, "INFO", "Sweatbox is ignored in AMAN", true, true, false, false, false);
|
||||||
|
|
||||||
|
if (true == this->m_playbackValid)
|
||||||
|
this->DisplayUserMessage(PLUGIN_NAME, "INFO", "Playback data is used in AMAN", true, true, false, false, false);
|
||||||
|
else
|
||||||
|
this->DisplayUserMessage(PLUGIN_NAME, "INFO", "Playback is ignored in AMAN", true, true, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -524,6 +553,13 @@ void PlugIn::OnRadarTargetPositionUpdate(EuroScopePlugIn::CRadarTarget radarTarg
|
|||||||
if (false == this->m_compatible || false == Backend::instance().initialized() || false == radarTarget.IsValid())
|
if (false == this->m_compatible || false == Backend::instance().initialized() || false == radarTarget.IsValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* validate the correct connection */
|
||||||
|
bool validConnection = EuroScopePlugIn::CONNECTION_TYPE_DIRECT == this->GetConnectionType();
|
||||||
|
validConnection |= true == this->m_sweatboxValid && EuroScopePlugIn::CONNECTION_TYPE_SIMULATOR_CLIENT == this->GetConnectionType();
|
||||||
|
validConnection |= true == this->m_playbackValid && EuroScopePlugIn::CONNECTION_TYPE_PLAYBACK == this->GetConnectionType();
|
||||||
|
if (false == validConnection)
|
||||||
|
return;
|
||||||
|
|
||||||
this->addUpdateQueue(radarTarget);
|
this->addUpdateQueue(radarTarget);
|
||||||
this->updateInbound(radarTarget);
|
this->updateInbound(radarTarget);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ namespace aman {
|
|||||||
std::map<std::string, Inbound> m_inbounds;
|
std::map<std::string, Inbound> m_inbounds;
|
||||||
std::list<std::string> m_forcedToBackendCallsigns;
|
std::list<std::string> m_forcedToBackendCallsigns;
|
||||||
bool m_compatible;
|
bool m_compatible;
|
||||||
|
bool m_sweatboxValid;
|
||||||
|
bool m_playbackValid;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user