mirror of
https://github.com/Eaglercraft-Archive/Eaglercraftx-1.8.8-src.git
synced 2025-06-27 18:38:14 -05:00
Update #13 - Big FPS boost for most players
The hotbar, chat, and debug overlays in the game have been optimized and now only require a fraction as much CPU/GPU usage to be displayed on screen
This commit is contained in:
@ -14,17 +14,20 @@
|
||||
+ import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerTextureAtlasSprite;
|
||||
+
|
||||
|
||||
> CHANGE 3 : 6 @ 3 : 6
|
||||
> CHANGE 3 : 7 @ 3 : 6
|
||||
|
||||
~
|
||||
~ import net.lax1dude.eaglercraft.v1_8.opengl.GlStateManager;
|
||||
~ import net.lax1dude.eaglercraft.v1_8.opengl.OpenGlHelper;
|
||||
~ import net.lax1dude.eaglercraft.v1_8.opengl.WorldRenderer;
|
||||
|
||||
> DELETE 2 @ 2 : 11
|
||||
|
||||
> DELETE 2 @ 2 : 3
|
||||
|
||||
> DELETE 1 @ 1 : 2
|
||||
> CHANGE 1 : 2 @ 1 : 2
|
||||
|
||||
~ import net.minecraft.client.renderer.entity.RenderManager;
|
||||
|
||||
> CHANGE 32 : 33 @ 32 : 33
|
||||
|
||||
@ -34,9 +37,15 @@
|
||||
|
||||
> DELETE 27 @ 27 : 28
|
||||
|
||||
> CHANGE 95 : 96 @ 95 : 98
|
||||
> CHANGE 16 : 17 @ 16 : 21
|
||||
|
||||
~ this.overlayDebug.renderDebugInfo(scaledresolution, partialTicks);
|
||||
~ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
|
||||
|
||||
> DELETE 21 @ 21 : 30
|
||||
|
||||
> CHANGE 44 : 45 @ 44 : 47
|
||||
|
||||
~ this.overlayDebug.renderDebugInfo(scaledresolution);
|
||||
|
||||
> INSERT 87 : 90 @ 87
|
||||
|
||||
@ -44,7 +53,21 @@
|
||||
+ j -= 10;
|
||||
+ }
|
||||
|
||||
> DELETE 166 @ 166 : 170
|
||||
> INSERT 19 : 30 @ 19
|
||||
|
||||
+ public void renderGameOverlayCrosshairs(int scaledResWidth, int scaledResHeight) {
|
||||
+ if (this.showCrosshair()) {
|
||||
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
+ this.mc.getTextureManager().bindTexture(icons);
|
||||
+ GlStateManager.enableBlend();
|
||||
+ GlStateManager.tryBlendFuncSeparate(775, 769, 1, 0);
|
||||
+ GlStateManager.enableAlpha();
|
||||
+ this.drawTexturedModalRect(scaledResWidth / 2 - 7, scaledResHeight / 2 - 7, 0, 0, 16, 16);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
||||
> DELETE 147 @ 147 : 151
|
||||
|
||||
> CHANGE 17 : 18 @ 17 : 18
|
||||
|
||||
@ -54,10 +77,80 @@
|
||||
|
||||
~ for (Score score1 : (List<Score>) arraylist1) {
|
||||
|
||||
> CHANGE 343 : 344 @ 343 : 344
|
||||
> INSERT 64 : 65 @ 64
|
||||
|
||||
+ this.mc.getTextureManager().bindTexture(icons);
|
||||
|
||||
> CHANGE 224 : 225 @ 224 : 225
|
||||
|
||||
~ public void renderVignette(float parFloat1, int scaledWidth, int scaledHeight) {
|
||||
|
||||
> CHANGE 29 : 32 @ 29 : 33
|
||||
|
||||
~ worldrenderer.pos(0.0D, (double) scaledHeight, -90.0D).tex(0.0D, 1.0D).endVertex();
|
||||
~ worldrenderer.pos((double) scaledWidth, scaledHeight, -90.0D).tex(1.0D, 1.0D).endVertex();
|
||||
~ worldrenderer.pos((double) scaledWidth, 0.0D, -90.0D).tex(1.0D, 0.0D).endVertex();
|
||||
|
||||
> CHANGE 21 : 22 @ 21 : 22
|
||||
|
||||
~ EaglerTextureAtlasSprite textureatlassprite = this.mc.getBlockRendererDispatcher().getBlockModelShapes()
|
||||
|
||||
> DELETE 57 @ 57 : 58
|
||||
|
||||
> INSERT 60 : 113 @ 60
|
||||
|
||||
+ public void drawEaglerPlayerOverlay(int x, int y, float partialTicks) {
|
||||
+ Entity e = mc.getRenderViewEntity();
|
||||
+ if (e != null && e instanceof EntityLivingBase) {
|
||||
+ EntityLivingBase ent = (EntityLivingBase) e;
|
||||
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
+ GlStateManager.enableDepth();
|
||||
+ GlStateManager.enableColorMaterial();
|
||||
+ GlStateManager.pushMatrix();
|
||||
+ GlStateManager.translate((float) x - 10, (float) y + 36, 50.0F);
|
||||
+ GlStateManager.scale(-17.0F, 17.0F, 17.0F);
|
||||
+ GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
+ float f = ent.renderYawOffset;
|
||||
+ float f1 = ent.rotationYaw;
|
||||
+ float f2 = ent.prevRotationYaw;
|
||||
+ float f3 = ent.prevRotationYawHead;
|
||||
+ float f4 = ent.rotationYawHead;
|
||||
+ float f5 = ent.prevRenderYawOffset;
|
||||
+ GlStateManager.rotate(115.0F, 0.0F, 1.0F, 0.0F);
|
||||
+ RenderHelper.enableStandardItemLighting();
|
||||
+ float f6 = ent.prevRenderYawOffset + (ent.renderYawOffset - ent.prevRenderYawOffset) * partialTicks;
|
||||
+ ent.rotationYawHead -= f6;
|
||||
+ ent.prevRotationYawHead -= f6;
|
||||
+ ent.rotationYawHead *= 0.5f;
|
||||
+ ent.prevRotationYawHead *= 0.5f;
|
||||
+ ent.renderYawOffset = 0.0f;
|
||||
+ ent.prevRenderYawOffset = 0.0f;
|
||||
+ ent.prevRotationYaw = 0.0f;
|
||||
+ ent.rotationYaw = 0.0f;
|
||||
+ GlStateManager.rotate(-135.0F
|
||||
+ - (ent.prevRotationYawHead + (ent.rotationYawHead - ent.prevRotationYawHead) * partialTicks) * 0.5F,
|
||||
+ 0.0F, 1.0F, 0.0F);
|
||||
+ GlStateManager.rotate(ent.rotationPitch * 0.2f, 1.0F, 0.0F, 0.0F);
|
||||
+ RenderManager rendermanager = Minecraft.getMinecraft().getRenderManager();
|
||||
+ rendermanager.setPlayerViewY(180.0F);
|
||||
+ rendermanager.setRenderShadow(false);
|
||||
+ rendermanager.renderEntityWithPosYaw(ent, 0.0D, 0.0D, 0.0D, 0.0F, partialTicks);
|
||||
+ rendermanager.setRenderShadow(true);
|
||||
+ ent.renderYawOffset = f;
|
||||
+ ent.rotationYaw = f1;
|
||||
+ ent.prevRotationYaw = f2;
|
||||
+ ent.prevRotationYawHead = f3;
|
||||
+ ent.rotationYawHead = f4;
|
||||
+ ent.prevRenderYawOffset = f5;
|
||||
+ GlStateManager.popMatrix();
|
||||
+ RenderHelper.disableStandardItemLighting();
|
||||
+ GlStateManager.disableDepth();
|
||||
+ GlStateManager.disableRescaleNormal();
|
||||
+ GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
|
||||
+ GlStateManager.disableTexture2D();
|
||||
+ GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
||||
> EOF
|
||||
|
@ -50,13 +50,12 @@
|
||||
|
||||
> DELETE 1 @ 1 : 3
|
||||
|
||||
> CHANGE 10 : 13 @ 10 : 11
|
||||
> INSERT 11 : 13 @ 11
|
||||
|
||||
~ public void renderDebugInfo(ScaledResolution scaledResolutionIn, float partialTicks) {
|
||||
~ int ww = scaledResolutionIn.getScaledWidth();
|
||||
~ int hh = scaledResolutionIn.getScaledHeight();
|
||||
+ int ww = scaledResolutionIn.getScaledWidth();
|
||||
+ int hh = scaledResolutionIn.getScaledHeight();
|
||||
|
||||
> CHANGE 1 : 24 @ 1 : 7
|
||||
> CHANGE 1 : 20 @ 1 : 7
|
||||
|
||||
~ if (this.mc.gameSettings.showDebugInfo) {
|
||||
~ GlStateManager.pushMatrix();
|
||||
@ -77,10 +76,6 @@
|
||||
~ if (this.mc.gameSettings.hudCoords) {
|
||||
~ drawXYZ(2, i);
|
||||
~ }
|
||||
~
|
||||
~ if (this.mc.gameSettings.hudPlayer) {
|
||||
~ drawPlayer(ww - 3, 3, partialTicks);
|
||||
~ }
|
||||
|
||||
> INSERT 2 : 26 @ 2
|
||||
|
||||
@ -109,7 +104,7 @@
|
||||
+ }
|
||||
+
|
||||
|
||||
> INSERT 3 : 195 @ 3
|
||||
> INSERT 3 : 142 @ 3
|
||||
|
||||
+ private void drawFPS(int x, int y) {
|
||||
+ this.fontRenderer.drawStringWithShadow(this.mc.renderGlobal.getDebugInfoShort(), x, y, 0xFFFFFF);
|
||||
@ -246,59 +241,6 @@
|
||||
+ this.fontRenderer.drawStringWithShadow(lightString + " " + tempString, x, y - 8, 0xFFFFFF);
|
||||
+ }
|
||||
+
|
||||
+ private void drawPlayer(int x, int y, float partialTicks) {
|
||||
+ Entity e = mc.getRenderViewEntity();
|
||||
+ if (e != null && e instanceof EntityLivingBase) {
|
||||
+ EntityLivingBase ent = (EntityLivingBase) e;
|
||||
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
+ GlStateManager.enableDepth();
|
||||
+ GlStateManager.enableColorMaterial();
|
||||
+ GlStateManager.pushMatrix();
|
||||
+ GlStateManager.translate((float) x - 10, (float) y + 36, 50.0F);
|
||||
+ GlStateManager.scale(-17.0F, 17.0F, 17.0F);
|
||||
+ GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
+ float f = ent.renderYawOffset;
|
||||
+ float f1 = ent.rotationYaw;
|
||||
+ float f2 = ent.prevRotationYaw;
|
||||
+ float f3 = ent.prevRotationYawHead;
|
||||
+ float f4 = ent.rotationYawHead;
|
||||
+ float f5 = ent.prevRenderYawOffset;
|
||||
+ GlStateManager.rotate(115.0F, 0.0F, 1.0F, 0.0F);
|
||||
+ RenderHelper.enableStandardItemLighting();
|
||||
+ float f6 = ent.prevRenderYawOffset + (ent.renderYawOffset - ent.prevRenderYawOffset) * partialTicks;
|
||||
+ ent.rotationYawHead -= f6;
|
||||
+ ent.prevRotationYawHead -= f6;
|
||||
+ ent.rotationYawHead *= 0.5f;
|
||||
+ ent.prevRotationYawHead *= 0.5f;
|
||||
+ ent.renderYawOffset = 0.0f;
|
||||
+ ent.prevRenderYawOffset = 0.0f;
|
||||
+ ent.prevRotationYaw = 0.0f;
|
||||
+ ent.rotationYaw = 0.0f;
|
||||
+ GlStateManager.rotate(-135.0F
|
||||
+ - (ent.prevRotationYawHead + (ent.rotationYawHead - ent.prevRotationYawHead) * partialTicks) * 0.5F,
|
||||
+ 0.0F, 1.0F, 0.0F);
|
||||
+ GlStateManager.rotate(ent.rotationPitch * 0.2f, 1.0F, 0.0F, 0.0F);
|
||||
+ RenderManager rendermanager = Minecraft.getMinecraft().getRenderManager();
|
||||
+ rendermanager.setPlayerViewY(180.0F);
|
||||
+ rendermanager.setRenderShadow(false);
|
||||
+ rendermanager.renderEntityWithPosYaw(ent, 0.0D, 0.0D, 0.0D, 0.0F, partialTicks);
|
||||
+ rendermanager.setRenderShadow(true);
|
||||
+ ent.renderYawOffset = f;
|
||||
+ ent.rotationYaw = f1;
|
||||
+ ent.prevRotationYaw = f2;
|
||||
+ ent.prevRotationYawHead = f3;
|
||||
+ ent.rotationYawHead = f4;
|
||||
+ ent.prevRenderYawOffset = f5;
|
||||
+ GlStateManager.popMatrix();
|
||||
+ RenderHelper.disableStandardItemLighting();
|
||||
+ GlStateManager.disableDepth();
|
||||
+ GlStateManager.disableRescaleNormal();
|
||||
+ GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
|
||||
+ GlStateManager.disableTexture2D();
|
||||
+ GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private void drawHideHUD(int x, int y, int fade) {
|
||||
+ drawCenteredString(fontRenderer, I18n.format("options.hud.note"), x, y, 0xEECC00 | (fade << 24));
|
||||
+ }
|
||||
|
@ -14,7 +14,7 @@
|
||||
~ import net.lax1dude.eaglercraft.v1_8.EaglercraftRandom;
|
||||
~ import net.lax1dude.eaglercraft.v1_8.HString;
|
||||
|
||||
> INSERT 1 : 14 @ 1
|
||||
> INSERT 1 : 15 @ 1
|
||||
|
||||
+
|
||||
+ import com.google.common.base.Predicate;
|
||||
@ -26,6 +26,7 @@
|
||||
+ import net.lax1dude.eaglercraft.v1_8.log4j.Logger;
|
||||
+ import net.lax1dude.eaglercraft.v1_8.opengl.EaglercraftGPU;
|
||||
+ import net.lax1dude.eaglercraft.v1_8.opengl.EffectPipelineFXAA;
|
||||
+ import net.lax1dude.eaglercraft.v1_8.opengl.GameOverlayFramebuffer;
|
||||
+ import net.lax1dude.eaglercraft.v1_8.opengl.GlStateManager;
|
||||
+ import net.lax1dude.eaglercraft.v1_8.opengl.OpenGlHelper;
|
||||
+ import net.lax1dude.eaglercraft.v1_8.opengl.WorldRenderer;
|
||||
@ -42,9 +43,17 @@
|
||||
|
||||
~ private EaglercraftRandom random = new EaglercraftRandom();
|
||||
|
||||
> DELETE 43 @ 43 : 44
|
||||
> DELETE 43 @ 43 : 61
|
||||
|
||||
> DELETE 30 @ 30 : 31
|
||||
> INSERT 1 : 2 @ 1
|
||||
|
||||
+ private GameOverlayFramebuffer overlayFramebuffer;
|
||||
|
||||
> DELETE 2 @ 2 : 4
|
||||
|
||||
> CHANGE 8 : 9 @ 8 : 9
|
||||
|
||||
~ this.overlayFramebuffer = new GameOverlayFramebuffer();
|
||||
|
||||
> INSERT 1 : 10 @ 1
|
||||
|
||||
@ -64,13 +73,13 @@
|
||||
|
||||
> DELETE 3 @ 3 : 9
|
||||
|
||||
> DELETE 7 @ 7 : 22
|
||||
> DELETE 3 @ 3 : 4
|
||||
|
||||
> DELETE 3 @ 3 : 18
|
||||
|
||||
> CHANGE 3 : 4 @ 3 : 18
|
||||
> DELETE 3 @ 3 : 18
|
||||
|
||||
~ this.useShader = false;
|
||||
> DELETE 3 @ 3 : 18
|
||||
|
||||
> DELETE 3 @ 3 : 14
|
||||
|
||||
@ -129,7 +138,47 @@
|
||||
|
||||
> DELETE 39 @ 39 : 52
|
||||
|
||||
> CHANGE 28 : 29 @ 28 : 29
|
||||
> CHANGE 4 : 41 @ 4 : 5
|
||||
|
||||
~ long framebufferAge = this.overlayFramebuffer.getAge();
|
||||
~ if (framebufferAge == -1l || framebufferAge > (Minecraft.getDebugFPS() < 25 ? 125l : 75l)) {
|
||||
~ this.overlayFramebuffer.beginRender(mc.displayWidth, mc.displayHeight);
|
||||
~ GlStateManager.colorMask(true, true, true, true);
|
||||
~ GlStateManager.clearColor(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
~ GlStateManager.clear(16640);
|
||||
~ this.mc.ingameGUI.renderGameOverlay(parFloat1);
|
||||
~ this.overlayFramebuffer.endRender();
|
||||
~ }
|
||||
~ this.setupOverlayRendering();
|
||||
~ GlStateManager.enableBlend();
|
||||
~ if (Minecraft.isFancyGraphicsEnabled()) {
|
||||
~ this.mc.ingameGUI.renderVignette(parFloat1, l, i1);
|
||||
~ }
|
||||
~ this.mc.ingameGUI.renderGameOverlayCrosshairs(l, i1);
|
||||
~ GlStateManager.bindTexture(this.overlayFramebuffer.getTexture());
|
||||
~ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
~ GlStateManager.enableBlend();
|
||||
~ GlStateManager.blendFunc(770, 771);
|
||||
~ GlStateManager.disableAlpha();
|
||||
~ GlStateManager.disableDepth();
|
||||
~ GlStateManager.depthMask(false);
|
||||
~ Tessellator tessellator = Tessellator.getInstance();
|
||||
~ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
|
||||
~ worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
|
||||
~ worldrenderer.pos(0.0D, (double) i1, -90.0D).tex(0.0D, 0.0D).endVertex();
|
||||
~ worldrenderer.pos((double) l, (double) i1, -90.0D).tex(1.0D, 0.0D).endVertex();
|
||||
~ worldrenderer.pos((double) l, 0.0D, -90.0D).tex(1.0D, 1.0D).endVertex();
|
||||
~ worldrenderer.pos(0.0D, 0.0D, -90.0D).tex(0.0D, 1.0D).endVertex();
|
||||
~ tessellator.draw();
|
||||
~ GlStateManager.depthMask(true);
|
||||
~ GlStateManager.enableDepth();
|
||||
~ GlStateManager.enableAlpha();
|
||||
~ GlStateManager.disableBlend();
|
||||
~ if (this.mc.gameSettings.hudPlayer) { // give the player model HUD good fps
|
||||
~ this.mc.ingameGUI.drawEaglerPlayerOverlay(l - 3, 3, parFloat1);
|
||||
~ }
|
||||
|
||||
> CHANGE 23 : 24 @ 23 : 24
|
||||
|
||||
~ return EntityRenderer.this.mc.currentScreen.getClass().getName();
|
||||
|
||||
|
@ -77,7 +77,7 @@
|
||||
|
||||
+ public boolean hudFps = true;
|
||||
+ public boolean hudCoords = true;
|
||||
+ public boolean hudPlayer = true;
|
||||
+ public boolean hudPlayer = false;
|
||||
+ public boolean hudWorld = false;
|
||||
+ public boolean hudStats = false;
|
||||
+ public boolean hud24h = false;
|
||||
|
Reference in New Issue
Block a user