Enable GB colorization hack support in GUI.
This is used by some hacked ROMs like Metroid II DX. Add a config variable to enable the already existent core support for this. This conflicts with using a GB BIOS file, add checks and error dialogs for this. Also move including "ConfigManager.h" into "wxvbam.h". Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This commit is contained in:
parent
89028de852
commit
972f151310
File diff suppressed because it is too large
Load Diff
|
@ -164,6 +164,7 @@ int autoSaveLoadCheatList;
|
||||||
int aviRecording;
|
int aviRecording;
|
||||||
int captureFormat = 0;
|
int captureFormat = 0;
|
||||||
int cheatsEnabled = true;
|
int cheatsEnabled = true;
|
||||||
|
int colorizerHack = 0;
|
||||||
int cpuDisableSfx = false;
|
int cpuDisableSfx = false;
|
||||||
int cpuSaveType = 0;
|
int cpuSaveType = 0;
|
||||||
int enableMMX;
|
int enableMMX;
|
||||||
|
@ -302,6 +303,7 @@ struct option argOptions[] = {
|
||||||
{ "cheat", required_argument, 0, OPT_CHEAT },
|
{ "cheat", required_argument, 0, OPT_CHEAT },
|
||||||
{ "cheats-enabled", no_argument, &cheatsEnabled, 1 },
|
{ "cheats-enabled", no_argument, &cheatsEnabled, 1 },
|
||||||
{ "color-option", no_argument, &gbColorOption, 1 },
|
{ "color-option", no_argument, &gbColorOption, 1 },
|
||||||
|
{ "colorizer-hack", no_argument, &colorizerHack, 1 },
|
||||||
{ "config", required_argument, 0, 'c' },
|
{ "config", required_argument, 0, 'c' },
|
||||||
{ "cpu-disable-sfx", no_argument, &cpuDisableSfx, 1 },
|
{ "cpu-disable-sfx", no_argument, &cpuDisableSfx, 1 },
|
||||||
{ "cpu-save-type", required_argument, 0, OPT_CPU_SAVE_TYPE },
|
{ "cpu-save-type", required_argument, 0, OPT_CPU_SAVE_TYPE },
|
||||||
|
@ -492,6 +494,7 @@ void LoadConfig()
|
||||||
biosFileNameGBC = ReadPrefString("biosFileGBC");
|
biosFileNameGBC = ReadPrefString("biosFileGBC");
|
||||||
captureFormat = ReadPref("captureFormat", 0);
|
captureFormat = ReadPref("captureFormat", 0);
|
||||||
cheatsEnabled = ReadPref("cheatsEnabled", 0);
|
cheatsEnabled = ReadPref("cheatsEnabled", 0);
|
||||||
|
colorizerHack = ReadPref("colorizerHack", 0);
|
||||||
cpuDisableSfx = ReadPref("disableSfx", 0);
|
cpuDisableSfx = ReadPref("disableSfx", 0);
|
||||||
cpuSaveType = ReadPrefHex("saveType");
|
cpuSaveType = ReadPrefHex("saveType");
|
||||||
enableMMX = ReadPref("enableMMX", 1);
|
enableMMX = ReadPref("enableMMX", 1);
|
||||||
|
|
|
@ -53,6 +53,7 @@ extern int autoSaveLoadCheatList;
|
||||||
extern int aviRecording;
|
extern int aviRecording;
|
||||||
extern int captureFormat;
|
extern int captureFormat;
|
||||||
extern int cheatsEnabled;
|
extern int cheatsEnabled;
|
||||||
|
extern int colorizerHack;
|
||||||
extern int cpuDisableSfx;
|
extern int cpuDisableSfx;
|
||||||
extern int cpuSaveType;
|
extern int cpuSaveType;
|
||||||
extern int dinputKeyFocus;
|
extern int dinputKeyFocus;
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
#include <wx/msgdlg.h>
|
#include <wx/msgdlg.h>
|
||||||
|
|
||||||
#include "../common/version_cpp.h"
|
#include "../common/version_cpp.h"
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "../gb/gbPrinter.h"
|
#include "../gb/gbPrinter.h"
|
||||||
#include "../gba/agbprint.h"
|
#include "../gba/agbprint.h"
|
||||||
|
|
||||||
|
@ -1875,6 +1874,22 @@ EVT_HANDLER(CheatsEnable, "Enable cheats (toggle)")
|
||||||
update_opts();
|
update_opts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EVT_HANDLER(ColorizerHack, "Enable Colorizer Hack (toggle)")
|
||||||
|
{
|
||||||
|
int val = 0;
|
||||||
|
GetMenuOptionInt("ColorizerHack", val, 1);
|
||||||
|
|
||||||
|
if (val == 1 && useBiosFileGB == 1) {
|
||||||
|
wxLogError(_("Cannot use Colorizer Hack when GB BIOS File is enabled."));
|
||||||
|
val = 0;
|
||||||
|
SetMenuOption("ColorizerHack", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
colorizerHack = val;
|
||||||
|
|
||||||
|
update_opts();
|
||||||
|
}
|
||||||
|
|
||||||
// Debug menu
|
// Debug menu
|
||||||
EVT_HANDLER_MASK(VideoLayersBG0, "Video layer BG0 (toggle)", CMDEN_GB | CMDEN_GBA)
|
EVT_HANDLER_MASK(VideoLayersBG0, "Video layer BG0 (toggle)", CMDEN_GB | CMDEN_GBA)
|
||||||
{
|
{
|
||||||
|
@ -3079,7 +3094,17 @@ EVT_HANDLER(BootRomEn, "Use the specified BIOS file for GBA")
|
||||||
|
|
||||||
EVT_HANDLER(BootRomGB, "Use the specified BIOS file for GB")
|
EVT_HANDLER(BootRomGB, "Use the specified BIOS file for GB")
|
||||||
{
|
{
|
||||||
GetMenuOptionInt("BootRomGB", useBiosFileGB, 1);
|
int val = 0;
|
||||||
|
GetMenuOptionInt("BootRomGB", val, 1);
|
||||||
|
|
||||||
|
if (val == 1 && colorizerHack == 1) {
|
||||||
|
wxLogError(_("Cannot use GB BIOS when Colorizer Hack is enabled."));
|
||||||
|
val = 0;
|
||||||
|
SetMenuOption("BootRomGB", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
useBiosFileGB = val;
|
||||||
|
|
||||||
update_opts();
|
update_opts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
// DirectSound8
|
// DirectSound8
|
||||||
#define DIRECTSOUND_VERSION 0x0800
|
#define DIRECTSOUND_VERSION 0x0800
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include <dsound.h>
|
#include <dsound.h>
|
||||||
|
|
||||||
extern bool soundBufferLow;
|
extern bool soundBufferLow;
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
// Interface
|
// Interface
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "../common/SoundDriver.h"
|
#include "../common/SoundDriver.h"
|
||||||
|
|
||||||
// FAudio
|
// FAudio
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#include <wx/txtstrm.h>
|
#include <wx/txtstrm.h>
|
||||||
#include <wx/wfstream.h>
|
#include <wx/wfstream.h>
|
||||||
|
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "../gba/CheatSearch.h"
|
#include "../gba/CheatSearch.h"
|
||||||
|
|
||||||
#if defined(__WXGTK__)
|
#if defined(__WXGTK__)
|
||||||
|
@ -3050,6 +3049,7 @@ bool MainFrame::BindControls()
|
||||||
MenuOptionIntMask("VideoLayersOBJWIN", layerSettings, (1 << 15));
|
MenuOptionIntMask("VideoLayersOBJWIN", layerSettings, (1 << 15));
|
||||||
MenuOptionBool("CheatsAutoSaveLoad", gopts.autoload_cheats);
|
MenuOptionBool("CheatsAutoSaveLoad", gopts.autoload_cheats);
|
||||||
MenuOptionIntMask("CheatsEnable", cheatsEnabled, 1);
|
MenuOptionIntMask("CheatsEnable", cheatsEnabled, 1);
|
||||||
|
SetMenuOption("ColorizerHack", colorizerHack ? 1 : 0);
|
||||||
MenuOptionIntMask("KeepSaves", skipSaveGameBattery, 1);
|
MenuOptionIntMask("KeepSaves", skipSaveGameBattery, 1);
|
||||||
MenuOptionIntMask("KeepCheats", skipSaveGameCheats, 1);
|
MenuOptionIntMask("KeepCheats", skipSaveGameCheats, 1);
|
||||||
MenuOptionBool("LoadGameAutoLoad", gopts.autoload_state);
|
MenuOptionBool("LoadGameAutoLoad", gopts.autoload_state);
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "wxvbam.h"
|
#include "wxvbam.h"
|
||||||
|
|
||||||
// Interface
|
// Interface
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "../common/SoundDriver.h"
|
#include "../common/SoundDriver.h"
|
||||||
|
|
||||||
// OpenAL
|
// OpenAL
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "wxvbam.h"
|
#include "wxvbam.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
@ -209,6 +208,7 @@ opt_desc opts[] = {
|
||||||
/// GB
|
/// GB
|
||||||
STROPT("GB/BiosFile", "", wxTRANSLATE("BIOS file to use for GB, if enabled"), gopts.gb_bios),
|
STROPT("GB/BiosFile", "", wxTRANSLATE("BIOS file to use for GB, if enabled"), gopts.gb_bios),
|
||||||
INTOPT("GB/ColorOption", "GBColorOption", wxTRANSLATE("GB color enhancement, if enabled"), gbColorOption, 0, 1),
|
INTOPT("GB/ColorOption", "GBColorOption", wxTRANSLATE("GB color enhancement, if enabled"), gbColorOption, 0, 1),
|
||||||
|
INTOPT("GB/ColorizerHack", "ColorizerHack", wxTRANSLATE("Enable DX Colorization Hacks"), colorizerHack, 0, 1),
|
||||||
BOOLOPT("GB/LCDFilter", "GBLcdFilter", wxTRANSLATE("Apply LCD filter, if enabled"), gbLcdFilter),
|
BOOLOPT("GB/LCDFilter", "GBLcdFilter", wxTRANSLATE("Apply LCD filter, if enabled"), gbLcdFilter),
|
||||||
STROPT("GB/GBCBiosFile", "", wxTRANSLATE("BIOS file to use for GBC, if enabled"), gopts.gbc_bios),
|
STROPT("GB/GBCBiosFile", "", wxTRANSLATE("BIOS file to use for GBC, if enabled"), gopts.gbc_bios),
|
||||||
NOOPT(wxT("GB/Palette0"), "", wxTRANSLATE("The default palette, as 8 comma-separated 4-digit hex integers (rgb555).")),
|
NOOPT(wxT("GB/Palette0"), "", wxTRANSLATE("The default palette, as 8 comma-separated 4-digit hex integers (rgb555).")),
|
||||||
|
@ -263,6 +263,7 @@ opt_desc opts[] = {
|
||||||
INTOPT("preferences/borderOn", "", wxTRANSLATE("Always enable border"), gbBorderOn, 0, 1),
|
INTOPT("preferences/borderOn", "", wxTRANSLATE("Always enable border"), gbBorderOn, 0, 1),
|
||||||
INTOPT("preferences/captureFormat", "", wxTRANSLATE("Screen capture file format"), captureFormat, 0, 1),
|
INTOPT("preferences/captureFormat", "", wxTRANSLATE("Screen capture file format"), captureFormat, 0, 1),
|
||||||
INTOPT("preferences/cheatsEnabled", "", wxTRANSLATE("Enable cheats"), cheatsEnabled, 0, 1),
|
INTOPT("preferences/cheatsEnabled", "", wxTRANSLATE("Enable cheats"), cheatsEnabled, 0, 1),
|
||||||
|
|
||||||
#ifdef MMX
|
#ifdef MMX
|
||||||
INTOPT("preferences/enableMMX", "MMX", wxTRANSLATE("Enable MMX"), enableMMX, 0, 1),
|
INTOPT("preferences/enableMMX", "MMX", wxTRANSLATE("Enable MMX"), enableMMX, 0, 1),
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
#include <SDL_joystick.h>
|
#include <SDL_joystick.h>
|
||||||
|
|
||||||
#include "../common/version_cpp.h"
|
#include "../common/version_cpp.h"
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "../common/Patch.h"
|
#include "../common/Patch.h"
|
||||||
#include "../gb/gbPrinter.h"
|
#include "../gb/gbPrinter.h"
|
||||||
#include "../gba/RTC.h"
|
#include "../gba/RTC.h"
|
||||||
|
@ -199,7 +198,18 @@ void GameArea::LoadGame(const wxString& name)
|
||||||
soundSetThrottle(throttle);
|
soundSetThrottle(throttle);
|
||||||
gbGetHardwareType();
|
gbGetHardwareType();
|
||||||
|
|
||||||
bool use_bios = gbCgbMode ? useBiosFileGBC : useBiosFileGB;
|
|
||||||
|
// Disable bios loading when using colorizer hack.
|
||||||
|
if (useBiosFileGB && colorizerHack) {
|
||||||
|
wxLogError(_("Cannot use GB BIOS file when Colorizer Hack is enabled, disabling GB BIOS file."));
|
||||||
|
useBiosFileGB = 0;
|
||||||
|
update_opts();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set up the core for the colorizer hack.
|
||||||
|
setColorizerHack(colorizerHack);
|
||||||
|
|
||||||
|
bool use_bios = gbCgbMode ? useBiosFileGBC : useBiosFileGB;
|
||||||
|
|
||||||
wxCharBuffer fnb(UTF8((gbCgbMode ? gopts.gbc_bios : gopts.gb_bios)));
|
wxCharBuffer fnb(UTF8((gbCgbMode ? gopts.gbc_bios : gopts.gb_bios)));
|
||||||
const char* fn = fnb.data();
|
const char* fn = fnb.data();
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "../common/SoundSDL.h"
|
#include "../common/SoundSDL.h"
|
||||||
#include "wxvbam.h"
|
#include "wxvbam.h"
|
||||||
#include "SDL.h"
|
#include "SDL.h"
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#include "viewsupt.h"
|
#include "viewsupt.h"
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "wxvbam.h"
|
#include "wxvbam.h"
|
||||||
#include "wxutil.h"
|
#include "wxutil.h"
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include "builtin-xrc.h"
|
#include "builtin-xrc.h"
|
||||||
|
|
||||||
// The built-in vba-over.ini
|
// The built-in vba-over.ini
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "builtin-over.h"
|
#include "builtin-over.h"
|
||||||
|
|
||||||
IMPLEMENT_APP(wxvbamApp)
|
IMPLEMENT_APP(wxvbamApp)
|
||||||
|
|
|
@ -16,11 +16,10 @@
|
||||||
#include "wx/sdljoy.h"
|
#include "wx/sdljoy.h"
|
||||||
#include "wx/wxmisc.h"
|
#include "wx/wxmisc.h"
|
||||||
#include "wxhead.h"
|
#include "wxhead.h"
|
||||||
#ifndef NO_FFMPEG
|
|
||||||
#include "../common/ffmpeg.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* yeah, they aren't needed globally, but I'm too lazy to limit where needed */
|
/* yeah, they aren't needed globally, but I'm too lazy to limit where needed */
|
||||||
|
#include "../common/ConfigManager.h"
|
||||||
|
|
||||||
#include "../System.h"
|
#include "../System.h"
|
||||||
#include "../Util.h"
|
#include "../Util.h"
|
||||||
#include "../gb/gb.h"
|
#include "../gb/gb.h"
|
||||||
|
@ -32,6 +31,10 @@
|
||||||
#include "../gba/Globals.h"
|
#include "../gba/Globals.h"
|
||||||
#include "../gba/Sound.h"
|
#include "../gba/Sound.h"
|
||||||
|
|
||||||
|
#ifndef NO_FFMPEG
|
||||||
|
#include "../common/ffmpeg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "wxlogdebug.h"
|
#include "wxlogdebug.h"
|
||||||
#include "wxutil.h"
|
#include "wxutil.h"
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
// Interface
|
// Interface
|
||||||
#include "../common/ConfigManager.h"
|
|
||||||
#include "../common/SoundDriver.h"
|
#include "../common/SoundDriver.h"
|
||||||
|
|
||||||
// XAudio2
|
// XAudio2
|
||||||
|
|
|
@ -535,6 +535,10 @@
|
||||||
<label>_LCD Filter</label>
|
<label>_LCD Filter</label>
|
||||||
<checkable>1</checkable>
|
<checkable>1</checkable>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="wxMenuItem" name="ColorizerHack">
|
||||||
|
<label>_GB Colorizer Hack (requires restart)</label>
|
||||||
|
<checkable>1</checkable>
|
||||||
|
</object>
|
||||||
<object class="wxMenuItem" name="Printer">
|
<object class="wxMenuItem" name="Printer">
|
||||||
<label>_GB printer</label>
|
<label>_GB printer</label>
|
||||||
<checkable>1</checkable>
|
<checkable>1</checkable>
|
||||||
|
@ -549,7 +553,7 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="separator"/>
|
<object class="separator"/>
|
||||||
<object class="wxMenuItem" name="BootRomGB">
|
<object class="wxMenuItem" name="BootRomGB">
|
||||||
<label>_Use GB BIOS file</label>
|
<label>_Use GB BIOS file (requires restart)</label>
|
||||||
<checkable>1</checkable>
|
<checkable>1</checkable>
|
||||||
</object>
|
</object>
|
||||||
<object class="wxMenuItem" name="BootRomGBC">
|
<object class="wxMenuItem" name="BootRomGBC">
|
||||||
|
|
Loading…
Reference in New Issue