Possible hotfix for optifine crash

This commit is contained in:
Ben Spiers 2013-07-31 03:28:46 +01:00
parent 5f27a06983
commit 248a976593

View file

@ -31,6 +31,7 @@ public class MekanismRenderer
private static float lightmapLastX; private static float lightmapLastX;
private static float lightmapLastY; private static float lightmapLastY;
private static boolean optifineBreak = false;
public static class Model3D public static class Model3D
{ {
@ -145,15 +146,29 @@ public class MekanismRenderer
public static void glowOn() public static void glowOn()
{ {
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
try
{
lightmapLastX = OpenGlHelper.lastBrightnessX; lightmapLastX = OpenGlHelper.lastBrightnessX;
lightmapLastY = OpenGlHelper.lastBrightnessY; lightmapLastY = OpenGlHelper.lastBrightnessY;
}
catch(NoSuchFieldError e)
{
optifineBreak = true;
}
RenderHelper.disableStandardItemLighting(); RenderHelper.disableStandardItemLighting();
if(!optifineBreak)
{
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0F, 240.0F); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0F, 240.0F);
} }
}
public static void glowOff() public static void glowOff()
{
if(!optifineBreak)
{ {
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lightmapLastX, lightmapLastY); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lightmapLastX, lightmapLastY);
}
GL11.glPopAttrib(); GL11.glPopAttrib();
} }