Esempio n. 1
0
        public static void OpenLayoutManager()
        {
            LayoutEditor lee = new LayoutEditor();

            lee.StartPosition = FormStartPosition.CenterParent;
            lee.Owner         = ReubenController.MainWindow;

            if (ActiveEditor != null)
            {
                if (ActiveEditor is LevelEditor)
                {
                    LevelEditor le = (LevelEditor)ActiveEditor;
                    lee.ShowDialog(le.CurrentLevel.Type, le.CurrentLevel.GraphicsBank, le.CurrentLevel.AnimationBank, le.CurrentLevel.Palette, le.CurrentLayout);
                }
                else
                {
                    WorldEditor we = (WorldEditor)ActiveEditor;
                    lee.ShowDialog(we.CurrentWorld.Type, 0x70, we.CurrentWorld.GraphicsBank, we.CurrentWorld.Palette, we.CurrentLayout);
                }
            }
            else
            {
                lee.ShowDialog();
            }
        }
Esempio n. 2
0
        public static void EditWorld(WorldInfo wi)
        {
            if (editorTable.ContainsKey(wi.WorldGuid))
            {
                editorTable[wi.WorldGuid].Activate();
                return;
            }

            World w = new World();

            if (!w.Load(wi))
            {
                w.New(wi);
            }

            WorldEditor we = new WorldEditor();

            we.MdiParent = MainWindow;
            we.EditWorld(w);
            we.FormClosed += new FormClosedEventHandler(le_FormClosed);
            we.Activated  += new EventHandler(le_Activated);
            ActiveEditor   = we;
            editorTable.Add(wi.WorldGuid, we);
            MainWindow.HideProjectview();
        }
Esempio n. 3
0
        public static void OpenBlockEditor()
        {
            Map16Editor me = new Map16Editor();

            me.StartPosition = FormStartPosition.CenterParent;
            me.Owner         = ReubenController.MainWindow;

            if (ActiveEditor != null)
            {
                if (ActiveEditor is LevelEditor)
                {
                    LevelEditor le = (LevelEditor)ActiveEditor;
                    me.ShowDialog(le.CurrentLevel.Type, 0, le.CurrentLevel.GraphicsBank, le.CurrentLevel.AnimationBank, le.CurrentLevel.Palette);
                }
                else
                {
                    WorldEditor we = (WorldEditor)ActiveEditor;
                    me.ShowDialog(we.CurrentWorld.Type, 0, 0x70, we.CurrentWorld.GraphicsBank, we.CurrentWorld.Palette);
                }
            }
            else
            {
                me.ShowDialog();
            }
        }
Esempio n. 4
0
        public static void OpenGraphicsEditor()
        {
            GraphicsEditor ge = new GraphicsEditor();

            ge.StartPosition = FormStartPosition.CenterParent;
            ge.Owner         = ReubenController.MainWindow;

            if (ActiveEditor != null)
            {
                if (ActiveEditor is LevelEditor)
                {
                    LevelEditor le = (LevelEditor)ActiveEditor;
                    ge.ShowDialog(le.CurrentLevel.GraphicsBank, le.CurrentLevel.AnimationBank, le.CurrentLevel.Palette);
                }
                else
                {
                    WorldEditor we = (WorldEditor)ActiveEditor;
                    ge.ShowDialog(0x70, we.CurrentWorld.GraphicsBank, we.CurrentWorld.Palette);
                }
            }
            else
            {
                ge.ShowDialog();
            }
        }
Esempio n. 5
0
 public static void ReloadLevel()
 {
     if (ActiveEditor is LevelEditor)
     {
         LevelEditor le = (LevelEditor)ActiveEditor;
         le.CurrentLevel.Load(ProjectController.LevelManager.GetLevelInfo(le.CurrentLevel.Guid));
         if (LevelReloaded != null)
         {
             LevelReloaded(null, new TEventArgs <Level>(le.CurrentLevel));
         }
     }
     else
     {
         WorldEditor we = (WorldEditor)ActiveEditor;
         we.CurrentWorld.Load(ProjectController.WorldManager.GetWorldInfo(we.CurrentWorld.Guid));
         if (WorldReloaded != null)
         {
             WorldReloaded(null, new TEventArgs <World>(we.CurrentWorld));
         }
     }
 }
Esempio n. 6
0
        public static void DumpRawLevel()
        {
            SaveFileDialog SFD = new SaveFileDialog();

            if (SFD.ShowDialog() == DialogResult.OK)
            {
                if (ActiveEditor is LevelEditor)
                {
                    LevelEditor le   = ((LevelEditor)ActiveEditor);
                    Level       l    = le.CurrentLevel;
                    FileStream  fs   = new FileStream(SFD.FileName, FileMode.OpenOrCreate, FileAccess.Write);
                    byte[]      data = l.GetCompressedData();
                    fs.Write(data, 0, data.Length);
                    fs.Close();
                    MessageBox.Show("Raw level data dumped");
                }

                else
                {
                    WorldEditor we     = ((WorldEditor)ActiveEditor);
                    World       w      = we.CurrentWorld;
                    FileStream  fs     = new FileStream(SFD.FileName, FileMode.OpenOrCreate, FileAccess.Write);
                    byte[]      output = new byte[0x40 * 0x10];
                    for (int i = 0; i < 0x1B; i++)
                    {
                        for (int j = 0; j < 0x10; j++)
                        {
                            output[i * 0x1B + j] = w.LevelData[j, i];
                        }
                    }

                    fs.Write(output, 0, output.Length);
                    fs.Close();
                    MessageBox.Show("Raw level data dumped");
                }
            }
        }
Esempio n. 7
0
        public static void EditWorld(WorldInfo wi)
        {
            if (editorTable.ContainsKey(wi.WorldGuid))
            {
                editorTable[wi.WorldGuid].Activate();
                return;
            }

            World w = new World();

            if (!w.Load(wi))
            {
                w.New(wi);
            }

            WorldEditor we = new WorldEditor();
            we.MdiParent = MainWindow;
            we.EditWorld(w);
            we.FormClosed += new FormClosedEventHandler(le_FormClosed);
            we.Activated += new EventHandler(le_Activated);
            ActiveEditor = we;
            editorTable.Add(wi.WorldGuid, we);
            MainWindow.HideProjectview();
        }