Alexandria.Platforms.NintendoDS.RomFormat.LoadMatch C# (CSharp) Метод

LoadMatch() публичный Метод

Attempt to match the source as an NDS ROM.
public LoadMatch ( AssetLoader loader ) : LoadMatchStrength
loader Glare.Assets.AssetLoader
Результат LoadMatchStrength
        public override LoadMatchStrength LoadMatch(AssetLoader loader)
        {
            BinaryReader reader = loader.Reader;

            if (loader.Length < 0x4000)
                return LoadMatchStrength.None;

            // Short game name
            for (int i = 0; i < 12; i++)
                if (!IsAsciiOrNul(reader.ReadByte()))
                    return LoadMatchStrength.None;

            // Game Id and Maker Id
            for (int i = 0; i < 6; i++)
                if (!IsAscii(reader.ReadByte()))
                    return LoadMatchStrength.None;

            reader.BaseStream.Seek(14, SeekOrigin.Current);

            // Offset 0x20
            if (reader.ReadInt32() != 0x4000) // Page size - always 0x4000?
                return LoadMatchStrength.None;
            reader.BaseStream.Seek(12, SeekOrigin.Current);

            // Offset 0x30
            if (reader.ReadInt32() > loader.Length || reader.ReadInt32() != 0x2380000 || reader.ReadInt32() != 0x2380000)
                return LoadMatchStrength.None;

            return LoadMatchStrength.Medium;
        }