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(); } }
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(); }
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(); } }
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(); } }
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)); } } }
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"); } } }
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(); }