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

◆ doColors_Mode1_Swipe()

void Terraria.Graphics.Light.LegacyLighting.doColors_Mode1_Swipe ( int outerLoopStart,
int outerLoopEnd,
object context )
inlineprivate

Definition at line 1185 of file LegacyLighting.cs.

1186 {
1187 LightingSwipeData lightingSwipeData = context as LightingSwipeData;
1188 FastRandom fastRandom = default(FastRandom);
1189 try
1190 {
1191 bool flag = true;
1192 while (true)
1193 {
1194 int num;
1195 int num2;
1196 int num3;
1197 if (flag)
1198 {
1199 num = 1;
1200 num2 = lightingSwipeData.InnerLoop1Start;
1201 num3 = lightingSwipeData.InnerLoop1End;
1202 }
1203 else
1204 {
1205 num = -1;
1206 num2 = lightingSwipeData.InnerLoop2Start;
1207 num3 = lightingSwipeData.InnerLoop2End;
1208 }
1209 for (int i = outerLoopStart; i < outerLoopEnd; i++)
1210 {
1211 LightingState[] array = lightingSwipeData.JaggedArray[i];
1212 float num4 = 0f;
1213 for (int j = num2; j != num3; j += num)
1214 {
1215 LightingState lightingState = array[j];
1216 if (lightingState.R2 > num4)
1217 {
1218 num4 = lightingState.R2;
1219 }
1220 else
1221 {
1222 if ((double)num4 <= 0.0185)
1223 {
1224 continue;
1225 }
1226 if (lightingState.R2 < num4)
1227 {
1228 lightingState.R2 = num4;
1229 }
1230 }
1231 if (!(array[j + num].R2 > num4))
1232 {
1233 if (lightingState.StopLight)
1234 {
1235 num4 *= _negLight2;
1236 }
1237 else if (lightingState.WetLight)
1238 {
1239 fastRandom = _swipeRandom.WithModifier((ulong)(i * 1000 + j));
1240 num4 = ((!lightingState.HoneyLight) ? (num4 * (_wetLightR * (float)fastRandom.Next(98, 100) * 0.01f)) : (num4 * (_honeyLightR * (float)fastRandom.Next(98, 100) * 0.01f)));
1241 }
1242 else
1243 {
1244 num4 *= _negLight;
1245 }
1246 }
1247 }
1248 }
1249 if (flag)
1250 {
1251 flag = false;
1252 continue;
1253 }
1254 break;
1255 }
1256 }
1257 catch
1258 {
1259 }
1260 }

References Terraria.Graphics.Light.LegacyLighting._honeyLightR, Terraria.Graphics.Light.LegacyLighting._negLight, Terraria.Graphics.Light.LegacyLighting._negLight2, Terraria.Graphics.Light.LegacyLighting._swipeRandom, Terraria.Graphics.Light.LegacyLighting._wetLightR, and System.array.

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