From c2ca0852d94b0895355313bcf86420ce520e09fd Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Tue, 14 Dec 2021 18:02:10 +1000 Subject: [PATCH] Build: Add pcsx2core variant for Qt --- .gitignore | 5 + CMakeLists.txt | 6 +- cmake/BuildParameters.cmake | 6 + common/common.vcxproj | 5 +- pcsx2/CMakeLists.txt | 193 ++- pcsx2/pcsx2core.vcxproj | 800 ++++++++++++ pcsx2/pcsx2core.vcxproj.filters | 2005 +++++++++++++++++++++++++++++++ 7 files changed, 2970 insertions(+), 50 deletions(-) create mode 100644 pcsx2/pcsx2core.vcxproj create mode 100644 pcsx2/pcsx2core.vcxproj.filters diff --git a/.gitignore b/.gitignore index 2e9d923c7e..f5c55caee8 100644 --- a/.gitignore +++ b/.gitignore @@ -76,9 +76,13 @@ oprofile_data/ /bin/PCSX2-linux.sh /bin/*ReplayLoader /bin/GS*.txt +/bin/qt.conf /bin/bios /bin/cache +/bin/cheats +/bin/covers /bin/dumps +/bin/gamesettings /bin/help /bin/inis /bin/logs @@ -86,6 +90,7 @@ oprofile_data/ /bin/plugins /bin/snaps /bin/sstates +/bin/translations /deps /ipch diff --git a/CMakeLists.txt b/CMakeLists.txt index 261c7c59d7..a72a03a32d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ include(SearchForStuff) get_git_version_info() write_svnrev_h() -if(NOT NO_TRANSLATION) +if(NOT NO_TRANSLATION AND NOT PCSX2_CORE) # make the translation if(EXISTS "${CMAKE_SOURCE_DIR}/locales") add_subdirectory(locales) @@ -43,6 +43,10 @@ add_subdirectory(common) # make pcsx2 add_subdirectory(pcsx2) +if (QT_BUILD) + add_subdirectory(pcsx2-qt) +endif() + # tests if(ACTUALLY_ENABLE_TESTS) set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake index bb61086193..30f040fe18 100644 --- a/cmake/BuildParameters.cmake +++ b/cmake/BuildParameters.cmake @@ -49,6 +49,7 @@ option(DISABLE_SETCAP "Do not set files capabilities") option(XDG_STD "Use XDG standard path instead of the standard PCSX2 path") option(CUBEB_API "Build Cubeb support on SPU2" ON) option(GTK2_API "Use GTK2 api (legacy)") +option(QT_BUILD "Build Qt frontend instead of wx" OFF) if(UNIX AND NOT APPLE) option(X11_API "Enable X11 support" ON) @@ -320,6 +321,11 @@ if(CMAKE_BUILD_STRIP) add_link_options(-s) endif() +if(QT_BUILD) + # We want the core PCSX2 library. + set(PCSX2_CORE TRUE) +endif() + # Enable special stuff for CI builds if("$ENV{CI}" STREQUAL "true") list(APPEND PCSX2_DEFS PCSX2_CI) diff --git a/common/common.vcxproj b/common/common.vcxproj index 1fec737582..2005697e64 100644 --- a/common/common.vcxproj +++ b/common/common.vcxproj @@ -209,12 +209,9 @@ {3fcc50c2-81e9-5db2-b8d8-2129427568b1} - - {6744dad8-9c70-574a-bff2-9f8dddb24a75} - - \ No newline at end of file + diff --git a/pcsx2/CMakeLists.txt b/pcsx2/CMakeLists.txt index ef7a206e14..1e66e57fb9 100644 --- a/pcsx2/CMakeLists.txt +++ b/pcsx2/CMakeLists.txt @@ -3,7 +3,15 @@ include(macros/GlibCompileResourcesSupport) # All flags, libraries, etc, that are shared between PCSX2 compilation files add_library(PCSX2_FLAGS INTERFACE) -add_executable(PCSX2) +if (NOT PCSX2_CORE) + add_executable(PCSX2) +else() + add_library(PCSX2) + target_compile_definitions(PCSX2_FLAGS INTERFACE + "PCSX2_CORE" + "DISABLE_RECORDING" + ) +endif() target_link_libraries(PCSX2 PRIVATE PCSX2_FLAGS) target_compile_features(PCSX2_FLAGS INTERFACE cxx_std_17) @@ -350,7 +358,6 @@ set(pcsx2DEV9Sources DEV9/PacketReader/IP/IP_Packet.cpp DEV9/PacketReader/EthernetFrame.cpp DEV9/PacketReader/NetLib.cpp - DEV9/ConfigUI.cpp DEV9/smap.cpp DEV9/DEV9.cpp DEV9/DEV9Config.cpp @@ -386,6 +393,12 @@ set(pcsx2DEV9Headers DEV9/smap.h ) +if(NOT PCSX2_CORE) + list(APPEND pcsx2DEV9Sources + DEV9/ConfigUI.cpp + ) +endif() + # USBNull set(pcsx2USBNullSources USB/USBNull.cpp) set(pcsx2USBNullHeaders USB/USB.h) @@ -474,7 +487,20 @@ if(TARGET PulseAudio::PulseAudio) list(APPEND pcsx2USBHeaders USB/usb-mic/audiodev-pulse.h) endif() -if(WIN32) +if(PCSX2_CORE) + # Host PAD + set(pcsx2PADSources + PAD/Host/KeyStatus.cpp + PAD/Host/PAD.cpp + PAD/Host/StateManagement.cpp + ) + set(pcsx2PADHeaders + PAD/Host/Global.h + PAD/Host/KeyStatus.h + PAD/Host/PAD.h + PAD/Host/StateManagement.h + ) +elseif(WIN32) set(pcsx2PADSources PAD/Windows/PADConfig.cpp PAD/Windows/DeviceEnumerator.cpp @@ -517,7 +543,7 @@ if(WIN32) PAD/Windows/WndProcEater.h PAD/Windows/XInputEnum.h ) -else(WIN32) +else() # PAD resources pre-compilation set(PADImgHeader "${CMAKE_BINARY_DIR}/pcsx2/PAD/Linux/ImgHeader") set(PADImg "${CMAKE_SOURCE_DIR}/pcsx2/PAD/Linux/Img") @@ -591,7 +617,7 @@ else(WIN32) ${PADImgHeader}/arrow_left.h ${PADImgHeader}/arrow_right.h ) -endif(WIN32) +endif() # GS sources set(pcsx2GSSources @@ -641,7 +667,6 @@ set(pcsx2GSSources GS/Renderers/OpenGL/GSDeviceOGL.cpp GS/Renderers/OpenGL/GSTextureOGL.cpp GS/Window/GSSetting.cpp - GS/Window/GSwxDialog.cpp ) # GS headers @@ -712,7 +737,6 @@ set(pcsx2GSHeaders GS/Window/GSCaptureDlg.h GS/Window/GSDialog.h GS/Window/GSSetting.h - GS/Window/GSwxDialog.h ) if(USE_VULKAN) @@ -726,7 +750,36 @@ if(USE_VULKAN) ) endif() -if(WIN32) +if(NOT PCSX2_CORE) + list(APPEND pcsx2GSSources + GS/Window/GSwxDialog.cpp + ) + list(APPEND pcsx2GSHeaders + GS/Window/GSwxDialog.h + ) +endif() + +if(PCSX2_CORE) + list(APPEND pcsx2SPU2Headers + SPU2/Host/CfgHelpers.cpp + SPU2/Host/Config.cpp + SPU2/Host/ConfigDebug.cpp + SPU2/Host/ConfigSoundTouch.cpp + SPU2/Host/Dialogs.cpp + ) + list(APPEND pcsx2SPU2Headers + SPU2/Host/Config.h + SPU2/Host/Dialogs.h + ) + if(NOT WIN32) + list(APPEND pcsx2SPU2Headers + SPU2/WavFile.cpp + ) + list(APPEND pcsx2DEV9Sources + DEV9/Linux/Config.cpp + ) + endif() +elseif(WIN32) list(APPEND pcsx2SPU2Sources SPU2/Windows/CfgHelpers.cpp SPU2/Windows/Config.cpp @@ -800,7 +853,7 @@ if(WIN32) GS/Renderers/DX11/GSDevice11.h GS/Renderers/DX11/GSTexture11.h ) -else(WIN32) +else() list(APPEND pcsx2SPU2Sources SPU2/Linux/CfgHelpers.cpp SPU2/Linux/Config.cpp @@ -853,7 +906,7 @@ else(WIN32) USB/usb-pad/evdev/evdev.h USB/usb-pad/evdev/shared.h ) -endif(WIN32) +endif() # DebugTools sources @@ -922,6 +975,26 @@ if(WIN32) ) endif() +if(PCSX2_CORE) + list(APPEND pcsx2FrontendSources + Frontend/GameList.cpp + Frontend/INISettingsInterface.cpp + Frontend/InputManager.cpp + Frontend/InputSource.cpp + Frontend/LayeredSettingsInterface.cpp + HostSettings.cpp + VMManager.cpp + ) + list(APPEND pcsx2FrontendHeaders + Frontend/GameList.h + Frontend/INISettingsInterface.h + Frontend/InputManager.h + Frontend/InputSource.h + Frontend/LayeredSettingsInterface.h + HostSettings.h + VMManager.h) +endif() + # gui sources set(pcsx2GuiSources gui/AppAssert.cpp @@ -1090,27 +1163,35 @@ set(pcsx2IPUHeaders set(pcsx2LinuxSources CDVD/Linux/DriveUtility.cpp CDVD/Linux/IOCtlSrc.cpp - Linux/LnxConsolePipe.cpp - Linux/LnxKeyCodes.cpp Linux/LnxFlatFileReader.cpp ) set(pcsx2OSXSources CDVD/Linux/DriveUtility.cpp CDVD/Linux/IOCtlSrc.cpp - Linux/LnxConsolePipe.cpp -# Linux/LnxKeyCodes.cpp Darwin/DarwinFlatFileReader.cpp ) set(pcsx2FreeBSDSources CDVD/Linux/DriveUtility.cpp CDVD/Linux/IOCtlSrc.cpp - Linux/LnxConsolePipe.cpp - Linux/LnxKeyCodes.cpp Darwin/DarwinFlatFileReader.cpp ) +if(NOT PCSX2_CORE) + list(APPEND pcsx2LinuxSources + Linux/LnxConsolePipe.cpp + Linux/LnxKeyCodes.cpp + ) + list(APPEND pcsx2OSXSources + Linux/LnxConsolePipe.cpp + ) + list(APPEND pcsx2FreeBSDSources + Linux/LnxConsolePipe.cpp + Linux/LnxKeyCodes.cpp + ) +endif() + # Linux headers set(pcsx2LinuxHeaders ) @@ -1208,8 +1289,12 @@ set(pcsx2RecordingVirtualPadResources # System sources set(pcsx2SystemSources - System/SysCoreThread.cpp System/SysThreadBase.cpp) +if(NOT PCSX2_CORE) + list(APPEND pcsx2SystemSources + System/SysCoreThread.cpp + ) +endif() # System headers set(pcsx2SystemHeaders @@ -1383,7 +1468,7 @@ if(Linux) ) endif() -if(UNIX AND NOT APPLE) +if(UNIX AND NOT APPLE AND NOT PCSX2_CORE) if(X11_API) target_link_libraries(PCSX2_FLAGS INTERFACE PkgConfig::X11_XCB @@ -1413,9 +1498,15 @@ if(UNIX AND NOT Linux) ${pcsx2USBNullSources} ${pcsx2USBNullHeaders}) else() - target_sources(PCSX2 PRIVATE - ${pcsx2USBSources} - ${pcsx2USBHeaders}) + if(NOT PCSX2_CORE) + target_sources(PCSX2 PRIVATE + ${pcsx2USBSources} + ${pcsx2USBHeaders}) + else() + target_sources(PCSX2 PRIVATE + ${pcsx2USBNullSources} + ${pcsx2USBNullHeaders}) + endif() endif() if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "NetBSD") @@ -1440,6 +1531,12 @@ target_link_libraries(PCSX2_FLAGS INTERFACE ${LIBC_LIBRARIES} ) +if(PCSX2_CORE) + target_link_libraries(PCSX2_FLAGS INTERFACE + simpleini + ) +endif() + if(WIN32) target_link_libraries(PCSX2_FLAGS INTERFACE baseclasses @@ -1467,8 +1564,12 @@ elseif(APPLE) LibXml2::LibXml2 ) else() + if (NOT PCSX2_CORE) + target_link_libraries(PCSX2_FLAGS INTERFACE + GTK::gtk + ) + endif() target_link_libraries(PCSX2_FLAGS INTERFACE - GTK::gtk OpenGL::GL PCAP::PCAP LibXml2::LibXml2 @@ -1476,30 +1577,32 @@ else() endif() ### Generate the resources files -file(MAKE_DIRECTORY ${res_bin}) +if(NOT PCSX2_CORE) + file(MAKE_DIRECTORY ${res_bin}) -foreach(res_file IN ITEMS - AppIcon16 AppIcon32 AppIcon64 BackgroundLogo Logo NoIcon ButtonIcon_Camera - ConfigIcon_Cpu ConfigIcon_Gamefixes ConfigIcon_MemoryCard - ConfigIcon_Paths ConfigIcon_Speedhacks ConfigIcon_Video Breakpoint_Active Breakpoint_Inactive) - add_custom_command( - OUTPUT "${res_bin}/${res_file}.h" - DEPENDS ${BIN2CPPDEP} "${res_src}/${res_file}.png" - COMMAND ${BIN2CPP} "${res_src}/${res_file}.png" "${res_bin}/${res_file}" - ) -endforeach() + foreach(res_file IN ITEMS + AppIcon16 AppIcon32 AppIcon64 BackgroundLogo Logo NoIcon ButtonIcon_Camera + ConfigIcon_Cpu ConfigIcon_Gamefixes ConfigIcon_MemoryCard + ConfigIcon_Paths ConfigIcon_Speedhacks ConfigIcon_Video Breakpoint_Active Breakpoint_Inactive) + add_custom_command( + OUTPUT "${res_bin}/${res_file}.h" + DEPENDS ${BIN2CPPDEP} "${res_src}/${res_file}.png" + COMMAND ${BIN2CPP} "${res_src}/${res_file}.png" "${res_bin}/${res_file}" + ) + endforeach() -### Generate Recording resource files -### Drop them into the folder alongside the png files -foreach(res_file IN ITEMS - circlePressed controllerFull controllerHalf controllerThreeQuarters crossPressed downPressed l1Pressed l2Pressed l3Pressed leftPressed - r1Pressed r2Pressed r3Pressed rightPressed selectPressed squarePressed startPressed trianglePressed upPressed) - add_custom_command( - OUTPUT "${res_rec_vp_src}/${res_file}.h" - DEPENDS ${BIN2CPPDEP} "${res_rec_vp_src}/${res_file}.png" - COMMAND ${BIN2CPP} "${res_rec_vp_src}/${res_file}.png" "${res_rec_vp_src}/${res_file}" - ) -endforeach() + ### Generate Recording resource files + ### Drop them into the folder alongside the png files + foreach(res_file IN ITEMS + circlePressed controllerFull controllerHalf controllerThreeQuarters crossPressed downPressed l1Pressed l2Pressed l3Pressed leftPressed + r1Pressed r2Pressed r3Pressed rightPressed selectPressed squarePressed startPressed trianglePressed upPressed) + add_custom_command( + OUTPUT "${res_rec_vp_src}/${res_file}.h" + DEPENDS ${BIN2CPPDEP} "${res_rec_vp_src}/${res_file}.png" + COMMAND ${BIN2CPP} "${res_rec_vp_src}/${res_file}.png" "${res_rec_vp_src}/${res_file}" + ) + endforeach() +endif() # additonal include directories target_include_directories(PCSX2_FLAGS INTERFACE @@ -1584,7 +1687,7 @@ if (APPLE) endforeach() endif() -if(NOT DISABLE_SETCAP) +if(NOT DISABLE_SETCAP AND NOT PCSX2_CORE) if(PACKAGE_MODE) install(CODE "execute_process(COMMAND /bin/bash -c \"echo 'Enabling networking capability on Linux...';set -x; [ -f '${CMAKE_INSTALL_FULL_BINDIR}/pcsx2' ] && sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' '${CMAKE_INSTALL_FULL_BINDIR}/pcsx2'; set +x\")") else() diff --git a/pcsx2/pcsx2core.vcxproj b/pcsx2/pcsx2core.vcxproj new file mode 100644 index 0000000000..24f0372e36 --- /dev/null +++ b/pcsx2/pcsx2core.vcxproj @@ -0,0 +1,800 @@ + + + + + + + {6C7986C4-3E4D-4DCC-B3C6-6BB12B238995} + + + + StaticLibrary + Unicode + $(DefaultPlatformToolset) + true + true + false + + + + + + + + + + + + + + + + AllRules.ruleset + pcsx2core + $(ProjectDir)pcsx2core\$(Platform)\$(Configuration)\ + $(ProjectDir)pcsx2core\$(Platform)\$(Configuration)\ + + + + $(SolutionDir)3rdparty\xbyak;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\xz\xz\src\liblzma\api;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\baseclasses;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\zlib;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\libpng;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\glad\include;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\cubeb\cubeb\include;$(SolutionDir)3rdparty\cubeb\include;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\imgui\imgui;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\simpleini\include;%(AdditionalIncludeDirectories) + Async + Use + PrecompiledHeader.h + PrecompiledHeader.h;%(ForcedIncludeFiles) + NoExtensions + /Zc:externConstexpr %(AdditionalOptions) + WIN32_LEAN_AND_MEAN;LZMA_API_STATIC;BUILD_DX=1;ENABLE_VULKAN;SPU2X_CUBEB;PCSX2_CORE;DISABLE_RECORDING;%(PreprocessorDefinitions) + PCSX2_DEBUG;PCSX2_DEVBUILD;_SECURE_SCL_=1;%(PreprocessorDefinitions) + PCSX2_DEVEL;PCSX2_DEVBUILD;NDEBUG;_SECURE_SCL_=1;%(PreprocessorDefinitions) + NDEBUG;_SECURE_SCL_=0;%(PreprocessorDefinitions) + PCSX2_CI;%(PreprocessorDefinitions) + _M_SSE=0x401;%(PreprocessorDefinitions) + _M_SSE=0x501;%(PreprocessorDefinitions) + + NotSet + StreamingSIMDExtensions2 + AdvancedVectorExtensions2 + false + $(IntDir)%(RelativeDir) + + + Precise + + + Yes + comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;rpcrt4.lib;iphlpapi.lib;dsound.lib;%(AdditionalDependencies) + dxguid.lib;dinput8.lib;hid.lib;PowrProf.lib;d3dcompiler.lib;d3d11.lib;dxgi.lib;strmiids.lib;opengl32.lib;comsuppw.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + true + true + true + true + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + true + true + true + true + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + {27f17499-a372-4408-8afa-4f9f4584fbd3} + + + {449ad25e-424a-4714-babc-68706cdcc33b} + + + {bc236261-77e8-4567-8d09-45cd02965eb6} + + + {d6973076-9317-4ef2-a0b8-b7a18ac0713e} + + + {47afdbef-f15f-4bc0-b436-5be443c3f80f} + + + {0fae817d-9a32-4830-857e-81da57246e16} + false + + + {e9b51944-7e6d-4bcd-83f2-7bbd5a46182d} + + + {3fcc50c2-81e9-5db2-b8d8-2129427568b1} + + + {12728250-16ec-4dc6-94d7-e21dd88947f8} + + + {a0d2b3ad-1f72-4ee3-8b5c-f2c358da35f0} + + + {2f6c0388-20cb-4242-9f6c-a6ebb6a83f47} + false + + + {677b7d11-d5e1-40b3-88b1-9a4df83d2213} + false + + + {ed2f21fd-0a36-4a8f-9b90-e7d92a2acb63} + + + {bf74c473-dc04-44b3-92e8-4145f4e77342} + + + {de9653b6-17dd-356a-9ee0-28a731772587} + + + {88fb34ec-845e-4f21-a552-f1573b9ed167} + + + {4639972e-424e-4e13-8b07-ca403c481346} + + + {c0293b32-5acf-40f0-aa6c-e6da6f3bf33a} + + + + + \ No newline at end of file diff --git a/pcsx2/pcsx2core.vcxproj.filters b/pcsx2/pcsx2core.vcxproj.filters new file mode 100644 index 0000000000..a04ae4ba5f --- /dev/null +++ b/pcsx2/pcsx2core.vcxproj.filters @@ -0,0 +1,2005 @@ + + + + + {d1e5f218-107b-4e8c-9527-55cb9388b544} + + + {acd41072-b36e-4653-a430-40ade53fb78a} + + + {5dc872c1-db13-4c70-9d44-a3fc4b6fc241} + + + {3cda6808-a2bd-48a7-912e-161a7d0f5bce} + + + {a3f5cf44-2d2b-4822-b530-57286c85374a} + + + {a7187804-2892-4f90-9360-cf2bd6c31540} + + + {1c7a3f63-9285-4202-84c5-278a854db932} + + + {33efddb9-1e44-44dc-b857-45b49b22c750} + + + {c1691a12-a08a-4ca7-ba66-b4ff4c7f30a5} + + + {57bf864f-d216-4d97-968d-4c0ff4f166ec} + + + {7865c84c-6431-4781-a016-45eeac5cad2c} + + + {c4ee1612-1ce9-4c74-8323-f98851014558} + + + {a210a307-e8bf-4bbc-8770-e720cc7fc953} + + + {e14056ea-b126-4e5b-94e0-3ce09463970b} + + + {4ba4f2e2-5195-471b-9a0d-d84fa3fb96aa} + + + {088d96f1-2b69-4c53-9f14-026db3368905} + + + {259f9912-d495-45da-b894-8312fde18364} + + + {5f98cd09-41cd-4c1e-ad7d-06a8859e770c} + + + {620afa6f-3aea-4093-bed0-46fd37a5ad6d} + + + {f9de9bc0-4bc5-4fb5-8a1f-04bc31a82b07} + + + {a6b34a13-67af-45fd-a2fb-2c86a762dd39} + + + {89c4908d-b0a1-4c69-9104-00e0af69a714} + + + {f5c8a322-8f48-44a8-97ad-4bd0017bdfe7} + + + {79aa85ae-b75b-421a-838c-8144d9dacd76} + + + {094486fe-8ffc-4b98-81d6-6c381554fd8e} + + + {409f8654-a1cd-4624-9ede-3ae83a707876} + + + {e373743e-ee9f-421c-aa28-2d02a08bb252} + + + {5a3ec813-4719-4ca1-9988-3587ea402a2b} + + + {a11bcdd7-008e-40aa-9376-d1cc2bf4e67c} + + + {8aa116a4-8bae-4ec0-a919-be8a320491eb} + + + {4dab2d06-69e0-4f3e-b6d3-45e5e85af940} + + + {67e51016-d1db-44d2-910d-349d2833f798} + + + {5602cc18-9d1c-49c8-9509-7e4cf9ecd91b} + + + {ffa6c572-1615-4dad-80c3-333e3eb476f2} + + + {bba4d866-e26f-49c8-83fb-fb970c33798b} + + + {96937113-fef0-4e63-92e5-a30edcc78dc2} + + + {5e741f2d-9e0b-4e43-b2a2-44a8370e1546} + + + {c5237754-2509-4291-b869-c5dacc1a8aba} + + + {be861049-a142-4650-85a5-a2fdd4eef011} + + + {a5904fb6-e846-4cbf-940c-ca1c604140a0} + + + {157740ae-b338-4d7f-81cb-cffa9d39a756} + + + {bed493d6-96dc-4057-a1f2-31f88ec927d9} + + + {8d5454f9-590c-4c53-aae1-8391c6465e50} + + + {bc20f567-851d-4440-a3fd-ef470241962e} + + + {9e9b52d7-7b1c-44b2-82d8-1e0d8085e7e0} + + + {93da3d51-9457-4fde-b374-c2fbe4780f59} + + + {57c4be94-9a2c-469b-9b02-b3b324857fc5} + + + {a0723e13-c839-464d-8cfa-6c440ae03537} + + + {db2fc75d-6552-4991-9155-885abd8796e4} + + + {d426ae2b-9ad6-473d-adba-57b7bdac87db} + + + {229bf045-e378-4ec5-bdf8-43938762511e} + + + {64b05697-98cd-48ed-b5a5-cb0f6044ca15} + + + {df9de75c-2272-4f73-b2a0-4f9f492ba1e9} + + + {e1cbcaf6-9f65-4f14-9e89-27dd0f10e047} + + + {38f3b97b-eac6-4085-b6b0-567ec5081242} + + + {f65f5552-af5b-47b0-9029-48d4dc33c2f9} + + + {6e0dc702-cb44-4a22-a595-4cbd335f31a4} + + + {85d4539e-fc10-4369-98f0-0ee9a6a9cc00} + + + {5be27550-9ed4-4c27-9e69-e5933613c4e8} + + + {8a0a142d-a4e0-4e8d-afbf-955fe1697eca} + + + {c140280a-87c6-4433-b877-f0bf8cca9345} + + + {81af12a1-9605-4dd8-a70e-fd4ae81fbdd5} + + + {eaa22029-6839-4c09-93e1-faea8d8c0d7c} + + + {78f5077b-255e-435e-9a51-352171dfaee8} + + + {65f21394-287a-471b-a0c1-d8f0d5d95a81} + + + {98829aa9-bb81-4564-bd6e-128719c4faa0} + + + {0ba8b3c9-0915-4228-a572-3526190efb00} + + + {7699b8f4-a217-4d8a-bf08-e28e58b3ae07} + + + {8c7c08ed-6c87-4b10-82ca-c832e84828c4} + + + {eb697f5b-85f5-424a-a7e4-8d8b73d3426e} + + + + + Misc + + + Docs + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\GS\Shaders\OpenGL + + + System\Ps2\GS\Shaders\OpenGL + + + System\Ps2\GS\Shaders\OpenGL + + + System\Ps2\GS\Shaders\OpenGL + + + System\Ps2\GS\Shaders\OpenGL + + + System\Ps2\GS\Shaders\OpenGL + + + System\Ps2\GS\Shaders\OpenGL + + + System\Ps2\GS\Shaders\Common + + + System\Ps2\GS\Shaders\Vulkan + + + System\Ps2\GS\Shaders\Vulkan + + + System\Ps2\GS\Shaders\Vulkan + + + System\Ps2\GS\Shaders\Vulkan + + + System\Ps2\GS\Shaders\Direct3D11 + + + System\Ps2\GS\Shaders\Direct3D11 + + + System\Ps2\GS\Shaders\Direct3D11 + + + System\Ps2\GS\Shaders\Direct3D11 + + + System\Ps2\GS\Shaders\Direct3D11 + + + + + Misc + + + Misc + + + Misc + + + Misc + + + Misc\Utilities + + + System + + + System + + + System + + + System + + + System + + + System + + + System + + + System\ISO + + + System\Ps2 + + + System\Ps2 + + + System\Ps2\EmotionEngine + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Memory + + + System\Ps2\EmotionEngine\Memory + + + System\Ps2\EmotionEngine\Memory + + + System\Ps2\EmotionEngine\Memory + + + System\Ps2\EmotionEngine\VU + + + System\Ps2\EmotionEngine\VU + + + System\Ps2\EmotionEngine\VU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\DMAC\Sif + + + System\Ps2\EmotionEngine\DMAC\Sif + + + System\Ps2\EmotionEngine\DMAC\Sif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec + + + System\Ps2\EmotionEngine\DMAC\SPR + + + System\Ps2\EmotionEngine\DMAC\Gif + + + System\Ps2\EmotionEngine\EE + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Dynarec\ix86-32 + + + System\Ps2\EmotionEngine\EE\Interpreter + + + System\Ps2\EmotionEngine\EE\Interpreter + + + System\Ps2\EmotionEngine\EE\Interpreter + + + System\Ps2\EmotionEngine\EE\Interpreter + + + System\Ps2\EmotionEngine\EE\Interpreter + + + System\Ps2\EmotionEngine\EE\Interpreter + + + System\Ps2\EmotionEngine\EE\Interpreter + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop\Dynarec + + + System\Ps2\Iop\Dynarec + + + System\Ps2\Iop\Hardware + + + System\Ps2\Iop\Hardware + + + System\Ps2\Iop\Hardware + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\IPU + + + System\Ps2\IPU + + + System\Ps2\IPU + + + System\Ps2\IPU\mpeg2lib + + + System\Ps2\IPU\mpeg2lib + + + System\Ps2\GS\GIF + + + System\Ps2\GS\GIF + + + System\Ps2\GS\GIF + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\iCore + + + System\Ps2\iCore + + + System\IsoFS + + + System\IsoFS + + + System\IsoFS + + + Misc + + + Misc + + + System\Ps2\IPU + + + System\Ps2 + + + System\Ps2\GS\GIF + + + System\Ps2\GS + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\EmotionEngine\DMAC\Sif + + + System\ISO + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\Ps2\Iop + + + System\Ps2 + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\IPU + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD\Windows + + + System\Ps2\Iop\CDVD\Windows + + + System\Ps2\Iop\CDVD\Linux + + + System\Ps2\Iop\CDVD\Linux + + + System + + + System\Ps2\Iop\FW + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\DEV9\ATA\Commands + + + System\Ps2\DEV9\ATA\Commands + + + System\Ps2\DEV9\ATA\Commands + + + System\Ps2\DEV9\ATA\Commands + + + System\Ps2\DEV9\ATA\Commands + + + System\Ps2\DEV9\ATA\Commands + + + System\Ps2\DEV9\ATA\Commands + + + System\Ps2\DEV9\ATA + + + System\Ps2\DEV9\ATA + + + System\Ps2\DEV9\ATA + + + System\Ps2\DEV9\ATA + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9\InternalServers + + + System\Ps2\DEV9\InternalServers + + + System\Ps2\DEV9\InternalServers + + + System\Ps2\DEV9\PacketReader\IP\UDP\DHCP + + + System\Ps2\DEV9\PacketReader\IP\UDP\DHCP + + + System\Ps2\DEV9\PacketReader\IP\UDP\DNS + + + System\Ps2\DEV9\PacketReader\IP\UDP\DNS + + + System\Ps2\DEV9\PacketReader\IP\UDP + + + System\Ps2\DEV9\PacketReader\IP + + + System\Ps2\DEV9\PacketReader\IP + + + System\Ps2\DEV9\PacketReader + + + System\Ps2\DEV9\PacketReader + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\ISO + + + System\Ps2\GS\Renderers\Direct3D + + + System\Ps2\GS\Renderers\Direct3D + + + System\Ps2\GS\Renderers\Direct3D + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Null + + + System\Ps2\GS\Renderers\Null + + + System\Ps2\GS\Renderers\Null + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Window + + + System\Ps2\GS\Window + + + System\Ps2\GS\Window + + + System\Ps2\GS\Window + + + System\Ps2\GS\Window + + + System\Ps2\GS\Renderers\Direct3D + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System + + + System\Ps2\SPU2 + + + Host + + + Host + + + Host + + + Host + + + Host + + + Host + + + Host + + + System\Ps2\GS\Renderers\Vulkan + + + System\Ps2\GS\Renderers\Vulkan + + + Host + + + Host + + + Host + + + Host + + + Host + + + Host + + + Host + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\USB + + + Host + + + System + + + System\Ps2\PAD + + + System\Ps2\PAD + + + System\Ps2\PAD + + + System\Ps2\SPU2 + + + Host + + + Host + + + + + Misc + + + Misc + + + Misc + + + Misc\Utilities + + + System\ISO + + + System\ISO + + + System\Include + + + System\Include + + + System\Include + + + System\Include + + + System\Include + + + System\Include + + + System\Include + + + System\Include + + + System\Include + + + System\Ps2\EmotionEngine + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Hardware + + + System\Ps2\EmotionEngine\Memory + + + System\Ps2\EmotionEngine\Memory + + + System\Ps2\EmotionEngine\Memory + + + System\Ps2\EmotionEngine\VU + + + System\Ps2\EmotionEngine\VU + + + System\Ps2\EmotionEngine\VU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\VU\Interpreter + + + System\Ps2\EmotionEngine\DMAC\Sif + + + System\Ps2\EmotionEngine\DMAC\Sif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif + + + System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec + + + System\Ps2\EmotionEngine\DMAC\SPR + + + System\Ps2\EmotionEngine\DMAC\Gif + + + System\Ps2\EmotionEngine\EE + + + System\Ps2\EmotionEngine\EE + + + System\Ps2\EmotionEngine\EE + + + System\Ps2\EmotionEngine\EE + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\EmotionEngine\EE\Dynarec + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2\Iop\Dynarec + + + System\Ps2\Iop\Hardware + + + System\Ps2\Iop\Hardware + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\Iop\CDVD + + + System\Ps2\IPU + + + System\Ps2\IPU + + + System\Ps2\IPU + + + System\Ps2\IPU\mpeg2lib + + + System\Ps2\IPU\mpeg2lib + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Include + + + System\Ps2\Include + + + System\Ps2\Include + + + System\Ps2\iCore + + + System\IsoFS + + + System\IsoFS + + + System\IsoFS + + + System\IsoFS + + + System\IsoFS + + + System\IsoFS + + + Misc + + + System\Ps2\IPU + + + System\Ps2\GS\GIF + + + System\Ps2\EmotionEngine\VU\Dynarec\microVU + + + System\ISO + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\ISO + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\Ps2\Debug + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\ISO + + + System\Include + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Ps2 + + + System\Ps2\Iop + + + System\Ps2\Iop\CDVD + + + System\Include + + + System\Ps2\Iop\FW + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\DEV9\ATA + + + System\Ps2\DEV9\ATA + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9\InternalServers + + + System\Ps2\DEV9\InternalServers + + + System\Ps2\DEV9\InternalServers + + + System\Ps2\DEV9 + + + System\Ps2\DEV9\PacketReader\IP\UDP\DHCP + + + System\Ps2\DEV9\PacketReader\IP\UDP\DHCP + + + System\Ps2\DEV9\PacketReader\IP\UDP\DNS + + + System\Ps2\DEV9\PacketReader\IP\UDP\DNS + + + System\Ps2\DEV9\PacketReader\IP\UDP\DNS + + + System\Ps2\DEV9\PacketReader\IP\UDP + + + System\Ps2\DEV9\PacketReader\IP + + + System\Ps2\DEV9\PacketReader\IP + + + System\Ps2\DEV9\PacketReader\IP + + + System\Ps2\DEV9\PacketReader\IP + + + System\Ps2\DEV9\PacketReader + + + System\Ps2\DEV9\PacketReader + + + System\Ps2\DEV9\PacketReader + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\DEV9 + + + System\Ps2\USB + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS + + + System\Ps2\GS\GIF + + + System\Ps2\GS\Renderers\Direct3D + + + System\Ps2\GS\Renderers\Direct3D + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Software + + + System\Ps2\GS\Renderers\Null + + + System\Ps2\GS\Renderers\Null + + + System\Ps2\GS\Renderers\Null + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\Hardware + + + System\Ps2\GS\Renderers\OpenGL + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Renderers\Common + + + System\Ps2\GS\Window + + + System\Ps2\GS\Window + + + System\Ps2\GS\Window + + + System\Ps2\GS\Window + + + System\Ps2\GS + + + System\Ps2\GS\Window + + + System\Ps2\GS\Renderers\Direct3D + + + System\Ps2\Iop + + + System\Ps2\Iop + + + System\Include + + + Host + + + Host + + + Host + + + Host + + + Host + + + Host + + + System\Ps2\GS\Renderers\Vulkan + + + System\Ps2\GS\Renderers\Vulkan + + + + Host + + + Host + + + Host + + + Host + + + Host + + + Host + + + Host + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + Host + + + System + + + System\Ps2\PAD + + + System\Ps2\PAD + + + System\Ps2\PAD + + + System\Ps2\PAD + + + System\Ps2\PAD + + + + + System\Ps2\GS + + + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + System\Ps2\Debug\rdebug + + + \ No newline at end of file