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

◆ CopyFullyProcessedDataOver()

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

Definition at line 535 of file LegacyLighting.cs.

536 {
538 int num = (int)Math.Floor(unscaledPosition.X / 16f) - _scrX;
539 int num2 = (int)Math.Floor(unscaledPosition.Y / 16f) - _scrY;
540 if (num > 16)
541 {
542 num = 0;
543 }
544 if (num2 > 16)
545 {
546 num2 = 0;
547 }
548 int num3 = 0;
549 int num4 = maxLightArrayX;
550 int num5 = 0;
551 int num6 = maxLightArrayY;
552 if (num < 0)
553 {
554 num3 -= num;
555 }
556 else
557 {
558 num4 -= num;
559 }
560 if (num2 < 0)
561 {
562 num5 -= num2;
563 }
564 else
565 {
566 num6 -= num2;
567 }
568 if (_rgb)
569 {
570 int num7 = maxLightArrayX;
571 if (_states.Length <= num7 + num)
572 {
573 num7 = _states.Length - num - 1;
574 }
575 for (int i = num3; i < num7; i++)
576 {
577 LightingState[] array = _states[i];
578 LightingState[] array2 = _states[i + num];
579 int num8 = num6;
580 if (array2.Length <= num8 + num)
581 {
582 num8 = array2.Length - num2 - 1;
583 }
584 for (int j = num5; j < num8; j++)
585 {
586 LightingState obj = array[j];
587 LightingState lightingState = array2[j + num2];
588 obj.R = lightingState.R2;
589 obj.G = lightingState.G2;
590 obj.B = lightingState.B2;
591 }
592 }
593 return;
594 }
595 int num9 = num4;
596 if (_states.Length <= num9 + num)
597 {
598 num9 = _states.Length - num - 1;
599 }
600 for (int k = num3; k < num9; k++)
601 {
602 LightingState[] array3 = _states[k];
603 LightingState[] array4 = _states[k + num];
604 int num10 = num6;
605 if (array4.Length <= num10 + num)
606 {
607 num10 = array4.Length - num2 - 1;
608 }
609 for (int l = num5; l < num10; l++)
610 {
611 LightingState obj2 = array3[l];
612 LightingState lightingState2 = array4[l + num2];
613 obj2.R = lightingState2.R2;
614 obj2.G = lightingState2.R2;
615 obj2.B = lightingState2.R2;
616 }
617 }
618 }
static double Floor(double d)
Vector2 UnscaledPosition
Definition Camera.cs:8

References Terraria.Graphics.Light.LegacyLighting._camera, Terraria.Graphics.Light.LegacyLighting._rgb, Terraria.Graphics.Light.LegacyLighting._scrX, Terraria.Graphics.Light.LegacyLighting._scrY, Terraria.Graphics.Light.LegacyLighting._states, System.array, System.Math.Floor(), System.obj, and Terraria.Graphics.Camera.UnscaledPosition.

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