From ee13004f62f6bc25cc0e767599741ae5c03fa103 Mon Sep 17 00:00:00 2001 From: luq-mne Date: Sun, 29 Dec 2024 00:47:44 +0800 Subject: [PATCH] Updates --- assets/index-CaPZm-9L.js | 12 ------------ assets/index-CaPZm-9L.js.map | 1 - assets/index-DMVCl5b3.js | 13 +++++++++++++ assets/index-DMVCl5b3.js.map | 1 + index.html | 2 +- 5 files changed, 15 insertions(+), 14 deletions(-) delete mode 100644 assets/index-CaPZm-9L.js delete mode 100644 assets/index-CaPZm-9L.js.map create mode 100644 assets/index-DMVCl5b3.js create mode 100644 assets/index-DMVCl5b3.js.map diff --git a/assets/index-CaPZm-9L.js b/assets/index-CaPZm-9L.js deleted file mode 100644 index 21d69e8..0000000 --- a/assets/index-CaPZm-9L.js +++ /dev/null @@ -1,12 +0,0 @@ -import{O as U}from"./kaplay-DTMj0i0V.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const n of o)if(n.type==="childList")for(const c of n.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function i(o){const n={};return o.integrity&&(n.integrity=o.integrity),o.referrerPolicy&&(n.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?n.credentials="include":o.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function r(o){if(o.ep)return;o.ep=!0;const n=i(o);fetch(o.href,n)}})();function y(t){t.scene("intro",()=>{t.add([t.text("Boeing 737NG Flight Management System Simulator",{font:"arial",size:50,width:500}),t.pos(300,50),t.anchor("top")]),t.add([t.text(` -A web-based simulator of the Boeing 737-800's flight management system (FMS). Not affliated with Boeing, this is a project for educational purposes only. - -It is recommended that you have a basic background in aviation to understand how the FMS works, or at the very least, check the YouTube tutorial linked below. - `,{font:"arial",size:20,width:500}),t.pos(300,200),t.color(225,225,225),t.anchor("top")]),t.add([t.rect(500,150),t.pos(300,400),t.color(241,196,15),t.anchor("top")]),t.add([t.text("This project is optimised only for 16:9 (laptop/desktop) 1080p displays and is not designed with mobile friendliness in mind.",{font:"arial",size:30,width:480}),t.pos(300,415),t.color(0,0,0),t.anchor("top")]);const a=t.add([t.rect(500,50),t.pos(300,560),t.color(255,255,255),t.anchor("top"),t.area()]);t.add([t.text("Start",{font:"arial",size:30,width:500,align:"center"}),t.pos(300,575),t.color(0,0,0),t.anchor("top")]);const i=t.add([t.rect(500,50),t.pos(300,620),t.color(255,255,255),t.anchor("top"),t.area()]);t.add([t.text("GitHub Repository",{font:"arial",size:30,width:500,align:"center"}),t.pos(300,635),t.color(0,0,0),t.anchor("top")]),t.add([t.rect(500,50),t.pos(300,680),t.color(255,255,255),t.anchor("top")]),t.add([t.text("YouTube Tutorial",{font:"arial",size:30,width:500,align:"center"}),t.pos(300,695),t.color(0,0,0),t.anchor("top")]),a.onHover(()=>{a.color=t.rgb(225,225,225)}),a.onHoverEnd(()=>{a.color=t.rgb(255,255,255)}),a.onClick(()=>{t.go("ident")}),i.onHover(()=>{i.color=t.rgb(225,225,225)}),i.onHoverEnd(()=>{i.color=t.rgb(255,255,255)}),i.onClick(()=>{window.open("https://github.com/theluqmn/737fms")})})}let p="";function L(t){p+=t}function V(){p=""}let x={line:{left:{1:!1,2:!1,3:!1,4:!1,5:!1,6:!1},right:{1:!1,2:!1,3:!1,4:!1,5:!1,6:!1}},mode:{"INIT\nREF":!1,RTE:!1,CLB:!1,CRZ:!1,DES:!1,MENU:!1,LEGS:!1,"DEP\nARR":!1,HOLD:!1,PROG:!1,"N1\nLIMIT":!1,FIX:!1,"PREV\nPAGE":!1,"NEXT\nPAGE":!1,EXEC:!1},alphabetical:{A:!1,B:!1,C:!1,D:!1,E:!1,F:!1,G:!1,H:!1,I:!1,J:!1,K:!1,L:!1,M:!1,N:!1,O:!1,P:!1,Q:!1,R:!1,S:!1,T:!1,U:!1,V:!1,W:!1,X:!1,Y:!1,Z:!1,SP:!1,DEL:!1,"/":!1,CLR:!1},numerical:{0:!1,1:!1,2:!1,3:!1,4:!1,5:!1,6:!1,7:!1,8:!1,9:!1,".":!1,"+/-":!1}};function j(t,a){x.line[t][a]=!0,console.log(`${t} ${a} key registered`)}function Y(t,a){x.line[t][a]=!1}function E(t,a){if(t=="alphabetical"){if(x.alphabetical[a]=!0,a=="CLR"){V();return}else if(a=="DEL"){p.length>0&&(p=p.slice(0,-1));return}else if(a=="SP"){p+=" ";return}L(a)}else if(t=="numerical"){if(x.numerical[a]=!0,a=="+/-")return;L(a)}else t=="mode"&&(x.mode[a]=!0);console.log(`${t} ${a} registered`)}function R(t,a){t=="alphabetical"?x.alphabetical[a]=!1:t=="numerical"?x.numerical[a]=!1:t=="mode"&&(x.mode[a]=!1)}function l(t,a,i,r){let o=22,n=10;const c=t.add([t.rect(38,38,{radius:3}),t.pos(a,i),t.color(10,10,10),t.anchor("top"),t.area(),t.pos(a,i),t.scale(1),t.anchor("top")]);switch(r){case"CLR":o=15,n=12;break;case"DEL":o=15,n=12;break;case"SP":o=15,n=12;break}const g=t.add([t.text(r,{font:"arial",size:o,width:56,align:"center"}),t.pos(a,i+n),t.color(255,255,255),t.anchor("top"),t.scale(1)]);c.onClick(()=>{c.scaleTo(.95),g.scaleTo(.95),E("alphabetical",r),setTimeout(()=>{c.scaleTo(1),g.scaleTo(1),R("alphabetical",r)},100)})}function h(t,a,i,r){let o=24,n=8;r.length>1&&(o=14,n=12);const c=t.add([t.circle(18),t.pos(a,i),t.color(10,10,10),t.anchor("top"),t.area(),t.pos(a,i),t.scale(1),t.anchor("top")]),g=t.add([t.text(r,{font:"arial",size:o,width:56,align:"center"}),t.pos(a,i+n),t.color(255,255,255),t.anchor("top"),t.scale(1)]);c.onClick(()=>{c.scaleTo(.95),g.scaleTo(.95),E("numerical",r),setTimeout(()=>{c.scaleTo(1),g.scaleTo(1),R("numerical",r)},100)})}function d(t,a,i){let r,o=160+i*40;a=="left"?r=80:a=="right"&&(r=520);const n=t.add([t.rect(28,20),t.pos(r,o),t.color(10,10,10),t.anchor("top"),t.area(),t.scale(1),"button"]),c=t.add([t.rect(22,2),t.pos(r,o+10),t.color(225,225,225),t.anchor("center"),t.scale(1)]);return a==="left"?t.add([t.rect(18,2),t.pos(r+30,o+10),t.color(125,125,125),t.anchor("center")]):a==="right"&&t.add([t.rect(18,2),t.pos(r-30,o+10),t.color(125,125,125),t.anchor("center")]),n.onClick(()=>{n.scaleTo(.95),c.scaleTo(.95),j(a,i),setTimeout(()=>{n.scaleTo(1),c.scaleTo(1),Y(a,i)},100)}),n}function Z(t){t.add([t.rect(400,340,{radius:20}),t.pos(300,130),t.color(15,15,15),t.anchor("top")]),t.add([t.rect(360,300,{radius:15}),t.pos(300,150),t.color(0,0,0),t.anchor("top")]),d(t,"left",1),d(t,"left",2),d(t,"left",3),d(t,"left",4),d(t,"left",5),d(t,"left",6),d(t,"right",1),d(t,"right",2),d(t,"right",3),d(t,"right",4),d(t,"right",5),d(t,"right",6)}function s(t,a,i,r,o,n){let c,g,m=180;i=="text"?c=20:i=="heading"?(c=18,r-=15):i=="main"&&(c=20,m=340),a=="left"?g=130:a=="right"&&(g=290);const T=t.add([t.text(n,{font:"consolas",size:c,width:m,align:o}),t.pos(g,r),t.color(255,255,255)]);return i=="heading"&&(T.color=t.rgb(200,200,200)),T}function $(t){t.add([t.rect(420,92,{radius:6}),t.pos(300,480),t.color(25,25,25),t.anchor("top")]),t.add([t.rect(138,184,{radius:6}),t.pos(159,480),t.color(25,25,25),t.anchor("top")]),f(t,126,490,2,`INIT -REF`),f(t,190,490,1,"RTE"),f(t,254,490,1,"CLB"),f(t,318,490,1,"CRZ"),f(t,382,490,1,"DES"),f(t,126,530,1,"MENU"),f(t,190,530,1,"LEGS"),f(t,254,530,2,`DEP -ARR`),f(t,318,530,1,"HOLD"),f(t,382,530,1,"PROG"),t.add([t.rect(46,6),t.pos(466,520),t.color(2,46,0),t.anchor("top")]),f(t,466,530,1,"EXEC"),f(t,126,570,2,`N1 -LIMIT`),f(t,190,570,1,"FIX"),f(t,126,610,2,`PREV -PAGE`),f(t,190,610,2,`NEXT -PAGE`)}function f(t,a,i,r,o){const n=t.add([t.rect(56,32,{radius:3}),t.pos(a,i),t.color(10,10,10),t.anchor("top"),t.area(),t.scale(1)]);r==1&&(i+=5);const c=t.add([t.text(o,{font:"arial",size:11,width:56,align:"center"}),t.pos(a,i+5),t.color(255,255,255),t.anchor("top"),t.scale(1)]);n.onClick(()=>{n.scaleTo(.95),c.scaleTo(.95),E("mode",o),setTimeout(()=>{n.scaleTo(1),c.scaleTo(1),R("mode",o)},100)})}function q(t){l(t,266,590,"A"),l(t,319,590,"B"),l(t,372,590,"C"),l(t,425,590,"D"),l(t,478,590,"E"),l(t,266,638,"F"),l(t,319,638,"G"),l(t,372,638,"H"),l(t,425,638,"I"),l(t,478,638,"J"),l(t,266,686,"K"),l(t,319,686,"L"),l(t,372,686,"M"),l(t,425,686,"N"),l(t,478,686,"O"),l(t,266,734,"P"),l(t,319,734,"Q"),l(t,372,734,"R"),l(t,425,734,"S"),l(t,478,734,"T"),l(t,266,782,"U"),l(t,319,782,"V"),l(t,372,782,"W"),l(t,425,782,"X"),l(t,478,782,"Y"),l(t,266,830,"Z"),l(t,319,830,"SP"),l(t,372,830,"DEL"),l(t,425,830,"/"),l(t,478,830,"CLR")}function J(t){h(t,115,686,"1"),h(t,160,686,"2"),h(t,205,686,"3"),h(t,115,734,"4"),h(t,160,734,"5"),h(t,205,734,"6"),h(t,115,782,"7"),h(t,160,782,"8"),h(t,205,782,"9"),h(t,115,830,"."),h(t,160,830,"0"),h(t,205,830,"+/=")}const e={title:"",page:[0,0],left:{1:{heading:"",text:""},2:{heading:"",text:""},3:{heading:"",text:""},4:{heading:"",text:""},5:{heading:"",text:""},6:{heading:"",text:""}},right:{1:{heading:"",text:""},2:{heading:"",text:""},3:{heading:"",text:""},4:{heading:"",text:""},5:{heading:"",text:""},6:{heading:"",text:""}},scratchpad:p};function u(t,a,i,r){e[t][a].heading=i,e[t][a].text=r}function Q(t){e.title=t}function W(t,a){e.page[0]=t,e.page[1]=a}function _(t){const a=s(t,"left","main",160,"center",e.title),i=s(t,"right","main",160,"center","1/1"),r=s(t,"left","main",430,"left",e.scratchpad),o=s(t,"left","heading",200,"left",e.left[1].heading),n=s(t,"left","heading",240,"left",e.left[2].heading),c=s(t,"left","heading",280,"left",e.left[3].heading),g=s(t,"left","heading",320,"left",e.left[4].heading),m=s(t,"left","heading",360,"left",e.left[5].heading),T=s(t,"left","heading",400,"left",e.left[6].heading),P=s(t,"left","text",200,"left",e.left[1].text),S=s(t,"left","text",240,"left",e.left[2].text),N=s(t,"left","text",280,"left",e.left[3].text),w=s(t,"left","text",320,"left",e.left[4].text),C=s(t,"left","text",360,"left",e.left[5].text),A=s(t,"left","text",400,"left",e.left[6].text),D=s(t,"right","heading",200,"right",e.right[1].heading),G=s(t,"right","heading",240,"right",e.right[2].heading),O=s(t,"right","heading",280,"right",e.right[3].heading),M=s(t,"right","heading",320,"right",e.right[4].heading),z=s(t,"right","heading",360,"right",e.right[5].heading),I=s(t,"right","heading",400,"right",e.right[6].heading),F=s(t,"right","text",200,"right",e.right[1].text),B=s(t,"right","text",240,"right",e.right[2].text),v=s(t,"right","text",280,"right",e.right[3].text),H=s(t,"right","text",320,"right",e.right[4].text),K=s(t,"right","text",360,"right",e.right[5].text),X=s(t,"right","text",400,"right",e.right[6].text);t.onUpdate(()=>{a.text=e.title,r.text=p,e.page[0]>=1?i.text=e.page[0]+"/"+e.page[1]:i.text="",o.text=e.left[1].heading,n.text=e.left[2].heading,c.text=e.left[3].heading,g.text=e.left[4].heading,m.text=e.left[5].heading,T.text=e.left[6].heading,D.text=e.right[1].heading,G.text=e.right[2].heading,O.text=e.right[3].heading,M.text=e.right[4].heading,z.text=e.right[5].heading,I.text=e.right[6].heading,P.text=e.left[1].text,S.text=e.left[2].text,N.text=e.left[3].text,w.text=e.left[4].text,C.text=e.left[5].text,A.text=e.left[6].text,F.text=e.right[1].text,B.text=e.right[2].text,v.text=e.right[3].text,H.text=e.right[4].text,K.text=e.right[5].text,X.text=e.right[6].text})}function k(t){t.add([t.text(`Boeing 737NG -Flight Management Computer`,{font:"consolas",size:30}),t.pos(270,10),t.anchor("top")]),t.add([t.text("proudly made using kaplayjs",{font:"consolas",size:18,width:500}),t.pos(300,910),t.color(125,125,125),t.anchor("top")]),t.add([t.rect(500,800,{radius:20}),t.pos(300,100),t.color(20,20,20),t.anchor("top")]),t.add([t.rect(480,780,{radius:15}),t.pos(300,110),t.color(30,30,30),t.anchor("top")]),Z(t),$(t),q(t),J(t),_(t)}function tt(t){t.scene("ident",()=>{k(t),Q("IDENT"),W(0,0),u("left",1,"MODEL","737-800"),u("left",2,"NAV DATA","AIRAC-0304"),u("left",4,"OP PROGRAM","PMDG 737NG SU2"),u("left",5,"","(U10.4)"),u("right",1,"ENG RATING","24K"),u("right",2,"ACTIVE","/14AP/14MA/03"),u("left",6,"-----------------","")})}const b=U({background:[0,0,0]});y(b);tt(b);b.go("intro"); -//# sourceMappingURL=index-CaPZm-9L.js.map diff --git a/assets/index-CaPZm-9L.js.map b/assets/index-CaPZm-9L.js.map deleted file mode 100644 index 9517bfc..0000000 --- a/assets/index-CaPZm-9L.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-CaPZm-9L.js","sources":["../../src/scenes/intro.js","../../src/functions/inputEngine.js","../../src/components/keys.js","../../src/components/display.js","../../src/components/modes.js","../../src/components/alphabetical.js","../../src/components/numerical.js","../../src/functions/displayEngine.js","../../src/functions/fms.js","../../src/scenes/ident.js","../../src/main.js"],"sourcesContent":["export default function introScene(k) {\r\n k.scene(\"intro\", () => {\r\n // title and description\r\n const title = k.add([\r\n k.text(\"Boeing 737NG Flight Management System Simulator\", {\r\n font: \"arial\",\r\n size: 50,\r\n width: 500\r\n }),\r\n k.pos(300, 50),\r\n k.anchor(\"top\")\r\n ])\r\n const descriptionn = k.add([\r\n k.text(`\r\nA web-based simulator of the Boeing 737-800's flight management system (FMS). Not affliated with Boeing, this is a project for educational purposes only.\r\n\r\nIt is recommended that you have a basic background in aviation to understand how the FMS works, or at the very least, check the YouTube tutorial linked below.\r\n `, {\r\n font: \"arial\",\r\n size: 20,\r\n width: 500\r\n }),\r\n k.pos(300, 200),\r\n k.color(225,225,225),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n // notice box\r\n const noticeBox = k.add([\r\n k.rect(500, 150),\r\n k.pos(300, 400),\r\n k.color(241,196,15),\r\n k.anchor(\"top\")\r\n ]);\r\n const noticeText = k.add([\r\n k.text(\"This project is optimised only for 16:9 (laptop/desktop) 1080p displays and is not designed with mobile friendliness in mind.\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 480\r\n }),\r\n k.pos(300, 415),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n // start button\r\n const startButton = k.add([\r\n k.rect(500, 50),\r\n k.pos(300, 560),\r\n k.color(255, 255, 255),\r\n k.anchor(\"top\"),\r\n k.area()\r\n ]);\r\n const startText = k.add([\r\n k.text(\"Start\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 500,\r\n align: \"center\"\r\n }),\r\n k.pos(300, 575),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // github button\r\n const githubButton = k.add([\r\n k.rect(500, 50),\r\n k.pos(300, 620),\r\n k.color(255, 255, 255),\r\n k.anchor(\"top\"),\r\n k.area()\r\n ]);\r\n const githubText = k.add([\r\n k.text(\"GitHub Repository\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 500,\r\n align: \"center\"\r\n }),\r\n k.pos(300, 635),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // tutorial button\r\n const tutorialButton = k.add([\r\n k.rect(500, 50),\r\n k.pos(300, 680),\r\n k.color(255, 255, 255),\r\n k.anchor(\"top\")\r\n ]);\r\n const tutorialText = k.add([\r\n k.text(\"YouTube Tutorial\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 500,\r\n align: \"center\"\r\n }),\r\n k.pos(300, 695),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // logic for buttons\r\n startButton.onHover(() => { startButton.color = k.rgb(225,225,225) });\r\n startButton.onHoverEnd(() => { startButton.color = k.rgb(255,255,255) });\r\n startButton.onClick(() => { k.go(\"ident\") });\r\n\r\n githubButton.onHover(() => { githubButton.color = k.rgb(225,225,225) });\r\n githubButton.onHoverEnd(() => { githubButton.color = k.rgb(255,255,255) });\r\n githubButton.onClick(() => { window.open(\"https://github.com/theluqmn/737fms\") });\r\n });\r\n}","let scratchpadText = \"\";\r\nexport function addScratchpadText(input) { scratchpadText += input; };\r\nexport function clearScratchpadText() { scratchpadText = \"\"; };\r\n\r\nlet input = {\r\n line: {\r\n left: {\r\n 1: false, 2: false, 3: false, 4: false, 5: false, 6: false\r\n },\r\n right: {\r\n 1: false, 2: false, 3: false, 4: false, 5: false, 6: false\r\n }\r\n },\r\n mode: {\r\n \"INIT\\nREF\": false, RTE: false, CLB: false, CRZ: false, DES: false,\r\n MENU: false, LEGS: false, \"DEP\\nARR\": false, HOLD: false, PROG: false,\r\n \"N1\\nLIMIT\": false, FIX: false, \"PREV\\nPAGE\": false, \"NEXT\\nPAGE\": false,\r\n EXEC: false,\r\n },\r\n alphabetical: {\r\n A: false, B: false, C: false, D: false, E: false,\r\n F: false, G: false, H: false, I: false, J: false,\r\n K: false, L: false, M: false, N: false, O: false,\r\n P: false, Q: false, R: false, S: false, T: false,\r\n U: false, V: false, W: false, X: false, Y: false,\r\n Z: false, \"SP\": false, \"DEL\": false, \"/\": false, \"CLR\": false,\r\n },\r\n numerical: {\r\n 0: false, 1: false, 2: false, 3: false, 4: false,\r\n 5: false, 6: false, 7: false, 8: false, 9: false,\r\n \".\": false, \"+/-\": false,\r\n }\r\n}\r\n\r\nexport function lineSelectKeyRegister(side, line) { input.line[side][line] = true; console.log(`${side} ${line} key registered`); };\r\nexport function lineSelectKeyTimeout(side, line) { input.line[side][line] = false; };\r\n\r\nexport function inputRegister(type, key) {\r\n if (type == \"alphabetical\") {\r\n input.alphabetical[key] = true;\r\n\r\n if (key == \"CLR\") {\r\n clearScratchpadText();\r\n return;\r\n } else if (key == \"DEL\") {\r\n if (scratchpadText.length > 0) {\r\n scratchpadText = scratchpadText.slice(0, -1);\r\n }\r\n return;\r\n } else if (key == \"SP\") {\r\n scratchpadText += \" \";\r\n return;\r\n }\r\n\r\n addScratchpadText(key);\r\n\r\n } else if (type == \"numerical\") {\r\n input.numerical[key] = true;\r\n\r\n if (key == \"+/-\") {\r\n return;\r\n }\r\n\r\n addScratchpadText(key);\r\n\r\n } else if (type == \"mode\") {\r\n input.mode[key] = true;\r\n };\r\n\r\n console.log(`${type} ${key} registered`);\r\n}\r\n\r\nexport function inputTimeout(type, key) {\r\n if (type == \"alphabetical\") {\r\n input.alphabetical[key] = false;\r\n } else if (type == \"numerical\") {\r\n input.numerical[key] = false;\r\n } else if (type == \"mode\") {\r\n input.mode[key] = false; \r\n };\r\n};\r\n\r\nexport { scratchpadText, input };","import { inputRegister, inputTimeout, lineSelectKeyRegister, lineSelectKeyTimeout } from \"../functions/inputEngine\";\r\n\r\nexport function alphabeticalKeys(k, x, y, textInput) {\r\n let size = 22;\r\n let adjust = 10;\r\n\r\n const button = k.add([\r\n k.rect(38, 38, {\r\n radius: 3\r\n }),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.pos(x, y),\r\n k.scale(1),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n switch (textInput) {\r\n case \"CLR\":\r\n size = 15;\r\n adjust = 12;\r\n break;\r\n case \"DEL\":\r\n size = 15;\r\n adjust = 12;\r\n break;\r\n case \"SP\":\r\n size = 15;\r\n adjust = 12;\r\n break;\r\n }\r\n\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"arial\",\r\n size: size,\r\n width: 56,\r\n align: \"center\"\r\n }),\r\n k.pos(x, y + adjust),\r\n k.color(255,255,255),\r\n k.anchor(\"top\"),\r\n k.scale(1)\r\n ]);\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n text.scaleTo(0.95);\r\n inputRegister(\"alphabetical\", textInput);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n text.scaleTo(1);\r\n inputTimeout(\"alphabetical\", textInput)\r\n }, 100);\r\n });\r\n}\r\n\r\nexport function numericalKeys(k, x, y, textInput) {\r\n let size = 24;\r\n let adjust = 8;\r\n\r\n if (textInput.length > 1) {\r\n size = 14;\r\n adjust = 12;\r\n }\r\n\r\n const button = k.add([\r\n k.circle(18),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.pos(x, y),\r\n k.scale(1),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"arial\",\r\n size: size,\r\n width: 56,\r\n align: \"center\"\r\n }),\r\n k.pos(x, y + adjust),\r\n k.color(255,255,255),\r\n k.anchor(\"top\"),\r\n k.scale(1)\r\n ]);\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n text.scaleTo(0.95);\r\n inputRegister(\"numerical\", textInput);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n text.scaleTo(1);\r\n inputTimeout(\"numerical\", textInput)\r\n }, 100);\r\n });\r\n}\r\n\r\nfunction modeKeys(k, x, y, lines, textInput) {\r\n const button = k.add([\r\n k.rect(56, 32, {\r\n radius: 3\r\n }),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.scale(1)\r\n ]);\r\n \r\n if (lines == 1) { y += 5 };\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"arial\",\r\n size: 11,\r\n width: 56,\r\n align: \"center\"\r\n }),\r\n k.pos(x, y + 5),\r\n k.color(255,255,255),\r\n k.anchor(\"top\"),\r\n k.scale(1)\r\n ]);\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n text.scaleTo(0.95);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n text.scaleTo(1);\r\n if (onClick) onClick(); // Run the callback function if it's provided\r\n }, 100);\r\n });\r\n}\r\n\r\nexport function lineSelectKey(k, side, pos) {\r\n let x;\r\n let y = 160 + (pos * 40)\r\n if (side == \"left\") {\r\n x = 80\r\n } else if (side == \"right\") {\r\n x = 520\r\n }\r\n\r\n const button = k.add([\r\n k.rect(28, 20),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.scale(1),\r\n \"button\"\r\n ]);\r\n\r\n const highlight = k.add([\r\n k.rect(22, 2),\r\n k.pos(x, y + 10),\r\n k.color(225,225,225),\r\n k.anchor(\"center\"),\r\n k.scale(1),\r\n ]);\r\n\r\n if (side === \"left\") {\r\n const line = k.add([\r\n k.rect(18, 2),\r\n k.pos(x + 30, y + 10),\r\n k.color(125,125,125),\r\n k.anchor(\"center\")\r\n ]);\r\n } else if (side === \"right\") {\r\n const line = k.add([\r\n k.rect(18, 2),\r\n k.pos(x - 30, y + 10),\r\n k.color(125,125,125),\r\n k.anchor(\"center\")\r\n ]);\r\n }\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n highlight.scaleTo(0.95);\r\n lineSelectKeyRegister(side, pos);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n highlight.scaleTo(1);\r\n lineSelectKeyTimeout(side, pos)\r\n }, 100);\r\n });\r\n\r\n return button;\r\n}","import { lineSelectKey } from \"./keys\";\r\n\r\nexport function initDisplay(k) {\r\n const frame = k.add([\r\n k.rect(400, 340, {\r\n radius: 20\r\n }),\r\n k.pos(300, 130),\r\n k.color(15,15,15),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const screen = k.add([\r\n k.rect(360, 300, {\r\n radius: 15\r\n }),\r\n k.pos(300, 150),\r\n k.color(0,0,0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // left side\r\n const buttonLeft1 = lineSelectKey(k, \"left\", 1);\r\n const buttonLeft2 = lineSelectKey(k, \"left\", 2);\r\n const buttonLeft3 = lineSelectKey(k, \"left\", 3);\r\n const buttonLeft4 = lineSelectKey(k, \"left\", 4);\r\n const buttonLeft5 = lineSelectKey(k, \"left\", 5);\r\n const buttonLeft6 = lineSelectKey(k, \"left\", 6);\r\n // right side\r\n const r1 = lineSelectKey(k, \"right\", 1);\r\n const r2 = lineSelectKey(k, \"right\", 2);\r\n const r3 = lineSelectKey(k, \"right\", 3);\r\n const r4 = lineSelectKey(k, \"right\", 4);\r\n const r5 = lineSelectKey(k, \"right\", 5);\r\n const r6 = lineSelectKey(k, \"right\", 6);\r\n}\r\n\r\nexport function displayText(k, side, type, pos, align, textInput) {\r\n let size;\r\n let x;\r\n let width = 180;\r\n\r\n if (type == \"text\") {\r\n size = 20;\r\n } else if (type == \"heading\") {\r\n size = 18;\r\n pos -= 15;\r\n } else if (type == \"main\") {\r\n size = 20;\r\n width = 340;\r\n }\r\n\r\n if (side == \"left\") {\r\n x = 130;\r\n } else if (side == \"right\") {\r\n x = 290;\r\n }\r\n\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"consolas\",\r\n size: size,\r\n width: width,\r\n align: align\r\n }),\r\n k.pos(x, pos),\r\n k.color(255,255,255),\r\n ]);\r\n\r\n if (type == \"heading\") {\r\n text.color = k.rgb(200,200,200);\r\n }\r\n\r\n return text;\r\n};","import { inputRegister, inputTimeout } from \"../functions/inputEngine\";\r\n\r\nexport function initModes(k) {\r\n const frame1 = k.add([\r\n k.rect(420, 92, {\r\n radius: 6\r\n }),\r\n k.pos(300, 480),\r\n k.color(25,25,25),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const frame2 = k.add([\r\n k.rect(138, 184, {\r\n radius: 6\r\n }),\r\n k.pos(159, 480),\r\n k.color(25,25,25),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n functionButton(k, 126, 490, 2, \"INIT\\nREF\");\r\n functionButton(k, 190, 490, 1, \"RTE\");\r\n functionButton(k, 254, 490, 1, \"CLB\");\r\n functionButton(k, 318, 490, 1, \"CRZ\");\r\n functionButton(k, 382, 490, 1, \"DES\");\r\n\r\n functionButton(k, 126, 530, 1, \"MENU\");\r\n functionButton(k, 190, 530, 1, \"LEGS\");\r\n functionButton(k, 254, 530, 2, \"DEP\\nARR\");\r\n functionButton(k, 318, 530, 1, \"HOLD\");\r\n functionButton(k, 382, 530, 1, \"PROG\");\r\n\r\n const executeIndicator = k.add([\r\n k.rect(46, 6),\r\n k.pos(466, 520),\r\n k.color(2,46,0),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n functionButton(k, 466, 530, 1, \"EXEC\");\r\n\r\n functionButton(k, 126, 570, 2, \"N1\\nLIMIT\");\r\n functionButton(k, 190, 570, 1, \"FIX\");\r\n\r\n functionButton(k, 126, 610, 2, \"PREV\\nPAGE\");\r\n functionButton(k, 190, 610, 2, \"NEXT\\nPAGE\");\r\n\r\n}\r\n\r\nfunction functionButton(k, x, y, lines, textInput) {\r\n const button = k.add([\r\n k.rect(56, 32, {\r\n radius: 3\r\n }),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.scale(1)\r\n ]);\r\n \r\n if (lines == 1) { y += 5 };\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"arial\",\r\n size: 11,\r\n width: 56,\r\n align: \"center\"\r\n }),\r\n k.pos(x, y + 5),\r\n k.color(255,255,255),\r\n k.anchor(\"top\"),\r\n k.scale(1)\r\n ]);\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n text.scaleTo(0.95);\r\n inputRegister(\"mode\", textInput)\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n text.scaleTo(1);\r\n inputTimeout(\"mode\", textInput)\r\n }, 100);\r\n });\r\n}\r\n","import { alphabeticalKeys } from \"./keys\";\r\n\r\nexport function initAlphabetical(k) {\r\n // row 1\r\n alphabeticalKeys(k, 266, 590, \"A\");\r\n alphabeticalKeys(k, 319, 590, \"B\");\r\n alphabeticalKeys(k, 372, 590, \"C\");\r\n alphabeticalKeys(k, 425, 590, \"D\");\r\n alphabeticalKeys(k, 478, 590, \"E\");\r\n // row 2\r\n alphabeticalKeys(k, 266, 638, \"F\");\r\n alphabeticalKeys(k, 319, 638, \"G\");\r\n alphabeticalKeys(k, 372, 638, \"H\");\r\n alphabeticalKeys(k, 425, 638, \"I\");\r\n alphabeticalKeys(k, 478, 638, \"J\");\r\n // row 3\r\n alphabeticalKeys(k, 266, 686, \"K\");\r\n alphabeticalKeys(k, 319, 686, \"L\");\r\n alphabeticalKeys(k, 372, 686, \"M\");\r\n alphabeticalKeys(k, 425, 686, \"N\");\r\n alphabeticalKeys(k, 478, 686, \"O\");\r\n // row 4\r\n alphabeticalKeys(k, 266, 734, \"P\");\r\n alphabeticalKeys(k, 319, 734, \"Q\");\r\n alphabeticalKeys(k, 372, 734, \"R\");\r\n alphabeticalKeys(k, 425, 734, \"S\");\r\n alphabeticalKeys(k, 478, 734, \"T\");\r\n // row 5\r\n alphabeticalKeys(k, 266, 782, \"U\");\r\n alphabeticalKeys(k, 319, 782, \"V\");\r\n alphabeticalKeys(k, 372, 782, \"W\");\r\n alphabeticalKeys(k, 425, 782, \"X\");\r\n alphabeticalKeys(k, 478, 782, \"Y\");\r\n // row 6\r\n alphabeticalKeys(k, 266, 830, \"Z\");\r\n alphabeticalKeys(k, 319, 830, \"SP\");\r\n alphabeticalKeys(k, 372, 830, \"DEL\");\r\n alphabeticalKeys(k, 425, 830, \"/\");\r\n alphabeticalKeys(k, 478, 830, \"CLR\");\r\n}","import { numericalKeys } from \"./keys\";\r\n\r\nexport function initNumerical(k) {\r\n numericalKeys(k, 115, 686, \"1\");\r\n numericalKeys(k, 160, 686, \"2\");\r\n numericalKeys(k, 205, 686, \"3\");\r\n // row 2\r\n numericalKeys(k, 115, 734, \"4\");\r\n numericalKeys(k, 160, 734, \"5\");\r\n numericalKeys(k, 205, 734, \"6\");\r\n // row 3\r\n numericalKeys(k, 115, 782, \"7\");\r\n numericalKeys(k, 160, 782, \"8\");\r\n numericalKeys(k, 205, 782, \"9\");\r\n // row 4\r\n numericalKeys(k, 115, 830, \".\");\r\n numericalKeys(k, 160, 830, \"0\");\r\n numericalKeys(k, 205, 830, \"+/=\");\r\n}","import { displayText } from \"../components/display\";\r\nimport { scratchpadText } from \"./inputEngine\";\r\n\r\nexport const displayContents = {\r\n title: \"\",\r\n page: [0,0],\r\n left: {\r\n 1: { heading: \"\", text: \"\" },\r\n 2: { heading: \"\", text: \"\" },\r\n 3: { heading: \"\", text: \"\" },\r\n 4: { heading: \"\", text: \"\" },\r\n 5: { heading: \"\", text: \"\" },\r\n 6: { heading: \"\", text: \"\" },\r\n },\r\n right: {\r\n 1: { heading: \"\", text: \"\" },\r\n 2: { heading: \"\", text: \"\" },\r\n 3: { heading: \"\", text: \"\" },\r\n 4: { heading: \"\", text: \"\" },\r\n 5: { heading: \"\", text: \"\" },\r\n 6: { heading: \"\", text: \"\" },\r\n },\r\n scratchpad: scratchpadText,\r\n}\r\n\r\nexport function setLineText(side, line, heading, text) { displayContents[side][line].heading = heading; displayContents[side][line].text = text; };\r\nexport function setTitle(title) { displayContents.title = title; };\r\nexport function setPage(current, total) {\r\n displayContents.page[0] = current;\r\n displayContents.page[1] = total; \r\n};\r\n\r\nexport function displayEngine(k) {\r\n const title = displayText(k, \"left\", \"main\", 160, \"center\", displayContents.title);\r\n const page = displayText(k, \"right\", \"main\", 160, \"center\", \"1/1\");\r\n const scratchpad = displayText(k, \"left\", \"main\", 430, \"left\", displayContents.scratchpad);\r\n\r\n // left side\r\n const headingLeft1 = displayText(k, \"left\", \"heading\", 200, \"left\", displayContents.left[1].heading);\r\n const headingLeft2 = displayText(k, \"left\", \"heading\", 240, \"left\", displayContents.left[2].heading);\r\n const headingLeft3 = displayText(k, \"left\", \"heading\", 280, \"left\", displayContents.left[3].heading);\r\n const headingLeft4 = displayText(k, \"left\", \"heading\", 320, \"left\", displayContents.left[4].heading);\r\n const headingLeft5 = displayText(k, \"left\", \"heading\", 360, \"left\", displayContents.left[5].heading);\r\n const headingLeft6 = displayText(k, \"left\", \"heading\", 400, \"left\", displayContents.left[6].heading);\r\n\r\n const textLeft1 = displayText(k, \"left\", \"text\", 200, \"left\", displayContents.left[1].text);\r\n const textLeft2 = displayText(k, \"left\", \"text\", 240, \"left\", displayContents.left[2].text);\r\n const textLeft3 = displayText(k, \"left\", \"text\", 280, \"left\", displayContents.left[3].text);\r\n const textLeft4 = displayText(k, \"left\", \"text\", 320, \"left\", displayContents.left[4].text);\r\n const textLeft5 = displayText(k, \"left\", \"text\", 360, \"left\", displayContents.left[5].text);\r\n const textLeft6 = displayText(k, \"left\", \"text\", 400, \"left\", displayContents.left[6].text);\r\n\r\n // right side\r\n const headingRight1 = displayText(k, \"right\", \"heading\", 200, \"right\", displayContents.right[1].heading);\r\n const headingRight2 = displayText(k, \"right\", \"heading\", 240, \"right\", displayContents.right[2].heading);\r\n const headingRight3 = displayText(k, \"right\", \"heading\", 280, \"right\", displayContents.right[3].heading);\r\n const headingRight4 = displayText(k, \"right\", \"heading\", 320, \"right\", displayContents.right[4].heading);\r\n const headingRight5 = displayText(k, \"right\", \"heading\", 360, \"right\", displayContents.right[5].heading);\r\n const headingRight6 = displayText(k, \"right\", \"heading\", 400, \"right\", displayContents.right[6].heading);\r\n\r\n const textRight1 = displayText(k, \"right\", \"text\", 200, \"right\", displayContents.right[1].text);\r\n const textRight2 = displayText(k, \"right\", \"text\", 240, \"right\", displayContents.right[2].text);\r\n const textRight3 = displayText(k, \"right\", \"text\", 280, \"right\", displayContents.right[3].text);\r\n const textRight4 = displayText(k, \"right\", \"text\", 320, \"right\", displayContents.right[4].text);\r\n const textRight5 = displayText(k, \"right\", \"text\", 360, \"right\", displayContents.right[5].text);\r\n const textRight6 = displayText(k, \"right\", \"text\", 400, \"right\", displayContents.right[6].text);\r\n\r\n k.onUpdate(() => {\r\n title.text = displayContents.title;\r\n scratchpad.text = scratchpadText;\r\n\r\n // page number\r\n if (displayContents.page[0] >= 1) {\r\n page.text = displayContents.page[0] + \"/\" + displayContents.page[1];\r\n } else {\r\n page.text = \"\";\r\n }\r\n\r\n // right\r\n headingLeft1.text = displayContents.left[1].heading;\r\n headingLeft2.text = displayContents.left[2].heading;\r\n headingLeft3.text = displayContents.left[3].heading;\r\n headingLeft4.text = displayContents.left[4].heading;\r\n headingLeft5.text = displayContents.left[5].heading;\r\n headingLeft6.text = displayContents.left[6].heading;\r\n headingRight1.text = displayContents.right[1].heading;\r\n headingRight2.text = displayContents.right[2].heading;\r\n headingRight3.text = displayContents.right[3].heading;\r\n headingRight4.text = displayContents.right[4].heading;\r\n headingRight5.text = displayContents.right[5].heading;\r\n headingRight6.text = displayContents.right[6].heading;\r\n // left\r\n textLeft1.text = displayContents.left[1].text;\r\n textLeft2.text = displayContents.left[2].text;\r\n textLeft3.text = displayContents.left[3].text;\r\n textLeft4.text = displayContents.left[4].text;\r\n textLeft5.text = displayContents.left[5].text;\r\n textLeft6.text = displayContents.left[6].text;\r\n textRight1.text = displayContents.right[1].text;\r\n textRight2.text = displayContents.right[2].text;\r\n textRight3.text = displayContents.right[3].text;\r\n textRight4.text = displayContents.right[4].text;\r\n textRight5.text = displayContents.right[5].text;\r\n textRight6.text = displayContents.right[6].text;\r\n });\r\n}","import { initDisplay } from \"../components/display\";\r\nimport { initModes } from \"../components/modes\";\r\nimport { initAlphabetical } from \"../components/alphabetical\"\r\nimport { initNumerical } from \"../components/numerical\";\r\nimport { displayEngine } from \"../functions/displayEngine\";\r\n\r\nexport default function FMS(k) {\r\n k.add([\r\n k.text(\"Boeing 737NG\\nFlight Management Computer\", {\r\n font: \"consolas\",\r\n size: 30,\r\n }),\r\n k.pos(270, 10),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n k.add([\r\n k.text(\"proudly made using kaplayjs\", {\r\n font: \"consolas\",\r\n size: 18,\r\n width: 500\r\n }),\r\n k.pos(300, 910),\r\n k.color(125,125,125),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const frame = k.add([\r\n k.rect(500, 800, {\r\n radius: 20\r\n }),\r\n k.pos(300, 100),\r\n k.color(20,20,20),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const plate = k.add([\r\n k.rect(480, 780, {\r\n radius: 15\r\n }),\r\n k.pos(300, 110),\r\n k.color(30,30,30),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n initDisplay(k);\r\n initModes(k);\r\n initAlphabetical(k);\r\n initNumerical(k);\r\n displayEngine(k);\r\n};","import FMS from \"../functions/fms\";\r\nimport { setTitle, setPage, setLineText, displayContents } from \"../functions/displayEngine\";\r\n\r\nexport default function identScene(k) {\r\n k.scene(\"ident\", () => {\r\n FMS(k);\r\n setTitle(\"IDENT\");\r\n setPage(0,0)\r\n\r\n setLineText(\"left\", 1, \"MODEL\", \"737-800\")\r\n setLineText(\"left\", 2, \"NAV DATA\", \"AIRAC-0304\")\r\n setLineText(\"left\", 4, \"OP PROGRAM\", \"PMDG 737NG SU2\")\r\n setLineText(\"left\", 5, \"\", \"(U10.4)\")\r\n\r\n setLineText(\"right\", 1, \"ENG RATING\", \"24K\")\r\n setLineText(\"right\", 2, \"ACTIVE\", \"/14AP/14MA/03\")\r\n\r\n setLineText(\"left\", 6, \"-----------------\", \"\")\r\n });\r\n};","import kaplay from \"kaplay\";\r\nconst k = kaplay({\r\n background: [0,0,0]\r\n});\r\n\r\nimport introScene from \"./scenes/intro\";\r\nimport identScene from \"./scenes/ident\";\r\nintroScene(k);\r\nidentScene(k);\r\n\r\nk.go(\"intro\");"],"names":["introScene","k","startButton","githubButton","scratchpadText","addScratchpadText","input","clearScratchpadText","lineSelectKeyRegister","side","line","lineSelectKeyTimeout","inputRegister","type","key","inputTimeout","alphabeticalKeys","x","y","textInput","size","adjust","button","text","numericalKeys","lineSelectKey","pos","highlight","initDisplay","displayText","align","width","initModes","functionButton","lines","initAlphabetical","initNumerical","displayContents","setLineText","heading","setTitle","title","setPage","current","total","displayEngine","page","scratchpad","headingLeft1","headingLeft2","headingLeft3","headingLeft4","headingLeft5","headingLeft6","textLeft1","textLeft2","textLeft3","textLeft4","textLeft5","textLeft6","headingRight1","headingRight2","headingRight3","headingRight4","headingRight5","headingRight6","textRight1","textRight2","textRight3","textRight4","textRight5","textRight6","FMS","identScene","kaplay"],"mappings":"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"} \ No newline at end of file diff --git a/assets/index-DMVCl5b3.js b/assets/index-DMVCl5b3.js new file mode 100644 index 0000000..d302737 --- /dev/null +++ b/assets/index-DMVCl5b3.js @@ -0,0 +1,13 @@ +import{O as q}from"./kaplay-DTMj0i0V.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const c of i.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function o(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(a){if(a.ep)return;a.ep=!0;const i=o(a);fetch(a.href,i)}})();function J(t){t.scene("intro",()=>{t.add([t.text("Boeing 737NG Flight Management System Simulator",{font:"arial",size:50,width:500}),t.pos(300,50),t.anchor("top")]),t.add([t.text(` +A web-based simulator of the Boeing 737-800's flight management system (FMS). Not affliated with Boeing, this is a project for educational purposes only. + +It is recommended that you have a basic background in aviation to understand how the FMS works, or at the very least, check the YouTube tutorial linked below. + `,{font:"arial",size:20,width:500}),t.pos(300,200),t.color(225,225,225),t.anchor("top")]),t.add([t.rect(500,150),t.pos(300,400),t.color(241,196,15),t.anchor("top")]),t.add([t.text("This project is optimised only for 16:9 (laptop/desktop) 1080p displays and is not designed with mobile friendliness in mind.",{font:"arial",size:30,width:480}),t.pos(300,415),t.color(0,0,0),t.anchor("top")]);const e=t.add([t.rect(500,50),t.pos(300,560),t.color(255,255,255),t.anchor("top"),t.area()]);t.add([t.text("Start",{font:"arial",size:30,width:500,align:"center"}),t.pos(300,575),t.color(0,0,0),t.anchor("top")]);const o=t.add([t.rect(500,50),t.pos(300,620),t.color(255,255,255),t.anchor("top"),t.area()]);t.add([t.text("GitHub Repository",{font:"arial",size:30,width:500,align:"center"}),t.pos(300,635),t.color(0,0,0),t.anchor("top")]),t.add([t.rect(500,50),t.pos(300,680),t.color(255,255,255),t.anchor("top")]),t.add([t.text("YouTube Tutorial",{font:"arial",size:30,width:500,align:"center"}),t.pos(300,695),t.color(0,0,0),t.anchor("top")]),e.onHover(()=>{e.color=t.rgb(225,225,225)}),e.onHoverEnd(()=>{e.color=t.rgb(255,255,255)}),e.onClick(()=>{t.go("ident")}),o.onHover(()=>{o.color=t.rgb(225,225,225)}),o.onHoverEnd(()=>{o.color=t.rgb(255,255,255)}),o.onClick(()=>{window.open("https://github.com/theluqmn/737fms")})})}let x="";function C(t){x+=t}function D(){x=""}let g={line:{left:{1:!1,2:!1,3:!1,4:!1,5:!1,6:!1},right:{1:!1,2:!1,3:!1,4:!1,5:!1,6:!1}},mode:{"INIT\nREF":!1,RTE:!1,CLB:!1,CRZ:!1,DES:!1,MENU:!1,LEGS:!1,"DEP\nARR":!1,HOLD:!1,PROG:!1,"N1\nLIMIT":!1,FIX:!1,"PREV\nPAGE":!1,"NEXT\nPAGE":!1,EXEC:!1},alphabetical:{A:!1,B:!1,C:!1,D:!1,E:!1,F:!1,G:!1,H:!1,I:!1,J:!1,K:!1,L:!1,M:!1,N:!1,O:!1,P:!1,Q:!1,R:!1,S:!1,T:!1,U:!1,V:!1,W:!1,X:!1,Y:!1,Z:!1,SP:!1,DEL:!1,"/":!1,CLR:!1},numerical:{0:!1,1:!1,2:!1,3:!1,4:!1,5:!1,6:!1,7:!1,8:!1,9:!1,".":!1,"+/-":!1}};function Q(t,e){g.line[t][e]=!0,console.log(`${t} ${e} key registered`)}function _(t,e){g.line[t][e]=!1}function T(t){let e=!1;return o=>{o&&!e&&(e=!0,t(),setTimeout(()=>{e=!1},200))}}function N(t,e){if(t=="alphabetical"){if(g.alphabetical[e]=!0,e=="CLR"){D();return}else if(e=="DEL"){x.length>0&&(x=x.slice(0,-1));return}else if(e=="SP"){x+=" ";return}C(e)}else if(t=="numerical"){if(g.numerical[e]=!0,e=="+/-")return;C(e)}else t=="mode"&&(g.mode[e]=!0);console.log(`${t} ${e} registered`)}function b(t,e){t=="alphabetical"?g.alphabetical[e]=!1:t=="numerical"?g.numerical[e]=!1:t=="mode"&&(g.mode[e]=!1)}function n(t,e,o,r){let a=22,i=10;const c=t.add([t.rect(38,38,{radius:3}),t.pos(e,o),t.color(10,10,10),t.anchor("top"),t.area(),t.pos(e,o),t.scale(1),t.anchor("top")]);switch(r){case"CLR":a=15,i=12;break;case"DEL":a=15,i=12;break;case"SP":a=15,i=12;break}const d=t.add([t.text(r,{font:"arial",size:a,width:56,align:"center"}),t.pos(e,o+i),t.color(255,255,255),t.anchor("top"),t.scale(1)]);c.onClick(()=>{c.scaleTo(.95),d.scaleTo(.95),N("alphabetical",r),setTimeout(()=>{c.scaleTo(1),d.scaleTo(1),b("alphabetical",r)},100)})}function u(t,e,o,r){let a=24,i=8;r.length>1&&(a=14,i=12);const c=t.add([t.circle(18),t.pos(e,o),t.color(10,10,10),t.anchor("top"),t.area(),t.pos(e,o),t.scale(1),t.anchor("top")]),d=t.add([t.text(r,{font:"arial",size:a,width:56,align:"center"}),t.pos(e,o+i),t.color(255,255,255),t.anchor("top"),t.scale(1)]);c.onClick(()=>{c.scaleTo(.95),d.scaleTo(.95),N("numerical",r),setTimeout(()=>{c.scaleTo(1),d.scaleTo(1),b("numerical",r)},100)})}function h(t,e,o,r,a){const i=t.add([t.rect(56,32,{radius:3}),t.pos(e,o),t.color(10,10,10),t.anchor("top"),t.area(),t.scale(1)]);r==1&&(o+=5);const c=t.add([t.text(a,{font:"arial",size:11,width:56,align:"center"}),t.pos(e,o+5),t.color(255,255,255),t.anchor("top"),t.scale(1)]);i.onClick(()=>{i.scaleTo(.95),c.scaleTo(.95),N("mode",a),setTimeout(()=>{i.scaleTo(1),c.scaleTo(1),b("mode",a)},100)})}function p(t,e,o,r){let a,i=160+o*40;e=="left"?a=80:e=="right"&&(a=520);const c=t.add([t.rect(28,20),t.pos(a,i),t.color(10,10,10),t.anchor("top"),t.area(),t.scale(1),"button"]),d=t.add([t.rect(22,2),t.pos(a,i+10),t.color(225,225,225),t.anchor("center"),t.scale(1)]);return e==="left"?t.add([t.rect(18,2),t.pos(a+30,i+10),t.color(125,125,125),t.anchor("center")]):e==="right"&&t.add([t.rect(18,2),t.pos(a-30,i+10),t.color(125,125,125),t.anchor("center")]),c.onClick(()=>{c.scaleTo(.95),d.scaleTo(.95),Q(e,o),setTimeout(()=>{c.scaleTo(1),d.scaleTo(1),_(e,o)},100)}),c}function k(t){t.add([t.rect(400,340,{radius:20}),t.pos(300,130),t.color(15,15,15),t.anchor("top")]),t.add([t.rect(360,300,{radius:15}),t.pos(300,150),t.color(0,0,0),t.anchor("top")]),p(t,"left",1),p(t,"left",2),p(t,"left",3),p(t,"left",4),p(t,"left",5),p(t,"left",6),p(t,"right",1),p(t,"right",2),p(t,"right",3),p(t,"right",4),p(t,"right",5),p(t,"right",6)}function l(t,e,o,r,a,i,c){let d,m,R=180;o=="text"?d=20:o=="heading"?(d=18,r-=15):o=="main"&&(d=20,R=340),e=="left"?m=130:e=="right"&&(m=290);const L=t.add([t.text(i,{font:"consolas",size:d,width:R,align:a}),t.pos(m,r),t.color(255,255,255)]);return o=="heading"&&(L.color=t.rgb(200,200,200)),L}function tt(t){t.add([t.rect(420,92,{radius:6}),t.pos(300,480),t.color(25,25,25),t.anchor("top")]),t.add([t.rect(138,184,{radius:6}),t.pos(159,480),t.color(25,25,25),t.anchor("top")]),h(t,126,490,2,`INIT +REF`);const e=T(()=>{t.go("index")});h(t,190,490,1,"RTE"),h(t,254,490,1,"CLB"),h(t,318,490,1,"CRZ"),h(t,382,490,1,"DES"),h(t,126,530,1,"MENU"),h(t,190,530,1,"LEGS"),h(t,254,530,2,`DEP +ARR`),h(t,318,530,1,"HOLD"),h(t,382,530,1,"PROG"),t.add([t.rect(46,6),t.pos(466,520),t.color(2,46,0),t.anchor("top")]),h(t,466,530,1,"EXEC"),h(t,126,570,2,`N1 +LIMIT`),h(t,190,570,1,"FIX"),h(t,126,610,2,`PREV +PAGE`),h(t,190,610,2,`NEXT +PAGE`),t.onUpdate(()=>{e(g.mode[`INIT +REF`])})}function et(t){n(t,266,590,"A"),n(t,319,590,"B"),n(t,372,590,"C"),n(t,425,590,"D"),n(t,478,590,"E"),n(t,266,638,"F"),n(t,319,638,"G"),n(t,372,638,"H"),n(t,425,638,"I"),n(t,478,638,"J"),n(t,266,686,"K"),n(t,319,686,"L"),n(t,372,686,"M"),n(t,425,686,"N"),n(t,478,686,"O"),n(t,266,734,"P"),n(t,319,734,"Q"),n(t,372,734,"R"),n(t,425,734,"S"),n(t,478,734,"T"),n(t,266,782,"U"),n(t,319,782,"V"),n(t,372,782,"W"),n(t,425,782,"X"),n(t,478,782,"Y"),n(t,266,830,"Z"),n(t,319,830,"SP"),n(t,372,830,"DEL"),n(t,425,830,"/"),n(t,478,830,"CLR")}function ot(t){u(t,115,686,"1"),u(t,160,686,"2"),u(t,205,686,"3"),u(t,115,734,"4"),u(t,160,734,"5"),u(t,205,734,"6"),u(t,115,782,"7"),u(t,160,782,"8"),u(t,205,782,"9"),u(t,115,830,"."),u(t,160,830,"0"),u(t,205,830,"+/=")}const f={title:"",page:[0,0],left:{1:{heading:"",text:""},2:{heading:"",text:""},3:{heading:"",text:""},4:{heading:"",text:""},5:{heading:"",text:""},6:{heading:"",text:""}},right:{1:{heading:"",text:""},2:{heading:"",text:""},3:{heading:"",text:""},4:{heading:"",text:""},5:{heading:"",text:""},6:{heading:"",text:""}},scratchpad:x};function I(t){f.title=t}function s(t,e,o,r){f[t][e].heading=o,f[t][e].text=r}function at(t,e){x.length>0&&(f[t][e].text=x,D())}function P(){f.title="",f.page=[0,0],f.scratchpad="";for(let t=1;t<=6;t++)f.left[t]={heading:"",text:""},f.right[t]={heading:"",text:""}}function S(t,e){f.page[0]=t,f.page[1]=e}function it(t){let e=f.left,o=f.right;const r=l(t,"left","main",160,"center",f.title),a=l(t,"right","main",160,"center","1/1"),i=l(t,"left","main",430,"left",f.scratchpad),c=l(t,"left","heading",200,"left",e[1].heading),d=l(t,"left","heading",240,"left",e[2].heading),m=l(t,"left","heading",280,"left",e[3].heading),R=l(t,"left","heading",320,"left",e[4].heading),L=l(t,"left","heading",360,"left",e[5].heading),F=l(t,"left","heading",400,"left",e[6].heading),O=l(t,"left","text",200,"left",e[1].text),w=l(t,"left","text",240,"left",e[2].text),G=l(t,"left","text",280,"left",e[3].text),M=l(t,"left","text",320,"left",e[4].text),z=l(t,"left","text",360,"left",e[5].text),X=l(t,"left","text",400,"left",e[6].text),U=l(t,"right","heading",200,"right",o[1].heading),v=l(t,"right","heading",240,"right",o[2].heading),K=l(t,"right","heading",280,"right",o[3].heading),B=l(t,"right","heading",320,"right",o[4].heading),H=l(t,"right","heading",360,"right",o[5].heading),V=l(t,"right","heading",400,"right",o[6].heading),Z=l(t,"right","text",200,"right",o[1].text),y=l(t,"right","text",240,"right",o[2].text),j=l(t,"right","text",280,"right",o[3].text),W=l(t,"right","text",320,"right",o[4].text),Y=l(t,"right","text",360,"right",o[5].text),$=l(t,"right","text",400,"right",o[6].text);t.onUpdate(()=>{r.text=f.title,i.text=x,f.page[0]>=1?a.text=f.page[0]+"/"+f.page[1]:a.text="",c.text=e[1].heading,d.text=e[2].heading,m.text=e[3].heading,R.text=e[4].heading,L.text=e[5].heading,F.text=e[6].heading,U.text=o[1].heading,v.text=o[2].heading,K.text=o[3].heading,B.text=o[4].heading,H.text=o[5].heading,V.text=o[6].heading,O.text=e[1].text,w.text=e[2].text,G.text=e[3].text,M.text=e[4].text,z.text=e[5].text,X.text=e[6].text,Z.text=o[1].text,y.text=o[2].text,j.text=o[3].text,W.text=o[4].text,Y.text=o[5].text,$.text=o[6].text})}function A(t){t.add([t.text(`Boeing 737NG +Flight Management Computer`,{font:"consolas",size:30}),t.pos(270,10),t.anchor("top")]),t.add([t.text("proudly made using kaplayjs",{font:"consolas",size:18,width:500}),t.pos(300,910),t.color(125,125,125),t.anchor("top")]),t.add([t.rect(500,800,{radius:20}),t.pos(300,100),t.color(20,20,20),t.anchor("top")]),t.add([t.rect(480,780,{radius:15}),t.pos(300,110),t.color(30,30,30),t.anchor("top")]),k(t),tt(t),et(t),ot(t),it(t)}function nt(t){t.scene("ident",()=>{A(t),P(),I("IDENT"),S(0,0),s("left",1,"MODEL","737-800"),s("left",2,"NAV DATA","AIRAC-0304"),s("left",4,"OP PROGRAM","PMDG 737NG SU2"),s("left",5,"","(U10.4)"),s("right",1,"ENG RATING","24K"),s("right",2,"ACTIVE","/14AP/14MA/03"),s("left",6,"-----------------","");const e=T(()=>{t.go("index")});t.onUpdate(()=>{e(g.line.left[6])})})}function lt(t){t.scene("index",()=>{A(t),P(),I("INIT/REF INDEX"),S(1,1),s("left",1,"","{t.go("ident")});s("left",2,"","{t.go("perf-init")});s("left",4,"",""),s("right",5,"","SEL CONFIG>"),s("right",6,"","MAINT>"),t.onUpdate(()=>{e(g.line.left[1]),o(g.line.left[3])})})}function st(t){t.scene("perf-init",()=>{A(t),P(),I("PERF INIT"),S(1,2),s("left",1," GW/CRZ CG","---.-/ 5.0"),s("left",2," PLAN/FUEL","/ 4.8"),s("left",3," ZFW","---.-"),s("left",4," RESERVES","--.-"),s("left",5," COST INDEX","---");const e=T(()=>{at("left",5)});s("right",1,"TRIP/CRZ ALT","-----"),s("right",2,"CRZ WIND","---°/---"),s("right",5,"TRANS ALT","5000"),s("left",6,"-----------------","{t.go("index")});s("right",6,"-----------------","N1 LIMIT>"),t.onUpdate(()=>{o(g.line.left[6]),e(g.line.left[5])})})}const E=q({background:[0,0,0]});J(E);nt(E);lt(E);st(E);E.go("intro"); +//# sourceMappingURL=index-DMVCl5b3.js.map diff --git a/assets/index-DMVCl5b3.js.map b/assets/index-DMVCl5b3.js.map new file mode 100644 index 0000000..249910f --- /dev/null +++ b/assets/index-DMVCl5b3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-DMVCl5b3.js","sources":["../../src/scenes/intro.js","../../src/functions/inputEngine.js","../../src/components/keys.js","../../src/components/display.js","../../src/components/modes.js","../../src/components/alphabetical.js","../../src/components/numerical.js","../../src/functions/displayEngine.js","../../src/functions/fms.js","../../src/scenes/ident.js","../../src/scenes/index.js","../../src/scenes/perfInit.js","../../src/main.js"],"sourcesContent":["export default function introScene(k) {\r\n k.scene(\"intro\", () => {\r\n // title and description\r\n const title = k.add([\r\n k.text(\"Boeing 737NG Flight Management System Simulator\", {\r\n font: \"arial\",\r\n size: 50,\r\n width: 500\r\n }),\r\n k.pos(300, 50),\r\n k.anchor(\"top\")\r\n ])\r\n const descriptionn = k.add([\r\n k.text(`\r\nA web-based simulator of the Boeing 737-800's flight management system (FMS). Not affliated with Boeing, this is a project for educational purposes only.\r\n\r\nIt is recommended that you have a basic background in aviation to understand how the FMS works, or at the very least, check the YouTube tutorial linked below.\r\n `, {\r\n font: \"arial\",\r\n size: 20,\r\n width: 500\r\n }),\r\n k.pos(300, 200),\r\n k.color(225,225,225),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n // notice box\r\n const noticeBox = k.add([\r\n k.rect(500, 150),\r\n k.pos(300, 400),\r\n k.color(241,196,15),\r\n k.anchor(\"top\")\r\n ]);\r\n const noticeText = k.add([\r\n k.text(\"This project is optimised only for 16:9 (laptop/desktop) 1080p displays and is not designed with mobile friendliness in mind.\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 480\r\n }),\r\n k.pos(300, 415),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n // start button\r\n const startButton = k.add([\r\n k.rect(500, 50),\r\n k.pos(300, 560),\r\n k.color(255, 255, 255),\r\n k.anchor(\"top\"),\r\n k.area()\r\n ]);\r\n const startText = k.add([\r\n k.text(\"Start\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 500,\r\n align: \"center\"\r\n }),\r\n k.pos(300, 575),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // github button\r\n const githubButton = k.add([\r\n k.rect(500, 50),\r\n k.pos(300, 620),\r\n k.color(255, 255, 255),\r\n k.anchor(\"top\"),\r\n k.area()\r\n ]);\r\n const githubText = k.add([\r\n k.text(\"GitHub Repository\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 500,\r\n align: \"center\"\r\n }),\r\n k.pos(300, 635),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // tutorial button\r\n const tutorialButton = k.add([\r\n k.rect(500, 50),\r\n k.pos(300, 680),\r\n k.color(255, 255, 255),\r\n k.anchor(\"top\")\r\n ]);\r\n const tutorialText = k.add([\r\n k.text(\"YouTube Tutorial\", {\r\n font: \"arial\",\r\n size: 30,\r\n width: 500,\r\n align: \"center\"\r\n }),\r\n k.pos(300, 695),\r\n k.color(0, 0, 0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // logic for buttons\r\n startButton.onHover(() => { startButton.color = k.rgb(225,225,225) });\r\n startButton.onHoverEnd(() => { startButton.color = k.rgb(255,255,255) });\r\n startButton.onClick(() => { k.go(\"ident\") });\r\n\r\n githubButton.onHover(() => { githubButton.color = k.rgb(225,225,225) });\r\n githubButton.onHoverEnd(() => { githubButton.color = k.rgb(255,255,255) });\r\n githubButton.onClick(() => { window.open(\"https://github.com/theluqmn/737fms\") });\r\n });\r\n}","let scratchpadText = \"\";\r\nexport function addScratchpadText(input) { scratchpadText += input; };\r\nexport function clearScratchpadText() { scratchpadText = \"\"; };\r\n\r\nlet input = {\r\n line: {\r\n left: {\r\n 1: false, 2: false, 3: false, 4: false, 5: false, 6: false\r\n },\r\n right: {\r\n 1: false, 2: false, 3: false, 4: false, 5: false, 6: false\r\n }\r\n },\r\n mode: {\r\n \"INIT\\nREF\": false, RTE: false, CLB: false, CRZ: false, DES: false,\r\n MENU: false, LEGS: false, \"DEP\\nARR\": false, HOLD: false, PROG: false,\r\n \"N1\\nLIMIT\": false, FIX: false, \"PREV\\nPAGE\": false, \"NEXT\\nPAGE\": false,\r\n EXEC: false,\r\n },\r\n alphabetical: {\r\n A: false, B: false, C: false, D: false, E: false,\r\n F: false, G: false, H: false, I: false, J: false,\r\n K: false, L: false, M: false, N: false, O: false,\r\n P: false, Q: false, R: false, S: false, T: false,\r\n U: false, V: false, W: false, X: false, Y: false,\r\n Z: false, \"SP\": false, \"DEL\": false, \"/\": false, \"CLR\": false,\r\n },\r\n numerical: {\r\n 0: false, 1: false, 2: false, 3: false, 4: false,\r\n 5: false, 6: false, 7: false, 8: false, 9: false,\r\n \".\": false, \"+/-\": false,\r\n }\r\n}\r\n\r\nexport function lineSelectKeyRegister(side, line) { input.line[side][line] = true; console.log(`${side} ${line} key registered`); };\r\nexport function lineSelectKeyTimeout(side, line) { input.line[side][line] = false; };\r\n\r\nexport function handleInput(callback) {\r\n let isProcessing = false;\r\n \r\n return (condition) => {\r\n if (condition && !isProcessing) {\r\n isProcessing = true;\r\n callback();\r\n \r\n setTimeout(() => {\r\n isProcessing = false;\r\n }, 200);\r\n }\r\n };\r\n}\r\n\r\nexport function inputRegister(type, key) {\r\n if (type == \"alphabetical\") {\r\n input.alphabetical[key] = true;\r\n\r\n if (key == \"CLR\") {\r\n clearScratchpadText();\r\n return;\r\n } else if (key == \"DEL\") {\r\n if (scratchpadText.length > 0) {\r\n scratchpadText = scratchpadText.slice(0, -1);\r\n }\r\n return;\r\n } else if (key == \"SP\") {\r\n scratchpadText += \" \";\r\n return;\r\n }\r\n\r\n addScratchpadText(key);\r\n\r\n } else if (type == \"numerical\") {\r\n input.numerical[key] = true;\r\n\r\n if (key == \"+/-\") {\r\n return;\r\n }\r\n\r\n addScratchpadText(key);\r\n\r\n } else if (type == \"mode\") {\r\n input.mode[key] = true;\r\n };\r\n\r\n console.log(`${type} ${key} registered`);\r\n}\r\n\r\nexport function inputTimeout(type, key) {\r\n if (type == \"alphabetical\") {\r\n input.alphabetical[key] = false;\r\n } else if (type == \"numerical\") {\r\n input.numerical[key] = false;\r\n } else if (type == \"mode\") {\r\n input.mode[key] = false; \r\n };\r\n};\r\n\r\nexport { scratchpadText, input };","import { inputRegister, inputTimeout, lineSelectKeyRegister, lineSelectKeyTimeout } from \"../functions/inputEngine\";\r\n\r\nexport function alphabeticalKeys(k, x, y, textInput) {\r\n let size = 22;\r\n let adjust = 10;\r\n\r\n const button = k.add([\r\n k.rect(38, 38, {\r\n radius: 3\r\n }),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.pos(x, y),\r\n k.scale(1),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n switch (textInput) {\r\n case \"CLR\":\r\n size = 15;\r\n adjust = 12;\r\n break;\r\n case \"DEL\":\r\n size = 15;\r\n adjust = 12;\r\n break;\r\n case \"SP\":\r\n size = 15;\r\n adjust = 12;\r\n break;\r\n }\r\n\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"arial\",\r\n size: size,\r\n width: 56,\r\n align: \"center\"\r\n }),\r\n k.pos(x, y + adjust),\r\n k.color(255,255,255),\r\n k.anchor(\"top\"),\r\n k.scale(1)\r\n ]);\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n text.scaleTo(0.95);\r\n inputRegister(\"alphabetical\", textInput);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n text.scaleTo(1);\r\n inputTimeout(\"alphabetical\", textInput)\r\n }, 100);\r\n });\r\n}\r\n\r\nexport function numericalKeys(k, x, y, textInput) {\r\n let size = 24;\r\n let adjust = 8;\r\n\r\n if (textInput.length > 1) {\r\n size = 14;\r\n adjust = 12;\r\n }\r\n\r\n const button = k.add([\r\n k.circle(18),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.pos(x, y),\r\n k.scale(1),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"arial\",\r\n size: size,\r\n width: 56,\r\n align: \"center\"\r\n }),\r\n k.pos(x, y + adjust),\r\n k.color(255,255,255),\r\n k.anchor(\"top\"),\r\n k.scale(1)\r\n ]);\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n text.scaleTo(0.95);\r\n inputRegister(\"numerical\", textInput);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n text.scaleTo(1);\r\n inputTimeout(\"numerical\", textInput)\r\n }, 100);\r\n });\r\n}\r\n\r\nexport function modeKeys(k, x, y, lines, textInput) {\r\n const button = k.add([\r\n k.rect(56, 32, {\r\n radius: 3\r\n }),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.scale(1)\r\n ]);\r\n \r\n if (lines == 1) { y += 5 };\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"arial\",\r\n size: 11,\r\n width: 56,\r\n align: \"center\"\r\n }),\r\n k.pos(x, y + 5),\r\n k.color(255,255,255),\r\n k.anchor(\"top\"),\r\n k.scale(1)\r\n ]);\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n text.scaleTo(0.95);\r\n inputRegister(\"mode\", textInput);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n text.scaleTo(1);\r\n inputTimeout(\"mode\", textInput)\r\n }, 100);\r\n });\r\n}\r\n\r\nexport function lineSelectKey(k, side, pos, activated) {\r\n let x;\r\n let y = 160 + (pos * 40)\r\n if (side == \"left\") {\r\n x = 80\r\n } else if (side == \"right\") {\r\n x = 520\r\n }\r\n\r\n const button = k.add([\r\n k.rect(28, 20),\r\n k.pos(x, y),\r\n k.color(10,10,10),\r\n k.anchor(\"top\"),\r\n k.area(),\r\n k.scale(1),\r\n \"button\"\r\n ]);\r\n\r\n const highlight = k.add([\r\n k.rect(22, 2),\r\n k.pos(x, y + 10),\r\n k.color(225,225,225),\r\n k.anchor(\"center\"),\r\n k.scale(1),\r\n ]);\r\n\r\n if (side === \"left\") {\r\n const line = k.add([\r\n k.rect(18, 2),\r\n k.pos(x + 30, y + 10),\r\n k.color(125,125,125),\r\n k.anchor(\"center\")\r\n ]);\r\n } else if (side === \"right\") {\r\n const line = k.add([\r\n k.rect(18, 2),\r\n k.pos(x - 30, y + 10),\r\n k.color(125,125,125),\r\n k.anchor(\"center\")\r\n ]);\r\n }\r\n\r\n button.onClick(() => {\r\n button.scaleTo(0.95);\r\n highlight.scaleTo(0.95);\r\n lineSelectKeyRegister(side, pos);\r\n setTimeout(() => {\r\n button.scaleTo(1);\r\n highlight.scaleTo(1);\r\n lineSelectKeyTimeout(side, pos)\r\n }, 100);\r\n });\r\n\r\n return button;\r\n}","import { lineSelectKey } from \"./keys\";\r\n\r\nexport function initDisplay(k) {\r\n const frame = k.add([\r\n k.rect(400, 340, {\r\n radius: 20\r\n }),\r\n k.pos(300, 130),\r\n k.color(15,15,15),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const screen = k.add([\r\n k.rect(360, 300, {\r\n radius: 15\r\n }),\r\n k.pos(300, 150),\r\n k.color(0,0,0),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n // left side\r\n const buttonLeft1 = lineSelectKey(k, \"left\", 1);\r\n const buttonLeft2 = lineSelectKey(k, \"left\", 2);\r\n const buttonLeft3 = lineSelectKey(k, \"left\", 3);\r\n const buttonLeft4 = lineSelectKey(k, \"left\", 4);\r\n const buttonLeft5 = lineSelectKey(k, \"left\", 5);\r\n const buttonLeft6 = lineSelectKey(k, \"left\", 6);\r\n // right side\r\n const r1 = lineSelectKey(k, \"right\", 1);\r\n const r2 = lineSelectKey(k, \"right\", 2);\r\n const r3 = lineSelectKey(k, \"right\", 3);\r\n const r4 = lineSelectKey(k, \"right\", 4);\r\n const r5 = lineSelectKey(k, \"right\", 5);\r\n const r6 = lineSelectKey(k, \"right\", 6);\r\n}\r\n\r\nexport function displayText(k, side, type, pos, align, textInput, activated) {\r\n let size;\r\n let x;\r\n let width = 180;\r\n\r\n if (type == \"text\") {\r\n size = 20;\r\n } else if (type == \"heading\") {\r\n size = 18;\r\n pos -= 15;\r\n } else if (type == \"main\") {\r\n size = 20;\r\n width = 340;\r\n }\r\n\r\n if (side == \"left\") {\r\n x = 130;\r\n } else if (side == \"right\") {\r\n x = 290;\r\n }\r\n\r\n const text = k.add([\r\n k.text(textInput, {\r\n font: \"consolas\",\r\n size: size,\r\n width: width,\r\n align: align\r\n }),\r\n k.pos(x, pos),\r\n k.color(255,255,255),\r\n ]);\r\n\r\n if (type == \"heading\") {\r\n text.color = k.rgb(200,200,200);\r\n }\r\n\r\n if (activated == false) {\r\n text.color = k.rgb(125,125,125)\r\n }\r\n\r\n return text;\r\n};","import { input, handleInput } from \"../functions/inputEngine\";\r\nimport { modeKeys } from \"./keys\";\r\n\r\nexport function initModes(k) {\r\n const frame1 = k.add([\r\n k.rect(420, 92, {\r\n radius: 6\r\n }),\r\n k.pos(300, 480),\r\n k.color(25,25,25),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const frame2 = k.add([\r\n k.rect(138, 184, {\r\n radius: 6\r\n }),\r\n k.pos(159, 480),\r\n k.color(25,25,25),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n modeKeys(k, 126, 490, 2, \"INIT\\nREF\");\r\n const initRef = handleInput(() => {\r\n k.go(\"index\")\r\n })\r\n\r\n modeKeys(k, 190, 490, 1, \"RTE\");\r\n modeKeys(k, 254, 490, 1, \"CLB\");\r\n modeKeys(k, 318, 490, 1, \"CRZ\");\r\n modeKeys(k, 382, 490, 1, \"DES\");\r\n\r\n modeKeys(k, 126, 530, 1, \"MENU\");\r\n modeKeys(k, 190, 530, 1, \"LEGS\");\r\n modeKeys(k, 254, 530, 2, \"DEP\\nARR\");\r\n modeKeys(k, 318, 530, 1, \"HOLD\");\r\n modeKeys(k, 382, 530, 1, \"PROG\");\r\n\r\n k.add([\r\n k.rect(46, 6),\r\n k.pos(466, 520),\r\n k.color(2,46,0),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n modeKeys(k, 466, 530, 1, \"EXEC\");\r\n\r\n modeKeys(k, 126, 570, 2, \"N1\\nLIMIT\");\r\n modeKeys(k, 190, 570, 1, \"FIX\");\r\n\r\n modeKeys(k, 126, 610, 2, \"PREV\\nPAGE\");\r\n modeKeys(k, 190, 610, 2, \"NEXT\\nPAGE\");\r\n\r\n k.onUpdate(() => {\r\n initRef(input.mode[\"INIT\\nREF\"])\r\n })\r\n}","import { alphabeticalKeys } from \"./keys\";\r\n\r\nexport function initAlphabetical(k) {\r\n // row 1\r\n alphabeticalKeys(k, 266, 590, \"A\");\r\n alphabeticalKeys(k, 319, 590, \"B\");\r\n alphabeticalKeys(k, 372, 590, \"C\");\r\n alphabeticalKeys(k, 425, 590, \"D\");\r\n alphabeticalKeys(k, 478, 590, \"E\");\r\n // row 2\r\n alphabeticalKeys(k, 266, 638, \"F\");\r\n alphabeticalKeys(k, 319, 638, \"G\");\r\n alphabeticalKeys(k, 372, 638, \"H\");\r\n alphabeticalKeys(k, 425, 638, \"I\");\r\n alphabeticalKeys(k, 478, 638, \"J\");\r\n // row 3\r\n alphabeticalKeys(k, 266, 686, \"K\");\r\n alphabeticalKeys(k, 319, 686, \"L\");\r\n alphabeticalKeys(k, 372, 686, \"M\");\r\n alphabeticalKeys(k, 425, 686, \"N\");\r\n alphabeticalKeys(k, 478, 686, \"O\");\r\n // row 4\r\n alphabeticalKeys(k, 266, 734, \"P\");\r\n alphabeticalKeys(k, 319, 734, \"Q\");\r\n alphabeticalKeys(k, 372, 734, \"R\");\r\n alphabeticalKeys(k, 425, 734, \"S\");\r\n alphabeticalKeys(k, 478, 734, \"T\");\r\n // row 5\r\n alphabeticalKeys(k, 266, 782, \"U\");\r\n alphabeticalKeys(k, 319, 782, \"V\");\r\n alphabeticalKeys(k, 372, 782, \"W\");\r\n alphabeticalKeys(k, 425, 782, \"X\");\r\n alphabeticalKeys(k, 478, 782, \"Y\");\r\n // row 6\r\n alphabeticalKeys(k, 266, 830, \"Z\");\r\n alphabeticalKeys(k, 319, 830, \"SP\");\r\n alphabeticalKeys(k, 372, 830, \"DEL\");\r\n alphabeticalKeys(k, 425, 830, \"/\");\r\n alphabeticalKeys(k, 478, 830, \"CLR\");\r\n}","import { numericalKeys } from \"./keys\";\r\n\r\nexport function initNumerical(k) {\r\n numericalKeys(k, 115, 686, \"1\");\r\n numericalKeys(k, 160, 686, \"2\");\r\n numericalKeys(k, 205, 686, \"3\");\r\n // row 2\r\n numericalKeys(k, 115, 734, \"4\");\r\n numericalKeys(k, 160, 734, \"5\");\r\n numericalKeys(k, 205, 734, \"6\");\r\n // row 3\r\n numericalKeys(k, 115, 782, \"7\");\r\n numericalKeys(k, 160, 782, \"8\");\r\n numericalKeys(k, 205, 782, \"9\");\r\n // row 4\r\n numericalKeys(k, 115, 830, \".\");\r\n numericalKeys(k, 160, 830, \"0\");\r\n numericalKeys(k, 205, 830, \"+/=\");\r\n}","import { displayText } from \"../components/display\";\r\nimport { clearScratchpadText, scratchpadText } from \"./inputEngine\";\r\n\r\nexport const displayContents = {\r\n title: \"\",\r\n page: [0,0],\r\n left: {\r\n 1: { heading: \"\", text: \"\"},\r\n 2: { heading: \"\", text: \"\"},\r\n 3: { heading: \"\", text: \"\"},\r\n 4: { heading: \"\", text: \"\"},\r\n 5: { heading: \"\", text: \"\"},\r\n 6: { heading: \"\", text: \"\"},\r\n },\r\n right: {\r\n 1: { heading: \"\", text: \"\"},\r\n 2: { heading: \"\", text: \"\"},\r\n 3: { heading: \"\", text: \"\"},\r\n 4: { heading: \"\", text: \"\"},\r\n 5: { heading: \"\", text: \"\"},\r\n 6: { heading: \"\", text: \"\"},\r\n },\r\n scratchpad: scratchpadText,\r\n}\r\n\r\nexport function setTitle(title) {\r\n displayContents.title = title;\r\n};\r\n\r\nexport function setLineText(side, line, heading, text) {\r\n displayContents[side][line].heading = heading;\r\n displayContents[side][line].text = text;\r\n};\r\n\r\nexport function scratchpadInsert(side, line) {\r\n if (scratchpadText.length > 0) {\r\n displayContents[side][line].text = scratchpadText;\r\n clearScratchpadText();\r\n }\r\n}\r\n\r\nexport function clearLines() {\r\n displayContents.title = \"\"\r\n displayContents.page = [0,0]\r\n displayContents.scratchpad = \"\"\r\n \r\n for (let i = 1; i <= 6; i++) {\r\n displayContents.left[i] = { heading: \"\", text: \"\"}\r\n displayContents.right[i] = { heading: \"\", text: \"\"}\r\n }\r\n}\r\n\r\nexport function setPage(current, total) {\r\n displayContents.page[0] = current;\r\n displayContents.page[1] = total; \r\n};\r\n\r\nexport function displayEngine(k) {\r\n let left = displayContents.left\r\n let right = displayContents.right\r\n\r\n const title = displayText(k, \"left\", \"main\", 160, \"center\", displayContents.title);\r\n const page = displayText(k, \"right\", \"main\", 160, \"center\", \"1/1\");\r\n const scratchpad = displayText(k, \"left\", \"main\", 430, \"left\", displayContents.scratchpad);\r\n\r\n // left side\r\n const headingLeft1 = displayText(k, \"left\", \"heading\", 200, \"left\", left[1].heading);\r\n const headingLeft2 = displayText(k, \"left\", \"heading\", 240, \"left\", left[2].heading);\r\n const headingLeft3 = displayText(k, \"left\", \"heading\", 280, \"left\", left[3].heading);\r\n const headingLeft4 = displayText(k, \"left\", \"heading\", 320, \"left\", left[4].heading);\r\n const headingLeft5 = displayText(k, \"left\", \"heading\", 360, \"left\", left[5].heading);\r\n const headingLeft6 = displayText(k, \"left\", \"heading\", 400, \"left\", left[6].heading);\r\n\r\n const textLeft1 = displayText(k, \"left\", \"text\", 200, \"left\", left[1].text);\r\n const textLeft2 = displayText(k, \"left\", \"text\", 240, \"left\", left[2].text);\r\n const textLeft3 = displayText(k, \"left\", \"text\", 280, \"left\", left[3].text);\r\n const textLeft4 = displayText(k, \"left\", \"text\", 320, \"left\", left[4].text);\r\n const textLeft5 = displayText(k, \"left\", \"text\", 360, \"left\", left[5].text);\r\n const textLeft6 = displayText(k, \"left\", \"text\", 400, \"left\", left[6].text);\r\n\r\n // right side\r\n const headingRight1 = displayText(k, \"right\", \"heading\", 200, \"right\", right[1].heading);\r\n const headingRight2 = displayText(k, \"right\", \"heading\", 240, \"right\", right[2].heading);\r\n const headingRight3 = displayText(k, \"right\", \"heading\", 280, \"right\", right[3].heading);\r\n const headingRight4 = displayText(k, \"right\", \"heading\", 320, \"right\", right[4].heading);\r\n const headingRight5 = displayText(k, \"right\", \"heading\", 360, \"right\", right[5].heading);\r\n const headingRight6 = displayText(k, \"right\", \"heading\", 400, \"right\", right[6].heading);\r\n\r\n const textRight1 = displayText(k, \"right\", \"text\", 200, \"right\", right[1].text);\r\n const textRight2 = displayText(k, \"right\", \"text\", 240, \"right\", right[2].text);\r\n const textRight3 = displayText(k, \"right\", \"text\", 280, \"right\", right[3].text);\r\n const textRight4 = displayText(k, \"right\", \"text\", 320, \"right\", right[4].text);\r\n const textRight5 = displayText(k, \"right\", \"text\", 360, \"right\", right[5].text);\r\n const textRight6 = displayText(k, \"right\", \"text\", 400, \"right\", right[6].text);\r\n\r\n k.onUpdate(() => {\r\n title.text = displayContents.title;\r\n scratchpad.text = scratchpadText;\r\n\r\n // page number\r\n if (displayContents.page[0] >= 1) {\r\n page.text = displayContents.page[0] + \"/\" + displayContents.page[1];\r\n } else {\r\n page.text = \"\";\r\n }\r\n\r\n // heading\r\n headingLeft1.text = left[1].heading;\r\n headingLeft2.text = left[2].heading;\r\n headingLeft3.text = left[3].heading;\r\n headingLeft4.text = left[4].heading;\r\n headingLeft5.text = left[5].heading;\r\n headingLeft6.text = left[6].heading;\r\n headingRight1.text = right[1].heading;\r\n headingRight2.text = right[2].heading;\r\n headingRight3.text = right[3].heading;\r\n headingRight4.text = right[4].heading;\r\n headingRight5.text = right[5].heading;\r\n headingRight6.text = right[6].heading;\r\n // text\r\n textLeft1.text = left[1].text;\r\n textLeft2.text = left[2].text;\r\n textLeft3.text = left[3].text;\r\n textLeft4.text = left[4].text;\r\n textLeft5.text = left[5].text;\r\n textLeft6.text = left[6].text;\r\n textRight1.text = right[1].text;\r\n textRight2.text = right[2].text;\r\n textRight3.text = right[3].text;\r\n textRight4.text = right[4].text;\r\n textRight5.text = right[5].text;\r\n textRight6.text = right[6].text;\r\n });\r\n}","import { initDisplay } from \"../components/display\";\r\nimport { initModes } from \"../components/modes\";\r\nimport { initAlphabetical } from \"../components/alphabetical\"\r\nimport { initNumerical } from \"../components/numerical\";\r\nimport { displayEngine } from \"../functions/displayEngine\";\r\n\r\nexport default function FMS(k) {\r\n k.add([\r\n k.text(\"Boeing 737NG\\nFlight Management Computer\", {\r\n font: \"consolas\",\r\n size: 30,\r\n }),\r\n k.pos(270, 10),\r\n k.anchor(\"top\")\r\n ])\r\n\r\n k.add([\r\n k.text(\"proudly made using kaplayjs\", {\r\n font: \"consolas\",\r\n size: 18,\r\n width: 500\r\n }),\r\n k.pos(300, 910),\r\n k.color(125,125,125),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const frame = k.add([\r\n k.rect(500, 800, {\r\n radius: 20\r\n }),\r\n k.pos(300, 100),\r\n k.color(20,20,20),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n const plate = k.add([\r\n k.rect(480, 780, {\r\n radius: 15\r\n }),\r\n k.pos(300, 110),\r\n k.color(30,30,30),\r\n k.anchor(\"top\")\r\n ]);\r\n\r\n initDisplay(k);\r\n initModes(k);\r\n initAlphabetical(k);\r\n initNumerical(k);\r\n displayEngine(k);\r\n};","import FMS from \"../functions/fms\";\r\nimport { setTitle, setPage, setLineText, clearLines} from \"../functions/displayEngine\";\r\nimport { input, handleInput } from \"../functions/inputEngine\";\r\n\r\nexport default function identScene(k) {\r\n k.scene(\"ident\", () => {\r\n FMS(k);\r\n clearLines();\r\n\r\n setTitle(\"IDENT\");\r\n setPage(0,0)\r\n\r\n setLineText(\"left\", 1, \"MODEL\", \"737-800\")\r\n setLineText(\"left\", 2, \"NAV DATA\", \"AIRAC-0304\")\r\n setLineText(\"left\", 4, \"OP PROGRAM\", \"PMDG 737NG SU2\")\r\n setLineText(\"left\", 5, \"\", \"(U10.4)\")\r\n\r\n setLineText(\"right\", 1, \"ENG RATING\", \"24K\")\r\n setLineText(\"right\", 2, \"ACTIVE\", \"/14AP/14MA/03\")\r\n\r\n setLineText(\"left\", 6, \"-----------------\", \"\")\r\n\r\n const toINDEX = handleInput(() => {\r\n k.go(\"index\")\r\n })\r\n\r\n k.onUpdate(() => {\r\n toINDEX(input.line.left[6])\r\n })\r\n });\r\n};","import FMS from \"../functions/fms\";\r\nimport { setTitle, setPage, setLineText, clearLines} from \"../functions/displayEngine\";\r\nimport { input, handleInput } from \"../functions/inputEngine\";\r\n\r\nexport default function indexScene(k) {\r\n k.scene(\"index\", () => {\r\n FMS(k);\r\n clearLines();\r\n\r\n setTitle(\"INIT/REF INDEX\");\r\n setPage(1,1)\r\n\r\n setLineText(\"left\", 1, \"\", \" {\r\n k.go(\"ident\")\r\n })\r\n\r\n setLineText(\"left\", 2, \"\", \" {\r\n k.go(\"perf-init\")\r\n })\r\n \r\n setLineText(\"left\", 4, \"\", \"\")\r\n setLineText(\"right\", 5, \"\", \"SEL CONFIG>\")\r\n setLineText(\"right\", 6, \"\", \"MAINT>\")\r\n\r\n k.onUpdate(() => {\r\n toIDENT(input.line.left[1])\r\n toPERF(input.line.left[3])\r\n })\r\n });\r\n};","import FMS from \"../functions/fms\";\r\nimport { setTitle, setPage, setLineText, clearLines, scratchpadInsert } from \"../functions/displayEngine\";\r\nimport { input, handleInput } from \"../functions/inputEngine\";\r\n\r\nexport default function perfInitScene(k) {\r\n k.scene(\"perf-init\", () => {\r\n FMS(k);\r\n clearLines();\r\n\r\n setTitle(\"PERF INIT\");\r\n setPage(1,2)\r\n\r\n setLineText(\"left\", 1, \" GW/CRZ CG\", \"---.-/ 5.0\")\r\n setLineText(\"left\", 2, \" PLAN/FUEL\", \"/ 4.8\")\r\n setLineText(\"left\", 3, \" ZFW\", \"---.-\")\r\n setLineText(\"left\", 4, \" RESERVES\", \"--.-\")\r\n setLineText(\"left\", 5, \" COST INDEX\", \"---\")\r\n const addCostIndex = handleInput(() => {\r\n scratchpadInsert(\"left\", 5)\r\n })\r\n \r\n setLineText(\"right\", 1, \"TRIP/CRZ ALT\", \"-----\")\r\n setLineText(\"right\", 2, \"CRZ WIND\", \"---°/---\")\r\n setLineText(\"right\", 5, \"TRANS ALT\", \"5000\")\r\n \r\n setLineText(\"left\", 6, \"-----------------\", \" {\r\n k.go(\"index\")\r\n })\r\n\r\n setLineText(\"right\", 6, \"-----------------\", \"N1 LIMIT>\")\r\n\r\n k.onUpdate(() => {\r\n toINDEX(input.line.left[6])\r\n addCostIndex(input.line.left[5])\r\n })\r\n });\r\n};","import kaplay from \"kaplay\";\r\nconst k = kaplay({\r\n background: [0,0,0]\r\n});\r\n\r\nimport introScene from \"./scenes/intro\";\r\nimport identScene from \"./scenes/ident\";\r\nimport indexScene from \"./scenes\";\r\nimport perfInitScene from \"./scenes/perfInit\";\r\nintroScene(k);\r\nidentScene(k); indexScene(k); perfInitScene(k);\r\n\r\nk.go(\"intro\");"],"names":["introScene","k","startButton","githubButton","scratchpadText","addScratchpadText","input","clearScratchpadText","lineSelectKeyRegister","side","line","lineSelectKeyTimeout","handleInput","callback","isProcessing","condition","inputRegister","type","key","inputTimeout","alphabeticalKeys","x","y","textInput","size","adjust","button","text","numericalKeys","modeKeys","lines","lineSelectKey","pos","activated","highlight","initDisplay","displayText","align","width","initModes","initRef","initAlphabetical","initNumerical","displayContents","setTitle","title","setLineText","heading","scratchpadInsert","clearLines","i","setPage","current","total","displayEngine","left","right","page","scratchpad","headingLeft1","headingLeft2","headingLeft3","headingLeft4","headingLeft5","headingLeft6","textLeft1","textLeft2","textLeft3","textLeft4","textLeft5","textLeft6","headingRight1","headingRight2","headingRight3","headingRight4","headingRight5","headingRight6","textRight1","textRight2","textRight3","textRight4","textRight5","textRight6","FMS","identScene","toINDEX","indexScene","toIDENT","toPERF","perfInitScene","addCostIndex","kaplay"],"mappings":"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"} \ No newline at end of file diff --git a/index.html b/index.html index 1bb8b38..ef9381f 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ 737fms - +