Update #49 - Fix unclosable pause menu glitch

This commit is contained in:
lax1dude
2025-01-26 15:23:47 -08:00
parent ed97c1ac00
commit ad900211dd
47 changed files with 1051 additions and 274 deletions

View File

@ -33,7 +33,7 @@
> CHANGE 1 : 3 @ 1 : 4
~ // note: vanilla order for this function is YXZ not ZYX for some reason
~ // note: vanilla order for this transformation was YXZ not ZYX for some reason
~ GlStateManager.rotateZYXRad(this.rotateAngleX, this.rotateAngleY, this.rotateAngleZ);
> DELETE 1 @ 1 : 5

View File

@ -83,25 +83,25 @@
~ import net.optifine.Config;
> CHANGE 9 : 10 @ 9 : 10
> INSERT 4 : 6 @ 4
+ private static final ResourceLocation locationRainDeferredPng = new ResourceLocation(
+ "eagler:glsl/deferred/rain.png");
> CHANGE 5 : 6 @ 5 : 6
~ private EaglercraftRandom random = new EaglercraftRandom();
> DELETE 43 @ 43 : 59
> INSERT 3 : 5 @ 3
> INSERT 3 : 7 @ 3
+ private GameOverlayFramebuffer overlayFramebuffer;
+ private float eagPartialTicks = 0.0f;
> INSERT 1 : 5 @ 1
+ public float currentProjMatrixFOV = 0.0f;
+
+ private boolean initializedOF = false;
+
> DELETE 1 @ 1 : 2
> DELETE 2 @ 2 : 3
> CHANGE 9 : 10 @ 9 : 10
@ -584,7 +584,12 @@
~ GlStateManager.gluPerspective(this.getFOVModifier(partialTicks, true),
> CHANGE 9 : 10 @ 9 : 10
> CHANGE 4 : 6 @ 4 : 5
~ // renderGlobalIn.renderClouds(partialTicks, pass);
~ renderGlobalIn.cloudRenderer.renderClouds(partialTicks, pass);
> CHANGE 4 : 5 @ 4 : 5
~ GlStateManager.gluPerspective(this.getFOVModifier(partialTicks, true),
@ -636,11 +641,10 @@
~ if (f2 >= 0.15F) {
> CHANGE 6 : 15 @ 6 : 7
> CHANGE 6 : 14 @ 6 : 7
~ this.mc.getTextureManager()
~ .bindTexture(df ? new ResourceLocation("eagler:glsl/deferred/rain.png")
~ : locationRainPng);
~ .bindTexture(df ? locationRainDeferredPng : locationRainPng);
~ if (df) {
~ DeferredStateManager.setRoughnessConstant(0.5f);
~ DeferredStateManager.setMetalnessConstant(0.05f);

View File

@ -16,7 +16,7 @@
~ import net.lax1dude.eaglercraft.v1_8.Keyboard;
~
> INSERT 2 : 24 @ 2
> INSERT 2 : 25 @ 2
+
+ import com.google.common.collect.Lists;
@ -28,6 +28,7 @@
+ import net.lax1dude.eaglercraft.v1_8.log4j.Logger;
+ import net.lax1dude.eaglercraft.v1_8.minecraft.ChunkUpdateManager;
+ import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerTextureAtlasSprite;
+ import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerCloudRenderer;
+ import net.lax1dude.eaglercraft.v1_8.opengl.EaglercraftGPU;
+ import net.lax1dude.eaglercraft.v1_8.opengl.GlStateManager;
+ import net.lax1dude.eaglercraft.v1_8.opengl.VertexFormat;
@ -75,21 +76,22 @@
~ private float lastViewProjMatrixFOV = Float.MIN_VALUE;
~ private final ChunkUpdateManager renderDispatcher = new ChunkUpdateManager();
> INSERT 17 : 19 @ 17
> INSERT 16 : 18 @ 16
+ private final DeduplicatedLongQueue alfheim$lightUpdatesQueue = new DeduplicatedLongQueue(8192);
+
+ public final EaglerCloudRenderer cloudRenderer;
> CHANGE 5 : 7 @ 5 : 7
> CHANGE 6 : 8 @ 6 : 8
~ EaglercraftGPU.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
~ EaglercraftGPU.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
> CHANGE 2 : 5 @ 2 : 14
> CHANGE 2 : 6 @ 2 : 14
~ this.vboEnabled = false;
~ this.renderContainer = new RenderList();
~ this.renderChunkFactory = new ListChunkFactory();
~ this.cloudRenderer = new EaglerCloudRenderer(mcIn);
> DELETE 19 @ 19 : 23
@ -121,7 +123,16 @@
~ tessellator.draw();
~ EaglercraftGPU.glEndList();
> DELETE 29 @ 29 : 32
> DELETE 4 @ 4 : 6
> CHANGE 1 : 5 @ 1 : 18
~ worldRendererIn.pos(-384, parFloat1, -384).endVertex();
~ worldRendererIn.pos(-384, parFloat1, 384).endVertex();
~ worldRendererIn.pos(384, parFloat1, 384).endVertex();
~ worldRendererIn.pos(384, parFloat1, -384).endVertex();
> DELETE 5 @ 5 : 8
> CHANGE 6 : 13 @ 6 : 21
@ -674,7 +685,11 @@
+ GlStateManager.enableDepth();
> CHANGE 331 : 332 @ 331 : 332
> DELETE 3 @ 3 : 79
> DELETE 4 @ 4 : 251
> CHANGE 1 : 2 @ 1 : 2
~ this.displayListEntitiesDirty |= this.renderDispatcher.updateChunks(finishTimeNano);
@ -719,7 +734,7 @@
~ EaglercraftRandom random = this.theWorld.rand;
> INSERT 229 : 263 @ 229
> INSERT 229 : 267 @ 229
+
+ public String getDebugInfoShort() {
@ -755,5 +770,9 @@
+
+ alfheim$lightUpdatesQueue.newDeduplicationSet();
+ }
+
+ public double getCloudCounter(float partialTicks) {
+ return (double) cloudTickCounter + partialTicks;
+ }
> EOF

View File

@ -5,16 +5,16 @@
# Version: 1.0
# Author: lax1dude
> CHANGE 2 : 6 @ 2 : 5
> CHANGE 2 : 4 @ 2 : 5
~ import net.lax1dude.eaglercraft.v1_8.internal.buffer.FloatBuffer;
~
~ import net.lax1dude.eaglercraft.v1_8.opengl.GlStateManager;
~ import net.lax1dude.eaglercraft.v1_8.opengl.ext.deferred.DeferredStateManager;
> DELETE 1 @ 1 : 2
> CHANGE 7 : 13 @ 7 : 11
> DELETE 2 @ 2 : 3
> CHANGE 4 : 10 @ 4 : 8
~ if (!DeferredStateManager.isInDeferredPass()) {
~ GlStateManager.disableLighting();
@ -33,7 +33,9 @@
~ GlStateManager.enableColorMaterial();
~ }
> CHANGE 15 : 22 @ 15 : 20
> DELETE 2 @ 2 : 14
> CHANGE 1 : 8 @ 1 : 6
~ if (!DeferredStateManager.isInDeferredPass()) {
~ GlStateManager.pushMatrix();

View File

@ -11,16 +11,20 @@
~ import net.lax1dude.eaglercraft.v1_8.opengl.WorldRenderer;
~ import net.lax1dude.eaglercraft.v1_8.opengl.WorldVertexBufferUploader;
> INSERT 4 : 13 @ 4
> CHANGE 3 : 12 @ 3 : 4
+
+ public static final int GL_TRIANGLES = RealOpenGLEnums.GL_TRIANGLES;
+ public static final int GL_TRIANGLE_STRIP = RealOpenGLEnums.GL_TRIANGLE_STRIP;
+ public static final int GL_TRIANGLE_FAN = RealOpenGLEnums.GL_TRIANGLE_FAN;
+ public static final int GL_QUADS = RealOpenGLEnums.GL_QUADS;
+ public static final int GL_LINES = RealOpenGLEnums.GL_LINES;
+ public static final int GL_LINE_STRIP = RealOpenGLEnums.GL_LINE_STRIP;
+ public static final int GL_LINE_LOOP = RealOpenGLEnums.GL_LINE_LOOP;
+
~
~ public static final int GL_TRIANGLES = RealOpenGLEnums.GL_TRIANGLES;
~ public static final int GL_TRIANGLE_STRIP = RealOpenGLEnums.GL_TRIANGLE_STRIP;
~ public static final int GL_TRIANGLE_FAN = RealOpenGLEnums.GL_TRIANGLE_FAN;
~ public static final int GL_QUADS = RealOpenGLEnums.GL_QUADS;
~ public static final int GL_LINES = RealOpenGLEnums.GL_LINES;
~ public static final int GL_LINE_STRIP = RealOpenGLEnums.GL_LINE_STRIP;
~ public static final int GL_LINE_LOOP = RealOpenGLEnums.GL_LINE_LOOP;
~
> CHANGE 12 : 13 @ 12 : 13
~ WorldVertexBufferUploader.func_181679_a(this.worldRenderer);
> EOF

View File

@ -5,9 +5,8 @@
# Version: 1.0
# Author: lax1dude
> INSERT 2 : 4 @ 2
> INSERT 2 : 3 @ 2
+ import net.lax1dude.eaglercraft.v1_8.internal.IFramebufferGL;
+ import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerTextureAtlasSprite;
> DELETE 1 @ 1 : 3

View File

@ -5,9 +5,8 @@
# Version: 1.0
# Author: lax1dude
> INSERT 2 : 4 @ 2
> INSERT 2 : 3 @ 2
+ import net.lax1dude.eaglercraft.v1_8.internal.IFramebufferGL;
+ import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerTextureAtlasSprite;
> DELETE 1 @ 1 : 3

View File

@ -7,11 +7,7 @@
> DELETE 2 @ 2 : 3
> INSERT 2 : 3 @ 2
+ import java.util.Collection;
> INSERT 1 : 4 @ 1
> INSERT 3 : 6 @ 3
+
+ import net.lax1dude.eaglercraft.v1_8.minecraft.ResourceIndex;

View File

@ -13,4 +13,16 @@
~ public int y;
~ public int z;
> CHANGE 33 : 34 @ 33 : 34
~ public final int getX() {
> CHANGE 3 : 4 @ 3 : 4
~ public final int getY() {
> CHANGE 3 : 4 @ 3 : 4
~ public final int getZ() {
> EOF

View File

@ -41,33 +41,53 @@
~ worldinfo.areCommandsAllowed(), null));
> CHANGE 10 : 11 @ 10 : 11
> CHANGE 10 : 17 @ 10 : 22
~ VFile2 file1 = WorldsDB.newVFile(this.savesDirectory, saveName);
~ VFile2 file2 = WorldsDB.newVFile(file1, "level.dat");
~ if (file2.exists()) {
~ try {
~ NBTTagCompound nbttagcompound2;
~ try (InputStream is = file2.getInputStream()) {
~ nbttagcompound2 = CompressedStreamTools.readCompressed(is);
> CHANGE 3 : 4 @ 3 : 4
> INSERT 1 : 6 @ 1
~ VFile2 file2 = WorldsDB.newVFile(file1, "level.dat");
+ NBTTagCompound nbttagcompound3 = nbttagcompound2.getCompoundTag("Data");
+ return new WorldInfo(nbttagcompound3);
+ } catch (Exception exception1) {
+ logger.error("Exception reading " + file2);
+ logger.error(exception1);
> CHANGE 2 : 6 @ 2 : 3
> INSERT 1 : 2 @ 1
~ NBTTagCompound nbttagcompound2;
~ try (InputStream is = file2.getInputStream()) {
~ nbttagcompound2 = CompressedStreamTools.readCompressed(is);
~ }
+ }
> CHANGE 7 : 8 @ 7 : 8
> CHANGE 1 : 7 @ 1 : 9
~ file2 = WorldsDB.newVFile(file1, "level.dat_old");
~ file2 = WorldsDB.newVFile(file1, "level.dat_old");
~ if (file2.exists()) {
~ try {
~ NBTTagCompound nbttagcompound;
~ try (InputStream is = file2.getInputStream()) {
~ nbttagcompound = CompressedStreamTools.readCompressed(is);
> CHANGE 2 : 6 @ 2 : 3
> INSERT 1 : 6 @ 1
~ NBTTagCompound nbttagcompound;
~ try (InputStream is = file2.getInputStream()) {
~ nbttagcompound = CompressedStreamTools.readCompressed(is);
~ }
+ NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("Data");
+ return new WorldInfo(nbttagcompound1);
+ } catch (Exception exception) {
+ logger.error("Exception reading " + file2);
+ logger.error(exception);
> CHANGE 11 : 15 @ 11 : 15
> DELETE 1 @ 1 : 3
> INSERT 1 : 3 @ 1
+
+ return null;
> CHANGE 2 : 6 @ 2 : 6
~ public boolean renameWorld(String dirName, String newName) {
~ VFile2 file1 = WorldsDB.newVFile(this.savesDirectory, dirName);