Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
216d1bf
Add files via upload
DivineWind04 Oct 30, 2022
210c574
Update AuroraLabelItemsPlugin.cs
DivineWind04 Nov 2, 2022
2110c52
Update AuroraLabelItemsPlugin.cs
DivineWind04 Nov 2, 2022
678744e
For Rowan
DivineWind04 Nov 4, 2022
dcfd993
Fix MNT flags
salikhov Nov 5, 2022
c93414b
Fix error when activating FDR
salikhov Nov 5, 2022
21883a8
Fix CFL label
salikhov Nov 5, 2022
ac6235a
Track Rendering Error
DivineWind04 Nov 11, 2022
7328d47
Labels to dictionary
DivineWind04 Nov 11, 2022
a6eb8e9
Stop sending null (default) custom color
salikhov Nov 12, 2022
fda6f46
Format code
salikhov Nov 12, 2022
ea72371
Update AuroraLabelItemsPlugin.cs
DivineWind04 Dec 18, 2022
1287786
downlink
DivineWind04 Dec 19, 2022
560a41a
remove event
DivineWind04 Dec 20, 2022
3b9f5ea
Mach #
DivineWind04 May 18, 2023
da5ec39
Added strips
DivineWind04 Jul 13, 2023
3558919
implement feature
CaptainTux Jul 14, 2023
bbd0dbb
Merge pull request #1 from DivineWind04/feature/add_autotrack_when_co…
CaptainTux Jul 14, 2023
c5b53a0
Add files via upload
DivineWind04 Jul 20, 2023
0a28469
FDR to MMI methods
DivineWind04 Jul 21, 2023
7ccabf9
first try at conflict probing
CaptainTux Jul 21, 2023
95078d1
add conflict probing (no guarantees(
CaptainTux Jul 27, 2023
1f6ca74
add conflict probing (no guarantees)
CaptainTux Jul 27, 2023
a6032f6
Merge remote-tracking branch 'origin/master' into master
CaptainTux Jul 27, 2023
be3d21c
Add files via upload
DivineWind04 Jul 28, 2023
1e4a407
Add files via upload
DivineWind04 Jul 28, 2023
c8cf60f
Introducing.... 1 sided conflict
DivineWind04 Aug 15, 2023
4388ee7
The SalikhovSloth
DivineWind04 Aug 27, 2023
05a0037
CPAR
DivineWind04 Sep 7, 2023
022abae
LongitudinalLogicSloth
DivineWind04 Sep 13, 2023
595cc64
More EastBound logic
DivineWind04 Sep 14, 2023
67606fb
Conflictual
DivineWind04 Dec 8, 2023
38e4ab6
outside of vertical
DivineWind04 Dec 14, 2023
bae28f7
ExcludeConflictColor and Cleared Route Strip
DivineWind04 Dec 18, 2023
7bdfa49
External TOC/CPAR
DivineWind04 Dec 18, 2023
0a3d298
Moved CPAR elements to prep for CPAR display
DivineWind04 Feb 1, 2024
815a5c0
Create public ConflictData variables
DivineWind04 Feb 2, 2024
dbab7b2
global conflict var
DivineWind04 Feb 2, 2024
9174120
Update global conflict
DivineWind04 Feb 6, 2024
c3ad2ef
Reformat code and cleanup
salikhov Feb 13, 2024
f11a5d2
Extract color/strip key constants
salikhov Feb 13, 2024
60860a3
Update constant naming convention
salikhov Feb 13, 2024
ac5c40b
Add extended fdr state
salikhov Feb 15, 2024
9ce7727
Clean up conflict probe code
salikhov Feb 18, 2024
4e8dcc1
Setup basic plugin dataflow
salikhov Feb 18, 2024
8c171ce
Reorganize structure
salikhov Feb 18, 2024
769edfe
Implement basic label rendering
salikhov Feb 18, 2024
641c279
Implement basic strip rendering
salikhov Feb 18, 2024
9039ff7
Setup basic auto-assume/drop
salikhov Feb 24, 2024
5e213b9
Remove plugin state when FDR purged
salikhov Feb 24, 2024
4a135f8
Finish label rendering logic
salikhov Feb 25, 2024
c201f1a
Finish strip rendering logic
salikhov Feb 25, 2024
8c05fea
Add next sector calculation
salikhov Feb 25, 2024
c483113
Delete old code
salikhov Feb 25, 2024
1104d18
Rename to AtopPlugin
salikhov Feb 25, 2024
9091a27
Fix initial null reference issues
salikhov Feb 25, 2024
0b12d81
Fix autoassume/autodrop
salikhov Feb 25, 2024
aa95331
Run conflict probe
salikhov Feb 25, 2024
2662ea0
Add conflict color rendering
salikhov Feb 25, 2024
d8a59b6
Only show conflict color for callsign
salikhov Feb 25, 2024
091bfcb
Fix cleared flight level display
salikhov Feb 26, 2024
b7511a3
Don't auto-assume when observing
salikhov Feb 26, 2024
13f1328
Add async processing for update
salikhov Feb 26, 2024
51b637d
Reset plugin state on disconnect
salikhov Feb 26, 2024
4a4ec65
Merge pull request #2 from DivineWind04/ms/cleanup
DivineWind04 Feb 26, 2024
97c860d
Fix direction color showing for non jurisdiction tracks
salikhov Feb 26, 2024
19e8283
Fix display of ADSB/no-CPDLC state
salikhov Feb 27, 2024
a88b70e
Show ADS/lateral flag activated
salikhov Feb 27, 2024
880b593
Show VMI in tangerine when non-RVSM
salikhov Feb 27, 2024
cd8ec18
Don't display PRL when it is 0/blank
salikhov Feb 27, 2024
a5a4027
Conflict probing improvements (#3)
salikhov Mar 4, 2024
5b83b45
CPDLC icon sized by labels xml
DivineWind04 Mar 4, 2024
cf8ac1f
Merge pull request #4 from DivineWind04/asterisk-size-color
DivineWind04 Mar 4, 2024
b9f3ee9
Datablock bugfixes (#5)
salikhov Mar 21, 2024
f63e3e9
Don't dispose settings window on close (#6)
salikhov Mar 21, 2024
3462a47
Add OR SCC for when aircraft disconnected (#7)
salikhov Mar 23, 2024
d697597
Improve jurisdiction logic & add activation functionality (#8)
salikhov Mar 23, 2024
ab84d7a
Run formatter
salikhov Mar 23, 2024
9b103a5
Add pop-up about activation on first launch (#9)
salikhov Mar 25, 2024
6782543
Add note about new repository
salikhov Mar 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -337,4 +337,7 @@ ASALocalRun/
.localhistory/

# BeatPulse healthcheck temp database
healthchecksdb
healthchecksdb

obj/
bin/
70 changes: 70 additions & 0 deletions AtopPlugin.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
using System.ComponentModel.Composition;
using AtopPlugin.Display;
using AtopPlugin.State;
using AtopPlugin.UI;
using vatsys;
using vatsys.Plugin;

namespace AtopPlugin;

[Export(typeof(IPlugin))]
public class AtopPlugin : ILabelPlugin, IStripPlugin
{
public string Name => "ATOP Plugin";

public AtopPlugin()
{
RegisterEventHandlers();
AtopMenu.Initialize();
TempActivationMessagePopup.PopUpActivationMessageIfFirstTime();
}

private static void RegisterEventHandlers()
{
Network.PrivateMessagesChanged += PrivateMessagesChangedHandler.Handle;
Network.Disconnected += DisconnectHandler.Handle;

// changes to cleared flight level do not register an FDR update
// we need to create custom handlers to be able to update the label/strip
FdrPropertyChangesListener.RegisterAllHandlers();
}

public void OnFDRUpdate(FDP2.FDR updated)
{
AtopPluginStateManager.ProcessFdrUpdate(updated);
AtopPluginStateManager.ProcessDisplayUpdate(updated);
AtopPluginStateManager.RunConflictProbe(updated);
FdrPropertyChangesListener.RegisterHandler(updated);

// don't manage jurisdiction if not connected as ATC
if (Network.Me.IsRealATC) JurisdictionManager.HandleFdrUpdate(updated);
}

public void OnRadarTrackUpdate(RDP.RadarTrack updated)
{
// don't manage jurisdiction if not connected as ATC
if (Network.Me.IsRealATC) JurisdictionManager.HandleRadarTrackUpdate(updated);
}

public CustomStripItem? GetCustomStripItem(string itemType, Track track, FDP2.FDR flightDataRecord,
RDP.RadarTrack radarTrack)
{
return StripItemRenderer.RenderStripItem(itemType, track, flightDataRecord, radarTrack);
}

public CustomLabelItem? GetCustomLabelItem(string itemType, Track track, FDP2.FDR flightDataRecord,
RDP.RadarTrack radarTrack)
{
return LabelItemRenderer.RenderLabelItem(itemType, track, flightDataRecord, radarTrack);
}

public CustomColour? SelectASDTrackColour(Track track)
{
return TrackColorRenderer.GetAsdColor(track);
}

public CustomColour? SelectGroundTrackColour(Track track)
{
return null;
}
}
111 changes: 111 additions & 0 deletions AtopPlugin.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"/>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{59170BAC-129C-4AB8-884D-F583E460AA63}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AtopPlugin</RootNamespace>
<AssemblyName>AtopPlugin</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<LangVersion>11</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="System"/>
<Reference Include="System.ComponentModel.Composition"/>
<Reference Include="System.Core"/>
<Reference Include="System.Drawing"/>
<Reference Include="System.Windows.Forms">
<HintPath>packages\Microsoft.NETFramework.ReferenceAssemblies.net48.1.0.3\build\.NETFramework\v4.8\System.Windows.Forms.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq"/>
<Reference Include="System.Data.DataSetExtensions"/>
<Reference Include="Microsoft.CSharp"/>
<Reference Include="System.Data"/>
<Reference Include="System.Net.Http"/>
<Reference Include="System.Xml"/>
<Reference Include="vatSys">
<HintPath>E:\vatsys\bin\vatSys.exe</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AtopPlugin.cs"/>
<Compile Include="Conflict\ConflictAreaCalculator.cs"/>
<Compile Include="Conflict\ConflictProbe.cs"/>
<Compile Include="Conflict\MinimaCalculator.cs"/>
<Compile Include="Constants.cs"/>
<Compile Include="Display\LabelItemRenderer.cs"/>
<Compile Include="Display\StripItemRenderer.cs"/>
<Compile Include="Display\TrackColorRenderer.cs"/>
<Compile Include="Extensions.cs"/>
<Compile Include="Logic\AltitudeCalculator.cs"/>
<Compile Include="Logic\FlightDataCalculator.cs"/>
<Compile Include="Logic\NextSectorCalculator.cs"/>
<Compile Include="Logic\SccFlagCalculator.cs"/>
<Compile Include="Models\AltitudeBlock.cs"/>
<Compile Include="Models\AltitudeFlag.cs"/>
<Compile Include="Models\ConflictStatus.cs"/>
<Compile Include="Models\ConflictType.cs"/>
<Compile Include="Models\DirectionOfFlight.cs"/>
<Compile Include="Models\CalculatedFlightData.cs"/>
<Compile Include="Models\SccFlag.cs"/>
<Compile Include="Properties\AssemblyInfo.cs"/>
<Compile Include="State\AtopAircraftDisplayState.cs"/>
<Compile Include="State\AtopPluginStateManager.cs"/>
<Compile Include="State\AtopAircraftState.cs"/>
<Compile Include="State\DisconnectHandler.cs"/>
<Compile Include="State\FdrPropertyChangesListener.cs"/>
<Compile Include="State\JurisdictionManager.cs"/>
<Compile Include="State\PrivateMessagesChangedHandler.cs"/>
<Compile Include="State\RadarFlagToggleHandler.cs"/>
<Compile Include="UI\AtopMenu.cs"/>
<Compile Include="UI\SettingsWindow.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\SettingsWindow.Designer.cs">
<DependentUpon>SettingsWindow.cs</DependentUpon>
</Compile>
<Compile Include="UI\TempActivationMessagePopup.cs"/>
</ItemGroup>
<ItemGroup>
<None Include="packages.config"/>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="UI\SettingsWindow.resx">
<DependentUpon>SettingsWindow.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/>
<Import Project="packages\Microsoft.NETFramework.ReferenceAssemblies.net48.1.0.3\build\Microsoft.NETFramework.ReferenceAssemblies.net48.targets" Condition="Exists('packages\Microsoft.NETFramework.ReferenceAssemblies.net48.1.0.3\build\Microsoft.NETFramework.ReferenceAssemblies.net48.targets')"/>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('packages\Microsoft.NETFramework.ReferenceAssemblies.net48.1.0.3\build\Microsoft.NETFramework.ReferenceAssemblies.net48.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.NETFramework.ReferenceAssemblies.net48.1.0.3\build\Microsoft.NETFramework.ReferenceAssemblies.net48.targets'))"/>
</Target>
</Project>
2 changes: 1 addition & 1 deletion AuroraLabelItemsPlugin.sln → AtopPlugin.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30711.63
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuroraLabelItemsPlugin", "AuroraLabelItemsPlugin.csproj", "{59170BAC-129C-4AB8-884D-F583E460AA63}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtopPlugin", "AtopPlugin.csproj", "{59170BAC-129C-4AB8-884D-F583E460AA63}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
114 changes: 0 additions & 114 deletions AuroraLabelItemsPlugin.cs

This file was deleted.

55 changes: 0 additions & 55 deletions AuroraLabelItemsPlugin.csproj

This file was deleted.

Loading