From 03909ce78c2f0b811e339affa5fdff89cfa4a913 Mon Sep 17 00:00:00 2001 From: "Jake.Stine" Date: Sun, 22 Nov 2009 10:50:27 +0000 Subject: [PATCH] Hacked in a working synchronized MTGS option in the Video panel (it's the only option that actually works at the moment). For debugging purposes. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2237 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/gui/Panels/ConfigurationPanels.h | 2 ++ pcsx2/gui/Panels/VideoPanel.cpp | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/pcsx2/gui/Panels/ConfigurationPanels.h b/pcsx2/gui/Panels/ConfigurationPanels.h index c54c28b3dd..bda377cd49 100644 --- a/pcsx2/gui/Panels/ConfigurationPanels.h +++ b/pcsx2/gui/Panels/ConfigurationPanels.h @@ -204,6 +204,8 @@ namespace Panels class VideoPanel : public BaseApplicableConfigPanel { protected: + pxCheckBox* m_check_SynchronousGS; + public: VideoPanel( wxWindow* parent ); virtual ~VideoPanel() throw() {} diff --git a/pcsx2/gui/Panels/VideoPanel.cpp b/pcsx2/gui/Panels/VideoPanel.cpp index e9a6291e2e..eeb6f08486 100644 --- a/pcsx2/gui/Panels/VideoPanel.cpp +++ b/pcsx2/gui/Panels/VideoPanel.cpp @@ -236,6 +236,10 @@ void Panels::GSWindowSettingsPanel::Apply() Panels::VideoPanel::VideoPanel( wxWindow* parent ) : BaseApplicableConfigPanel( parent ) { + m_check_SynchronousGS = new pxCheckBox( this, _("Force Synchronized MTGS"), + _("For troubleshooting possible bugs in the MTGS. Enabling this option will be a big slowdown.") + ); + wxPanelWithHelpers* left = new wxPanelWithHelpers( this, wxVERTICAL ); wxPanelWithHelpers* right = new wxPanelWithHelpers( this, wxVERTICAL ); left->SetIdealWidth( (left->GetIdealWidth()-16) / 2 ); @@ -256,14 +260,18 @@ Panels::VideoPanel::VideoPanel( wxWindow* parent ) : *s_table += right | StdExpand(); *this += Heading(L"This panel is not implemented yet.\nIT DOES NOT WORK. AT ALL."); + *this += m_check_SynchronousGS; *this += s_table; // TODO: // Framelimiting / Frameskipping / Vsync // GS Window Options ( incl. Fullscreen ) // MTGS Forced Synchronization + + m_check_SynchronousGS->SetValue( g_Conf->EmuOptions.Video.SynchronousMTGS ); } void Panels::VideoPanel::Apply() { + g_Conf->EmuOptions.Video.SynchronousMTGS = m_check_SynchronousGS->GetValue(); }