Merge branch 'stable' into blend

This commit is contained in:
Jonas Herzig
2018-06-10 19:55:12 +02:00
150 changed files with 2821 additions and 599 deletions

View File

@@ -6,9 +6,14 @@ import com.replaymod.replay.events.ReplayDispatchKeypressesEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiControls;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import org.lwjgl.input.Keyboard;
//#if MC>=10800
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
//#else
//$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
//#endif
public class AdvancedScreenshots implements Extra {
private ReplayMod mod;

View File

@@ -3,7 +3,6 @@ package com.replaymod.extras.advancedscreenshots;
import com.replaymod.render.RenderSettings;
import com.replaymod.render.blend.BlendState;
import com.replaymod.render.capturer.RenderInfo;
import com.replaymod.render.hooks.ChunkLoadingRenderGlobal;
import com.replaymod.render.rendering.Pipelines;
import lombok.RequiredArgsConstructor;
import net.minecraft.client.Minecraft;
@@ -11,6 +10,10 @@ import net.minecraft.crash.CrashReport;
import org.lwjgl.util.Dimension;
import org.lwjgl.util.ReadableDimension;
//#if MC>=10800
import com.replaymod.render.hooks.ChunkLoadingRenderGlobal;
//#endif
@RequiredArgsConstructor
public class ScreenshotRenderer implements RenderInfo {
@@ -18,6 +21,8 @@ public class ScreenshotRenderer implements RenderInfo {
private final RenderSettings settings;
private int framesDone;
public boolean renderScreenshot() throws Throwable {
try {
int displayWidthBefore = mc.displayWidth;
@@ -26,7 +31,9 @@ public class ScreenshotRenderer implements RenderInfo {
boolean hideGUIBefore = mc.gameSettings.hideGUI;
mc.gameSettings.hideGUI = true;
//#if MC>=10800
ChunkLoadingRenderGlobal clrg = new ChunkLoadingRenderGlobal(mc.renderGlobal);
//#endif
if (settings.getRenderMethod() == RenderSettings.RenderMethod.BLEND) {
BlendState.setState(new BlendState(settings.getOutputFile()));
@@ -36,7 +43,9 @@ public class ScreenshotRenderer implements RenderInfo {
new ScreenshotWriter(settings.getOutputFile())).run();
}
//#if MC>=10800
clrg.uninstall();
//#endif
mc.gameSettings.hideGUI = hideGUIBefore;
mc.resize(displayWidthBefore, displayHeightBefore);
@@ -54,6 +63,11 @@ public class ScreenshotRenderer implements RenderInfo {
return new Dimension(settings.getVideoWidth(), settings.getVideoHeight());
}
@Override
public int getFramesDone() {
return framesDone;
}
@Override
public int getTotalFrames() {
// render 2 frames, because only the second contains all frames fully loaded
@@ -62,6 +76,7 @@ public class ScreenshotRenderer implements RenderInfo {
@Override
public float updateForNextFrame() {
framesDone++;
return mc.timer.renderPartialTicks;
}