From 9f7399e953e8eec024896c3211073b71c5351927 Mon Sep 17 00:00:00 2001 From: Arthur <89831445+arthuwu@users.noreply.github.com> Date: Sat, 20 Jul 2024 18:29:25 +0100 Subject: [PATCH 1/4] Fix bug where an undefined arrival airport will cause plugin to crash --- AT3/AT3Tags.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AT3/AT3Tags.cpp b/AT3/AT3Tags.cpp index fedc1d46..c24ddb37 100644 --- a/AT3/AT3Tags.cpp +++ b/AT3/AT3Tags.cpp @@ -703,7 +703,7 @@ string AT3Tags::GetRouteCodeLine4(CFlightPlan& FlightPlan, CRadarTarget& RadarTa lineStr = lineStr.substr(0, lineStr.find("_")); } } - else if (strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) { + else if (arptSet.find(FlightPlan.GetFlightPlanData().GetDestination()) != arptSet.end() && strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) { for (auto& rte : rteJson[FlightPlan.GetFlightPlanData().GetDestination()][runway.substr(0, 2)]["routes"].items()) { //matches exact route only for auto assigning route code if (fpRoute.find(rte.value()["route"]) != string::npos) { lineStr = rte.key(); From d4f41744c15e8af504117c2e38ac8fa875221705 Mon Sep 17 00:00:00 2001 From: Arthur <89831445+arthuwu@users.noreply.github.com> Date: Sat, 20 Jul 2024 19:06:44 +0100 Subject: [PATCH 2/4] Update AT3Tags.cpp --- AT3/AT3Tags.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AT3/AT3Tags.cpp b/AT3/AT3Tags.cpp index c24ddb37..c9693000 100644 --- a/AT3/AT3Tags.cpp +++ b/AT3/AT3Tags.cpp @@ -752,7 +752,7 @@ string AT3Tags::GetAPPDEPLine4(CFlightPlan& FlightPlan, CRadarTarget& RadarTarge lineStr = lineStr.substr(0, lineStr.find("_")); //always get route from spad/flight strip in case of version mismatch } } - else if (strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) { + else if (arptSet.find(FlightPlan.GetFlightPlanData().GetDestination()) != arptSet.end() && strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) { string app = GetAvailableApps(FlightPlan.GetFlightPlanData().GetDestination(), FlightPlan.GetFlightPlanData().GetArrivalRwy())[0]; //selects default app if no assignment, which is [0] if (app.find("_") != string::npos) { lineStr = app.substr(0, app.find("_")); @@ -762,7 +762,7 @@ string AT3Tags::GetAPPDEPLine4(CFlightPlan& FlightPlan, CRadarTarget& RadarTarge } if (lineStr.length() < 1) { - if (strlen(FlightPlan.GetFlightPlanData().GetSidName()) != 0) { + if (arptSet.find(FlightPlan.GetFlightPlanData().GetOrigin()) != arptSet.end && strlen(FlightPlan.GetFlightPlanData().GetSidName()) != 0) { lineStr = FlightPlan.GetFlightPlanData().GetSidName(); } else { @@ -787,7 +787,7 @@ string AT3Tags::GetAMCLine4(CFlightPlan& FlightPlan, CRadarTarget& RadarTarget) lineStr = lineStr.substr(0, lineStr.find("_")); } } - else if (strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) { + else if (arptSet.find(FlightPlan.GetFlightPlanData().GetDestination()) != arptSet.end() && strlen(FlightPlan.GetFlightPlanData().GetArrivalRwy()) != 0) { string app = GetAvailableApps(FlightPlan.GetFlightPlanData().GetDestination(), FlightPlan.GetFlightPlanData().GetArrivalRwy())[0]; //selects default app if no assignment, which is [0] if (app.find("_") != string::npos) { lineStr = app.substr(0, app.find("_")); From dfb6cb9170ef346ce8ab588660b9a20a237ac143 Mon Sep 17 00:00:00 2001 From: Arthur <89831445+arthuwu@users.noreply.github.com> Date: Sat, 20 Jul 2024 19:09:07 +0100 Subject: [PATCH 3/4] Update AT3Tags.cpp --- AT3/AT3Tags.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AT3/AT3Tags.cpp b/AT3/AT3Tags.cpp index c9693000..5f13d9d5 100644 --- a/AT3/AT3Tags.cpp +++ b/AT3/AT3Tags.cpp @@ -762,7 +762,7 @@ string AT3Tags::GetAPPDEPLine4(CFlightPlan& FlightPlan, CRadarTarget& RadarTarge } if (lineStr.length() < 1) { - if (arptSet.find(FlightPlan.GetFlightPlanData().GetOrigin()) != arptSet.end && strlen(FlightPlan.GetFlightPlanData().GetSidName()) != 0) { + if (arptSet.find(FlightPlan.GetFlightPlanData().GetOrigin()) != arptSet.end() && strlen(FlightPlan.GetFlightPlanData().GetSidName()) != 0) { lineStr = FlightPlan.GetFlightPlanData().GetSidName(); } else { From 38f90927516dd5d2dd803ac9b779e3d5374b99ef Mon Sep 17 00:00:00 2001 From: Arthur <89831445+arthuwu@users.noreply.github.com> Date: Sat, 20 Jul 2024 21:40:35 +0100 Subject: [PATCH 4/4] Add dest verification for arrival runway display --- AT3/AT3Tags.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/AT3/AT3Tags.cpp b/AT3/AT3Tags.cpp index 5f13d9d5..7f44fde5 100644 --- a/AT3/AT3Tags.cpp +++ b/AT3/AT3Tags.cpp @@ -908,9 +908,13 @@ string AT3Tags::GetVSIndicator(CFlightPlan& FlightPlan, CRadarTarget& RadarTarge string AT3Tags::GetFormattedArrivalRwy(CFlightPlan& FlightPlan, CRadarTarget& RadarTarget) { - string runway = FlightPlan.GetFlightPlanData().GetArrivalRwy(); - if (runway.length() < 3) { - runway.insert(runway.length(), 3 - runway.length(), ' '); + if (arptSet.find(FlightPlan.GetFlightPlanData().GetDestination()) != arptSet.end()) { + string runway = FlightPlan.GetFlightPlanData().GetArrivalRwy(); + if (runway.length() < 3) { + runway.insert(runway.length(), 3 - runway.length(), ' '); + } + return runway; + } else { + return " "; } - return runway; }