示例#1
0
        static bool LoadROMLow(string fullfilename, string forceversion)
        {
            if (!U.CanReadFileRetry(fullfilename))
            {
                return(false);
            }

            string version = "";
            bool   r       = false;
            ROM    rom     = new ROM();

            if (forceversion == "")
            {
                r = rom.Load(fullfilename, out version);
                if (r)
                {
                    ROM = rom;
                    return(true);
                }
                if (U.GetFileSize(fullfilename) >= 1024 * 1024 * 8)
                {//8MB以上ならROMの可能性あり
                    ErorrUnknownROM f = (ErorrUnknownROM)InputFormRef.JumpFormLow <ErorrUnknownROM>();
                    f.Init(version);
                    f.ShowDialog();

                    forceversion = f.GetResultVersion();
                }
            }

            if (forceversion != "")
            {//強制バージョン指定
                r = rom.LoadForceVersion(fullfilename, forceversion);
                if (r)
                {
                    ROM = rom;
                    return(true);
                }
                version = forceversion;
            }

            R.ShowStopError("未対応のROMです。\r\ngame version={0}\r\nSize={1}"
                            , version
                            , U.To0xHexString((uint)U.GetFileSize(fullfilename))
                            );
            return(false);
        }