From dfd133d84f5ce1e70c9e3267ff98bcab7f54e806 Mon Sep 17 00:00:00 2001 From: johni0702 Date: Sun, 8 Nov 2015 09:54:16 +0100 Subject: [PATCH] Allow creating markers during replay --- .../com/replaymod/replay/ReplayHandler.java | 7 ++----- .../com/replaymod/replay/ReplayModReplay.java | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/replaymod/replay/ReplayHandler.java b/src/main/java/com/replaymod/replay/ReplayHandler.java index 788a8089..33d92bcf 100755 --- a/src/main/java/com/replaymod/replay/ReplayHandler.java +++ b/src/main/java/com/replaymod/replay/ReplayHandler.java @@ -29,10 +29,7 @@ import org.lwjgl.opengl.Display; import org.lwjgl.util.Point; import java.io.IOException; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.UUID; +import java.util.*; import static net.minecraft.client.renderer.GlStateManager.*; import static org.lwjgl.opengl.GL11.GL_COLOR_BUFFER_BIT; @@ -81,7 +78,7 @@ public class ReplayHandler { FMLCommonHandler.instance().bus().post(new ReplayOpenEvent.Pre(this)); - markers = replayFile.getMarkers().or(Collections.emptySet()); + markers = new HashSet<>(replayFile.getMarkers().or(Collections.emptySet())); replaySender = new ReplaySender(this, replayFile, asyncMode); diff --git a/src/main/java/com/replaymod/replay/ReplayModReplay.java b/src/main/java/com/replaymod/replay/ReplayModReplay.java index c3bdd328..c7b30072 100644 --- a/src/main/java/com/replaymod/replay/ReplayModReplay.java +++ b/src/main/java/com/replaymod/replay/ReplayModReplay.java @@ -7,6 +7,7 @@ import com.google.common.util.concurrent.ListenableFuture; import com.replaymod.core.ReplayMod; import com.replaymod.replay.camera.*; import com.replaymod.replay.handler.GuiHandler; +import de.johni0702.replaystudio.data.Marker; import de.johni0702.replaystudio.replay.ReplayFile; import de.johni0702.replaystudio.replay.ZipReplayFile; import de.johni0702.replaystudio.studio.ReplayStudio; @@ -52,7 +53,21 @@ public class ReplayModReplay { core.getKeyBindingRegistry().registerKeyBinding("replaymod.input.marker", Keyboard.KEY_M, new Runnable() { @Override public void run() { - + if (replayHandler != null ) { + CameraEntity camera = replayHandler.getCameraEntity(); + if (camera != null) { + Marker marker = new Marker(); + marker.setTime(replayHandler.getReplaySender().currentTimeStamp()); + marker.setX(camera.posX); + marker.setY(camera.posY); + marker.setZ(camera.posZ); + marker.setYaw(camera.rotationYaw); + marker.setPitch(camera.rotationPitch); + marker.setRoll(camera.roll); + replayHandler.getMarkers().add(marker); + replayHandler.saveMarkers(); + } + } } });