diff --git a/src/MarbleGame.hx b/src/MarbleGame.hx index 5510a3d6..09b160b6 100644 --- a/src/MarbleGame.hx +++ b/src/MarbleGame.hx @@ -355,6 +355,13 @@ class MarbleGame { paused = false; if (watching) { canvas.setContent(Type.createInstance(replayExitGui, [])); + + setPreviewMission(lastMis, () -> { + #if js + var pointercontainer = js.Browser.document.querySelector("#pointercontainer"); + pointercontainer.hidden = false; + #end + }); } else { if (Net.isMP) { if (weDisconnecting) { diff --git a/src/MarbleWorld.hx b/src/MarbleWorld.hx index bc195d36..e24428a5 100644 --- a/src/MarbleWorld.hx +++ b/src/MarbleWorld.hx @@ -1546,18 +1546,7 @@ class MarbleWorld extends Scheduler { } this.setCursorLock(false); var misFile = haxe.io.Path.withoutExtension(haxe.io.Path.withoutDirectory(mission.path)); - this.dispose(); - MarbleGame.instance.setPreviewMission(misFile, () -> { - #if !js - MarbleGame.canvas.setContent(new ReplayCenterGui()); - #end - #if js - MarbleGame.canvas.setContent(new MainMenuGui()); - var pointercontainer = js.Browser.document.querySelector("#pointercontainer"); - pointercontainer.hidden = false; - #end - }); - + MarbleGame.instance.quitMission(); return; } } diff --git a/src/PreviewWorld.hx b/src/PreviewWorld.hx index e787c17b..1dce53cc 100644 --- a/src/PreviewWorld.hx +++ b/src/PreviewWorld.hx @@ -134,6 +134,8 @@ class PreviewWorld extends Scheduler { _loadToken++; var groupName = (misname + "group").toLowerCase(); var group = levelGroups.get(groupName); + if (group == null) + group = levelGroups.get("urban"); // Use this as fallback if (group != null) { destroyAllObjects(); this.currentMission = misname;