diff --git a/index.html b/index.html index 53b8596..480ffeb 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@ - +
@@ -30,6 +30,9 @@ + + + diff --git a/main.js b/main.js index b5c3887..28acb61 100644 --- a/main.js +++ b/main.js @@ -484,6 +484,17 @@ function setCanvasScale(scale) { const canvas = document.getElementById('canvas'); canvas.style.width = '' + snesWidth * scale + 'px'; canvas.style.height = '' + snesHeight * scale + 'px'; + debug('set scale to ' + scale + 'x'); + canvas.style.display = ''; +} + +function setAutoCanvasScale() { + const snesWidth = 256; + const snesHeight = 224; + const widthAspect = Math.floor(window.innerWidth / snesWidth); + const heightAspect = Math.floor(window.innerHeight / snesHeight); + const scale = Math.min(widthAspect, heightAspect) + setCanvasScale(scale); } function init() { @@ -495,9 +506,11 @@ function init() { document.getElementById('3x').onclick = () => setCanvasScale(3); document.getElementById('4x').onclick = () => setCanvasScale(4); document.getElementById('5x').onclick = () => setCanvasScale(5); - setCanvasScale(4); + document.getElementById('6x').onclick = () => setCanvasScale(6); + document.getElementById('7x').onclick = () => setCanvasScale(7); + document.getElementById('8x').onclick = () => setCanvasScale(8); + setAutoCanvasScale(); window.requestAnimationFrame(loop(world, gfx)); - debug('initialized!'); } init();