The mode buttons became posters: four bright banner scenes, captions on top
Oliver's design call for the setup screen: the mode buttons should POP — a bright full-bleed background symbolising each game mode, the description written over it. Four scenes rolled through the _famroll OpenRouter route, each anchored on its mode's own sprite for style, no text baked in: CLASSIC a sunny sports-poster serve under a blue summer sky ZOMBIE the turned opponent at an acid-green floodlit night net CUP the champion's silhouette looming over the gold trophy GORE the horde pouring over the net into a blood-red sunset Installed as mode_*.png at a third of the 2K roll, quantised to 128 colours (2.1 MB of menu art became 265 KB; pixel art quantises for free). The button is the banner now: art + scrim gradient as one background stack, caption bottom-left with a text shadow, and the unpicked modes sit desaturated and dimmed so the chosen one is the thing that glows — the menu's own "one bright thing means selected" rule, applied to pictures. The sprite-tile row and its `tile` field are gone from MODES; raw 2K rolls kept in _refcheck/modebtn for re-cuts. SPRV 114 -> 115, main.js v229. Verified in the browser: draw, select, summary line, no console errors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d87fbbda56
commit
954f5e15bf
8 files changed
+31
-18
No files matched your search
+5
-3
@@ -80,9 +80,11 @@ let pickedMode = remembered('mode') || MODES[0].id;
|
||||
const modeList = document.getElementById('modeList');
|
||||
for (const m of MODES) {
|
||||
const b = document.createElement('button');
|
||||
b.className = 'court' + (m.id === pickedMode ? ' on' : '');
|
||||
b.innerHTML = `<img src="assets/${m.tile}.png?v=${SPRV}" alt=""><span class="cb">`
|
||||
+ `<b>${m.name}</b><i>${m.sub}</i></span>`;
|
||||
b.className = 'mode' + (m.id === pickedMode ? ' on' : '');
|
||||
// the scrim rides IN the background stack (gradient over art), so the caption needs no extra box
|
||||
b.style.backgroundImage =
|
||||
`linear-gradient(180deg, rgba(0,0,0,0) 34%, rgba(0,0,0,0.78)), url(assets/${m.art}.png?v=${SPRV})`;
|
||||
b.innerHTML = `<span class="cb"><b>${m.name}</b><i>${m.sub}</i></span>`;
|
||||
b.addEventListener('click', () => {
|
||||
pickedMode = m.id;
|
||||
try { localStorage.setItem('mode', m.id); } catch {} // come back to what you were playing
|
||||
|
||||
Reference in new issue
Block a user