From ef4b30cbd2e2e1cbbf280e534fa1ca61e6d023ef Mon Sep 17 00:00:00 2001 From: "andres.delikat" Date: Sat, 11 Jun 2011 12:54:26 +0000 Subject: [PATCH] NES graphics config - checkboxes & config for Allow > 8 sprites per scanline, and clip left & right sides. Hook up palette file selection, and autoload palette toggling. Checking in NES .palette files --- BizHawk.MultiClient/Config.cs | 9 + BizHawk.MultiClient/MainForm.cs | 2107 +++++++++-------- .../output/NES/Palettes/ASQ_realityA.pal | Bin 0 -> 192 bytes .../output/NES/Palettes/ASQ_realityB.pal | Bin 0 -> 192 bytes .../output/NES/Palettes/BMF_final2.pal | Bin 0 -> 192 bytes .../output/NES/Palettes/BMF_final3.pal | Bin 0 -> 192 bytes .../NES/Palettes/FCEU-13-default_nitsuja.pal | Bin 0 -> 192 bytes .../NES/Palettes/FCEU-15-nitsuja_new.pal | Bin 0 -> 192 bytes .../output/NES/Palettes/FCEUX.pal | Bin 0 -> 192 bytes 9 files changed, 1063 insertions(+), 1053 deletions(-) create mode 100644 BizHawk.MultiClient/output/NES/Palettes/ASQ_realityA.pal create mode 100644 BizHawk.MultiClient/output/NES/Palettes/ASQ_realityB.pal create mode 100644 BizHawk.MultiClient/output/NES/Palettes/BMF_final2.pal create mode 100644 BizHawk.MultiClient/output/NES/Palettes/BMF_final3.pal create mode 100644 BizHawk.MultiClient/output/NES/Palettes/FCEU-13-default_nitsuja.pal create mode 100644 BizHawk.MultiClient/output/NES/Palettes/FCEU-15-nitsuja_new.pal create mode 100644 BizHawk.MultiClient/output/NES/Palettes/FCEUX.pal diff --git a/BizHawk.MultiClient/Config.cs b/BizHawk.MultiClient/Config.cs index 00be24f77d..af3078864b 100644 --- a/BizHawk.MultiClient/Config.cs +++ b/BizHawk.MultiClient/Config.cs @@ -216,6 +216,15 @@ public int NESNameTableWndx = -1; public int NESNameTableWndy = -1; + // NES Graphics settings + public bool NESAllowMoreThanEightSprites = false; + public bool NESClipLeftAndRight = false; + public bool NESAutoLoadPalette = true; + public bool NESDispBackground = true; + public bool NESDispSprites = true; + public int NESBackgroundColor = 0; + public string NESPaletteFile = ""; + // Cheats Dialog public bool AutoLoadCheats = false; public bool CheatsSaveWindowPosition = true; diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 9e5d02670c..60b3365d1b 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -16,15 +16,15 @@ namespace BizHawk.MultiClient { public partial class MainForm : Form { - public const string EMUVERSION = "BizHawk v1.0.0"; + public const string EMUVERSION = "BizHawk v1.0.0"; private Control renderTarget; private RetainedViewportPanel retainedPanel; public string CurrentlyOpenRom; - //Movie variables - public Movie InputLog = new Movie("", MOVIEMODE.INACTIVE); - public Movie UserMovie = new Movie("", MOVIEMODE.INACTIVE); - public bool ReadOnly = true; //Global Movie Read only setting + //Movie variables + public Movie InputLog = new Movie("", MOVIEMODE.INACTIVE); + public Movie UserMovie = new Movie("", MOVIEMODE.INACTIVE); + public bool ReadOnly = true; //Global Movie Read only setting //the currently selected savestate slot private int SaveSlot = 0; @@ -38,11 +38,11 @@ namespace BizHawk.MultiClient int runloop_last_fps; bool runloop_frameadvance; DateTime runloop_second; - bool runloop_last_ff; - public string wasPressed = ""; //Last frame mnemonic - + bool runloop_last_ff; + public string wasPressed = ""; //Last frame mnemonic + Throttle throttle = new Throttle(); - bool unthrottled = false; + bool unthrottled = false; int rewindCredits; //For handling automatic pausing when entering the menu @@ -52,14 +52,14 @@ namespace BizHawk.MultiClient //tool dialogs public RamWatch RamWatch1 = new RamWatch(); public RamSearch RamSearch1 = new RamSearch(); - public HexEditor HexEditor1 = new HexEditor(); - public NESNameTableViewer NESNameTableViewer1 = new NESNameTableViewer(); - public NESPPU NESPPU1 = new NESPPU(); - public NESDebugger NESDebug1 = new NESDebugger(); - public Cheats Cheats1 = new Cheats(); - public ToolBox ToolBox1 = new ToolBox(); - public TI83KeyPad TI83KeyPad1 = new TI83KeyPad(); - public TAStudio TAStudio1 = new TAStudio(); + public HexEditor HexEditor1 = new HexEditor(); + public NESNameTableViewer NESNameTableViewer1 = new NESNameTableViewer(); + public NESPPU NESPPU1 = new NESPPU(); + public NESDebugger NESDebug1 = new NESDebugger(); + public Cheats Cheats1 = new Cheats(); + public ToolBox ToolBox1 = new ToolBox(); + public TI83KeyPad TI83KeyPad1 = new TI83KeyPad(); + public TAStudio TAStudio1 = new TAStudio(); public MainForm(string[] args) { @@ -67,9 +67,10 @@ namespace BizHawk.MultiClient //in order to allow late construction of this database, we hook up a delegate here to dearchive the data and provide it on demand //we could background thread this later instead if we wanted to be real clever - NES.BootGodDB.GetDatabaseBytes = () => { + NES.BootGodDB.GetDatabaseBytes = () => + { using (HawkFile NesCartFile = new HawkFile(PathManager.GetExePathAbsolute() + "\\NesCarts.7z").BindFirst()) - return Util.ReadAllBytes(NesCartFile.GetStream()); + return Util.ReadAllBytes(NesCartFile.GetStream()); }; Global.MainForm = this; @@ -84,13 +85,13 @@ namespace BizHawk.MultiClient DragDrop += FormDragDrop; }; - Closing += (o, e) => - { - CloseGame(); - InputLog.StopMovie(); - UserMovie.StopMovie(); - SaveConfig(); - }; + Closing += (o, e) => + { + CloseGame(); + InputLog.StopMovie(); + UserMovie.StopMovie(); + SaveConfig(); + }; ResizeBegin += (o, e) => { @@ -105,16 +106,16 @@ namespace BizHawk.MultiClient InitControls(); Global.Emulator = new NullEmulator(); - Global.ActiveController = Global.NullControls; + Global.ActiveController = Global.NullControls; Global.Sound = new Sound(Handle, Global.DSound); Global.Sound.StartSound(); //TODO - replace this with some kind of standard dictionary-yielding parser in a separate component string cmdRom = null; string cmdLoadState = null; - string cmdMovie = null; + string cmdMovie = null; for (int i = 0; i < args.Length; i++) - { + { //for some reason sometimes visual studio will pass this to us on the commandline. it makes no sense. if (args[i] == ">") { @@ -145,27 +146,27 @@ namespace BizHawk.MultiClient else if (Global.Config.AutoLoadMostRecentRom && !Global.Config.RecentRoms.IsEmpty()) LoadRomFromRecent(Global.Config.RecentRoms.GetRecentFileByPosition(0)); - if (cmdMovie != null) - { - Movie m = new Movie(cmdMovie, MOVIEMODE.PLAY); - ReadOnly = true; - StartNewMovie(m, false); - CreateNewInputLog(false); - UserMovie.StartPlayback(); - Global.Config.RecentMovies.Add(cmdMovie); - } - else if (Global.Config.AutoLoadMostRecentMovie && !Global.Config.RecentMovies.IsEmpty()) - { - Movie m = new Movie(Global.Config.RecentMovies.GetRecentFileByPosition(0), MOVIEMODE.PLAY); - ReadOnly = true; - StartNewMovie(m, false); - UserMovie.StartPlayback(); - CreateNewInputLog(false); - } - else - { - CreateNewInputLog(true); - } + if (cmdMovie != null) + { + Movie m = new Movie(cmdMovie, MOVIEMODE.PLAY); + ReadOnly = true; + StartNewMovie(m, false); + CreateNewInputLog(false); + UserMovie.StartPlayback(); + Global.Config.RecentMovies.Add(cmdMovie); + } + else if (Global.Config.AutoLoadMostRecentMovie && !Global.Config.RecentMovies.IsEmpty()) + { + Movie m = new Movie(Global.Config.RecentMovies.GetRecentFileByPosition(0), MOVIEMODE.PLAY); + ReadOnly = true; + StartNewMovie(m, false); + UserMovie.StartPlayback(); + CreateNewInputLog(false); + } + else + { + CreateNewInputLog(true); + } if (cmdLoadState != null && Global.Game != null) LoadState("QuickSave" + cmdLoadState); @@ -174,40 +175,40 @@ namespace BizHawk.MultiClient LoadRamWatch(); if (Global.Config.AutoLoadRamSearch) LoadRamSearch(); - if (Global.Config.AutoLoadHexEditor) - LoadHexEditor(); - if (Global.Config.AutoLoadCheats) - LoadCheatsWindow(); + if (Global.Config.AutoLoadHexEditor) + LoadHexEditor(); + if (Global.Config.AutoLoadCheats) + LoadCheatsWindow(); if (Global.Config.AutoLoadNESPPU && Global.Emulator is NES) - LoadNESPPU(); - if (Global.Config.AutoLoadNESNameTable && Global.Emulator is NES) - LoadNESNameTable(); - if (Global.Config.AutoLoadNESDebugger && Global.Emulator is NES) - LoadNESDebugger(); - if (Global.Config.NESGGAutoload && Global.Emulator is NES) - LoadGameGenieEC(); + LoadNESPPU(); + if (Global.Config.AutoLoadNESNameTable && Global.Emulator is NES) + LoadNESNameTable(); + if (Global.Config.AutoLoadNESDebugger && Global.Emulator is NES) + LoadNESDebugger(); + if (Global.Config.NESGGAutoload && Global.Emulator is NES) + LoadGameGenieEC(); if (Global.Config.MainWndx >= 0 && Global.Config.MainWndy >= 0 && Global.Config.SaveWindowPosition) this.Location = new Point(Global.Config.MainWndx, Global.Config.MainWndy); - if (Global.Config.DisplayStatusBar == false) - statusStrip1.Visible = false; - else - displayStatusBarToolStripMenuItem.Checked = true; + if (Global.Config.DisplayStatusBar == false) + statusStrip1.Visible = false; + else + displayStatusBarToolStripMenuItem.Checked = true; if (Global.Config.StartPaused) PauseEmulator(); } - void CreateNewInputLog(bool active) - { - MOVIEMODE m; - if (active) - m = MOVIEMODE.RECORD; - else - m = MOVIEMODE.INACTIVE; - InputLog = new Movie(PathManager.MakeAbsolutePath(Global.Config.MoviesPath, "") + "\\log.tas", m); - } + void CreateNewInputLog(bool active) + { + MOVIEMODE m; + if (active) + m = MOVIEMODE.RECORD; + else + m = MOVIEMODE.INACTIVE; + InputLog = new Movie(PathManager.MakeAbsolutePath(Global.Config.MoviesPath, "") + "\\log.tas", m); + } void SyncPresentationMode() { @@ -246,27 +247,27 @@ namespace BizHawk.MultiClient } } - void SyncThrottle() - { - throttle.signal_unthrottle = unthrottled; - if(Global.ClientControls["Fast Forward"]) - throttle.SetSpeedPercent(Global.Config.SpeedPercentAlternate); - else - throttle.SetSpeedPercent(Global.Config.SpeedPercent); - } + void SyncThrottle() + { + throttle.signal_unthrottle = unthrottled; + if (Global.ClientControls["Fast Forward"]) + throttle.SetSpeedPercent(Global.Config.SpeedPercentAlternate); + else + throttle.SetSpeedPercent(Global.Config.SpeedPercent); + } - void SetSpeedPercentAlternate(int value) - { - Global.Config.SpeedPercentAlternate = value; - SyncThrottle(); - Global.RenderPanel.AddMessage("Alternate Speed: " + value + "%"); - } + void SetSpeedPercentAlternate(int value) + { + Global.Config.SpeedPercentAlternate = value; + SyncThrottle(); + Global.RenderPanel.AddMessage("Alternate Speed: " + value + "%"); + } void SetSpeedPercent(int value) { Global.Config.SpeedPercent = value; - SyncThrottle(); - Global.RenderPanel.AddMessage("Speed: " + value + "%"); + SyncThrottle(); + Global.RenderPanel.AddMessage("Speed: " + value + "%"); } protected override void OnClosed(EventArgs e) @@ -279,13 +280,13 @@ namespace BizHawk.MultiClient { for (; ; ) { - Input.Update(); + Input.Update(); CheckHotkeys(); - + StepRunLoop_Core(); - if(!IsNullEmulator()) + if (!IsNullEmulator()) StepRunLoop_Throttle(); - + Render(); CheckMessages(); @@ -312,14 +313,14 @@ namespace BizHawk.MultiClient EmulatorPaused = false; } - public void TogglePause() - { - EmulatorPaused ^= true; - } + public void TogglePause() + { + EmulatorPaused ^= true; + } private void LoadRomFromRecent(string rom) { - bool r = LoadRom(rom); + bool r = LoadRom(rom); if (!r) { Global.Sound.StopSound(); @@ -330,23 +331,24 @@ namespace BizHawk.MultiClient } } - private void LoadMoviesFromRecent(string movie) - { - Movie m = new Movie(movie, MOVIEMODE.PLAY); - ReadOnly = true; - StartNewMovie(m, false); - /* - bool r = true; // LoadRom(rom); - if (!r) - { - Global.Sound.StopSound(); - DialogResult result = MessageBox.Show("Could not open " + movie + "\nRemove from list?", "File not found", MessageBoxButtons.YesNo, MessageBoxIcon.Error); - if (result == DialogResult.Yes) - Global.Config.RecentMovies.Remove(movie); - Global.Sound.StartSound(); - } - */ //TODO: make StartNewMovie or Movie constructor - } + private void LoadMoviesFromRecent(string movie) + { + Movie m = new Movie(movie, MOVIEMODE.PLAY); + ReadOnly = true; + StartNewMovie(m, false); + /* + bool r = true; // LoadRom(rom); + if (!r) + { + Global.Sound.StopSound(); + DialogResult result = MessageBox.Show("Could not open " + movie + "\nRemove from list?", "File not found", MessageBoxButtons.YesNo, MessageBoxIcon.Error); + if (result == DialogResult.Yes) + Global.Config.RecentMovies.Remove(movie); + Global.Sound.StartSound(); + } + */ + //TODO: make StartNewMovie or Movie constructor + } public static ControllerDefinition ClientControlsDef = new ControllerDefinition { @@ -369,7 +371,7 @@ namespace BizHawk.MultiClient controls.BindMulti("Hard Reset", Global.Config.HardResetBinding); controls.BindMulti("Emulator Pause", Global.Config.EmulatorPauseBinding); controls.BindMulti("Frame Advance", Global.Config.FrameAdvanceBinding); - controls.BindMulti("Unthrottle", Global.Config.UnthrottleBinding); + controls.BindMulti("Unthrottle", Global.Config.UnthrottleBinding); controls.BindMulti("Screenshot", Global.Config.ScreenshotBinding); controls.BindMulti("Toggle Fullscreen", Global.Config.ToggleFullscreenBinding); controls.BindMulti("Quick Save State", Global.Config.QuickSave); @@ -404,35 +406,35 @@ namespace BizHawk.MultiClient controls.BindMulti("LoadSlot7", Global.Config.LoadSlot7); controls.BindMulti("LoadSlot8", Global.Config.LoadSlot8); controls.BindMulti("LoadSlot9", Global.Config.LoadSlot9); - controls.BindMulti("ToolBox", Global.Config.ToolBox); - controls.BindMulti("Save Named State", Global.Config.SaveNamedState); - controls.BindMulti("Load Named State", Global.Config.LoadNamedState); - controls.BindMulti("Previous Slot", Global.Config.PreviousSlot); - controls.BindMulti("Next Slot", Global.Config.NextSlot); - controls.BindMulti("Ram Watch", Global.Config.RamWatch); - controls.BindMulti("Ram Search", Global.Config.RamSearch); - controls.BindMulti("Ram Poke", Global.Config.RamPoke); - controls.BindMulti("Hex Editor", Global.Config.HexEditor); - controls.BindMulti("Lua Console", Global.Config.LuaConsole); - controls.BindMulti("Cheats", Global.Config.Cheats); - controls.BindMulti("Open ROM", Global.Config.OpenROM); - controls.BindMulti("Close ROM", Global.Config.CloseROM); - controls.BindMulti("Display FPS", Global.Config.FPSBinding); - controls.BindMulti("Display FrameCounter", Global.Config.FrameCounterBinding); - controls.BindMulti("Display LagCounter", Global.Config.LagCounterBinding); - controls.BindMulti("Display Input", Global.Config.InputDisplayBinding); - controls.BindMulti("Toggle Read Only", Global.Config.ReadOnlyToggleBinding); - controls.BindMulti("Play Movie", Global.Config.PlayMovieBinding); - controls.BindMulti("Record Movie", Global.Config.RecordMovieBinding); - controls.BindMulti("Stop Movie", Global.Config.StopMovieBinding); - controls.BindMulti("Play Beginning", Global.Config.PlayBeginningBinding); - controls.BindMulti("Volume Up", Global.Config.VolUpBinding); - controls.BindMulti("Volume Down", Global.Config.VolDownBinding); + controls.BindMulti("ToolBox", Global.Config.ToolBox); + controls.BindMulti("Save Named State", Global.Config.SaveNamedState); + controls.BindMulti("Load Named State", Global.Config.LoadNamedState); + controls.BindMulti("Previous Slot", Global.Config.PreviousSlot); + controls.BindMulti("Next Slot", Global.Config.NextSlot); + controls.BindMulti("Ram Watch", Global.Config.RamWatch); + controls.BindMulti("Ram Search", Global.Config.RamSearch); + controls.BindMulti("Ram Poke", Global.Config.RamPoke); + controls.BindMulti("Hex Editor", Global.Config.HexEditor); + controls.BindMulti("Lua Console", Global.Config.LuaConsole); + controls.BindMulti("Cheats", Global.Config.Cheats); + controls.BindMulti("Open ROM", Global.Config.OpenROM); + controls.BindMulti("Close ROM", Global.Config.CloseROM); + controls.BindMulti("Display FPS", Global.Config.FPSBinding); + controls.BindMulti("Display FrameCounter", Global.Config.FrameCounterBinding); + controls.BindMulti("Display LagCounter", Global.Config.LagCounterBinding); + controls.BindMulti("Display Input", Global.Config.InputDisplayBinding); + controls.BindMulti("Toggle Read Only", Global.Config.ReadOnlyToggleBinding); + controls.BindMulti("Play Movie", Global.Config.PlayMovieBinding); + controls.BindMulti("Record Movie", Global.Config.RecordMovieBinding); + controls.BindMulti("Stop Movie", Global.Config.StopMovieBinding); + controls.BindMulti("Play Beginning", Global.Config.PlayBeginningBinding); + controls.BindMulti("Volume Up", Global.Config.VolUpBinding); + controls.BindMulti("Volume Down", Global.Config.VolDownBinding); Global.ClientControls = controls; - Global.NullControls = new Controller(NullEmulator.NullController); + Global.NullControls = new Controller(NullEmulator.NullController); var smsControls = new Controller(SMS.SmsController); smsControls.BindMulti("Reset", Global.Config.SmsReset); @@ -451,32 +453,32 @@ namespace BizHawk.MultiClient var pceControls = new Controller(PCEngine.PCEngineController); for (int i = 0; i < 5; i++) { - pceControls.BindMulti("P"+(i+1)+" Up", Global.Config.PCEController[i].Up); - pceControls.BindMulti("P"+(i+1)+" Down", Global.Config.PCEController[i].Down); - pceControls.BindMulti("P"+(i+1)+" Left", Global.Config.PCEController[i].Left); - pceControls.BindMulti("P"+(i+1)+" Right", Global.Config.PCEController[i].Right); + pceControls.BindMulti("P" + (i + 1) + " Up", Global.Config.PCEController[i].Up); + pceControls.BindMulti("P" + (i + 1) + " Down", Global.Config.PCEController[i].Down); + pceControls.BindMulti("P" + (i + 1) + " Left", Global.Config.PCEController[i].Left); + pceControls.BindMulti("P" + (i + 1) + " Right", Global.Config.PCEController[i].Right); - pceControls.BindMulti("P"+(i+1)+" B2", Global.Config.PCEController[i].II); - pceControls.BindMulti("P"+(i+1)+" B1", Global.Config.PCEController[i].I); - pceControls.BindMulti("P"+(i+1)+" Select", Global.Config.PCEController[i].Select); - pceControls.BindMulti("P"+(i+1)+" Run", Global.Config.PCEController[i].Run); + pceControls.BindMulti("P" + (i + 1) + " B2", Global.Config.PCEController[i].II); + pceControls.BindMulti("P" + (i + 1) + " B1", Global.Config.PCEController[i].I); + pceControls.BindMulti("P" + (i + 1) + " Select", Global.Config.PCEController[i].Select); + pceControls.BindMulti("P" + (i + 1) + " Run", Global.Config.PCEController[i].Run); } Global.PCEControls = pceControls; - var nesControls = new Controller(NES.NESController); + var nesControls = new Controller(NES.NESController); nesControls.BindMulti("Reset", Global.Config.NESReset); - for (int i = 0; i < 1 /*TODO*/; i++) - { - nesControls.BindMulti("Up", Global.Config.NESController[i].Up); - nesControls.BindMulti("Down", Global.Config.NESController[i].Down); - nesControls.BindMulti("Left", Global.Config.NESController[i].Left); - nesControls.BindMulti("Right", Global.Config.NESController[i].Right); - nesControls.BindMulti("A", Global.Config.NESController[i].A); - nesControls.BindMulti("B", Global.Config.NESController[i].B); - nesControls.BindMulti("Select", Global.Config.NESController[i].Select); - nesControls.BindMulti("Start", Global.Config.NESController[i].Start); - } - Global.NESControls = nesControls; + for (int i = 0; i < 1 /*TODO*/; i++) + { + nesControls.BindMulti("Up", Global.Config.NESController[i].Up); + nesControls.BindMulti("Down", Global.Config.NESController[i].Down); + nesControls.BindMulti("Left", Global.Config.NESController[i].Left); + nesControls.BindMulti("Right", Global.Config.NESController[i].Right); + nesControls.BindMulti("A", Global.Config.NESController[i].A); + nesControls.BindMulti("B", Global.Config.NESController[i].B); + nesControls.BindMulti("Select", Global.Config.NESController[i].Select); + nesControls.BindMulti("Start", Global.Config.NESController[i].Start); + } + Global.NESControls = nesControls; var genControls = new Controller(Genesis.GenesisController); genControls.BindMulti("P1 Up", Global.Config.GenP1Up); @@ -493,13 +495,13 @@ namespace BizHawk.MultiClient TI83Controls.BindMulti("0", Global.Config.TI83Controller[0]._0); //TODO numpad 4,8,6,2 (up/down/left/right) dont work in slimdx!! wtf!! TI83Controls.BindMulti("1", Global.Config.TI83Controller[0]._1); TI83Controls.BindMulti("2", Global.Config.TI83Controller[0]._2); - TI83Controls.BindMulti("3", Global.Config.TI83Controller[0]._3); - TI83Controls.BindMulti("4", Global.Config.TI83Controller[0]._4); - TI83Controls.BindMulti("5", Global.Config.TI83Controller[0]._5); - TI83Controls.BindMulti("6", Global.Config.TI83Controller[0]._6); - TI83Controls.BindMulti("7", Global.Config.TI83Controller[0]._7); - TI83Controls.BindMulti("8", Global.Config.TI83Controller[0]._8); - TI83Controls.BindMulti("9", Global.Config.TI83Controller[0]._9); + TI83Controls.BindMulti("3", Global.Config.TI83Controller[0]._3); + TI83Controls.BindMulti("4", Global.Config.TI83Controller[0]._4); + TI83Controls.BindMulti("5", Global.Config.TI83Controller[0]._5); + TI83Controls.BindMulti("6", Global.Config.TI83Controller[0]._6); + TI83Controls.BindMulti("7", Global.Config.TI83Controller[0]._7); + TI83Controls.BindMulti("8", Global.Config.TI83Controller[0]._8); + TI83Controls.BindMulti("9", Global.Config.TI83Controller[0]._9); TI83Controls.BindMulti("ON", Global.Config.TI83Controller[0].ON); TI83Controls.BindMulti("ENTER", Global.Config.TI83Controller[0].ENTER); TI83Controls.BindMulti("DOWN", Global.Config.TI83Controller[0].DOWN); @@ -512,113 +514,113 @@ namespace BizHawk.MultiClient TI83Controls.BindMulti("DIVIDE", Global.Config.TI83Controller[0].DIVIDE); TI83Controls.BindMulti("CLEAR", Global.Config.TI83Controller[0].CLEAR); TI83Controls.BindMulti("DOT", Global.Config.TI83Controller[0].DOT); - TI83Controls.BindMulti("EXP", Global.Config.TI83Controller[0].EXP); - TI83Controls.BindMulti("DASH", Global.Config.TI83Controller[0].DASH); - TI83Controls.BindMulti("PARACLOSE", Global.Config.TI83Controller[0].DASH); - TI83Controls.BindMulti("TAN", Global.Config.TI83Controller[0].TAN); - TI83Controls.BindMulti("VARS", Global.Config.TI83Controller[0].VARS); - TI83Controls.BindMulti("PARAOPEN", Global.Config.TI83Controller[0].PARAOPEN); - TI83Controls.BindMulti("COS", Global.Config.TI83Controller[0].COS); - TI83Controls.BindMulti("PRGM", Global.Config.TI83Controller[0].PRGM); - TI83Controls.BindMulti("STAT", Global.Config.TI83Controller[0].STAT); - TI83Controls.BindMulti("COMMA", Global.Config.TI83Controller[0].COMMA); - TI83Controls.BindMulti("SIN", Global.Config.TI83Controller[0].SIN); - TI83Controls.BindMulti("MATRIX", Global.Config.TI83Controller[0].MATRIX); - TI83Controls.BindMulti("X", Global.Config.TI83Controller[0].X); - TI83Controls.BindMulti("STO", Global.Config.TI83Controller[0].STO); - TI83Controls.BindMulti("LN", Global.Config.TI83Controller[0].LN); - TI83Controls.BindMulti("LOG", Global.Config.TI83Controller[0].LOG); - TI83Controls.BindMulti("SQUARED", Global.Config.TI83Controller[0].SQUARED); - TI83Controls.BindMulti("NEG1", Global.Config.TI83Controller[0].NEG1); - TI83Controls.BindMulti("MATH", Global.Config.TI83Controller[0].MATH); - TI83Controls.BindMulti("ALPHA", Global.Config.TI83Controller[0].ALPHA); - TI83Controls.BindMulti("GRAPH", Global.Config.TI83Controller[0].GRAPH); - TI83Controls.BindMulti("TRACE", Global.Config.TI83Controller[0].TRACE); - TI83Controls.BindMulti("ZOOM", Global.Config.TI83Controller[0].ZOOM); - TI83Controls.BindMulti("WINDOW", Global.Config.TI83Controller[0].WINDOW); - TI83Controls.BindMulti("Y", Global.Config.TI83Controller[0].Y); - TI83Controls.BindMulti("2ND", Global.Config.TI83Controller[0].SECOND); - TI83Controls.BindMulti("MODE", Global.Config.TI83Controller[0].MODE); - TI83Controls.BindMulti("DEL", Global.Config.TI83Controller[0].DEL); - TI83Controls.BindMulti("DEL", Global.Config.TI83Controller[0].COMMA); - TI83Controls.BindMulti("DEL", Global.Config.TI83Controller[0].SIN); + TI83Controls.BindMulti("EXP", Global.Config.TI83Controller[0].EXP); + TI83Controls.BindMulti("DASH", Global.Config.TI83Controller[0].DASH); + TI83Controls.BindMulti("PARACLOSE", Global.Config.TI83Controller[0].DASH); + TI83Controls.BindMulti("TAN", Global.Config.TI83Controller[0].TAN); + TI83Controls.BindMulti("VARS", Global.Config.TI83Controller[0].VARS); + TI83Controls.BindMulti("PARAOPEN", Global.Config.TI83Controller[0].PARAOPEN); + TI83Controls.BindMulti("COS", Global.Config.TI83Controller[0].COS); + TI83Controls.BindMulti("PRGM", Global.Config.TI83Controller[0].PRGM); + TI83Controls.BindMulti("STAT", Global.Config.TI83Controller[0].STAT); + TI83Controls.BindMulti("COMMA", Global.Config.TI83Controller[0].COMMA); + TI83Controls.BindMulti("SIN", Global.Config.TI83Controller[0].SIN); + TI83Controls.BindMulti("MATRIX", Global.Config.TI83Controller[0].MATRIX); + TI83Controls.BindMulti("X", Global.Config.TI83Controller[0].X); + TI83Controls.BindMulti("STO", Global.Config.TI83Controller[0].STO); + TI83Controls.BindMulti("LN", Global.Config.TI83Controller[0].LN); + TI83Controls.BindMulti("LOG", Global.Config.TI83Controller[0].LOG); + TI83Controls.BindMulti("SQUARED", Global.Config.TI83Controller[0].SQUARED); + TI83Controls.BindMulti("NEG1", Global.Config.TI83Controller[0].NEG1); + TI83Controls.BindMulti("MATH", Global.Config.TI83Controller[0].MATH); + TI83Controls.BindMulti("ALPHA", Global.Config.TI83Controller[0].ALPHA); + TI83Controls.BindMulti("GRAPH", Global.Config.TI83Controller[0].GRAPH); + TI83Controls.BindMulti("TRACE", Global.Config.TI83Controller[0].TRACE); + TI83Controls.BindMulti("ZOOM", Global.Config.TI83Controller[0].ZOOM); + TI83Controls.BindMulti("WINDOW", Global.Config.TI83Controller[0].WINDOW); + TI83Controls.BindMulti("Y", Global.Config.TI83Controller[0].Y); + TI83Controls.BindMulti("2ND", Global.Config.TI83Controller[0].SECOND); + TI83Controls.BindMulti("MODE", Global.Config.TI83Controller[0].MODE); + TI83Controls.BindMulti("DEL", Global.Config.TI83Controller[0].DEL); + TI83Controls.BindMulti("DEL", Global.Config.TI83Controller[0].COMMA); + TI83Controls.BindMulti("DEL", Global.Config.TI83Controller[0].SIN); Global.TI83Controls = TI83Controls; } - private static void FormDragEnter(object sender, DragEventArgs e) + private static void FormDragEnter(object sender, DragEventArgs e) { e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None; } - private bool IsValidMovieExtension(string ext) - { - switch (ext.ToUpper()) - { - case ".TAS": //Bizhawk - case ".FM2": //FCUEX - case ".MC2": //PCEjin - //case ".STATE": //Savestates - // return true; - default: - return false; - } - } + private bool IsValidMovieExtension(string ext) + { + switch (ext.ToUpper()) + { + case ".TAS": //Bizhawk + case ".FM2": //FCUEX + case ".MC2": //PCEjin + //case ".STATE": //Savestates + // return true; + default: + return false; + } + } private void FormDragDrop(object sender, DragEventArgs e) { string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop); - if (IsValidMovieExtension(Path.GetExtension(filePaths[0]))) - { - Movie m = new Movie(filePaths[0], MOVIEMODE.PLAY); - StartNewMovie(m, false); + if (IsValidMovieExtension(Path.GetExtension(filePaths[0]))) + { + Movie m = new Movie(filePaths[0], MOVIEMODE.PLAY); + StartNewMovie(m, false); - } - else if (Path.GetExtension(filePaths[0]).ToUpper() == ".STATE") - LoadStateFile(filePaths[0], Path.GetFileName(filePaths[0])); - else if (Path.GetExtension(filePaths[0]).ToUpper() == ".CHT") - { - LoadCheatsWindow(); - Cheats1.LoadCheatFile(filePaths[0], false); - Cheats1.DisplayCheatsList(); - } - else if (Path.GetExtension(filePaths[0]).ToUpper() == ".WCH") - { - LoadRamWatch(); - RamWatch1.LoadWatchFile(filePaths[0], false); - RamWatch1.DisplayWatchList(); - } - else if (Path.GetExtension(filePaths[0]).ToUpper() == ".FCM") - { - //TODO: error checking of some kind and don't play on error - LoadRom(CurrentlyOpenRom); - UserMovie = MovieConvert.ConvertFCM(filePaths[0]); - UserMovie.StartPlayback(); + } + else if (Path.GetExtension(filePaths[0]).ToUpper() == ".STATE") + LoadStateFile(filePaths[0], Path.GetFileName(filePaths[0])); + else if (Path.GetExtension(filePaths[0]).ToUpper() == ".CHT") + { + LoadCheatsWindow(); + Cheats1.LoadCheatFile(filePaths[0], false); + Cheats1.DisplayCheatsList(); + } + else if (Path.GetExtension(filePaths[0]).ToUpper() == ".WCH") + { + LoadRamWatch(); + RamWatch1.LoadWatchFile(filePaths[0], false); + RamWatch1.DisplayWatchList(); + } + else if (Path.GetExtension(filePaths[0]).ToUpper() == ".FCM") + { + //TODO: error checking of some kind and don't play on error + LoadRom(CurrentlyOpenRom); + UserMovie = MovieConvert.ConvertFCM(filePaths[0]); + UserMovie.StartPlayback(); - } - else if (Path.GetExtension(filePaths[0]).ToUpper() == ".SMV") - { - //TODO: error checking of some kind and don't play on error - LoadRom(CurrentlyOpenRom); - UserMovie = MovieConvert.ConvertSMV(filePaths[0]); - UserMovie.StartPlayback(); + } + else if (Path.GetExtension(filePaths[0]).ToUpper() == ".SMV") + { + //TODO: error checking of some kind and don't play on error + LoadRom(CurrentlyOpenRom); + UserMovie = MovieConvert.ConvertSMV(filePaths[0]); + UserMovie.StartPlayback(); - } - else if (Path.GetExtension(filePaths[0]).ToUpper() == ".MMV") - { - //TODO: error checking of some kind and don't play on error - LoadRom(CurrentlyOpenRom); - UserMovie = MovieConvert.ConvertMMV(filePaths[0]); - UserMovie.StartPlayback(); - } - else if (Path.GetExtension(filePaths[0]).ToUpper() == ".VBM") - { - //TODO: error checking of some kind and don't play on error - LoadRom(CurrentlyOpenRom); - UserMovie = MovieConvert.ConvertVBM(filePaths[0]); - UserMovie.StartPlayback(); - } - else - LoadRom(filePaths[0]); + } + else if (Path.GetExtension(filePaths[0]).ToUpper() == ".MMV") + { + //TODO: error checking of some kind and don't play on error + LoadRom(CurrentlyOpenRom); + UserMovie = MovieConvert.ConvertMMV(filePaths[0]); + UserMovie.StartPlayback(); + } + else if (Path.GetExtension(filePaths[0]).ToUpper() == ".VBM") + { + //TODO: error checking of some kind and don't play on error + LoadRom(CurrentlyOpenRom); + UserMovie = MovieConvert.ConvertVBM(filePaths[0]); + UserMovie.StartPlayback(); + } + else + LoadRom(filePaths[0]); } public bool IsNullEmulator() @@ -646,64 +648,64 @@ namespace BizHawk.MultiClient return ""; } - private void HandlePlatformMenus() - { + private void HandlePlatformMenus() + { string system = ""; if (Global.Game != null) system = Global.Game.System; - switch (system) - { - case "TI83": - tI83ToolStripMenuItem.Visible = true; - NESToolStripMenuItem.Visible = false; - break; - case "NES": - NESToolStripMenuItem.Visible = true; - tI83ToolStripMenuItem.Visible = false; - break; - default: - tI83ToolStripMenuItem.Visible = false; - NESToolStripMenuItem.Visible = false; - break; - } - } + switch (system) + { + case "TI83": + tI83ToolStripMenuItem.Visible = true; + NESToolStripMenuItem.Visible = false; + break; + case "NES": + NESToolStripMenuItem.Visible = true; + tI83ToolStripMenuItem.Visible = false; + break; + default: + tI83ToolStripMenuItem.Visible = false; + NESToolStripMenuItem.Visible = false; + break; + } + } void SyncControls() { - if (Global.Game == null) return; - switch (Global.Game.System) + if (Global.Game == null) return; + switch (Global.Game.System) { - - case "SG": + + case "SG": case "SMS": - Global.ActiveController = Global.SMSControls; + Global.ActiveController = Global.SMSControls; break; case "GG": - Global.ActiveController = Global.SMSControls; + Global.ActiveController = Global.SMSControls; break; case "PCE": - Global.ActiveController = Global.PCEControls; + Global.ActiveController = Global.PCEControls; break; case "SGX": - Global.ActiveController = Global.PCEControls; + Global.ActiveController = Global.PCEControls; break; case "GEN": - Global.ActiveController = Global.GenControls; + Global.ActiveController = Global.GenControls; break; case "TI83": - Global.ActiveController = Global.TI83Controls; + Global.ActiveController = Global.TI83Controls; break; case "NES": - Global.ActiveController = Global.NESControls; + Global.ActiveController = Global.NESControls; break; case "GB": break; - default: - Global.ActiveController = Global.NullControls; - break; + default: + Global.ActiveController = Global.NullControls; + break; } - Global.Emulator.Controller = Global.ActiveController; - Global.ActiveController.MovieMode = false; + Global.Emulator.Controller = Global.ActiveController; + Global.ActiveController.MovieMode = false; } public bool LoadRom(string path) @@ -755,17 +757,16 @@ namespace BizHawk.MultiClient break; case "TI83": nextEmulator = new TI83(); - if (Global.Config.TI83autoloadKeyPad) - LoadTI83KeyPad(); + if (Global.Config.TI83autoloadKeyPad) + LoadTI83KeyPad(); break; case "NES": { NES nes = new NES(); nextEmulator = nes; - string palette_file = @"C:\svn\fceux\fceu\output\palettes\FCEU-15-nitsuja_new.pal"; - if (HawkFile.ExistsAt(palette_file)) + if (Global.Config.NESAutoLoadPalette && HawkFile.ExistsAt(Global.Config.NESPaletteFile)) { - nes.SetPalette(NES.Palettes.Load_FCEUX_Palette(HawkFile.ReadAllBytes(palette_file))); + nes.SetPalette(NES.Palettes.Load_FCEUX_Palette(HawkFile.ReadAllBytes(Global.Config.NESPaletteFile))); } } break; @@ -783,14 +784,14 @@ namespace BizHawk.MultiClient { nextEmulator.LoadGame(game); } - catch(Exception ex) + catch (Exception ex) { MessageBox.Show("Exception during loadgame:\n\n" + ex.ToString()); return false; } CloseGame(); - Global.Emulator.Dispose(); + Global.Emulator.Dispose(); Global.Emulator = nextEmulator; Global.Game = game; SyncControls(); @@ -811,12 +812,12 @@ namespace BizHawk.MultiClient new BizHawk.Emulation.Consoles.Gameboy.Debugger(Global.Emulator as Gameboy).Show(); } - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) - { - InputLog.SetHeaderLine(MovieHeader.PLATFORM, Global.Emulator.SystemId); - CreateNewInputLog(true); - } - + if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + { + InputLog.SetHeaderLine(MovieHeader.PLATFORM, Global.Emulator.SystemId); + CreateNewInputLog(true); + } + //setup the throttle based on platform's specifications //(one day later for some systems we will need to modify it at runtime as the display mode changes) { @@ -824,23 +825,23 @@ namespace BizHawk.MultiClient if (o is double) throttle.SetCoreFps((double)o); else throttle.SetCoreFps(60); - SyncThrottle(); + SyncThrottle(); } RamSearch1.Restart(); - RamWatch1.Restart(); + RamWatch1.Restart(); HexEditor1.Restart(); - NESPPU1.Restart(); - NESNameTableViewer1.Restart(); - NESDebug1.Restart(); - TI83KeyPad1.Restart(); - if (Global.Config.LoadCheatFileByGame) - { - if (Cheats1.AttemptLoadCheatFile()) - Global.RenderPanel.AddMessage("Cheats file loaded"); - } - Cheats1.Restart(); + NESPPU1.Restart(); + NESNameTableViewer1.Restart(); + NESDebug1.Restart(); + TI83KeyPad1.Restart(); + if (Global.Config.LoadCheatFileByGame) + { + if (Cheats1.AttemptLoadCheatFile()) + Global.RenderPanel.AddMessage("Cheats file loaded"); + } + Cheats1.Restart(); CurrentlyOpenRom = path; - HandlePlatformMenus(); + HandlePlatformMenus(); return true; } } @@ -866,250 +867,250 @@ namespace BizHawk.MultiClient writer.Write(Global.Emulator.SaveRam, 0, len); writer.Close(); } - Global.Emulator.Dispose(); + Global.Emulator.Dispose(); Global.Emulator = new NullEmulator(); - Global.ActiveController = Global.NullControls; - UserMovie.StopMovie(); - InputLog.StopMovie(); + Global.ActiveController = Global.NullControls; + UserMovie.StopMovie(); + InputLog.StopMovie(); } [System.Security.SuppressUnmanagedCodeSecurity, DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern bool PeekMessage(out Message msg, IntPtr hWnd, UInt32 msgFilterMin, UInt32 msgFilterMax, UInt32 flags); public void CheckHotkeys() - { - if (Global.ClientControls["ToolBox"]) - { - LoadToolBox(); - Global.ClientControls.UnpressButton("ToolBox"); - } + { + if (Global.ClientControls["ToolBox"]) + { + LoadToolBox(); + Global.ClientControls.UnpressButton("ToolBox"); + } - if (Global.ClientControls["Quick Save State"]) - { - if (!IsNullEmulator()) - SaveState("QuickSave" + SaveSlot.ToString()); - Global.ClientControls.UnpressButton("Quick Save State"); - } + if (Global.ClientControls["Quick Save State"]) + { + if (!IsNullEmulator()) + SaveState("QuickSave" + SaveSlot.ToString()); + Global.ClientControls.UnpressButton("Quick Save State"); + } - if (Global.ClientControls["Quick Load State"]) - { - if (!IsNullEmulator()) - LoadState("QuickSave" + SaveSlot.ToString()); - Global.ClientControls.UnpressButton("Quick Load State"); - } + if (Global.ClientControls["Quick Load State"]) + { + if (!IsNullEmulator()) + LoadState("QuickSave" + SaveSlot.ToString()); + Global.ClientControls.UnpressButton("Quick Load State"); + } - //the pause hotkey is ignored when we are frame advancing - if (!Global.ClientControls.IsPressed("Frame Advance")) - { - if (Global.ClientControls["Emulator Pause"]) - { - Global.ClientControls.UnpressButton("Emulator Pause"); - if (EmulatorPaused) - UnpauseEmulator(); - else - PauseEmulator(); - } - } + //the pause hotkey is ignored when we are frame advancing + if (!Global.ClientControls.IsPressed("Frame Advance")) + { + if (Global.ClientControls["Emulator Pause"]) + { + Global.ClientControls.UnpressButton("Emulator Pause"); + if (EmulatorPaused) + UnpauseEmulator(); + else + PauseEmulator(); + } + } - if (Global.ClientControls.IsPressed("Unthrottle")) - { - Global.ClientControls.UnpressButton("Unthrottle"); - unthrottled ^= true; - Global.RenderPanel.AddMessage("Unthrottled: " + unthrottled); - } + if (Global.ClientControls.IsPressed("Unthrottle")) + { + Global.ClientControls.UnpressButton("Unthrottle"); + unthrottled ^= true; + Global.RenderPanel.AddMessage("Unthrottled: " + unthrottled); + } - if (Global.ClientControls["Hard Reset"]) - { - Global.ClientControls.UnpressButton("Hard Reset"); - LoadRom(CurrentlyOpenRom); - } + if (Global.ClientControls["Hard Reset"]) + { + Global.ClientControls.UnpressButton("Hard Reset"); + LoadRom(CurrentlyOpenRom); + } - if (Global.ClientControls["Screenshot"]) - { - Global.ClientControls.UnpressButton("Screenshot"); - TakeScreenshot(); - } + if (Global.ClientControls["Screenshot"]) + { + Global.ClientControls.UnpressButton("Screenshot"); + TakeScreenshot(); + } - for (int i = 0; i < 10; i++) - { - if (Global.ClientControls["SaveSlot" + i.ToString()]) - { - if (!IsNullEmulator()) - SaveState("QuickSave" + i.ToString()); - Global.ClientControls.UnpressButton("LoadSlot" + i.ToString()); - Global.ClientControls.UnpressButton("SaveSlot" + i.ToString()); - } - } - for (int i = 0; i < 10; i++) - { - if (Global.ClientControls["LoadSlot" + i.ToString()]) - { - if (!IsNullEmulator()) - LoadState("QuickSave" + i.ToString()); - Global.ClientControls.UnpressButton("LoadSlot" + i.ToString()); - Global.ClientControls.UnpressButton("SaveSlot" + i.ToString()); - } - } - for (int i = 0; i < 10; i++) - { - if (Global.ClientControls["SelectSlot" + i.ToString()]) - { - SaveSlot = i; - SaveSlotSelectedMessage(); - Global.ClientControls.UnpressButton("SelectSlot" + i.ToString()); - } - } + for (int i = 0; i < 10; i++) + { + if (Global.ClientControls["SaveSlot" + i.ToString()]) + { + if (!IsNullEmulator()) + SaveState("QuickSave" + i.ToString()); + Global.ClientControls.UnpressButton("LoadSlot" + i.ToString()); + Global.ClientControls.UnpressButton("SaveSlot" + i.ToString()); + } + } + for (int i = 0; i < 10; i++) + { + if (Global.ClientControls["LoadSlot" + i.ToString()]) + { + if (!IsNullEmulator()) + LoadState("QuickSave" + i.ToString()); + Global.ClientControls.UnpressButton("LoadSlot" + i.ToString()); + Global.ClientControls.UnpressButton("SaveSlot" + i.ToString()); + } + } + for (int i = 0; i < 10; i++) + { + if (Global.ClientControls["SelectSlot" + i.ToString()]) + { + SaveSlot = i; + SaveSlotSelectedMessage(); + Global.ClientControls.UnpressButton("SelectSlot" + i.ToString()); + } + } - if (Global.ClientControls["Toggle Fullscreen"]) - { - Global.ClientControls.UnpressButton("Toggle Fullscreen"); - ToggleFullscreen(); - } + if (Global.ClientControls["Toggle Fullscreen"]) + { + Global.ClientControls.UnpressButton("Toggle Fullscreen"); + ToggleFullscreen(); + } - if (Global.ClientControls["Save Named State"]) - { - SaveStateAs(); - Global.ClientControls.UnpressButton("Save Named State"); - } + if (Global.ClientControls["Save Named State"]) + { + SaveStateAs(); + Global.ClientControls.UnpressButton("Save Named State"); + } - if (Global.ClientControls["Load Named State"]) - { - LoadStateAs(); - Global.ClientControls.UnpressButton("Load Named State"); - } + if (Global.ClientControls["Load Named State"]) + { + LoadStateAs(); + Global.ClientControls.UnpressButton("Load Named State"); + } - if (Global.ClientControls["Previous Slot"]) - { - PreviousSlot(); - Global.ClientControls.UnpressButton("Previous Slot"); - } + if (Global.ClientControls["Previous Slot"]) + { + PreviousSlot(); + Global.ClientControls.UnpressButton("Previous Slot"); + } - if (Global.ClientControls["Next Slot"]) - { - NextSlot(); - Global.ClientControls.UnpressButton("Next Slot"); - } + if (Global.ClientControls["Next Slot"]) + { + NextSlot(); + Global.ClientControls.UnpressButton("Next Slot"); + } - if (Global.ClientControls["Ram Watch"]) - { - LoadRamWatch(); - Global.ClientControls.UnpressButton("Ram Watch"); - } + if (Global.ClientControls["Ram Watch"]) + { + LoadRamWatch(); + Global.ClientControls.UnpressButton("Ram Watch"); + } - if (Global.ClientControls["Ram Search"]) - { - LoadRamSearch(); - Global.ClientControls.UnpressButton("Ram Search"); - } + if (Global.ClientControls["Ram Search"]) + { + LoadRamSearch(); + Global.ClientControls.UnpressButton("Ram Search"); + } - if (Global.ClientControls["Ram Poke"]) - { - RamPoke r = new RamPoke(); - r.Show(); - Global.ClientControls.UnpressButton("Ram Poke"); - } + if (Global.ClientControls["Ram Poke"]) + { + RamPoke r = new RamPoke(); + r.Show(); + Global.ClientControls.UnpressButton("Ram Poke"); + } - if (Global.ClientControls["Hex Editor"]) - { - LoadHexEditor(); - Global.ClientControls.UnpressButton("Hex Editor"); - } + if (Global.ClientControls["Hex Editor"]) + { + LoadHexEditor(); + Global.ClientControls.UnpressButton("Hex Editor"); + } - if (Global.ClientControls["Lua Console"]) - { - var window = new BizHawk.MultiClient.tools.LuaWindow(); - window.Show(); - Global.ClientControls.UnpressButton("Lua Console"); - } + if (Global.ClientControls["Lua Console"]) + { + var window = new BizHawk.MultiClient.tools.LuaWindow(); + window.Show(); + Global.ClientControls.UnpressButton("Lua Console"); + } - if (Global.ClientControls["Cheats"]) - { - LoadCheatsWindow(); - Global.ClientControls.UnpressButton("Cheats"); - } + if (Global.ClientControls["Cheats"]) + { + LoadCheatsWindow(); + Global.ClientControls.UnpressButton("Cheats"); + } - if (Global.ClientControls["Open ROM"]) - { - OpenROM(); - Global.ClientControls.UnpressButton("Open ROM"); - } + if (Global.ClientControls["Open ROM"]) + { + OpenROM(); + Global.ClientControls.UnpressButton("Open ROM"); + } - if (Global.ClientControls["Close ROM"]) - { - CloseROM(); - Global.ClientControls.UnpressButton("Close ROM"); - } - //"Display LagCounter", "Display Input"} - if (Global.ClientControls["Display FPS"]) - { - ToggleFPS(); - Global.ClientControls.UnpressButton("Display FPS"); - } + if (Global.ClientControls["Close ROM"]) + { + CloseROM(); + Global.ClientControls.UnpressButton("Close ROM"); + } + //"Display LagCounter", "Display Input"} + if (Global.ClientControls["Display FPS"]) + { + ToggleFPS(); + Global.ClientControls.UnpressButton("Display FPS"); + } - if (Global.ClientControls["Display FrameCounter"]) - { - ToggleFrameCounter(); - Global.ClientControls.UnpressButton("Display FrameCounter"); - } + if (Global.ClientControls["Display FrameCounter"]) + { + ToggleFrameCounter(); + Global.ClientControls.UnpressButton("Display FrameCounter"); + } - if (Global.ClientControls["Display LagCounter"]) - { - ToggleLagCounter(); - Global.ClientControls.UnpressButton("Display LagCounter"); - } + if (Global.ClientControls["Display LagCounter"]) + { + ToggleLagCounter(); + Global.ClientControls.UnpressButton("Display LagCounter"); + } - if (Global.ClientControls["Display Input"]) - { - ToggleInputDisplay(); - Global.ClientControls.UnpressButton("Display Input"); - } + if (Global.ClientControls["Display Input"]) + { + ToggleInputDisplay(); + Global.ClientControls.UnpressButton("Display Input"); + } - if (Global.ClientControls["Toggle Read Only"]) - { - ToggleReadOnly(); - Global.ClientControls.UnpressButton("Toggle Read Only"); - } + if (Global.ClientControls["Toggle Read Only"]) + { + ToggleReadOnly(); + Global.ClientControls.UnpressButton("Toggle Read Only"); + } - if (Global.ClientControls["Play Movie"]) - { - PlayMovie(); - Global.ClientControls.UnpressButton("Play Movie"); - } + if (Global.ClientControls["Play Movie"]) + { + PlayMovie(); + Global.ClientControls.UnpressButton("Play Movie"); + } - if (Global.ClientControls["Record Movie"]) - { - RecordMovie(); - Global.ClientControls.UnpressButton("Record Movie"); - } + if (Global.ClientControls["Record Movie"]) + { + RecordMovie(); + Global.ClientControls.UnpressButton("Record Movie"); + } - if (Global.ClientControls["Stop Movie"]) - { - StopUserMovie(); - Global.ClientControls.UnpressButton("Stop Movie"); - } + if (Global.ClientControls["Stop Movie"]) + { + StopUserMovie(); + Global.ClientControls.UnpressButton("Stop Movie"); + } - if (Global.ClientControls["Play Beginning"]) - { - PlayMovieFromBeginning(); - Global.ClientControls.UnpressButton("Play Beginning"); - } + if (Global.ClientControls["Play Beginning"]) + { + PlayMovieFromBeginning(); + Global.ClientControls.UnpressButton("Play Beginning"); + } - if (Global.ClientControls["Volume Up"]) - { - VolumeUp(); - Global.ClientControls.UnpressButton("Volume Up"); - } + if (Global.ClientControls["Volume Up"]) + { + VolumeUp(); + Global.ClientControls.UnpressButton("Volume Up"); + } + + if (Global.ClientControls["Volume Down"]) + { + VolumeDown(); + Global.ClientControls.UnpressButton("Volume Down"); + } + } - if (Global.ClientControls["Volume Down"]) - { - VolumeDown(); - Global.ClientControls.UnpressButton("Volume Down"); - } - } - void StepRunLoop_Throttle() { - SyncThrottle(); + SyncThrottle(); throttle.signal_frameAdvance = runloop_frameadvance; throttle.signal_continuousframeAdvancing = runloop_frameProgress; @@ -1118,7 +1119,7 @@ namespace BizHawk.MultiClient void StepRunLoop_Core() { - bool runFrame = false; + bool runFrame = false; runloop_frameadvance = false; DateTime now = DateTime.Now; bool suppressCaptureRewind = false; @@ -1159,7 +1160,7 @@ namespace BizHawk.MultiClient FrameAdvanceTimestamp = DateTime.MinValue; } - + if (!EmulatorPaused) { runFrame = true; @@ -1188,7 +1189,7 @@ namespace BizHawk.MultiClient bool ff = Global.ClientControls["Fast Forward"]; bool updateFpsString = (runloop_last_ff != ff); runloop_last_ff = ff; - + if ((DateTime.Now - runloop_second).TotalSeconds > 1) { runloop_last_fps = runloop_fps; @@ -1204,41 +1205,41 @@ namespace BizHawk.MultiClient Global.RenderPanel.FPS = fps_string; } - if(!suppressCaptureRewind && Global.Config.RewindEnabled) CaptureRewindState(); + if (!suppressCaptureRewind && Global.Config.RewindEnabled) CaptureRewindState(); if (!runloop_frameadvance) genSound = true; else if (!Global.Config.MuteFrameAdvance) genSound = true; - - if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY) - { - if (UserMovie.GetMovieLength() == Global.Emulator.Frame) - { - UserMovie.SetMovieFinished(); - Global.ActiveController.MovieMode = false; - } - else - Global.ActiveController.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame) + 1); - } - - if (UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) - { - if (UserMovie.GetMovieLength() > Global.Emulator.Frame) - { - UserMovie.StartPlayback(); - Global.ActiveController.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame) + 1); - } - } + + if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY) + { + if (UserMovie.GetMovieLength() == Global.Emulator.Frame) + { + UserMovie.SetMovieFinished(); + Global.ActiveController.MovieMode = false; + } + else + Global.ActiveController.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame) + 1); + } + + if (UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) + { + if (UserMovie.GetMovieLength() > Global.Emulator.Frame) + { + UserMovie.StartPlayback(); + Global.ActiveController.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame) + 1); + } + } Global.Emulator.FrameAdvance(!throttle.skipnextframe); RamWatch1.UpdateValues(); RamSearch1.UpdateValues(); - HexEditor1.UpdateValues(); - NESNameTableViewer1.UpdateValues(); - NESPPU1.UpdateValues(); + HexEditor1.UpdateValues(); + NESNameTableViewer1.UpdateValues(); + NESPPU1.UpdateValues(); - if (UserMovie.GetMovieMode() == MOVIEMODE.RECORD) - UserMovie.GetMnemonic(); - else if (InputLog.GetMovieMode() == MOVIEMODE.RECORD) - InputLog.GetMnemonic(); + if (UserMovie.GetMovieMode() == MOVIEMODE.RECORD) + UserMovie.GetMnemonic(); + else if (InputLog.GetMovieMode() == MOVIEMODE.RECORD) + InputLog.GetMnemonic(); } if (genSound) @@ -1247,39 +1248,39 @@ namespace BizHawk.MultiClient Global.Sound.UpdateSound(NullSound.SilenceProvider); } - private void MakeScreenshot(string path) - { - var video = Global.Emulator.VideoProvider; - var image = new Bitmap(video.BufferWidth, video.BufferHeight, PixelFormat.Format32bppArgb); + private void MakeScreenshot(string path) + { + var video = Global.Emulator.VideoProvider; + var image = new Bitmap(video.BufferWidth, video.BufferHeight, PixelFormat.Format32bppArgb); - var framebuf = video.GetVideoBuffer(); - for (int y = 0; y < video.BufferHeight; y++) - for (int x = 0; x < video.BufferWidth; x++) - image.SetPixel(x, y, Color.FromArgb(framebuf[(y * video.BufferWidth) + x])); + var framebuf = video.GetVideoBuffer(); + for (int y = 0; y < video.BufferHeight; y++) + for (int x = 0; x < video.BufferWidth; x++) + image.SetPixel(x, y, Color.FromArgb(framebuf[(y * video.BufferWidth) + x])); - var f = new FileInfo(path); - if (f.Directory.Exists == false) - f.Directory.Create(); + var f = new FileInfo(path); + if (f.Directory.Exists == false) + f.Directory.Create(); - Global.RenderPanel.AddMessage(f.Name + " saved."); + Global.RenderPanel.AddMessage(f.Name + " saved."); - image.Save(f.FullName, ImageFormat.Png); - } + image.Save(f.FullName, ImageFormat.Png); + } private void TakeScreenshot() { MakeScreenshot(String.Format(Global.Game.ScreenshotPrefix + ".{0:yyyy-MM-dd HH.mm.ss}.png", DateTime.Now)); } - private void HandleMovieSaveState(StreamWriter writer) - { - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) - { - UserMovie.DumpLogIntoSavestateText(writer); - } - else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) - InputLog.DumpLogIntoSavestateText(writer); - } + private void HandleMovieSaveState(StreamWriter writer) + { + if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + { + UserMovie.DumpLogIntoSavestateText(writer); + } + else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + InputLog.DumpLogIntoSavestateText(writer); + } private void SaveState(string name) { @@ -1291,124 +1292,124 @@ namespace BizHawk.MultiClient var writer = new StreamWriter(path); Global.Emulator.SaveStateText(writer); - HandleMovieSaveState(writer); + HandleMovieSaveState(writer); writer.Close(); Global.RenderPanel.AddMessage("Saved state: " + name); } - private void SaveStateAs() - { - var sfd = new SaveFileDialog(); - string path = Global.Game.SaveStatePrefix; - sfd.InitialDirectory = path; - sfd.FileName = "QuickSave0.State"; - var file = new FileInfo(path); - if (file.Directory.Exists == false) - file.Directory.Create(); + private void SaveStateAs() + { + var sfd = new SaveFileDialog(); + string path = Global.Game.SaveStatePrefix; + sfd.InitialDirectory = path; + sfd.FileName = "QuickSave0.State"; + var file = new FileInfo(path); + if (file.Directory.Exists == false) + file.Directory.Create(); - var result = sfd.ShowDialog(); - if (result != DialogResult.OK) - return; + var result = sfd.ShowDialog(); + if (result != DialogResult.OK) + return; - var writer = new StreamWriter(sfd.FileName); + var writer = new StreamWriter(sfd.FileName); - Global.Emulator.SaveStateText(writer); - HandleMovieSaveState(writer); - writer.Close(); - Global.RenderPanel.AddMessage(sfd.FileName + " saved"); - } + Global.Emulator.SaveStateText(writer); + HandleMovieSaveState(writer); + writer.Close(); + Global.RenderPanel.AddMessage(sfd.FileName + " saved"); + } - private void HandleMovieLoadState(StreamReader reader) - { - //Note, some of the situations in these IF's may be identical and could be combined but I intentionally separated it out for clarity - if (UserMovie.GetMovieMode() == MOVIEMODE.RECORD) - { - if (ReadOnly) - { - int x = UserMovie.CheckTimeLines(reader); - //if (x >= 0) - // MessageBox.Show("Savestate input log does not match the movie at frame " + (x+1).ToString() + "!", "Timeline error", MessageBoxButtons.OK); //TODO: replace with a not annoying message once savestate logic is running smoothly - //else - { - UserMovie.WriteMovie(); - UserMovie.StartPlayback(); - Global.ActiveController.MovieMode = true; - } - } - else - { - Global.ActiveController.MovieMode = false; - UserMovie.LoadLogFromSavestateText(reader); - } - } - else if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY) - { - if (ReadOnly) - { - int x = UserMovie.CheckTimeLines(reader); - //if (x >= 0) - // MessageBox.Show("Savestate input log does not match the movie at frame " + (x+1).ToString() + "!", "Timeline error", MessageBoxButtons.OK); //TODO: replace with a not annoying message once savestate logic is running smoothly - } - else - { - UserMovie.StartNewRecording(); - Global.ActiveController.MovieMode = false; - UserMovie.LoadLogFromSavestateText(reader); - } - } - else if (UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) - { - //TODO: have the input log kick in upon movie finished mode and stop upon movie resume - if (ReadOnly) - { - if (Global.Emulator.Frame > UserMovie.GetMovieLength()) - { - Global.ActiveController.MovieMode = false; - //Post movie savestate - //There is no movie data to load, and the movie will stay in movie finished mode - //So do nothing - } - else - { - int x = UserMovie.CheckTimeLines(reader); - UserMovie.StartPlayback(); - Global.ActiveController.MovieMode = true; - //if (x >= 0) - // MessageBox.Show("Savestate input log does not match the movie at frame " + (x+1).ToString() + "!", "Timeline error", MessageBoxButtons.OK); //TODO: replace with a not annoying message once savestate logic is running smoothly - } - } - else - { - if (Global.Emulator.Frame > UserMovie.GetMovieLength()) - { - Global.ActiveController.MovieMode = false; - //Post movie savestate - //There is no movie data to load, and the movie will stay in movie finished mode - //So do nothing - } - else - { - UserMovie.StartNewRecording(); - Global.ActiveController.MovieMode = false; - UserMovie.LoadLogFromSavestateText(reader); - } - } - } - else - { - if (InputLog.GetMovieMode() == MOVIEMODE.RECORD) - InputLog.LoadLogFromSavestateText(reader); - } - } + private void HandleMovieLoadState(StreamReader reader) + { + //Note, some of the situations in these IF's may be identical and could be combined but I intentionally separated it out for clarity + if (UserMovie.GetMovieMode() == MOVIEMODE.RECORD) + { + if (ReadOnly) + { + int x = UserMovie.CheckTimeLines(reader); + //if (x >= 0) + // MessageBox.Show("Savestate input log does not match the movie at frame " + (x+1).ToString() + "!", "Timeline error", MessageBoxButtons.OK); //TODO: replace with a not annoying message once savestate logic is running smoothly + //else + { + UserMovie.WriteMovie(); + UserMovie.StartPlayback(); + Global.ActiveController.MovieMode = true; + } + } + else + { + Global.ActiveController.MovieMode = false; + UserMovie.LoadLogFromSavestateText(reader); + } + } + else if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY) + { + if (ReadOnly) + { + int x = UserMovie.CheckTimeLines(reader); + //if (x >= 0) + // MessageBox.Show("Savestate input log does not match the movie at frame " + (x+1).ToString() + "!", "Timeline error", MessageBoxButtons.OK); //TODO: replace with a not annoying message once savestate logic is running smoothly + } + else + { + UserMovie.StartNewRecording(); + Global.ActiveController.MovieMode = false; + UserMovie.LoadLogFromSavestateText(reader); + } + } + else if (UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) + { + //TODO: have the input log kick in upon movie finished mode and stop upon movie resume + if (ReadOnly) + { + if (Global.Emulator.Frame > UserMovie.GetMovieLength()) + { + Global.ActiveController.MovieMode = false; + //Post movie savestate + //There is no movie data to load, and the movie will stay in movie finished mode + //So do nothing + } + else + { + int x = UserMovie.CheckTimeLines(reader); + UserMovie.StartPlayback(); + Global.ActiveController.MovieMode = true; + //if (x >= 0) + // MessageBox.Show("Savestate input log does not match the movie at frame " + (x+1).ToString() + "!", "Timeline error", MessageBoxButtons.OK); //TODO: replace with a not annoying message once savestate logic is running smoothly + } + } + else + { + if (Global.Emulator.Frame > UserMovie.GetMovieLength()) + { + Global.ActiveController.MovieMode = false; + //Post movie savestate + //There is no movie data to load, and the movie will stay in movie finished mode + //So do nothing + } + else + { + UserMovie.StartNewRecording(); + Global.ActiveController.MovieMode = false; + UserMovie.LoadLogFromSavestateText(reader); + } + } + } + else + { + if (InputLog.GetMovieMode() == MOVIEMODE.RECORD) + InputLog.LoadLogFromSavestateText(reader); + } + } - private void LoadStateFile(string path, string name) - { - var reader = new StreamReader(path); + private void LoadStateFile(string path, string name) + { + var reader = new StreamReader(path); Global.Emulator.LoadStateText(reader); - HandleMovieLoadState(reader); - reader.Close(); + HandleMovieLoadState(reader); + reader.Close(); Global.RenderPanel.AddMessage("Loaded state: " + name); - } + } private void LoadState(string name) { @@ -1419,26 +1420,26 @@ namespace BizHawk.MultiClient LoadStateFile(path, name); } - private void LoadStateAs() - { - var ofd = new OpenFileDialog(); - ofd.InitialDirectory = Global.Game.SaveStatePrefix; - ofd.Filter = "Save States (*.State)|*.State|All File|*.*"; - ofd.RestoreDirectory = true; + private void LoadStateAs() + { + var ofd = new OpenFileDialog(); + ofd.InitialDirectory = Global.Game.SaveStatePrefix; + ofd.Filter = "Save States (*.State)|*.State|All File|*.*"; + ofd.RestoreDirectory = true; - Global.Sound.StopSound(); - var result = ofd.ShowDialog(); - Global.Sound.StartSound(); + Global.Sound.StopSound(); + var result = ofd.ShowDialog(); + Global.Sound.StartSound(); - if (result != DialogResult.OK) - return; + if (result != DialogResult.OK) + return; - if (File.Exists(ofd.FileName) == false) - return; + if (File.Exists(ofd.FileName) == false) + return; + + LoadStateFile(ofd.FileName, Path.GetFileName(ofd.FileName)); + } - LoadStateFile(ofd.FileName, Path.GetFileName(ofd.FileName)); - } - private void SaveSlotSelectedMessage() { Global.RenderPanel.AddMessage("Slot " + SaveSlot + " selected."); @@ -1455,8 +1456,8 @@ namespace BizHawk.MultiClient pauseToolStripMenuItem.Checked = EmulatorPaused; if (didMenuPause) pauseToolStripMenuItem.Checked = wasPaused; - pauseToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.EmulatorPauseBinding; - powerToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.HardResetBinding; + pauseToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.EmulatorPauseBinding; + powerToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.HardResetBinding; } @@ -1475,19 +1476,19 @@ namespace BizHawk.MultiClient } } - private void UpdateAutoLoadRecentMovie() - { - if (Global.Config.AutoLoadMostRecentMovie == true) - { - autoloadMostRecentToolStripMenuItem1.Checked = false; - Global.Config.AutoLoadMostRecentMovie = false; - } - else - { - autoloadMostRecentToolStripMenuItem1.Checked = true; - Global.Config.AutoLoadMostRecentMovie = true; - } - } + private void UpdateAutoLoadRecentMovie() + { + if (Global.Config.AutoLoadMostRecentMovie == true) + { + autoloadMostRecentToolStripMenuItem1.Checked = false; + Global.Config.AutoLoadMostRecentMovie = false; + } + else + { + autoloadMostRecentToolStripMenuItem1.Checked = true; + Global.Config.AutoLoadMostRecentMovie = true; + } + } private void fileToolStripMenuItem_DropDownOpened(object sender, EventArgs e) { @@ -1559,7 +1560,7 @@ namespace BizHawk.MultiClient selectSlot6ToolStripMenuItem.Checked = false; selectSlot7ToolStripMenuItem.Checked = false; selectSlot8ToolStripMenuItem.Checked = false; - selectSlot9ToolStripMenuItem.Checked = false; + selectSlot9ToolStripMenuItem.Checked = false; selectSlot1ToolStripMenuItem.Checked = false; switch (SaveSlot) @@ -1604,8 +1605,8 @@ namespace BizHawk.MultiClient autoloadMostRecentToolStripMenuItem.Checked = false; screenshotF12ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ScreenshotBinding; - openROMToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.OpenROM; - closeROMToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.CloseROM; + openROMToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.OpenROM; + closeROMToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.CloseROM; } public void LoadRamSearch() @@ -1619,88 +1620,88 @@ namespace BizHawk.MultiClient RamSearch1.Focus(); } - public void LoadGameGenieEC() - { - NESGameGenie gg = new NESGameGenie(); - gg.Show(); - } + public void LoadGameGenieEC() + { + NESGameGenie gg = new NESGameGenie(); + gg.Show(); + } - public void LoadHexEditor() - { - if (!HexEditor1.IsHandleCreated || HexEditor1.IsDisposed) - { - HexEditor1 = new HexEditor(); - HexEditor1.Show(); - } - else - HexEditor1.Focus(); - } + public void LoadHexEditor() + { + if (!HexEditor1.IsHandleCreated || HexEditor1.IsDisposed) + { + HexEditor1 = new HexEditor(); + HexEditor1.Show(); + } + else + HexEditor1.Focus(); + } - public void LoadToolBox() - { - if (!ToolBox1.IsHandleCreated || ToolBox1.IsDisposed) - { - ToolBox1 = new ToolBox(); - ToolBox1.Show(); - } - else - ToolBox1.Close(); - } + public void LoadToolBox() + { + if (!ToolBox1.IsHandleCreated || ToolBox1.IsDisposed) + { + ToolBox1 = new ToolBox(); + ToolBox1.Show(); + } + else + ToolBox1.Close(); + } - public void LoadNESPPU() - { - if (!NESPPU1.IsHandleCreated || NESPPU1.IsDisposed) - { - NESPPU1 = new NESPPU(); - NESPPU1.Show(); - } - else - NESPPU1.Focus(); - } + public void LoadNESPPU() + { + if (!NESPPU1.IsHandleCreated || NESPPU1.IsDisposed) + { + NESPPU1 = new NESPPU(); + NESPPU1.Show(); + } + else + NESPPU1.Focus(); + } - public void LoadNESNameTable() - { - if (!NESNameTableViewer1.IsHandleCreated || NESNameTableViewer1.IsDisposed) - { - NESNameTableViewer1 = new NESNameTableViewer(); - NESNameTableViewer1.Show(); - } - else - NESNameTableViewer1.Focus(); - } + public void LoadNESNameTable() + { + if (!NESNameTableViewer1.IsHandleCreated || NESNameTableViewer1.IsDisposed) + { + NESNameTableViewer1 = new NESNameTableViewer(); + NESNameTableViewer1.Show(); + } + else + NESNameTableViewer1.Focus(); + } - public void LoadNESDebugger() - { - if (!NESDebug1.IsHandleCreated || NESDebug1.IsDisposed) - { - NESDebug1 = new NESDebugger(); - NESDebug1.Show(); - } - else - NESDebug1.Focus(); - } + public void LoadNESDebugger() + { + if (!NESDebug1.IsHandleCreated || NESDebug1.IsDisposed) + { + NESDebug1 = new NESDebugger(); + NESDebug1.Show(); + } + else + NESDebug1.Focus(); + } - public void LoadTI83KeyPad() - { - if (!TI83KeyPad1.IsHandleCreated || TI83KeyPad1.IsDisposed) - { - TI83KeyPad1 = new TI83KeyPad(); - TI83KeyPad1.Show(); - } - else - TI83KeyPad1.Focus(); - } + public void LoadTI83KeyPad() + { + if (!TI83KeyPad1.IsHandleCreated || TI83KeyPad1.IsDisposed) + { + TI83KeyPad1 = new TI83KeyPad(); + TI83KeyPad1.Show(); + } + else + TI83KeyPad1.Focus(); + } - public void LoadCheatsWindow() - { - if (!Cheats1.IsHandleCreated || Cheats1.IsDisposed) - { - Cheats1 = new Cheats(); - Cheats1.Show(); - } - else - Cheats1.Focus(); - } + public void LoadCheatsWindow() + { + if (!Cheats1.IsHandleCreated || Cheats1.IsDisposed) + { + Cheats1 = new Cheats(); + Cheats1.Show(); + } + else + Cheats1.Focus(); + } private int lastWidth = -1; private int lastHeight = -1; @@ -1761,7 +1762,7 @@ namespace BizHawk.MultiClient FormBorderStyle = FormBorderStyle.None; WindowState = FormWindowState.Maximized; MainMenuStrip.Visible = false; - statusStrip1.Visible = false; + statusStrip1.Visible = false; PerformLayout(); Global.RenderPanel.Resized = true; InFullscreen = true; @@ -1771,7 +1772,7 @@ namespace BizHawk.MultiClient FormBorderStyle = FormBorderStyle.FixedSingle; WindowState = FormWindowState.Normal; MainMenuStrip.Visible = true; - statusStrip1.Visible = Global.Config.DisplayStatusBar; + statusStrip1.Visible = Global.Config.DisplayStatusBar; Location = WindowedLocation; PerformLayout(); FrameBufferResized(); @@ -1785,12 +1786,12 @@ namespace BizHawk.MultiClient displayFrameCounterToolStripMenuItem.Checked = Global.Config.DisplayFrameCounter; displayLagCounterToolStripMenuItem.Checked = Global.Config.DisplayLagCounter; displayInputToolStripMenuItem.Checked = Global.Config.DisplayInput; - displayRerecordCountToolStripMenuItem.Checked = Global.Config.DisplayRerecordCount; + displayRerecordCountToolStripMenuItem.Checked = Global.Config.DisplayRerecordCount; - displayFPSToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.FPSBinding; - displayFrameCounterToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.FrameCounterBinding; - displayLagCounterToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LagCounterBinding; - displayInputToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.InputDisplayBinding; + displayFPSToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.FPSBinding; + displayFrameCounterToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.FrameCounterBinding; + displayLagCounterToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LagCounterBinding; + displayInputToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.InputDisplayBinding; x1MenuItem.Checked = false; x2MenuItem.Checked = false; @@ -1807,13 +1808,13 @@ namespace BizHawk.MultiClient case 10: mzMenuItem.Checked = true; break; } - switchToFullscreenToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ToggleFullscreenBinding; + switchToFullscreenToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ToggleFullscreenBinding; } private void menuStrip1_MenuActivate(object sender, EventArgs e) { - HandlePlatformMenus(); - if (Global.Config.PauseWhenMenuActivated) + HandlePlatformMenus(); + if (Global.Config.PauseWhenMenuActivated) { if (EmulatorPaused) wasPaused = true; @@ -1834,56 +1835,56 @@ namespace BizHawk.MultiClient private void gUIToolStripMenuItem_DropDownOpened(object sender, EventArgs e) { - runInBackgroundToolStripMenuItem.Checked = Global.Config.RunInBackground; - pauseWhenMenuActivatedToolStripMenuItem.Checked = Global.Config.PauseWhenMenuActivated; + runInBackgroundToolStripMenuItem.Checked = Global.Config.RunInBackground; + pauseWhenMenuActivatedToolStripMenuItem.Checked = Global.Config.PauseWhenMenuActivated; saveWindowPositionToolStripMenuItem.Checked = Global.Config.SaveWindowPosition; startPausedToolStripMenuItem.Checked = Global.Config.StartPaused; - enableRewindToolStripMenuItem.Checked = Global.Config.RewindEnabled; + enableRewindToolStripMenuItem.Checked = Global.Config.RewindEnabled; forceGDIPPresentationToolStripMenuItem.Checked = Global.Config.ForceGDI; - acceptBackgroundInputToolStripMenuItem.Checked = Global.Config.AcceptBackgroundInput; - singleInstanceModeToolStripMenuItem.Checked = Global.Config.SingleInstanceMode; + acceptBackgroundInputToolStripMenuItem.Checked = Global.Config.AcceptBackgroundInput; + singleInstanceModeToolStripMenuItem.Checked = Global.Config.SingleInstanceMode; } private void MainForm_Load(object sender, EventArgs e) { - //Hide platform specific menus until an appropriate ROM is loaded - NESToolStripMenuItem.Visible = false; - tI83ToolStripMenuItem.Visible = false; + //Hide platform specific menus until an appropriate ROM is loaded + NESToolStripMenuItem.Visible = false; + tI83ToolStripMenuItem.Visible = false; } - private void OpenROM() - { - var ofd = new OpenFileDialog(); - ofd.InitialDirectory = PathManager.GetRomsPath(Global.Emulator.SystemId); - ofd.Filter = "Rom Files|*.NES;*.SMS;*.GG;*.SG;*.PCE;*.SGX;*.GB;*.BIN;*.SMD;*.ROM;*.ZIP;*.7z|NES|*.NES|Master System|*.SMS;*.GG;*.SG;*.ZIP;*.7z|PC Engine|*.PCE;*.SGX;*.ZIP;*.7z|Gameboy|*.GB;*.ZIP;*.7z|TI-83|*.rom|Archive Files|*.zip;*.7z|Savestate|*.state|All Files|*.*"; - ofd.RestoreDirectory = true; + private void OpenROM() + { + var ofd = new OpenFileDialog(); + ofd.InitialDirectory = PathManager.GetRomsPath(Global.Emulator.SystemId); + ofd.Filter = "Rom Files|*.NES;*.SMS;*.GG;*.SG;*.PCE;*.SGX;*.GB;*.BIN;*.SMD;*.ROM;*.ZIP;*.7z|NES|*.NES|Master System|*.SMS;*.GG;*.SG;*.ZIP;*.7z|PC Engine|*.PCE;*.SGX;*.ZIP;*.7z|Gameboy|*.GB;*.ZIP;*.7z|TI-83|*.rom|Archive Files|*.zip;*.7z|Savestate|*.state|All Files|*.*"; + ofd.RestoreDirectory = false; - Global.Sound.StopSound(); - var result = ofd.ShowDialog(); - Global.Sound.StartSound(); - if (result != DialogResult.OK) - return; - var file = new FileInfo(ofd.FileName); - Global.Config.LastRomPath = file.DirectoryName; - LoadRom(file.FullName); - } + Global.Sound.StopSound(); + var result = ofd.ShowDialog(); + Global.Sound.StartSound(); + if (result != DialogResult.OK) + return; + var file = new FileInfo(ofd.FileName); + Global.Config.LastRomPath = file.DirectoryName; + LoadRom(file.FullName); + } - private void CloseROM() - { - CloseGame(); - Global.Emulator = new NullEmulator(); - Global.Game = null; - RamSearch1.Restart(); - RamWatch1.Restart(); - HexEditor1.Restart(); - NESPPU1.Restart(); - NESNameTableViewer1.Restart(); - NESDebug1.Restart(); - TI83KeyPad1.Restart(); - Cheats1.Restart(); - Text = "BizHawk"; - HandlePlatformMenus(); - } + private void CloseROM() + { + CloseGame(); + Global.Emulator = new NullEmulator(); + Global.Game = null; + RamSearch1.Restart(); + RamWatch1.Restart(); + HexEditor1.Restart(); + NESPPU1.Restart(); + NESNameTableViewer1.Restart(); + NESDebug1.Restart(); + TI83KeyPad1.Restart(); + Cheats1.Restart(); + Text = "BizHawk"; + HandlePlatformMenus(); + } private void frameSkipToolStripMenuItem_DropDownOpened(object sender, EventArgs e) { @@ -1902,245 +1903,245 @@ namespace BizHawk.MultiClient miFrameskip8.Checked = Global.Config.FrameSkip == 8; miFrameskip9.Checked = Global.Config.FrameSkip == 9; miSpeed100.Checked = Global.Config.SpeedPercent == 100; - miSpeed100.Image = (Global.Config.SpeedPercentAlternate == 100) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; - miSpeed150.Checked = Global.Config.SpeedPercent == 150; - miSpeed150.Image = (Global.Config.SpeedPercentAlternate == 150) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; + miSpeed100.Image = (Global.Config.SpeedPercentAlternate == 100) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; + miSpeed150.Checked = Global.Config.SpeedPercent == 150; + miSpeed150.Image = (Global.Config.SpeedPercentAlternate == 150) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; miSpeed200.Checked = Global.Config.SpeedPercent == 200; - miSpeed200.Image = (Global.Config.SpeedPercentAlternate == 200) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; + miSpeed200.Image = (Global.Config.SpeedPercentAlternate == 200) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; miSpeed75.Checked = Global.Config.SpeedPercent == 75; - miSpeed75.Image = (Global.Config.SpeedPercentAlternate == 75) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; + miSpeed75.Image = (Global.Config.SpeedPercentAlternate == 75) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; miSpeed50.Checked = Global.Config.SpeedPercent == 50; - miSpeed50.Image = (Global.Config.SpeedPercentAlternate == 50) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; + miSpeed50.Image = (Global.Config.SpeedPercentAlternate == 50) ? BizHawk.MultiClient.Properties.Resources.FastForward : null; miAutoMinimizeSkipping.Enabled = !miFrameskip0.Checked; if (!miAutoMinimizeSkipping.Enabled) miAutoMinimizeSkipping.Checked = true; } - private void saveConfigToolStripMenuItem_Click(object sender, EventArgs e) - { - SaveConfig(); - Global.RenderPanel.AddMessage("Saved settings"); - } + private void saveConfigToolStripMenuItem_Click(object sender, EventArgs e) + { + SaveConfig(); + Global.RenderPanel.AddMessage("Saved settings"); + } - private void loadConfigToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config = ConfigService.Load("config.ini"); - Global.RenderPanel.AddMessage("Saved loaded"); - } + private void loadConfigToolStripMenuItem_Click(object sender, EventArgs e) + { + Global.Config = ConfigService.Load("config.ini"); + Global.RenderPanel.AddMessage("Saved loaded"); + } - private void SaveConfig() - { - if (Global.Config.SaveWindowPosition) - { - Global.Config.MainWndx = this.Location.X; - Global.Config.MainWndy = this.Location.Y; - } - else - { - Global.Config.MainWndx = -1; - Global.Config.MainWndy = -1; - } - if (!RamWatch1.IsDisposed) - RamWatch1.SaveConfigSettings(); - if (!RamSearch1.IsDisposed) - RamSearch1.SaveConfigSettings(); - if (!HexEditor1.IsDisposed) - HexEditor1.SaveConfigSettings(); - ConfigService.Save("config.ini", Global.Config); - } + private void SaveConfig() + { + if (Global.Config.SaveWindowPosition) + { + Global.Config.MainWndx = this.Location.X; + Global.Config.MainWndy = this.Location.Y; + } + else + { + Global.Config.MainWndx = -1; + Global.Config.MainWndy = -1; + } + if (!RamWatch1.IsDisposed) + RamWatch1.SaveConfigSettings(); + if (!RamSearch1.IsDisposed) + RamSearch1.SaveConfigSettings(); + if (!HexEditor1.IsDisposed) + HexEditor1.SaveConfigSettings(); + ConfigService.Save("config.ini", Global.Config); + } - private void PreviousSlot() - { - if (SaveSlot == 0) SaveSlot = 9; //Wrap to end of slot list - else if (SaveSlot > 9) SaveSlot = 9; //Meh, just in case - else SaveSlot--; - SaveSlotSelectedMessage(); - } + private void PreviousSlot() + { + if (SaveSlot == 0) SaveSlot = 9; //Wrap to end of slot list + else if (SaveSlot > 9) SaveSlot = 9; //Meh, just in case + else SaveSlot--; + SaveSlotSelectedMessage(); + } - private void NextSlot() - { - if (SaveSlot >= 9) SaveSlot = 1; //Wrap to beginning of slot list - else SaveSlot++; - SaveSlotSelectedMessage(); - } + private void NextSlot() + { + if (SaveSlot >= 9) SaveSlot = 1; //Wrap to beginning of slot list + else SaveSlot++; + SaveSlotSelectedMessage(); + } - private void ToggleFPS() - { - Global.Config.DisplayFPS ^= true; - } + private void ToggleFPS() + { + Global.Config.DisplayFPS ^= true; + } - private void ToggleFrameCounter() - { - Global.Config.DisplayFrameCounter ^= true; - } + private void ToggleFrameCounter() + { + Global.Config.DisplayFrameCounter ^= true; + } - private void ToggleLagCounter() - { - Global.Config.DisplayLagCounter ^= true; - } + private void ToggleLagCounter() + { + Global.Config.DisplayLagCounter ^= true; + } - private void ToggleInputDisplay() - { - Global.Config.DisplayInput ^= true; - } + private void ToggleInputDisplay() + { + Global.Config.DisplayInput ^= true; + } - private void movieToolStripMenuItem_DropDownOpened(object sender, EventArgs e) - { - if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) - { - stopMovieToolStripMenuItem.Enabled = false; - playFromBeginningToolStripMenuItem.Enabled = false; - } - else - { - stopMovieToolStripMenuItem.Enabled = true; - playFromBeginningToolStripMenuItem.Enabled = true; - } + private void movieToolStripMenuItem_DropDownOpened(object sender, EventArgs e) + { + if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) + { + stopMovieToolStripMenuItem.Enabled = false; + playFromBeginningToolStripMenuItem.Enabled = false; + } + else + { + stopMovieToolStripMenuItem.Enabled = true; + playFromBeginningToolStripMenuItem.Enabled = true; + } - readonlyToolStripMenuItem.Checked = ReadOnly; - bindSavestatesToMoviesToolStripMenuItem.Checked = Global.Config.BindSavestatesToMovies; + readonlyToolStripMenuItem.Checked = ReadOnly; + bindSavestatesToMoviesToolStripMenuItem.Checked = Global.Config.BindSavestatesToMovies; - readonlyToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ReadOnlyToggleBinding; - recordMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RecordMovieBinding; - playMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.PlayMovieBinding; - stopMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.StopMovieBinding; - playFromBeginningToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.PlayBeginningBinding; - - } + readonlyToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ReadOnlyToggleBinding; + recordMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RecordMovieBinding; + playMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.PlayMovieBinding; + stopMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.StopMovieBinding; + playFromBeginningToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.PlayBeginningBinding; - public void ToggleReadOnly() - { - ReadOnly ^= true; - if (ReadOnly) - Global.RenderPanel.AddMessage("Movie read-only mode"); - else - Global.RenderPanel.AddMessage("Movie read+write mode"); - } + } - private void readonlyToolStripMenuItem_Click(object sender, EventArgs e) - { - ToggleReadOnly(); - } + public void ToggleReadOnly() + { + ReadOnly ^= true; + if (ReadOnly) + Global.RenderPanel.AddMessage("Movie read-only mode"); + else + Global.RenderPanel.AddMessage("Movie read+write mode"); + } - public void StartNewMovie(Movie m, bool record) - { - - UserMovie = m; - InputLog.StopMovie(); - LoadRom(Global.MainForm.CurrentlyOpenRom); - UserMovie.LoadMovie(); - Global.Config.RecentMovies.Add(m.GetFilePath()); - if (record) - { - UserMovie.StartNewRecording(); - ReadOnly = false; - } - else - UserMovie.StartPlayback(); - } + private void readonlyToolStripMenuItem_Click(object sender, EventArgs e) + { + ToggleReadOnly(); + } - public Movie GetActiveMovie() - { - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) - return UserMovie; - else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) - return InputLog; - else - return null; - } + public void StartNewMovie(Movie m, bool record) + { - public bool MovieActive() - { - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) - return true; - else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) - return true; - else - return false; - } + UserMovie = m; + InputLog.StopMovie(); + LoadRom(Global.MainForm.CurrentlyOpenRom); + UserMovie.LoadMovie(); + Global.Config.RecentMovies.Add(m.GetFilePath()); + if (record) + { + UserMovie.StartNewRecording(); + ReadOnly = false; + } + else + UserMovie.StartPlayback(); + } - private void PlayMovie() - { - PlayMovie p = new PlayMovie(); - DialogResult d = p.ShowDialog(); - } + public Movie GetActiveMovie() + { + if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + return UserMovie; + else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + return InputLog; + else + return null; + } - private void RecordMovie() - { - RecordMovie r = new RecordMovie(); - r.ShowDialog(); - } + public bool MovieActive() + { + if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + return true; + else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + return true; + else + return false; + } - public void PlayMovieFromBeginning() - { - if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) - { - LoadRom(CurrentlyOpenRom); - UserMovie.StartPlayback(); - } - } + private void PlayMovie() + { + PlayMovie p = new PlayMovie(); + DialogResult d = p.ShowDialog(); + } - public void LoadRamWatch() - { - if (!RamWatch1.IsHandleCreated || RamWatch1.IsDisposed) - { - RamWatch1 = new RamWatch(); - if (Global.Config.AutoLoadRamWatch && Global.Config.RecentWatches.Length() > 0) - RamWatch1.LoadWatchFromRecent(Global.Config.RecentWatches.GetRecentFileByPosition(0)); - RamWatch1.Show(); - } - else - RamWatch1.Focus(); - } + private void RecordMovie() + { + RecordMovie r = new RecordMovie(); + r.ShowDialog(); + } - private void MainForm_Deactivate(object sender, EventArgs e) - { - if (!Global.Config.RunInBackground) - PauseEmulator(); - } + public void PlayMovieFromBeginning() + { + if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + { + LoadRom(CurrentlyOpenRom); + UserMovie.StartPlayback(); + } + } - private void MainForm_Activated(object sender, EventArgs e) - { - if (!Global.Config.RunInBackground) - UnpauseEmulator(); - } + public void LoadRamWatch() + { + if (!RamWatch1.IsHandleCreated || RamWatch1.IsDisposed) + { + RamWatch1 = new RamWatch(); + if (Global.Config.AutoLoadRamWatch && Global.Config.RecentWatches.Length() > 0) + RamWatch1.LoadWatchFromRecent(Global.Config.RecentWatches.GetRecentFileByPosition(0)); + RamWatch1.Show(); + } + else + RamWatch1.Focus(); + } - public void LoadTAStudio() - { - if (!TAStudio1.IsHandleCreated || TAStudio1.IsDisposed) - { - TAStudio1 = new TAStudio(); - TAStudio1.Show(); - } - else - TAStudio1.Focus(); - } + private void MainForm_Deactivate(object sender, EventArgs e) + { + if (!Global.Config.RunInBackground) + PauseEmulator(); + } - private void tAStudioToolStripMenuItem_Click(object sender, EventArgs e) - { - LoadTAStudio(); - } + private void MainForm_Activated(object sender, EventArgs e) + { + if (!Global.Config.RunInBackground) + UnpauseEmulator(); + } - private void singleInstanceModeToolStripMenuItem_Click(object sender, EventArgs e) - { - Global.Config.SingleInstanceMode ^= true; - } + public void LoadTAStudio() + { + if (!TAStudio1.IsHandleCreated || TAStudio1.IsDisposed) + { + TAStudio1 = new TAStudio(); + TAStudio1.Show(); + } + else + TAStudio1.Focus(); + } - private void VolumeUp() - { - Global.Config.SoundVolume += 10; - if (Global.Config.SoundVolume > 100) - Global.Config.SoundVolume = 100; - Global.Sound.ChangeVolume(Global.Config.SoundVolume); - Global.RenderPanel.AddMessage("Volume " + Global.Config.SoundVolume.ToString()); - } + private void tAStudioToolStripMenuItem_Click(object sender, EventArgs e) + { + LoadTAStudio(); + } - private void VolumeDown() - { - Global.Config.SoundVolume -= 10; - if (Global.Config.SoundVolume < 0) - Global.Config.SoundVolume = 0; - Global.Sound.ChangeVolume(Global.Config.SoundVolume); - Global.RenderPanel.AddMessage("Volume " + Global.Config.SoundVolume.ToString()); - } + private void singleInstanceModeToolStripMenuItem_Click(object sender, EventArgs e) + { + Global.Config.SingleInstanceMode ^= true; + } + + private void VolumeUp() + { + Global.Config.SoundVolume += 10; + if (Global.Config.SoundVolume > 100) + Global.Config.SoundVolume = 100; + Global.Sound.ChangeVolume(Global.Config.SoundVolume); + Global.RenderPanel.AddMessage("Volume " + Global.Config.SoundVolume.ToString()); + } + + private void VolumeDown() + { + Global.Config.SoundVolume -= 10; + if (Global.Config.SoundVolume < 0) + Global.Config.SoundVolume = 0; + Global.Sound.ChangeVolume(Global.Config.SoundVolume); + Global.RenderPanel.AddMessage("Volume " + Global.Config.SoundVolume.ToString()); + } } } \ No newline at end of file diff --git a/BizHawk.MultiClient/output/NES/Palettes/ASQ_realityA.pal b/BizHawk.MultiClient/output/NES/Palettes/ASQ_realityA.pal new file mode 100644 index 0000000000000000000000000000000000000000..8c93587000a097dcb9dd0e175d877a5f4fc673e6 GIT binary patch literal 192 zcmYdDNMKN`W?-0O$j}|hke|CeExzyk*B)~yo= zJ14F4KSANmN{0QX#6nIW+-fjCr|ID=i z*AxE#Pn!BaCHTt}gF|Z=CL9q7x}>3SY?8#TOFlk65G_FUi_iRDvgQB5ZT}x^|NsBM i(f@l^|GzN*&w~k%Ud=f5X~BY5j}|=owQburhXXiCWBE#3}PAQH zM20As4Psa@3a7XW|MWY@abS#rrNC4{bs-dBr%=v76o48aswlMqr2g}LKQAw$$i5Np zu|K6d=S91R#MvO(Hgy4}yDa$8}lO)IiWhncy%ODU7f i&+99rBjb?Vl3~na#Osa^@A+EmxAtGp&4WP@B>oHWKUhlu literal 0 HcmV?d00001 diff --git a/BizHawk.MultiClient/output/NES/Palettes/BMF_final2.pal b/BizHawk.MultiClient/output/NES/Palettes/BMF_final2.pal new file mode 100644 index 0000000000000000000000000000000000000000..01fd7161385a8bd76c93a26503ccf1a9ae345b56 GIT binary patch literal 192 zcmWFv3SwYr;9%&|VW{(B@C#sIb75dm<6z)YU|`T=U@!u5xEN$S7+_$@k|hil=S;-j z#IfAzVc0N>!DoU5LxCBCPY45F4g*6814E7uLtG0?Im7?||9$5Cuc`RIEam^LsQ({A z4t&T8yVfSKYY9Wy0S31-QhF!SOb+d{va*6`0jl42>;H*U|8E`o|6$+%KYQN&I&|RE cnMKcTO*-?eZ^yeu>t5|!_u|op4I3cp0kwonUjP6A literal 0 HcmV?d00001 diff --git a/BizHawk.MultiClient/output/NES/Palettes/BMF_final3.pal b/BizHawk.MultiClient/output/NES/Palettes/BMF_final3.pal new file mode 100644 index 0000000000000000000000000000000000000000..d1560114d793161f7a42272b592372c0df3b1a18 GIT binary patch literal 192 zcmd1E$Y2nfDaElWkZD#OLuMa?OdT_0pag@wIRm2~149%8Lx2o}Lm~qV?A*DNC+2#9 z>4#3q2fKMTpW{h9pv^bcmoYJ)LB5-TaRv{=WN(JX*)Zh{|Ns9_-tvF;#Q&Ge|G&@r z|1;yj&)S@~vvv3G6|1==eoE~fA#GDx4ZuT*zo_~hBtrr fZvA0IB!5(s literal 0 HcmV?d00001 diff --git a/BizHawk.MultiClient/output/NES/Palettes/FCEU-13-default_nitsuja.pal b/BizHawk.MultiClient/output/NES/Palettes/FCEU-13-default_nitsuja.pal new file mode 100644 index 0000000000000000000000000000000000000000..9367073b717ccb7bb47548e9851b82114074f5a8 GIT binary patch literal 192 zcmYdDNMK;75MgN0VaW4h@XKM4h+<|6lwdGXVPG&}U@!ub3Jf|G3=9lRU~uHf5r&9+ z2J(OEMINkR*l>U?=72WeG6#YDL-K87Z}v;O6i?QGdZ*`BqW3l4F3QBzwOrl6Q};)I`sd;zW;yr jy!(G)%l}&w-n^M~=i9s;{}-)$wQt`0_xtwk;{XEyDxy&{ literal 0 HcmV?d00001 diff --git a/BizHawk.MultiClient/output/NES/Palettes/FCEU-15-nitsuja_new.pal b/BizHawk.MultiClient/output/NES/Palettes/FCEU-15-nitsuja_new.pal new file mode 100644 index 0000000000000000000000000000000000000000..4765e546ee52b95039b806aa4e1dd0489f874e1a GIT binary patch literal 192 zcmYdDNMK+n5MgN0VaW4h@XKM4h+<|6lwdGXVPG&}U@!ub3Jf|G3=9lRU~uHf5r&9+ z2J(OEMINkR*l>U?=72WeG6#YDL-K87Z}v;O6i?QGdZ*`BqW3l4F3QBzwOrl6Q};)I`sd;zW;yr jy!(G)%l}&w-n^M~=i9s;{}-)$wQt`0_xtwk;{XEyB+5}M literal 0 HcmV?d00001 diff --git a/BizHawk.MultiClient/output/NES/Palettes/FCEUX.pal b/BizHawk.MultiClient/output/NES/Palettes/FCEUX.pal new file mode 100644 index 0000000000000000000000000000000000000000..2b8ea5d63eed04734189df388a053361ca4dc6ea GIT binary patch literal 192 zcmXwx5f_6{0EI6O2Eia43F4Z3BiM45C*{@2nNC6;b8diK`QA!~l*4~iADySZ@ z*`ke>MG92o4RH357qbqMzG6}_DEQ4tai=)4_N?;rrxU&Q@vp|mWLY*%Mql>S9lMs) WBZlfmBiT1^HqwseaiP^(PyQcXXH~5L literal 0 HcmV?d00001