From ae92387cea1af4aae907f1458dd508afca2438e2 Mon Sep 17 00:00:00 2001 From: "Jake.Stine" Date: Wed, 7 Jul 2010 07:41:44 +0000 Subject: [PATCH] * Fix patches, which were broken in r3398 (they weren't being applied). * Remove some dangerous uses of pxAssume -- pxAssume should only be used for simple in-place operations, and should never call functions (my fault too, I was the one who was using it wrong). git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3410 96395faa-99c1-11dd-bbfe-3dabce05a288 --- common/include/Utilities/Dependencies.h | 2 -- common/include/x86emitter/x86types.h | 22 ++++++++++++++-------- common/src/Utilities/wxAppWithHelpers.cpp | 2 +- common/src/x86emitter/x86emitter.cpp | 8 -------- pcsx2/GameDatabase.h | 2 +- pcsx2/Pcsx2Config.cpp | 4 ++-- pcsx2/PluginManager.cpp | 2 +- pcsx2/gui/AppCoreThread.cpp | 3 +-- pcsx2/gui/AppMain.cpp | 4 ++-- 9 files changed, 22 insertions(+), 27 deletions(-) diff --git a/common/include/Utilities/Dependencies.h b/common/include/Utilities/Dependencies.h index 4f24eddb87..9c02942450 100644 --- a/common/include/Utilities/Dependencies.h +++ b/common/include/Utilities/Dependencies.h @@ -86,8 +86,6 @@ extern const wxPoint wxDefaultPosition; return ((int)id >= enumName##_FIRST) && ((int)id < enumName##_COUNT); } \ static __forceinline bool EnumAssert( enumName id ) { \ return pxAssert( EnumIsValid(id) ); } \ - static __forceinline void EnumAssume( enumName id ) { \ - pxAssume( EnumIsValid(id) ); } \ \ extern const wxChar* EnumToString( enumName id ) diff --git a/common/include/x86emitter/x86types.h b/common/include/x86emitter/x86types.h index 054585f071..e007cfb837 100644 --- a/common/include/x86emitter/x86types.h +++ b/common/include/x86emitter/x86types.h @@ -355,7 +355,6 @@ template< typename T > void xWrite( T val ); public: xRegisterSSE(): _parent() {} - //xRegisterSSE( const xRegisterBase& src ) : _parent( src ) {} explicit xRegisterSSE( int regId ) : _parent( regId ) {} virtual uint GetOperandSize() const { return 16; } @@ -374,14 +373,8 @@ template< typename T > void xWrite( T val ); --Id &= (iREGCNT_XMM-1); return *this; } - - static const xRegisterSSE* const m_tbl_xmmRegs[iREGCNT_XMM]; - static const xRegisterSSE& GetInstance(uint id) - { - pxAssume(id < iREGCNT_XMM); - return *m_tbl_xmmRegs[id]; - } + static const inline xRegisterSSE& GetInstance(uint id); }; class xRegisterCL : public xRegister8 @@ -498,6 +491,19 @@ template< typename T > void xWrite( T val ); extern const xRegisterCL cl; // I'm special! + const xRegisterSSE& xRegisterSSE::GetInstance(uint id) + { + static const xRegisterSSE *const m_tbl_xmmRegs[iREGCNT_XMM] = + { + &xmm0, &xmm1, + &xmm2, &xmm3, + &xmm4, &xmm5, + &xmm6, &xmm7 + }; + + pxAssume(id < iREGCNT_XMM); + return *m_tbl_xmmRegs[id]; + } // -------------------------------------------------------------------------------------- // xAddressVoid diff --git a/common/src/Utilities/wxAppWithHelpers.cpp b/common/src/Utilities/wxAppWithHelpers.cpp index 283491655f..33924b4ca8 100644 --- a/common/src/Utilities/wxAppWithHelpers.cpp +++ b/common/src/Utilities/wxAppWithHelpers.cpp @@ -596,7 +596,7 @@ void wxAppWithHelpers::ProcessAction( pxActionEvent& evt ) void wxAppWithHelpers::DeleteObject( BaseDeletableObject& obj ) { - pxAssume( !obj.IsBeingDeleted() ); + pxAssert( !obj.IsBeingDeleted() ); wxCommandEvent evt( pxEvt_DeleteObject ); evt.SetClientData( (void*)&obj ); AddIdleEvent( evt ); diff --git a/common/src/x86emitter/x86emitter.cpp b/common/src/x86emitter/x86emitter.cpp index 8999d9dc14..610a2a0347 100644 --- a/common/src/x86emitter/x86emitter.cpp +++ b/common/src/x86emitter/x86emitter.cpp @@ -138,14 +138,6 @@ const xRegister8 const xRegisterCL cl; -const xRegisterSSE *const xRegisterSSE::m_tbl_xmmRegs[iREGCNT_XMM] = -{ - &xmm0, &xmm1, - &xmm2, &xmm3, - &xmm4, &xmm5, - &xmm6, &xmm7 -}; - const char *const x86_regnames_gpr8[8] = { "al", "cl", "dl", "bl", diff --git a/pcsx2/GameDatabase.h b/pcsx2/GameDatabase.h index fc15e2bfb4..e5695ce1d1 100644 --- a/pcsx2/GameDatabase.h +++ b/pcsx2/GameDatabase.h @@ -63,7 +63,7 @@ struct key_pair { wxString toString() const { if (key[0] == '[') { - pxAssumeDev( key.EndsWith(L"]"), "Malformed multiline key detected: missing end bracket!" ); + pxAssertDev( key.EndsWith(L"]"), "Malformed multiline key detected: missing end bracket!" ); // Terminating tag must be written without the "rvalue" -- in the form of: // [/patches] diff --git a/pcsx2/Pcsx2Config.cpp b/pcsx2/Pcsx2Config.cpp index b485bc848d..efa01f4c59 100644 --- a/pcsx2/Pcsx2Config.cpp +++ b/pcsx2/Pcsx2Config.cpp @@ -292,7 +292,7 @@ void Pcsx2Config::GamefixOptions::Set( const wxString& list, bool enabled ) void Pcsx2Config::GamefixOptions::Set( GamefixId id, bool enabled ) { - EnumAssume( id ); + EnumAssert( id ); switch(id) { case Fix_VuAddSub: VuAddSubHack = enabled; break; @@ -311,7 +311,7 @@ void Pcsx2Config::GamefixOptions::Set( GamefixId id, bool enabled ) bool Pcsx2Config::GamefixOptions::Get( GamefixId id ) const { - EnumAssume( id ); + EnumAssert( id ); switch(id) { case Fix_VuAddSub: return VuAddSubHack; diff --git a/pcsx2/PluginManager.cpp b/pcsx2/PluginManager.cpp index 1997ccbde3..080f1f5e9d 100644 --- a/pcsx2/PluginManager.cpp +++ b/pcsx2/PluginManager.cpp @@ -1270,7 +1270,7 @@ bool SysCorePlugins::Shutdown() { if( !NeedsShutdown() ) return false; - pxAssumeDev( !NeedsClose(), "Cannot shut down plugins prior to Close()" ); + pxAssertDev( !NeedsClose(), "Cannot shut down plugins prior to Close()" ); GetMTGS().Cancel(); // cancel it for speedier shutdown! diff --git a/pcsx2/gui/AppCoreThread.cpp b/pcsx2/gui/AppCoreThread.cpp index 3e6d7f1317..5f8c435edf 100644 --- a/pcsx2/gui/AppCoreThread.cpp +++ b/pcsx2/gui/AppCoreThread.cpp @@ -296,6 +296,7 @@ void AppCoreThread::ApplySettings( const Pcsx2Config& src ) const wxString newGameKey( SysGetDiscID() ); const bool verbose( newGameKey != curGameKey ); + curGameKey = newGameKey; if (IGameDatabase* GameDB = AppHost_GetGameDatabase() ) { @@ -324,8 +325,6 @@ void AppCoreThread::ApplySettings( const Pcsx2Config& src ) } } - curGameKey = newGameKey; - Console.SetTitle(gameName+gameSerial+gameCompat+gameFixes+gamePatch+gameCheats); // Re-entry guard protects against cases where code wants to manually set core settings diff --git a/pcsx2/gui/AppMain.cpp b/pcsx2/gui/AppMain.cpp index 7ff7825411..2ed0b23391 100644 --- a/pcsx2/gui/AppMain.cpp +++ b/pcsx2/gui/AppMain.cpp @@ -589,7 +589,7 @@ MainEmuFrame& Pcsx2App::GetMainFrame() const MainEmuFrame* mainFrame = GetMainFramePtr(); pxAssume( mainFrame != NULL ); - pxAssume( ((uptr)GetTopWindow()) == ((uptr)mainFrame) ); + pxAssert( ((uptr)GetTopWindow()) == ((uptr)mainFrame) ); return *mainFrame; } @@ -866,7 +866,7 @@ void Pcsx2App::OpenGsPanel() gsFrame->SetSize( oldsize ); } - pxAssumeDev( !GetCorePlugins().IsOpen( PluginId_GS ), "GS Plugin must be closed prior to opening a new Gs Panel!" ); + pxAssertDev( !GetCorePlugins().IsOpen( PluginId_GS ), "GS Plugin must be closed prior to opening a new Gs Panel!" ); pDsp = (uptr)gsFrame->GetViewport()->GetHandle(); gsFrame->ShowFullScreen( g_Conf->GSWindow.IsFullscreen );