6 Commits

2 changed files with 41 additions and 13 deletions

View File

@ -1,15 +1,33 @@
# TinyEurocat # TinyEurocat
An simple EuroScope plug-in to simulate THALES Eurocat TAG items An 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 not assigned instead of 0 or crz altitude - show nohing when cleared altitude is not assigned instead of 0 or crz altitude
## Changlog ## Changlog
### 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

View File

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