Merge branch '1.8' into 1.9.4

fb39a06 Add drone ci config
030c71c Automatically disable and re-enable Optifine's Fast Render setting before rendering a video
1fef12d Include FML handshake in recording
e86c66d Move README.md, LICENSE.md and user docs from master branch to 1.8
This commit is contained in:
johni0702
2016-12-10 16:29:41 +01:00
88 changed files with 1883 additions and 13 deletions

View File

@@ -0,0 +1,24 @@
package com.replaymod.render.events;
import com.replaymod.render.rendering.VideoRenderer;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.minecraftforge.fml.common.eventhandler.Event;
@RequiredArgsConstructor
public abstract class ReplayRenderEvent extends Event {
@Getter
private final VideoRenderer videoRenderer;
public static class Pre extends ReplayRenderEvent {
public Pre(VideoRenderer videoRenderer) {
super(videoRenderer);
}
}
public static class Post extends ReplayRenderEvent {
public Post(VideoRenderer videoRenderer) {
super(videoRenderer);
}
}
}

View File

@@ -6,6 +6,7 @@ import com.replaymod.render.RenderSettings;
import com.replaymod.render.ReplayModRender;
import com.replaymod.render.VideoWriter;
import com.replaymod.render.capturer.RenderInfo;
import com.replaymod.render.events.ReplayRenderEvent;
import com.replaymod.render.frame.RGBFrame;
import com.replaymod.render.gui.GuiRenderingDone;
import com.replaymod.render.gui.GuiVideoRenderer;
@@ -22,6 +23,7 @@ import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.shader.Framebuffer;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.Timer;
import net.minecraftforge.common.MinecraftForge;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.Display;
import org.lwjgl.util.Dimension;
@@ -86,6 +88,8 @@ public class VideoRenderer implements RenderInfo {
* @return {@code true} if rendering was successful, {@code false} if the user aborted rendering (or the window was closed)
*/
public boolean renderVideo() {
MinecraftForge.EVENT_BUS.post(new ReplayRenderEvent.Pre(this));
setup();
// Because this might take some time to prepare we'll render the GUI at least once to not confuse the user
@@ -129,6 +133,9 @@ public class VideoRenderer implements RenderInfo {
}
finish();
MinecraftForge.EVENT_BUS.post(new ReplayRenderEvent.Post(this));
return !cancelled;
}