761 {
763 drawData.typeCache =
drawData.tileCache.type;
764 drawData.tileFrameX =
drawData.tileCache.frameX;
765 drawData.tileFrameY =
drawData.tileCache.frameY;
766 drawData.tileLight = Lighting.GetColor(
tileX,
tileY);
768 {
769 return;
770 }
771 GetTileDrawData(
tileX,
tileY,
drawData.tileCache,
drawData.typeCache,
ref drawData.tileFrameX,
ref drawData.tileFrameY,
out drawData.tileWidth,
out drawData.tileHeight,
out drawData.tileTop,
out drawData.halfBrickHeight,
out drawData.addFrX,
out drawData.addFrY,
out drawData.tileSpriteEffect,
out drawData.glowTexture,
out drawData.glowSourceRect,
out drawData.glowColor);
777 {
779 }
781 {
782 if (
drawData.tileLight.R <
byte.MaxValue)
783 {
784 drawData.tileLight.R = byte.MaxValue;
785 }
787 {
788 drawData.tileLight.G = 50;
789 }
791 {
792 drawData.tileLight.B = 50;
793 }
795 {
796 int num = Dust.NewDust(
new Vector2(
tileX * 16,
tileY * 16), 16, 16, 60, 0f, 0f, 100,
default(
Color), 0.3f);
801 }
802 }
804 {
806 {
807 drawData.tileLight.R = 200;
808 }
810 {
811 drawData.tileLight.G = 170;
812 }
814 {
819 }
820 }
822 {
825 {
827 {
829 }
831 {
833 }
835 {
837 }
839 {
846 }
847 }
848 }
850 {
852 {
854 }
856 }
857 bool flag = false;
859 {
860 flag = true;
861 }
863 {
864 flag = true;
865 }
870 {
873 {
875 }
877 {
879 }
880 Main.spriteBatch.Draw(TextureAssets.ShroomCap.Value,
new Vector2(
tileX * 16 - (
int)screenPosition.
X - 22,
tileY * 16 - (
int)screenPosition.
Y - 26) +
screenOffset,
new Rectangle(
num4 * 62, 0, 60, 42), Lighting.GetColor(
tileX,
tileY), 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
881 }
884 if (!flag)
885 {
886 return;
887 }
891 {
892 case 136:
894 {
895 case 1:
896 vector.X += -2f;
897 break;
898 case 2:
899 vector.X += 2f;
900 break;
901 }
902 break;
903 case 442:
904 {
905 int num7 = drawData.tileFrameX / 22;
907 {
908 vector.X += 2f;
909 }
910 break;
911 }
912 case 51:
913 drawData.finalColor = drawData.tileLight * 0.5f;
914 break;
915 case 160:
916 case 692:
917 {
918 Color color =
new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB, 255);
920 {
921 color =
drawData.tileCache.actColor(color);
922 }
923 drawData.finalColor = color;
924 break;
925 }
926 case 129:
927 {
928 drawData.finalColor =
new Color(255, 255, 255, 100);
931 {
933 }
935 {
936 vector.Y +=
num6 * (drawData.tileFrameY == 0).ToDirectionInt();
937 }
938 else
939 {
940 vector.X +=
num6 * (drawData.tileFrameY == 36).ToDirectionInt();
941 }
942 break;
943 }
944 case 272:
945 {
953 drawData.addFrY +=
num5;
955 break;
956 }
957 case 80:
958 {
961 {
962 rectangle.Y += 54;
963 }
965 {
966 rectangle.Y += 108;
967 }
968 if (crimson)
969 {
970 rectangle.Y += 162;
971 }
972 break;
973 }
974 case 83:
976 break;
977 case 323:
979 {
980 return;
981 }
982 vector.X +=
drawData.tileCache.frameY;
983 break;
984 case 114:
986 {
987 rectangle.Height += 2;
988 }
989 break;
990 }
992 {
994 }
996 {
998 }
999 else
1000 {
1002 }
1003 if (Main.tileGlowMask[
drawData.tileCache.type] != -1)
1004 {
1005 short num8 = Main.tileGlowMask[
drawData.tileCache.type];
1006 if (TextureAssets.GlowMask.IndexInRange(
num8))
1007 {
1008 drawData.drawTexture = TextureAssets.GlowMask[
num8].Value;
1009 }
1010 double num9 = Main.timeForVisualEffects * 0.08;
1014 {
1015 case 633:
1017 break;
1018 case 659:
1019 case 667:
1021 break;
1022 case 350:
1024 break;
1025 case 381:
1026 case 517:
1027 case 687:
1029 break;
1030 case 534:
1031 case 535:
1032 case 689:
1034 break;
1035 case 536:
1036 case 537:
1037 case 690:
1039 break;
1040 case 539:
1041 case 540:
1042 case 688:
1044 break;
1045 case 625:
1046 case 626:
1047 case 691:
1049 break;
1050 case 627:
1051 case 628:
1052 case 692:
1053 color2 =
new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB);
1054 break;
1055 case 370:
1056 case 390:
1058 break;
1059 case 391:
1061 break;
1062 case 209:
1063 color2 = PortalHelper.GetPortalColor(Main.myPlayer, (
drawData.tileCache.frameX >= 288) ? 1 : 0);
1064 break;
1065 case 429:
1066 case 445:
1068 drawData.addFrY = 18;
1069 break;
1070 case 129:
1071 {
1073 {
1075 break;
1076 }
1078 color2 = Main.hslToRgb(0.7f + (
float)
Math.
Sin((
float)
Math.
PI * 2f * Main.GlobalTimeWrappedHourly * 0.16f + (
float)
tileX * 0.3f + (
float)
tileY * 0.7f) * 0.16f, 1f, 0.5f);
1079 color2.A /= 2;
1083 {
1084 Main.spriteBatch.Draw(
drawData.drawTexture,
vector +
num11.ToRotationVector2() * 2f,
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.tileFrameY +
drawData.addFrY +
num10,
drawData.tileWidth,
drawData.tileHeight),
color2, 0f,
Vector2.
Zero, 1f,
SpriteEffects.None, 0f);
1085 }
1087 break;
1088 }
1089 }
1091 {
1093 {
1094 Main.spriteBatch.Draw(
drawData.drawTexture,
vector,
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.tileFrameY +
drawData.addFrY,
drawData.tileWidth,
drawData.tileHeight),
color2, 0f,
Vector2.
Zero, 1f,
SpriteEffects.None, 0f);
1095 }
1096 else if (
drawData.tileCache.halfBrick())
1097 {
1099 }
1101 {
1104 {
1107 {
1108 value.X = 324;
1109 }
1111 }
1113 {
1116 {
1117 value2.X = 306;
1118 }
1120 }
1121 }
1123 {
1124 Main.spriteBatch.Draw(
drawData.drawTexture,
vector,
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.tileFrameY +
drawData.addFrY, 16, 16),
color2, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1125 }
1126 else
1127 {
1130 for (
int i = 0;
i < 8;
i++)
1131 {
1137 {
1138 case 1:
1143 break;
1144 case 2:
1149 break;
1150 case 3:
1152 break;
1153 default:
1155 break;
1156 }
1157 Main.spriteBatch.Draw(
drawData.drawTexture,
vector +
new Vector2(
num17, i *
num13 +
num14),
new Rectangle(
drawData.tileFrameX +
drawData.addFrX +
num17,
drawData.tileFrameY +
drawData.addFrY +
num16,
num13,
num15),
color2, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1158 }
1160 Main.spriteBatch.Draw(
drawData.drawTexture,
vector +
new Vector2(0f,
num18),
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.tileFrameY +
drawData.addFrY +
num18, 16, 2),
color2, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1161 }
1162 }
1163 }
1165 {
1168 {
1170 }
1172 }
1174 {
1179 }
1180 }
static double Cos(double d)
static double Sin(double a)
void DrawBasicTile(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData, Rectangle normalTileRect, Vector2 normalTilePosition)
static Color GetFinalLight(Tile tileCache, ushort typeCache, Color tileLight, Color tint)
Color DrawTiles_GetLightOverride(int j, int i, Tile tileCache, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight)
void DrawTile_MinecartTrack(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
void DrawXmasTree(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
static readonly Vector2 _zero
static bool IsTileDangerous(Player localPlayer, Tile tileCache, ushort typeCache)
void CacheSpecialDraws_Part2(int tileX, int tileY, TileDrawInfo drawData, bool skipDraw)
void CacheSpecialDraws_Part1(int tileX, int tileY, int tileType, int drawDataTileFrameX, int drawDataTileFrameY, bool skipDraw)
Texture2D GetTileDrawTexture(Tile tile, int tileX, int tileY)
void DrawTiles_EmitParticles(int j, int i, Tile tileCache, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight)
void GetTileDrawData(int x, int y, Tile tileCache, ushort typeCache, ref short tileFrameX, ref short tileFrameY, out int tileWidth, out int tileHeight, out int tileTop, out int halfBrickHeight, out int addFrX, out int addFrY, out SpriteEffects tileSpriteEffect, out Texture2D glowTexture, out Rectangle glowSourceRect, out Color glowColor)
bool _isActiveAndNotPaused
void GetTileOutlineInfo(int x, int y, ushort typeCache, ref Color tileLight, ref Texture2D highlightTexture, ref Color highlightColor)
bool IsVisible(Tile tile)
static Color GetShimmerGlitterColor(bool top, float worldPositionX, float worldPositionY)
static bool[] BlocksStairsAbove
static bool[] HasSlopeFrames
static bool[] HasOutlines
static bool[] BlocksStairs
static Color Lerp(Color value1, Color value2, float amount)
FastRandom WithModifier(ulong modifier)