annotate mpui.js @ 130:4d0bdd2b215d

Improve language slightly.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 05 Aug 2018 09:55:17 +0300
parents 3f48c23c7987
children 9d17f991f102
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 var mpMachine = 0;
128
3f48c23c7987 Fix the handling of link arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 119
diff changeset
2 var mpURL;
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 var mpMachines =
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 0 : "C64 hires",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 10 : "C64 multicolor",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 6 : "ZX Spectrum",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 5 : "MSX1 mode 2",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 9 : "Plus4 hires",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 19 : "Plus4 multicolor",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 2 : "Amstrad CPC mode 0",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13 };
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 var mpSources =
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 [
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18 "draw_inputs.pde",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
19 "draw_outputs.pde",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
20 "draw_smart.pde",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21 "events.pde",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 "exporters.pde",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23 "Interface.pde",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 "multipaint.pde",
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25 ];
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
26
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
27
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28 function stGE(obname)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30 return document.getElementById(obname);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
32
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
33
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
34 function stCE(obname, obid)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36 var mob = document.createElement(obname);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37 if (obid)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
38 mob.id = obid;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
39 return mob;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
40 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43 function stClearChildren(obnode)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45 while (obnode.firstChild)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
46 obnode.removeChild(obnode.firstChild);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
48
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
49
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50 function stPRE(mstr)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52 return mstr.toLowerCase().replace(/[^a-z0-9]/g, "_");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
54
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56 function stAddEventOb(obname, evobj, evtype, evcallback, evparam)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
57 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
58 if (evobj == null || typeof(evobj) == 'undefined')
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
59 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
60 console.log("Event object '"+ obname +"' == null.");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
61 return;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
62 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64 evobj.addEventListener(evtype, evcallback, false);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65 evobj.evparam = evparam;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
66 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
68
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
69 function stAddEvent(obname, evtype, evcallback, evparam)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
70 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71 stAddEventOb(obname, stGE(obname), evtype, evcallback, evparam);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
74
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
75 function mpShowMachineSelector()
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
76 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77 var mpCanvas = stGE("mpCanvas");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
78 mpCanvas.style.display = "none";
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
79
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
80 var mpUI = stGE("mpUI");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
81 mobj = stCE("h2");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
82 mobj.textContent = "Multipaint.JS"
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83 mpUI.appendChild(mobj);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
84
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
85 var mdiv = stCE("div");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 mpUI.appendChild(mdiv);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
87
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
88 mobj = stCE("p");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
89 mobj.textContent = "Choose your target machine:";
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
90 mdiv.appendChild(mobj);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
91
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
92 mobj = stCE("select", "machineID");
66
057f7571724b Sort machine selection list.
Matti Hamalainen <ccr@tnsp.org>
parents: 65
diff changeset
93 var mlist = Object.keys(mpMachines).sort();
057f7571724b Sort machine selection list.
Matti Hamalainen <ccr@tnsp.org>
parents: 65
diff changeset
94 for (var n = 0; n < mlist.length; n++)
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
95 {
66
057f7571724b Sort machine selection list.
Matti Hamalainen <ccr@tnsp.org>
parents: 65
diff changeset
96 var key = mlist[n];
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
97 var opt = stCE("option");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
98 opt.value = key;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
99 opt.textContent = mpMachines[key];
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
100 mobj.appendChild(opt);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
101 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
102 mdiv.appendChild(mobj);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
103
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
104 mobj = stCE("button", "selectID");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
105 mobj.textContent = "RUN";
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
106 stAddEventOb(mobj.name, mobj, "click", mpMachineSelected);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
107 mdiv.appendChild(mobj);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
108
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
109 mobj = stCE("div");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110 mobj.innerHTML =
67
19fb0e303d36 Indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
111 "<p><b>Things of note:</b></p>"+
19fb0e303d36 Indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
112 "<ul>"+
119
ecc0e5148b47 Update notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 107
diff changeset
113 "<li>Save ('S') and Load ('L') save to/load from <a href=\"https://en.wikipedia.org/wiki/Web_storage\">browser local storage</a> "+
ecc0e5148b47 Update notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 107
diff changeset
114 "(there can be only one \"save\" per machine type, so be careful.)</li>"+
ecc0e5148b47 Update notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 107
diff changeset
115 "<li>Each machine type has its own local storage save space.</li>"+
ecc0e5148b47 Update notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 107
diff changeset
116 "<li>Save as ('s') and Load from ('l') export and import Multipaint workfiles.</li>"+
ecc0e5148b47 Update notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 107
diff changeset
117 "<li>When loading/importing, you click on the load icon (or press key) and a HTML file selector button will appear "+
ecc0e5148b47 Update notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 107
diff changeset
118 "ON THE BOTTOM. You need to click that, too. Sorry, that can't be automated because of pop-up blocking etc.</li>"+
ecc0e5148b47 Update notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 107
diff changeset
119 "<li>Source code export does not work yet.</li>"+
67
19fb0e303d36 Indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
120 "<li>PNG/JPEG import/export does not work.</li>"+
19fb0e303d36 Indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
121 "<li> .. and there may be bugs.</li>"+
19fb0e303d36 Indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
122 "<li> .. though I've also fixed few bugs that exist in original Multipaint.</li>"+
19fb0e303d36 Indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
123 "</ul>"+
130
4d0bdd2b215d Improve language slightly.
Matti Hamalainen <ccr@tnsp.org>
parents: 128
diff changeset
124 "<p>You can also view <a href=\"https://tnsp.org/hg/forks/multipaint-psjs/\">Mercurial repository for this project</a>.</p>";
67
19fb0e303d36 Indent.
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
125
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126 mpUI.appendChild(mobj);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
127
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
128 mobj = stCE("hr");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
129 mpUI.appendChild(mobj);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
131
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
132
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
133 function mpMachineSelected()
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
134 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
135 var mpUI = stGE("mpUI");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
136 var id = stGE("machineID");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
137 mpMachine = id.selectedIndex >= 0 ? id.options[id.selectedIndex].value : 0;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
138 stClearChildren(mpUI);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
139
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
140 var mpCanvas = stGE("mpCanvas");
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
141 mpCanvas.style.display = "block";
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
142
128
3f48c23c7987 Fix the handling of link arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 119
diff changeset
143 window.location.href = mpURL +"?"+ mpMachine.toString();
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
144
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
145 mpRunSketch(mpCanvas);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
146 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
147
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
148
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
149 function mpStart()
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
150 {
37
48b74ccc1abd Move note to javascript.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
151 stGE("mpNote").innerHTML =
48b74ccc1abd Move note to javascript.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
152 "<a href=\"http://multipaint.kameli.net/\">Multipaint</a> (C) 2016-2017 <b>Tero 'Dr. TerrorZ' Heikkinen</b>, "+
48b74ccc1abd Move note to javascript.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
153 "ProcessingJS port and modifications by <b>Matti 'ccr' Hämäläinen</b> (2018)";
48b74ccc1abd Move note to javascript.
Matti Hamalainen <ccr@tnsp.org>
parents: 25
diff changeset
154
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
155 var slink = window.location.href;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
156 var spos, found = false;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
157 if ((spos = slink.indexOf("?")) >= 0)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
158 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
159 var tmp = parseInt(unescape(slink.substr(spos + 1)));
128
3f48c23c7987 Fix the handling of link arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 119
diff changeset
160 mpURL = slink.substr(0, spos);
3f48c23c7987 Fix the handling of link arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 119
diff changeset
161
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
162 for (var key in mpMachines)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
163 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
164 if (key == tmp)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
165 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
166 mpMachine = key;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
167 found = true;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
168 break;
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
169 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
170 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
171 }
128
3f48c23c7987 Fix the handling of link arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 119
diff changeset
172 else
3f48c23c7987 Fix the handling of link arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 119
diff changeset
173 mpURL = slink;
25
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
174
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
175 if (found)
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
176 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
177 mpRunSketch(stGE("mpCanvas"));
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
178 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
179 else
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
180 {
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
181 stAddEventOb("DOM", document, "DOMContentLoaded", mpShowMachineSelector);
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
182 }
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
183 }