|
|
@ -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(); |