Mercurial > hg > forks > multipaint-js
changeset 210:13aed87e472a
More work towards user-selectable palettes.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 29 Aug 2018 15:37:37 +0300 |
parents | edc628a79dd3 |
children | 6d866e284dd2 |
files | files.pde mpui.js |
diffstat | 2 files changed, 30 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/files.pde Wed Aug 29 15:20:45 2018 +0300 +++ b/files.pde Wed Aug 29 15:37:37 2018 +0300 @@ -233,11 +233,6 @@ // XXX TODO: Make this support other platforms than C64 boolean mpLoadPalette(String fname) { - if (g_map[13] != C64) - { - return false; - } - byte fdata[] = mpLoadbinaryFile(fname); if (fdata == null || fdata.length != 772 ||
--- a/mpui.js Wed Aug 29 15:20:45 2018 +0300 +++ b/mpui.js Wed Aug 29 15:37:37 2018 +0300 @@ -146,6 +146,29 @@ } +function mpMachineChanged() +{ + var tmp = stGetSelIndex("machineID"); + var velem = stGE("paletteID"); + var palID = mpMachines[tmp][2]; + velem.style.display = (palID >= 0) ? "block" : "none"; + velem.disabled = true; + stClearChildren(velem); + if (palID >= 0) + { + var vlist = mpPalettes[palID]; + for (var n = 0; n < vlist.length; n++) + { + var mp = vlist[n]; + var opt = stCE("option"); + opt.value = n; + opt.textContent = mp; + velem.appendChild(opt); + } + } +} + + function mpShowLauncher() { var mpCanvas = stGE("mpCanvas"); @@ -163,7 +186,6 @@ mobj.textContent = "Target machine / mode:"; mdiv.appendChild(mobj); - mobj = stCreateSelect("machineID", mpMachines, function (vn, vopt, val) { @@ -176,11 +198,17 @@ }); mdiv.appendChild(mobj); + stAddEventOb(mobj.name, mobj, "change", mpMachineChanged); + mobj = stCE("button", "selectID"); mobj.textContent = "RUN"; stAddEventOb(mobj.name, mobj, "click", mpLauncherDone); mdiv.appendChild(mobj); + mobj = stCE("div"); + mdiv.appendChild(mobj); + mobj.appendChild(stCE("select", "paletteID")); + mdiv = stCE("div", "mdimensions"); mpUI.appendChild(mdiv); @@ -195,6 +223,7 @@ mdiv.appendChild(stCreateSelect("scalesID", mpUIScales, function (vn, vopt, val) { vopt.value = val; vopt.textContent = " x "+ val; })); + mpMachineChanged(); mobj = stCE("div"); mobj.innerHTML =