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

◆ CompatPrng()

System.Random.CompatPrng.CompatPrng ( int seed)
inline

Definition at line 334 of file Random.cs.

335 {
336 int[] array = new int[56];
337 int num = ((seed == int.MinValue) ? int.MaxValue : Math.Abs(seed));
338 int num2 = (array[55] = 161803398 - num);
339 int num3 = 1;
340 int num4 = 0;
341 for (int i = 1; i < 55; i++)
342 {
343 if ((num4 += 21) >= 55)
344 {
345 num4 -= 55;
346 }
347 array[num4] = num3;
348 num3 = num2 - num3;
349 if (num3 < 0)
350 {
351 num3 += int.MaxValue;
352 }
353 num2 = array[num4];
354 }
355 for (int j = 1; j < 5; j++)
356 {
357 for (int k = 1; k < 56; k++)
358 {
359 int num5 = k + 30;
360 if (num5 >= 55)
361 {
362 num5 -= 55;
363 }
364 array[k] -= array[1 + num5];
365 if (array[k] < 0)
366 {
367 array[k] += int.MaxValue;
368 }
369 }
370 }
372 _inext = 0;
373 _inextp = 21;
374 }

References System.Random.CompatPrng._inext, System.Random.CompatPrng._inextp, System.Random.CompatPrng._seedArray, System.Math.Abs(), and System.array.