mirror of
https://github.com/libretro/pcsx2.git
synced 2024-12-21 09:18:18 +00:00
wxgui: improve single-threaded plugin enumerator for Linux (still a bit buggy)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1743 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
0fa673fdd2
commit
93e1d87a22
@ -50,6 +50,8 @@ namespace Threading
|
||||
// your sister, and then cheating on her with your daughter.
|
||||
PersistentThread::~PersistentThread()
|
||||
{
|
||||
if( !m_running ) return;
|
||||
|
||||
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
||||
|
||||
if( !_InterlockedExchange( &m_detached, true ) )
|
||||
@ -62,9 +64,7 @@ namespace Threading
|
||||
// This function should not be called from the owner thread.
|
||||
void PersistentThread::Start()
|
||||
{
|
||||
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
||||
if( m_running ) return;
|
||||
|
||||
if( pthread_create( &m_thread, NULL, _internal_callback, this ) != 0 )
|
||||
throw Exception::ThreadCreationError();
|
||||
|
||||
@ -74,8 +74,10 @@ namespace Threading
|
||||
// This function should not be called from the owner thread.
|
||||
void PersistentThread::Detach()
|
||||
{
|
||||
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
||||
if( !m_running ) return;
|
||||
if( _InterlockedExchange( &m_detached, true ) ) return;
|
||||
|
||||
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
||||
pthread_detach( m_thread );
|
||||
}
|
||||
|
||||
@ -92,7 +94,6 @@ namespace Threading
|
||||
//
|
||||
void PersistentThread::Cancel( bool isBlocking )
|
||||
{
|
||||
wxASSERT( !IsSelf() );
|
||||
if( _InterlockedExchange( &m_detached, true ) )
|
||||
{
|
||||
if( m_running )
|
||||
@ -100,6 +101,7 @@ namespace Threading
|
||||
return;
|
||||
}
|
||||
|
||||
wxASSERT( !IsSelf() );
|
||||
pthread_cancel( m_thread );
|
||||
|
||||
if( isBlocking )
|
||||
@ -120,8 +122,6 @@ namespace Threading
|
||||
//
|
||||
sptr PersistentThread::Block()
|
||||
{
|
||||
DevAssert( !IsSelf(), "Thread deadlock detected; Block() should never be called by the owner thread." );
|
||||
|
||||
if( _InterlockedExchange( &m_detached, true ) )
|
||||
{
|
||||
// already detached: if we're still running then its an invalid operation
|
||||
@ -132,11 +132,12 @@ namespace Threading
|
||||
}
|
||||
else
|
||||
{
|
||||
DevAssert( !IsSelf(), "Thread deadlock detected; Block() should never be called by the owner thread." );
|
||||
pthread_join( m_thread, (void**)&m_returncode );
|
||||
return m_returncode;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool PersistentThread::IsSelf() const
|
||||
{
|
||||
return pthread_self() == m_thread;
|
||||
|
@ -1,416 +1,410 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="pcsx2" />
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option pch_mode="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option output="$(SvnRootDir)/bin/pcsx2-dbg" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||
<Option object_output="./.objs/debug" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
||||
<Add option="-DPCSX2_DEVBUILD" />
|
||||
<Add option="-DPCSX2_DEBUG" />
|
||||
</Compiler>
|
||||
<ResourceCompiler>
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
</ResourceCompiler>
|
||||
<Linker>
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
||||
<Add library="$(SvnRootDir)/deps/debug/zlib.a" />
|
||||
<Add library="$(SvnRootDir)/deps/debug/libx86emitter.a" />
|
||||
<Add library="$(SvnRootDir)/deps/debug/libUtilities.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Devel">
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option output="$(SvnRootDir)/bin/pcsx2-dev" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||
<Option object_output="./.objs/devel" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
<Add option="-W" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
||||
<Add option="-DNDEBUG" />
|
||||
<Add option="-DPCSX2_DEVBUILD" />
|
||||
</Compiler>
|
||||
<ResourceCompiler>
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
</ResourceCompiler>
|
||||
<Linker>
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
||||
<Add library="$(SvnRootDir)/deps/devel/zlib.a" />
|
||||
<Add library="$(SvnRootDir)/deps/devel/libx86emitter.a" />
|
||||
<Add library="$(SvnRootDir)/deps/devel/libUtilities.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option output="$(SvnRootDir)/bin/pcsx2" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||
<Option object_output="./.objs/release" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --cflags`" />
|
||||
<Add option="-DNDEBUG" />
|
||||
</Compiler>
|
||||
<ResourceCompiler>
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
</ResourceCompiler>
|
||||
<Linker>
|
||||
<Add option="-s" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --libs`" />
|
||||
<Add library="$(SvnRootDir)/deps/release/zlib.a" />
|
||||
<Add library="$(SvnRootDir)/deps/release/libx86emitter.a" />
|
||||
<Add library="$(SvnRootDir)/deps/release/libUtilities.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Environment>
|
||||
<Variable name="SvnRootDir" value="../../" />
|
||||
<Variable name="ProjectRootDir" value='"$(SvnRootDir)/pcsx2/"' />
|
||||
<Variable name="CommonDir" value='"$(SvnRootDir)/common/"' />
|
||||
</Environment>
|
||||
</Build>
|
||||
<Compiler>
|
||||
<Add option="-march=athlon" />
|
||||
<Add option="-march=pentium4" />
|
||||
<Add option="-march=i686" />
|
||||
<Add option="-march=i586" />
|
||||
<Add option="-Wno-format" />
|
||||
<Add option="-Wno-unused-parameter" />
|
||||
<Add option="-Wno-unused-value" />
|
||||
<Add option="-Wunused-variable" />
|
||||
<Add option="-fno-guess-branch-probability" />
|
||||
<Add option="-fno-dse" />
|
||||
<Add option="-fno-tree-dse" />
|
||||
<Add option="-pipe -msse -msse2" />
|
||||
<Add option="-DWX_PRECOMP" />
|
||||
<Add directory="$(SvnRootDir)/common/include/" />
|
||||
<Add directory="$(SvnRootDir)/3rdparty/" />
|
||||
<Add directory="$(ProjectRootDir)" />
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
<Add directory="$(ProjectRootDir)/x86" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="-Xlinker -zmuldefs" />
|
||||
</Linker>
|
||||
<Unit filename="../../common/include/PS2Edefs.h" />
|
||||
<Unit filename="../../common/include/PS2Etypes.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Api.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Config.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Defs.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Types.h" />
|
||||
<Unit filename="../../common/include/PluginCallbacks.h" />
|
||||
<Unit filename="../../common/include/wx/folderdesc.txt" />
|
||||
<Unit filename="../../common/include/wx/scopedarray.h" />
|
||||
<Unit filename="../../common/include/wx/scopedptr.h" />
|
||||
<Unit filename="../CDVD/CDVD.cpp" />
|
||||
<Unit filename="../CDVD/CDVD.h" />
|
||||
<Unit filename="../CDVD/CDVD_internal.h" />
|
||||
<Unit filename="../CDVD/CDVDaccess.cpp" />
|
||||
<Unit filename="../CDVD/CDVDaccess.h" />
|
||||
<Unit filename="../CDVD/CDVDisoReader.cpp" />
|
||||
<Unit filename="../CDVD/CDVDisoReader.h" />
|
||||
<Unit filename="../CDVD/CdRom.cpp" />
|
||||
<Unit filename="../CDVD/CdRom.h" />
|
||||
<Unit filename="../CDVD/IsoFScdvd.h" />
|
||||
<Unit filename="../CDVD/IsoFSdrv.cpp" />
|
||||
<Unit filename="../CDVD/IsoFSdrv.h" />
|
||||
<Unit filename="../CDVD/IsoFStools.cpp" />
|
||||
<Unit filename="../CDVD/IsoFStools.h" />
|
||||
<Unit filename="../CDVD/IsoFileFormats.cpp" />
|
||||
<Unit filename="../CDVD/IsoFileFormats.h" />
|
||||
<Unit filename="../CDVD/IsoFileTools.cpp" />
|
||||
<Unit filename="../CDVD/IsoFileTools.h" />
|
||||
<Unit filename="../CDVD/IsoFileTools.h.save" />
|
||||
<Unit filename="../CDVD/Makefile.am" />
|
||||
<Unit filename="../COP0.cpp" />
|
||||
<Unit filename="../COP2.cpp" />
|
||||
<Unit filename="../Cache.cpp" />
|
||||
<Unit filename="../Cache.h" />
|
||||
<Unit filename="../Common.h" />
|
||||
<Unit filename="../Config.h" />
|
||||
<Unit filename="../Counters.cpp" />
|
||||
<Unit filename="../Counters.h" />
|
||||
<Unit filename="../DebugTools/Debug.h" />
|
||||
<Unit filename="../DebugTools/DisASM.h" />
|
||||
<Unit filename="../DebugTools/DisR3000A.cpp" />
|
||||
<Unit filename="../DebugTools/DisR5900.cpp" />
|
||||
<Unit filename="../DebugTools/DisR5900asm.cpp" />
|
||||
<Unit filename="../DebugTools/DisVU0Micro.cpp" />
|
||||
<Unit filename="../DebugTools/DisVU1Micro.cpp" />
|
||||
<Unit filename="../DebugTools/DisVUmicro.h" />
|
||||
<Unit filename="../DebugTools/DisVUops.h" />
|
||||
<Unit filename="../Docs/ChangeLog.txt" />
|
||||
<Unit filename="../Docs/License.txt" />
|
||||
<Unit filename="../Docs/PS2Edefs.txt" />
|
||||
<Unit filename="../Docs/RemoteDebugging.txt" />
|
||||
<Unit filename="../Docs/devblog.txt" />
|
||||
<Unit filename="../Docs/readme 0.9.4.txt" />
|
||||
<Unit filename="../Docs/readme Playground.txt" />
|
||||
<Unit filename="../Dump.cpp" />
|
||||
<Unit filename="../Dump.h" />
|
||||
<Unit filename="../Elfheader.cpp" />
|
||||
<Unit filename="../Elfheader.h" />
|
||||
<Unit filename="../FPU.cpp" />
|
||||
<Unit filename="../FiFo.cpp" />
|
||||
<Unit filename="../GS.cpp" />
|
||||
<Unit filename="../GS.h" />
|
||||
<Unit filename="../Gif.cpp" />
|
||||
<Unit filename="../HashMap.h" />
|
||||
<Unit filename="../HashTools.cpp" />
|
||||
<Unit filename="../HostGui.h" />
|
||||
<Unit filename="../Hw.cpp" />
|
||||
<Unit filename="../Hw.h" />
|
||||
<Unit filename="../HwRead.cpp" />
|
||||
<Unit filename="../HwWrite.cpp" />
|
||||
<Unit filename="../IPU/IPU.cpp" />
|
||||
<Unit filename="../IPU/IPU.h" />
|
||||
<Unit filename="../IPU/acoroutine.S" />
|
||||
<Unit filename="../IPU/coroutine.cpp" />
|
||||
<Unit filename="../IPU/coroutine.h" />
|
||||
<Unit filename="../IPU/mpeg2lib/Idct.cpp" />
|
||||
<Unit filename="../IPU/mpeg2lib/Mpeg.cpp" />
|
||||
<Unit filename="../IPU/mpeg2lib/Mpeg.h" />
|
||||
<Unit filename="../IPU/mpeg2lib/Vlc.h" />
|
||||
<Unit filename="../IPU/yuv2rgb.cpp" />
|
||||
<Unit filename="../IPU/yuv2rgb.h" />
|
||||
<Unit filename="../Interpreter.cpp" />
|
||||
<Unit filename="../IopBios.cpp" />
|
||||
<Unit filename="../IopBios.h" />
|
||||
<Unit filename="../IopBios2.h" />
|
||||
<Unit filename="../IopCommon.h" />
|
||||
<Unit filename="../IopCounters.cpp" />
|
||||
<Unit filename="../IopCounters.h" />
|
||||
<Unit filename="../IopDma.cpp" />
|
||||
<Unit filename="../IopDma.h" />
|
||||
<Unit filename="../IopHw.cpp" />
|
||||
<Unit filename="../IopHw.h" />
|
||||
<Unit filename="../IopMem.cpp" />
|
||||
<Unit filename="../IopMem.h" />
|
||||
<Unit filename="../IopSio2.cpp" />
|
||||
<Unit filename="../IopSio2.h" />
|
||||
<Unit filename="LnxHostSys.cpp" />
|
||||
<Unit filename="../MMI.cpp" />
|
||||
<Unit filename="../MTGS.cpp" />
|
||||
<Unit filename="../Memory.cpp" />
|
||||
<Unit filename="../Memory.h" />
|
||||
<Unit filename="../MemoryCard.cpp" />
|
||||
<Unit filename="../MemoryCard.h" />
|
||||
<Unit filename="../Misc.cpp" />
|
||||
<Unit filename="../Misc.h" />
|
||||
<Unit filename="../NakedAsm.h" />
|
||||
<Unit filename="../Patch.cpp" />
|
||||
<Unit filename="../Patch.h" />
|
||||
<Unit filename="../PathUtils.cpp" />
|
||||
<Unit filename="../Paths.h" />
|
||||
<Unit filename="../Pcsx2Config.cpp" />
|
||||
<Unit filename="../PluginManager.cpp" />
|
||||
<Unit filename="../Plugins.h" />
|
||||
<Unit filename="../PrecompiledHeader.h" />
|
||||
<Unit filename="../R3000A.cpp" />
|
||||
<Unit filename="../R3000A.h" />
|
||||
<Unit filename="../R3000AInterpreter.cpp" />
|
||||
<Unit filename="../R3000AOpcodeTables.cpp" />
|
||||
<Unit filename="../R5900.cpp" />
|
||||
<Unit filename="../R5900.h" />
|
||||
<Unit filename="../R5900Exceptions.h" />
|
||||
<Unit filename="../R5900OpcodeImpl.cpp" />
|
||||
<Unit filename="../R5900OpcodeTables.cpp" />
|
||||
<Unit filename="../R5900OpcodeTables.h" />
|
||||
<Unit filename="../RecoverySystem.cpp" />
|
||||
<Unit filename="../SPR.cpp" />
|
||||
<Unit filename="../SPR.h" />
|
||||
<Unit filename="../SamplProf.h" />
|
||||
<Unit filename="../SaveState.cpp" />
|
||||
<Unit filename="../SaveState.h" />
|
||||
<Unit filename="../Sif.cpp" />
|
||||
<Unit filename="../Sif.h" />
|
||||
<Unit filename="../Sifcmd.h" />
|
||||
<Unit filename="../Sio.cpp" />
|
||||
<Unit filename="../Sio.h" />
|
||||
<Unit filename="../SourceLog.cpp" />
|
||||
<Unit filename="../Stats.cpp" />
|
||||
<Unit filename="../Stats.h" />
|
||||
<Unit filename="../StringUtils.h" />
|
||||
<Unit filename="../System.cpp" />
|
||||
<Unit filename="../System.h" />
|
||||
<Unit filename="../Utilities/AsciiFile.h" />
|
||||
<Unit filename="../Utilities/FileUtils.cpp" />
|
||||
<Unit filename="../Utilities/folderdesc.txt" />
|
||||
<Unit filename="../VU.h" />
|
||||
<Unit filename="../VU0.cpp" />
|
||||
<Unit filename="../VU0micro.cpp" />
|
||||
<Unit filename="../VU0microInterp.cpp" />
|
||||
<Unit filename="../VU1micro.cpp" />
|
||||
<Unit filename="../VU1microInterp.cpp" />
|
||||
<Unit filename="../VUflags.cpp" />
|
||||
<Unit filename="../VUflags.h" />
|
||||
<Unit filename="../VUmicro.h" />
|
||||
<Unit filename="../VUmicroMem.cpp" />
|
||||
<Unit filename="../VUops.cpp" />
|
||||
<Unit filename="../VUops.h" />
|
||||
<Unit filename="../Vif.cpp" />
|
||||
<Unit filename="../Vif.h" />
|
||||
<Unit filename="../VifDma.cpp" />
|
||||
<Unit filename="../VifDma.h" />
|
||||
<Unit filename="../gui/AdvancedDialog.cpp" />
|
||||
<Unit filename="../gui/AdvancedDialog.h" />
|
||||
<Unit filename="../gui/App.h" />
|
||||
<Unit filename="../gui/AppAssert.cpp" />
|
||||
<Unit filename="../gui/AppConfig.cpp" />
|
||||
<Unit filename="../gui/AppConfig.h" />
|
||||
<Unit filename="../gui/AppRes.cpp" />
|
||||
<Unit filename="../gui/CheckedStaticBox.cpp" />
|
||||
<Unit filename="../gui/CheckedStaticBox.h" />
|
||||
<Unit filename="../gui/ConsoleLogger.cpp" />
|
||||
<Unit filename="../gui/ConsoleLogger.h" />
|
||||
<Unit filename="../gui/Dialogs/AboutBoxDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/ConfigurationDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/ConfigurationDialog.h" />
|
||||
<Unit filename="../gui/Dialogs/FirstTimeWizard.cpp" />
|
||||
<Unit filename="../gui/Dialogs/ImportSettingsDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.h" />
|
||||
<Unit filename="../gui/Dialogs/ModalPopups.h" />
|
||||
<Unit filename="../gui/Dialogs/PickUserModeDialog.cpp" />
|
||||
<Unit filename="../gui/HostGui.cpp" />
|
||||
<Unit filename="../gui/IniInterface.cpp" />
|
||||
<Unit filename="../gui/IniInterface.h" />
|
||||
<Unit filename="../gui/MainFrame.cpp" />
|
||||
<Unit filename="../gui/MainFrame.h" />
|
||||
<Unit filename="../gui/MainMenuClicks.cpp" />
|
||||
<Unit filename="../gui/Panels/AudioPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/BiosSelectorPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/ConfigurationPanels.h" />
|
||||
<Unit filename="../gui/Panels/CpuPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/DirPickerPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/GameFixesPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/MiscPanelStuff.cpp" />
|
||||
<Unit filename="../gui/Panels/PathsPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/PluginSelectorPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/SpeedhacksPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/VideoPanel.cpp" />
|
||||
<Unit filename="../gui/Plugins.cpp" />
|
||||
<Unit filename="../gui/Resources/AppIcon.h" />
|
||||
<Unit filename="../gui/Resources/BackgroundLogo.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Cpu.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Gamefixes.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Paths.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Plugins.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Speedhacks.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Video.h" />
|
||||
<Unit filename="../gui/Resources/EmbeddedImage.h" />
|
||||
<Unit filename="../gui/Resources/ps2_silver.h" />
|
||||
<Unit filename="../gui/Saveslots.cpp" />
|
||||
<Unit filename="../gui/i18n.cpp" />
|
||||
<Unit filename="../gui/i18n.h" />
|
||||
<Unit filename="../gui/main.cpp" />
|
||||
<Unit filename="../gui/wxHelpers.cpp" />
|
||||
<Unit filename="../gui/wxHelpers.h" />
|
||||
<Unit filename="../pcsxAbout.bmp" />
|
||||
<Unit filename="../ps2/BiosTools.cpp" />
|
||||
<Unit filename="../ps2/BiosTools.h" />
|
||||
<Unit filename="../ps2/CoreEmuThread.cpp" />
|
||||
<Unit filename="../ps2/CoreEmuThread.h" />
|
||||
<Unit filename="../ps2/Iop/IopHwRead.cpp" />
|
||||
<Unit filename="../ps2/Iop/IopHwWrite.cpp" />
|
||||
<Unit filename="../ps2/Iop/IopHw_Internal.h" />
|
||||
<Unit filename="../tinyxml/tinystr.cpp" />
|
||||
<Unit filename="../tinyxml/tinystr.h" />
|
||||
<Unit filename="../tinyxml/tinyxml.cpp" />
|
||||
<Unit filename="../tinyxml/tinyxml.h" />
|
||||
<Unit filename="../tinyxml/tinyxmlerror.cpp" />
|
||||
<Unit filename="../tinyxml/tinyxmlparser.cpp" />
|
||||
<Unit filename="../vtlb.cpp" />
|
||||
<Unit filename="../vtlb.h" />
|
||||
<Unit filename="../x86/BaseblockEx.cpp" />
|
||||
<Unit filename="../x86/BaseblockEx.h" />
|
||||
<Unit filename="../x86/aR3000A.S" />
|
||||
<Unit filename="../x86/aVUzerorec.S" />
|
||||
<Unit filename="../x86/aVif.S" />
|
||||
<Unit filename="../x86/iCOP0.cpp" />
|
||||
<Unit filename="../x86/iCOP0.h" />
|
||||
<Unit filename="../x86/iCOP2.cpp" />
|
||||
<Unit filename="../x86/iCore.cpp" />
|
||||
<Unit filename="../x86/iCore.h" />
|
||||
<Unit filename="../x86/iFPU.cpp" />
|
||||
<Unit filename="../x86/iFPU.h" />
|
||||
<Unit filename="../x86/iFPUd.cpp" />
|
||||
<Unit filename="../x86/iMMI.cpp" />
|
||||
<Unit filename="../x86/iMMI.h" />
|
||||
<Unit filename="../x86/iMisc.cpp" />
|
||||
<Unit filename="../x86/iR3000A.cpp" />
|
||||
<Unit filename="../x86/iR3000A.h" />
|
||||
<Unit filename="../x86/iR3000Atables.cpp" />
|
||||
<Unit filename="../x86/iR5900.h" />
|
||||
<Unit filename="../x86/iR5900Arit.h" />
|
||||
<Unit filename="../x86/iR5900AritImm.h" />
|
||||
<Unit filename="../x86/iR5900Branch.h" />
|
||||
<Unit filename="../x86/iR5900Jump.h" />
|
||||
<Unit filename="../x86/iR5900LoadStore.h" />
|
||||
<Unit filename="../x86/iR5900Misc.cpp" />
|
||||
<Unit filename="../x86/iR5900Move.h" />
|
||||
<Unit filename="../x86/iR5900MultDiv.h" />
|
||||
<Unit filename="../x86/iR5900Shift.h" />
|
||||
<Unit filename="../x86/iVU0micro.cpp" />
|
||||
<Unit filename="../x86/iVU1micro.cpp" />
|
||||
<Unit filename="../x86/iVif.cpp" />
|
||||
<Unit filename="../x86/ir5900tables.cpp" />
|
||||
<Unit filename="../x86/ix86-32/aR5900-32.S" />
|
||||
<Unit filename="../x86/ix86-32/iCore-32.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900-32.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Arit.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900AritImm.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Branch.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Jump.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900LoadStore.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Move.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900MultDiv.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Shift.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Templates.cpp" />
|
||||
<Unit filename="../x86/ix86-32/recVTLB.cpp" />
|
||||
<Unit filename="../x86/microVU.cpp" />
|
||||
<Unit filename="../x86/microVU.h" />
|
||||
<Unit filename="../x86/microVU_Alloc.inl" />
|
||||
<Unit filename="../x86/microVU_Analyze.inl" />
|
||||
<Unit filename="../x86/microVU_Compile.inl" />
|
||||
<Unit filename="../x86/microVU_Execute.inl" />
|
||||
<Unit filename="../x86/microVU_Flags.inl" />
|
||||
<Unit filename="../x86/microVU_IR.h" />
|
||||
<Unit filename="../x86/microVU_Log.inl" />
|
||||
<Unit filename="../x86/microVU_Lower.inl" />
|
||||
<Unit filename="../x86/microVU_Misc.h" />
|
||||
<Unit filename="../x86/microVU_Misc.inl" />
|
||||
<Unit filename="../x86/microVU_Tables.inl" />
|
||||
<Unit filename="../x86/microVU_Upper.inl" />
|
||||
<Unit filename="../x86/sVU_Debug.h" />
|
||||
<Unit filename="../x86/sVU_Lower.cpp" />
|
||||
<Unit filename="../x86/sVU_Micro.cpp" />
|
||||
<Unit filename="../x86/sVU_Micro.h" />
|
||||
<Unit filename="../x86/sVU_Upper.cpp" />
|
||||
<Unit filename="../x86/sVU_zerorec.cpp" />
|
||||
<Unit filename="../x86/sVU_zerorec.h" />
|
||||
<Unit filename="../xmlpatchloader.cpp" />
|
||||
<Extensions>
|
||||
<envvars />
|
||||
<code_completion>
|
||||
<search_path add="/usr/include/wx-2.8" />
|
||||
</code_completion>
|
||||
<lib_finder disable_auto="1" />
|
||||
<debugger />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="pcsx2" />
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option pch_mode="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option output="$(SvnRootDir)/bin/pcsx2-dbg" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||
<Option object_output="./.objs/debug" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
||||
<Add option="-DPCSX2_DEVBUILD" />
|
||||
<Add option="-DPCSX2_DEBUG" />
|
||||
</Compiler>
|
||||
<ResourceCompiler>
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
</ResourceCompiler>
|
||||
<Linker>
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
||||
<Add library="$(SvnRootDir)/deps/debug/zlib.a" />
|
||||
<Add library="$(SvnRootDir)/deps/debug/libx86emitter.a" />
|
||||
<Add library="$(SvnRootDir)/deps/debug/libUtilities.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Devel">
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option output="$(SvnRootDir)/bin/pcsx2-dev" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||
<Option object_output="./.objs/devel" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
<Add option="-W" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
||||
<Add option="-DNDEBUG" />
|
||||
<Add option="-DPCSX2_DEVBUILD" />
|
||||
</Compiler>
|
||||
<ResourceCompiler>
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
</ResourceCompiler>
|
||||
<Linker>
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
||||
<Add library="$(SvnRootDir)/deps/devel/zlib.a" />
|
||||
<Add library="$(SvnRootDir)/deps/devel/libx86emitter.a" />
|
||||
<Add library="$(SvnRootDir)/deps/devel/libUtilities.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option platforms="Windows;Unix;" />
|
||||
<Option output="$(SvnRootDir)/bin/pcsx2" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||
<Option object_output="./.objs/release" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --cflags`" />
|
||||
<Add option="-DNDEBUG" />
|
||||
</Compiler>
|
||||
<ResourceCompiler>
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
</ResourceCompiler>
|
||||
<Linker>
|
||||
<Add option="-s" />
|
||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --libs`" />
|
||||
<Add library="$(SvnRootDir)/deps/release/zlib.a" />
|
||||
<Add library="$(SvnRootDir)/deps/release/libx86emitter.a" />
|
||||
<Add library="$(SvnRootDir)/deps/release/libUtilities.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Environment>
|
||||
<Variable name="SvnRootDir" value="../../" />
|
||||
<Variable name="ProjectRootDir" value='"$(SvnRootDir)/pcsx2/"' />
|
||||
<Variable name="CommonDir" value='"$(SvnRootDir)/common/"' />
|
||||
</Environment>
|
||||
</Build>
|
||||
<Compiler>
|
||||
<Add option="-march=athlon" />
|
||||
<Add option="-march=pentium4" />
|
||||
<Add option="-march=i686" />
|
||||
<Add option="-march=i586" />
|
||||
<Add option="-Wno-format" />
|
||||
<Add option="-Wno-unused-parameter" />
|
||||
<Add option="-Wno-unused-value" />
|
||||
<Add option="-Wunused-variable" />
|
||||
<Add option="-fno-guess-branch-probability" />
|
||||
<Add option="-fno-dse" />
|
||||
<Add option="-fno-tree-dse" />
|
||||
<Add option="-pipe -msse -msse2" />
|
||||
<Add option="-DWX_PRECOMP" />
|
||||
<Add directory="$(SvnRootDir)/common/include/" />
|
||||
<Add directory="$(SvnRootDir)/3rdparty/" />
|
||||
<Add directory="$(ProjectRootDir)" />
|
||||
<Add directory="$(ProjectRootDir)/gui" />
|
||||
<Add directory="$(ProjectRootDir)/x86" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="-Xlinker -zmuldefs" />
|
||||
</Linker>
|
||||
<Unit filename="../../common/include/PS2Edefs.h" />
|
||||
<Unit filename="../../common/include/PS2Etypes.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Api.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Config.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Defs.h" />
|
||||
<Unit filename="../../common/include/Pcsx2Types.h" />
|
||||
<Unit filename="../../common/include/PluginCallbacks.h" />
|
||||
<Unit filename="../../common/include/wx/folderdesc.txt" />
|
||||
<Unit filename="../../common/include/wx/scopedarray.h" />
|
||||
<Unit filename="../../common/include/wx/scopedptr.h" />
|
||||
<Unit filename="../CDVD/CDVD.cpp" />
|
||||
<Unit filename="../CDVD/CDVD.h" />
|
||||
<Unit filename="../CDVD/CDVD_internal.h" />
|
||||
<Unit filename="../CDVD/CDVDaccess.cpp" />
|
||||
<Unit filename="../CDVD/CDVDaccess.h" />
|
||||
<Unit filename="../CDVD/CDVDisoReader.cpp" />
|
||||
<Unit filename="../CDVD/CDVDisoReader.h" />
|
||||
<Unit filename="../CDVD/CdRom.cpp" />
|
||||
<Unit filename="../CDVD/CdRom.h" />
|
||||
<Unit filename="../CDVD/IsoFScdvd.h" />
|
||||
<Unit filename="../CDVD/IsoFSdrv.cpp" />
|
||||
<Unit filename="../CDVD/IsoFSdrv.h" />
|
||||
<Unit filename="../CDVD/IsoFStools.cpp" />
|
||||
<Unit filename="../CDVD/IsoFStools.h" />
|
||||
<Unit filename="../CDVD/IsoFileFormats.cpp" />
|
||||
<Unit filename="../CDVD/IsoFileFormats.h" />
|
||||
<Unit filename="../CDVD/IsoFileTools.cpp" />
|
||||
<Unit filename="../CDVD/IsoFileTools.h" />
|
||||
<Unit filename="../COP0.cpp" />
|
||||
<Unit filename="../COP2.cpp" />
|
||||
<Unit filename="../Cache.cpp" />
|
||||
<Unit filename="../Cache.h" />
|
||||
<Unit filename="../Common.h" />
|
||||
<Unit filename="../Config.h" />
|
||||
<Unit filename="../Counters.cpp" />
|
||||
<Unit filename="../Counters.h" />
|
||||
<Unit filename="../DebugTools/Debug.h" />
|
||||
<Unit filename="../DebugTools/DisASM.h" />
|
||||
<Unit filename="../DebugTools/DisR3000A.cpp" />
|
||||
<Unit filename="../DebugTools/DisR5900.cpp" />
|
||||
<Unit filename="../DebugTools/DisR5900asm.cpp" />
|
||||
<Unit filename="../DebugTools/DisVU0Micro.cpp" />
|
||||
<Unit filename="../DebugTools/DisVU1Micro.cpp" />
|
||||
<Unit filename="../DebugTools/DisVUmicro.h" />
|
||||
<Unit filename="../DebugTools/DisVUops.h" />
|
||||
<Unit filename="../Docs/ChangeLog.txt" />
|
||||
<Unit filename="../Docs/License.txt" />
|
||||
<Unit filename="../Docs/devblog.txt" />
|
||||
<Unit filename="../Dump.cpp" />
|
||||
<Unit filename="../Dump.h" />
|
||||
<Unit filename="../Elfheader.cpp" />
|
||||
<Unit filename="../Elfheader.h" />
|
||||
<Unit filename="../FPU.cpp" />
|
||||
<Unit filename="../FiFo.cpp" />
|
||||
<Unit filename="../GS.cpp" />
|
||||
<Unit filename="../GS.h" />
|
||||
<Unit filename="../Gif.cpp" />
|
||||
<Unit filename="../HashMap.h" />
|
||||
<Unit filename="../HashTools.cpp" />
|
||||
<Unit filename="../HostGui.h" />
|
||||
<Unit filename="../Hw.cpp" />
|
||||
<Unit filename="../Hw.h" />
|
||||
<Unit filename="../HwRead.cpp" />
|
||||
<Unit filename="../HwWrite.cpp" />
|
||||
<Unit filename="../IPU/IPU.cpp" />
|
||||
<Unit filename="../IPU/IPU.h" />
|
||||
<Unit filename="../IPU/acoroutine.S" />
|
||||
<Unit filename="../IPU/coroutine.cpp" />
|
||||
<Unit filename="../IPU/coroutine.h" />
|
||||
<Unit filename="../IPU/mpeg2lib/Idct.cpp" />
|
||||
<Unit filename="../IPU/mpeg2lib/Mpeg.cpp" />
|
||||
<Unit filename="../IPU/mpeg2lib/Mpeg.h" />
|
||||
<Unit filename="../IPU/mpeg2lib/Vlc.h" />
|
||||
<Unit filename="../IPU/yuv2rgb.cpp" />
|
||||
<Unit filename="../IPU/yuv2rgb.h" />
|
||||
<Unit filename="../Interpreter.cpp" />
|
||||
<Unit filename="../IopBios.cpp" />
|
||||
<Unit filename="../IopBios.h" />
|
||||
<Unit filename="../IopBios2.h" />
|
||||
<Unit filename="../IopCommon.h" />
|
||||
<Unit filename="../IopCounters.cpp" />
|
||||
<Unit filename="../IopCounters.h" />
|
||||
<Unit filename="../IopDma.cpp" />
|
||||
<Unit filename="../IopDma.h" />
|
||||
<Unit filename="../IopHw.cpp" />
|
||||
<Unit filename="../IopHw.h" />
|
||||
<Unit filename="../IopMem.cpp" />
|
||||
<Unit filename="../IopMem.h" />
|
||||
<Unit filename="../IopSio2.cpp" />
|
||||
<Unit filename="../IopSio2.h" />
|
||||
<Unit filename="LnxHostSys.cpp" />
|
||||
<Unit filename="../MMI.cpp" />
|
||||
<Unit filename="../MTGS.cpp" />
|
||||
<Unit filename="../Memory.cpp" />
|
||||
<Unit filename="../Memory.h" />
|
||||
<Unit filename="../MemoryCard.cpp" />
|
||||
<Unit filename="../MemoryCard.h" />
|
||||
<Unit filename="../Misc.cpp" />
|
||||
<Unit filename="../Misc.h" />
|
||||
<Unit filename="../NakedAsm.h" />
|
||||
<Unit filename="../Patch.cpp" />
|
||||
<Unit filename="../Patch.h" />
|
||||
<Unit filename="../PathUtils.cpp" />
|
||||
<Unit filename="../Paths.h" />
|
||||
<Unit filename="../Pcsx2Config.cpp" />
|
||||
<Unit filename="../PluginManager.cpp" />
|
||||
<Unit filename="../Plugins.h" />
|
||||
<Unit filename="../PrecompiledHeader.h" />
|
||||
<Unit filename="../R3000A.cpp" />
|
||||
<Unit filename="../R3000A.h" />
|
||||
<Unit filename="../R3000AInterpreter.cpp" />
|
||||
<Unit filename="../R3000AOpcodeTables.cpp" />
|
||||
<Unit filename="../R5900.cpp" />
|
||||
<Unit filename="../R5900.h" />
|
||||
<Unit filename="../R5900Exceptions.h" />
|
||||
<Unit filename="../R5900OpcodeImpl.cpp" />
|
||||
<Unit filename="../R5900OpcodeTables.cpp" />
|
||||
<Unit filename="../R5900OpcodeTables.h" />
|
||||
<Unit filename="../RecoverySystem.cpp" />
|
||||
<Unit filename="../SPR.cpp" />
|
||||
<Unit filename="../SPR.h" />
|
||||
<Unit filename="../SamplProf.h" />
|
||||
<Unit filename="../SaveState.cpp" />
|
||||
<Unit filename="../SaveState.h" />
|
||||
<Unit filename="../Sif.cpp" />
|
||||
<Unit filename="../Sif.h" />
|
||||
<Unit filename="../Sifcmd.h" />
|
||||
<Unit filename="../Sio.cpp" />
|
||||
<Unit filename="../Sio.h" />
|
||||
<Unit filename="../SourceLog.cpp" />
|
||||
<Unit filename="../Stats.cpp" />
|
||||
<Unit filename="../Stats.h" />
|
||||
<Unit filename="../StringUtils.h" />
|
||||
<Unit filename="../System.cpp" />
|
||||
<Unit filename="../System.h" />
|
||||
<Unit filename="../Utilities/AsciiFile.h" />
|
||||
<Unit filename="../Utilities/FileUtils.cpp" />
|
||||
<Unit filename="../Utilities/folderdesc.txt" />
|
||||
<Unit filename="../VU.h" />
|
||||
<Unit filename="../VU0.cpp" />
|
||||
<Unit filename="../VU0micro.cpp" />
|
||||
<Unit filename="../VU0microInterp.cpp" />
|
||||
<Unit filename="../VU1micro.cpp" />
|
||||
<Unit filename="../VU1microInterp.cpp" />
|
||||
<Unit filename="../VUflags.cpp" />
|
||||
<Unit filename="../VUflags.h" />
|
||||
<Unit filename="../VUmicro.h" />
|
||||
<Unit filename="../VUmicroMem.cpp" />
|
||||
<Unit filename="../VUops.cpp" />
|
||||
<Unit filename="../VUops.h" />
|
||||
<Unit filename="../Vif.cpp" />
|
||||
<Unit filename="../Vif.h" />
|
||||
<Unit filename="../VifDma.cpp" />
|
||||
<Unit filename="../VifDma.h" />
|
||||
<Unit filename="../gui/AdvancedDialog.cpp" />
|
||||
<Unit filename="../gui/AdvancedDialog.h" />
|
||||
<Unit filename="../gui/App.h" />
|
||||
<Unit filename="../gui/AppAssert.cpp" />
|
||||
<Unit filename="../gui/AppConfig.cpp" />
|
||||
<Unit filename="../gui/AppConfig.h" />
|
||||
<Unit filename="../gui/AppRes.cpp" />
|
||||
<Unit filename="../gui/CheckedStaticBox.cpp" />
|
||||
<Unit filename="../gui/CheckedStaticBox.h" />
|
||||
<Unit filename="../gui/ConsoleLogger.cpp" />
|
||||
<Unit filename="../gui/ConsoleLogger.h" />
|
||||
<Unit filename="../gui/Dialogs/AboutBoxDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/ConfigurationDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/ConfigurationDialog.h" />
|
||||
<Unit filename="../gui/Dialogs/FirstTimeWizard.cpp" />
|
||||
<Unit filename="../gui/Dialogs/ImportSettingsDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.cpp" />
|
||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.h" />
|
||||
<Unit filename="../gui/Dialogs/ModalPopups.h" />
|
||||
<Unit filename="../gui/Dialogs/PickUserModeDialog.cpp" />
|
||||
<Unit filename="../gui/HostGui.cpp" />
|
||||
<Unit filename="../gui/IniInterface.cpp" />
|
||||
<Unit filename="../gui/IniInterface.h" />
|
||||
<Unit filename="../gui/MainFrame.cpp" />
|
||||
<Unit filename="../gui/MainFrame.h" />
|
||||
<Unit filename="../gui/MainMenuClicks.cpp" />
|
||||
<Unit filename="../gui/Panels/AudioPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/BiosSelectorPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/ConfigurationPanels.h" />
|
||||
<Unit filename="../gui/Panels/CpuPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/DirPickerPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/GameFixesPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/MiscPanelStuff.cpp" />
|
||||
<Unit filename="../gui/Panels/PathsPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/PluginSelectorPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/SpeedhacksPanel.cpp" />
|
||||
<Unit filename="../gui/Panels/VideoPanel.cpp" />
|
||||
<Unit filename="../gui/Plugins.cpp" />
|
||||
<Unit filename="../gui/Resources/AppIcon.h" />
|
||||
<Unit filename="../gui/Resources/BackgroundLogo.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Cpu.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Gamefixes.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Paths.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Plugins.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Speedhacks.h" />
|
||||
<Unit filename="../gui/Resources/ConfigIcon_Video.h" />
|
||||
<Unit filename="../gui/Resources/EmbeddedImage.h" />
|
||||
<Unit filename="../gui/Resources/ps2_silver.h" />
|
||||
<Unit filename="../gui/Saveslots.cpp" />
|
||||
<Unit filename="../gui/i18n.cpp" />
|
||||
<Unit filename="../gui/i18n.h" />
|
||||
<Unit filename="../gui/main.cpp" />
|
||||
<Unit filename="../gui/wxHelpers.cpp" />
|
||||
<Unit filename="../gui/wxHelpers.h" />
|
||||
<Unit filename="../pcsxAbout.bmp" />
|
||||
<Unit filename="../ps2/BiosTools.cpp" />
|
||||
<Unit filename="../ps2/BiosTools.h" />
|
||||
<Unit filename="../ps2/CoreEmuThread.cpp" />
|
||||
<Unit filename="../ps2/CoreEmuThread.h" />
|
||||
<Unit filename="../ps2/Iop/IopHwRead.cpp" />
|
||||
<Unit filename="../ps2/Iop/IopHwWrite.cpp" />
|
||||
<Unit filename="../ps2/Iop/IopHw_Internal.h" />
|
||||
<Unit filename="../tinyxml/tinystr.cpp" />
|
||||
<Unit filename="../tinyxml/tinystr.h" />
|
||||
<Unit filename="../tinyxml/tinyxml.cpp" />
|
||||
<Unit filename="../tinyxml/tinyxml.h" />
|
||||
<Unit filename="../tinyxml/tinyxmlerror.cpp" />
|
||||
<Unit filename="../tinyxml/tinyxmlparser.cpp" />
|
||||
<Unit filename="../vtlb.cpp" />
|
||||
<Unit filename="../vtlb.h" />
|
||||
<Unit filename="../x86/BaseblockEx.cpp" />
|
||||
<Unit filename="../x86/BaseblockEx.h" />
|
||||
<Unit filename="../x86/aR3000A.S" />
|
||||
<Unit filename="../x86/aVUzerorec.S" />
|
||||
<Unit filename="../x86/aVif.S" />
|
||||
<Unit filename="../x86/iCOP0.cpp" />
|
||||
<Unit filename="../x86/iCOP0.h" />
|
||||
<Unit filename="../x86/iCOP2.cpp" />
|
||||
<Unit filename="../x86/iCore.cpp" />
|
||||
<Unit filename="../x86/iCore.h" />
|
||||
<Unit filename="../x86/iFPU.cpp" />
|
||||
<Unit filename="../x86/iFPU.h" />
|
||||
<Unit filename="../x86/iFPUd.cpp" />
|
||||
<Unit filename="../x86/iMMI.cpp" />
|
||||
<Unit filename="../x86/iMMI.h" />
|
||||
<Unit filename="../x86/iMisc.cpp" />
|
||||
<Unit filename="../x86/iR3000A.cpp" />
|
||||
<Unit filename="../x86/iR3000A.h" />
|
||||
<Unit filename="../x86/iR3000Atables.cpp" />
|
||||
<Unit filename="../x86/iR5900.h" />
|
||||
<Unit filename="../x86/iR5900Arit.h" />
|
||||
<Unit filename="../x86/iR5900AritImm.h" />
|
||||
<Unit filename="../x86/iR5900Branch.h" />
|
||||
<Unit filename="../x86/iR5900Jump.h" />
|
||||
<Unit filename="../x86/iR5900LoadStore.h" />
|
||||
<Unit filename="../x86/iR5900Misc.cpp" />
|
||||
<Unit filename="../x86/iR5900Move.h" />
|
||||
<Unit filename="../x86/iR5900MultDiv.h" />
|
||||
<Unit filename="../x86/iR5900Shift.h" />
|
||||
<Unit filename="../x86/iVU0micro.cpp" />
|
||||
<Unit filename="../x86/iVU1micro.cpp" />
|
||||
<Unit filename="../x86/iVif.cpp" />
|
||||
<Unit filename="../x86/ir5900tables.cpp" />
|
||||
<Unit filename="../x86/ix86-32/aR5900-32.S" />
|
||||
<Unit filename="../x86/ix86-32/iCore-32.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900-32.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Arit.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900AritImm.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Branch.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Jump.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900LoadStore.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Move.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900MultDiv.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Shift.cpp" />
|
||||
<Unit filename="../x86/ix86-32/iR5900Templates.cpp" />
|
||||
<Unit filename="../x86/ix86-32/recVTLB.cpp" />
|
||||
<Unit filename="../x86/microVU.cpp" />
|
||||
<Unit filename="../x86/microVU.h" />
|
||||
<Unit filename="../x86/microVU_Alloc.inl" />
|
||||
<Unit filename="../x86/microVU_Analyze.inl" />
|
||||
<Unit filename="../x86/microVU_Compile.inl" />
|
||||
<Unit filename="../x86/microVU_Execute.inl" />
|
||||
<Unit filename="../x86/microVU_Flags.inl" />
|
||||
<Unit filename="../x86/microVU_IR.h" />
|
||||
<Unit filename="../x86/microVU_Log.inl" />
|
||||
<Unit filename="../x86/microVU_Lower.inl" />
|
||||
<Unit filename="../x86/microVU_Misc.h" />
|
||||
<Unit filename="../x86/microVU_Misc.inl" />
|
||||
<Unit filename="../x86/microVU_Tables.inl" />
|
||||
<Unit filename="../x86/microVU_Upper.inl" />
|
||||
<Unit filename="../x86/sVU_Debug.h" />
|
||||
<Unit filename="../x86/sVU_Lower.cpp" />
|
||||
<Unit filename="../x86/sVU_Micro.cpp" />
|
||||
<Unit filename="../x86/sVU_Micro.h" />
|
||||
<Unit filename="../x86/sVU_Upper.cpp" />
|
||||
<Unit filename="../x86/sVU_zerorec.cpp" />
|
||||
<Unit filename="../x86/sVU_zerorec.h" />
|
||||
<Unit filename="../xmlpatchloader.cpp" />
|
||||
<Extensions>
|
||||
<envvars />
|
||||
<code_completion>
|
||||
<search_path add="/usr/include/wx-2.8" />
|
||||
</code_completion>
|
||||
<lib_finder disable_auto="1" />
|
||||
<debugger />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
||||
|
@ -603,7 +603,7 @@ PluginManager::PluginManager( const wxString (&folders)[PluginId_Count] )
|
||||
// Bind Optional Functions
|
||||
// (leave pointer null and do not generate error)
|
||||
}
|
||||
|
||||
|
||||
// Hack for PAD's stupid parameter passed on Init
|
||||
PADinit = (_PADinit)m_info[PluginId_PAD].CommonBindings.Init;
|
||||
m_info[PluginId_PAD].CommonBindings.Init = _hack_PADinit;
|
||||
@ -613,7 +613,7 @@ PluginManager::~PluginManager()
|
||||
{
|
||||
Close();
|
||||
Shutdown();
|
||||
|
||||
|
||||
// All library unloading done automatically.
|
||||
}
|
||||
|
||||
@ -627,7 +627,7 @@ void PluginManager::BindCommon( PluginsEnum_t pid )
|
||||
while( current->MethodName != NULL )
|
||||
{
|
||||
*target = (VoidMethod*)m_info[pid].Lib.GetSymbol( current->GetMethodName( pid ) );
|
||||
|
||||
|
||||
if( *target == NULL )
|
||||
*target = current->Fallback;
|
||||
|
||||
@ -636,7 +636,7 @@ void PluginManager::BindCommon( PluginsEnum_t pid )
|
||||
throw Exception::PluginLoadError( pid, m_info[pid].Filename,
|
||||
wxLt( "Configured plugin is not a PCSX2 plugin, or is for an older unsupported version of PCSX2." ) );
|
||||
}
|
||||
|
||||
|
||||
target++;
|
||||
current++;
|
||||
}
|
||||
@ -759,7 +759,7 @@ static bool OpenPlugin_FW()
|
||||
void PluginManager::Open( PluginsEnum_t pid )
|
||||
{
|
||||
if( m_info[pid].IsOpened ) return;
|
||||
|
||||
|
||||
// Each Open needs to be called explicitly. >_<
|
||||
|
||||
bool result = true;
|
||||
@ -793,7 +793,7 @@ void PluginManager::Close( PluginsEnum_t pid )
|
||||
if( pid == PluginId_GS )
|
||||
{
|
||||
if( mtgsThread == NULL ) return;
|
||||
|
||||
|
||||
if( !mtgsThread->IsSelf() )
|
||||
{
|
||||
// force-close PAD before GS, because the PAD depends on the GS window.
|
||||
@ -853,7 +853,7 @@ void PluginManager::Shutdown()
|
||||
|
||||
// Shutdown plugins in reverse order (probably doesn't matter...
|
||||
// ... but what the heck, right?)
|
||||
|
||||
|
||||
for( int i=PluginId_Count-1; i>=0; --i )
|
||||
{
|
||||
const PluginsEnum_t pid = tbl_PluginInfo[i].id;
|
||||
@ -916,7 +916,7 @@ PluginManager* PluginManager_Create( const wxString (&folders)[PluginId_Count] )
|
||||
PluginManager* PluginManager_Create( const wxChar* (&folders)[PluginId_Count] )
|
||||
{
|
||||
wxString passins[PluginId_Count];
|
||||
|
||||
|
||||
const PluginInfo* pi = tbl_PluginInfo-1;
|
||||
while( ++pi, pi->shortname != NULL )
|
||||
passins[pi->id] = folders[pi->id];
|
||||
|
@ -105,7 +105,7 @@ void pxLogConsole::DoLog( wxLogLevel level, const wxChar *szString, time_t t )
|
||||
sptr ConsoleTestThread::ExecuteTask()
|
||||
{
|
||||
static int numtrack = 0;
|
||||
|
||||
|
||||
while( !m_done )
|
||||
{
|
||||
// Two lines, both formatted, and varied colors. This makes for a fairly realistic
|
||||
@ -195,7 +195,7 @@ void ConsoleLogFrame::ColorArray::Cleanup()
|
||||
{
|
||||
// The contents of m_table were created with placement new, and must be
|
||||
// disposed of manually:
|
||||
|
||||
|
||||
for( int i=0; i<8; ++i )
|
||||
m_table[i].~wxTextAttr();
|
||||
}
|
||||
@ -259,7 +259,7 @@ ConsoleLogFrame::ConsoleLogFrame( MainEmuFrame *parent, const wxString& title, A
|
||||
wxMenu& menuAppear = *new wxMenu();
|
||||
menuAppear.Append( wxID_ANY, _("Always on Top"),
|
||||
_("When checked the log window will be visible over other foreground windows."), wxITEM_CHECK );
|
||||
menuAppear.Append( wxID_ANY, _("Font Size"), &menuFontSizes );
|
||||
menuAppear.Append( wxID_ANY, _("Font Size"), &menuFontSizes );
|
||||
|
||||
pMenuBar->Append(&menuLog, _("&Log"));
|
||||
pMenuBar->Append(&menuAppear, _("&Appearance"));
|
||||
@ -290,7 +290,7 @@ ConsoleLogFrame::ConsoleLogFrame( MainEmuFrame *parent, const wxString& title, A
|
||||
Connect( wxEVT_SetTitleText, wxCommandEventHandler(ConsoleLogFrame::OnSetTitle) );
|
||||
Connect( wxEVT_DockConsole, wxCommandEventHandler(ConsoleLogFrame::OnDockedMove) );
|
||||
Connect( wxEVT_SemaphoreWait, wxCommandEventHandler(ConsoleLogFrame::OnSemaphoreWait) );
|
||||
|
||||
|
||||
if( m_threadlogger != NULL )
|
||||
m_threadlogger->Start();
|
||||
}
|
||||
@ -324,7 +324,7 @@ void ConsoleLogFrame::Write( const wxString& text )
|
||||
#endif
|
||||
|
||||
m_TextCtrl.AppendText( text );
|
||||
|
||||
|
||||
// cap at 256k for now...
|
||||
// fixme - 256k runs well on win32 but appears to be very sluggish on linux. Might
|
||||
// need platform dependent defaults here. - air
|
||||
@ -463,9 +463,9 @@ void ConsoleLogFrame::OnFontSize( wxMenuEvent& evt )
|
||||
case MenuID_FontSize_Large: ptsize = 10; break;
|
||||
case MenuID_FontSize_Huge: ptsize = 12; break;
|
||||
}
|
||||
|
||||
|
||||
if( ptsize == m_conf.FontSize ) return;
|
||||
|
||||
|
||||
m_conf.FontSize = ptsize;
|
||||
m_ColorTable.SetFont( ptsize );
|
||||
m_TextCtrl.SetDefaultStyle( m_ColorTable[m_curcolor] );
|
||||
@ -530,13 +530,13 @@ void ConsoleLogFrame::CountMessage()
|
||||
|
||||
// Thread Safety note: This function expects to be called from the Main GUI thread
|
||||
// only. If called from a thread other than Main, it will generate an assertion failure.
|
||||
//
|
||||
//
|
||||
void ConsoleLogFrame::DoMessage()
|
||||
{
|
||||
wxASSERT_MSG( wxThread::IsMain(), L"DoMessage must only be called from the main gui thread!" );
|
||||
|
||||
int cur = _InterlockedDecrement( &m_msgcounter );
|
||||
|
||||
|
||||
// We need to freeze the control if there are more than 2 pending messages,
|
||||
// otherwise the redraw of the console will prevent it from ever being able to
|
||||
// catch up with the rate the queue is being filled, and the whole app could
|
||||
@ -641,7 +641,7 @@ namespace Console
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool __fastcall WriteLn( const char* fmt )
|
||||
{
|
||||
const wxString fmtline( wxString::FromAscii( fmt ) + L"\n" );
|
||||
@ -652,7 +652,7 @@ namespace Console
|
||||
|
||||
// Implementation note: I've duplicated Write+Newline behavior here to avoid polluting
|
||||
// the message pump with lots of erroneous messages (Newlines can be bound into Write message).
|
||||
|
||||
|
||||
wxCommandEvent evt( wxEVT_LOG_Write );
|
||||
evt.SetString( fmtline );
|
||||
evt.SetExtraLong( th_CurrentColor );
|
||||
@ -700,7 +700,7 @@ static int pxMessageDialog( const wxString& content, const wxString& caption, lo
|
||||
// 2) Issue the popup with wxSTAY_ON_TOP specified so that the user will see it.
|
||||
//
|
||||
// And in either case the emulation should be paused/suspended for the user.
|
||||
|
||||
|
||||
return wxMessageDialog( NULL, content, caption, flags ).ShowModal();
|
||||
}
|
||||
|
||||
@ -766,7 +766,7 @@ public:
|
||||
void DoTheDialog()
|
||||
{
|
||||
int result;
|
||||
|
||||
|
||||
if( m_id == pxEVT_MSGBOX )
|
||||
result = pxMessageDialog( m_Content, m_Title, m_Flags );
|
||||
else
|
||||
@ -799,7 +799,7 @@ namespace Msgbox
|
||||
instdat.WaitForMe.WaitNoCancel(); // Important! disable cancellation since we're using local stack vars.
|
||||
return instdat.result;
|
||||
}
|
||||
|
||||
|
||||
void OnEvent( pxMessageBoxEvent& evt )
|
||||
{
|
||||
evt.DoTheDialog();
|
||||
@ -844,7 +844,7 @@ namespace Msgbox
|
||||
return wxID_YES == ThreadedMessageBox( text, caption, icon );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// [TODO] : This should probably be a fancier looking dialog box with the stacktrace
|
||||
// displayed inside a wxTextCtrl.
|
||||
static int CallStack( const wxString& errormsg, const wxString& stacktrace, const wxString& prompt, const wxString& caption, int buttons )
|
||||
@ -862,10 +862,10 @@ namespace Msgbox
|
||||
return ThreadedMessageBox( text, caption, buttons, pxEVT_CallStackBox );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int Assertion( const wxString& text, const wxString& stacktrace )
|
||||
{
|
||||
return CallStack( text, stacktrace,
|
||||
return CallStack( text, stacktrace,
|
||||
L"\nDo you want to stop the program?"
|
||||
L"\nOr press [Cancel] to suppress further assertions.",
|
||||
L"PCSX2 Assertion Failure",
|
||||
@ -877,5 +877,5 @@ namespace Msgbox
|
||||
{
|
||||
CallStack( src.FormatDisplayMessage(), src.FormatDiagnosticMessage(), wxEmptyString, L"PCSX2 Unhandled Exception", wxOK );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -22,12 +22,12 @@
|
||||
#include <wx/stdpaths.h>
|
||||
|
||||
using namespace wxHelpers;
|
||||
|
||||
using namespace Panels;
|
||||
|
||||
Dialogs::PickUserModeDialog::PickUserModeDialog( wxWindow* parent, int id ) :
|
||||
wxDialogWithHelpers( parent, id, _("PCSX2 First Time configuration"), false )
|
||||
, m_panel_usersel( new Panels::UsermodeSelectionPanel( *this, 620, false ) )
|
||||
, m_panel_langsel( new Panels::LanguageSelectionPanel( *this, 620 ) )
|
||||
, m_panel_usersel( new UsermodeSelectionPanel( *this, 620, false ) )
|
||||
, m_panel_langsel( new LanguageSelectionPanel( *this, 620 ) )
|
||||
{
|
||||
wxBoxSizer& s_main = *new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
@ -46,7 +46,7 @@ Dialogs::PickUserModeDialog::PickUserModeDialog( wxWindow* parent, int id ) :
|
||||
|
||||
void Dialogs::PickUserModeDialog::OnOk_Click( wxCommandEvent& evt )
|
||||
{
|
||||
if( Panels::g_ApplyState.ApplyAll(true) )
|
||||
if( g_ApplyState.ApplyAll() )
|
||||
{
|
||||
Close();
|
||||
evt.Skip();
|
||||
|
@ -70,7 +70,7 @@ namespace Exception
|
||||
BaseException::InitBaseEx( msg_eng, msg_xlt );
|
||||
m_Panel = thispanel;
|
||||
}
|
||||
|
||||
|
||||
Panels::BaseApplicableConfigPanel* GetPanel()
|
||||
{
|
||||
return m_Panel;
|
||||
@ -88,7 +88,7 @@ namespace Panels
|
||||
PanelApplyList_t PanelList;
|
||||
|
||||
// Current book page being initialized. Any apply objects created will use
|
||||
// this page as their "go here on error" page. (used to take the user to the
|
||||
// this page as their "go here on error" page. (used to take the user to the
|
||||
// page with the option that failed apply validation).
|
||||
int CurOwnerPage;
|
||||
|
||||
@ -98,14 +98,14 @@ namespace Panels
|
||||
// Crappy hack to handle the UseAdminMode option, which can't be part of AppConfig
|
||||
// because AppConfig depends on this value to initialize itself.
|
||||
bool UseAdminMode;
|
||||
|
||||
|
||||
StaticApplyState() :
|
||||
PanelList()
|
||||
, CurOwnerPage( wxID_NONE )
|
||||
, ParentBook( NULL )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void SetCurrentPage( int page )
|
||||
{
|
||||
CurOwnerPage = page;
|
||||
@ -115,7 +115,7 @@ namespace Panels
|
||||
{
|
||||
CurOwnerPage = wxID_NONE;
|
||||
}
|
||||
|
||||
|
||||
void StartBook( wxBookCtrlBase* book );
|
||||
void StartWizard();
|
||||
bool ApplyAll( bool saveOnSuccess=true );
|
||||
@ -132,7 +132,7 @@ namespace Panels
|
||||
// Thread Safety: None. This class is only safe when used from the GUI thread, as it uses
|
||||
// static vars and assumes that only one ApplicableConfig system is available to the
|
||||
// user at any time (ie, a singular modal dialog).
|
||||
//
|
||||
//
|
||||
class BaseApplicableConfigPanel : public wxPanelWithHelpers
|
||||
{
|
||||
protected:
|
||||
@ -145,7 +145,7 @@ namespace Panels
|
||||
g_ApplyState.PanelList.remove( this );
|
||||
}
|
||||
|
||||
BaseApplicableConfigPanel( wxWindow* parent, int idealWidth ) :
|
||||
BaseApplicableConfigPanel( wxWindow* parent, int idealWidth ) :
|
||||
wxPanelWithHelpers( parent, idealWidth )
|
||||
, m_OwnerPage( g_ApplyState.CurOwnerPage )
|
||||
, m_OwnerBook( g_ApplyState.ParentBook )
|
||||
@ -155,7 +155,7 @@ namespace Panels
|
||||
|
||||
int GetOwnerPage() const { return m_OwnerPage; }
|
||||
wxBookCtrlBase* GetOwnerBook() { return m_OwnerBook; }
|
||||
|
||||
|
||||
void SetFocusToMe()
|
||||
{
|
||||
if( (m_OwnerBook == NULL) || (m_OwnerPage == wxID_NONE) ) return;
|
||||
@ -212,7 +212,7 @@ namespace Panels
|
||||
wxRadioButton* m_Option_RecIOP;
|
||||
wxRadioButton* m_Option_mVU0;
|
||||
wxRadioButton* m_Option_mVU1;
|
||||
|
||||
|
||||
wxRadioButton* m_Option_sVU0;
|
||||
wxRadioButton* m_Option_sVU1;
|
||||
|
||||
@ -220,7 +220,7 @@ namespace Panels
|
||||
CpuPanel( wxWindow& parent, int idealWidth );
|
||||
void Apply( AppConfig& conf );
|
||||
};
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
class VideoPanel : public BaseApplicableConfigPanel
|
||||
@ -231,7 +231,7 @@ namespace Panels
|
||||
VideoPanel( wxWindow& parent, int idealWidth );
|
||||
void Apply( AppConfig& conf );
|
||||
};
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
class SpeedHacksPanel : public BaseApplicableConfigPanel
|
||||
@ -241,7 +241,7 @@ namespace Panels
|
||||
wxSlider* m_slider_vustealer;
|
||||
wxStaticText* m_msg_eecycle;
|
||||
wxStaticText* m_msg_vustealer;
|
||||
|
||||
|
||||
wxCheckBox* m_check_intc;
|
||||
wxCheckBox* m_check_b1fc0;
|
||||
wxCheckBox* m_check_IOPx2;
|
||||
@ -286,7 +286,7 @@ namespace Panels
|
||||
void Apply( AppConfig& conf );
|
||||
void Reset();
|
||||
wxDirName GetPath() const { return wxDirName( m_pickerCtrl->GetPath() ); }
|
||||
|
||||
|
||||
DirPickerPanel& SetStaticDesc( const wxString& msg );
|
||||
|
||||
protected:
|
||||
@ -294,7 +294,7 @@ namespace Panels
|
||||
void Explore_Click( wxCommandEvent &event );
|
||||
void UpdateCheckStatus( bool someNoteworthyBoolean );
|
||||
};
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
class SettingsDirPickerPanel : public DirPickerPanel
|
||||
@ -331,7 +331,7 @@ namespace Panels
|
||||
class BaseSelectorPanel: public BaseApplicableConfigPanel
|
||||
{
|
||||
protected:
|
||||
|
||||
|
||||
public:
|
||||
virtual ~BaseSelectorPanel();
|
||||
BaseSelectorPanel( wxWindow& parent, int idealWidth );
|
||||
@ -345,7 +345,7 @@ namespace Panels
|
||||
virtual void DoRefresh()=0;
|
||||
virtual bool ValidateEnumerationStatus()=0;
|
||||
};
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
class BiosSelectorPanel : public BaseSelectorPanel
|
||||
@ -354,7 +354,7 @@ namespace Panels
|
||||
wxListBox& m_ComboBox;
|
||||
DirPickerPanel& m_FolderPicker;
|
||||
wxArrayString* m_BiosList;
|
||||
|
||||
|
||||
public:
|
||||
BiosSelectorPanel( wxWindow& parent, int idealWidth );
|
||||
virtual ~BiosSelectorPanel();
|
||||
@ -392,7 +392,7 @@ namespace Panels
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class EnumThread : public Threading::PersistentThread
|
||||
{
|
||||
public:
|
||||
@ -400,15 +400,18 @@ namespace Panels
|
||||
|
||||
protected:
|
||||
PluginSelectorPanel& m_master;
|
||||
volatile bool m_cancel;
|
||||
volatile bool m_cancel;
|
||||
|
||||
public:
|
||||
virtual ~EnumThread();
|
||||
EnumThread( PluginSelectorPanel& master );
|
||||
void Cancel();
|
||||
void DoNextPlugin( int evtidx );
|
||||
|
||||
protected:
|
||||
sptr ExecuteTask();
|
||||
};
|
||||
|
||||
|
||||
// This panel contains all of the plugin combo boxes. We stick them
|
||||
// on a panel together so that we can hide/show the whole mess easily.
|
||||
class ComboBoxPanel : public wxPanelWithHelpers
|
||||
@ -431,10 +434,10 @@ namespace Panels
|
||||
wxGauge& m_gauge;
|
||||
wxStaticText& m_label;
|
||||
int m_progress;
|
||||
|
||||
|
||||
public:
|
||||
StatusPanel( wxWindow* parent );
|
||||
|
||||
|
||||
void SetGaugeLength( int len );
|
||||
void AdvanceProgress( const wxString& msg );
|
||||
void Reset();
|
||||
@ -465,7 +468,7 @@ namespace Panels
|
||||
|
||||
virtual void DoRefresh();
|
||||
virtual bool ValidateEnumerationStatus();
|
||||
|
||||
|
||||
int FileCount() const { return m_FileList->Count(); }
|
||||
const wxString& GetFilename( int i ) const { return (*m_FileList)[i]; }
|
||||
friend class EnumThread;
|
||||
|
@ -26,7 +26,12 @@
|
||||
#include <wx/dir.h>
|
||||
|
||||
// Allows us to force-disable threading for debugging/troubleshooting
|
||||
static const bool DisableThreading = true;
|
||||
static const bool DisableThreading =
|
||||
#ifdef __LINUX__
|
||||
true; // linux appears to have threading issues with loadlibrary.
|
||||
#else
|
||||
false;
|
||||
#endif
|
||||
|
||||
using namespace wxHelpers;
|
||||
using namespace Threading;
|
||||
@ -287,12 +292,20 @@ void Panels::PluginSelectorPanel::Apply( AppConfig& conf )
|
||||
|
||||
void Panels::PluginSelectorPanel::CancelRefresh()
|
||||
{
|
||||
if (!DisableThreading) safe_delete( m_EnumeratorThread );
|
||||
safe_delete( m_EnumeratorThread );
|
||||
safe_delete( m_FileList );
|
||||
}
|
||||
|
||||
void Panels::PluginSelectorPanel::DoRefresh()
|
||||
{
|
||||
m_ComponentBoxes.Reset();
|
||||
if( m_FileList == NULL )
|
||||
{
|
||||
wxCommandEvent evt;
|
||||
OnEnumComplete( evt );
|
||||
return;
|
||||
}
|
||||
|
||||
// Disable all controls until enumeration is complete.
|
||||
// Show status bar for plugin enumeration.
|
||||
|
||||
@ -307,19 +320,13 @@ void Panels::PluginSelectorPanel::DoRefresh()
|
||||
m_StatusPanel.Show();
|
||||
|
||||
// Use a thread to load plugins.
|
||||
if (!DisableThreading) safe_delete( m_EnumeratorThread );
|
||||
safe_delete( m_EnumeratorThread );
|
||||
m_EnumeratorThread = new EnumThread( *this );
|
||||
|
||||
if( DisableThreading )
|
||||
{
|
||||
m_ComponentBoxes.Reset();
|
||||
m_EnumeratorThread->ExecuteTask();
|
||||
}
|
||||
m_EnumeratorThread->DoNextPlugin( 0 );
|
||||
else
|
||||
{
|
||||
m_EnumeratorThread->Start();
|
||||
m_ComponentBoxes.Reset();
|
||||
}
|
||||
}
|
||||
|
||||
bool Panels::PluginSelectorPanel::ValidateEnumerationStatus()
|
||||
@ -338,6 +345,12 @@ bool Panels::PluginSelectorPanel::ValidateEnumerationStatus()
|
||||
if( (m_FileList == NULL) || (*pluginlist != *m_FileList) )
|
||||
validated = false;
|
||||
|
||||
if( pluggers == 0 )
|
||||
{
|
||||
safe_delete( m_FileList );
|
||||
return validated;
|
||||
}
|
||||
|
||||
delete m_FileList;
|
||||
m_FileList = pluginlist.release();
|
||||
|
||||
@ -363,7 +376,7 @@ void Panels::PluginSelectorPanel::OnConfigure_Clicked( wxCommandEvent& evt )
|
||||
|
||||
void Panels::PluginSelectorPanel::OnEnumComplete( wxCommandEvent& evt )
|
||||
{
|
||||
if (!DisableThreading) safe_delete( m_EnumeratorThread );
|
||||
safe_delete( m_EnumeratorThread );
|
||||
|
||||
// fixme: Default plugins should be picked based on the timestamp of the DLL or something?
|
||||
// (for now we just force it to selection zero if nothing's selected)
|
||||
@ -388,7 +401,20 @@ void Panels::PluginSelectorPanel::OnProgress( wxCommandEvent& evt )
|
||||
{
|
||||
if( m_FileList == NULL ) return;
|
||||
|
||||
size_t evtidx = evt.GetExtraLong();
|
||||
const size_t evtidx = evt.GetExtraLong();
|
||||
|
||||
if( DisableThreading )
|
||||
{
|
||||
const int nextidx = evtidx+1;
|
||||
if( nextidx == m_FileList->Count() )
|
||||
{
|
||||
wxCommandEvent done( wxEVT_EnumerationFinished );
|
||||
GetEventHandler()->AddPendingEvent( done );
|
||||
}
|
||||
else
|
||||
m_EnumeratorThread->DoNextPlugin( nextidx );
|
||||
}
|
||||
|
||||
m_StatusPanel.AdvanceProgress( (evtidx < m_FileList->Count()-1) ?
|
||||
(*m_FileList)[evtidx + 1] : wxString(_("Completing tasks..."))
|
||||
);
|
||||
@ -449,6 +475,39 @@ void Panels::PluginSelectorPanel::EnumThread::Cancel()
|
||||
PersistentThread::Cancel();
|
||||
}
|
||||
|
||||
void Panels::PluginSelectorPanel::EnumThread::DoNextPlugin( int curidx )
|
||||
{
|
||||
DbgCon::WriteLn( L"Enumerating Plugin: " + m_master.GetFilename( curidx ) );
|
||||
|
||||
try
|
||||
{
|
||||
EnumeratedPluginInfo& result( Results[curidx] );
|
||||
result.TypeMask = 0;
|
||||
|
||||
PluginEnumerator penum( m_master.GetFilename( curidx ) );
|
||||
|
||||
result.Name = penum.GetName();
|
||||
for( int pidx=0; pidx<PluginId_Count; ++pidx )
|
||||
{
|
||||
const PluginsEnum_t pid = (PluginsEnum_t)pidx;
|
||||
result.TypeMask |= tbl_PluginInfo[pid].typemask;
|
||||
if( penum.CheckVersion( pid ) )
|
||||
{
|
||||
result.PassedTest |= tbl_PluginInfo[pid].typemask;
|
||||
penum.GetVersionString( result.Version[pid], pidx );
|
||||
}
|
||||
}
|
||||
}
|
||||
catch( Exception::BadStream& ex )
|
||||
{
|
||||
Console::Status( ex.FormatDiagnosticMessage() );
|
||||
}
|
||||
|
||||
wxCommandEvent yay( wxEVT_EnumeratedNext );
|
||||
yay.SetExtraLong( curidx );
|
||||
m_master.GetEventHandler()->AddPendingEvent( yay );
|
||||
}
|
||||
|
||||
sptr Panels::PluginSelectorPanel::EnumThread::ExecuteTask()
|
||||
{
|
||||
DevCon::Status( "Plugin Enumeration Thread started..." );
|
||||
@ -458,37 +517,8 @@ sptr Panels::PluginSelectorPanel::EnumThread::ExecuteTask()
|
||||
for( int curidx=0; curidx < m_master.FileCount(); ++curidx )
|
||||
{
|
||||
if( m_cancel ) return 0;
|
||||
DbgCon::WriteLn( L"Enumerating Plugin: " + m_master.GetFilename( curidx ) );
|
||||
|
||||
try
|
||||
{
|
||||
EnumeratedPluginInfo& result( Results[curidx] );
|
||||
result.TypeMask = 0;
|
||||
|
||||
PluginEnumerator penum( m_master.GetFilename( curidx ) );
|
||||
|
||||
result.Name = penum.GetName();
|
||||
for( int pidx=0; pidx<PluginId_Count; ++pidx )
|
||||
{
|
||||
const PluginsEnum_t pid = (PluginsEnum_t)pidx;
|
||||
result.TypeMask |= tbl_PluginInfo[pid].typemask;
|
||||
if( penum.CheckVersion( pid ) )
|
||||
{
|
||||
result.PassedTest |= tbl_PluginInfo[pid].typemask;
|
||||
penum.GetVersionString( result.Version[pid], pidx );
|
||||
}
|
||||
}
|
||||
}
|
||||
catch( Exception::BadStream& ex )
|
||||
{
|
||||
Console::Status( ex.FormatDiagnosticMessage() );
|
||||
}
|
||||
|
||||
DoNextPlugin( curidx );
|
||||
pthread_testcancel();
|
||||
|
||||
wxCommandEvent yay( wxEVT_EnumeratedNext );
|
||||
yay.SetExtraLong( curidx );
|
||||
m_master.GetEventHandler()->AddPendingEvent( yay );
|
||||
}
|
||||
|
||||
wxCommandEvent done( wxEVT_EnumerationFinished );
|
||||
|
Loading…
Reference in New Issue
Block a user