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

◆ GetCornerColors()

static void Terraria.Lighting.GetCornerColors ( int centerX,
int centerY,
out VertexColors vertices,
float scale = 1f )
inlinestatic

Definition at line 295 of file Lighting.cs.

296 {
297 vertices = default(VertexColors);
298 Vector3 color = _activeEngine.GetColor(centerX, centerY);
299 Vector3 color2 = _activeEngine.GetColor(centerX, centerY - 1);
300 Vector3 color3 = _activeEngine.GetColor(centerX, centerY + 1);
301 Vector3 color4 = _activeEngine.GetColor(centerX - 1, centerY);
302 Vector3 color5 = _activeEngine.GetColor(centerX + 1, centerY);
303 Vector3 color6 = _activeEngine.GetColor(centerX - 1, centerY - 1);
304 Vector3 color7 = _activeEngine.GetColor(centerX + 1, centerY - 1);
305 Vector3 color8 = _activeEngine.GetColor(centerX - 1, centerY + 1);
306 Vector3 color9 = _activeEngine.GetColor(centerX + 1, centerY + 1);
307 float num = GlobalBrightness * scale * 63.75f;
308 int num2 = (int)((color2.X + color6.X + color4.X + color.X) * num);
309 int num3 = (int)((color2.Y + color6.Y + color4.Y + color.Y) * num);
310 int num4 = (int)((color2.Z + color6.Z + color4.Z + color.Z) * num);
311 if (num2 > 255)
312 {
313 num2 = 255;
314 }
315 if (num3 > 255)
316 {
317 num3 = 255;
318 }
319 if (num4 > 255)
320 {
321 num4 = 255;
322 }
323 num3 <<= 8;
324 num4 <<= 16;
325 vertices.TopLeftColor.PackedValue = (uint)(num2 | num3 | num4) | 0xFF000000u;
326 num2 = (int)((color2.X + color7.X + color5.X + color.X) * num);
327 num3 = (int)((color2.Y + color7.Y + color5.Y + color.Y) * num);
328 num4 = (int)((color2.Z + color7.Z + color5.Z + color.Z) * num);
329 if (num2 > 255)
330 {
331 num2 = 255;
332 }
333 if (num3 > 255)
334 {
335 num3 = 255;
336 }
337 if (num4 > 255)
338 {
339 num4 = 255;
340 }
341 num3 <<= 8;
342 num4 <<= 16;
343 vertices.TopRightColor.PackedValue = (uint)(num2 | num3 | num4) | 0xFF000000u;
344 num2 = (int)((color3.X + color8.X + color4.X + color.X) * num);
345 num3 = (int)((color3.Y + color8.Y + color4.Y + color.Y) * num);
346 num4 = (int)((color3.Z + color8.Z + color4.Z + color.Z) * num);
347 if (num2 > 255)
348 {
349 num2 = 255;
350 }
351 if (num3 > 255)
352 {
353 num3 = 255;
354 }
355 if (num4 > 255)
356 {
357 num4 = 255;
358 }
359 num3 <<= 8;
360 num4 <<= 16;
361 vertices.BottomLeftColor.PackedValue = (uint)(num2 | num3 | num4) | 0xFF000000u;
362 num2 = (int)((color3.X + color9.X + color5.X + color.X) * num);
363 num3 = (int)((color3.Y + color9.Y + color5.Y + color.Y) * num);
364 num4 = (int)((color3.Z + color9.Z + color5.Z + color.Z) * num);
365 if (num2 > 255)
366 {
367 num2 = 255;
368 }
369 if (num3 > 255)
370 {
371 num3 = 255;
372 }
373 if (num4 > 255)
374 {
375 num4 = 255;
376 }
377 num3 <<= 8;
378 num4 <<= 16;
379 vertices.BottomRightColor.PackedValue = (uint)(num2 | num3 | num4) | 0xFF000000u;
380 }
static ILightingEngine _activeEngine
Definition Lighting.cs:25
static float GlobalBrightness
Definition Lighting.cs:27

References Terraria.Lighting._activeEngine, Terraria.Lighting.GlobalBrightness, Microsoft.Xna.Framework.Vector3.X, Microsoft.Xna.Framework.Vector3.Y, and Microsoft.Xna.Framework.Vector3.Z.

Referenced by Terraria.Main.DrawBackground(), Terraria.GameContent.Liquid.LiquidRenderer.DrawNormalLiquids(), Terraria.GameContent.Liquid.LiquidRenderer.DrawShimmer(), Terraria.GameContent.Drawing.TileDrawing.DrawTile_LiquidBehindTile(), Terraria.GameContent.Drawing.WallDrawing.DrawWalls(), Terraria.WaterfallManager.DrawWaterfall(), and Terraria.Main.OldDrawBackground().