private uint GetHash(int buffer)
        {
            uint num = base.seed + 374761393;

            num += 4;
            num  = (uint)((int)num + buffer * -1028477379);
            num  = RandomNumberGenerator_BasicHash.Rotate(num, 17) * 668265263;
            num ^= num >> 15;
            num  = (uint)((int)num * -2048144777);
            num ^= num >> 13;
            num  = (uint)((int)num * -1028477379);
            return(num ^ num >> 16);
        }
    private uint GetHash(int buffer)
    {
        uint num = this.seed + 374761393;

        num += 4;
        num  = (uint)(num + buffer * -1028477379);
        num  = RandomNumberGenerator_BasicHash.Rotate(num, 17) * 668265263;
        num  = num ^ num >> 15;
        unchecked {
            num *= (uint)-2048144777;
        }
        num = num ^ num >> 13;
        unchecked {
            num *= (uint)-1028477379;
        }
        num = num ^ num >> 16;
        return(num);
    }
Example #3
0
        public static void Prefix(ref uint __result, RandomNumberGenerator_BasicHash __instance, int buffer)
        {
#if RAND_LOGS
            if (CooperateRimming.dumpRand)
            {
                int        tick = Current.Game == null ? -1 : Find.TickManager.TicksGame;
                StackTrace tr   = new StackTrace();

                streamholder.WriteLine("====STACK====", "rand");

                foreach (var frame in tr.GetFrames())
                {
                    streamholder.WriteLine(frame.GetMethod().ReflectedType + "::" + frame.GetMethod().Name, "rand");
                }

                streamholder.WriteLine("====END====", "rand");
                streamholder.WriteLine(__result.ToString() + " seed " + __instance.seed + " and buffer " + buffer + " at tick " + tick, "rand");
            }
#endif
        }