From ed4384b168afcdcfcbc11fc49902e977e2ed0647 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Tue, 5 Nov 2024 21:17:06 +0530 Subject: [PATCH] some more replaying loading shenanigans and append zlib header to web replays pls --- src/Replay.hx | 2 +- src/gui/PlayMissionGui.hx | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/Replay.hx b/src/Replay.hx index 526287d4..84d4f77c 100644 --- a/src/Replay.hx +++ b/src/Replay.hx @@ -356,7 +356,7 @@ class Replay { var compressed = haxe.zip.Compress.run(bw.getBuffer(), 9); #end #if js - var stream = zip.DeflateStream.create(zip.DeflateStream.CompressionLevel.GOOD, false); + var stream = zip.DeflateStream.create(zip.DeflateStream.CompressionLevel.GOOD, true); stream.write(new BytesInput(bw.getBuffer())); var compressed = stream.finalize(); #end diff --git a/src/gui/PlayMissionGui.hx b/src/gui/PlayMissionGui.hx index fcbfd75a..ac209de8 100644 --- a/src/gui/PlayMissionGui.hx +++ b/src/gui/PlayMissionGui.hx @@ -156,10 +156,22 @@ class PlayMissionGui extends GuiImage { // Idk do something to notify the user here } else { var repmis = replay.mission; - #if js - repmis = StringTools.replace(repmis, "data/", ""); - #end - var playMis = MissionList.missions.get(repmis); + + // Strip data/ from the mission name + if (StringTools.startsWith(repmis, "data/")) { + repmis = repmis.substr(5); + } + + var mi = MissionList.missions.get(repmis); + + // try with data/ added + if (mi == null) { + if (!StringTools.contains(repmis, "data/")) + repmis = "data/" + repmis; + mi = MissionList.missions.get(repmis); + } + + var playMis = mi; if (playMis != null) { cast(this.parent, Canvas).marbleGame.watchMissionReplay(playMis, replay); } else {