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

◆ ShiftUnProcessedDataOver()

void Terraria.Graphics.Light.LegacyLighting.ShiftUnProcessedDataOver ( int maxLightArrayX,
int maxLightArrayY )
inlineprivate

Definition at line 470 of file LegacyLighting.cs.

471 {
472 Vector2 screenLastPosition = Main.screenLastPosition;
474 int num = (int)Math.Floor(unscaledPosition.X / 16f) - (int)Math.Floor(screenLastPosition.X / 16f);
475 if (num > 5 || num < -5)
476 {
477 num = 0;
478 }
479 int num2;
480 int num3;
481 int num4;
482 if (num < 0)
483 {
484 num2 = -1;
485 num *= -1;
487 num4 = num;
488 }
489 else
490 {
491 num2 = 1;
492 num3 = 0;
493 num4 = maxLightArrayX - num;
494 }
495 int num5 = (int)Math.Floor(unscaledPosition.Y / 16f) - (int)Math.Floor(screenLastPosition.Y / 16f);
496 if (num5 > 5 || num5 < -5)
497 {
498 num5 = 0;
499 }
500 int num6;
501 int num7;
502 int num8;
503 if (num5 < 0)
504 {
505 num6 = -1;
506 num5 *= -1;
508 num8 = num5;
509 }
510 else
511 {
512 num6 = 1;
513 num7 = 0;
515 }
516 if (num == 0 && num5 == 0)
517 {
518 return;
519 }
520 for (int i = num3; i != num4; i += num2)
521 {
522 LightingState[] array = _states[i];
523 LightingState[] array2 = _states[i + num * num2];
524 for (int j = num7; j != num8; j += num6)
525 {
526 LightingState obj = array[j];
527 LightingState lightingState = array2[j + num5 * num6];
528 obj.R = lightingState.R;
529 obj.G = lightingState.G;
530 obj.B = lightingState.B;
531 }
532 }
533 }
static double Floor(double d)
Vector2 UnscaledPosition
Definition Camera.cs:8

References Terraria.Graphics.Light.LegacyLighting._camera, Terraria.Graphics.Light.LegacyLighting._states, System.array, System.Math.Floor(), System.obj, Terraria.Main.screenLastPosition, Terraria.Graphics.Camera.UnscaledPosition, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.

Referenced by Terraria.Graphics.Light.LegacyLighting.ProcessArea().