Exemplo n.º 1
0
 public override void save(ExportedLevel level)
 {
     FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Read);
     BinaryWriter bw = new BinaryWriter(fs);
     level.Write(bw);
     bw.Close();
 }
Exemplo n.º 2
0
 private void levelSaver_DoWork(object sender, DoWorkEventArgs e)
 {
     try
     {
         Console.Out.WriteLine("Backing up level " + LevelFilename);
         ExportedLevel exlvl      = levelEditorControl1.Level.getExport();
         string        backupPath = System.IO.Path.Combine(Application.StartupPath, "Backup");
         if (!System.IO.Directory.Exists(backupPath))
         {
             System.IO.Directory.CreateDirectory(backupPath);
         }
         string filename;
         if (levelEditorControl1.Level.isExported)
         {
             filename = System.IO.Path.GetFileName(LevelFilename);
         }
         else
         {
             filename = LevelFilename + ".nml";
         }
         System.IO.FileStream   fs = new System.IO.FileStream(System.IO.Path.Combine(backupPath, filename), System.IO.FileMode.Create);
         System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs);
         exlvl.Write(bw);
         bw.Close();
     }
     catch (Exception ex) { }
 }
Exemplo n.º 3
0
        private void importLevelButton_Click(object sender, EventArgs e)
        {
            if (levelTreeView.SelectedNode == null)
            {
                return;
            }

            // Figure out what file to import
            if (importLevelDialog.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            // Get the files
            string LevelFilename = (string)levelTreeView.SelectedNode.Tag;

            NSMBe4.DSFileSystem.File LevelFile = ROM.FS.getFileByName(LevelFilename + ".bin");
            NSMBe4.DSFileSystem.File BGFile    = ROM.FS.getFileByName(LevelFilename + "_bgdat.bin");

            // Load it
            FileStream    fs    = new FileStream(importLevelDialog.FileName, FileMode.Open);
            BinaryReader  br    = new BinaryReader(fs);
            ExportedLevel exlvl = new ExportedLevel(br);

            if (exlvl.hasError())
            {
                MessageBox.Show(exlvl.ErrorMessage, exlvl.ErrorTitle);
            }
            else
            {
                exlvl.Import(LevelFile, BGFile);
            }
            br.Close();
        }
Exemplo n.º 4
0
 public override void save(ExportedLevel level)
 {
     ByteArrayInputStream strm = new ByteArrayInputStream(new byte[0]);
     System.IO.BinaryWriter bw = new System.IO.BinaryWriter(strm);
     level.Write(bw);
     copyData(strm.getData());
 }
Exemplo n.º 5
0
 public ExternalLevelSource(string filename, string loadFileName)
 {
     this.filename = filename;
     FileStream fs = new FileStream(loadFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
     BinaryReader br = new BinaryReader(fs);
     level = new ExportedLevel(br);
     br.Close();
 }
Exemplo n.º 6
0
        public override void save(ExportedLevel level)
        {
            ByteArrayInputStream strm = new ByteArrayInputStream(new byte[0]);

            System.IO.BinaryWriter bw = new System.IO.BinaryWriter(strm);
            level.Write(bw);
            copyData(strm.getData());
        }
Exemplo n.º 7
0
        public override void save(ExportedLevel level)
        {
            FileStream   fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Read);
            BinaryWriter bw = new BinaryWriter(fs);

            level.Write(bw);
            bw.Close();
        }
Exemplo n.º 8
0
        public ExternalLevelSource(string filename, string loadFileName)
        {
            this.filename = filename;
            FileStream   fs = new FileStream(loadFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
            BinaryReader br = new BinaryReader(fs);

            level = new ExportedLevel(br);
            br.Close();
        }
Exemplo n.º 9
0
 public ClipboardLevelSource(string loadFileName)
 {
     BinaryReader br;
     if (loadFileName == "")
     {
         string leveltxt = Clipboard.GetText();
         if (!(leveltxt.StartsWith(clipboardHeader) && leveltxt.EndsWith(clipboardFooter)))
             throw new Exception();
         leveltxt = leveltxt.Substring(11, leveltxt.Length - 12);
         byte[] leveldata = ROM.LZ77_Decompress(Convert.FromBase64String(leveltxt));
         ByteArrayInputStream strm = new ByteArrayInputStream(leveldata);
         br = new BinaryReader(strm);
     }
     else
     {
         FileStream fs = new FileStream(loadFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
         br = new BinaryReader(fs);
     }
     level = new ExportedLevel(br);
     br.Close();
 }
 public InternalLevelSource(string filename, string levelname, string loadFileName)
 {
     levelFile      = ROM.getLevelFile(filename);
     BGDatFile      = ROM.getBGDatFile(filename);
     this.filename  = filename;
     this.levelname = levelname;
     if (loadFileName == "")
     {
         levelData = levelFile.getContents();
         BGDatData = BGDatFile.getContents();
     }
     else
     {
         FileStream    fs    = new FileStream(loadFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
         BinaryReader  br    = new BinaryReader(fs);
         ExportedLevel level = new ExportedLevel(br);
         br.Close();
         levelData = level.LevelFile;
         BGDatData = level.BGDatFile;
     }
 }
Exemplo n.º 11
0
 public InternalLevelSource(string filename, string levelname, string loadFileName)
 {
     levelFile = ROM.getLevelFile(filename);
     BGDatFile = ROM.getBGDatFile(filename);
     this.filename = filename;
     this.levelname = levelname;
     if (loadFileName == "")
     {
         levelData = levelFile.getContents();
         BGDatData = BGDatFile.getContents();
     }
     else
     {
         FileStream fs = new FileStream(loadFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
         BinaryReader br = new BinaryReader(fs);
         ExportedLevel level = new ExportedLevel(br);
         br.Close();
         levelData = level.LevelFile;
         BGDatData = level.BGDatFile;
     }
 }
Exemplo n.º 12
0
 private void openLevel_Click(object sender, EventArgs e)
 {
     if (importLevelDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
     {
         return;
     }
     try {
         FileStream    fs    = new System.IO.FileStream(importLevelDialog.FileName, FileMode.Open);
         BinaryReader  br    = new BinaryReader(fs);
         ExportedLevel exlvl = new ExportedLevel(br);
         br.Close();
         if (exlvl.hasError())
         {
             MessageBox.Show(exlvl.ErrorMessage, exlvl.ErrorTitle);
         }
         else
         {
             new LevelEditor(importLevelDialog.FileName, "Exported Level - " + importLevelDialog.FileName, exlvl.LevelFile, exlvl.BGFile, exlvl.LevelFileID, exlvl.BGFileID).Show();
         }
     } catch (Exception ex) {
         MessageBox.Show("Failed to open level file: " + ex.Message);
     }
 }
Exemplo n.º 13
0
        public void Save()
        {
            ExportedLevel exlvl = getExport();

            if (isClipboard)
            {
                ByteArrayInputStream   strm = new ByteArrayInputStream(new byte[0]);
                System.IO.BinaryWriter bw   = new System.IO.BinaryWriter(strm);
                exlvl.Write(bw);
                Clipboard.SetText("NSMBeLevel|" + Convert.ToBase64String(ROM.LZ77_Compress(strm.getData())) + "|");
            }
            else if (isExported)
            {
                System.IO.FileStream   fs = new System.IO.FileStream(ExportedFileName, System.IO.FileMode.Create);
                System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs);
                exlvl.Write(bw);
            }
            else
            {
                LevelFile.replace(exlvl.LevelFile, this);
                BGFile.replace(exlvl.BGFile, this);
            }
        }
Exemplo n.º 14
0
        private void openClipboard_Click(object sender, EventArgs e)
        {
            try
            {
                string leveltxt = Clipboard.GetText();
                if (!(leveltxt.StartsWith("NSMBeLevel|") && leveltxt.EndsWith("|")))
                {
                    throw new Exception();
                }
                leveltxt = leveltxt.Substring(11, leveltxt.Length - 12);
                byte[] leveldata          = ROM.LZ77_Decompress(Convert.FromBase64String(leveltxt));
                ByteArrayInputStream strm = new ByteArrayInputStream(leveldata);
                BinaryReader         br   = new BinaryReader(strm);

                ExportedLevel exlvl     = new ExportedLevel(br);
                LevelEditor   newEditor = new LevelEditor("", "", exlvl.LevelFile, exlvl.BGFile, exlvl.LevelFileID, exlvl.BGFileID);
                newEditor.Show();
                br.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show((LanguageManager.Get("LevelChooser", "clipinvalidlevel")));
            }
        }
Exemplo n.º 15
0
        public ClipboardLevelSource(string loadFileName)
        {
            BinaryReader br;

            if (loadFileName == "")
            {
                string leveltxt = Clipboard.GetText();
                if (!(leveltxt.StartsWith(clipboardHeader) && leveltxt.EndsWith(clipboardFooter)))
                {
                    throw new Exception();
                }
                leveltxt = leveltxt.Substring(11, leveltxt.Length - 12);
                byte[] leveldata          = ROM.LZ77_Decompress(Convert.FromBase64String(leveltxt));
                ByteArrayInputStream strm = new ByteArrayInputStream(leveldata);
                br = new BinaryReader(strm);
            }
            else
            {
                FileStream fs = new FileStream(loadFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
                br = new BinaryReader(fs);
            }
            level = new ExportedLevel(br);
            br.Close();
        }
Exemplo n.º 16
0
 private void openLevel_Click(object sender, EventArgs e)
 {
     if (importLevelDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
         return;
     try {
         FileStream fs = new System.IO.FileStream(importLevelDialog.FileName, FileMode.Open);
         BinaryReader br = new BinaryReader(fs);
         ExportedLevel exlvl = new ExportedLevel(br);
         br.Close();
         if (exlvl.hasError())
             MessageBox.Show(exlvl.ErrorMessage, exlvl.ErrorTitle);
         else
             new LevelEditor(importLevelDialog.FileName, "Exported Level - " + importLevelDialog.FileName, exlvl.LevelFile, exlvl.BGFile, exlvl.LevelFileID, exlvl.BGFileID).Show();
     } catch (Exception ex) {
         MessageBox.Show("Failed to open level file: " + ex.Message);
     }
 }
Exemplo n.º 17
0
        private void openClipboard_Click(object sender, EventArgs e)
        {
            try
            {
                string leveltxt = Clipboard.GetText();
                if (!(leveltxt.StartsWith("NSMBeLevel|") && leveltxt.EndsWith("|")))
                    throw new Exception();
                leveltxt = leveltxt.Substring(11, leveltxt.Length - 12);
                byte[] leveldata = ROM.LZ77_Decompress(Convert.FromBase64String(leveltxt));
                ByteArrayInputStream strm = new ByteArrayInputStream(leveldata);
                BinaryReader br = new BinaryReader(strm);

                ExportedLevel exlvl = new ExportedLevel(br);
                LevelEditor newEditor = new LevelEditor("", "", exlvl.LevelFile, exlvl.BGFile, exlvl.LevelFileID, exlvl.BGFileID);
                newEditor.Show();
                br.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show((LanguageManager.Get("LevelChooser", "clipinvalidlevel")));
            }
        }
Exemplo n.º 18
0
        private void LevelChooser_Load(object sender, EventArgs e)
        {
            useMDI.Checked = Properties.Settings.Default.mdi;
            autoUpdate.Checked = Properties.Settings.Default.AutoUpdateSD;
            chkAutoBackup.Checked = Properties.Settings.Default.AutoBackup > 0;
            if (chkAutoBackup.Checked)
                autoBackupTime.Value = Properties.Settings.Default.AutoBackup;
            init = true;

            filesystemBrowser1.Load(ROM.FS);

            LoadLevelNames();
            if (ROM.UserInfo != null)
                musicList.Items.AddRange(ROM.UserInfo.getFullList("Music").ToArray());

            LanguageManager.ApplyToContainer(this, "LevelChooser");
            importLevelDialog.Filter = LanguageManager.Get("LevelChooser", "LevelFilter");
            exportLevelDialog.Filter = LanguageManager.Get("LevelChooser", "LevelFilter");
            openPatchDialog.Filter = LanguageManager.Get("LevelChooser", "PatchFilter");
            savePatchDialog.Filter = LanguageManager.Get("LevelChooser", "PatchFilter");
            this.Activate();
            //Get Language Files
            string langDir = System.IO.Path.Combine(Application.StartupPath, "Languages");
            if (System.IO.Directory.Exists(langDir)) {
                string[] files = System.IO.Directory.GetFiles(langDir);
                for (int l = 0; l < files.Length; l++) {
                    if (files[l].EndsWith(".ini")) {
                        int startPos = files[l].LastIndexOf(System.IO.Path.DirectorySeparatorChar) + 1;
                        languageListBox.Items.Add(files[l].Substring(startPos, files[l].LastIndexOf('.') - startPos));
                    }
                }
            }

            // Load file backups from crash
            string backupPath = Path.Combine(Application.StartupPath, "Backup");
            if (ROM.fileBackups.Count > 0)
                foreach (string filename in ROM.fileBackups)
                    try
                    {
                        string backupname;
                        if (filename.Contains("/") || filename.Contains("\\"))
                            backupname = Path.GetFileName(filename);
                        else
                            backupname = filename + ".nml";
                        FileStream fs = new System.IO.FileStream(Path.Combine(backupPath, backupname), FileMode.Open);
                        BinaryReader br = new BinaryReader(fs);
                        ExportedLevel exlvl = new ExportedLevel(br);
                        br.Close();
                        if (!exlvl.hasError())
                            new LevelEditor(filename,"Recovered Level - " + filename, exlvl.LevelFile, exlvl.BGFile, exlvl.LevelFileID, exlvl.BGFileID).Show();
                    }
                    catch (Exception) { }

            this.Text = "NSMB Editor 5.2 Beta - " + ROM.filename;
            label3.Text = "NSMB Editor 5.2 " + Properties.Resources.version.Trim();
            this.Icon = Properties.Resources.nsmbe;

            if (!ROM.isNSMBRom)
            {
                tabControl1.TabPages.Remove(tabPage2);
                tabControl1.TabPages.Remove(tabPage5);
                tabControl1.TabPages.Remove(tabPage6);
                nsmbToolsGroupbox.Enabled = false;
                musicSlotsGrp.Enabled = false;
            }

            //            new LevelEditor("A01_1", "LOL").Show();
        }
Exemplo n.º 19
0
        private void importLevelButton_Click(object sender, EventArgs e)
        {
            if (levelTreeView.SelectedNode == null) return;

            // Figure out what file to import
            if (importLevelDialog.ShowDialog() == DialogResult.Cancel)
                return;

            // Get the files
            string LevelFilename = (string)levelTreeView.SelectedNode.Tag;
            NSMBe4.DSFileSystem.File LevelFile = ROM.FS.getFileByName(LevelFilename + ".bin");
            NSMBe4.DSFileSystem.File BGFile = ROM.FS.getFileByName(LevelFilename + "_bgdat.bin");

            // Load it
            FileStream fs = new FileStream(importLevelDialog.FileName, FileMode.Open);
            BinaryReader br = new BinaryReader(fs);
            ExportedLevel exlvl = new ExportedLevel(br);
            if (exlvl.hasError())
                MessageBox.Show(exlvl.ErrorMessage, exlvl.ErrorTitle);
            else
                exlvl.Import(LevelFile, BGFile);
            br.Close();
        }
Exemplo n.º 20
0
        private void LevelChooser_Load(object sender, EventArgs e)
        {
            useMDI.Checked        = Properties.Settings.Default.mdi;
            autoUpdate.Checked    = Properties.Settings.Default.AutoUpdateSD;
            chkAutoBackup.Checked = Properties.Settings.Default.AutoBackup > 0;
            if (chkAutoBackup.Checked)
            {
                autoBackupTime.Value = Properties.Settings.Default.AutoBackup;
            }
            init = true;

            filesystemBrowser1.Load(ROM.FS);

            LoadLevelNames();
            if (ROM.UserInfo != null)
            {
                musicList.Items.AddRange(ROM.UserInfo.getFullList("Music").ToArray());
            }

            LanguageManager.ApplyToContainer(this, "LevelChooser");
            importLevelDialog.Filter = LanguageManager.Get("LevelChooser", "LevelFilter");
            exportLevelDialog.Filter = LanguageManager.Get("LevelChooser", "LevelFilter");
            openPatchDialog.Filter   = LanguageManager.Get("LevelChooser", "PatchFilter");
            savePatchDialog.Filter   = LanguageManager.Get("LevelChooser", "PatchFilter");
            this.Activate();
            //Get Language Files
            string langDir = System.IO.Path.Combine(Application.StartupPath, "Languages");

            if (System.IO.Directory.Exists(langDir))
            {
                string[] files = System.IO.Directory.GetFiles(langDir);
                for (int l = 0; l < files.Length; l++)
                {
                    if (files[l].EndsWith(".ini"))
                    {
                        int startPos = files[l].LastIndexOf(System.IO.Path.DirectorySeparatorChar) + 1;
                        languageListBox.Items.Add(files[l].Substring(startPos, files[l].LastIndexOf('.') - startPos));
                    }
                }
            }

            // Load file backups from crash
            string backupPath = Path.Combine(Application.StartupPath, "Backup");

            if (ROM.fileBackups.Count > 0)
            {
                foreach (string filename in ROM.fileBackups)
                {
                    try
                    {
                        string backupname;
                        if (filename.Contains("/") || filename.Contains("\\"))
                        {
                            backupname = Path.GetFileName(filename);
                        }
                        else
                        {
                            backupname = filename + ".nml";
                        }
                        FileStream    fs    = new System.IO.FileStream(Path.Combine(backupPath, backupname), FileMode.Open);
                        BinaryReader  br    = new BinaryReader(fs);
                        ExportedLevel exlvl = new ExportedLevel(br);
                        br.Close();
                        if (!exlvl.hasError())
                        {
                            new LevelEditor(filename, "Recovered Level - " + filename, exlvl.LevelFile, exlvl.BGFile, exlvl.LevelFileID, exlvl.BGFileID).Show();
                        }
                    }
                    catch (Exception) { }
                }
            }


            this.Text   = "NSMB Editor 5.2 Beta - " + ROM.filename;
            label3.Text = "NSMB Editor 5.2 " + Properties.Resources.version.Trim();
            this.Icon   = Properties.Resources.nsmbe;

            if (!ROM.isNSMBRom)
            {
                tabControl1.TabPages.Remove(tabPage2);
                tabControl1.TabPages.Remove(tabPage5);
                tabControl1.TabPages.Remove(tabPage6);
                nsmbToolsGroupbox.Enabled = false;
                musicSlotsGrp.Enabled     = false;
            }

//            new LevelEditor("A01_1", "LOL").Show();
        }
Exemplo n.º 21
0
 public abstract void save(ExportedLevel level);
Exemplo n.º 22
0
 public abstract void save(ExportedLevel level);
Exemplo n.º 23
0
        public void Save()
        {
            ExportedLevel exlvl = getExport();

            source.save(exlvl);
        }
 public override void save(ExportedLevel level)
 {
     levelFile.replace(level.LevelFile, this);
     BGDatFile.replace(level.BGDatFile, this);
 }
Exemplo n.º 25
0
 public override void save(ExportedLevel level)
 {
     levelFile.replace(level.LevelFile, this);
     BGDatFile.replace(level.BGDatFile, this);
 }