6 Commits

2 changed files with 41 additions and 13 deletions

View File

@ -1,15 +1,33 @@
# TinyEurocat
An simple EuroScope plug-in to simulate THALES Eurocat TAG items
<hr>
## Installation
### 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
### 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.
## Features
- Current altitude, Cleared altitude and current speed in metric
- show nohing when cleared altitude is not assigned instead of 0 or crz altitude
## Changlog
### v1.0.1
- 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

View File

@ -6,7 +6,7 @@
TinyEurocat::TinyEurocat(void) : CPlugIn ( COMPATIBILITY_CODE,
"TinyEurocat",
"1.0.1",
"1.0.2",
"Future Sim",
"GNU GPL v3.0 +" )
{
@ -27,17 +27,26 @@ void TinyEurocat::OnGetTagItem( CFlightPlan FlightPlan,
int maalt, mcalt, mcspd;
switch (ItemCode)
{
char tmpstr[15];
char tmpstr[15];
case TAG_ITEM_MET_ASS_ALT:
maalt = FlightPlan.GetClearedAltitude() * 0.3048;
if(maalt != 0)
maalt /= 100;
if (maalt > 0 && maalt != int(FlightPlan.GetFinalAltitude() * 0.3048) / 100 && maalt <= 149)
{
maalt /= 100;
if(maalt % 3 == 1)
maalt -= 1;
else if(maalt % 3 == 2)
maalt += 1;
if (maalt <= 84)
{
if (maalt % 3 == 1)
maalt -= 1;
else if (maalt % 3 == 2)
maalt += 1;
}
else if (maalt <= 125)
{
if ((maalt + 1) % 3 == 1)
maalt -= 1;
else if ((maalt + 1) % 3 == 2)
maalt += 1;
}
itoa(maalt * 10, tmpstr, 10);
sprintf(sItemString, "%04s", tmpstr);
}
@ -48,12 +57,13 @@ void TinyEurocat::OnGetTagItem( CFlightPlan FlightPlan,
break;
case TAG_ITEM_MET_CURR_ALT:
mcalt = RadarTarget.GetPosition().GetPressureAltitude() * 0.3048;
mcalt /= 100;
itoa(mcalt * 10, tmpstr, 10);
mcalt /= 10;
itoa(mcalt, tmpstr, 10);
sprintf(sItemString, "%04s", tmpstr);
break;
case TAG_ITEM_MET_CURR_SPD:
mcspd = RadarTarget.GetGS() * 1.852 / 10;
mcspd = RadarTarget.GetGS() * 1.852;
mcspd /= 10;
itoa(mcspd, tmpstr, 10);
sprintf(sItemString, "%03s", tmpstr);
break;