From 023344442a1b8900ec04add671363e211d6ed239 Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Sun, 29 Mar 2020 16:55:30 +0100 Subject: [PATCH] DIRTO finalised, now to make it work --- Models/Instruments/MCDU/MCDU.nas | 53 +++++++--- Models/Instruments/MCDU/res/mcdu.svg | 147 ++++++++++++++++++++++++--- Nasal/FMGC/flightplan.nas | 6 +- Nasal/MCDU/DIRTO.nas | 22 ++-- Nasal/MCDU/F-PLN-rework.nas | 5 +- 5 files changed, 187 insertions(+), 46 deletions(-) diff --git a/Models/Instruments/MCDU/MCDU.nas b/Models/Instruments/MCDU/MCDU.nas index 90f4b3b1..79cef50c 100644 --- a/Models/Instruments/MCDU/MCDU.nas +++ b/Models/Instruments/MCDU/MCDU.nas @@ -203,8 +203,8 @@ var canvas_MCDU_base = { "Simple_R4_Arrow","Simple_R5_Arrow","Simple_R6_Arrow","Simple_C1","Simple_C2","Simple_C3","Simple_C4","Simple_C5","Simple_C6","Simple_C1S", "Simple_C2S","Simple_C3S","Simple_C4S","Simple_C5S","Simple_C6S","INITA","INITA_CoRoute","INITA_FltNbr","INITA_CostIndex","INITA_CruiseFLTemp", "INITA_FromTo","INITA_InitRequest","INITA_AlignIRS","INITB","INITB_ZFWCG","INITB_ZFW","INITB_ZFW_S","INITB_Block","PERFTO","PERFTO_V1","PERFTO_VR","PERFTO_V2","PERFTO_FE","PERFTO_SE","PERFTO_OE","PERFAPPR","PERFAPPR_FE","PERFAPPR_SE","PERFAPPR_OE","PERFGA","PERFGA_FE","PERFGA_SE","PERFGA_OE", - "FPLN","FPLN_From","FPLN_TMPY_group","FPLN_FROM","FPLN_Callsign","departureTMPY", "arrowsDepArr","arrow1L","arrow2L","arrow3L","arrow4L","arrow5L","arrow1R", - "arrow2R","arrow3R","arrow4R","arrow5R"]; + "FPLN","FPLN_From","FPLN_TMPY_group","FPLN_FROM","FPLN_Callsign","departureTMPY", "arrowsDepArr","arrow1L","arrow2L","arrow3L","arrow4L","arrow5L", + "arrow1R","arrow2R","arrow3R","arrow4R","arrow5R","DIRTO_TMPY_group"]; }, update: func() { if (systems.ELEC.Bus.ac1.getValue() >= 110 and mcdu1_lgt.getValue() > 0.01) { @@ -227,6 +227,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].show(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -539,9 +540,16 @@ var canvas_MCDU_base = { #} if (fmgc.flightPlanController.temporaryFlag[i]) { - me["FPLN_TMPY_group"].show(); + if (!mcdu.dirToFlag) { + me["FPLN_TMPY_group"].show(); + me["DIRTO_TMPY_group"].hide(); + } else { + me["DIRTO_TMPY_group"].show(); + me["FPLN_TMPY_group"].hide(); + } } else { me["FPLN_TMPY_group"].hide(); + me["DIRTO_TMPY_group"].hide(); } } } elsif (page == "MCDU") { @@ -549,6 +557,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -635,6 +644,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -721,6 +731,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -805,6 +816,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -894,6 +906,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -995,6 +1008,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -1138,6 +1152,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].show(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -1297,6 +1312,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].show(); me["PERFTO"].hide(); @@ -1431,6 +1447,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -1547,6 +1564,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].show(); @@ -2000,6 +2018,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -2127,6 +2146,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -2383,6 +2403,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -2639,6 +2660,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -2964,6 +2986,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -3277,6 +3300,7 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].show(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].hide(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); @@ -3602,21 +3626,22 @@ var canvas_MCDU_base = { me["Simple"].show(); me["Simple_Center"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].show(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); - me["arrowsDepArr"].hide(); + me["arrowsDepArr"].show(); me["Simple_PageNum"].setText("X/X"); me["Simple_PageNum"].hide(); me["Simple_Title"].show(); - me["ArrowLeft"].show(); - me["ArrowRight"].show(); + me["ArrowLeft"].hide(); + me["ArrowRight"].hide(); me["Simple_L1_Arrow"].hide(); me["Simple_L2_Arrow"].hide(); me["Simple_L3_Arrow"].hide(); me["Simple_L4_Arrow"].hide(); me["Simple_L5_Arrow"].hide(); - me["Simple_L6_Arrow"].show(); + me["Simple_L6_Arrow"].hide(); me["Simple_R1_Arrow"].hide(); me["Simple_R2_Arrow"].hide(); me["Simple_R3_Arrow"].hide(); @@ -3648,10 +3673,7 @@ var canvas_MCDU_base = { var sign = "R"; } forindex (var item; myDirTo[i].arrowsMatrix[matrixArrow]) { - if (item == 5) { - me["Simple_L6_Arrow"].setColor(getprop("MCDUC/colors/" ~ myDirTo[i].arrowsColour[0][5] ~ "/r"), getprop("MCDUC/colors/" ~ myDirTo[i].arrowsColour[0][5] ~ "/g"), getprop("MCDUC/colors/" ~ myDirTo[i].arrowsColour[0][5] ~ "/b")); - continue; - } + if (item == 5) { continue; } if (myDirTo[i].arrowsMatrix[matrixArrow][item] == 1) { me["arrow" ~ (item + 1) ~ sign].show(); me["arrow" ~ (item + 1) ~ sign].setColor(getprop("MCDUC/colors/" ~ myDirTo[i].arrowsColour[matrixArrow][item] ~ "/r"), getprop("MCDUC/colors/" ~ myDirTo[i].arrowsColour[matrixArrow][item] ~ "/g"), getprop("MCDUC/colors/" ~ myDirTo[i].arrowsColour[matrixArrow][item] ~ "/b")); @@ -3661,8 +3683,6 @@ var canvas_MCDU_base = { } } - - forindex (var matrixFont; myDirTo[i].fontMatrix) { if (matrixFont == 0) { var sign = "L"; @@ -3680,6 +3700,12 @@ var canvas_MCDU_base = { } } + if (fmgc.flightPlanController.temporaryFlag[i] and mcdu.dirToFlag) { + me["DIRTO_TMPY_group"].show(); + } else { + me["DIRTO_TMPY_group"].hide(); + } + if (myDirTo[i].L1[0] == nil) { me["Simple_L1"].hide(); me["Simple_L1S"].hide(); @@ -3856,6 +3882,7 @@ var canvas_MCDU_base = { if (!pageSwitch[i].getBoolValue()) { me["Simple"].hide(); me["FPLN"].hide(); + me["DIRTO_TMPY_group"].show(); me["INITA"].hide(); me["INITB"].hide(); me["PERFTO"].hide(); diff --git a/Models/Instruments/MCDU/res/mcdu.svg b/Models/Instruments/MCDU/res/mcdu.svg index cfdaef17..042c0080 100644 --- a/Models/Instruments/MCDU/res/mcdu.svg +++ b/Models/Instruments/MCDU/res/mcdu.svg @@ -42,8 +42,8 @@ id="namedview371" showgrid="true" inkscape:zoom="1.5306292" - inkscape:cx="332.0077" - inkscape:cy="938.33632" + inkscape:cx="1100.8644" + inkscape:cy="75.945873" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" @@ -1069,19 +1069,136 @@ - FROM + FROM + + + + ERASE + DIR TO + + + + + + + + DIR TO + INSERT + + + + + + + = index) { if (size(getprop("MCDU[" ~ me.computer ~ "]/scratchpad")) > 0) { var returny = fmgc.flightPlanController.scratchpad(getprop("MCDU[" ~ me.computer ~ "]/scratchpad"), (index - 1 + me.scroll), me.computer); - if (returny == 0) { + if (returny == 3) { + setprop("MCDU[" ~ me.computer ~ "]/scratchpad-msg", 1); + setprop("MCDU[" ~ me.computer ~ "]/scratchpad", "DIR TO IN PROGRESS"); + } elsif (returny == 0) { notInDataBase(me.computer); } elsif (returny == 1) { notAllowed(me.computer);