コード例 #1
0
ファイル: Addresser.cs プロジェクト: shawlucas/MasterOcarina
        public static bool TryGetRom(RomFileToken file, RomVersion version, AddressToken token, out int v)
        {
            var block = GetBlock(version, file.ToString());

            if (TryMagicConverter(block, token, version, Domain.ROM, out v))
            {
                return(true);
            }

            return(false);
        }
コード例 #2
0
ファイル: Addresser.cs プロジェクト: shawlucas/MasterOcarina
        public static bool TryGetRam(RomFileToken file, RomVersion version, out N64Ptr v)
        {
            var block = GetBlock(version, file.ToString());

            if (TryGetStart(block, version, Domain.RAM, out int value))
            {
                v = value | 0x8000_0000;
                return(true);
            }
            v = 0;
            return(false);
        }
コード例 #3
0
ファイル: Addresser.cs プロジェクト: krimtonz/MasterOcarina
        public static int GetRom(RomFileToken file, RomVersion version, string addrVar)
        {
            int addr;
            var block = GetBlock(version, file.ToString());

            if (addrVar == "__Start")
            {
                TryGetStart(block, version, Domain.ROM, out addr);
            }
            else
            {
                TryMagicConverter(block, addrVar, version, Domain.ROM, out addr);
            }
            return(addr);
        }
コード例 #4
0
ファイル: Addresser.cs プロジェクト: shawlucas/MasterOcarina
        public static int GetRom(RomFileToken file, RomVersion version, AddressToken token)
        {
            int addr;
            var block = GetBlock(version, file.ToString());

            if (token == AddressToken.__Start)
            {
                TryGetStart(block, version, Domain.ROM, out addr);
            }
            else
            {
                TryMagicConverter(block, token, version, Domain.ROM, out addr);
            }
            return(addr);
        }
コード例 #5
0
ファイル: Addresser.cs プロジェクト: krimtonz/MasterOcarina
        public static bool TryGetRom(RomFileToken file, RomVersion version, N64Ptr ramAddr, out int v)
        {
            ramAddr &= 0xFFFFFF;
            var block = GetBlock(version, file.ToString());

            if (!TryGetStart(block, version, Domain.ROM, out int romStart) ||
                !TryGetStart(block, version, Domain.RAM, out int ramStart) ||
                ramAddr < ramStart)
            {
                v = 0;
                return(false);
            }

            v = romStart + ramAddr - ramStart;
            return(true);
        }
コード例 #6
0
ファイル: Addresser.cs プロジェクト: krimtonz/MasterOcarina
        public static bool TryGetRam(string addrVar, RomFileToken file, RomVersion version, out int v)
        {
            var block = GetBlock(version, file.ToString());

            return(TryMagicConverter(block, addrVar, version, Domain.RAM, out v));
        }
コード例 #7
0
ファイル: Addresser.cs プロジェクト: krimtonz/MasterOcarina
        public static bool TryGetRam(RomFileToken file, RomVersion version, out int v)
        {
            var block = GetBlock(version, file.ToString());

            return(TryGetStart(block, version, Domain.RAM, out v));
        }
コード例 #8
0
 private static bool TryGetAddress(RomFileToken file, RomVersion version, string addrVar, out int value)
 {
     return(TryGetAddress(file.ToString(), version, addrVar, out value));
 }
コード例 #9
0
 public static int GetRom(RomFileToken file, RomVersion version, string addrVar)
 {
     return(GetAddress(file.ToString(), version, addrVar));
 }