From 88f21433b3218802d3afdbaa434400d1a8f8d811 Mon Sep 17 00:00:00 2001 From: skidau Date: Fri, 8 May 2015 01:26:21 +0000 Subject: [PATCH] Hooked up the GB Printer option in the wx menu --- src/gb/GB.cpp | 2 +- src/wx/cmdevents.cpp | 20 +++++++++----------- src/wx/opts.cpp | 4 ++-- src/wx/opts.h | 1 - src/wx/panel.cpp | 2 +- 5 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/gb/GB.cpp b/src/gb/GB.cpp index d10682af..b20ad00a 100644 --- a/src/gb/GB.cpp +++ b/src/gb/GB.cpp @@ -1007,7 +1007,7 @@ void gbWriteMemory(register u16 address, register u8 value) } EmuReseted = false; gbMemory[0xff02] = value; - if (gbSerialOn && GetLinkMode() == LINK_GAMEBOY) { + if (gbSerialOn && (GetLinkMode() == LINK_GAMEBOY || winGbPrinterEnabled)) { gbSerialTicks = GBSERIAL_CLOCK_TICKS; LinkIsWaiting = true; diff --git a/src/wx/cmdevents.cpp b/src/wx/cmdevents.cpp index 9468dc98..cc2dc732 100644 --- a/src/wx/cmdevents.cpp +++ b/src/wx/cmdevents.cpp @@ -1841,7 +1841,6 @@ EVT_HANDLER(GameBoyConfigure, "Game Boy options...") wxDialog *dlg = GetXRCDialog("GameBoyConfig"); wxChoice *c = XRCCTRL(*dlg, "Borders", wxChoice); bool borderon = gbBorderOn; - bool printeron = gopts.gbprint; if(!gbBorderOn && !gbBorderAutomatic) c->SetSelection(0); else if(gbBorderOn) @@ -1877,15 +1876,6 @@ EVT_HANDLER(GameBoyConfigure, "Game Boy options...") // don't want to have to reset to change colors memcpy(gbPalette, &systemGbPalette[gbPaletteOption * 8], 8 * sizeof(systemGbPalette[0])); } -#if (defined __WIN32__ || defined _WIN32) - gbSerialFunction = gbStartLink; -#else - gbSerialFunction = NULL; -#endif - if(printeron != gopts.gbprint) { - if(gopts.gbprint) - gbSerialFunction = gbPrinterSend; - } update_opts(); } @@ -2226,7 +2216,15 @@ EVT_HANDLER(RetainAspect, "Retain aspect ratio when resizing") EVT_HANDLER(Printer, "Enable printer emulation") { - GetMenuOptionBool("Printer", gopts.gbprint); + GetMenuOptionInt("Printer", winGbPrinterEnabled, 1); +#if (defined __WIN32__ || defined _WIN32) + gbSerialFunction = gbStartLink; +#else + gbSerialFunction = NULL; +#endif + if (winGbPrinterEnabled) + gbSerialFunction = gbPrinterSend; + update_opts(); } diff --git a/src/wx/opts.cpp b/src/wx/opts.cpp index 0a1c31fe..d4d79e4b 100644 --- a/src/wx/opts.cpp +++ b/src/wx/opts.cpp @@ -148,7 +148,6 @@ opt_desc opts[] = { /// GB STROPT ("GB/BiosFile", "", wxTRANSLATE("BIOS file to use for GB, if enabled"), gopts.gb_bios), - BOOLOPT("GB/EnablePrinter", "Printer", wxTRANSLATE("Enable printer emulation"), gopts.gbprint), STROPT ("GB/GBCBiosFile", "", wxTRANSLATE("BIOS file to use for GBC, if enabled"), gopts.gbc_bios), BOOLOPT("GB/LCDColor", "Color", wxTRANSLATE("Emulate washed colors of LCD"), gopts.gbcColorOption), { wxT("GB/Palette0"), "", wxTRANSLATE("The default palette, as 8 comma-separated 4-digit hex integers (rgb555).") }, @@ -212,6 +211,7 @@ opt_desc opts[] = { INTOPT ("preferences/fullScreen", "Fullscreen", wxTRANSLATE("Enter fullscreen mode at startup"), fullScreen, 0, 1), INTOPT ("preferences/gbFrameSkip", "", wxTRANSLATE("Skip frames. Values are 0-9 or -1 to skip automatically based on time."), gbFrameSkip, -1, 9), INTOPT ("preferences/gbPaletteOption", "", wxTRANSLATE("The palette to use"), gbPaletteOption, 0, 2), + INTOPT ("preferences/gbPrinter", "Printer", wxTRANSLATE("Enable printer emulation"), winGbPrinterEnabled, 0, 1), INTOPT ("preferences/gdbBreakOnLoad", "DebugGDBBreakOnLoad", wxTRANSLATE("Break into GDB after loading the game."), gdbBreakOnLoad, 0, 1), INTOPT ("preferences/gdbPort", "DebugGDBPort", wxTRANSLATE("Port to connect GDB to."), gdbPort, 0, 65535), #ifndef NO_LINK @@ -288,7 +288,7 @@ opts_t::opts_t() } recent = new wxFileHistory(10); autofire_rate = 1; - gbprint = print_auto_page = true; + print_auto_page = true; autoPatch = true; } diff --git a/src/wx/opts.h b/src/wx/opts.h index 732ff4ec..f9bf6f56 100644 --- a/src/wx/opts.h +++ b/src/wx/opts.h @@ -23,7 +23,6 @@ extern struct opts_t { /// GB wxString gb_bios; - bool gbprint; // gbSerialFunction wxString gbc_bios; bool gbcColorOption; // u16 systemGbPalette[8*3]; diff --git a/src/wx/panel.cpp b/src/wx/panel.cpp index b630cc02..fa3e84f0 100644 --- a/src/wx/panel.cpp +++ b/src/wx/panel.cpp @@ -278,7 +278,7 @@ void GameArea::LoadGame(const wxString &name) gbSerialFunction = NULL; #endif // probably only need to do this for GB carts - if(gopts.gbprint) + if(winGbPrinterEnabled) gbSerialFunction = gbPrinterSend; // probably only need to do this for GBA carts