diff --git a/src/CameraController.hx b/src/CameraController.hx index 14c3059c..c4e54bf0 100644 --- a/src/CameraController.hx +++ b/src/CameraController.hx @@ -107,8 +107,13 @@ class CameraController extends Object { } function orbit(mouseX:Float, mouseY:Float) { - var deltaposX = mouseX; - var deltaposY = mouseY * (Settings.controlsSettings.invertYAxis ? -1 : 1); + var scaleFactor = 1.0; + #if js + scaleFactor = 1 / js.Browser.window.devicePixelRatio; + #end + + var deltaposX = mouseX * scaleFactor; + var deltaposY = mouseY * (Settings.controlsSettings.invertYAxis ? -1 : 1) * scaleFactor; if (!Settings.controlsSettings.alwaysFreeLook && !Key.isDown(Settings.controlsSettings.freelook)) { deltaposY = 0; } diff --git a/src/MarbleGame.hx b/src/MarbleGame.hx index 3214b34a..01c75e9a 100644 --- a/src/MarbleGame.hx +++ b/src/MarbleGame.hx @@ -81,6 +81,16 @@ class MarbleGame { var buttonCode = (e.keyCode); @:privateAccess Key.keyPressed[buttonCode] = -Key.getFrame(); }); + + js.Browser.window.addEventListener('contextmenu', (e) -> e.preventDefault()); // Disable right click context menu for good + + js.Browser.window.addEventListener('beforeunload', (e) -> { + // Ask the user if they're sure about closing the tab if they're currently in game + if (world != null) { + e.preventDefault(); + e.returnValue = ''; + } + }); #end }