mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/master' into feature/savestates-2
This commit is contained in:
		
						commit
						7049af744f
					
				
					 77 changed files with 18323 additions and 11473 deletions
				
			
		|  | @ -3,6 +3,7 @@ | |||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include <array> | ||||
| #include <limits> | ||||
| #include <memory> | ||||
| #include <sstream> | ||||
| #include <unordered_map> | ||||
|  | @ -541,11 +542,11 @@ void CopyDir(const std::string& source_path, const std::string& dest_path) { | |||
| std::optional<std::string> GetCurrentDir() { | ||||
| // Get the current working directory (getcwd uses malloc)
 | ||||
| #ifdef _WIN32 | ||||
|     wchar_t* dir; | ||||
|     if (!(dir = _wgetcwd(nullptr, 0))) { | ||||
|     wchar_t* dir = _wgetcwd(nullptr, 0); | ||||
|     if (!dir) { | ||||
| #else | ||||
|     char* dir; | ||||
|     if (!(dir = getcwd(nullptr, 0))) { | ||||
|     char* dir = getcwd(nullptr, 0); | ||||
|     if (!dir) { | ||||
| #endif | ||||
|         LOG_ERROR(Common_Filesystem, "GetCurrentDirectory failed: {}", GetLastErrorMsg()); | ||||
|         return {}; | ||||
|  | @ -891,16 +892,16 @@ IOFile::~IOFile() { | |||
|     Close(); | ||||
| } | ||||
| 
 | ||||
| IOFile::IOFile(IOFile&& other) { | ||||
| IOFile::IOFile(IOFile&& other) noexcept { | ||||
|     Swap(other); | ||||
| } | ||||
| 
 | ||||
| IOFile& IOFile::operator=(IOFile&& other) { | ||||
| IOFile& IOFile::operator=(IOFile&& other) noexcept { | ||||
|     Swap(other); | ||||
|     return *this; | ||||
| } | ||||
| 
 | ||||
| void IOFile::Swap(IOFile& other) { | ||||
| void IOFile::Swap(IOFile& other) noexcept { | ||||
|     std::swap(m_file, other.m_file); | ||||
|     std::swap(m_good, other.m_good); | ||||
|     std::swap(filename, other.filename); | ||||
|  | @ -915,15 +916,16 @@ bool IOFile::Open() { | |||
|     if (flags != 0) { | ||||
|         m_file = _wfsopen(Common::UTF8ToUTF16W(filename).c_str(), | ||||
|                           Common::UTF8ToUTF16W(openmode).c_str(), flags); | ||||
|         m_good = m_file != nullptr; | ||||
|     } else { | ||||
|         _wfopen_s(&m_file, Common::UTF8ToUTF16W(filename).c_str(), | ||||
|                   Common::UTF8ToUTF16W(openmode).c_str()); | ||||
|         m_good = _wfopen_s(&m_file, Common::UTF8ToUTF16W(filename).c_str(), | ||||
|                            Common::UTF8ToUTF16W(openmode).c_str()) == 0; | ||||
|     } | ||||
| #else | ||||
|     m_file = fopen(filename.c_str(), openmode.c_str()); | ||||
|     m_file = std::fopen(filename.c_str(), openmode.c_str()); | ||||
|     m_good = m_file != nullptr; | ||||
| #endif | ||||
| 
 | ||||
|     m_good = IsOpen(); | ||||
|     return m_good; | ||||
| } | ||||
| 
 | ||||
|  | @ -953,7 +955,7 @@ u64 IOFile::Tell() const { | |||
|     if (IsOpen()) | ||||
|         return ftello(m_file); | ||||
| 
 | ||||
|     return -1; | ||||
|     return std::numeric_limits<u64>::max(); | ||||
| } | ||||
| 
 | ||||
| bool IOFile::Flush() { | ||||
|  |  | |||
|  | @ -219,10 +219,10 @@ public: | |||
| 
 | ||||
|     ~IOFile(); | ||||
| 
 | ||||
|     IOFile(IOFile&& other); | ||||
|     IOFile& operator=(IOFile&& other); | ||||
|     IOFile(IOFile&& other) noexcept; | ||||
|     IOFile& operator=(IOFile&& other) noexcept; | ||||
| 
 | ||||
|     void Swap(IOFile& other); | ||||
|     void Swap(IOFile& other) noexcept; | ||||
| 
 | ||||
|     bool Close(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -28,11 +28,8 @@ namespace Common { | |||
| #ifdef _MSC_VER | ||||
| 
 | ||||
| // Sets the debugger-visible name of the current thread.
 | ||||
| // Uses undocumented (actually, it is now documented) trick.
 | ||||
| // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxtsksettingthreadname.asp
 | ||||
| 
 | ||||
| // This is implemented much nicer in upcoming msvc++, see:
 | ||||
| // http://msdn.microsoft.com/en-us/library/xcb2z8hs(VS.100).aspx
 | ||||
| // Uses trick documented in:
 | ||||
| // https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code
 | ||||
| void SetCurrentThreadName(const char* name) { | ||||
|     static const DWORD MS_VC_EXCEPTION = 0x406D1388; | ||||
| 
 | ||||
|  | @ -47,7 +44,7 @@ void SetCurrentThreadName(const char* name) { | |||
| 
 | ||||
|     info.dwType = 0x1000; | ||||
|     info.szName = name; | ||||
|     info.dwThreadID = -1; // dwThreadID;
 | ||||
|     info.dwThreadID = static_cast<DWORD>(-1); | ||||
|     info.dwFlags = 0; | ||||
| 
 | ||||
|     __try { | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ | |||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <algorithm> | ||||
| #include <array> | ||||
| #include <deque> | ||||
| #include <boost/serialization/deque.hpp> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue