Fix color issues with Dyed Leather armor.

This commit is contained in:
LexManos 2012-10-23 05:24:36 -07:00
parent 5ca845f069
commit 717b80781b
3 changed files with 18 additions and 8 deletions

View file

@ -1,17 +1,27 @@
--- ../src_base/minecraft/net/minecraft/src/RenderBiped.java
+++ ../src_work/minecraft/net/minecraft/src/RenderBiped.java
@@ -3,6 +3,10 @@
@@ -3,6 +3,11 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import org.lwjgl.opengl.GL11;
+import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED;
+import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D;
+import net.minecraftforge.client.ForgeHooksClient;
+import net.minecraftforge.client.IItemRenderer;
+import net.minecraftforge.client.MinecraftForgeClient;
@SideOnly(Side.CLIENT)
public class RenderBiped extends RenderLiving
@@ -161,9 +165,12 @@
@@ -46,7 +51,7 @@
if (var5 instanceof ItemArmor)
{
ItemArmor var6 = (ItemArmor)var5;
- this.loadTexture("/armor/" + field_82424_k[var6.renderIndex] + "_" + (par2 == 2 ? 2 : 1) + ".png");
+ this.loadTexture(ForgeHooksClient.getArmorTexture(var4, "/armor/" + field_82424_k[var6.renderIndex] + "_" + (par2 == 2 ? 2 : 1) + ".png"));
ModelBiped var7 = par2 == 2 ? this.field_82425_h : this.field_82423_g;
var7.bipedHead.showModel = par2 == 0;
var7.bipedHeadwear.showModel = par2 == 0;
@@ -161,9 +166,12 @@
GL11.glPushMatrix();
this.modelBipedMain.bipedHead.postRender(0.0625F);
@ -27,7 +37,7 @@
{
var6 = 0.625F;
GL11.glTranslatef(0.0F, -0.25F, 0.0F);
@@ -205,7 +212,10 @@
@@ -205,7 +213,10 @@
this.modelBipedMain.bipedRightArm.postRender(0.0625F);
GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F);
@ -39,7 +49,7 @@
{
var6 = 0.5F;
GL11.glTranslatef(0.0F, 0.1875F, -0.3125F);
@@ -252,7 +262,10 @@
@@ -252,7 +263,10 @@
if (var4.getItem().requiresMultipleRenderPasses())
{

View file

@ -59,7 +59,7 @@
- {
+ this.loadTexture(Item.itemsList[var10.itemID].getTextureFile());
+
+ for (var15 = 0; var15 <= var10.getItem().getRenderPasses(var10.getItemDamage()); ++var15)
+ for (var15 = 0; var15 < var10.getItem().getRenderPasses(var10.getItemDamage()); ++var15)
+ {
+ this.random.setSeed(187L); //Fixes Vanilla bug where layers would not render aligns properly.
var16 = var10.getItem().getIconFromDamageForRenderPass(var10.getItemDamage(), var15);
@ -104,7 +104,7 @@
- for (var9 = 0; var9 <= 1; ++var9)
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(Item.itemsList[var6].getTextureFile()));
+
+ for (var9 = 0; var9 <= Item.itemsList[var6].getRenderPasses(var7); ++var9)
+ for (var9 = 0; var9 < Item.itemsList[var6].getRenderPasses(var7); ++var9)
{
var10 = Item.itemsList[var6].getIconFromDamageForRenderPass(var7, var9);
int var11 = Item.itemsList[var6].func_82790_a(par3ItemStack, var9);

View file

@ -27,7 +27,7 @@
{
ItemArmor var6 = (ItemArmor)var5;
- this.loadTexture("/armor/" + armorFilenamePrefix[var6.renderIndex] + "_" + (par2 == 2 ? 2 : 1) + "_b.png");
+ this.loadTexture(ForgeHooksClient.getArmorTexture(var4, "/armor/" + armorFilenamePrefix[var6.renderIndex] + "_" + (par2 == 2 ? 2 : 1) + ".png"));
+ this.loadTexture(ForgeHooksClient.getArmorTexture(var4, "/armor/" + armorFilenamePrefix[var6.renderIndex] + "_" + (par2 == 2 ? 2 : 1) + "_b.png"));
float var7 = 1.0F;
GL11.glColor3f(var7, var7, var7);
}
@ -64,7 +64,7 @@
if (var21.getItem().requiresMultipleRenderPasses())
{
- for (int var27 = 0; var27 <= 1; ++var27)
+ for (int var27 = 0; var27 <= var21.getItem().getRenderPasses(var21.getItemDamage()); ++var27)
+ for (int var27 = 0; var27 < var21.getItem().getRenderPasses(var21.getItemDamage()); ++var27)
{
int var26 = var21.getItem().func_82790_a(var21, var27);
float var28 = (float)(var26 >> 16 & 255) / 255.0F;