Compare commits

..

No commits in common. "master" and "v1.0.1" have entirely different histories.

4 changed files with 39 additions and 71 deletions

@ -1,44 +1,15 @@
# TinyEurocat # TinyEurocat
An simple EuroScope plug-in to simulate THALES Eurocat TAG items
A simple EuroScope plug-in to simulate THALES Eurocat TAG items
<hr> <hr>
## Installation ## Installation
### 1. Load the plug-in ### 1. Load the plug-in
In order to install the plug-in, extract the DLL file to whererver you want, then load the plug-in from OTHER SETS -> Plug-ins -> Load In order to install the plug-in, extract the DLL file to whererver you want, then load the plug-in from OTHER SETS -> Plug-ins -> Load
### 2. Config the TAGs ### 2. Config the TAGs
Open OTHER SETS -> TAG Editor, and manually replace default altitude, cleared altitude and speed item with the one starts with TinyEurocat. Open OTHER SETS -> TAG Editor, and manually replace default altitude, cleared altitude and speed item with the one starts with TinyEurocat.
## Features ## Features
- Current altitude, Cleared altitude and current speed in metric - Current altitude, Cleared altitude and current speed in metric
- show nohing when cleared altitude is 0 - show nohing when cleared altitude is not assigned instead of 0 or crz altitude
## Changlog
## Change Log
### v1.0.1 ### v1.0.1
- Current altitude, Cleared altitude and current speed in metric - Current altitude, Cleared altitude and current speed in metric
- show nohing when cleared altitude is not assigned instead of 0 or crz altitude - show nohing when cleared altitude is not assigned instead of 0 or crz altitude
### v1.0.2
- fix current altitude accuracy
- fix cleared alt to adapt china rvsm
- check if cleared alt is valid to rvsm
- remove cleared alt when equals final alt
## v1.1.1
- change license and copyright holder
- remove force rvsm
- change ``GS`` source
- change ``CFL`` algorithm
## v1.2.1
- add both ``Reported GS`` and ``Calculated GS``

@ -6,14 +6,13 @@
TinyEurocat::TinyEurocat(void) : CPlugIn ( COMPATIBILITY_CODE, TinyEurocat::TinyEurocat(void) : CPlugIn ( COMPATIBILITY_CODE,
"TinyEurocat", "TinyEurocat",
"1.2.1", "1.0.1",
"Future Sim Studio", "Future Sim",
"Copr. 2022 Future Sim Studio" ) "GNU GPL v3.0 +" )
{ {
RegisterTagItemType("Metric / Current Altitude", ITEM_MET_AFL); RegisterTagItemType("Metric / Current Altitude", TAG_ITEM_MET_CURR_ALT);
RegisterTagItemType("Metric / Cleared Altitude", ITEM_MET_CFL); RegisterTagItemType("Metric / Cleared Altitude", TAG_ITEM_MET_ASS_ALT);
RegisterTagItemType("Metric / Current Speed (Reported)", ITEM_MET_GS_R); RegisterTagItemType("Metric / Current Speed", TAG_ITEM_MET_CURR_SPD);
RegisterTagItemType("Metric / Current Speed (Calculated)", ITEM_MET_GS_C);
} }
void TinyEurocat::OnGetTagItem( CFlightPlan FlightPlan, void TinyEurocat::OnGetTagItem( CFlightPlan FlightPlan,
@ -25,15 +24,21 @@ void TinyEurocat::OnGetTagItem( CFlightPlan FlightPlan,
COLORREF *pRGB, COLORREF *pRGB,
double *pFontSize ) double *pFontSize )
{ {
int maalt, mcalt, mcspd;
switch (ItemCode) switch (ItemCode)
{ {
int maalt, mcalt, mcspd;
char tmpstr[15]; char tmpstr[15];
case ITEM_MET_CFL: case TAG_ITEM_MET_ASS_ALT:
maalt = FlightPlan.GetClearedAltitude() * 0.3048 / 10; maalt = FlightPlan.GetClearedAltitude() * 0.3048;
if (maalt > 0) if(maalt != 0)
{ {
itoa(maalt, tmpstr, 10); maalt /= 100;
if(maalt % 3 == 1)
maalt -= 1;
else if(maalt % 3 == 2)
maalt += 1;
itoa(maalt * 10, tmpstr, 10);
sprintf(sItemString, "%04s", tmpstr); sprintf(sItemString, "%04s", tmpstr);
} }
else else
@ -41,20 +46,14 @@ void TinyEurocat::OnGetTagItem( CFlightPlan FlightPlan,
strcpy(sItemString, " "); strcpy(sItemString, " ");
} }
break; break;
case ITEM_MET_AFL: case TAG_ITEM_MET_CURR_ALT:
mcalt = RadarTarget.GetPosition().GetPressureAltitude() * 0.3048 / 10; mcalt = RadarTarget.GetPosition().GetPressureAltitude() * 0.3048;
itoa(mcalt, tmpstr, 10); mcalt /= 100;
itoa(mcalt * 10, tmpstr, 10);
sprintf(sItemString, "%04s", tmpstr); sprintf(sItemString, "%04s", tmpstr);
break; break;
case ITEM_MET_GS_R: case TAG_ITEM_MET_CURR_SPD:
mcspd = RadarTarget.GetPosition().GetReportedGS() * 1.852; mcspd = RadarTarget.GetGS() * 1.852 / 10;
mcspd /= 10;
itoa(mcspd, tmpstr, 10);
sprintf(sItemString, "%03s", tmpstr);
break;
case ITEM_MET_GS_C:
mcspd = RadarTarget.GetGS() * 1.852;
mcspd /= 10;
itoa(mcspd, tmpstr, 10); itoa(mcspd, tmpstr, 10);
sprintf(sItemString, "%03s", tmpstr); sprintf(sItemString, "%03s", tmpstr);
break; break;

@ -3,10 +3,9 @@
using namespace EuroScopePlugIn; using namespace EuroScopePlugIn;
const int ITEM_MET_AFL = 1; // AFL in metric const int TAG_ITEM_MET_CURR_ALT = 1;
const int ITEM_MET_CFL = 2; // CFL in metric const int TAG_ITEM_MET_ASS_ALT = 2;
const int ITEM_MET_GS_R = 3; // Reported GS in metric const int TAG_ITEM_MET_CURR_SPD = 3;
const int ITEM_MET_GS_C = 4; // Calculated GS in metric
class TinyEurocat : public CPlugIn class TinyEurocat : public CPlugIn
{ {

@ -14,7 +14,6 @@
<ProjectGuid>{E1145C92-0713-4553-85D3-1D20417C2989}</ProjectGuid> <ProjectGuid>{E1145C92-0713-4553-85D3-1D20417C2989}</ProjectGuid>
<RootNamespace>TinyEurocat</RootNamespace> <RootNamespace>TinyEurocat</RootNamespace>
<Keyword>MFCDLLProj</Keyword> <Keyword>MFCDLLProj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">