# HG changeset patch # User Matti Hamalainen # Date 1535545075 -10800 # Node ID c6c1dd7695668fe4d2c0d76d4f69eb66166c8a6b # Parent 3b0864bf74364b70d3b36e66852e1ed92f970ba0 Some work towards user-selectable alternate palettes in the launcher. diff -r 3b0864bf7436 -r c6c1dd769566 files.pde --- a/files.pde Wed Aug 29 15:16:54 2018 +0300 +++ b/files.pde Wed Aug 29 15:17:55 2018 +0300 @@ -230,6 +230,7 @@ } +// XXX TODO: Make this support other platforms than C64 boolean mpLoadPalette(String fname) { if (g_map[13] != C64) diff -r 3b0864bf7436 -r c6c1dd769566 mpui.js --- a/mpui.js Wed Aug 29 15:16:54 2018 +0300 +++ b/mpui.js Wed Aug 29 15:17:55 2018 +0300 @@ -5,28 +5,37 @@ var mpMachine = 0, mpUIScale, mpUIForcedWidth, mpUIForcedHeight; var mpURL; +// Machine ID, Name/desc, Alt.palette array index (-1 if none) var mpMachines = [ - [ 0, "C64 hires" , ], - [ 10, "C64 multicolor" , ], - [ 6, "ZX Spectrum" , ], - [ 5, "MSX1 mode 2" , ], - [ 9, "Plus4 hires" , ], - [ 19, "Plus4 multicolor" , ], - [ 2, "Amstrad CPC mode 0" , ], + [ 0, "C64 hires" , 0 ], + [ 10, "C64 multicolor" , 0 ], + [ 6, "ZX Spectrum" , -1 ], + [ 5, "MSX1 mode 2" , -1 ], + [ 9, "Plus4 hires" , -1 ], + [ 19, "Plus4 multicolor" , -1 ], + [ 2, "Amstrad CPC mode 0" , -1 ], - [ -1, "Experimental/unsupported modes below" , ], + [ -1, "Experimental/unsupported modes below" , -1 ], - [ 32, "C64 no limit (buggy)" , ], - [ 20, "C64 FLI hires" , ], - [ 21, "C64 FLI multicolor" , ], - [ 7, "Timex" , ], - [ 8, "JR200" , ], - [ 99, "BK-0010" , ], -// [ , "" , false ], + [ 32, "C64 no limit (buggy)", 0 ], + [ 20, "C64 FLI hires" , 0 ], + [ 21, "C64 FLI multicolor" , 0 ], + [ 7, "Timex" , -1 ], + [ 8, "JR200" , -1 ], + [ 99, "BK-0010" , -1 ], +// [ , "" , -1 ], ]; +// Alternative palettes array +var mpPalettes = +[ + [ "pepto.act", "colodore.act", ], +]; + + +// UI dimensions list (first is always "default") var mpUIDimensions = [ [ -1, -1 ], @@ -36,11 +45,13 @@ ]; +// UI scaling factors, 2 is default and thus first var mpUIScales = [ 2, 3, 1 ]; + var mpSources = [ "buffers.pde", @@ -103,6 +114,13 @@ } +function stGetSelIndex(vname) +{ + var velem = stGE(vname); + return velem ? velem.selectedIndex : 0; +} + + function stGetSelValue(velem, vdef) { if (velem) @@ -142,20 +160,23 @@ mpUI.appendChild(mdiv); mobj = stCE("p"); - mobj.textContent = "Target platform / mode:"; + mobj.textContent = "Target machine / mode:"; mdiv.appendChild(mobj); - mdiv.appendChild(stCreateSelect("machineID", mpMachines, - function (vn, vopt, val) { + mobj = stCreateSelect("machineID", mpMachines, + function (vn, vopt, val) + { if (val[0] < 0) vopt.disabled = true; else vopt.value = val[0]; vopt.textContent = val[1]; - })); + }); + stAddEventOb(mobj.name, mobj, "change", mpMachineChanged); + mdiv.appendChild(mobj); mobj = stCE("button", "selectID"); mobj.textContent = "RUN"; stAddEventOb(mobj.name, mobj, "click", mpLauncherDone); diff -r 3b0864bf7436 -r c6c1dd769566 style.css --- a/style.css Wed Aug 29 15:16:54 2018 +0300 +++ b/style.css Wed Aug 29 15:17:55 2018 +0300 @@ -22,6 +22,11 @@ display: inline-block; padding-right: 1em; padding-left: 1em; + vertical-align: top; +} + +#mmachine { + height: 10em; } #scalesID {