diff options
| author | John Peterson <jpeterson57@gmail.com> | 2008-11-22 16:46:12 +0000 |
|---|---|---|
| committer | John Peterson <jpeterson57@gmail.com> | 2008-11-22 16:46:12 +0000 |
| commit | f0596fee55656e45c33eb30d2ffaed65cd413efb (patch) | |
| tree | 6e5ac34f17f071bb752f1c8854ea00f7b0636b60 /Source/Plugins/Plugin_VideoOGL | |
| parent | 36bf2fedf696c0795d0731904346b594a906df54 (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.cpp | 2 | ||||
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/Config.h | 2 | ||||
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp | 24 | ||||
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h | 4 | ||||
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/OS/Win32.cpp | 11 |
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;
|
