Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DrawSingleTile()

void Terraria.GameContent.Drawing.TileDrawing.DrawSingleTile ( TileDrawInfo drawData,
bool solidLayer,
int waterStyleOverride,
Vector2 screenPosition,
Vector2 screenOffset,
int tileX,
int tileY )
inlineprivate

Definition at line 760 of file TileDrawing.cs.

761 {
762 drawData.tileCache = Main.tile[tileX, tileY];
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);
767 if (drawData.tileCache.liquid > 0 && drawData.tileCache.type == 518)
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);
772 drawData.drawTexture = GetTileDrawTexture(drawData.tileCache, tileX, tileY);
776 if (TileID.Sets.HasOutlines[drawData.typeCache])
777 {
779 }
781 {
782 if (drawData.tileLight.R < byte.MaxValue)
783 {
784 drawData.tileLight.R = byte.MaxValue;
785 }
786 if (drawData.tileLight.G < 50)
787 {
788 drawData.tileLight.G = 50;
789 }
790 if (drawData.tileLight.B < 50)
791 {
792 drawData.tileLight.B = 50;
793 }
794 if (_isActiveAndNotPaused && _rand.Next(30) == 0)
795 {
796 int num = Dust.NewDust(new Vector2(tileX * 16, tileY * 16), 16, 16, 60, 0f, 0f, 100, default(Color), 0.3f);
797 _dust[num].fadeIn = 1f;
798 _dust[num].velocity *= 0.1f;
799 _dust[num].noLight = true;
800 _dust[num].noGravity = true;
801 }
802 }
803 if (_localPlayer.findTreasure && Main.IsTileSpelunkable(drawData.typeCache, drawData.tileFrameX, drawData.tileFrameY))
804 {
805 if (drawData.tileLight.R < 200)
806 {
807 drawData.tileLight.R = 200;
808 }
809 if (drawData.tileLight.G < 170)
810 {
811 drawData.tileLight.G = 170;
812 }
813 if (_isActiveAndNotPaused && _rand.Next(60) == 0)
814 {
815 int num2 = Dust.NewDust(new Vector2(tileX * 16, tileY * 16), 16, 16, 204, 0f, 0f, 150, default(Color), 0.3f);
816 _dust[num2].fadeIn = 1f;
817 _dust[num2].velocity *= 0.1f;
818 _dust[num2].noLight = true;
819 }
820 }
822 {
824 if (Main.IsTileBiomeSightable(drawData.typeCache, drawData.tileFrameX, drawData.tileFrameY, ref sightColor))
825 {
826 if (drawData.tileLight.R < sightColor.R)
827 {
828 drawData.tileLight.R = sightColor.R;
829 }
830 if (drawData.tileLight.G < sightColor.G)
831 {
832 drawData.tileLight.G = sightColor.G;
833 }
834 if (drawData.tileLight.B < sightColor.B)
835 {
836 drawData.tileLight.B = sightColor.B;
837 }
838 if (_isActiveAndNotPaused && _rand.Next(480) == 0)
839 {
841 int num3 = Dust.NewDust(new Vector2(tileX * 16, tileY * 16), 16, 16, 267, 0f, 0f, 150, newColor, 0.3f);
842 _dust[num3].noGravity = true;
843 _dust[num3].fadeIn = 1f;
844 _dust[num3].velocity *= 0.1f;
846 }
847 }
848 }
850 {
851 if (!Lighting.UpdateEveryFrame || new FastRandom(Main.TileFrameSeed).WithModifier(tileX, tileY).Next(4) == 0)
852 {
853 DrawTiles_EmitParticles(tileY, tileX, drawData.tileCache, drawData.typeCache, drawData.tileFrameX, drawData.tileFrameY, drawData.tileLight);
854 }
855 drawData.tileLight = DrawTiles_GetLightOverride(tileY, tileX, drawData.tileCache, drawData.typeCache, drawData.tileFrameX, drawData.tileFrameY, drawData.tileLight);
856 }
857 bool flag = false;
858 if (drawData.tileLight.R >= 1 || drawData.tileLight.G >= 1 || drawData.tileLight.B >= 1)
859 {
860 flag = true;
861 }
862 if (drawData.tileCache.wall > 0 && (drawData.tileCache.wall == 318 || drawData.tileCache.fullbrightWall()))
863 {
864 flag = true;
865 }
866 flag &= IsVisible(drawData.tileCache);
867 CacheSpecialDraws_Part1(tileX, tileY, drawData.typeCache, drawData.tileFrameX, drawData.tileFrameY, !flag);
869 if (drawData.typeCache == 72 && drawData.tileFrameX >= 36)
870 {
871 int num4 = 0;
872 if (drawData.tileFrameY == 18)
873 {
874 num4 = 1;
875 }
876 else if (drawData.tileFrameY == 36)
877 {
878 num4 = 2;
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 }
882 Rectangle rectangle = new Rectangle(drawData.tileFrameX + drawData.addFrX, drawData.tileFrameY + drawData.addFrY, drawData.tileWidth, drawData.tileHeight - drawData.halfBrickHeight);
883 Vector2 vector = new Vector2((float)(tileX * 16 - (int)screenPosition.X) - ((float)drawData.tileWidth - 16f) / 2f, tileY * 16 - (int)screenPosition.Y + drawData.tileTop + drawData.halfBrickHeight) + screenOffset;
884 if (!flag)
885 {
886 return;
887 }
888 drawData.colorTint = Color.White;
889 drawData.finalColor = GetFinalLight(drawData.tileCache, drawData.typeCache, drawData.tileLight, drawData.colorTint);
890 switch (drawData.typeCache)
891 {
892 case 136:
893 switch (drawData.tileFrameX / 18)
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;
906 if (num7 == 3)
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);
919 if (drawData.tileCache.inActive())
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);
929 int num6 = 2;
930 if (drawData.tileFrameX >= 324)
931 {
932 drawData.finalColor = Color.Transparent;
933 }
934 if (drawData.tileFrameY < 36)
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 {
946 int num5 = Main.tileFrame[drawData.typeCache];
947 num5 += tileX % 2;
948 num5 += tileY % 2;
949 num5 += tileX % 3;
950 num5 += tileY % 3;
951 num5 %= 2;
952 num5 *= 90;
953 drawData.addFrY += num5;
954 rectangle.Y += num5;
955 break;
956 }
957 case 80:
958 {
959 WorldGen.GetCactusType(tileX, tileY, drawData.tileFrameX, drawData.tileFrameY, out var evil, out var good, out var crimson);
960 if (evil)
961 {
962 rectangle.Y += 54;
963 }
964 if (good)
965 {
966 rectangle.Y += 108;
967 }
968 if (crimson)
969 {
970 rectangle.Y += 162;
971 }
972 break;
973 }
974 case 83:
975 drawData.drawTexture = GetTileDrawTexture(drawData.tileCache, tileX, tileY);
976 break;
977 case 323:
978 if (drawData.tileCache.frameX <= 132 && drawData.tileCache.frameX >= 88)
979 {
980 return;
981 }
982 vector.X += drawData.tileCache.frameY;
983 break;
984 case 114:
985 if (drawData.tileFrameY > 0)
986 {
987 rectangle.Height += 2;
988 }
989 break;
990 }
991 if (drawData.typeCache == 314)
992 {
994 }
995 else if (drawData.typeCache == 171)
996 {
997 DrawXmasTree(screenPosition, screenOffset, tileX, tileY, drawData);
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;
1012 bool flag2 = false;
1013 switch (drawData.tileCache.type)
1014 {
1015 case 633:
1016 color2 = Color.Lerp(Color.White, drawData.finalColor, 0.75f);
1017 break;
1018 case 659:
1019 case 667:
1021 break;
1022 case 350:
1023 color2 = new Color(new Vector4((float)((0.0 - Math.Cos(((int)(num9 / 6.283) % 3 == 1) ? num9 : 0.0)) * 0.2 + 0.2)));
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:
1060 color2 = new Color(250, 250, 250, 200);
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:
1067 drawData.drawTexture = GetTileDrawTexture(drawData.tileCache, tileX, tileY);
1068 drawData.addFrY = 18;
1069 break;
1070 case 129:
1071 {
1072 if (drawData.tileFrameX < 324)
1073 {
1074 flag2 = true;
1075 break;
1076 }
1077 drawData.drawTexture = GetTileDrawTexture(drawData.tileCache, tileX, tileY);
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;
1080 color2 *= 0.3f;
1081 int num10 = 72;
1082 for (float num11 = 0f; num11 < (float)Math.PI * 2f; num11 += (float)Math.PI / 2f)
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 }
1086 color2 = new Color(255, 255, 255, 100);
1087 break;
1088 }
1089 }
1090 if (!flag2)
1091 {
1092 if (drawData.tileCache.slope() == 0 && !drawData.tileCache.halfBrick())
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 {
1098 Main.spriteBatch.Draw(drawData.drawTexture, vector, rectangle, color2, 0f, _zero, 1f, SpriteEffects.None, 0f);
1099 }
1100 else if (TileID.Sets.Platforms[drawData.tileCache.type])
1101 {
1102 Main.spriteBatch.Draw(drawData.drawTexture, vector, rectangle, color2, 0f, _zero, 1f, drawData.tileSpriteEffect, 0f);
1103 if (drawData.tileCache.slope() == 1 && Main.tile[tileX + 1, tileY + 1].active() && Main.tileSolid[Main.tile[tileX + 1, tileY + 1].type] && Main.tile[tileX + 1, tileY + 1].slope() != 2 && !Main.tile[tileX + 1, tileY + 1].halfBrick() && (!Main.tile[tileX, tileY + 1].active() || (Main.tile[tileX, tileY + 1].blockType() != 0 && Main.tile[tileX, tileY + 1].blockType() != 5) || (!TileID.Sets.BlocksStairs[Main.tile[tileX, tileY + 1].type] && !TileID.Sets.BlocksStairsAbove[Main.tile[tileX, tileY + 1].type])))
1104 {
1105 Rectangle value = new Rectangle(198, drawData.tileFrameY, 16, 16);
1106 if (TileID.Sets.Platforms[Main.tile[tileX + 1, tileY + 1].type] && Main.tile[tileX + 1, tileY + 1].slope() == 0)
1107 {
1108 value.X = 324;
1109 }
1110 Main.spriteBatch.Draw(drawData.drawTexture, vector + new Vector2(0f, 16f), value, color2, 0f, _zero, 1f, drawData.tileSpriteEffect, 0f);
1111 }
1112 else if (drawData.tileCache.slope() == 2 && Main.tile[tileX - 1, tileY + 1].active() && Main.tileSolid[Main.tile[tileX - 1, tileY + 1].type] && Main.tile[tileX - 1, tileY + 1].slope() != 1 && !Main.tile[tileX - 1, tileY + 1].halfBrick() && (!Main.tile[tileX, tileY + 1].active() || (Main.tile[tileX, tileY + 1].blockType() != 0 && Main.tile[tileX, tileY + 1].blockType() != 4) || (!TileID.Sets.BlocksStairs[Main.tile[tileX, tileY + 1].type] && !TileID.Sets.BlocksStairsAbove[Main.tile[tileX, tileY + 1].type])))
1113 {
1114 Rectangle value2 = new Rectangle(162, drawData.tileFrameY, 16, 16);
1115 if (TileID.Sets.Platforms[Main.tile[tileX - 1, tileY + 1].type] && Main.tile[tileX - 1, tileY + 1].slope() == 0)
1116 {
1117 value2.X = 306;
1118 }
1119 Main.spriteBatch.Draw(drawData.drawTexture, vector + new Vector2(0f, 16f), value2, color2, 0f, _zero, 1f, drawData.tileSpriteEffect, 0f);
1120 }
1121 }
1122 else if (TileID.Sets.HasSlopeFrames[drawData.tileCache.type])
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 {
1128 int num12 = drawData.tileCache.slope();
1129 int num13 = 2;
1130 for (int i = 0; i < 8; i++)
1131 {
1132 int num14 = i * -2;
1133 int num15 = 16 - i * 2;
1134 int num16 = 16 - num15;
1135 int num17;
1136 switch (num12)
1137 {
1138 case 1:
1139 num14 = 0;
1140 num17 = i * 2;
1141 num15 = 14 - i * 2;
1142 num16 = 0;
1143 break;
1144 case 2:
1145 num14 = 0;
1146 num17 = 16 - i * 2 - 2;
1147 num15 = 14 - i * 2;
1148 num16 = 0;
1149 break;
1150 case 3:
1151 num17 = i * 2;
1152 break;
1153 default:
1154 num17 = 16 - i * 2 - 2;
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 }
1159 int num18 = ((num12 <= 2) ? 14 : 0);
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 }
1164 if (drawData.glowTexture != null)
1165 {
1166 Vector2 position = new Vector2((float)(tileX * 16 - (int)screenPosition.X) - ((float)drawData.tileWidth - 16f) / 2f, tileY * 16 - (int)screenPosition.Y + drawData.tileTop) + screenOffset;
1167 if (TileID.Sets.Platforms[drawData.typeCache])
1168 {
1169 position = vector;
1170 }
1171 Main.spriteBatch.Draw(drawData.glowTexture, position, drawData.glowSourceRect, drawData.glowColor, 0f, _zero, 1f, drawData.tileSpriteEffect, 0f);
1172 }
1173 if (highlightTexture != null)
1174 {
1175 empty = new Rectangle(drawData.tileFrameX + drawData.addFrX, drawData.tileFrameY + drawData.addFrY, drawData.tileWidth, drawData.tileHeight);
1176 int num19 = 0;
1177 int num20 = 0;
1178 Main.spriteBatch.Draw(highlightTexture, new Vector2((float)(tileX * 16 - (int)screenPosition.X) - ((float)drawData.tileWidth - 16f) / 2f + (float)num19, tileY * 16 - (int)screenPosition.Y + drawData.tileTop + num20) + screenOffset, empty, highlightColor, 0f, _zero, 1f, drawData.tileSpriteEffect, 0f);
1179 }
1180 }
static double Cos(double d)
static double Sin(double a)
const double PI
Definition Math.cs:16
bool noGravity
Definition Dust.cs:26
bool noLightEmittence
Definition Dust.cs:34
bool noLight
Definition Dust.cs:32
float fadeIn
Definition Dust.cs:24
Vector2 velocity
Definition Dust.cs:22
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 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)
void GetTileOutlineInfo(int x, int y, ushort typeCache, ref Color tileLight, ref Texture2D highlightTexture, ref Color highlightColor)
static Color GetShimmerGlitterColor(bool top, float worldPositionX, float worldPositionY)
static bool[] BlocksStairsAbove
Definition TileID.cs:255
static bool[] HasSlopeFrames
Definition TileID.cs:183
static bool[] HasOutlines
Definition TileID.cs:193
static bool[] BlocksStairs
Definition TileID.cs:253
static bool[] Platforms
Definition TileID.cs:163
bool dangerSense
Definition Player.cs:893
bool findTreasure
Definition Player.cs:2351
static Color Transparent
Definition Color.cs:76
static Color Lerp(Color value1, Color value2, float amount)
Definition Color.cs:491
FastRandom WithModifier(ulong modifier)
Definition FastRandom.cs:27

References Terraria.GameContent.Drawing.TileDrawing._argonMossGlow, Terraria.GameContent.Drawing.TileDrawing._dust, Terraria.GameContent.Drawing.TileDrawing._isActiveAndNotPaused, Terraria.GameContent.Drawing.TileDrawing._kryptonMossGlow, Terraria.GameContent.Drawing.TileDrawing._lavaMossGlow, Terraria.GameContent.Drawing.TileDrawing._localPlayer, Terraria.GameContent.Drawing.TileDrawing._meteorGlow, Terraria.GameContent.Drawing.TileDrawing._rand, Terraria.GameContent.Drawing.TileDrawing._violetMossGlow, Terraria.GameContent.Drawing.TileDrawing._xenonMossGlow, Terraria.GameContent.Drawing.TileDrawing._zero, Terraria.Player.biomeSight, Terraria.ID.TileID.Sets.BlocksStairs, Terraria.ID.TileID.Sets.BlocksStairsAbove, Terraria.GameContent.Drawing.TileDrawing.CacheSpecialDraws_Part1(), Terraria.GameContent.Drawing.TileDrawing.CacheSpecialDraws_Part2(), Microsoft.Xna.Framework.Graphics.Color, System.Math.Cos(), Terraria.Player.dangerSense, Terraria.Main.DiscoB, Terraria.Main.DiscoG, Terraria.Main.DiscoR, Terraria.GameContent.Drawing.TileDrawing.DrawBasicTile(), Terraria.GameContent.Drawing.TileDrawing.DrawTile_MinecartTrack(), Terraria.GameContent.Drawing.TileDrawing.DrawTiles_EmitParticles(), Terraria.GameContent.Drawing.TileDrawing.DrawTiles_GetLightOverride(), Terraria.GameContent.Drawing.TileDrawing.DrawXmasTree(), Microsoft.Xna.Framework.Rectangle.Empty, Terraria.Dust.fadeIn, Terraria.Player.findTreasure, Terraria.WorldGen.GetCactusType(), Terraria.Lighting.GetColor(), Terraria.GameContent.Drawing.TileDrawing.GetFinalLight(), Terraria.GameContent.PortalHelper.GetPortalColor(), Terraria.GameContent.Liquid.LiquidRenderer.GetShimmerGlitterColor(), Terraria.GameContent.Drawing.TileDrawing.GetTileDrawData(), Terraria.GameContent.Drawing.TileDrawing.GetTileDrawTexture(), Terraria.GameContent.Drawing.TileDrawing.GetTileOutlineInfo(), Terraria.Main.GlobalTimeWrappedHourly, Terraria.GameContent.TextureAssets.GlowMask, Terraria.ID.TileID.Sets.HasOutlines, Terraria.ID.TileID.Sets.HasSlopeFrames, Terraria.Main.hslToRgb(), Terraria.Main.IsTileBiomeSightable(), Terraria.GameContent.Drawing.TileDrawing.IsTileDangerous(), Terraria.Main.IsTileSpelunkable(), Terraria.GameContent.Drawing.TileDrawing.IsVisible(), Microsoft.Xna.Framework.Color.Lerp(), Terraria.Main.myPlayer, Terraria.Dust.NewDust(), Terraria.Utilities.UnifiedRandom.Next(), Terraria.Utilities.FastRandom.Next(), Terraria.Dust.noGravity, Terraria.Dust.noLight, Terraria.Dust.noLightEmittence, System.Math.PI, Terraria.ID.TileID.Sets.Platforms, Terraria.GameContent.TextureAssets.ShroomCap, System.Math.Sin(), Terraria.Main.spriteBatch, Terraria.Main.tile, Terraria.Main.tileFrame, Terraria.Main.TileFrameSeed, Terraria.Main.tileGlowMask, Terraria.Main.tileSolid, Microsoft.Xna.Framework.Color.Transparent, Terraria.Lighting.UpdateEveryFrame, System.value, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Graphics.Vector4, Terraria.Dust.velocity, Microsoft.Xna.Framework.Color.White, Terraria.Utilities.FastRandom.WithModifier(), Microsoft.Xna.Framework.Vector2.X, Microsoft.Xna.Framework.Vector2.Y, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.GameContent.Drawing.TileDrawing.Draw().