- Added missing FrameSkip gui code so skipping works now when you select it ;)

(Implementation is a bit clunky. Might change it later to look a bit nicer, might not.)
- Changed a few more dialog layouts a bit.
- Prevent changes to the PAL/NTSC "base frame rate" in release builds. 
(It's still possible to edit via pcsx2.ini or in devel/debug builds. And yeah, sorry Shadow Lady :p )

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4259 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2011-01-24 19:19:16 +00:00
parent 4647bdadd9
commit 37e4a3a114
3 changed files with 45 additions and 37 deletions

View File

@ -50,7 +50,7 @@ void GSPanel::InitDefaultAccelerators()
m_Accels->Map( AAC( WXK_F8 ).Shift().Cmd(), "Sys_TakeSnapshot");
m_Accels->Map( AAC( WXK_F9 ), "Sys_RenderswitchToggle");
//m_Accels->Map( AAC( WXK_F10 ), "Sys_LoggingToggle" );
m_Accels->Map( AAC( WXK_F10 ), "Sys_LoggingToggle" );
m_Accels->Map( AAC( WXK_F11 ), "Sys_FreezeGS" );
m_Accels->Map( AAC( WXK_F12 ), "Sys_RecordingToggle" );

View File

@ -84,20 +84,44 @@ namespace Implementations
g_LimiterMode = Limit_Turbo;
g_Conf->EmuOptions.GS.LimitScalar = g_Conf->Framerate.TurboScalar;
Console.WriteLn("(FrameLimiter) Turbo + FrameLimit ENABLED." );
if ( g_Conf->Framerate.SkipOnTurbo == true)
g_Conf->EmuOptions.GS.FrameSkipEnable = true;
else
g_Conf->EmuOptions.GS.FrameSkipEnable = false;
}
else if( g_LimiterMode == Limit_Turbo )
{
GSsetVsync( g_Conf->EmuOptions.GS.VsyncEnable );
g_LimiterMode = Limit_Nominal;
g_Conf->EmuOptions.GS.LimitScalar = g_Conf->Framerate.NominalScalar;
Console.WriteLn("(FrameLimiter) Turbo DISABLED." );
if ( g_Conf->Framerate.SkipOnLimit == true)
{
Console.WriteLn("(FrameLimiter) Turbo DISABLED. Frameskip ENABLED" );
g_Conf->EmuOptions.GS.FrameSkipEnable = true;
}
else
{
Console.WriteLn("(FrameLimiter) Turbo DISABLED." );
g_Conf->EmuOptions.GS.FrameSkipEnable = false;
}
}
else
{
GSsetVsync( false );
g_LimiterMode = Limit_Turbo;
g_Conf->EmuOptions.GS.LimitScalar = g_Conf->Framerate.TurboScalar;
Console.WriteLn("(FrameLimiter) Turbo ENABLED." );
if ( g_Conf->Framerate.SkipOnTurbo == true)
{
Console.WriteLn("(FrameLimiter) Turbo + Frameskip ENABLED." );
g_Conf->EmuOptions.GS.FrameSkipEnable = true;
}
else
{
Console.WriteLn("(FrameLimiter) Turbo ENABLED." );
g_Conf->EmuOptions.GS.FrameSkipEnable = false;
}
}
pauser.AllowResume();
}
@ -167,9 +191,10 @@ namespace Implementations
// --arcum42
// FIXME: Some of the trace logs will require recompiler resets to be activated properly.
// But since those haven't been implemented yet, no point in implementing that here either.
#ifdef PCSX2_DEVBUILD
SetTraceConfig().Enabled = !EmuConfig.Trace.Enabled;
GSprintf(10, const_cast<char*>(EmuConfig.Trace.Enabled ? "Logging Enabled." : "Logging Disabled."));
#endif
}
void Sys_FreezeGS()

View File

@ -100,14 +100,6 @@ Panels::FramelimiterPanel::FramelimiterPanel( wxWindow* parent )
*this += s_spins | pxExpand;
*this += s_fps | pxExpand;
*this += 5;
//*this += Heading( pxE( "!Panel:Framelimiter:Heading",
*this += new pxStaticText( this, pxE( "!Panel:Framelimiter:Heading",
L"The internal framelimiter regulates the speed of the virtual machine. Adjustment values below are in "
L"percentages of the default region-based framerate, which can also be configured below." )
);
AppStatusEvent_OnSettingsApplied();
}
@ -135,8 +127,14 @@ void Panels::FramelimiterPanel::ApplyConfigToGui( AppConfig& configToApply, int
m_spin_NominalPct ->Enable(!configToApply.EnablePresets);
m_spin_TurboPct ->Enable(!configToApply.EnablePresets);
m_spin_SlomoPct ->Enable(!configToApply.EnablePresets);
// Vsync timing controls only on devel builds / via manual ini editing
#ifdef PCSX2_DEVBUILD
m_text_BaseNtsc ->Enable(!configToApply.EnablePresets);
m_text_BasePal ->Enable(!configToApply.EnablePresets);
#else
m_text_BaseNtsc ->Enable( 0 );
m_text_BasePal ->Enable( 0 );
#endif
}
void Panels::FramelimiterPanel::Apply()
@ -175,20 +173,6 @@ Panels::FrameSkipPanel::FrameSkipPanel( wxWindow* parent )
: BaseApplicableConfigPanel_SpecificConfig( parent )
{
SetMinWidth( 280 );
/*m_check_EnableSkipOnTurbo = new pxCheckBox( this, _("Use Frameskip for Turbo") );
m_check_EnableSkip = new pxCheckBox( this, _("Use Frameskip"),
_(".") );
m_check_EnableSkip->SetToolTip( pxEt( "!ContextTip:Frameskip:Disable",
L""
L""
) );
m_check_EnableSkipOnTurbo->SetToolTip( pxEt( "!ContextTip:Frameskip:UseForTurbo",
L"Recommended option! Since frameskipping glitches typically aren't as annoying when you're "
L" just trying to speed through stuff."
) );*/
const RadioPanelItem FrameskipOptions[] =
{
@ -197,7 +181,7 @@ Panels::FrameSkipPanel::FrameSkipPanel( wxWindow* parent )
),
RadioPanelItem(
_("Skip when on Turbo only")
_("Skip when on Turbo only (TAB to enable)")
),
RadioPanelItem(
@ -219,9 +203,6 @@ Panels::FrameSkipPanel::FrameSkipPanel( wxWindow* parent )
// ------------------------------------------------------------
// Sizers and Layouts
//*this += m_check_EnableSkipOnTurbo;
//*this += m_check_EnableSkip;
*this += m_radio_SkipMode;
wxFlexGridSizer& s_spins( *new wxFlexGridSizer( 4 ) );
@ -244,6 +225,8 @@ Panels::FrameSkipPanel::FrameSkipPanel( wxWindow* parent )
L"Enabling it will cause severe graphical errors in some games." )
) | StdExpand();
*this += 24; // Extends the right box to match the left one. Only works with (Windows) 100% dpi.
AppStatusEvent_OnSettingsApplied();
}
@ -257,9 +240,6 @@ void Panels::FrameSkipPanel::ApplyConfigToGui( AppConfig& configToApply, int fla
const AppConfig::FramerateOptions& appfps( configToApply.Framerate );
const Pcsx2Config::GSOptions& gsconf( configToApply.EmuOptions.GS );
//m_check_EnableSkip ->SetValue( !appfps.SkipOnLimit );
//m_check_EnableSkipOnTurbo ->SetValue( !appfps.SkipOnTurbo );
m_radio_SkipMode ->SetSelection( appfps.SkipOnLimit ? 2 : (appfps.SkipOnTurbo ? 1 : 0) );
m_spin_FramesToDraw ->SetValue( gsconf.FramesToDraw );
@ -282,16 +262,19 @@ void Panels::FrameSkipPanel::Apply()
case 0:
appfps.SkipOnLimit = false;
appfps.SkipOnTurbo = false;
gsconf.FrameSkipEnable = false;
break;
case 1:
appfps.SkipOnLimit = false;
appfps.SkipOnTurbo = true;
//gsconf.FrameSkipEnable = true;
break;
case 2:
appfps.SkipOnLimit = true;
appfps.SkipOnTurbo = true;
gsconf.FrameSkipEnable = true;
break;
}
@ -308,11 +291,11 @@ Panels::VideoPanel::VideoPanel( wxWindow* parent ) :
wxPanelWithHelpers* left = new wxPanelWithHelpers( this, wxVERTICAL );
wxPanelWithHelpers* right = new wxPanelWithHelpers( this, wxVERTICAL );
m_check_SynchronousGS = new pxCheckBox( right, _("Use Synchronized MTGS"),
m_check_SynchronousGS = new pxCheckBox( left, _("Use Synchronized MTGS"),
_t("For troubleshooting potential bugs in the MTGS only, as it is potentially very slow.")
);
m_check_DisableOutput = new pxCheckBox( right, _("Disable all GS output"),
m_check_DisableOutput = new pxCheckBox( left, _("Disable all GS output"),
_t("Completely disables all GS plugin activity; ideal for benchmarking EEcore components.")
);
@ -341,11 +324,11 @@ Panels::VideoPanel::VideoPanel( wxWindow* parent ) :
*right += m_span | pxExpand;
*right += 5;
*right += m_check_SynchronousGS;
*right += m_check_DisableOutput;
*left += m_fpan | pxExpand;
*left += 5;
*left += m_check_SynchronousGS;
*left += m_check_DisableOutput;
*s_table += left | StdExpand();
*s_table += right | StdExpand();