Exemple #1
0
 public void CopyFrom(Lighting.LightingSwipeData from)
 {
     this.innerLoop1Start = from.innerLoop1Start;
     this.outerLoopStart  = from.outerLoopStart;
     this.innerLoop1End   = from.innerLoop1End;
     this.outerLoopEnd    = from.outerLoopEnd;
     this.innerLoop2Start = from.innerLoop2Start;
     this.innerLoop2End   = from.innerLoop2End;
     this.function        = from.function;
     this.jaggedArray     = from.jaggedArray;
 }
Exemple #2
0
 private static void callback_LightingSwipe(object obj)
 {
     Lighting.LightingSwipeData lightingSwipeData = obj as Lighting.LightingSwipeData;
     try
     {
         lightingSwipeData.function(lightingSwipeData);
     }
     catch
     {
     }
     Lighting.countdown.Signal();
 }
Exemple #3
0
        public static void Initialize(bool resize = false)
        {
            if (!resize)
            {
                Lighting.tempLights   = new Dictionary <Point16, Lighting.ColorTriplet>();
                Lighting.swipe        = new Lighting.LightingSwipeData();
                Lighting.countdown    = new CountdownEvent(0);
                Lighting.threadSwipes = new Lighting.LightingSwipeData[Environment.ProcessorCount];
                for (int i = 0; i < Lighting.threadSwipes.Length; i++)
                {
                    Lighting.threadSwipes[i] = new Lighting.LightingSwipeData();
                }
            }
            int num  = Main.screenWidth / 16 + Lighting.offScreenTiles * 2 + 10;
            int num2 = Main.screenHeight / 16 + Lighting.offScreenTiles * 2 + 10;

            if (Lighting.states == null || Lighting.states.Length < num || Lighting.states[0].Length < num2)
            {
                Lighting.states         = new Lighting.LightingState[num][];
                Lighting.axisFlipStates = new Lighting.LightingState[num2][];
                for (int j = 0; j < num2; j++)
                {
                    Lighting.axisFlipStates[j] = new Lighting.LightingState[num];
                }
                for (int k = 0; k < num; k++)
                {
                    Lighting.LightingState[] array = new Lighting.LightingState[num2];
                    for (int l = 0; l < num2; l++)
                    {
                        Lighting.LightingState lightingState = new Lighting.LightingState();
                        array[l] = lightingState;
                        Lighting.axisFlipStates[l][k] = lightingState;
                    }
                    Lighting.states[k] = array;
                }
            }
        }
Exemple #4
0
 public static void Initialize(bool resize = false)
 {
     if (!resize)
     {
         Lighting.tempLights = new Dictionary<Point16, Lighting.ColorTriplet>();
         Lighting.swipe = new Lighting.LightingSwipeData();
         Lighting.countdown = new CountdownEvent(0);
         Lighting.threadSwipes = new Lighting.LightingSwipeData[Environment.ProcessorCount];
         for (int index = 0; index < Lighting.threadSwipes.Length; ++index)
             Lighting.threadSwipes[index] = new Lighting.LightingSwipeData();
     }
     int length1 = Main.screenWidth / 16 + Lighting.offScreenTiles * 2 + 10;
     int length2 = Main.screenHeight / 16 + Lighting.offScreenTiles * 2 + 10;
     if (Lighting.states != null && Lighting.states.Length >= length1 && Lighting.states[0].Length >= length2)
         return;
     Lighting.states = new Lighting.LightingState[length1][];
     Lighting.axisFlipStates = new Lighting.LightingState[length2][];
     for (int index = 0; index < length2; ++index)
         Lighting.axisFlipStates[index] = new Lighting.LightingState[length1];
     for (int index1 = 0; index1 < length1; ++index1)
     {
         Lighting.LightingState[] lightingStateArray = new Lighting.LightingState[length2];
         for (int index2 = 0; index2 < length2; ++index2)
         {
             Lighting.LightingState lightingState = new Lighting.LightingState();
             lightingStateArray[index2] = lightingState;
             Lighting.axisFlipStates[index2][index1] = lightingState;
         }
         Lighting.states[index1] = lightingStateArray;
     }
 }
		public static void Initialize(bool resize = false)
		{
			if (!resize)
			{
				Lighting.tempLights = new Dictionary<Point16, Lighting.ColorTriplet>();
				Lighting.swipe = new Lighting.LightingSwipeData();
				Lighting.countdown = new CountdownEvent(0);
				Lighting.threadSwipes = new Lighting.LightingSwipeData[Environment.ProcessorCount];
				for (int i = 0; i < Lighting.threadSwipes.Length; i++)
				{
					Lighting.threadSwipes[i] = new Lighting.LightingSwipeData();
				}
			}
			int num = Main.screenWidth / 16 + Lighting.offScreenTiles * 2 + 10;
			int num2 = Main.screenHeight / 16 + Lighting.offScreenTiles * 2 + 10;
			if (Lighting.states == null || Lighting.states.Length < num || Lighting.states[0].Length < num2)
			{
				Lighting.states = new Lighting.LightingState[num][];
				Lighting.axisFlipStates = new Lighting.LightingState[num2][];
				for (int j = 0; j < num2; j++)
				{
					Lighting.axisFlipStates[j] = new Lighting.LightingState[num];
				}
				for (int k = 0; k < num; k++)
				{
					Lighting.LightingState[] array = new Lighting.LightingState[num2];
					for (int l = 0; l < num2; l++)
					{
						Lighting.LightingState lightingState = new Lighting.LightingState();
						array[l] = lightingState;
						Lighting.axisFlipStates[l][k] = lightingState;
					}
					Lighting.states[k] = array;
				}
			}
		}
		public static void Initialize()
		{
			Lighting.tempLightX = new int[Lighting.maxTempLights];
			Lighting.tempLightY = new int[Lighting.maxTempLights];
			Lighting.tempLight = new float[Lighting.maxTempLights];
			Lighting.tempLightG = new float[Lighting.maxTempLights];
			Lighting.tempLightB = new float[Lighting.maxTempLights];
			Lighting.swipe = new Lighting.LightingSwipeData();
			Lighting.countdown = new CountdownEvent(0);
			Lighting.threadSwipes = new Lighting.LightingSwipeData[Environment.ProcessorCount];
			for (int i = 0; i < Lighting.threadSwipes.Length; i++)
			{
				Lighting.threadSwipes[i] = new Lighting.LightingSwipeData();
			}
			int num = Main.screenWidth + Lighting.offScreenTiles * 2 + 10;
			int num2 = Main.screenHeight + Lighting.offScreenTiles * 2 + 10;
			Lighting.states = new Lighting.LightingState[num][];
			Lighting.axisFlipStates = new Lighting.LightingState[num2][];
			for (int j = 0; j < num2; j++)
			{
				Lighting.axisFlipStates[j] = new Lighting.LightingState[num];
			}
			for (int k = 0; k < num; k++)
			{
				Lighting.LightingState[] array = new Lighting.LightingState[num2];
				for (int l = 0; l < num2; l++)
				{
					Lighting.LightingState lightingState = new Lighting.LightingState();
					array[l] = lightingState;
					Lighting.axisFlipStates[l][k] = lightingState;
				}
				Lighting.states[k] = array;
			}
		}
Exemple #7
0
        private static void doColors_Mode3_Swipe(Lighting.LightingSwipeData swipeData)
        {
            try
            {
                bool flag = true;
                while (true)
                {
                    int num;
                    int num2;
                    int num3;
                    if (flag)
                    {
                        num  = 1;
                        num2 = swipeData.innerLoop1Start;
                        num3 = swipeData.innerLoop1End;
                    }
                    else
                    {
                        num  = -1;
                        num2 = swipeData.innerLoop2Start;
                        num3 = swipeData.innerLoop2End;
                    }
                    int outerLoopStart = swipeData.outerLoopStart;
                    int outerLoopEnd   = swipeData.outerLoopEnd;
                    for (int i = outerLoopStart; i < outerLoopEnd; i++)
                    {
                        Lighting.LightingState[] array = swipeData.jaggedArray[i];
                        float num4 = 0f;
                        float num5 = 0f;
                        float num6 = 0f;
                        int   num7 = num2;
                        while (num7 != num3)
                        {
                            Lighting.LightingState lightingState = array[num7];
                            bool flag3;
                            bool flag2 = flag3 = false;
                            if (lightingState.r2 > num4)
                            {
                                num4 = lightingState.r2;
                            }
                            else if (num4 <= 0f)
                            {
                                flag3 = true;
                            }
                            else
                            {
                                lightingState.r2 = num4;
                            }
                            if (!flag3)
                            {
                                if (lightingState.stopLight)
                                {
                                    num4 -= Lighting.negLight2;
                                }
                                else if (lightingState.wetLight)
                                {
                                    num4 -= Lighting.wetLightR;
                                }
                                else
                                {
                                    num4 -= Lighting.negLight;
                                }
                            }
                            if (lightingState.g2 > num5)
                            {
                                num5 = lightingState.g2;
                            }
                            else if (num5 <= 0f)
                            {
                                flag2 = true;
                            }
                            else
                            {
                                lightingState.g2 = num5;
                            }
                            if (!flag2)
                            {
                                if (lightingState.stopLight)
                                {
                                    num5 -= Lighting.negLight2;
                                }
                                else if (lightingState.wetLight)
                                {
                                    num5 -= Lighting.wetLightG;
                                }
                                else
                                {
                                    num5 -= Lighting.negLight;
                                }
                            }
                            if (lightingState.b2 > num6)
                            {
                                num6 = lightingState.b2;
                                goto IL_167;
                            }
                            if (num6 > 0f)
                            {
                                lightingState.b2 = num6;
                                goto IL_167;
                            }
IL_186:
                            num7 += num;
                            continue;
IL_167:
                            if (lightingState.stopLight)
                            {
                                num6 -= Lighting.negLight2;
                                goto IL_186;
                            }
                            num6 -= Lighting.negLight;
                            goto IL_186;
                        }
                    }
                    if (!flag)
                    {
                        break;
                    }
                    flag = false;
                }
            }
            catch
            {
            }
        }
Exemple #8
0
        private static void doColors_Mode2_Swipe(Lighting.LightingSwipeData swipeData)
        {
            try
            {
                bool flag = true;
                while (true)
                {
                    int num;
                    int num2;
                    int num3;
                    if (flag)
                    {
                        num  = 1;
                        num2 = swipeData.innerLoop1Start;
                        num3 = swipeData.innerLoop1End;
                    }
                    else
                    {
                        num  = -1;
                        num2 = swipeData.innerLoop2Start;
                        num3 = swipeData.innerLoop2End;
                    }
                    int outerLoopStart = swipeData.outerLoopStart;
                    int outerLoopEnd   = swipeData.outerLoopEnd;
                    for (int i = outerLoopStart; i < outerLoopEnd; i++)
                    {
                        Lighting.LightingState[] array = swipeData.jaggedArray[i];
                        float num4 = 0f;
                        int   num5 = num2;
                        while (num5 != num3)
                        {
                            Lighting.LightingState lightingState = array[num5];
                            if (lightingState.r2 > num4)
                            {
                                num4 = lightingState.r2;
                                goto IL_86;
                            }
                            if (num4 > 0f)
                            {
                                lightingState.r2 = num4;
                                goto IL_86;
                            }
IL_BA:
                            num5 += num;
                            continue;
IL_86:
                            if (lightingState.stopLight)
                            {
                                num4 -= Lighting.negLight2;
                                goto IL_BA;
                            }
                            if (lightingState.wetLight)
                            {
                                num4 -= Lighting.wetLightR;
                                goto IL_BA;
                            }
                            num4 -= Lighting.negLight;
                            goto IL_BA;
                        }
                    }
                    if (!flag)
                    {
                        break;
                    }
                    flag = false;
                }
            }
            catch
            {
            }
        }
Exemple #9
0
        private static void doColors_Mode1_Swipe(Lighting.LightingSwipeData swipeData)
        {
            try
            {
                bool flag = true;
                while (true)
                {
                    int num;
                    int num2;
                    int num3;
                    if (flag)
                    {
                        num  = 1;
                        num2 = swipeData.innerLoop1Start;
                        num3 = swipeData.innerLoop1End;
                    }
                    else
                    {
                        num  = -1;
                        num2 = swipeData.innerLoop2Start;
                        num3 = swipeData.innerLoop2End;
                    }
                    int outerLoopStart = swipeData.outerLoopStart;
                    int outerLoopEnd   = swipeData.outerLoopEnd;
                    for (int i = outerLoopStart; i < outerLoopEnd; i++)
                    {
                        Lighting.LightingState[] array = swipeData.jaggedArray[i];
                        float num4 = 0f;
                        int   num5 = num2;
                        while (num5 != num3)
                        {
                            Lighting.LightingState lightingState = array[num5];
                            if (lightingState.r2 > num4)
                            {
                                num4 = lightingState.r2;
                                goto IL_9C;
                            }
                            if ((double)num4 > 0.0185)
                            {
                                if (lightingState.r2 < num4)
                                {
                                    lightingState.r2 = num4;
                                    goto IL_9C;
                                }
                                goto IL_9C;
                            }
IL_123:
                            num5 += num;
                            continue;
IL_9C:
                            if (array[num5 + num].r2 > num4)
                            {
                                goto IL_123;
                            }
                            if (lightingState.stopLight)
                            {
                                num4 *= Lighting.negLight2;
                                goto IL_123;
                            }
                            if (!lightingState.wetLight)
                            {
                                num4 *= Lighting.negLight;
                                goto IL_123;
                            }
                            if (lightingState.honeyLight)
                            {
                                num4 *= Lighting.honeyLightR * (float)swipeData.rand.Next(98, 100) * 0.01f;
                                goto IL_123;
                            }
                            num4 *= Lighting.wetLightR * (float)swipeData.rand.Next(98, 100) * 0.01f;
                            goto IL_123;
                        }
                    }
                    if (!flag)
                    {
                        break;
                    }
                    flag = false;
                }
            }
            catch
            {
            }
        }
Exemple #10
0
        private static void doColors_Mode0_Swipe(Lighting.LightingSwipeData swipeData)
        {
            try
            {
                bool flag = true;
                while (true)
                {
                    int num;
                    int num2;
                    int num3;
                    if (flag)
                    {
                        num  = 1;
                        num2 = swipeData.innerLoop1Start;
                        num3 = swipeData.innerLoop1End;
                    }
                    else
                    {
                        num  = -1;
                        num2 = swipeData.innerLoop2Start;
                        num3 = swipeData.innerLoop2End;
                    }
                    int outerLoopStart = swipeData.outerLoopStart;
                    int outerLoopEnd   = swipeData.outerLoopEnd;
                    for (int i = outerLoopStart; i < outerLoopEnd; i++)
                    {
                        Lighting.LightingState[] array = swipeData.jaggedArray[i];
                        float num4 = 0f;
                        float num5 = 0f;
                        float num6 = 0f;
                        int   num7 = num2;
                        while (num7 != num3)
                        {
                            Lighting.LightingState lightingState  = array[num7];
                            Lighting.LightingState lightingState2 = array[num7 + num];
                            bool flag3;
                            bool flag2 = flag3 = false;
                            if (lightingState.r2 > num4)
                            {
                                num4 = lightingState.r2;
                            }
                            else if ((double)num4 <= 0.0185)
                            {
                                flag3 = true;
                            }
                            else if (lightingState.r2 < num4)
                            {
                                lightingState.r2 = num4;
                            }
                            if (!flag3 && lightingState2.r2 <= num4)
                            {
                                if (lightingState.stopLight)
                                {
                                    num4 *= Lighting.negLight2;
                                }
                                else if (lightingState.wetLight)
                                {
                                    if (lightingState.honeyLight)
                                    {
                                        num4 *= Lighting.honeyLightR * (float)swipeData.rand.Next(98, 100) * 0.01f;
                                    }
                                    else
                                    {
                                        num4 *= Lighting.wetLightR * (float)swipeData.rand.Next(98, 100) * 0.01f;
                                    }
                                }
                                else
                                {
                                    num4 *= Lighting.negLight;
                                }
                            }
                            if (lightingState.g2 > num5)
                            {
                                num5 = lightingState.g2;
                            }
                            else if ((double)num5 <= 0.0185)
                            {
                                flag2 = true;
                            }
                            else
                            {
                                lightingState.g2 = num5;
                            }
                            if (!flag2 && lightingState2.g2 <= num5)
                            {
                                if (lightingState.stopLight)
                                {
                                    num5 *= Lighting.negLight2;
                                }
                                else if (lightingState.wetLight)
                                {
                                    if (lightingState.honeyLight)
                                    {
                                        num5 *= Lighting.honeyLightG * (float)swipeData.rand.Next(97, 100) * 0.01f;
                                    }
                                    else
                                    {
                                        num5 *= Lighting.wetLightG * (float)swipeData.rand.Next(97, 100) * 0.01f;
                                    }
                                }
                                else
                                {
                                    num5 *= Lighting.negLight;
                                }
                            }
                            if (lightingState.b2 > num6)
                            {
                                num6 = lightingState.b2;
                                goto IL_22F;
                            }
                            if ((double)num6 > 0.0185)
                            {
                                lightingState.b2 = num6;
                                goto IL_22F;
                            }
IL_2B1:
                            num7 += num;
                            continue;
IL_22F:
                            if (lightingState2.b2 >= num6)
                            {
                                goto IL_2B1;
                            }
                            if (lightingState.stopLight)
                            {
                                num6 *= Lighting.negLight2;
                                goto IL_2B1;
                            }
                            if (!lightingState.wetLight)
                            {
                                num6 *= Lighting.negLight;
                                goto IL_2B1;
                            }
                            if (lightingState.honeyLight)
                            {
                                num6 *= Lighting.honeyLightB * (float)swipeData.rand.Next(97, 100) * 0.01f;
                                goto IL_2B1;
                            }
                            num6 *= Lighting.wetLightB * (float)swipeData.rand.Next(97, 100) * 0.01f;
                            goto IL_2B1;
                        }
                    }
                    if (!flag)
                    {
                        break;
                    }
                    flag = false;
                }
            }
            catch
            {
            }
        }