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

◆ GetFinalLight() [1/2]

static Color Terraria.GameContent.Drawing.TileDrawing.GetFinalLight ( Tile tileCache,
ushort typeCache,
Color tileLight,
Color tint )
inlinestaticprivate

Definition at line 3498 of file TileDrawing.cs.

3499 {
3500 int num = (int)((float)(tileLight.R * tint.R) / 255f);
3501 int num2 = (int)((float)(tileLight.G * tint.G) / 255f);
3502 int num3 = (int)((float)(tileLight.B * tint.B) / 255f);
3503 if (num > 255)
3504 {
3505 num = 255;
3506 }
3507 if (num2 > 255)
3508 {
3509 num2 = 255;
3510 }
3511 if (num3 > 255)
3512 {
3513 num3 = 255;
3514 }
3515 num3 <<= 16;
3516 num2 <<= 8;
3517 tileLight.PackedValue = (uint)(num | num2 | num3) | 0xFF000000u;
3518 if (tileCache.fullbrightBlock())
3519 {
3520 tileLight = Color.White;
3521 }
3522 if (tileCache.inActive())
3523 {
3524 tileLight = tileCache.actColor(tileLight);
3525 }
3526 else if (ShouldTileShine(typeCache, tileCache.frameX))
3527 {
3528 tileLight = Main.shine(tileLight, typeCache);
3529 }
3530 return tileLight;
3531 }
static bool ShouldTileShine(ushort type, short frameX)

References Terraria.Tile.actColor(), Terraria.Tile.frameX, Terraria.Tile.fullbrightBlock(), Terraria.Tile.inActive(), Terraria.Main.shine(), Terraria.GameContent.Drawing.TileDrawing.ShouldTileShine(), and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.GameContent.Drawing.TileDrawing.DrawSingleTile(), Terraria.GameContent.Drawing.TileDrawing.DrawSingleTile_SlicedBlock(), and Terraria.GameContent.Drawing.TileDrawing.DrawTile_MinecartTrack().