Skip to content

Add WTG tag item, VFR highlight and AIW inhibit#46

Open
arthuwu wants to merge 7 commits intovatsimhk:devfrom
arthuwu:at3-wtg-vfr
Open

Add WTG tag item, VFR highlight and AIW inhibit#46
arthuwu wants to merge 7 commits intovatsimhk:devfrom
arthuwu:at3-wtg-vfr

Conversation

@arthuwu
Copy link
Member

@arthuwu arthuwu commented Feb 6, 2026

Changelog

  • add WTG tag item ("AT3 WTG")
    • only displayed for aircraft not departing VHHH, VMMC or VHHX (but will be displayed for VMMC arrivals and overflights, don't ask why)
  • add blue callsign and ATYP/WTC highlight for VFR aircraft
  • fix ATYP length at 4 chars
  • inhibit radar target AIW within 8nm of origin/destination below 3000ft

(TopSky AIW will be disabled using exclusion areas in a future sector update)
image

WTGs are displayed using an alias to the ICAO WTG

ICAO WTG Display
A J
B H
C U
D M
E, F S
G L
image

@arthuwu arthuwu requested a review from EightSmart February 6, 2026 20:19
@arthuwu arthuwu changed the title Add WTG tag item, VFR highlighting and AIW inhibit Add WTG tag item, VFR highlight and AIW inhibit Feb 6, 2026
AT3/AT3Tags.cpp Outdated
colorAssumed = colorA;
colorNotAssumed = colorNA;
colorRedundant = colorR;
colorVFR = RGB(110, 205, 229);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please register colour constants in constant.hpp

rteFile.close();
rteFile.clear();

fstream acftFile(acftPath);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to handle error if acftPath is invalid

auto kvp = wtgMap.find(icao);
if (kvp != wtgMap.end())
{
return alias.find(kvp->second)->second;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this should theoretically never happen you should guard against alias.find() also returning nothing

wtgMap[acft["ICAO"]] = acft["WTG"];
}

acftJson = json(); // clear memory?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the purpose of making acftJson a class variable if you only use it here?

Copy link
Member

@EightSmart EightSmart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See inline comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants