Merge branch 'stable' into johni/quick-mode
This commit is contained in:
@@ -27,7 +27,13 @@ public class OptifineReflection {
|
||||
|
||||
public static void reloadLang() {
|
||||
try {
|
||||
Class.forName("Lang").getDeclaredMethod("resourcesReloaded").invoke(null);
|
||||
Class<?> langClass;
|
||||
try {
|
||||
langClass = Class.forName("Lang"); // Pre Optifine 1.12.2 E1
|
||||
} catch (ClassNotFoundException ignore) {
|
||||
langClass = Class.forName("net.optifine.Lang"); // Post Optifine 1.12.2 E1
|
||||
}
|
||||
langClass.getDeclaredMethod("resourcesReloaded").invoke(null);
|
||||
} catch (ClassNotFoundException ignore) {
|
||||
// no optifine installed
|
||||
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
|
||||
|
||||
@@ -25,16 +25,19 @@ public class ShaderReflection {
|
||||
|
||||
static {
|
||||
try {
|
||||
shaders_frameTimeCounter = Class.forName("shadersmod.client.Shaders")
|
||||
.getDeclaredField("frameTimeCounter");
|
||||
Class<?> shadersClass;
|
||||
try {
|
||||
shadersClass = Class.forName("shadersmod.client.Shaders"); // Pre Optifine 1.12.2 E1
|
||||
} catch (ClassNotFoundException ignore) {
|
||||
shadersClass = Class.forName("net.optifine.shaders.Shaders"); // Post Optifine 1.12.2 E1
|
||||
}
|
||||
shaders_frameTimeCounter = shadersClass.getDeclaredField("frameTimeCounter");
|
||||
shaders_frameTimeCounter.setAccessible(true);
|
||||
|
||||
shaders_isShadowPass = Class.forName("shadersmod.client.Shaders")
|
||||
.getDeclaredField("isShadowPass");
|
||||
shaders_isShadowPass = shadersClass.getDeclaredField("isShadowPass");
|
||||
shaders_isShadowPass.setAccessible(true);
|
||||
|
||||
shaders_beginRender = Class.forName("shadersmod.client.Shaders")
|
||||
.getDeclaredMethod("beginRender", Minecraft.class, float.class, long.class);
|
||||
shaders_beginRender = shadersClass.getDeclaredMethod("beginRender", Minecraft.class, float.class, long.class);
|
||||
shaders_beginRender.setAccessible(true);
|
||||
|
||||
renderGlobal_chunksToUpdateForced = Class.forName("net.minecraft.client.renderer.RenderGlobal")
|
||||
|
||||
@@ -9,7 +9,10 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Pseudo
|
||||
@Mixin(targets = "shadersmod/client/ShadersRender", remap = false)
|
||||
@Mixin(targets = {
|
||||
"shadersmod/client/ShadersRender", // Pre Optifine 1.12.2 E1
|
||||
"net/optifine/shaders/ShadersRender" // Post Optifine 1.12.2 E1
|
||||
}, remap = false)
|
||||
public abstract class MixinShadersRender {
|
||||
|
||||
@Inject(method = "renderHand0", at = @At("HEAD"), cancellable = true)
|
||||
|
||||
@@ -11,6 +11,7 @@ import de.johni0702.minecraft.gui.element.GuiButton;
|
||||
import de.johni0702.minecraft.gui.element.GuiCheckbox;
|
||||
import de.johni0702.minecraft.gui.element.GuiLabel;
|
||||
import de.johni0702.minecraft.gui.element.advanced.GuiProgressBar;
|
||||
import de.johni0702.minecraft.gui.function.Tickable;
|
||||
import de.johni0702.minecraft.gui.layout.CustomLayout;
|
||||
import de.johni0702.minecraft.gui.layout.HorizontalLayout;
|
||||
import net.minecraft.client.renderer.texture.DynamicTexture;
|
||||
@@ -22,7 +23,7 @@ import org.lwjgl.util.ReadablePoint;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
public class GuiVideoRenderer extends GuiScreen {
|
||||
public class GuiVideoRenderer extends GuiScreen implements Tickable {
|
||||
private static final ResourceLocation NO_PREVIEW_TEXTURE = new ResourceLocation("replaymod", "logo.jpg");
|
||||
|
||||
private final VideoRenderer renderer;
|
||||
@@ -135,7 +136,7 @@ public class GuiVideoRenderer extends GuiScreen {
|
||||
private int currentIndex = 0;
|
||||
|
||||
@Override
|
||||
public void draw(GuiRenderer guiRenderer, ReadableDimension size, RenderInfo renderInfo) {
|
||||
public void tick() {
|
||||
long current = System.currentTimeMillis();
|
||||
|
||||
//first, update the total render time (only if rendering is not paused and has already started)
|
||||
@@ -206,8 +207,6 @@ public class GuiVideoRenderer extends GuiScreen {
|
||||
int framesDone = renderer.getFramesDone(), framesTotal = renderer.getTotalFrames();
|
||||
progressBar.setI18nLabel("replaymod.gui.rendering.progress", framesDone, framesTotal);
|
||||
progressBar.setProgress((float) framesDone / framesTotal);
|
||||
|
||||
super.draw(guiRenderer, size, renderInfo);
|
||||
}
|
||||
|
||||
private String secToString(int seconds) {
|
||||
|
||||
@@ -358,6 +358,7 @@ public class VideoRenderer implements RenderInfo {
|
||||
int mouseX = Mouse.getX() * scaled.getScaledWidth() / mc.displayWidth;
|
||||
int mouseY = scaled.getScaledHeight() - Mouse.getY() * scaled.getScaledHeight() / mc.displayHeight - 1;
|
||||
|
||||
gui.toMinecraft().updateScreen();
|
||||
gui.toMinecraft().drawScreen(mouseX, mouseY, 0);
|
||||
|
||||
guiFramebuffer.unbindFramebuffer();
|
||||
|
||||
@@ -126,7 +126,7 @@ public class ClassicCameraController implements CameraController {
|
||||
|
||||
lastCall = Sys.getTime();
|
||||
|
||||
if(direction == null || motion < THRESHOLD) {
|
||||
if(direction == null || direction.lengthSquared() == 0 || motion < THRESHOLD) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user