PKHeX.ram2sav.FindIndex C# (CSharp) Method

FindIndex() static private method

static private FindIndex ( byte data, uint val, uint instances, uint start ) : int
data byte
val uint
instances uint
start uint
return int
        internal static int FindIndex(byte[] data, uint val, uint instances, uint start)
        {
            if (val == UNKNOWNVAL)
                return -1;

            int ofs = (int)start;
            int times = 0;
            uint v = (BitConverter.ToUInt32(data, ofs));
            while ((v != val || times != instances) && ofs + 4 < data.Length)
            {
                ofs++;
                if (v == val)
                    times++;
                v = (BitConverter.ToUInt32(data, ofs));
            }
            if (ofs + 4 != data.Length) return ofs + 4;
            Console.WriteLine("Failed to find " + val.ToString("X8"));
            return -1;
        }
    }