예제 #1
0
파일: Build.cs 프로젝트: pkmnfrk/mm-rando
        private void MakeROM(string InFile, string FileName)
        {
            BinaryReader OldROM = new BinaryReader(File.Open(InFile, FileMode.Open));

            ROMFuncs.ReadFileTable(OldROM);
            OldROM.Close();
            WriteAudioSeq();
            WriteLinkAppearance();
            if (cMode.SelectedIndex != 2)
            {
                ROMFuncs.ApplyHack(ModsDir + "title-screen");
                ROMFuncs.ApplyHack(ModsDir + "misc-changes");
                ROMFuncs.ApplyHack(ModsDir + "cm-cs");
                WriteFileSelect();
            }
            ;
            ROMFuncs.ApplyHack(ModsDir + "init-file");
            WriteQuickText();
            WriteCutscenes();
            WriteTatlColour();
            WriteDungeons();
            WriteGimmicks();
            WriteEnemies();
            WriteItems();
            WriteGossipQuotes();
            WriteStartupStrings();
            WriteSpoilerLog();
            byte[] ROM = ROMFuncs.BuildROM(FileName);
            if (Output_VC)
            {
                string VCFileName = saveWad.FileName;
                ROMFuncs.BuildVC(ROM, VCDir, Path.GetFullPath(VCFileName));
            }
            ;
        }
예제 #2
0
        private void MakeROM(string InFile, string FileName, BackgroundWorker worker)
        {
            using (BinaryReader OldROM = new BinaryReader(File.Open(InFile, FileMode.Open, FileAccess.Read)))
            {
                ROMFuncs.ReadFileTable(OldROM);
            }

            worker.ReportProgress(55, "Writing Audio...");
            WriteAudioSeq();

            worker.ReportProgress(60, "Writing Character...");
            WriteLinkAppearance();
            if (Settings.LogicMode != LogicMode.Vanilla)
            {
                worker.ReportProgress(61, "Applying hacks...");
                ROMFuncs.ApplyHack(ModsDirectory + "title-screen");
                ROMFuncs.ApplyHack(ModsDirectory + "misc-changes");
                ROMFuncs.ApplyHack(ModsDirectory + "cm-cs");
                WriteFileSelect();
            }
            ROMFuncs.ApplyHack(ModsDirectory + "init-file");

            worker.ReportProgress(62, "Writing quick text...");
            WriteQuickText();

            worker.ReportProgress(64, "Writing cutscenes...");
            WriteCutscenes();

            worker.ReportProgress(66, "Writing Tatl...");
            WriteTatlColour();

            worker.ReportProgress(68, "Writing dungeons...");
            WriteDungeons();

            worker.ReportProgress(70, "Writing gimmicks...");
            WriteGimmicks();

            worker.ReportProgress(72, "Writing enemies...");
            WriteEnemies();

            worker.ReportProgress(75, "Writing items...");
            WriteItems();

            worker.ReportProgress(85, "Writing gossip...");
            WriteGossipQuotes();

            worker.ReportProgress(87, "Writing startup...");
            WriteStartupStrings();

            worker.ReportProgress(89, "Writing spoiler log...");
            WriteSpoilerLog();

            worker.ReportProgress(90, "Building ROM...");

            byte[] ROM = ROMFuncs.BuildROM(FileName);
            if (_outputVC)
            {
                worker.ReportProgress(98, "Building VC...");
                ROMFuncs.BuildVC(ROM, VCDirectory, Path.ChangeExtension(FileName, "wad"));
            }
            worker.ReportProgress(100, "Done!");
        }