mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
New main menu: 'date' | New sub menu: 'magnetic heading'
This commit is contained in:
parent
03b478aeee
commit
9116fed415
@ -2,8 +2,7 @@
|
||||
#define ST_RIGHT 1
|
||||
#define ST_CENTER 2
|
||||
|
||||
class Kestrel4500_RscText
|
||||
{
|
||||
class Kestrel4500_RscText {
|
||||
idc=-1;
|
||||
type=0;
|
||||
style=ST_CENTER;
|
||||
@ -19,8 +18,7 @@ class Kestrel4500_RscText
|
||||
sizeEx=0.04;
|
||||
shadow=0;
|
||||
};
|
||||
class Kestrel4500_RscButton
|
||||
{
|
||||
class Kestrel4500_RscButton {
|
||||
text="";
|
||||
colorText[]={0,0,0,1};
|
||||
colorDisabled[]={0,0,0,0};
|
||||
@ -49,8 +47,7 @@ class Kestrel4500_RscButton
|
||||
borderSize=0;
|
||||
shadow=0;
|
||||
};
|
||||
class Kestrel4500_Display
|
||||
{
|
||||
class Kestrel4500_Display {
|
||||
name="Kestrel4500_Display";
|
||||
idd=-1;
|
||||
onLoad="uiNamespace setVariable ['Kestrel4500_Display', (_this select 0)]";
|
||||
@ -58,10 +55,8 @@ class Kestrel4500_Display
|
||||
movingEnable=1;
|
||||
controlsBackground[]={};
|
||||
objects[]={};
|
||||
class controls
|
||||
{
|
||||
class BACKGROUND
|
||||
{
|
||||
class controls {
|
||||
class BACKGROUND {
|
||||
moving=1;
|
||||
type=0;
|
||||
font="TahomaB";
|
||||
@ -76,18 +71,16 @@ class Kestrel4500_Display
|
||||
colorText[]={1,1,1,1};
|
||||
text=PATHTOF(UI\Kestrel4500.paa);
|
||||
};
|
||||
class POWER: Kestrel4500_RscButton
|
||||
{
|
||||
class POWER: Kestrel4500_RscButton {
|
||||
idc=-1;
|
||||
x=safezoneX+0.385;
|
||||
y=safezoneY+1.125;
|
||||
w=0.042;
|
||||
h=0.042*4/3;
|
||||
action="closeDialog 0";
|
||||
action=QUOTE(7 call FUNC(buttonPressed));
|
||||
onMouseButtonDown = "playSound 'kestrel4500_exit_button_click'";
|
||||
};
|
||||
class ENTER: POWER
|
||||
{
|
||||
class ENTER: POWER {
|
||||
idc=-1;
|
||||
x=safezoneX+0.46;
|
||||
y=safezoneY+1.0;
|
||||
@ -95,8 +88,7 @@ class Kestrel4500_Display
|
||||
action=QUOTE(0 call FUNC(buttonPressed));
|
||||
onMouseButtonDown = "playSound 'kestrel4500_center_button_click'";
|
||||
};
|
||||
class TOP: Kestrel4500_RscButton
|
||||
{
|
||||
class TOP: Kestrel4500_RscButton {
|
||||
idc=-1;
|
||||
x=safezoneX+0.46;
|
||||
y=safezoneY+0.93;
|
||||
@ -105,15 +97,13 @@ class Kestrel4500_Display
|
||||
action=QUOTE(1 call FUNC(buttonPressed));
|
||||
onMouseButtonDown = "playSound 'kestrel4500_top_button_click'";
|
||||
};
|
||||
class BOTTOM: TOP
|
||||
{
|
||||
class BOTTOM: TOP {
|
||||
idc=-1;
|
||||
y=safezoneY+1.1;
|
||||
action=QUOTE(2 call FUNC(buttonPressed));
|
||||
onMouseButtonDown = "playSound 'kestrel4500_bottom_button_click'";
|
||||
};
|
||||
class LEFT: Kestrel4500_RscButton
|
||||
{
|
||||
class LEFT: Kestrel4500_RscButton {
|
||||
idc=-1;
|
||||
x=safezoneX+0.4;
|
||||
y=safezoneY+0.97;
|
||||
@ -122,15 +112,13 @@ class Kestrel4500_Display
|
||||
action=QUOTE(3 call FUNC(buttonPressed));
|
||||
onMouseButtonDown = "playSound 'kestrel4500_left_button_click'";
|
||||
};
|
||||
class RIGHT: LEFT
|
||||
{
|
||||
class RIGHT: LEFT {
|
||||
idc=-1;
|
||||
x=safezoneX+0.58;
|
||||
action=QUOTE(4 call FUNC(buttonPressed));
|
||||
onMouseButtonDown = "playSound 'kestrel4500_right_button_click'";
|
||||
};
|
||||
class MEMORY: Kestrel4500_RscButton
|
||||
{
|
||||
class MEMORY: Kestrel4500_RscButton {
|
||||
idc=-1;
|
||||
x=safezoneX+0.395;
|
||||
y=safezoneY+0.87;
|
||||
@ -138,15 +126,13 @@ class Kestrel4500_Display
|
||||
h=0.045*4/3;
|
||||
action=QUOTE(5 call FUNC(buttonPressed));
|
||||
};
|
||||
class BACKLIGHT: MEMORY
|
||||
{
|
||||
class BACKLIGHT: MEMORY {
|
||||
idc=-1;
|
||||
x=safezoneX+0.585;
|
||||
action=QUOTE(6 call FUNC(buttonPressed));
|
||||
};
|
||||
|
||||
class TEXT_TOP: Kestrel4500_RscText
|
||||
{
|
||||
class TEXT_TOP: Kestrel4500_RscText {
|
||||
idc=74100;
|
||||
x=safezoneX+0.40;
|
||||
y=safezoneY+0.58;
|
||||
@ -154,68 +140,86 @@ class Kestrel4500_Display
|
||||
h=0.04;
|
||||
text="";
|
||||
};
|
||||
class TEXT_CENTER_BIG: TEXT_TOP
|
||||
{
|
||||
class TEXT_CENTER_BIG: TEXT_TOP {
|
||||
idc=74200;
|
||||
y=safezoneY+0.61;
|
||||
h=0.10;
|
||||
SizeEx=0.06;
|
||||
text="";
|
||||
};
|
||||
class TEXT_CENTER_LINE_1_LEFT: TEXT_TOP
|
||||
{
|
||||
class TEXT_CENTER: TEXT_TOP {
|
||||
idc=74201;
|
||||
y=safezoneY+0.64;
|
||||
};
|
||||
class TEXT_CENTER_LINE_1_LEFT: TEXT_TOP {
|
||||
idc=74300;
|
||||
y=safezoneY+0.60;
|
||||
style=ST_LEFT;
|
||||
h=0.10;
|
||||
SizeEx=0.05;
|
||||
text="";
|
||||
};
|
||||
class TEXT_CENTER_LINE2_LEFT: TEXT_CENTER_LINE_1_LEFT
|
||||
{
|
||||
class TEXT_CENTER_LINE2_LEFT: TEXT_CENTER_LINE_1_LEFT {
|
||||
idc=74301;
|
||||
y=safezoneY+0.64;
|
||||
text="";
|
||||
};
|
||||
class TEXT_CENTER_LINE_3_LEFT: TEXT_CENTER_LINE2_LEFT
|
||||
{
|
||||
class TEXT_CENTER_LINE_3_LEFT: TEXT_CENTER_LINE2_LEFT {
|
||||
idc=74302;
|
||||
y=safezoneY+0.68;
|
||||
text="";
|
||||
};
|
||||
class TEXT_CENTER_LINE_1_RIGHT: TEXT_CENTER_LINE_1_LEFT
|
||||
{
|
||||
class TEXT_CENTER_LINE_1_RIGHT: TEXT_CENTER_LINE_1_LEFT {
|
||||
idc=74303;
|
||||
style=ST_RIGHT;
|
||||
};
|
||||
class TEXT_CENTER_LINE2_RIGHT: TEXT_CENTER_LINE2_LEFT
|
||||
{
|
||||
class TEXT_CENTER_LINE2_RIGHT: TEXT_CENTER_LINE2_LEFT {
|
||||
idc=74304;
|
||||
style=ST_RIGHT;
|
||||
};
|
||||
class TEXT_CENTER_LINE_3_RIGHT: TEXT_CENTER_LINE_3_LEFT
|
||||
{
|
||||
class TEXT_CENTER_LINE_3_RIGHT: TEXT_CENTER_LINE_3_LEFT {
|
||||
idc=74305;
|
||||
style=ST_RIGHT;
|
||||
};
|
||||
class TEXT_INFO_LINE_1: TEXT_TOP
|
||||
{
|
||||
class TEXT_INFO_LINE_1: TEXT_TOP {
|
||||
idc=74400;
|
||||
y=safezoneY+0.69;
|
||||
text="";
|
||||
y=safezoneY+0.68;
|
||||
};
|
||||
class TEXT_INFO_LINE_2: TEXT_TOP
|
||||
{
|
||||
class TEXT_INFO_LINE_2: TEXT_TOP {
|
||||
idc=74401;
|
||||
y=safezoneY+0.72;
|
||||
text="";
|
||||
};
|
||||
class TEXT_BOTTOM_BIG: TEXT_TOP {
|
||||
idc=74500;
|
||||
y=safezoneY+0.67;
|
||||
h=0.10;
|
||||
SizeEx=0.06;
|
||||
};
|
||||
class TEXT_CENTER_LINE_1: TEXT_TOP {
|
||||
idc=74600;
|
||||
y=safezoneY+0.58;
|
||||
SizeEx=0.03;
|
||||
};
|
||||
class TEXT_CENTER_LINE_2: TEXT_CENTER_LINE_1 {
|
||||
idc=74601;
|
||||
y=safezoneY+0.61;
|
||||
};
|
||||
class TEXT_CENTER_LINE_3: TEXT_CENTER_LINE_1 {
|
||||
idc=74602;
|
||||
y=safezoneY+0.64;
|
||||
};
|
||||
class TEXT_CENTER_LINE_4: TEXT_CENTER_LINE_1 {
|
||||
idc=74603;
|
||||
y=safezoneY+0.67;
|
||||
};
|
||||
class TEXT_CENTER_LINE_5: TEXT_CENTER_LINE_1 {
|
||||
idc=74604;
|
||||
y=safezoneY+0.70;
|
||||
};
|
||||
class TEXT_CENTER_LINE_6: TEXT_CENTER_LINE_1 {
|
||||
idc=74605;
|
||||
y=safezoneY+0.73;
|
||||
};
|
||||
};
|
||||
};
|
||||
class RscTitles
|
||||
{
|
||||
class RscKestrel4500
|
||||
{
|
||||
class RscTitles {
|
||||
class RscKestrel4500 {
|
||||
idd=-1;
|
||||
onLoad="with uiNameSpace do { RscKestrel4500 = _this select 0 };";
|
||||
onUnload=(_this call FUNC(onCloseDisplay));
|
||||
@ -223,10 +227,8 @@ class RscTitles
|
||||
duration=60;
|
||||
fadeIn="false";
|
||||
fadeOut="false";
|
||||
class controls
|
||||
{
|
||||
class RscKestrel4500
|
||||
{
|
||||
class controls {
|
||||
class RscKestrel4500 {
|
||||
idc=75000;
|
||||
moving=0;
|
||||
type=0;
|
||||
@ -241,8 +243,7 @@ class RscTitles
|
||||
colorText[]={1,1,1,1};
|
||||
text=PATHTOF(UI\Kestrel4500_0.paa);
|
||||
};
|
||||
class RscTextTop: Kestrel4500_RscText
|
||||
{
|
||||
class RscTextTop: Kestrel4500_RscText {
|
||||
idc=75100;
|
||||
x=safezoneX-0.05+0.40*0.75;
|
||||
y=safezoneY+0.7+0.58*0.75;
|
||||
@ -251,16 +252,18 @@ class RscTitles
|
||||
SizeEx=0.04*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextCenterBig: RscTextTop
|
||||
{
|
||||
class RscTextCenterBig: RscTextTop {
|
||||
idc=75200;
|
||||
y=safezoneY+0.7+0.61*0.75;
|
||||
h=0.10*0.75;
|
||||
SizeEx=0.06*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextCenterLine1Left: RscTextTop
|
||||
{
|
||||
class RscTextCenter: RscTextTop {
|
||||
idc=75201;
|
||||
y=safezoneY+0.7+0.64*0.75;
|
||||
};
|
||||
class RscTextCenterLine1Left: RscTextTop {
|
||||
idc=75300;
|
||||
y=safezoneY+0.7+0.60*0.75;
|
||||
style=ST_LEFT;
|
||||
@ -268,45 +271,70 @@ class RscTitles
|
||||
SizeEx=0.05*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextCenterLine2Left: RscTextCenterLine1Left
|
||||
{
|
||||
class RscTextCenterLine2Left: RscTextCenterLine1Left {
|
||||
idc=75301;
|
||||
y=safezoneY+0.7+0.64*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextCenterLine3Left: RscTextCenterLine2Left
|
||||
{
|
||||
class RscTextCenterLine3Left: RscTextCenterLine2Left {
|
||||
idc=75302;
|
||||
y=safezoneY+0.7+0.68*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextCenterLine1Right: RscTextCenterLine1Left
|
||||
{
|
||||
class RscTextCenterLine1Right: RscTextCenterLine1Left {
|
||||
idc=75303;
|
||||
style=ST_RIGHT;
|
||||
};
|
||||
class RscTextCenterLine2Right: RscTextCenterLine2Left
|
||||
{
|
||||
class RscTextCenterLine2Right: RscTextCenterLine2Left {
|
||||
idc=75304;
|
||||
style=ST_RIGHT;
|
||||
};
|
||||
class RscTextCenterLine3Right: RscTextCenterLine3Left
|
||||
{
|
||||
class RscTextCenterLine3Right: RscTextCenterLine3Left {
|
||||
idc=75305;
|
||||
style=ST_RIGHT;
|
||||
};
|
||||
class RscTextInfoLine1: RscTextTop
|
||||
{
|
||||
class RscTextInfoLine1: RscTextTop {
|
||||
idc=75400;
|
||||
y=safezoneY+0.7+0.69*0.75;
|
||||
y=safezoneY+0.7+0.68*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextInfoLine2: RscTextTop
|
||||
{
|
||||
class RscTextInfoLine2: RscTextTop {
|
||||
idc=75401;
|
||||
y=safezoneY+0.7+0.72*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextBottomBig: RscTextTop {
|
||||
idc=75500;
|
||||
y=safezoneY+0.7+0.67*0.75;
|
||||
h=0.10*0.75;
|
||||
SizeEx=0.06*0.75;
|
||||
text="";
|
||||
};
|
||||
class RscTextCenterLine1: RscTextTop {
|
||||
idc=75600;
|
||||
y=safezoneY+0.7+0.58*0.75;
|
||||
SizeEx=0.03*0.75;
|
||||
};
|
||||
class RscTextCenterLine2: RscTextCenterLine1 {
|
||||
idc=75601;
|
||||
y=safezoneY+0.7+0.61*0.75;
|
||||
};
|
||||
class RscTextCenterLine3: RscTextCenterLine1 {
|
||||
idc=75602;
|
||||
y=safezoneY+0.7+0.64*0.75;
|
||||
};
|
||||
class RscTextCenterLine4: RscTextCenterLine1 {
|
||||
idc=75603;
|
||||
y=safezoneY+0.7+0.67*0.75;
|
||||
};
|
||||
class RscTextCenterLine5: RscTextCenterLine1 {
|
||||
idc=75604;
|
||||
y=safezoneY+0.7+0.70*0.75;
|
||||
};
|
||||
class RscTextCenterLine6: RscTextCenterLine1 {
|
||||
idc=75605;
|
||||
y=safezoneY+0.7+0.73*0.75;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -2,22 +2,27 @@
|
||||
|
||||
#include "initKeybinds.sqf"
|
||||
|
||||
GVAR(Menus) = ["Direction", "Wind SPD m/s", "CROSSWIND m/s", "HEADWIND m/s", "TEMP °C", "CHILL °C", "HUMIDITY %", "HEAT INDEX °C", "DEW POINT °C", "WET BULB °C", "BARO hPA", "ALTITUDE m", "User Screen 1", "User Screen 2"];
|
||||
GVAR(Menus) = ["Date", "Direction", "Wind SPD m/s", "CROSSWIND m/s", "HEADWIND m/s", "TEMP °C", "CHILL °C", "HUMIDITY %", "HEAT INDEX °C", "DEW POINT °C", "WET BULB °C", "BARO hPA", "ALTITUDE m", "User Screen 1", "User Screen 2"];
|
||||
|
||||
GVAR(TOTAL) = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
||||
GVAR(ENTRIES) = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
||||
GVAR(TOTAL) = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
||||
GVAR(ENTRIES) = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
||||
|
||||
GVAR(MinAvgMax) = false;
|
||||
GVAR(MinAvgMaxMode) = 0;
|
||||
GVAR(referenceHeadingMenu) = 0;
|
||||
GVAR(referenceHeadingAutoSet) = true;
|
||||
GVAR(manualSetCooldown) = diag_tickTime;
|
||||
GVAR(headingSetDisplayTimer) = 0;
|
||||
|
||||
GVAR(Menu) = 1;
|
||||
GVAR(Directions) = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"];
|
||||
GVAR(Direction) = 0;
|
||||
|
||||
GVAR(RefHeading) = 0;
|
||||
GVAR(TmpHeading) = 0;
|
||||
|
||||
GVAR(updateTimer) = 0;
|
||||
GVAR(outputData) = ["", "", "", "", "", "", "", "", "", ""];
|
||||
GVAR(outputData) = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", ""];
|
||||
GVAR(MeasuredWindSpeed) = 0;
|
||||
GVAR(ImpellerState) = 0;
|
||||
|
||||
|
@ -18,7 +18,29 @@
|
||||
switch (_this) do {
|
||||
case 0: { // Enter
|
||||
if (!GVAR(MinAvgMax) && (GVAR(Menu) == 2 || GVAR(Menu) == 3)) then {
|
||||
switch (GVAR(referenceHeadingMenu)) do {
|
||||
case 0: { // Head- and Crosswind main page
|
||||
GVAR(TmpHeading) = GVAR(RefHeading);
|
||||
GVAR(referenceHeadingMenu) = 1;
|
||||
};
|
||||
case 1: { // Mode selection
|
||||
if (GVAR(referenceHeadingAutoSet)) then {
|
||||
GVAR(referenceHeadingMenu) = 2;
|
||||
} else {
|
||||
GVAR(referenceHeadingMenu) = 3;
|
||||
};
|
||||
};
|
||||
case 2: { // Auto set
|
||||
GVAR(RefHeading) = getDir ACE_player;
|
||||
GVAR(referenceHeadingMenu) = 0;
|
||||
GVAR(headingSetDisplayTimer) = diag_tickTime;
|
||||
};
|
||||
case 3: { // Manual set
|
||||
GVAR(RefHeading) = GVAR(TmpHeading);
|
||||
GVAR(referenceHeadingMenu) = 0;
|
||||
GVAR(headingSetDisplayTimer) = diag_tickTime;
|
||||
};
|
||||
};
|
||||
};
|
||||
if (GVAR(MinAvgMax) && GVAR(Menu) > 0 && GVAR(Menu) < 4) then {
|
||||
if (GVAR(MinAvgMaxMode) != 1) then {
|
||||
@ -33,21 +55,66 @@ switch (_this) do {
|
||||
};
|
||||
};
|
||||
case 1: { // Top
|
||||
if (GVAR(referenceHeadingMenu) == 1) then {
|
||||
GVAR(referenceHeadingAutoSet) = !GVAR(referenceHeadingAutoSet);
|
||||
} else {
|
||||
GVAR(Menu) = (GVAR(Menu) - 1 + (count GVAR(Menus))) % (count GVAR(Menus));
|
||||
};
|
||||
};
|
||||
case 2: { // Bottom
|
||||
if (GVAR(referenceHeadingMenu) == 1) then {
|
||||
GVAR(referenceHeadingAutoSet) = !GVAR(referenceHeadingAutoSet);
|
||||
} else {
|
||||
GVAR(Menu) = (GVAR(Menu) + 1 + (count GVAR(Menus))) % (count GVAR(Menus));
|
||||
};
|
||||
};
|
||||
case 3: { // Left
|
||||
if (GVAR(referenceHeadingMenu) == 0) then {
|
||||
GVAR(MinAvgMax) = !GVAR(MinAvgMax);
|
||||
} else {
|
||||
if (GVAR(referenceHeadingMenu) == 3) then {
|
||||
if (diag_tickTime - GVAR(manualSetCooldown) < 0.2) then {
|
||||
GVAR(TmpHeading) = GVAR(TmpHeading) - 10;
|
||||
} else {
|
||||
GVAR(TmpHeading) = GVAR(TmpHeading) - 1;
|
||||
};
|
||||
GVAR(manualSetCooldown) = diag_tickTime;
|
||||
};
|
||||
};
|
||||
};
|
||||
case 4: { // Right
|
||||
if (GVAR(referenceHeadingMenu) == 0) then {
|
||||
GVAR(MinAvgMax) = !GVAR(MinAvgMax);
|
||||
} else {
|
||||
if (GVAR(referenceHeadingMenu) == 3) then {
|
||||
if (diag_tickTime - GVAR(manualSetCooldown) < 0.2) then {
|
||||
GVAR(TmpHeading) = GVAR(TmpHeading) + 10;
|
||||
} else {
|
||||
GVAR(TmpHeading) = GVAR(TmpHeading) + 1;
|
||||
};
|
||||
GVAR(manualSetCooldown) = diag_tickTime;
|
||||
};
|
||||
};
|
||||
};
|
||||
case 5: { // Memory
|
||||
};
|
||||
case 6: { // Backlight
|
||||
};
|
||||
case 7: { // Exit
|
||||
private ["_exit"];
|
||||
_exit = true;
|
||||
if (GVAR(referenceHeadingMenu) == 1) then {
|
||||
GVAR(referenceHeadingMenu) = 0;
|
||||
_exit = false;
|
||||
};
|
||||
if (GVAR(referenceHeadingMenu) > 1) then {
|
||||
GVAR(referenceHeadingMenu) = 1;
|
||||
_exit = false;
|
||||
};
|
||||
if (_exit) then {
|
||||
closeDialog 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
[] call FUNC(updateDisplay);
|
||||
|
@ -27,13 +27,13 @@ _dewPoint = [_temperature, _humidity] call EFUNC(weather,calculateDewPoint);
|
||||
_wetBulb = [_temperature, _barometricPressure, _humidity] call EFUNC(weather,calculateWetBulb);
|
||||
|
||||
if (isNil QGVAR(MIN) || isNil QGVAR(MAX)) then {
|
||||
GVAR(MIN) = [_playerDir, 0, 0, 0, _temperature, _chill, _humidity, _heatIndex, _dewPoint, _wetBulb, _barometricPressure, _altitude];
|
||||
GVAR(MAX) = [_playerDir, 0, 0, 0, _temperature, _chill, _humidity, _heatIndex, _dewPoint, _wetBulb, _barometricPressure, _altitude];
|
||||
GVAR(MIN) = [0, _playerDir, 0, 0, 0, _temperature, _chill, _humidity, _heatIndex, _dewPoint, _wetBulb, _barometricPressure, _altitude];
|
||||
GVAR(MAX) = [0, _playerDir, 0, 0, 0, _temperature, _chill, _humidity, _heatIndex, _dewPoint, _wetBulb, _barometricPressure, _altitude];
|
||||
};
|
||||
|
||||
{
|
||||
GVAR(ENTRIES) set [_x, (GVAR(ENTRIES) select _x) + 1];
|
||||
} forEach [0, 4, 5, 6, 7, 8, 9, 10, 11];
|
||||
} forEach [1, 5, 6, 7, 8, 9, 10, 11, 12];
|
||||
|
||||
_fnc_updateMemory = {
|
||||
PARAMS_2(_slot,_value);
|
||||
@ -47,11 +47,11 @@ _fnc_updateMemory = {
|
||||
if (GVAR(MinAvgMaxMode) == 1) then {
|
||||
{
|
||||
GVAR(ENTRIES) set [_x, (GVAR(ENTRIES) select _x) + 1];
|
||||
} forEach [1, 2, 3];
|
||||
} forEach [2, 3, 4];
|
||||
|
||||
// Wind SPD
|
||||
_windSpeed = call FUNC(measureWindSpeed);
|
||||
[1, _windSpeed] call _fnc_updateMemory;
|
||||
[2, _windSpeed] call _fnc_updateMemory;
|
||||
|
||||
// CROSSWIND
|
||||
_crosswind = 0;
|
||||
@ -60,7 +60,7 @@ if (GVAR(MinAvgMaxMode) == 1) then {
|
||||
} else {
|
||||
_crosswind = abs(sin(GVAR(RefHeading)) * _windSpeed);
|
||||
};
|
||||
[2, _crosswind] call _fnc_updateMemory;
|
||||
[3, _crosswind] call _fnc_updateMemory;
|
||||
|
||||
// HEADWIND
|
||||
_headwind = 0;
|
||||
@ -69,14 +69,14 @@ if (GVAR(MinAvgMaxMode) == 1) then {
|
||||
} else {
|
||||
_headwind = abs(cos(GVAR(RefHeading)) * _windSpeed);
|
||||
};
|
||||
[3, _headwind] call _fnc_updateMemory;
|
||||
[4, _headwind] call _fnc_updateMemory;
|
||||
};
|
||||
|
||||
[4, _temperature] call _fnc_updateMemory;
|
||||
[5, _chill] call _fnc_updateMemory;
|
||||
[6, _humidity] call _fnc_updateMemory;
|
||||
[7, _heatIndex] call _fnc_updateMemory;
|
||||
[8, _dewPoint] call _fnc_updateMemory;
|
||||
[9, _wetBulb] call _fnc_updateMemory;
|
||||
[10, _barometricPressure] call _fnc_updateMemory;
|
||||
[11, _altitude] call _fnc_updateMemory;
|
||||
[5, _temperature] call _fnc_updateMemory;
|
||||
[6, _chill] call _fnc_updateMemory;
|
||||
[7, _humidity] call _fnc_updateMemory;
|
||||
[8, _heatIndex] call _fnc_updateMemory;
|
||||
[9, _dewPoint] call _fnc_updateMemory;
|
||||
[10, _wetBulb] call _fnc_updateMemory;
|
||||
[11, _barometricPressure] call _fnc_updateMemory;
|
||||
[12, _altitude] call _fnc_updateMemory;
|
||||
|
@ -18,6 +18,7 @@
|
||||
#define __ctrlKestrel4500 (__dsp displayCtrl 75000)
|
||||
#define __ctrlTop (__dsp displayCtrl 75100)
|
||||
#define __ctrlCenterBig (__dsp displayCtrl 75200)
|
||||
#define __ctrlCenter (__dsp displayCtrl 75201)
|
||||
#define __ctrlCenterLine1Left (__dsp displayCtrl 75300)
|
||||
#define __ctrlCenterLine2Left (__dsp displayCtrl 75301)
|
||||
#define __ctrlCenterLine3Left (__dsp displayCtrl 75302)
|
||||
@ -26,6 +27,13 @@
|
||||
#define __ctrlCenterLine3Right (__dsp displayCtrl 75305)
|
||||
#define __ctrlInfoLine1 (__dsp displayCtrl 75400)
|
||||
#define __ctrlInfoLine2 (__dsp displayCtrl 75401)
|
||||
#define __ctrlBottomBig (__dsp displayCtrl 75500)
|
||||
#define __ctrlCenterLine1 (__dsp displayCtrl 75600)
|
||||
#define __ctrlCenterLine2 (__dsp displayCtrl 75601)
|
||||
#define __ctrlCenterLine3 (__dsp displayCtrl 75602)
|
||||
#define __ctrlCenterLine4 (__dsp displayCtrl 75603)
|
||||
#define __ctrlCenterLine5 (__dsp displayCtrl 75604)
|
||||
#define __ctrlCenterLine6 (__dsp displayCtrl 75605)
|
||||
|
||||
if (GVAR(Overlay)) exitWith {
|
||||
GVAR(Overlay) = false;
|
||||
@ -63,17 +71,40 @@ GVAR(Overlay) = true;
|
||||
|
||||
__ctrlTop ctrlSetText (_outputData select 0);
|
||||
__ctrlCenterBig ctrlSetText (_outputData select 1);
|
||||
__ctrlCenter ctrlSetText (_outputData select 2);
|
||||
|
||||
__ctrlCenterLine1Left ctrlSetText (_outputData select 2);
|
||||
__ctrlCenterLine2Left ctrlSetText (_outputData select 3);
|
||||
__ctrlCenterLine3Left ctrlSetText (_outputData select 4);
|
||||
__ctrlCenterLine1Left ctrlSetText (_outputData select 3);
|
||||
__ctrlCenterLine2Left ctrlSetText (_outputData select 4);
|
||||
__ctrlCenterLine3Left ctrlSetText (_outputData select 5);
|
||||
|
||||
__ctrlCenterLine1Right ctrlSetText (_outputData select 5);
|
||||
__ctrlCenterLine2Right ctrlSetText (_outputData select 6);
|
||||
__ctrlCenterLine3Right ctrlSetText (_outputData select 7);
|
||||
__ctrlCenterLine1Right ctrlSetText (_outputData select 6);
|
||||
__ctrlCenterLine2Right ctrlSetText (_outputData select 7);
|
||||
__ctrlCenterLine3Right ctrlSetText (_outputData select 8);
|
||||
|
||||
__ctrlInfoLine1 ctrlSetText (_outputData select 8);
|
||||
__ctrlInfoLine2 ctrlSetText (_outputData select 9);
|
||||
__ctrlInfoLine1 ctrlSetText (_outputData select 9);
|
||||
__ctrlInfoLine2 ctrlSetText (_outputData select 10);
|
||||
|
||||
__ctrlBottomBig ctrlSetText (_outputData select 11);
|
||||
|
||||
__ctrlCenterLine1 ctrlSetText (_outputData select 12);
|
||||
__ctrlCenterLine2 ctrlSetText (_outputData select 13);
|
||||
__ctrlCenterLine3 ctrlSetText (_outputData select 14);
|
||||
__ctrlCenterLine4 ctrlSetText (_outputData select 15);
|
||||
__ctrlCenterLine5 ctrlSetText (_outputData select 16);
|
||||
__ctrlCenterLine6 ctrlSetText (_outputData select 17);
|
||||
|
||||
if (GVAR(referenceHeadingMenu) == 1) then {
|
||||
if (GVAR(referenceHeadingAutoSet)) then {
|
||||
__ctrlCenterLine3 ctrlSetTextColor [0, 0, 0, 0.6];
|
||||
__ctrlCenterLine4 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
} else {
|
||||
__ctrlCenterLine3 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
__ctrlCenterLine4 ctrlSetTextColor [0, 0, 0, 0.6];
|
||||
};
|
||||
} else {
|
||||
__ctrlCenterLine3 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
__ctrlCenterLine4 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
};
|
||||
};
|
||||
|
||||
call FUNC(updateImpellerState);
|
||||
|
@ -14,12 +14,15 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_playerDir", "_playerAltitude", "_temperature", "_humidity", "_barometricPressure", "_chill", "_heatIndex", "_dewPoint", "_wetBulb", "_windSpeed", "_windDir", "_textTop", "_textCenterBig", "_textCenterLine1Left", "_textCenterLine2Left", "_textCenterLine3Left", "_textCenterLine1Right", "_textCenterLine2Right", "_textCenterLine3Right", "_textInfoLine1", "_textInfoLine2"];
|
||||
if (diag_tickTime - GVAR(headingSetDisplayTimer) < 0.8) exitWith {["", "", " Heading Set", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]};
|
||||
|
||||
private ["_playerDir", "_playerAltitude", "_temperature", "_humidity", "_barometricPressure", "_chill", "_heatIndex", "_dewPoint", "_wetBulb", "_fnc_dayOfWeek", "_dayString", "_monthString", "_windSpeed", "_windDir", "_textTop", "_textCenterBig", "_textCenter", "_textCenterLine1Left", "_textCenterLine2Left", "_textCenterLine3Left", "_textCenterLine1Right", "_textCenterLine2Right", "_textCenterLine3Right", "_textInfoLine1", "_textInfoLine2", "_textBottomBig", "_textCenterLine1", "_textCenterLine2", "_textCenterLine3", "_textCenterLine4", "_textCenterLine5", "_textCenterLine6"];
|
||||
|
||||
[] call FUNC(collectData);
|
||||
|
||||
_textTop = GVAR(Menus) select GVAR(Menu);
|
||||
_textCenterBig = "";
|
||||
_textCenter = "";
|
||||
|
||||
_textCenterLine1Left = "";
|
||||
_textCenterLine2Left = "";
|
||||
@ -31,6 +34,15 @@ _textCenterLine3Right = "";
|
||||
_textInfoLine1 = "";
|
||||
_textInfoLine2 = "";
|
||||
|
||||
_textBottomBig = "";
|
||||
|
||||
_textCenterLine1 = "";
|
||||
_textCenterLine2 = "";
|
||||
_textCenterLine3 = "";
|
||||
_textCenterLine4 = "";
|
||||
_textCenterLine5 = "";
|
||||
_textCenterLine6 = "";
|
||||
|
||||
_windSpeed = call FUNC(measureWindSpeed);
|
||||
_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1);
|
||||
|
||||
@ -45,6 +57,19 @@ _heatIndex = [_temperature, _humidity] call EFUNC(weather,calculateHeatIndex);
|
||||
_dewPoint = [_temperature, _humidity] call EFUNC(weather,calculateDewPoint);
|
||||
_wetBulb = [_temperature, _barometricPressure, _humidity] call EFUNC(weather,calculateWetBulb);
|
||||
|
||||
_fnc_dayOfWeek = {
|
||||
private ["_year", "_month", "_day", "_table"];
|
||||
_year = _this select 0;
|
||||
_month = _this select 1;
|
||||
_day = _this select 2;
|
||||
|
||||
_table = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4];
|
||||
if (_month < 3) then {
|
||||
_year = _year - 1;
|
||||
};
|
||||
(_year + floor(_year/4) - floor(_year/100) + floor(_year/400) + (_table select (_month - 1)) + _day) % 7
|
||||
};
|
||||
|
||||
GVAR(Direction) = 4 * floor(_playerDir / 90);
|
||||
if (_playerDir % 90 > 10) then { GVAR(Direction) = GVAR(Direction) + 1};
|
||||
if (_playerDir % 90 > 35) then { GVAR(Direction) = GVAR(Direction) + 1};
|
||||
@ -52,8 +77,17 @@ if (_playerDir % 90 > 55) then { GVAR(Direction) = GVAR(Direction) + 1};
|
||||
if (_playerDir % 90 > 80) then { GVAR(Direction) = GVAR(Direction) + 1};
|
||||
GVAR(Direction) = GVAR(Direction) % 16;
|
||||
|
||||
switch (GVAR(Menu)) do {
|
||||
case 0: { // Direction
|
||||
if (GVAR(referenceHeadingMenu) == 0) then {
|
||||
switch (GVAR(Menu)) do {
|
||||
case 0: { // Date
|
||||
EXPLODE_3_PVT(date,_year,_month,_day);
|
||||
_dayString = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] select (date call _fnc_dayOfWeek);
|
||||
_monthString = localize (["str_january","str_february","str_march","str_april","str_may","str_june","str_july","str_august","str_september","str_october","str_november","str_december"] select (_month - 1));
|
||||
_textTop = _dayString;
|
||||
_textCenter = format["%1 %2 %3", _day, _monthString, _year];
|
||||
_textBottomBig = [daytime, "HH:MM:SS"] call bis_fnc_timeToString;
|
||||
};
|
||||
case 1: { // Direction
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = format["%1", format["%1 %2", GVAR(Directions) select GVAR(Direction), round(_playerDir)]];
|
||||
} else {
|
||||
@ -65,7 +99,7 @@ switch (GVAR(Menu)) do {
|
||||
_textCenterLine3Right = "N/A";
|
||||
};
|
||||
};
|
||||
case 1: { // Wind SPD
|
||||
case 2: { // Wind SPD
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(abs(_windSpeed) * 10) / 10);
|
||||
} else {
|
||||
@ -78,19 +112,19 @@ switch (GVAR(Menu)) do {
|
||||
_textInfoLine2 = "- average";
|
||||
};
|
||||
case 1: {
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 1) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 1) / (GVAR(Entries) select 1) * 10) / 10);
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 2) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 2) / (GVAR(Entries) select 2) * 10) / 10);
|
||||
_textInfoLine2 = "- stop";
|
||||
};
|
||||
case 2: {
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 1) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 1) / (GVAR(Entries) select 1) * 10) / 10);
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 2) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 2) / (GVAR(Entries) select 2) * 10) / 10);
|
||||
_textInfoLine2 = "- clear";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
case 2: { // CROSSWIND
|
||||
case 3: { // CROSSWIND
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then {
|
||||
_textCenterBig = Str(round(abs(sin(GVAR(RefHeading) - _playerDir) * _windSpeed) * 10) / 10);
|
||||
@ -110,19 +144,19 @@ switch (GVAR(Menu)) do {
|
||||
_textInfoLine2 = "- average";
|
||||
};
|
||||
case 1: {
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 2) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 2) / (GVAR(Entries) select 2) * 10) / 10);
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 3) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 3) / (GVAR(Entries) select 3) * 10) / 10);
|
||||
_textInfoLine2 = "- stop";
|
||||
};
|
||||
case 2: {
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 2) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 2) / (GVAR(Entries) select 2) * 10) / 10);
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 3) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 3) / (GVAR(Entries) select 3) * 10) / 10);
|
||||
_textInfoLine2 = "- clear";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
case 3: { // HEADWIND
|
||||
case 4: { // HEADWIND
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then {
|
||||
_textCenterBig = Str(round(abs(cos(GVAR(RefHeading) - _playerDir) * _windSpeed) * 10) / 10);
|
||||
@ -142,33 +176,21 @@ switch (GVAR(Menu)) do {
|
||||
_textInfoLine2 = "- average";
|
||||
};
|
||||
case 1: {
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 3) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 3) / (GVAR(Entries) select 3) * 10) / 10);
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 4) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 4) / (GVAR(Entries) select 4) * 10) / 10);
|
||||
_textInfoLine2 = "- stop";
|
||||
};
|
||||
case 2: {
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 3) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 3) / (GVAR(Entries) select 3) * 10) / 10);
|
||||
_textCenterLine1Right = Str(round((GVAR(Max) select 4) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 4) / (GVAR(Entries) select 4) * 10) / 10);
|
||||
_textInfoLine2 = "- clear";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
case 4: { // TEMP
|
||||
case 5: { // TEMP
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_temperature * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
_textCenterLine3Left = "Max";
|
||||
_textCenterLine1Right = Str(round((GVAR(Min) select 4) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 4) / (GVAR(Entries) select 4) * 10) / 10);
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 4) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 5: { // CHILL
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_chill * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
@ -178,33 +200,33 @@ switch (GVAR(Menu)) do {
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 5) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 6: { // HUMIDITY
|
||||
case 6: { // CHILL
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_chill * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
_textCenterLine3Left = "Max";
|
||||
_textCenterLine1Right = Str(round((GVAR(Min) select 6) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 6) / (GVAR(Entries) select 6) * 10) / 10);
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 6) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 7: { // HUMIDITY
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_humidity * 100 * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
_textCenterLine3Left = "Max";
|
||||
_textCenterLine1Right = Str(round((GVAR(Min) select 6) * 100 * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 6) / (GVAR(Entries) select 6) * 100 * 10) / 10);
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 6) * 100 * 10) / 10);
|
||||
_textCenterLine1Right = Str(round((GVAR(Min) select 7) * 100 * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 7) / (GVAR(Entries) select 7) * 100 * 10) / 10);
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 7) * 100 * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 7: { // HEAT INDEX
|
||||
case 8: { // HEAT INDEX
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_heatIndex * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
_textCenterLine3Left = "Max";
|
||||
_textCenterLine1Right = Str(round((GVAR(Min) select 7) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 7) / (GVAR(Entries) select 7) * 10) / 10);
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 7) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 8: { // DEW POINT
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_dewPoint * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
@ -214,9 +236,9 @@ switch (GVAR(Menu)) do {
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 8) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 9: { // WET BULB
|
||||
case 9: { // DEW POINT
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_wetBulb * 10) / 10);
|
||||
_textCenterBig = Str(round(_dewPoint * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
@ -226,9 +248,9 @@ switch (GVAR(Menu)) do {
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 9) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 10: { // BARO
|
||||
case 10: { // WET BULB
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_barometricPressure * 10) / 10);
|
||||
_textCenterBig = Str(round(_wetBulb * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
@ -238,19 +260,31 @@ switch (GVAR(Menu)) do {
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 10) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 11: { // ALTITUDE
|
||||
case 11: { // BARO
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(_barometricPressure * 10) / 10);
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
_textCenterLine3Left = "Max";
|
||||
_textCenterLine1Right = Str(round((GVAR(Min) select 11) * 10) / 10);
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 11) / (GVAR(Entries) select 11) * 10) / 10);
|
||||
_textCenterLine3Right = Str(round((GVAR(Max) select 11) * 10) / 10);
|
||||
};
|
||||
};
|
||||
case 12: { // ALTITUDE
|
||||
if (!GVAR(MinAvgMax)) then {
|
||||
_textCenterBig = Str(round(EGVAR(weather,Altitude) + _playerAltitude));
|
||||
} else {
|
||||
_textCenterLine1Left = "Min";
|
||||
_textCenterLine2Left = "Avg";
|
||||
_textCenterLine3Left = "Max";
|
||||
_textCenterLine1Right = Str(round(GVAR(Min) select 11));
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 11) / (GVAR(Entries) select 11)));
|
||||
_textCenterLine3Right = Str(round(GVAR(Max) select 11));
|
||||
_textCenterLine1Right = Str(round(GVAR(Min) select 12));
|
||||
_textCenterLine2Right = Str(round((GVAR(Total) select 12) / (GVAR(Entries) select 12)));
|
||||
_textCenterLine3Right = Str(round(GVAR(Max) select 12));
|
||||
};
|
||||
};
|
||||
case 12: { // User Screen 1
|
||||
case 13: { // User Screen 1
|
||||
_textCenterLine1Left = Str(round(_playerDir));
|
||||
_textCenterLine2Left = Str(round(EGVAR(weather,Altitude) + _playerAltitude));
|
||||
_textCenterLine3Left = Str(round(abs(_windSpeed) * 10) / 10);
|
||||
@ -258,7 +292,7 @@ switch (GVAR(Menu)) do {
|
||||
_textCenterLine2Right = "m";
|
||||
_textCenterLine3Right = "m/s";
|
||||
};
|
||||
case 13: { // User Screen 2
|
||||
case 14: { // User Screen 2
|
||||
_textCenterLine1Left = Str(round(_temperature * 10) / 10);
|
||||
_textCenterLine2Left = Str(round(_humidity * 100 * 10) / 10);
|
||||
_textCenterLine3Left = Str(round((_playerAltitude call EFUNC(weather,calculateBarometricPressure)) * 10) / 10);
|
||||
@ -266,6 +300,35 @@ switch (GVAR(Menu)) do {
|
||||
_textCenterLine2Right = "%";
|
||||
_textCenterLine3Right = "hPA";
|
||||
};
|
||||
};
|
||||
} else {
|
||||
_textTop = "";
|
||||
switch (GVAR(referenceHeadingMenu)) do {
|
||||
case 1: {
|
||||
_textCenterLine1 = "MAGNETIC HEADING";
|
||||
_textCenterLine2 = Str(round(GVAR(RefHeading)));
|
||||
_textCenterLine3 = "Auto Set ";
|
||||
_textCenterLine4 = "Manual Set ";
|
||||
_textCenterLine5 = "================";
|
||||
_textCenterLine6 = "- select (|) exit";
|
||||
};
|
||||
case 2: {
|
||||
_textCenterLine1 = "MAGNETIC HEADING";
|
||||
_textCenterLine2 = Str(round(_playerDir));
|
||||
_textCenterLine3 = "Point Down the";
|
||||
_textCenterLine4 = "Runway or Range";
|
||||
_textCenterLine5 = "================";
|
||||
_textCenterLine6 = "- set heading";
|
||||
};
|
||||
case 3: {
|
||||
_textCenterLine1 = "MAGNETIC HEADING";
|
||||
_textCenterLine2 = Str(round(GVAR(TmpHeading)));
|
||||
_textCenterLine3 = "Press < and >";
|
||||
_textCenterLine4 = "to Adjust";
|
||||
_textCenterLine5 = "================";
|
||||
_textCenterLine6 = "- set heading";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
[_textTop, _textCenterBig, _textCenterLine1Left, _textCenterLine2Left, _textCenterLine3Left, _textCenterLine1Right, _textCenterLine2Right, _textCenterLine3Right, _textInfoLine1, _textInfoLine2]
|
||||
[_textTop, _textCenterBig, _textCenter, _textCenterLine1Left, _textCenterLine2Left, _textCenterLine3Left, _textCenterLine1Right, _textCenterLine2Right, _textCenterLine3Right, _textInfoLine1, _textInfoLine2, _textBottomBig, _textCenterLine1, _textCenterLine2, _textCenterLine3, _textCenterLine4, _textCenterLine5, _textCenterLine6]
|
||||
|
@ -14,20 +14,47 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define __dsp (uiNamespace getVariable "Kestrel4500_Display")
|
||||
#define __ctrlCenterLine3 (__dsp displayCtrl 74602)
|
||||
#define __ctrlCenterLine4 (__dsp displayCtrl 74603)
|
||||
|
||||
private ["_outputData"];
|
||||
|
||||
_outputData = [] call FUNC(generateOutputData);
|
||||
|
||||
ctrlSetText [74100, _outputData select 0];
|
||||
ctrlSetText [74200, _outputData select 1];
|
||||
ctrlSetText [74201, _outputData select 2];
|
||||
|
||||
ctrlSetText [74300, _outputData select 2];
|
||||
ctrlSetText [74301, _outputData select 3];
|
||||
ctrlSetText [74302, _outputData select 4];
|
||||
ctrlSetText [74300, _outputData select 3];
|
||||
ctrlSetText [74301, _outputData select 4];
|
||||
ctrlSetText [74302, _outputData select 5];
|
||||
|
||||
ctrlSetText [74303, _outputData select 5];
|
||||
ctrlSetText [74304, _outputData select 6];
|
||||
ctrlSetText [74305, _outputData select 7];
|
||||
ctrlSetText [74303, _outputData select 6];
|
||||
ctrlSetText [74304, _outputData select 7];
|
||||
ctrlSetText [74305, _outputData select 8];
|
||||
|
||||
ctrlSetText [74400, _outputData select 8];
|
||||
ctrlSetText [74401, _outputData select 9];
|
||||
ctrlSetText [74400, _outputData select 9];
|
||||
ctrlSetText [74401, _outputData select 10];
|
||||
|
||||
ctrlSetText [74500, _outputData select 11];
|
||||
|
||||
ctrlSetText [74600, _outputData select 12];
|
||||
ctrlSetText [74601, _outputData select 13];
|
||||
ctrlSetText [74602, _outputData select 14];
|
||||
ctrlSetText [74603, _outputData select 15];
|
||||
ctrlSetText [74604, _outputData select 16];
|
||||
ctrlSetText [74605, _outputData select 17];
|
||||
|
||||
if (GVAR(referenceHeadingMenu) == 1) then {
|
||||
if (GVAR(referenceHeadingAutoSet)) then {
|
||||
__ctrlCenterLine3 ctrlSetTextColor [0, 0, 0, 0.6];
|
||||
__ctrlCenterLine4 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
} else {
|
||||
__ctrlCenterLine3 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
__ctrlCenterLine4 ctrlSetTextColor [0, 0, 0, 0.6];
|
||||
};
|
||||
} else {
|
||||
__ctrlCenterLine3 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
__ctrlCenterLine4 ctrlSetTextColor [0, 0, 0, 1.0];
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user