private static void LoadLegacyHairdyes()
{
Effect effect = Main.pixelShader;
GameShaders.Hair.BindShader<LegacyHairShaderData>(1977, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
newColor.R = (byte)((double)player.statLife / (double)player.statLifeMax2 * 235.0 + 20.0);
newColor.B = (byte)20;
newColor.G = (byte)20;
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1978, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
newColor.R = (byte)((1.0 - (double)player.statMana / (double)player.statManaMax2) * 200.0 + 50.0);
newColor.B = byte.MaxValue;
newColor.G = (byte)((1.0 - (double)player.statMana / (double)player.statManaMax2) * 180.0 + 75.0);
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1979, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
float num1 = (float)(Main.worldSurface * 0.45) * 16f;
float num2 = (float)(Main.worldSurface + Main.rockLayer) * 8f;
float num3 = ((float)Main.rockLayer + (float)Main.maxTilesY) * 8f;
float num4 = (float)(Main.maxTilesY - 150) * 16f;
Vector2 center = player.Center;
if ((double)center.Y < (double)num1)
{
float num5 = center.Y / num1;
float num6 = 1f - num5;
newColor.R = (byte)(116.0 * (double)num6 + 28.0 * (double)num5);
newColor.G = (byte)(160.0 * (double)num6 + 216.0 * (double)num5);
newColor.B = (byte)(249.0 * (double)num6 + 94.0 * (double)num5);
}
else if ((double)center.Y < (double)num2)
{
float num5 = num1;
float num6 = (float)(((double)center.Y - (double)num5) / ((double)num2 - (double)num5));
float num7 = 1f - num6;
newColor.R = (byte)(28.0 * (double)num7 + 151.0 * (double)num6);
newColor.G = (byte)(216.0 * (double)num7 + 107.0 * (double)num6);
newColor.B = (byte)(94.0 * (double)num7 + 75.0 * (double)num6);
}
else if ((double)center.Y < (double)num3)
{
float num5 = num2;
float num6 = (float)(((double)center.Y - (double)num5) / ((double)num3 - (double)num5));
float num7 = 1f - num6;
newColor.R = (byte)(151.0 * (double)num7 + 128.0 * (double)num6);
newColor.G = (byte)(107.0 * (double)num7 + 128.0 * (double)num6);
newColor.B = (byte)(75.0 * (double)num7 + 128.0 * (double)num6);
}
else if ((double)center.Y < (double)num4)
{
float num5 = num3;
float num6 = (float)(((double)center.Y - (double)num5) / ((double)num4 - (double)num5));
float num7 = 1f - num6;
newColor.R = (byte)(128.0 * (double)num7 + (double)byte.MaxValue * (double)num6);
newColor.G = (byte)(128.0 * (double)num7 + 50.0 * (double)num6);
newColor.B = (byte)(128.0 * (double)num7 + 15.0 * (double)num6);
}
else
{
newColor.R = byte.MaxValue;
newColor.G = (byte)50;
newColor.B = (byte)10;
}
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1980, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
int num1 = 0;
for (int index = 0; index < 54; ++index)
{
if (player.inventory[index].itemId == 71)
num1 += player.inventory[index].stack;
if (player.inventory[index].itemId == 72)
num1 += player.inventory[index].stack * 100;
if (player.inventory[index].itemId == 73)
num1 += player.inventory[index].stack * 10000;
if (player.inventory[index].itemId == 74)
num1 += player.inventory[index].stack * 1000000;
}
float num2 = (float)Item.buyPrice(0, 5, 0, 0);
float num3 = (float)Item.buyPrice(0, 50, 0, 0);
float num4 = (float)Item.buyPrice(2, 0, 0, 0);
Color color1 = new Color(226, 118, 76);
Color color2 = new Color(174, 194, 196);
Color color3 = new Color(204, 181, 72);
Color color4 = new Color(161, 172, 173);
if ((double)num1 < (double)num2)
{
float num5 = (float)num1 / num2;
float num6 = 1f - num5;
newColor.R = (byte)((double)color1.R * (double)num6 + (double)color2.R * (double)num5);
newColor.G = (byte)((double)color1.G * (double)num6 + (double)color2.G * (double)num5);
newColor.B = (byte)((double)color1.B * (double)num6 + (double)color2.B * (double)num5);
}
else if ((double)num1 < (double)num3)
{
float num5 = num2;
float num6 = (float)(((double)num1 - (double)num5) / ((double)num3 - (double)num5));
float num7 = 1f - num6;
newColor.R = (byte)((double)color2.R * (double)num7 + (double)color3.R * (double)num6);
newColor.G = (byte)((double)color2.G * (double)num7 + (double)color3.G * (double)num6);
newColor.B = (byte)((double)color2.B * (double)num7 + (double)color3.B * (double)num6);
}
else if ((double)num1 < (double)num4)
{
float num5 = num3;
float num6 = (float)(((double)num1 - (double)num5) / ((double)num4 - (double)num5));
float num7 = 1f - num6;
newColor.R = (byte)((double)color3.R * (double)num7 + (double)color4.R * (double)num6);
newColor.G = (byte)((double)color3.G * (double)num7 + (double)color4.G * (double)num6);
newColor.B = (byte)((double)color3.B * (double)num7 + (double)color4.B * (double)num6);
}
else
newColor = color4;
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1981, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
Color color1 = new Color(1, 142, (int)byte.MaxValue);
Color color2 = new Color((int)byte.MaxValue, (int)byte.MaxValue, 0);
Color color3 = new Color(211, 45, (int)sbyte.MaxValue);
Color color4 = new Color(67, 44, 118);
if (Main.dayTime)
{
if (Main.time < 27000.0)
{
float num1 = (float)(Main.time / 27000.0);
float num2 = 1f - num1;
newColor.R = (byte)((double)color1.R * (double)num2 + (double)color2.R * (double)num1);
newColor.G = (byte)((double)color1.G * (double)num2 + (double)color2.G * (double)num1);
newColor.B = (byte)((double)color1.B * (double)num2 + (double)color2.B * (double)num1);
}
else
{
float num1 = 27000f;
float num2 = (float)((Main.time - (double)num1) / (54000.0 - (double)num1));
float num3 = 1f - num2;
newColor.R = (byte)((double)color2.R * (double)num3 + (double)color3.R * (double)num2);
newColor.G = (byte)((double)color2.G * (double)num3 + (double)color3.G * (double)num2);
newColor.B = (byte)((double)color2.B * (double)num3 + (double)color3.B * (double)num2);
}
}
else if (Main.time < 16200.0)
{
float num1 = (float)(Main.time / 16200.0);
float num2 = 1f - num1;
newColor.R = (byte)((double)color3.R * (double)num2 + (double)color4.R * (double)num1);
newColor.G = (byte)((double)color3.G * (double)num2 + (double)color4.G * (double)num1);
newColor.B = (byte)((double)color3.B * (double)num2 + (double)color4.B * (double)num1);
}
else
{
float num1 = 16200f;
float num2 = (float)((Main.time - (double)num1) / (32400.0 - (double)num1));
float num3 = 1f - num2;
newColor.R = (byte)((double)color4.R * (double)num3 + (double)color1.R * (double)num2);
newColor.G = (byte)((double)color4.G * (double)num3 + (double)color1.G * (double)num2);
newColor.B = (byte)((double)color4.B * (double)num3 + (double)color1.B * (double)num2);
}
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1982, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
if (player.team >= 0 && player.team < Main.teamColor.Length)
newColor = Main.teamColor[player.team];
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1983, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
Color color1 = new Color();
color1 = Main.waterStyle != 2 ? (Main.waterStyle != 3 ? (Main.waterStyle != 4 ? (Main.waterStyle != 5 ? (Main.waterStyle != 6 ? (Main.waterStyle != 7 ? (Main.waterStyle != 8 ? (Main.waterStyle != 9 ? (Main.waterStyle != 10 ? new Color(28, 216, 94) : new Color(208, 80, 80)) : new Color(200, 0, 0)) : new Color(128, 128, 128)) : new Color(151, 107, 75)) : new Color(230, 219, 100)) : new Color(189, 231, (int)byte.MaxValue)) : new Color(78, 193, 227)) : new Color(143, 215, 29)) : new Color(124, 118, 242);
Color color2 = player.hairDyeColor;
if ((int)color2.A == 0)
color2 = color1;
if ((int)color2.R > (int)color1.R)
--color2.R;
if ((int)color2.R < (int)color1.R)
++color2.R;
if ((int)color2.G > (int)color1.G)
--color2.G;
if ((int)color2.G < (int)color1.G)
++color2.G;
if ((int)color2.B > (int)color1.B)
--color2.B;
if ((int)color2.B < (int)color1.B)
++color2.B;
newColor = color2;
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1984, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
newColor = new Color(244, 22, 175);
if (!Main.gameMenu && !Main.gamePaused)
{
if (Main.rand.Next(45) == 0)
{
int Type = Main.rand.Next(139, 143);
int index = Dust.NewDust(player.position, player.width, 8, Type, 0.0f, 0.0f, 0, new Color(), 1.2f);
Main.dust[index].velocity.X *= (float)(1.0 + (double)Main.rand.Next(-50, 51) * 0.00999999977648258);
Main.dust[index].velocity.Y *= (float)(1.0 + (double)Main.rand.Next(-50, 51) * 0.00999999977648258);
Main.dust[index].velocity.X += (float)Main.rand.Next(-50, 51) * 0.01f;
Main.dust[index].velocity.Y += (float)Main.rand.Next(-50, 51) * 0.01f;
--Main.dust[index].velocity.Y;
Main.dust[index].scale *= (float)(0.699999988079071 + (double)Main.rand.Next(-30, 31) * 0.00999999977648258);
Main.dust[index].velocity += player.velocity * 0.2f;
}
if (Main.rand.Next(225) == 0)
{
int Type = Main.rand.Next(276, 283);
int index = Gore.NewGore(new Vector2(player.position.X + (float)Main.rand.Next(player.width), player.position.Y + (float)Main.rand.Next(8)), player.velocity, Type, 1f);
Main.gore[index].velocity.X *= (float)(1.0 + (double)Main.rand.Next(-50, 51) * 0.00999999977648258);
Main.gore[index].velocity.Y *= (float)(1.0 + (double)Main.rand.Next(-50, 51) * 0.00999999977648258);
Main.gore[index].scale *= (float)(1.0 + (double)Main.rand.Next(-20, 21) * 0.00999999977648258);
Main.gore[index].velocity.X += (float)Main.rand.Next(-50, 51) * 0.01f;
Main.gore[index].velocity.Y += (float)Main.rand.Next(-50, 51) * 0.01f;
--Main.gore[index].velocity.Y;
Main.gore[index].velocity += player.velocity * 0.2f;
}
}
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1985, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
newColor = new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB);
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(1986, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
float num1 = Math.Abs(player.velocity.X) + Math.Abs(player.velocity.Y);
float num2 = 10f;
if ((double)num1 > (double)num2)
num1 = num2;
float num3 = num1 / num2;
float num4 = 1f - num3;
newColor.R = (byte)(75.0 * (double)num3 + (double)player.hairColor.R * (double)num4);
newColor.G = (byte)((double)byte.MaxValue * (double)num3 + (double)player.hairColor.G * (double)num4);
newColor.B = (byte)(200.0 * (double)num3 + (double)player.hairColor.B * (double)num4);
return newColor;
})));
GameShaders.Hair.BindShader<LegacyHairShaderData>(2863, new LegacyHairShaderData().UseLegacyMethod((LegacyHairShaderData.ColorProcessingMethod)((Player player, Color newColor, ref bool lighting) =>
{
lighting = false;
Color color = Lighting.GetColor((int)((double)player.position.X + (double)player.width * 0.5) / 16, (int)(((double)player.position.Y + (double)player.height * 0.25) / 16.0));
newColor.R = (byte)((int)color.R + (int)newColor.R >> 1);
newColor.G = (byte)((int)color.G + (int)newColor.G >> 1);
newColor.B = (byte)((int)color.B + (int)newColor.B >> 1);
return newColor;
})));
}