Markers are now being saved upon exiting the Replay

This commit is contained in:
CrushedPixel
2015-06-09 23:16:45 +02:00
parent 492f94c19f
commit d891436427
2 changed files with 16 additions and 8 deletions

View File

@@ -164,7 +164,7 @@ public class KeyInputHandler {
} }
if(kb.getKeyDescription().equals(KeybindRegistry.KEY_CLEAR_KEYFRAMES) && (kb.isPressed() || kb.getKeyCode() == keyCode)) { if(kb.getKeyDescription().equals(KeybindRegistry.KEY_CLEAR_KEYFRAMES) && (kb.isPressed() || kb.getKeyCode() == keyCode)) {
ReplayHandler.resetKeyframes(); ReplayHandler.resetKeyframes(false);
} }
if(kb.getKeyDescription().equals(KeybindRegistry.KEY_SYNC_TIMELINE) && (kb.isPressed() || kb.getKeyCode() == keyCode)) { if(kb.getKeyDescription().equals(KeybindRegistry.KEY_SYNC_TIMELINE) && (kb.isPressed() || kb.getKeyCode() == keyCode)) {

View File

@@ -381,16 +381,20 @@ public class ReplayHandler {
return new ArrayList<Keyframe>(keyframes); return new ArrayList<Keyframe>(keyframes);
} }
public static void resetKeyframes() { public static void resetKeyframes(boolean resetMarkers) {
MarkerKeyframe[] markers = getMarkers(); MarkerKeyframe[] markers = getMarkers();
keyframes = new ArrayList<Keyframe>(); keyframes = new ArrayList<Keyframe>();
if(!resetMarkers) {
for(MarkerKeyframe mk : markers) { for(MarkerKeyframe mk : markers) {
keyframes.add(mk); keyframes.add(mk);
} }
if(!(selectedKeyframe instanceof MarkerKeyframe)) if(!(selectedKeyframe instanceof MarkerKeyframe))
selectKeyframe(null); selectKeyframe(null);
} else {
selectKeyframe(null);
}
} }
public static boolean isSelected(Keyframe kf) { public static boolean isSelected(Keyframe kf) {
@@ -414,7 +418,7 @@ public class ReplayHandler {
ReplayMod.chatMessageHandler.initialize(); ReplayMod.chatMessageHandler.initialize();
mc.ingameGUI.getChatGUI().clearChatMessages(); mc.ingameGUI.getChatGUI().clearChatMessages();
resetKeyframes(); resetKeyframes(true);
if(ReplayMod.replaySender != null) { if(ReplayMod.replaySender != null) {
ReplayMod.replaySender.terminateReplay(); ReplayMod.replaySender.terminateReplay();
@@ -512,13 +516,17 @@ public class ReplayHandler {
if (currentReplayFile != null) { if (currentReplayFile != null) {
try { try {
currentReplayFile.close(); currentReplayFile.close();
File markerFile = File.createTempFile(ReplayFile.ENTRY_MARKERS, "json");
ReplayFileIO.writeMarkersToFile(getMarkers(), markerFile);
ReplayMod.replayFileAppender.registerModifiedFile(markerFile, ReplayFile.ENTRY_MARKERS, ReplayHandler.getReplayFile());
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
currentReplayFile = null; currentReplayFile = null;
} }
resetKeyframes(); resetKeyframes(true);
inReplay = false; inReplay = false;
} }