mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-11-03 23:28:48 +00:00 
			
		
		
		
	fixes to build on linux
This commit is contained in:
		
							parent
							
								
									c479921142
								
							
						
					
					
						commit
						7a136b8a84
					
				
					 9 changed files with 56 additions and 50 deletions
				
			
		| 
						 | 
					@ -2,9 +2,12 @@ cmake_minimum_required(VERSION 2.6)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project(citra)
 | 
					project(citra)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SET(GCC_COVERAGE_COMPILE_FLAGS "-std=c++11 -fpermissive")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# silence some spam
 | 
					# silence some spam
 | 
				
			||||||
add_definitions(-Wno-attributes)
 | 
					add_definitions(-Wno-attributes)
 | 
				
			||||||
add_definitions(-DSINGLETHREADED)
 | 
					add_definitions(-DSINGLETHREADED)
 | 
				
			||||||
 | 
					add_definitions(${GCC_COVERAGE_COMPILE_FLAGS})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# dependency checking
 | 
					# dependency checking
 | 
				
			||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests)
 | 
					set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,8 @@
 | 
				
			||||||
add_subdirectory(common)
 | 
					add_subdirectory(common)
 | 
				
			||||||
add_subdirectory(core)
 | 
					add_subdirectory(core)
 | 
				
			||||||
add_subdirectory(citra)
 | 
					 | 
				
			||||||
add_subdirectory(video_core)
 | 
					add_subdirectory(video_core)
 | 
				
			||||||
 | 
					add_subdirectory(citra)
 | 
				
			||||||
 | 
					add_subdirectory(citra_qt)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND AND NOT DISABLE_QT4)
 | 
					if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND AND NOT DISABLE_QT4)
 | 
				
			||||||
    #add_subdirectory(citra_qt)
 | 
					    #add_subdirectory(citra_qt)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,6 @@ if (NOT X11_xf86vmode_LIB)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_executable(citra ${SRCS})
 | 
					add_executable(citra ${SRCS})
 | 
				
			||||||
target_link_libraries(citra core common ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES} GLEW rt ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB})
 | 
					target_link_libraries(citra core common video_core GLEW glfw3 pthread X11 Xxf86vm Xi ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES} rt ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#install(TARGETS citra RUNTIME DESTINATION ${bindir})
 | 
					#install(TARGETS citra RUNTIME DESTINATION ${bindir})
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,30 +1,30 @@
 | 
				
			||||||
set(SRCS
 | 
					set(SRCS
 | 
				
			||||||
            bootmanager.cpp
 | 
					            bootmanager.cpp
 | 
				
			||||||
            callstack.cpp
 | 
					            debugger/callstack.cpp
 | 
				
			||||||
            disassembler.cpp
 | 
					            debugger/disassembler.cpp
 | 
				
			||||||
            registers.cpp
 | 
					            debugger/ramview.cpp
 | 
				
			||||||
 | 
					            debugger/registers.cpp
 | 
				
			||||||
            hotkeys.cpp
 | 
					            hotkeys.cpp
 | 
				
			||||||
            main.cpp
 | 
					            main.cpp
 | 
				
			||||||
            ramview.cpp
 | 
					 | 
				
			||||||
            config/controller_config.cpp
 | 
					            config/controller_config.cpp
 | 
				
			||||||
            config/controller_config_util.cpp)
 | 
					            config/controller_config_util.cpp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
qt4_wrap_ui(UI_HDRS
 | 
					qt4_wrap_ui(UI_HDRS
 | 
				
			||||||
                    callstack.ui
 | 
					                    debugger/callstack.ui
 | 
				
			||||||
                    disassembler.ui
 | 
					                    debugger/disassembler.ui
 | 
				
			||||||
                    registers.ui
 | 
					                    debugger/registers.ui
 | 
				
			||||||
                    hotkeys.ui
 | 
					                    hotkeys.ui
 | 
				
			||||||
                    main.ui
 | 
					                    main.ui
 | 
				
			||||||
                    config/controller_config.ui)
 | 
					                    config/controller_config.ui)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
qt4_wrap_cpp(MOC_SRCS
 | 
					qt4_wrap_cpp(MOC_SRCS
 | 
				
			||||||
                        bootmanager.hxx
 | 
					                        bootmanager.hxx
 | 
				
			||||||
                        callstack.hxx
 | 
					                        debugger/callstack.hxx
 | 
				
			||||||
                        disassembler.hxx
 | 
					                        debugger/disassembler.hxx
 | 
				
			||||||
                        registers.hxx
 | 
					                        debugger/registers.hxx
 | 
				
			||||||
 | 
					                        debugger/ramview.hxx
 | 
				
			||||||
                        hotkeys.hxx
 | 
					                        hotkeys.hxx
 | 
				
			||||||
                        main.hxx
 | 
					                        main.hxx
 | 
				
			||||||
                        ramview.hxx
 | 
					 | 
				
			||||||
                        config/controller_config.hxx
 | 
					                        config/controller_config.hxx
 | 
				
			||||||
                        config/controller_config_util.hxx)
 | 
					                        config/controller_config_util.hxx)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
 | 
				
			||||||
include_directories(./)
 | 
					include_directories(./)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS})
 | 
					add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS})
 | 
				
			||||||
target_link_libraries(citra-qt core common qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES})
 | 
					target_link_libraries(citra-qt core common video_core qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})
 | 
					#install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -672,7 +672,7 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
            paths[D_USER_IDX] = std::string(getenv("HOME") ? 
 | 
					            paths[D_USER_IDX] = std::string(getenv("HOME") ? 
 | 
				
			||||||
                getenv("HOME") : getenv("PWD") ? 
 | 
					                getenv("HOME") : getenv("PWD") ? 
 | 
				
			||||||
                getenv("PWD") : "") + DIR_SEP DOLPHIN_DATA_DIR DIR_SEP;
 | 
					                getenv("PWD") : "") + DIR_SEP EMU_DATA_DIR DIR_SEP;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        paths[D_CONFIG_IDX]            = paths[D_USER_IDX] + CONFIG_DIR DIR_SEP;
 | 
					        paths[D_CONFIG_IDX]            = paths[D_USER_IDX] + CONFIG_DIR DIR_SEP;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -497,27 +497,27 @@ typedef s64 s64_le;
 | 
				
			||||||
typedef float float_le;
 | 
					typedef float float_le;
 | 
				
			||||||
typedef double double_le;
 | 
					typedef double double_le;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<u64, swap_64_t<u64>> u64_be;
 | 
					typedef swap_struct_t<u64, swap_64_t<u64> > u64_be;
 | 
				
			||||||
typedef swap_struct_t<s64, swap_64_t<s64>> s64_be;
 | 
					typedef swap_struct_t<s64, swap_64_t<s64> > s64_be;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<u32, swap_32_t<u32>> u32_be;
 | 
					typedef swap_struct_t<u32, swap_32_t<u32> > u32_be;
 | 
				
			||||||
typedef swap_struct_t<s32, swap_32_t<s32>> s32_be;
 | 
					typedef swap_struct_t<s32, swap_32_t<s32> > s32_be;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<u16, swap_16_t<u16>> u16_be;
 | 
					typedef swap_struct_t<u16, swap_16_t<u16> > u16_be;
 | 
				
			||||||
typedef swap_struct_t<s16, swap_16_t<s16>> s16_be;
 | 
					typedef swap_struct_t<s16, swap_16_t<s16> > s16_be;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<float, swap_float_t<float> > float_be;
 | 
					typedef swap_struct_t<float, swap_float_t<float> > float_be;
 | 
				
			||||||
typedef swap_struct_t<double, swap_double_t<double> > double_be;
 | 
					typedef swap_struct_t<double, swap_double_t<double> > double_be;
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<u64, swap_64_t<u64>> u64_le;
 | 
					typedef swap_struct_t<u64, swap_64_t<u64> > u64_le;
 | 
				
			||||||
typedef swap_struct_t<s64, swap_64_t<s64>> s64_le;
 | 
					typedef swap_struct_t<s64, swap_64_t<s64> > s64_le;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<u32, swap_32_t<u32>> u32_le;
 | 
					typedef swap_struct_t<u32, swap_32_t<u32> > u32_le;
 | 
				
			||||||
typedef swap_struct_t<s32, swap_32_t<s32>> s32_le;
 | 
					typedef swap_struct_t<s32, swap_32_t<s32> > s32_le;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<u16, swap_16_t<u16>> u16_le;
 | 
					typedef swap_struct_t<u16, swap_16_t<u16> > u16_le;
 | 
				
			||||||
typedef swap_struct_t<s16, swap_16_t<s16>> s16_le;
 | 
					typedef swap_struct_t< s16, swap_16_t<s16> > s16_le;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef swap_struct_t<float, swap_float_t<float> > float_le;
 | 
					typedef swap_struct_t<float, swap_float_t<float> > float_le;
 | 
				
			||||||
typedef swap_struct_t<double, swap_double_t<double> > double_le;
 | 
					typedef swap_struct_t<double, swap_double_t<double> > double_le;
 | 
				
			||||||
| 
						 | 
					@ -532,4 +532,4 @@ typedef s64 s64_be;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef float float_be;
 | 
					typedef float float_be;
 | 
				
			||||||
typedef double double_be;
 | 
					typedef double double_be;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,6 +22,8 @@
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "common/platform.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if EMU_PLATFORM == PLATFORM_WINDOWS
 | 
					#if EMU_PLATFORM == PLATFORM_WINDOWS
 | 
				
			||||||
#include <windows.h>
 | 
					#include <windows.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -161,7 +161,7 @@ static bool RealPath(const std::string ¤tDirectory, const std::string &inP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle)
 | 
					IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	for (size_t i = 0; i < fileSystems.size(); i++)
 | 
						for (size_t i = 0; i < fileSystems.size(); i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (fileSystems[i].system->OwnsHandle(handle))
 | 
							if (fileSystems[i].system->OwnsHandle(handle))
 | 
				
			||||||
| 
						 | 
					@ -173,7 +173,7 @@ IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpath, MountPoint **system)
 | 
					bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpath, MountPoint **system)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string realpath;
 | 
						std::string realpath;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Special handling: host0:command.txt (as seen in Super Monkey Ball Adventures, for example)
 | 
						// Special handling: host0:command.txt (as seen in Super Monkey Ball Adventures, for example)
 | 
				
			||||||
| 
						 | 
					@ -227,7 +227,7 @@ bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MetaFileSystem::Mount(std::string prefix, IFileSystem *system)
 | 
					void MetaFileSystem::Mount(std::string prefix, IFileSystem *system)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	MountPoint x;
 | 
						MountPoint x;
 | 
				
			||||||
	x.prefix = prefix;
 | 
						x.prefix = prefix;
 | 
				
			||||||
	x.system = system;
 | 
						x.system = system;
 | 
				
			||||||
| 
						 | 
					@ -236,7 +236,7 @@ void MetaFileSystem::Mount(std::string prefix, IFileSystem *system)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system)
 | 
					void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	MountPoint x;
 | 
						MountPoint x;
 | 
				
			||||||
	x.prefix = prefix;
 | 
						x.prefix = prefix;
 | 
				
			||||||
	x.system = system;
 | 
						x.system = system;
 | 
				
			||||||
| 
						 | 
					@ -245,7 +245,7 @@ void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MetaFileSystem::Shutdown()
 | 
					void MetaFileSystem::Shutdown()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	current = 6;
 | 
						current = 6;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Ownership is a bit convoluted. Let's just delete everything once.
 | 
						// Ownership is a bit convoluted. Let's just delete everything once.
 | 
				
			||||||
| 
						 | 
					@ -267,7 +267,7 @@ void MetaFileSystem::Shutdown()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess access, const char *devicename)
 | 
					u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess access, const char *devicename)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	u32 h = OpenFile(filename, access, devicename);
 | 
						u32 h = OpenFile(filename, access, devicename);
 | 
				
			||||||
	error = lastOpenError;
 | 
						error = lastOpenError;
 | 
				
			||||||
	return h;
 | 
						return h;
 | 
				
			||||||
| 
						 | 
					@ -275,7 +275,7 @@ u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char *devicename)
 | 
					u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char *devicename)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	lastOpenError = 0;
 | 
						lastOpenError = 0;
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	MountPoint *mount;
 | 
						MountPoint *mount;
 | 
				
			||||||
| 
						 | 
					@ -291,7 +291,7 @@ u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FileInfo MetaFileSystem::GetFileInfo(std::string filename)
 | 
					FileInfo MetaFileSystem::GetFileInfo(std::string filename)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	IFileSystem *system;
 | 
						IFileSystem *system;
 | 
				
			||||||
	if (MapFilePath(filename, of, &system))
 | 
						if (MapFilePath(filename, of, &system))
 | 
				
			||||||
| 
						 | 
					@ -307,7 +307,7 @@ FileInfo MetaFileSystem::GetFileInfo(std::string filename)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath)
 | 
					bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	IFileSystem *system;
 | 
						IFileSystem *system;
 | 
				
			||||||
	if (MapFilePath(inpath, of, &system)) {
 | 
						if (MapFilePath(inpath, of, &system)) {
 | 
				
			||||||
| 
						 | 
					@ -319,7 +319,7 @@ bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath
 | 
				
			||||||
 | 
					
 | 
				
			||||||
std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path)
 | 
					std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	IFileSystem *system;
 | 
						IFileSystem *system;
 | 
				
			||||||
	if (MapFilePath(path, of, &system))
 | 
						if (MapFilePath(path, of, &system))
 | 
				
			||||||
| 
						 | 
					@ -335,13 +335,13 @@ std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MetaFileSystem::ThreadEnded(int threadID)
 | 
					void MetaFileSystem::ThreadEnded(int threadID)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	currentDir.erase(threadID);
 | 
						currentDir.erase(threadID);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int MetaFileSystem::ChDir(const std::string &dir)
 | 
					int MetaFileSystem::ChDir(const std::string &dir)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	// Retain the old path and fail if the arg is 1023 bytes or longer.
 | 
						// Retain the old path and fail if the arg is 1023 bytes or longer.
 | 
				
			||||||
	if (dir.size() >= 1023)
 | 
						if (dir.size() >= 1023)
 | 
				
			||||||
		return -1;//SCE_KERNEL_ERROR_NAMETOOLONG;
 | 
							return -1;//SCE_KERNEL_ERROR_NAMETOOLONG;
 | 
				
			||||||
| 
						 | 
					@ -378,7 +378,7 @@ int MetaFileSystem::ChDir(const std::string &dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool MetaFileSystem::MkDir(const std::string &dirname)
 | 
					bool MetaFileSystem::MkDir(const std::string &dirname)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	IFileSystem *system;
 | 
						IFileSystem *system;
 | 
				
			||||||
	if (MapFilePath(dirname, of, &system))
 | 
						if (MapFilePath(dirname, of, &system))
 | 
				
			||||||
| 
						 | 
					@ -393,7 +393,7 @@ bool MetaFileSystem::MkDir(const std::string &dirname)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool MetaFileSystem::RmDir(const std::string &dirname)
 | 
					bool MetaFileSystem::RmDir(const std::string &dirname)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	IFileSystem *system;
 | 
						IFileSystem *system;
 | 
				
			||||||
	if (MapFilePath(dirname, of, &system))
 | 
						if (MapFilePath(dirname, of, &system))
 | 
				
			||||||
| 
						 | 
					@ -408,7 +408,7 @@ bool MetaFileSystem::RmDir(const std::string &dirname)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int MetaFileSystem::RenameFile(const std::string &from, const std::string &to)
 | 
					int MetaFileSystem::RenameFile(const std::string &from, const std::string &to)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	std::string rf;
 | 
						std::string rf;
 | 
				
			||||||
	IFileSystem *osystem;
 | 
						IFileSystem *osystem;
 | 
				
			||||||
| 
						 | 
					@ -440,7 +440,7 @@ int MetaFileSystem::RenameFile(const std::string &from, const std::string &to)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool MetaFileSystem::RemoveFile(const std::string &filename)
 | 
					bool MetaFileSystem::RemoveFile(const std::string &filename)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	std::string of;
 | 
						std::string of;
 | 
				
			||||||
	IFileSystem *system;
 | 
						IFileSystem *system;
 | 
				
			||||||
	if (MapFilePath(filename, of, &system))
 | 
						if (MapFilePath(filename, of, &system))
 | 
				
			||||||
| 
						 | 
					@ -455,7 +455,7 @@ bool MetaFileSystem::RemoveFile(const std::string &filename)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MetaFileSystem::CloseFile(u32 handle)
 | 
					void MetaFileSystem::CloseFile(u32 handle)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	IFileSystem *sys = GetHandleOwner(handle);
 | 
						IFileSystem *sys = GetHandleOwner(handle);
 | 
				
			||||||
	if (sys)
 | 
						if (sys)
 | 
				
			||||||
		sys->CloseFile(handle);
 | 
							sys->CloseFile(handle);
 | 
				
			||||||
| 
						 | 
					@ -463,7 +463,7 @@ void MetaFileSystem::CloseFile(u32 handle)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size)
 | 
					size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	IFileSystem *sys = GetHandleOwner(handle);
 | 
						IFileSystem *sys = GetHandleOwner(handle);
 | 
				
			||||||
	if (sys)
 | 
						if (sys)
 | 
				
			||||||
		return sys->ReadFile(handle,pointer,size);
 | 
							return sys->ReadFile(handle,pointer,size);
 | 
				
			||||||
| 
						 | 
					@ -473,7 +473,7 @@ size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size)
 | 
					size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	IFileSystem *sys = GetHandleOwner(handle);
 | 
						IFileSystem *sys = GetHandleOwner(handle);
 | 
				
			||||||
	if (sys)
 | 
						if (sys)
 | 
				
			||||||
		return sys->WriteFile(handle,pointer,size);
 | 
							return sys->WriteFile(handle,pointer,size);
 | 
				
			||||||
| 
						 | 
					@ -483,7 +483,7 @@ size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type)
 | 
					size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	IFileSystem *sys = GetHandleOwner(handle);
 | 
						IFileSystem *sys = GetHandleOwner(handle);
 | 
				
			||||||
	if (sys)
 | 
						if (sys)
 | 
				
			||||||
		return sys->SeekFile(handle,position,type);
 | 
							return sys->SeekFile(handle,position,type);
 | 
				
			||||||
| 
						 | 
					@ -493,7 +493,7 @@ size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MetaFileSystem::DoState(PointerWrap &p)
 | 
					void MetaFileSystem::DoState(PointerWrap &p)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	std::lock_guard<std::mutex> guard(lock);
 | 
						std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	auto s = p.Section("MetaFileSystem", 1);
 | 
						auto s = p.Section("MetaFileSystem", 1);
 | 
				
			||||||
	if (!s)
 | 
						if (!s)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -104,7 +104,7 @@ public:
 | 
				
			||||||
	// TODO: void IoCtl(...)
 | 
						// TODO: void IoCtl(...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void SetStartingDirectory(const std::string &dir) {
 | 
						void SetStartingDirectory(const std::string &dir) {
 | 
				
			||||||
		std::lock_guard<std::mutex> guard(lock);
 | 
							std::lock_guard<std::recursive_mutex> guard(lock);
 | 
				
			||||||
		startingDirectory = dir;
 | 
							startingDirectory = dir;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue