public void doRenderLiving( EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9) { GL11.glPushMatrix(); GL11.glDisable(GL11.GL_CULL_FACE); mainModel.onGround = renderSwingProgress(par1EntityLiving, par9); if (renderPassModel != null) { renderPassModel.onGround = mainModel.onGround; } mainModel.isRiding = par1EntityLiving.isRiding(); if (renderPassModel != null) { renderPassModel.isRiding = mainModel.isRiding; } mainModel.isChild = par1EntityLiving.isChild(); if (renderPassModel != null) { renderPassModel.isChild = mainModel.isChild; } try { float f = func_48418_a( par1EntityLiving.prevRenderYawOffset, par1EntityLiving.renderYawOffset, par9); float f1 = func_48418_a( par1EntityLiving.prevRotationYawHead, par1EntityLiving.rotationYawHead, par9); float f2 = par1EntityLiving.prevRotationPitch + (par1EntityLiving.rotationPitch - par1EntityLiving.prevRotationPitch) * par9; renderLivingAt(par1EntityLiving, par2, par4, par6); float f3 = handleRotationFloat(par1EntityLiving, par9); rotateCorpse(par1EntityLiving, f3, f, par9); float f4 = 0.0625F; GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glScalef(-1F, -1F, 1.0F); preRenderCallback(par1EntityLiving, par9); if (!bobbing) { GL11.glTranslatef(0.0F, -24F * f4 - 0.0078125F, 0.0F); } float f5 = par1EntityLiving.field_705_Q + (par1EntityLiving.field_704_R - par1EntityLiving.field_705_Q) * par9; float f6; if (bobbing) { f6 = par1EntityLiving.field_9359_x + (par1EntityLiving.field_9360_w - par1EntityLiving.field_9359_x) * par9; if (par1EntityLiving.isChild()) { f6 *= 3F; } float bobStrength = 0F; if ((par1EntityLiving instanceof EntityZombie || par1EntityLiving instanceof EntitySkeleton || par1EntityLiving instanceof EntityCreeper || par1EntityLiving instanceof EntityPig || par1EntityLiving instanceof EntitySheep || par1EntityLiving instanceof EntityPlayer || par1EntityLiving instanceof EntityOtherPlayerMP) && !par1EntityLiving.isChild()) { bobStrength = 1.0F; } float f32 = par1EntityLiving.field_9362_u + (par1EntityLiving.field_9361_v - par1EntityLiving.field_9362_u) * par9; float bob = -Math.abs(MathHelper.cos(f6 * 0.6662F)) * 5F * f32 * bobStrength - 23F; GL11.glTranslatef(0.0F, bob * f4 - 0.0078125F, 0.0F); } else { f6 = par1EntityLiving.field_703_S - par1EntityLiving.field_704_R * (1.0F - par9); if (par1EntityLiving.isChild()) { f6 *= 3F; } } if (f5 > 1.0F) { f5 = 1.0F; } GL11.glEnable(GL11.GL_ALPHA_TEST); mainModel.setLivingAnimations(par1EntityLiving, f6, f5, par9); renderModel(par1EntityLiving, f6, f5, f3, f1 - f, f2, f4); for (int i = 0; i < 4; i++) { int j = shouldRenderPass(par1EntityLiving, i, par9); if (j <= 0) { continue; } renderPassModel.setLivingAnimations(par1EntityLiving, f6, f5, par9); renderPassModel.render(par1EntityLiving, f6, f5, f3, f1 - f, f2, f4); if (j == 15) { float f8 = (float) par1EntityLiving.ticksExisted + par9; loadTexture("%blur%/misc/glint.png"); GL11.glEnable(GL11.GL_BLEND); float f10 = 0.5F; GL11.glColor4f(f10, f10, f10, 1.0F); GL11.glDepthFunc(GL11.GL_EQUAL); GL11.glDepthMask(false); for (int i1 = 0; i1 < 2; i1++) { GL11.glDisable(GL11.GL_LIGHTING); float f13 = 0.76F; GL11.glColor4f(0.5F * f13, 0.25F * f13, 0.8F * f13, 1.0F); GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); float f15 = f8 * (0.001F + (float) i1 * 0.003F) * 20F; float f16 = 0.3333333F; GL11.glScalef(f16, f16, f16); GL11.glRotatef(30F - (float) i1 * 60F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, f15, 0.0F); GL11.glMatrixMode(GL11.GL_MODELVIEW); renderPassModel.render(par1EntityLiving, f6, f5, f3, f1 - f, f2, f4); } GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glDepthMask(true); GL11.glLoadIdentity(); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_BLEND); GL11.glDepthFunc(GL11.GL_LEQUAL); } GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_ALPHA_TEST); } renderEquippedItems(par1EntityLiving, par9); float f7 = par1EntityLiving.getBrightness(par9); int k = getColorMultiplier(par1EntityLiving, f7, par9); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); GL11.glDisable(GL11.GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); if ((k >> 24 & 0xff) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDepthFunc(GL11.GL_EQUAL); if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glColor4f(f7, 0.0F, 0.0F, 0.4F); mainModel.render(par1EntityLiving, f6, f5, f3, f1 - f, f2, f4); for (int l = 0; l < 4; l++) { if (inheritRenderPass(par1EntityLiving, l, par9) >= 0) { GL11.glColor4f(f7, 0.0F, 0.0F, 0.4F); renderPassModel.render(par1EntityLiving, f6, f5, f3, f1 - f, f2, f4); } } } if ((k >> 24 & 0xff) > 0) { float f9 = (float) (k >> 16 & 0xff) / 255F; float f11 = (float) (k >> 8 & 0xff) / 255F; float f12 = (float) (k & 0xff) / 255F; float f14 = (float) (k >> 24 & 0xff) / 255F; GL11.glColor4f(f9, f11, f12, f14); mainModel.render(par1EntityLiving, f6, f5, f3, f1 - f, f2, f4); for (int j1 = 0; j1 < 4; j1++) { if (inheritRenderPass(par1EntityLiving, j1, par9) >= 0) { GL11.glColor4f(f9, f11, f12, f14); renderPassModel.render(par1EntityLiving, f6, f5, f3, f1 - f, f2, f4); } } } GL11.glDepthFunc(GL11.GL_LEQUAL); GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_TEXTURE_2D); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); } catch (Exception exception) { exception.printStackTrace(); } OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); GL11.glEnable(GL11.GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); passSpecialRender(par1EntityLiving, par2, par4, par6); }
public void doRenderLiving( EntityLiving var1, double var2, double var4, double var6, float var8, float var9) { GL11.glPushMatrix(); GL11.glDisable(2884 /*GL_CULL_FACE*/); this.mainModel.onGround = this.renderSwingProgress(var1, var9); if (this.renderPassModel != null) { this.renderPassModel.onGround = this.mainModel.onGround; } this.mainModel.isRiding = var1.isRiding(); if (this.renderPassModel != null) { this.renderPassModel.isRiding = this.mainModel.isRiding; } this.mainModel.field_40301_k = var1.func_40127_l(); if (this.renderPassModel != null) { this.renderPassModel.field_40301_k = this.mainModel.field_40301_k; } try { float var10 = var1.prevRenderYawOffset + (var1.renderYawOffset - var1.prevRenderYawOffset) * var9; float var11 = var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9; float var12 = var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9; this.renderLivingAt(var1, var2, var4, var6); float var13 = this.handleRotationFloat(var1, var9); this.rotateCorpse(var1, var13, var10, var9); float var14 = 0.0625F; GL11.glEnable('\u803a'); GL11.glScalef(-1.0F, -1.0F, 1.0F); this.preRenderCallback(var1, var9); GL11.glTranslatef(0.0F, -24.0F * var14 - 0.0078125F, 0.0F); float var15 = var1.field_705_Q + (var1.field_704_R - var1.field_705_Q) * var9; float var16 = var1.field_703_S - var1.field_704_R * (1.0F - var9); if (var1.func_40127_l()) { var16 *= 3.0F; } if (var15 > 1.0F) { var15 = 1.0F; } GL11.glEnable(3008 /*GL_ALPHA_TEST*/); this.mainModel.setLivingAnimations(var1, var16, var15, var9); this.func_40270_a(var1, var16, var15, var13, var11 - var10, var12, var14); float var19; int var18; float var20; float var22; for (int var17 = 0; var17 < 4; ++var17) { var18 = this.shouldRenderPass(var1, var17, var9); if (var18 > 0) { this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14); if (var18 == 15) { var19 = (float) var1.ticksExisted + var9; this.loadTexture("%blur%/misc/glint.png"); GL11.glEnable(3042 /*GL_BLEND*/); var20 = 0.5F; GL11.glColor4f(var20, var20, var20, 1.0F); GL11.glDepthFunc(514); GL11.glDepthMask(false); for (int var21 = 0; var21 < 2; ++var21) { GL11.glDisable(2896 /*GL_LIGHTING*/); var22 = 0.76F; GL11.glColor4f(0.5F * var22, 0.25F * var22, 0.8F * var22, 1.0F); GL11.glBlendFunc(768, 1); GL11.glMatrixMode(5890 /*GL_TEXTURE*/); GL11.glLoadIdentity(); float var23 = var19 * (0.0010F + (float) var21 * 0.0030F) * 20.0F; float var24 = 0.33333334F; GL11.glScalef(var24, var24, var24); GL11.glRotatef(30.0F - (float) var21 * 60.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, var23, 0.0F); GL11.glMatrixMode(5888 /*GL_MODELVIEW0_ARB*/); this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14); } GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glMatrixMode(5890 /*GL_TEXTURE*/); GL11.glDepthMask(true); GL11.glLoadIdentity(); GL11.glMatrixMode(5888 /*GL_MODELVIEW0_ARB*/); GL11.glEnable(2896 /*GL_LIGHTING*/); GL11.glDisable(3042 /*GL_BLEND*/); GL11.glDepthFunc(515); } GL11.glDisable(3042 /*GL_BLEND*/); GL11.glEnable(3008 /*GL_ALPHA_TEST*/); } } this.renderEquippedItems(var1, var9); float var26 = var1.getEntityBrightness(var9); var18 = this.getColorMultiplier(var1, var26, var9); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapEnabled); GL11.glDisable(3553 /*GL_TEXTURE_2D*/); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapDisabled); if ((var18 >> 24 & 255) > 0 || var1.hurtTime > 0 || var1.deathTime > 0) { GL11.glDisable(3553 /*GL_TEXTURE_2D*/); GL11.glDisable(3008 /*GL_ALPHA_TEST*/); GL11.glEnable(3042 /*GL_BLEND*/); GL11.glBlendFunc(770, 771); GL11.glDepthFunc(514); if (var1.hurtTime > 0 || var1.deathTime > 0) { GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F); this.mainModel.render(var1, var16, var15, var13, var11 - var10, var12, var14); for (int var27 = 0; var27 < 4; ++var27) { if (this.inheritRenderPass(var1, var27, var9) >= 0) { GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F); this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14); } } } if ((var18 >> 24 & 255) > 0) { var19 = (float) (var18 >> 16 & 255) / 255.0F; var20 = (float) (var18 >> 8 & 255) / 255.0F; float var29 = (float) (var18 & 255) / 255.0F; var22 = (float) (var18 >> 24 & 255) / 255.0F; GL11.glColor4f(var19, var20, var29, var22); this.mainModel.render(var1, var16, var15, var13, var11 - var10, var12, var14); for (int var28 = 0; var28 < 4; ++var28) { if (this.inheritRenderPass(var1, var28, var9) >= 0) { GL11.glColor4f(var19, var20, var29, var22); this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14); } } } GL11.glDepthFunc(515); GL11.glDisable(3042 /*GL_BLEND*/); GL11.glEnable(3008 /*GL_ALPHA_TEST*/); GL11.glEnable(3553 /*GL_TEXTURE_2D*/); } GL11.glDisable('\u803a'); } catch (Exception var25) { var25.printStackTrace(); } OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapEnabled); GL11.glEnable(3553 /*GL_TEXTURE_2D*/); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapDisabled); GL11.glEnable(2884 /*GL_CULL_FACE*/); GL11.glPopMatrix(); this.passSpecialRender(var1, var2, var4, var6); }