From c23d2a0d0eb16775089902a786beb79d7960303b Mon Sep 17 00:00:00 2001 From: Marius Metzger Date: Tue, 31 Mar 2015 18:52:17 +0200 Subject: [PATCH] Now cancels current path when exiting Replay Viewer Disabled opening the inventory while in the Replay Viewer --- .../replaymod/events/GuiEventHandler.java | 2 ++ .../replaymod/events/GuiReplayOverlay.java | 6 ++++-- .../replaymod/gui/replaystudio/GuiConnectPart.java | 13 +++++++------ .../crushedpixel/replaymod/replay/ReplaySender.java | 2 ++ .../replaymod/studio/StudioImplementation.java | 6 +++++- 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java b/src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java index bad2bdda..43bc90a3 100755 --- a/src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java +++ b/src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java @@ -33,6 +33,7 @@ import eu.crushedpixel.replaymod.gui.replayviewer.GuiReplayViewer; import eu.crushedpixel.replaymod.online.authentication.AuthenticationHandler; import eu.crushedpixel.replaymod.registry.ReplayGuiRegistry; import eu.crushedpixel.replaymod.replay.ReplayHandler; +import eu.crushedpixel.replaymod.replay.ReplayProcess; import eu.crushedpixel.replaymod.studio.VersionValidator; import eu.crushedpixel.replaymod.timer.MCTimerHandler; import eu.crushedpixel.replaymod.utils.MouseUtils; @@ -193,6 +194,7 @@ public class GuiEventHandler { } if(ReplayHandler.isInReplay() && event.gui instanceof GuiIngameMenu && event.button.id == GuiConstants.EXIT_REPLAY_BUTTON) { + if(ReplayHandler.isInPath()) ReplayProcess.stopReplayProcess(false); ReplayHandler.endReplay(); event.button.enabled = false; diff --git a/src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java b/src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java index 67dbafbb..0049b534 100755 --- a/src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java +++ b/src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java @@ -13,6 +13,7 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiChat; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.gui.inventory.GuiInventory; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; @@ -197,7 +198,7 @@ public class GuiReplayOverlay extends Gui { if(!ReplayGuiRegistry.hidden) ReplayGuiRegistry.hide(); - if(FMLClientHandler.instance().isGUIOpen(GuiChat.class)) { + if(FMLClientHandler.instance().isGUIOpen(GuiChat.class) || FMLClientHandler.instance().isGUIOpen(GuiInventory.class)) { mc.displayGuiScreen(new GuiMouseInput()); } @@ -288,7 +289,8 @@ public class GuiReplayOverlay extends Gui { ReplayHandler.setLastPosition(null); } - ReplayHandler.setReplayTime((int)time); + if((int)time != ReplayHandler.getDesiredTimestamp()) + ReplayHandler.setReplayTime((int)time); } } diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java b/src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java index 0978b947..5a504355 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/replaystudio/GuiConnectPart.java @@ -41,6 +41,13 @@ public class GuiConnectPart extends GuiStudioPart { fontRendererObj = mc.fontRendererObj; } + + @Override + public void applyFilters(File replayFile, File outputFile) { + // TODO Auto-generated method stub + + } + @Override public String getDescription() { return DESCRIPTION; @@ -190,10 +197,4 @@ public class GuiConnectPart extends GuiStudioPart { } } } - - @Override - public void applyFilters(File replayFile, File outputFile) { - // TODO Auto-generated method stub - - } } diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java b/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java index 872060a7..5b80541e 100755 --- a/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java +++ b/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java @@ -402,6 +402,8 @@ public class ReplaySender extends ChannelInboundHandlerAdapter { try { Packet p = ReplayFileIO.deserializePacket(ba); + + if(p == null) return; //If hurrying, ignore some packets, unless during Replay Path and *not* in initial hurry if(hurryToTimestamp && (!ReplayHandler.isInPath() || (desiredTimeStamp-currentTimeStamp > 1000))) { diff --git a/src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java b/src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java index 491528df..3146011a 100755 --- a/src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java +++ b/src/main/java/eu/crushedpixel/replaymod/studio/StudioImplementation.java @@ -4,10 +4,10 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.util.List; import com.google.gson.JsonObject; -import net.minecraft.network.play.server.S3EPacketTeams; import de.johni0702.replaystudio.PacketData; import de.johni0702.replaystudio.filter.ChangeTimestampFilter; import de.johni0702.replaystudio.filter.RemoveFilter; @@ -58,4 +58,8 @@ public class StudioImplementation { ReplayFileIO.writeReplayFile(outputFile, temp, metaData); } + + public static void connectReplayFiles(List filesToConnect, File outputFile) { + + } }