diff --git a/Models/Instruments/MCDU1/MCDU1.xml b/Models/Instruments/MCDU1/MCDU1.xml index 6bce3f67..186806bd 100644 --- a/Models/Instruments/MCDU1/MCDU1.xml +++ b/Models/Instruments/MCDU1/MCDU1.xml @@ -136,6 +136,28 @@ + + CLB + PERF/CLB/CLB.xml + + 180 + 180 + 90 + + + + + /systems/electrical/bus/ac1 + 25 + + + /MCDU[0]/page + CLB + + + + + DATA2 DATA2/DATA2.xml diff --git a/Models/Instruments/MCDU1/PERF/CLB/CLB.xml b/Models/Instruments/MCDU1/PERF/CLB/CLB.xml new file mode 100644 index 00000000..31e352b3 --- /dev/null +++ b/Models/Instruments/MCDU1/PERF/CLB/CLB.xml @@ -0,0 +1,539 @@ + + + + + + + EMPTY.ac + + + + + page + + -0.001 + 0.0 + 0.083 + + center-center + yz-plane + text-value + CLB + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + actmode + + -0.001 + -0.045 + 0.0755 + + left-center + yz-plane + text-value + ACT MODE + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + actmode2 + + -0.001 + -0.045 + 0.0705 + + left-center + yz-plane + text-value + MANAGED + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + timedest + + -0.001 + -0.0 + 0.0755 + + center-center + yz-plane + text-value + TIME DEST + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + timedest2 + + -0.001 + -0.0 + 0.0715 + + center-center + yz-plane + text-value + --- + false + helvetica_medium.txf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + efob + + -0.001 + 0.045 + 0.0755 + + right-center + yz-plane + text-value + EFOB + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + efob2 + + -0.001 + 0.045 + 0.0715 + + right-center + yz-plane + text-value + --- + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + ci + + -0.001 + -0.045 + 0.065 + + left-center + yz-plane + text-value + CI + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + ci2 + + -0.001 + -0.045 + 0.0605 + + left-center + yz-plane + text-value + --- + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + ci3 + + -0.001 + -0.045 + 0.0605 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/cost-index + true + false + false + 0.0050 + + 64 + 64 + + + + + select + ci2 + + /FMGC/internal/cost-index-set + + + + select + ci3 + + /FMGC/internal/cost-index-set + + + + + managed + + -0.001 + -0.045 + 0.0545 + + left-center + yz-plane + text-value + MANAGED + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + presel + + -0.001 + -0.045 + 0.0435 + + left-center + yz-plane + text-value + PRESEL + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + presel2 + + -0.001 + -0.045 + 0.0385 + + left-center + yz-plane + text-value + *[ ] + false + helvetica_medium.txf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + previous + + -0.001 + -0.045 + 0.0230 + + left-center + yz-plane + text-value + PREV + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + phase2 + + -0.001 + -0.045 + 0.0190 + + left-center + yz-plane + text-value + <PHASE + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + next + + -0.001 + 0.041 + 0.0230 + + right-center + yz-plane + text-value + NEXT + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + phase + + -0.001 + 0.043 + 0.0190 + + right-center + yz-plane + text-value + PHASE> + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + + + material + page + actmode + managed + ci + efob + trans + next + phase + previous + phase2 + timedest + + 1 + 1 + 1 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 1 + 1 + 1 + + + + + + material + efob2 + actmode2 + timedest2 + + 0.2 + 0.4 + 0.2 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0.2 + 0.4 + 0.2 + + + + + + material + presel2 + ci2 + ci3 + + 0 + 0.5 + 0.7 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0.5 + 0.7 + + + + diff --git a/Models/Instruments/MCDU1/PERF/CLB/EMPTY.ac b/Models/Instruments/MCDU1/PERF/CLB/EMPTY.ac new file mode 100644 index 00000000..4dd7e1f9 --- /dev/null +++ b/Models/Instruments/MCDU1/PERF/CLB/EMPTY.ac @@ -0,0 +1,3 @@ +AC3Db +OBJECT world +kids 0 diff --git a/Models/Instruments/MCDU1/PERF/CLB/bg.jpg b/Models/Instruments/MCDU1/PERF/CLB/bg.jpg new file mode 100644 index 00000000..b6eece57 Binary files /dev/null and b/Models/Instruments/MCDU1/PERF/CLB/bg.jpg differ diff --git a/Models/Instruments/MCDU2/MCDU2.xml b/Models/Instruments/MCDU2/MCDU2.xml index f9522985..7b645a46 100644 --- a/Models/Instruments/MCDU2/MCDU2.xml +++ b/Models/Instruments/MCDU2/MCDU2.xml @@ -136,6 +136,28 @@ + + CLB + PERF/CLB/CLB.xml + + 180 + 180 + 90 + + + + + /systems/electrical/bus/ac1 + 25 + + + /MCDU[1]/page + CLB + + + + + DATA2 DATA2/DATA2.xml diff --git a/Models/Instruments/MCDU2/PERF/CLB/CLB.xml b/Models/Instruments/MCDU2/PERF/CLB/CLB.xml new file mode 100644 index 00000000..31e352b3 --- /dev/null +++ b/Models/Instruments/MCDU2/PERF/CLB/CLB.xml @@ -0,0 +1,539 @@ + + + + + + + EMPTY.ac + + + + + page + + -0.001 + 0.0 + 0.083 + + center-center + yz-plane + text-value + CLB + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + actmode + + -0.001 + -0.045 + 0.0755 + + left-center + yz-plane + text-value + ACT MODE + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + actmode2 + + -0.001 + -0.045 + 0.0705 + + left-center + yz-plane + text-value + MANAGED + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + timedest + + -0.001 + -0.0 + 0.0755 + + center-center + yz-plane + text-value + TIME DEST + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + timedest2 + + -0.001 + -0.0 + 0.0715 + + center-center + yz-plane + text-value + --- + false + helvetica_medium.txf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + efob + + -0.001 + 0.045 + 0.0755 + + right-center + yz-plane + text-value + EFOB + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + efob2 + + -0.001 + 0.045 + 0.0715 + + right-center + yz-plane + text-value + --- + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + ci + + -0.001 + -0.045 + 0.065 + + left-center + yz-plane + text-value + CI + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + ci2 + + -0.001 + -0.045 + 0.0605 + + left-center + yz-plane + text-value + --- + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + ci3 + + -0.001 + -0.045 + 0.0605 + + left-center + yz-plane + text-value + %s + false + BoeingCDU-Large.ttf + /FMGC/internal/cost-index + true + false + false + 0.0050 + + 64 + 64 + + + + + select + ci2 + + /FMGC/internal/cost-index-set + + + + select + ci3 + + /FMGC/internal/cost-index-set + + + + + managed + + -0.001 + -0.045 + 0.0545 + + left-center + yz-plane + text-value + MANAGED + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + presel + + -0.001 + -0.045 + 0.0435 + + left-center + yz-plane + text-value + PRESEL + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + + presel2 + + -0.001 + -0.045 + 0.0385 + + left-center + yz-plane + text-value + *[ ] + false + helvetica_medium.txf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + previous + + -0.001 + -0.045 + 0.0230 + + left-center + yz-plane + text-value + PREV + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + phase2 + + -0.001 + -0.045 + 0.0190 + + left-center + yz-plane + text-value + <PHASE + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + next + + -0.001 + 0.041 + 0.0230 + + right-center + yz-plane + text-value + NEXT + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0040 + + 64 + 64 + + + + phase + + -0.001 + 0.043 + 0.0190 + + right-center + yz-plane + text-value + PHASE> + false + BoeingCDU-Large.ttf + autopilot/serviceable + true + false + false + 0.0050 + + 64 + 64 + + + + + + + material + page + actmode + managed + ci + efob + trans + next + phase + previous + phase2 + timedest + + 1 + 1 + 1 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 1 + 1 + 1 + + + + + + material + efob2 + actmode2 + timedest2 + + 0.2 + 0.4 + 0.2 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0.2 + 0.4 + 0.2 + + + + + + material + presel2 + ci2 + ci3 + + 0 + 0.5 + 0.7 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0.5 + 0.7 + + + + diff --git a/Models/Instruments/MCDU2/PERF/CLB/EMPTY.ac b/Models/Instruments/MCDU2/PERF/CLB/EMPTY.ac new file mode 100644 index 00000000..4dd7e1f9 --- /dev/null +++ b/Models/Instruments/MCDU2/PERF/CLB/EMPTY.ac @@ -0,0 +1,3 @@ +AC3Db +OBJECT world +kids 0 diff --git a/Models/Instruments/MCDU2/PERF/CLB/bg.jpg b/Models/Instruments/MCDU2/PERF/CLB/bg.jpg new file mode 100644 index 00000000..b6eece57 Binary files /dev/null and b/Models/Instruments/MCDU2/PERF/CLB/bg.jpg differ diff --git a/Nasal/MCDU1.nas b/Nasal/MCDU1.nas index 8ecb832f..2555ec07 100644 --- a/Nasal/MCDU1.nas +++ b/Nasal/MCDU1.nas @@ -17,20 +17,29 @@ var MCDU_reset = func { } var lskbutton = func(btn) { - if (btn == "4") { + if (btn == "2") { + if (getprop("/MCDU[0]/page") == "INITA") { + PerfInput("L2"); + } + } else if (btn == "4") { if (getprop("/MCDU[0]/page") == "DATA") { setprop("/MCDU[0]/page", "STATUS"); } } else if (btn == "5") { if (getprop("/MCDU[0]/page") == "INITA") { initInputA("L5"); + } else if (getprop("/MCDU[0]/page") == "CLB") { + PerfCLBInput("L5"); } } else if (btn == "6") { if (getprop("/MCDU[0]/page") == "INITA") { initInputA("L6"); + } else if (getprop("/MCDU[0]/page") == "CLB") { + PerfCLBInput("L6"); } } } + var initInputA = func(key) { var scratchpad = getprop("/MCDU[0]/scratchpad"); @@ -79,8 +88,45 @@ var initInputA = func(key) { } } +var PerfCLBInput = func(key) { + var scratchpad = getprop("/MCDU[0]/scratchpad"); + if (key == "L5") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/cost-index", 0); + setprop("/FMGC/internal/cost-index-set", 0); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var ci = int(scratchpad); + var cis = size(scratchpad); + if (cis >= 1 and cis <= 3) { + if (cis >= 0 and cis <= 120) { + setprop("/FMGC/internal/cost-index", ci); + setprop("/FMGC/internal/cost-index-set", 1); + setprop("/MCDU[0]/scratchpad", ""); + } else { + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L6") { + setprop("/MCDU[0]/page", "TO"); + } +} + +var PerfTOInput = func(key) { + if (key == "R6") { + setprop("/MCDU[0]/page", "CLB"); + } +} + var rskbutton = func(btn) { - # LOL Nothing here :D + if (btn == "6") { + if (getprop("/MCDU[0]/page") == "TO") { + PerfTOInput("R6"); + } + } } var arrowbutton = func(btn) { diff --git a/Nasal/MCDU2.nas b/Nasal/MCDU2.nas index 2615a390..307148db 100644 --- a/Nasal/MCDU2.nas +++ b/Nasal/MCDU2.nas @@ -17,17 +17,25 @@ var MCDU_reset = func { } var lskbutton = func(btn) { - if (btn == "4") { + if (btn == "2") { + if (getprop("/MCDU[1]/page") == "INITA") { + PerfInput("L2"); + } + } else if (btn == "4") { if (getprop("/MCDU[1]/page") == "DATA") { setprop("/MCDU[1]/page", "STATUS"); } } else if (btn == "5") { if (getprop("/MCDU[1]/page") == "INITA") { initInputA("L5"); + } else if (getprop("/MCDU[1]/page") == "CLB") { + PerfCLBInput("L5"); } } else if (btn == "6") { if (getprop("/MCDU[1]/page") == "INITA") { initInputA("L6"); + } else if (getprop("/MCDU[1]/page") == "CLB") { + PerfCLBInput("L6"); } } } @@ -79,8 +87,45 @@ var initInputA = func(key) { } } +var PerfCLBInput = func(key) { + var scratchpad = getprop("/MCDU[1]/scratchpad"); + if (key == "L5") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/cost-index", 0); + setprop("/FMGC/internal/cost-index-set", 0); + setprop("/MCDU[1]/scratchpad", ""); + } else { + var ci = int(scratchpad); + var cis = size(scratchpad); + if (cis >= 1 and cis <= 3) { + if (cis >= 0 and cis <= 120) { + setprop("/FMGC/internal/cost-index", ci); + setprop("/FMGC/internal/cost-index-set", 1); + setprop("/MCDU[1]/scratchpad", ""); + } else { + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } else { + setprop("/MCDU[1]/scratchpad", "NOT ALLOWED"); + } + } + } else if (key == "L6") { + setprop("/MCDU[1]/page", "TO"); + } +} + +var PerfTOInput = func(key) { + if (key == "R6") { + setprop("/MCDU[1]/page", "CLB"); + } +} + var rskbutton = func(btn) { - # LOL Nothing here :D + if (btn == "6") { + if (getprop("/MCDU[1]/page") == "TO") { + PerfTOInput("R6"); + } + } } var arrowbutton = func(btn) {