summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL
diff options
context:
space:
mode:
authorJohn Peterson <jpeterson57@gmail.com>2008-11-22 16:46:12 +0000
committerJohn Peterson <jpeterson57@gmail.com>2008-11-22 16:46:12 +0000
commitf0596fee55656e45c33eb30d2ffaed65cd413efb (patch)
tree6e5ac34f17f071bb752f1c8854ea00f7b0636b60 /Source/Plugins/Plugin_VideoOGL
parent36bf2fedf696c0795d0731904346b594a906df54 (diff)
Added Copy EFB hotkey to OpenGL plugin (to be able to easily switch back and forth during emulation). Added Unlimited JIT cache option to debugger. It may fix the Zelda TP crashes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1243 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/Config.cpp2
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/Config.h2
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp24
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h4
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/OS/Win32.cpp11
5 files changed, 36 insertions, 7 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp
index 251bb6a7ce..6e4ea5c6c7 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp
@@ -78,6 +78,7 @@ void Config::Load()
iniFile.Get("Hacks", "EFBToTextureDisable", &bEBFToTextureDisable, 0);
+ iniFile.Get("Hacks", "EBFToTextureDisableHotKey", &bEBFToTextureDisableHotKey, 0);
iniFile.Get("Hacks", "ProjectionHax1", &bProjectionHax1, 0);
iniFile.Get("Hacks", "ProjectionHax2", &bProjectionHax2, 0);
}
@@ -112,6 +113,7 @@ void Config::Save()
iniFile.Set("Enhancements", "ForceMaxAniso", bForceMaxAniso);
iniFile.Set("Hacks", "EFBToTextureDisable", bEBFToTextureDisable);
+ iniFile.Set("Hacks", "EBFToTextureDisableHotKey", &bEBFToTextureDisableHotKey);
iniFile.Set("Hacks", "ProjectionHax1", bProjectionHax1);
iniFile.Set("Hacks", "ProjectionHax2", bProjectionHax2);
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Config.h b/Source/Plugins/Plugin_VideoOGL/Src/Config.h
index 5642467f7e..4fc640d681 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/Config.h
+++ b/Source/Plugins/Plugin_VideoOGL/Src/Config.h
@@ -62,7 +62,7 @@ struct Config
bool bDumpTextures;
// Hacks
- bool bEBFToTextureDisable;
+ bool bEBFToTextureDisable; bool bEBFToTextureDisableHotKey;
bool bProjectionHax1;
bool bProjectionHax2;
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp
index b7fdb2fe9f..d2886fd5cf 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp
@@ -97,7 +97,12 @@ void ConfigDialog::CreateGUIControls()
m_Fullscreen->SetValue(g_Config.bFullscreen);
m_RenderToMainWindow = new wxCheckBox(m_PageGeneral, ID_RENDERTOMAINWINDOW, wxT("Render to main window"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
m_RenderToMainWindow->SetValue(g_Config.renderToMainframe);
- m_StretchToFit = new wxCheckBox(m_PageGeneral, ID_STRETCHTOFIT, wxT("Stretch to fit (instead of changing res.)"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+ m_StretchToFit = new wxCheckBox(m_PageGeneral, ID_STRETCHTOFIT, wxT("Stretch to fit"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+ m_StretchToFit->SetToolTip
+ ("This will use the game's native resolution and stretch it to fill the"
+ "\nwindow instead of changing the internal display resolution. It"
+ "\nmay result in a slightly blurrier image, but it may also give a higher"
+ "\nFPS if you have a slow graphics card.");
m_StretchToFit->SetValue(g_Config.bStretchToFit);
m_KeepAR = new wxCheckBox(m_PageGeneral, ID_KEEPAR, wxT("Keep 4:3 aspect ratio"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
m_KeepAR->SetValue(g_Config.bKeepAR);
@@ -188,11 +193,20 @@ void ConfigDialog::CreateGUIControls()
// Hacks
sbHacks = new wxStaticBoxSizer(wxVERTICAL, m_PageAdvanced, wxT("Hacks"));
- m_EFBToTextureDisable = new wxCheckBox(m_PageAdvanced, ID_EFBTOTEXTUREDISABLE, wxT("Disable copy EFB to texture"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+ m_EFBToTextureDisable = new wxCheckBox(m_PageAdvanced,
+ ID_EFBTOTEXTUREDISABLE, wxT("Disable copy EFB to texture"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+ m_EFBToTextureDisable->SetToolTip("Do not copy the Embedded Framebuffer (EFB)"
+ " to the\nTexture. This may result in a speed increase.");
m_EFBToTextureDisable->Enable(true);
m_EFBToTextureDisable->SetValue(g_Config.bEBFToTextureDisable);
+ m_EFBToTextureDisableHotKey = new wxCheckBox(m_PageAdvanced,
+ ID_EFBTOTEXTUREDISABLEHOTKEY, wxT("with hotkey E"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+ m_EFBToTextureDisableHotKey->SetToolTip("Use the E key to turn this option on and off");
+ m_EFBToTextureDisableHotKey->SetValue(g_Config.bEBFToTextureDisableHotKey);
m_ProjectionHax1 = new wxCheckBox(m_PageAdvanced, ID_PROJECTIONHACK1, wxT("Projection before R945"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+ m_ProjectionHax1->SetToolTip("This may reveal otherwise invisible graphics"
+ " in\ngames like Mario Galaxy or Ikaruga.");
m_ProjectionHax1->Enable(true);
m_ProjectionHax1->SetValue(g_Config.bProjectionHax1);
@@ -226,6 +240,7 @@ void ConfigDialog::CreateGUIControls()
sHacks = new wxGridBagSizer(0, 0);
sHacks->Add(m_EFBToTextureDisable, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 5);
+ sHacks->Add(m_EFBToTextureDisableHotKey, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5);
sHacks->Add(m_ProjectionHax1, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 5);
sHacks->Add(m_ProjectionHax2, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL, 5);
sbHacks->Add(sHacks);
@@ -288,7 +303,7 @@ void ConfigDialog::GeneralSettingsChanged(wxCommandEvent& event)
case ID_STRETCHTOFIT:
g_Config.bStretchToFit = m_StretchToFit->IsChecked();
break;
- case ID_KEEPAR:
+ case ID_KEEPAR:
g_Config.bKeepAR = m_KeepAR->IsChecked();
break;
case ID_HIDECURSOR:
@@ -355,6 +370,9 @@ void ConfigDialog::AdvancedSettingsChanged(wxCommandEvent& event)
case ID_EFBTOTEXTUREDISABLE:
g_Config.bEBFToTextureDisable = m_EFBToTextureDisable->IsChecked();
break;
+ case ID_EFBTOTEXTUREDISABLEHOTKEY:
+ g_Config.bEBFToTextureDisableHotKey = m_EFBToTextureDisableHotKey->IsChecked();
+ break;
case ID_PROJECTIONHACK1:
g_Config.bProjectionHax1 = m_ProjectionHax1->IsChecked();
break;
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h
index 71d7c70a15..ee343e23a6 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h
+++ b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h
@@ -93,7 +93,7 @@ class ConfigDialog : public wxDialog
wxCheckBox *m_DisableTexturing;
wxCheckBox *m_DumpTextures;
wxDirPickerCtrl *m_TexturePath;
- wxCheckBox *m_EFBToTextureDisable;
+ wxCheckBox *m_EFBToTextureDisable, *m_EFBToTextureDisableHotKey;
wxCheckBox *m_ProjectionHax1;
wxCheckBox *m_ProjectionHax2;
@@ -135,7 +135,7 @@ class ConfigDialog : public wxDialog
ID_DUMPTEXTURES,
ID_TEXTUREPATH,
- ID_EFBTOTEXTUREDISABLE,
+ ID_EFBTOTEXTUREDISABLE, ID_EFBTOTEXTUREDISABLEHOTKEY,
ID_PROJECTIONHACK1,
ID_PROJECTIONHACK2
};
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/OS/Win32.cpp b/Source/Plugins/Plugin_VideoOGL/Src/OS/Win32.cpp
index 62c402f1b3..b656d5a3f4 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/OS/Win32.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/OS/Win32.cpp
@@ -29,8 +29,9 @@
#include "main.h"
#include "Win32.h"
+#include "Render.h" // for AddMessage
-#include "IniFile.h" // we need this for the debugger to work
+#include "StringUtil.h" // for StringFromFormat
void OpenConsole();
void CloseConsole();
@@ -136,6 +137,14 @@ namespace EmuWindow
case MY_KEYS:
hypotheticalScene->sendMessage(KEYDOWN...);
*/
+ case 'E': // EFB hotkey
+ if(g_Config.bEBFToTextureDisableHotKey)
+ {
+ g_Config.bEBFToTextureDisable = !g_Config.bEBFToTextureDisable;
+ Renderer::AddMessage(StringFromFormat("Copy EFB was turned %s",
+ g_Config.bEBFToTextureDisable ? "off" : "on").c_str(), 5000);
+ }
+ break;
}
g_VideoInitialize.pKeyPress(LOWORD(wParam), GetAsyncKeyState(VK_SHIFT) != 0, GetAsyncKeyState(VK_CONTROL) != 0);
break;