mirror of https://github.com/PCSX2/pcsx2.git
* Cmdline: Added warnings when opening settings panels with command line overrides enabled, and force-disable overrides when new settings are manually applied.
* GameDB: Remove the game database from the Settings panel, since it's kinda slow still and it started to drive me nuts. I haven't added another menu option to open it up yet (it will be in its own dialog), but I will soon. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3290 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
35b05e3836
commit
e1890f369e
|
@ -189,7 +189,7 @@ void wxDialogWithHelpers::DoAutoCenter()
|
||||||
{
|
{
|
||||||
const wxSize parentSize( parent->GetSize() );
|
const wxSize parentSize( parent->GetSize() );
|
||||||
|
|
||||||
if( (parentSize.x > ((int)GetSize().x * 1.75)) && (parentSize.y > ((int)GetSize().y * 1.75)) )
|
if( (parentSize.x > ((int)GetSize().x * 1.5)) || (parentSize.y > ((int)GetSize().y * 1.5)) )
|
||||||
{
|
{
|
||||||
CenterOnParent();
|
CenterOnParent();
|
||||||
centerfail = false;
|
centerfail = false;
|
||||||
|
|
|
@ -314,6 +314,7 @@ set(pcsx2GuiSources
|
||||||
gui/Dialogs/ConfirmationDialogs.cpp
|
gui/Dialogs/ConfirmationDialogs.cpp
|
||||||
gui/Dialogs/CreateMemoryCardDialog.cpp
|
gui/Dialogs/CreateMemoryCardDialog.cpp
|
||||||
gui/Dialogs/FirstTimeWizard.cpp
|
gui/Dialogs/FirstTimeWizard.cpp
|
||||||
|
gui/Dialogs/GameDatabaseDialog.cpp
|
||||||
gui/Dialogs/ImportSettingsDialog.cpp
|
gui/Dialogs/ImportSettingsDialog.cpp
|
||||||
gui/Dialogs/LogOptionsDialog.cpp
|
gui/Dialogs/LogOptionsDialog.cpp
|
||||||
gui/Dialogs/McdConfigDialog.cpp
|
gui/Dialogs/McdConfigDialog.cpp
|
||||||
|
|
|
@ -381,6 +381,7 @@
|
||||||
<Unit filename="../gui/Dialogs/ConfirmationDialogs.cpp" />
|
<Unit filename="../gui/Dialogs/ConfirmationDialogs.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/CreateMemoryCardDialog.cpp" />
|
<Unit filename="../gui/Dialogs/CreateMemoryCardDialog.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/FirstTimeWizard.cpp" />
|
<Unit filename="../gui/Dialogs/FirstTimeWizard.cpp" />
|
||||||
|
<Unit filename="../gui/Dialogs/GameDatabaseDialog.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/ImportSettingsDialog.cpp" />
|
<Unit filename="../gui/Dialogs/ImportSettingsDialog.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.cpp" />
|
<Unit filename="../gui/Dialogs/LogOptionsDialog.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.h" />
|
<Unit filename="../gui/Dialogs/LogOptionsDialog.h" />
|
||||||
|
|
|
@ -323,6 +323,12 @@ public:
|
||||||
{
|
{
|
||||||
return DisableSpeedhacks || ApplyCustomGamefixes;
|
return DisableSpeedhacks || ApplyCustomGamefixes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RemoveCustomHacks()
|
||||||
|
{
|
||||||
|
DisableSpeedhacks = false;
|
||||||
|
ApplyCustomGamefixes = false;
|
||||||
|
}
|
||||||
|
|
||||||
bool HasSettingsOverride() const
|
bool HasSettingsOverride() const
|
||||||
{
|
{
|
||||||
|
@ -690,9 +696,6 @@ extern __aligned16 AppCoreThread CoreThread;
|
||||||
extern __aligned16 SysMtgsThread mtgsThread;
|
extern __aligned16 SysMtgsThread mtgsThread;
|
||||||
extern __aligned16 AppPluginManager CorePlugins;
|
extern __aligned16 AppPluginManager CorePlugins;
|
||||||
|
|
||||||
extern wxString AddAppName( const wxChar* fmt );
|
|
||||||
extern wxString AddAppName( const char* fmt );
|
|
||||||
|
|
||||||
extern void UI_UpdateSysControls();
|
extern void UI_UpdateSysControls();
|
||||||
|
|
||||||
extern void UI_DisableStateActions();
|
extern void UI_DisableStateActions();
|
||||||
|
|
|
@ -27,4 +27,7 @@
|
||||||
|
|
||||||
#include "AppForwardDefs.h"
|
#include "AppForwardDefs.h"
|
||||||
#include "AppConfig.h"
|
#include "AppConfig.h"
|
||||||
#include "AppEventListeners.h"
|
#include "AppEventListeners.h"
|
||||||
|
|
||||||
|
extern wxString AddAppName( const wxChar* fmt );
|
||||||
|
extern wxString AddAppName( const char* fmt );
|
||||||
|
|
|
@ -353,8 +353,9 @@ wxString AppConfig::FullpathToMcd( uint slot ) const
|
||||||
AppConfig::AppConfig()
|
AppConfig::AppConfig()
|
||||||
: MainGuiPosition( wxDefaultPosition )
|
: MainGuiPosition( wxDefaultPosition )
|
||||||
, SysSettingsTabName( L"Cpu" )
|
, SysSettingsTabName( L"Cpu" )
|
||||||
, McdSettingsTabName( L"Standard" )
|
, McdSettingsTabName( L"none" )
|
||||||
, AppSettingsTabName( L"Plugins" )
|
, AppSettingsTabName( L"Plugins" )
|
||||||
|
, GameDatabaseTabName( L"none" )
|
||||||
, DeskTheme( L"default" )
|
, DeskTheme( L"default" )
|
||||||
{
|
{
|
||||||
LanguageId = wxLANGUAGE_DEFAULT;
|
LanguageId = wxLANGUAGE_DEFAULT;
|
||||||
|
@ -459,6 +460,7 @@ void AppConfig::LoadSaveRootItems( IniInterface& ini )
|
||||||
IniEntry( SysSettingsTabName );
|
IniEntry( SysSettingsTabName );
|
||||||
IniEntry( McdSettingsTabName );
|
IniEntry( McdSettingsTabName );
|
||||||
IniEntry( AppSettingsTabName );
|
IniEntry( AppSettingsTabName );
|
||||||
|
IniEntry( GameDatabaseTabName );
|
||||||
ini.EnumEntry( L"LanguageId", LanguageId, NULL, defaults.LanguageId );
|
ini.EnumEntry( L"LanguageId", LanguageId, NULL, defaults.LanguageId );
|
||||||
IniEntry( RecentIsoCount );
|
IniEntry( RecentIsoCount );
|
||||||
IniEntry( DeskTheme );
|
IniEntry( DeskTheme );
|
||||||
|
|
|
@ -189,6 +189,7 @@ public:
|
||||||
wxString SysSettingsTabName;
|
wxString SysSettingsTabName;
|
||||||
wxString McdSettingsTabName;
|
wxString McdSettingsTabName;
|
||||||
wxString AppSettingsTabName;
|
wxString AppSettingsTabName;
|
||||||
|
wxString GameDatabaseTabName;
|
||||||
|
|
||||||
// Current language in use (correlates to a wxWidgets wxLANGUAGE specifier)
|
// Current language in use (correlates to a wxWidgets wxLANGUAGE specifier)
|
||||||
wxLanguage LanguageId;
|
wxLanguage LanguageId;
|
||||||
|
|
|
@ -113,6 +113,21 @@ namespace Dialogs
|
||||||
void OnMultitapClicked( wxCommandEvent& evt );
|
void OnMultitapClicked( wxCommandEvent& evt );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------------------
|
||||||
|
// GameDatabaseDialog
|
||||||
|
// --------------------------------------------------------------------------------------
|
||||||
|
class GameDatabaseDialog : public BaseConfigurationDialog
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~GameDatabaseDialog() throw() {}
|
||||||
|
GameDatabaseDialog(wxWindow* parent=NULL);
|
||||||
|
static wxString GetNameStatic() { return L"GameDatabase"; }
|
||||||
|
wxString GetDialogName() const { return GetNameStatic(); }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual wxString& GetConfSettingsTabName() const { return g_Conf->GameDatabaseTabName; }
|
||||||
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
// ComponentsConfigDialog
|
// ComponentsConfigDialog
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
|
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
||||||
|
*
|
||||||
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
* ation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE. See the GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "PrecompiledHeader.h"
|
||||||
|
#include "ConfigurationDialog.h"
|
||||||
|
#include "Panels/ConfigurationPanels.h"
|
||||||
|
|
||||||
|
Dialogs::GameDatabaseDialog::GameDatabaseDialog(wxWindow* parent)
|
||||||
|
: BaseConfigurationDialog( parent, AddAppName(_("Game Database - %s")), 580 )
|
||||||
|
{
|
||||||
|
ScopedBusyCursor busy( Cursor_ReallyBusy );
|
||||||
|
|
||||||
|
*this += new Panels::GameDatabasePanel(this);
|
||||||
|
|
||||||
|
AddOkCancel();
|
||||||
|
}
|
|
@ -24,6 +24,46 @@
|
||||||
|
|
||||||
using namespace Panels;
|
using namespace Panels;
|
||||||
|
|
||||||
|
static void CheckHacksOverrides()
|
||||||
|
{
|
||||||
|
if( !wxGetApp().Overrides.HasCustomHacks() ) return;
|
||||||
|
|
||||||
|
// The user has commandline overrides enabled, so the options they see here and/or apply won't match
|
||||||
|
// the commandline overrides. Let them know!
|
||||||
|
|
||||||
|
wxDialogWithHelpers dialog( wxFindWindowByName( L"Dialog:" + Dialogs::SysConfigDialog::GetNameStatic() ), _("Config Overrides Warning") );
|
||||||
|
|
||||||
|
dialog += dialog.Text( pxE(".Panel:HasHacksOverrides",
|
||||||
|
L"Warning! You are running PCSX2 with command line options that override your configured settings. "
|
||||||
|
L"These command line options will not be reflected in the Settings dialog, and will be disabled "
|
||||||
|
L"if you apply any changes here."
|
||||||
|
));
|
||||||
|
|
||||||
|
// [TODO] : List command line option overrides in action?
|
||||||
|
|
||||||
|
pxIssueConfirmation( dialog, MsgButtons().OK(), L"Dialog:SysConfig:Overrides" );
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CheckPluginsOverrides()
|
||||||
|
{
|
||||||
|
if( !wxGetApp().Overrides.HasPluginsOverride() ) return;
|
||||||
|
|
||||||
|
// The user has commandline overrides enabled, so the options they see here and/or apply won't match
|
||||||
|
// the commandline overrides. Let them know!
|
||||||
|
|
||||||
|
wxDialogWithHelpers dialog( NULL, _("Components Overrides Warning") );
|
||||||
|
|
||||||
|
dialog += dialog.Text( pxE(".Panel:HasPluginsOverrides",
|
||||||
|
L"Warning! You are running PCSX2 with command line options that override your configured plugin and/or folder settings. "
|
||||||
|
L"These command line options will not be reflected in the settings dialog, and will be disabled "
|
||||||
|
L"when you apply settings changes here."
|
||||||
|
));
|
||||||
|
|
||||||
|
// [TODO] : List command line option overrides in action?
|
||||||
|
|
||||||
|
pxIssueConfirmation( dialog, MsgButtons().OK(), L"Dialog:ComponentsConfig:Overrides" );
|
||||||
|
}
|
||||||
|
|
||||||
Dialogs::SysConfigDialog::SysConfigDialog(wxWindow* parent)
|
Dialogs::SysConfigDialog::SysConfigDialog(wxWindow* parent)
|
||||||
: BaseConfigurationDialog( parent, AddAppName(_("Emulation Settings - %s")), 580 )
|
: BaseConfigurationDialog( parent, AddAppName(_("Emulation Settings - %s")), 580 )
|
||||||
{
|
{
|
||||||
|
@ -38,10 +78,13 @@ Dialogs::SysConfigDialog::SysConfigDialog(wxWindow* parent)
|
||||||
AddPage<GSWindowSettingsPanel> ( wxLt("GS Window"), cfgid.Video );
|
AddPage<GSWindowSettingsPanel> ( wxLt("GS Window"), cfgid.Video );
|
||||||
AddPage<SpeedHacksPanel> ( wxLt("Speedhacks"), cfgid.Speedhacks );
|
AddPage<SpeedHacksPanel> ( wxLt("Speedhacks"), cfgid.Speedhacks );
|
||||||
AddPage<GameFixesPanel> ( wxLt("Game Fixes"), cfgid.Gamefixes );
|
AddPage<GameFixesPanel> ( wxLt("Game Fixes"), cfgid.Gamefixes );
|
||||||
AddPage<GameDatabasePanel> ( wxLt("Game Database"),cfgid.Plugins );
|
//AddPage<GameDatabasePanel> ( wxLt("Game Database"),cfgid.Plugins );
|
||||||
|
|
||||||
AddListbook();
|
AddListbook();
|
||||||
AddOkCancel();
|
AddOkCancel();
|
||||||
|
|
||||||
|
if( wxGetApp().Overrides.HasCustomHacks() )
|
||||||
|
wxGetApp().PostMethod( CheckHacksOverrides );
|
||||||
}
|
}
|
||||||
|
|
||||||
Dialogs::ComponentsConfigDialog::ComponentsConfigDialog(wxWindow* parent)
|
Dialogs::ComponentsConfigDialog::ComponentsConfigDialog(wxWindow* parent)
|
||||||
|
@ -58,4 +101,7 @@ Dialogs::ComponentsConfigDialog::ComponentsConfigDialog(wxWindow* parent)
|
||||||
|
|
||||||
AddListbook();
|
AddListbook();
|
||||||
AddOkCancel();
|
AddOkCancel();
|
||||||
|
|
||||||
|
if( wxGetApp().Overrides.HasPluginsOverride() )
|
||||||
|
wxGetApp().PostMethod( CheckPluginsOverrides );
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "PrecompiledHeader.h"
|
#include "PrecompiledHeader.h"
|
||||||
|
#include "App.h"
|
||||||
#include "ConfigurationPanels.h"
|
#include "ConfigurationPanels.h"
|
||||||
|
|
||||||
using namespace pxSizerFlags;
|
using namespace pxSizerFlags;
|
||||||
|
@ -109,6 +110,9 @@ void Panels::GameFixesPanel::Apply()
|
||||||
Pcsx2Config::GamefixOptions& opts( g_Conf->EmuOptions.Gamefixes );
|
Pcsx2Config::GamefixOptions& opts( g_Conf->EmuOptions.Gamefixes );
|
||||||
for (GamefixId i=GamefixId_FIRST; i < pxEnumEnd; ++i)
|
for (GamefixId i=GamefixId_FIRST; i < pxEnumEnd; ++i)
|
||||||
opts.Set((GamefixId)i, m_checkbox[i]->GetValue());
|
opts.Set((GamefixId)i, m_checkbox[i]->GetValue());
|
||||||
|
|
||||||
|
// make sure the user's command line specifications are disabled (if present).
|
||||||
|
wxGetApp().Overrides.ApplyCustomGamefixes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Panels::GameFixesPanel::EnableStuff()
|
void Panels::GameFixesPanel::EnableStuff()
|
||||||
|
|
|
@ -14,10 +14,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "PrecompiledHeader.h"
|
#include "PrecompiledHeader.h"
|
||||||
|
#include "App.h"
|
||||||
#include "ConfigurationPanels.h"
|
#include "ConfigurationPanels.h"
|
||||||
|
|
||||||
#include "System.h"
|
|
||||||
|
|
||||||
using namespace pxSizerFlags;
|
using namespace pxSizerFlags;
|
||||||
|
|
||||||
const wxChar* Panels::SpeedHacksPanel::GetEEcycleSliderMsg( int val )
|
const wxChar* Panels::SpeedHacksPanel::GetEEcycleSliderMsg( int val )
|
||||||
|
@ -324,6 +323,10 @@ void Panels::SpeedHacksPanel::Apply()
|
||||||
opts.IntcStat = m_check_intc->GetValue();
|
opts.IntcStat = m_check_intc->GetValue();
|
||||||
opts.vuFlagHack = m_check_vuFlagHack->GetValue();
|
opts.vuFlagHack = m_check_vuFlagHack->GetValue();
|
||||||
opts.vuMinMax = m_check_vuMinMax->GetValue();
|
opts.vuMinMax = m_check_vuMinMax->GetValue();
|
||||||
|
|
||||||
|
// If the user has a command line override specified, we need to disable it
|
||||||
|
// so that their changes take effect
|
||||||
|
wxGetApp().Overrides.DisableSpeedhacks = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Panels::SpeedHacksPanel::OnEnable_Toggled( wxCommandEvent& evt )
|
void Panels::SpeedHacksPanel::OnEnable_Toggled( wxCommandEvent& evt )
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="$(SolutionDir)\bin\$(PcsxSubsection)"
|
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\vsprops\common.vsprops;..\..\..\common\vsprops\BaseProperties.vsprops;..\..\..\common\vsprops\3rdpartyDeps.vsprops;..\..\..\common\vsprops\pthreads.vsprops;.\vsprops\devbuild.vsprops;..\..\..\common\vsprops\CodeGen_Debug.vsprops;..\..\..\common\vsprops\IncrementalLinking.vsprops;..\..\..\common\vsprops\wxWidgetsGui.vsprops"
|
InheritedPropertySheets=".\vsprops\common.vsprops;..\..\..\common\vsprops\BaseProperties.vsprops;..\..\..\common\vsprops\3rdpartyDeps.vsprops;..\..\..\common\vsprops\pthreads.vsprops;.\vsprops\devbuild.vsprops;..\..\..\common\vsprops\CodeGen_Debug.vsprops;..\..\..\common\vsprops\IncrementalLinking.vsprops;..\..\..\common\vsprops\wxWidgetsGui.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
|
@ -2040,6 +2039,10 @@
|
||||||
RelativePath="..\..\gui\Dialogs\FirstTimeWizard.cpp"
|
RelativePath="..\..\gui\Dialogs\FirstTimeWizard.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\gui\Dialogs\GameDatabaseDialog.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\gui\Dialogs\ImportSettingsDialog.cpp"
|
RelativePath="..\..\gui\Dialogs\ImportSettingsDialog.cpp"
|
||||||
>
|
>
|
||||||
|
|
|
@ -2004,13 +2004,11 @@ void __fastcall VU1XGKICK_MTGSTransfer(u32 *pMem, u32 addr)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pxAssumeMsg((Path1WritePos+size < sizeof(Path1Buffer)), "XGKick Buffer Overflow detected on Path1Buffer!");
|
|
||||||
|
|
||||||
//DevCon.Warning("GIF APATH busy %x Holding for later W %x, R %x", gifRegs->stat.APATH, Path1WritePos, Path1ReadPos);
|
//DevCon.Warning("GIF APATH busy %x Holding for later W %x, R %x", gifRegs->stat.APATH, Path1WritePos, Path1ReadPos);
|
||||||
size = GIFPath_ParseTag(GIF_PATH_1, data, diff, true);
|
size = GIFPath_ParseTag(GIF_PATH_1, data, diff, true);
|
||||||
pDest = &Path1Buffer[Path1WritePos*16];
|
pDest = &Path1Buffer[Path1WritePos*16];
|
||||||
|
|
||||||
|
pxAssumeMsg((Path1WritePos+size < sizeof(Path1Buffer)), "XGKick Buffer Overflow detected on Path1Buffer!");
|
||||||
|
|
||||||
//DevCon.Warning("Storing size %x PATH 1", size);
|
//DevCon.Warning("Storing size %x PATH 1", size);
|
||||||
if (size > diff) {
|
if (size > diff) {
|
||||||
|
|
Loading…
Reference in New Issue