From b45f9b4bdf4188b4acea87bef49640d6efb9bfca Mon Sep 17 00:00:00 2001 From: EmeraldBlock <69981203+EmeraldBlock@users.noreply.github.com> Date: Mon, 28 Sep 2020 15:58:38 -0500 Subject: [PATCH 1/4] Make zoom in and zoom out equal Makes zooming out zoom an amount equal to zooming in. --- src/js/game/camera.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/game/camera.js b/src/js/game/camera.js index 66d7efa8..cd290b5a 100644 --- a/src/js/game/camera.js +++ b/src/js/game/camera.js @@ -502,10 +502,10 @@ export class Camera extends BasicSerializableObject { } const prevZoom = this.zoomLevel; - const delta = Math.sign(event.deltaY) * -0.15 * this.root.app.settings.getScrollWheelSensitivity(); + const scale = 1 + 0.15 * this.root.app.settings.getScrollWheelSensitivity(); assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY); assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *before* wheel: " + this.zoomLevel); - this.zoomLevel *= 1 + delta; + this.zoomLevel *= (event.deltaY < 0) ? scale : 1/scale; assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *after* wheel: " + this.zoomLevel); this.clampZoomLevel(); From 045554ecf1227adbc5f10490ca342b6aed2ff574 Mon Sep 17 00:00:00 2001 From: EmeraldBlock <69981203+EmeraldBlock@users.noreply.github.com> Date: Mon, 28 Sep 2020 16:03:19 -0500 Subject: [PATCH 2/4] format things better --- src/js/game/camera.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/game/camera.js b/src/js/game/camera.js index cd290b5a..a250f407 100644 --- a/src/js/game/camera.js +++ b/src/js/game/camera.js @@ -505,7 +505,7 @@ export class Camera extends BasicSerializableObject { const scale = 1 + 0.15 * this.root.app.settings.getScrollWheelSensitivity(); assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY); assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *before* wheel: " + this.zoomLevel); - this.zoomLevel *= (event.deltaY < 0) ? scale : 1/scale; + this.zoomLevel *= event.deltaY < 0 ? scale : 1 / scale; assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *after* wheel: " + this.zoomLevel); this.clampZoomLevel(); From 436ba625489d9152dbd97bf26c7c463093fd0fb4 Mon Sep 17 00:00:00 2001 From: EmeraldBlock <69981203+EmeraldBlock@users.noreply.github.com> Date: Mon, 28 Sep 2020 17:36:25 -0500 Subject: [PATCH 3/4] Made zoom keys also equal Made zoom out equal to zoom in --- src/js/game/camera.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/game/camera.js b/src/js/game/camera.js index a250f407..3e32603e 100644 --- a/src/js/game/camera.js +++ b/src/js/game/camera.js @@ -353,7 +353,7 @@ export class Camera extends BasicSerializableObject { .add(() => (this.desiredZoom = this.zoomLevel * 1.2)); mapper .getBinding(KEYMAPPINGS.navigation.mapZoomOut) - .add(() => (this.desiredZoom = this.zoomLevel * 0.8)); + .add(() => (this.desiredZoom = this.zoomLevel / 1.2)); mapper.getBinding(KEYMAPPINGS.navigation.centerMap).add(() => this.centerOnMap()); } From 668dc80e260cf60bec78eaa3c3b0d2708de9718c Mon Sep 17 00:00:00 2001 From: EmeraldBlock <69981203+EmeraldBlock@users.noreply.github.com> Date: Mon, 28 Sep 2020 17:45:37 -0500 Subject: [PATCH 4/4] Actually made arrow keys equal hope this actually works --- src/js/game/camera.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/js/game/camera.js b/src/js/game/camera.js index 3e32603e..37db1432 100644 --- a/src/js/game/camera.js +++ b/src/js/game/camera.js @@ -939,6 +939,7 @@ export class Camera extends BasicSerializableObject { this.zoomLevel = this.zoomLevel * fade + this.desiredZoom * (1 - fade); assert(Number.isFinite(this.zoomLevel), "Zoom level is NaN after fade: " + this.zoomLevel); } else { + this.zoomLevel = this.desiredZoom; this.desiredZoom = null; } }