mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	
						commit
						4f4d230dac
					
				
					 122 changed files with 435 additions and 482 deletions
				
			
		|  | @ -8,8 +8,11 @@ if (NOT MSVC) | ||||||
|     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes -pthread") |     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes -pthread") | ||||||
|     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") |     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") | ||||||
| else() | else() | ||||||
|     # Silence deprecation warnings |     # Silence "deprecation" warnings | ||||||
|     add_definitions(/D_CRT_SECURE_NO_WARNINGS) |     add_definitions(/D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_DEPRECATE) | ||||||
|  |     # Avoid windows.h junk | ||||||
|  |     add_definitions(/DNOMINMAX) | ||||||
|  | 
 | ||||||
|     # set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms) |     # set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms) | ||||||
|     set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) |     set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <thread> | #include <thread> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/logging/log.h" | ||||||
| #include "common/logging/text_formatter.h" | #include "common/logging/text_formatter.h" | ||||||
| #include "common/logging/backend.h" | #include "common/logging/backend.h" | ||||||
| #include "common/logging/filter.h" | #include "common/logging/filter.h" | ||||||
|  | @ -19,7 +19,7 @@ | ||||||
| #include "citra/emu_window/emu_window_glfw.h" | #include "citra/emu_window/emu_window_glfw.h" | ||||||
| 
 | 
 | ||||||
| /// Application entry point
 | /// Application entry point
 | ||||||
| int __cdecl main(int argc, char **argv) { | int main(int argc, char **argv) { | ||||||
|     std::shared_ptr<Log::Logger> logger = Log::InitGlobalLogger(); |     std::shared_ptr<Log::Logger> logger = Log::InitGlobalLogger(); | ||||||
|     Log::Filter log_filter(Log::Level::Debug); |     Log::Filter log_filter(Log::Level::Debug); | ||||||
|     Log::SetFilter(&log_filter); |     Log::SetFilter(&log_filter); | ||||||
|  |  | ||||||
|  | @ -5,7 +5,10 @@ | ||||||
| #include <GLFW/glfw3.h> | #include <GLFW/glfw3.h> | ||||||
| 
 | 
 | ||||||
| #include "citra/default_ini.h" | #include "citra/default_ini.h" | ||||||
|  | 
 | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/settings.h" | #include "core/settings.h" | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <GLFW/glfw3.h> | #include <GLFW/glfw3.h> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "video_core/video_core.h" | #include "video_core/video_core.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -8,7 +8,6 @@ | ||||||
| #include <QWindow> | #include <QWindow> | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "bootmanager.h" | #include "bootmanager.h" | ||||||
| #include "main.h" | #include "main.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -7,7 +7,6 @@ | ||||||
| #include <QThread> | #include <QThread> | ||||||
| #include <QGLWidget> | #include <QGLWidget> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/emu_window.h" | #include "common/emu_window.h" | ||||||
| #include "common/thread.h" | #include "common/thread.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -7,7 +7,6 @@ | ||||||
| #include "../bootmanager.h" | #include "../bootmanager.h" | ||||||
| #include "../hotkeys.h" | #include "../hotkeys.h" | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "core/mem_map.h" | #include "core/mem_map.h" | ||||||
| 
 | 
 | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
|  |  | ||||||
|  | @ -9,8 +9,8 @@ | ||||||
| 
 | 
 | ||||||
| #include "ui_disassembler.h" | #include "ui_disassembler.h" | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/break_points.h" | #include "common/break_points.h" | ||||||
|  | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| class QAction; | class QAction; | ||||||
| class EmuThread; | class EmuThread; | ||||||
|  |  | ||||||
|  | @ -8,6 +8,8 @@ | ||||||
| #include <QVBoxLayout> | #include <QVBoxLayout> | ||||||
| #include <QLabel> | #include <QLabel> | ||||||
| 
 | 
 | ||||||
|  | #include "common/assert.h" | ||||||
|  | 
 | ||||||
| #include "graphics_breakpoints.h" | #include "graphics_breakpoints.h" | ||||||
| #include "graphics_breakpoints_p.h" | #include "graphics_breakpoints_p.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,8 +4,9 @@ | ||||||
| 
 | 
 | ||||||
| #include "ramview.h" | #include "ramview.h" | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "core/mem_map.h" | #include "core/mem_map.h" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| GRamView::GRamView(QWidget* parent) : QHexEdit(parent) | GRamView::GRamView(QWidget* parent) : QHexEdit(parent) | ||||||
| { | { | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -10,7 +10,6 @@ | ||||||
| #include "qhexedit.h" | #include "qhexedit.h" | ||||||
| #include "main.h" | #include "main.h" | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/logging/text_formatter.h" | #include "common/logging/text_formatter.h" | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| #include "common/logging/backend.h" | #include "common/logging/backend.h" | ||||||
|  | @ -349,7 +348,7 @@ void GMainWindow::closeEvent(QCloseEvent* event) | ||||||
| #undef main | #undef main | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| int __cdecl main(int argc, char* argv[]) | int main(int argc, char* argv[]) | ||||||
| { | { | ||||||
|     std::shared_ptr<Log::Logger> logger = Log::InitGlobalLogger(); |     std::shared_ptr<Log::Logger> logger = Log::InitGlobalLogger(); | ||||||
|     Log::Filter log_filter(Log::Level::Info); |     Log::Filter log_filter(Log::Level::Info); | ||||||
|  |  | ||||||
|  | @ -27,7 +27,6 @@ set(HEADERS | ||||||
|             bit_field.h |             bit_field.h | ||||||
|             break_points.h |             break_points.h | ||||||
|             chunk_file.h |             chunk_file.h | ||||||
|             common.h |  | ||||||
|             common_funcs.h |             common_funcs.h | ||||||
|             common_paths.h |             common_paths.h | ||||||
|             common_types.h |             common_types.h | ||||||
|  |  | ||||||
|  | @ -4,6 +4,7 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
|  | #include <cstdio> | ||||||
| #include <cstdlib> | #include <cstdlib> | ||||||
| 
 | 
 | ||||||
| #include "common/common_funcs.h" | #include "common/common_funcs.h" | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ | ||||||
| #include <limits> | #include <limits> | ||||||
| #include <type_traits> | #include <type_traits> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_funcs.h" | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * Abstract bitfield class |  * Abstract bitfield class | ||||||
|  |  | ||||||
|  | @ -2,7 +2,6 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/debug_interface.h" | #include "common/debug_interface.h" | ||||||
| #include "common/break_points.h" | #include "common/break_points.h" | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
| #include <vector> | #include <vector> | ||||||
| #include <string> | #include <string> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| class DebugInterface; | class DebugInterface; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -34,8 +34,9 @@ | ||||||
| #include <set> | #include <set> | ||||||
| #include <type_traits> | #include <type_traits> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| template <class T> | template <class T> | ||||||
| struct LinkedListItem : public T | struct LinkedListItem : public T | ||||||
|  |  | ||||||
|  | @ -1,120 +0,0 @@ | ||||||
| // Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project
 |  | ||||||
| // Licensed under GPLv2 or any later version
 |  | ||||||
| // Refer to the license.txt file included.
 |  | ||||||
| 
 |  | ||||||
| #pragma once |  | ||||||
| 
 |  | ||||||
| // DO NOT EVER INCLUDE <windows.h> directly _or indirectly_ from this file
 |  | ||||||
| // since it slows down the build a lot.
 |  | ||||||
| 
 |  | ||||||
| #include <cstdlib> |  | ||||||
| #include <cstdio> |  | ||||||
| #include <cstring> |  | ||||||
| 
 |  | ||||||
| #define STACKALIGN |  | ||||||
| 
 |  | ||||||
| // An inheritable class to disallow the copy constructor and operator= functions
 |  | ||||||
| class NonCopyable |  | ||||||
| { |  | ||||||
| protected: |  | ||||||
|     NonCopyable() {} |  | ||||||
|     NonCopyable(const NonCopyable&&) {} |  | ||||||
|     void operator=(const NonCopyable&&) {} |  | ||||||
| private: |  | ||||||
|     NonCopyable(NonCopyable&); |  | ||||||
|     NonCopyable& operator=(NonCopyable& other); |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #include "common/assert.h" |  | ||||||
| #include "common/logging/log.h" |  | ||||||
| #include "common/common_types.h" |  | ||||||
| #include "common/common_funcs.h" |  | ||||||
| #include "common/common_paths.h" |  | ||||||
| #include "common/platform.h" |  | ||||||
| 
 |  | ||||||
| #ifdef __APPLE__ |  | ||||||
| // The Darwin ABI requires that stack frames be aligned to 16-byte boundaries.
 |  | ||||||
| // This is only needed on i386 gcc - x86_64 already aligns to 16 bytes.
 |  | ||||||
|     #if defined __i386__ && defined __GNUC__ |  | ||||||
|         #undef STACKALIGN |  | ||||||
|         #define STACKALIGN __attribute__((__force_align_arg_pointer__)) |  | ||||||
|     #endif |  | ||||||
| #elif defined _WIN32 |  | ||||||
| // Check MSC ver
 |  | ||||||
|     #if defined _MSC_VER && _MSC_VER <= 1000 |  | ||||||
|         #error needs at least version 1000 of MSC |  | ||||||
|     #endif |  | ||||||
| 
 |  | ||||||
|     #ifndef NOMINMAX |  | ||||||
|     #define NOMINMAX |  | ||||||
|     #endif |  | ||||||
| 
 |  | ||||||
| // Alignment
 |  | ||||||
|     #define MEMORY_ALIGNED16(x) __declspec(align(16)) x |  | ||||||
|     #define MEMORY_ALIGNED32(x) __declspec(align(32)) x |  | ||||||
|     #define MEMORY_ALIGNED64(x) __declspec(align(64)) x |  | ||||||
|     #define MEMORY_ALIGNED128(x) __declspec(align(128)) x |  | ||||||
|     #define MEMORY_ALIGNED16_DECL(x) __declspec(align(16)) x |  | ||||||
|     #define MEMORY_ALIGNED64_DECL(x) __declspec(align(64)) x |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| // Windows compatibility
 |  | ||||||
| #ifndef _WIN32 |  | ||||||
|     #ifdef _LP64 |  | ||||||
|         #define _M_X64 1 |  | ||||||
|     #else |  | ||||||
|         #define _M_IX86 1 |  | ||||||
|     #endif |  | ||||||
|     #define __forceinline inline __attribute__((always_inline)) |  | ||||||
|     #define MEMORY_ALIGNED16(x) __attribute__((aligned(16))) x |  | ||||||
|     #define MEMORY_ALIGNED32(x) __attribute__((aligned(32))) x |  | ||||||
|     #define MEMORY_ALIGNED64(x) __attribute__((aligned(64))) x |  | ||||||
|     #define MEMORY_ALIGNED128(x) __attribute__((aligned(128))) x |  | ||||||
|     #define MEMORY_ALIGNED16_DECL(x) __attribute__((aligned(16))) x |  | ||||||
|     #define MEMORY_ALIGNED64_DECL(x) __attribute__((aligned(64))) x |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef _MSC_VER |  | ||||||
|     #define __strdup _strdup |  | ||||||
|     #define __getcwd _getcwd |  | ||||||
|     #define __chdir _chdir |  | ||||||
| #else |  | ||||||
|     #define __strdup strdup |  | ||||||
|     #define __getcwd getcwd |  | ||||||
|     #define __chdir chdir |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined _M_GENERIC |  | ||||||
| #  define _M_SSE 0x0 |  | ||||||
| #elif defined __GNUC__ |  | ||||||
| # if defined __SSE4_2__ |  | ||||||
| #  define _M_SSE 0x402 |  | ||||||
| # elif defined __SSE4_1__ |  | ||||||
| #  define _M_SSE 0x401 |  | ||||||
| # elif defined __SSSE3__ |  | ||||||
| #  define _M_SSE 0x301 |  | ||||||
| # elif defined __SSE3__ |  | ||||||
| #  define _M_SSE 0x300 |  | ||||||
| # endif |  | ||||||
| #elif (_MSC_VER >= 1500) || __INTEL_COMPILER // Visual Studio 2008
 |  | ||||||
| #  define _M_SSE 0x402 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| // Host communication.
 |  | ||||||
| enum HOST_COMM |  | ||||||
| { |  | ||||||
|     // Begin at 10 in case there is already messages with wParam = 0, 1, 2 and so on
 |  | ||||||
|     WM_USER_STOP = 10, |  | ||||||
|     WM_USER_CREATE, |  | ||||||
|     WM_USER_SETCURSOR, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| // Used for notification on emulation state
 |  | ||||||
| enum EMUSTATE_CHANGE |  | ||||||
| { |  | ||||||
|     EMUSTATE_CHANGE_PLAY = 1, |  | ||||||
|     EMUSTATE_CHANGE_PAUSE, |  | ||||||
|     EMUSTATE_CHANGE_STOP |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #include "swap.h" |  | ||||||
|  | @ -7,13 +7,6 @@ | ||||||
| #include "common_types.h" | #include "common_types.h" | ||||||
| #include <cstdlib> | #include <cstdlib> | ||||||
| 
 | 
 | ||||||
| #ifdef _WIN32 |  | ||||||
| #define SLEEP(x) Sleep(x) |  | ||||||
| #else |  | ||||||
| #include <unistd.h> |  | ||||||
| #define SLEEP(x) usleep(x*1000) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| #define b2(x)   (   (x) | (   (x) >> 1) ) | #define b2(x)   (   (x) | (   (x) >> 1) ) | ||||||
| #define b4(x)   ( b2(x) | ( b2(x) >> 2) ) | #define b4(x)   ( b2(x) | ( b2(x) >> 2) ) | ||||||
|  | @ -34,6 +27,27 @@ | ||||||
| #define INSERT_PADDING_BYTES(num_bytes) u8 CONCAT2(pad, __LINE__)[(num_bytes)] | #define INSERT_PADDING_BYTES(num_bytes) u8 CONCAT2(pad, __LINE__)[(num_bytes)] | ||||||
| #define INSERT_PADDING_WORDS(num_words) u32 CONCAT2(pad, __LINE__)[(num_words)] | #define INSERT_PADDING_WORDS(num_words) u32 CONCAT2(pad, __LINE__)[(num_words)] | ||||||
| 
 | 
 | ||||||
|  | #ifdef _WIN32 | ||||||
|  |     // Alignment
 | ||||||
|  |     #define MEMORY_ALIGNED16(x) __declspec(align(16)) x | ||||||
|  |     #define MEMORY_ALIGNED32(x) __declspec(align(32)) x | ||||||
|  |     #define MEMORY_ALIGNED64(x) __declspec(align(64)) x | ||||||
|  |     #define MEMORY_ALIGNED128(x) __declspec(align(128)) x | ||||||
|  | #else | ||||||
|  |     // Windows compatibility
 | ||||||
|  |     #ifdef _LP64 | ||||||
|  |         #define _M_X64 1 | ||||||
|  |     #else | ||||||
|  |         #define _M_IX86 1 | ||||||
|  |     #endif | ||||||
|  | 
 | ||||||
|  |     #define __forceinline inline __attribute__((always_inline)) | ||||||
|  |     #define MEMORY_ALIGNED16(x) __attribute__((aligned(16))) x | ||||||
|  |     #define MEMORY_ALIGNED32(x) __attribute__((aligned(32))) x | ||||||
|  |     #define MEMORY_ALIGNED64(x) __attribute__((aligned(64))) x | ||||||
|  |     #define MEMORY_ALIGNED128(x) __attribute__((aligned(128))) x | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #ifndef _MSC_VER | #ifndef _MSC_VER | ||||||
| 
 | 
 | ||||||
| #include <errno.h> | #include <errno.h> | ||||||
|  | @ -73,61 +87,11 @@ inline u64 _rotr64(u64 x, unsigned int shift){ | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #else // _MSC_VER
 | #else // _MSC_VER
 | ||||||
| #include <locale.h> |     // Function Cross-Compatibility
 | ||||||
| 
 |  | ||||||
| // Function Cross-Compatibility
 |  | ||||||
|     #define strcasecmp _stricmp |  | ||||||
|     #define strncasecmp _strnicmp |  | ||||||
|     #define unlink _unlink |  | ||||||
|     #define snprintf _snprintf |     #define snprintf _snprintf | ||||||
|     #define vscprintf _vscprintf |  | ||||||
| 
 | 
 | ||||||
| // Locale Cross-Compatibility
 |     // Locale Cross-Compatibility
 | ||||||
|     #define locale_t _locale_t |     #define locale_t _locale_t | ||||||
|     #define freelocale _free_locale |  | ||||||
|     #define newlocale(mask, locale, base) _create_locale(mask, locale) |  | ||||||
| 
 |  | ||||||
|     #define LC_GLOBAL_LOCALE    ((locale_t)-1) |  | ||||||
|     #define LC_ALL_MASK            LC_ALL |  | ||||||
|     #define LC_COLLATE_MASK        LC_COLLATE |  | ||||||
|     #define LC_CTYPE_MASK          LC_CTYPE |  | ||||||
|     #define LC_MONETARY_MASK       LC_MONETARY |  | ||||||
|     #define LC_NUMERIC_MASK        LC_NUMERIC |  | ||||||
|     #define LC_TIME_MASK           LC_TIME |  | ||||||
| 
 |  | ||||||
|     inline locale_t uselocale(locale_t new_locale) |  | ||||||
|     { |  | ||||||
|         // Retrieve the current per thread locale setting
 |  | ||||||
|         bool bIsPerThread = (_configthreadlocale(0) == _ENABLE_PER_THREAD_LOCALE); |  | ||||||
| 
 |  | ||||||
|         // Retrieve the current thread-specific locale
 |  | ||||||
|         locale_t old_locale = bIsPerThread ? _get_current_locale() : LC_GLOBAL_LOCALE; |  | ||||||
| 
 |  | ||||||
|         if(new_locale == LC_GLOBAL_LOCALE) |  | ||||||
|         { |  | ||||||
|             // Restore the global locale
 |  | ||||||
|             _configthreadlocale(_DISABLE_PER_THREAD_LOCALE); |  | ||||||
|         } |  | ||||||
|         else if(new_locale != nullptr) |  | ||||||
|         { |  | ||||||
|             // Configure the thread to set the locale only for this thread
 |  | ||||||
|             _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); |  | ||||||
| 
 |  | ||||||
|             // Set all locale categories
 |  | ||||||
|             for(int i = LC_MIN; i <= LC_MAX; i++) |  | ||||||
|                 setlocale(i, new_locale->locinfo->lc_category[i].locale); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         return old_locale; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| // 64 bit offsets for windows
 |  | ||||||
|     #define fseeko _fseeki64 |  | ||||||
|     #define ftello _ftelli64 |  | ||||||
|     #define atoll _atoi64 |  | ||||||
|     #define stat64 _stat64 |  | ||||||
|     #define fstat64 _fstat64 |  | ||||||
|     #define fileno _fileno |  | ||||||
| 
 | 
 | ||||||
|     extern "C" { |     extern "C" { | ||||||
|         __declspec(dllimport) void __stdcall DebugBreak(void); |         __declspec(dllimport) void __stdcall DebugBreak(void); | ||||||
|  |  | ||||||
|  | @ -4,9 +4,6 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // Make sure we pick up USER_DIR if set in config.h
 |  | ||||||
| #include "common/common.h" |  | ||||||
| 
 |  | ||||||
| // Directory separators, do we need this?
 | // Directory separators, do we need this?
 | ||||||
| #define DIR_SEP "/" | #define DIR_SEP "/" | ||||||
| #define DIR_SEP_CHR '/' | #define DIR_SEP_CHR '/' | ||||||
|  |  | ||||||
|  | @ -47,6 +47,11 @@ typedef std::int64_t s64; ///< 64-bit signed int | ||||||
| typedef float   f32; ///< 32-bit floating point
 | typedef float   f32; ///< 32-bit floating point
 | ||||||
| typedef double  f64; ///< 64-bit floating point
 | typedef double  f64; ///< 64-bit floating point
 | ||||||
| 
 | 
 | ||||||
|  | // TODO: It would be nice to eventually replace these with strong types that prevent accidental
 | ||||||
|  | // conversion between each other.
 | ||||||
|  | typedef u32 VAddr; ///< Represents a pointer in the userspace virtual address space.
 | ||||||
|  | typedef u32 PAddr; ///< Represents a pointer in the ARM11 physical address space.
 | ||||||
|  | 
 | ||||||
| /// Union for fast 16-bit type casting
 | /// Union for fast 16-bit type casting
 | ||||||
| union t16 { | union t16 { | ||||||
|     u8  _u8[2];             ///< 8-bit unsigned char(s)
 |     u8  _u8[2];             ///< 8-bit unsigned char(s)
 | ||||||
|  | @ -73,6 +78,16 @@ union t64 { | ||||||
|     u8  _u8[8];             ///< 8-bit unsigned char(s)
 |     u8  _u8[8];             ///< 8-bit unsigned char(s)
 | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | // An inheritable class to disallow the copy constructor and operator= functions
 | ||||||
|  | class NonCopyable { | ||||||
|  | protected: | ||||||
|  |     NonCopyable() = default; | ||||||
|  |     ~NonCopyable() = default; | ||||||
|  | 
 | ||||||
|  |     NonCopyable(NonCopyable&) = delete; | ||||||
|  |     NonCopyable& operator=(NonCopyable&) = delete; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| namespace Common { | namespace Common { | ||||||
| /// Rectangle data structure
 | /// Rectangle data structure
 | ||||||
| class Rect { | class Rect { | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ | ||||||
| #include <mutex> | #include <mutex> | ||||||
| #include <thread> | #include <thread> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" // for NonCopyable | #include "common/common_types.h" // for NonCopyable | ||||||
| 
 | 
 | ||||||
| namespace Common { | namespace Common { | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,11 +4,11 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| #include "common/scm_rev.h" |  | ||||||
| #include "common/string_util.h" |  | ||||||
| #include "common/key_map.h" | #include "common/key_map.h" | ||||||
| #include "common/math_util.h" | #include "common/math_util.h" | ||||||
|  | #include "common/scm_rev.h" | ||||||
|  | #include "common/string_util.h" | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Abstraction class used to provide an interface between emulation code and the frontend |  * Abstraction class used to provide an interface between emulation code and the frontend | ||||||
|  |  | ||||||
|  | @ -2,42 +2,52 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| 
 | #include "common/assert.h" | ||||||
| #include "common/common.h" | #include "common/common_funcs.h" | ||||||
|  | #include "common/common_paths.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
| #include <windows.h> |     #include <windows.h> | ||||||
| #include <shlobj.h>        // for SHGetFolderPath
 |     #include <shlobj.h> // for SHGetFolderPath
 | ||||||
| #include <shellapi.h> |     #include <shellapi.h> | ||||||
| #include <commdlg.h>    // for GetSaveFileName
 |     #include <commdlg.h> // for GetSaveFileName
 | ||||||
| #include <io.h> |     #include <io.h> | ||||||
| #include <direct.h>        // getcwd
 |     #include <direct.h> // getcwd
 | ||||||
| #include <tchar.h> |     #include <tchar.h> | ||||||
|  |      | ||||||
|  |     // 64 bit offsets for windows
 | ||||||
|  |     #define fseeko _fseeki64 | ||||||
|  |     #define ftello _ftelli64 | ||||||
|  |     #define atoll _atoi64 | ||||||
|  |     #define stat64 _stat64 | ||||||
|  |     #define fstat64 _fstat64 | ||||||
|  |     #define fileno _fileno | ||||||
| #else | #else | ||||||
| #include <sys/param.h> |     #include <sys/param.h> | ||||||
| #include <sys/types.h> |     #include <sys/types.h> | ||||||
| #include <dirent.h> |     #include <dirent.h> | ||||||
| #include <pwd.h> |     #include <pwd.h> | ||||||
| #include <unistd.h> |     #include <unistd.h> | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #if defined(__APPLE__) | #if defined(__APPLE__) | ||||||
| #include <CoreFoundation/CFString.h> |     #include <CoreFoundation/CFString.h> | ||||||
| #include <CoreFoundation/CFURL.h> |     #include <CoreFoundation/CFURL.h> | ||||||
| #include <CoreFoundation/CFBundle.h> |     #include <CoreFoundation/CFBundle.h> | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #include <algorithm> | #include <algorithm> | ||||||
| #include <sys/stat.h> | #include <sys/stat.h> | ||||||
| 
 | 
 | ||||||
| #ifndef S_ISDIR | #ifndef S_ISDIR | ||||||
| #define S_ISDIR(m)  (((m)&S_IFMT) == S_IFDIR) |     #define S_ISDIR(m)  (((m)&S_IFMT) == S_IFDIR) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifdef BSD4_4 | #ifdef BSD4_4 | ||||||
| #define stat64 stat |     #define stat64 stat | ||||||
| #define fstat64 fstat |     #define fstat64 fstat | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // This namespace has various generic functions related to files and paths.
 | // This namespace has various generic functions related to files and paths.
 | ||||||
|  | @ -589,7 +599,7 @@ std::string GetCurrentDir() | ||||||
| { | { | ||||||
|     char *dir; |     char *dir; | ||||||
|     // Get the current working directory (getcwd uses malloc)
 |     // Get the current working directory (getcwd uses malloc)
 | ||||||
|     if (!(dir = __getcwd(nullptr, 0))) { |     if (!(dir = getcwd(nullptr, 0))) { | ||||||
| 
 | 
 | ||||||
|         LOG_ERROR(Common_Filesystem, "GetCurrentDirectory failed: %s", |         LOG_ERROR(Common_Filesystem, "GetCurrentDirectory failed: %s", | ||||||
|                 GetLastErrorMsg()); |                 GetLastErrorMsg()); | ||||||
|  | @ -603,7 +613,7 @@ std::string GetCurrentDir() | ||||||
| // Sets the current directory to the given directory
 | // Sets the current directory to the given directory
 | ||||||
| bool SetCurrentDir(const std::string &directory) | bool SetCurrentDir(const std::string &directory) | ||||||
| { | { | ||||||
|     return __chdir(directory.c_str()) == 0; |     return chdir(directory.c_str()) == 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #if defined(__APPLE__) | #if defined(__APPLE__) | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ | ||||||
| #include <string> | #include <string> | ||||||
| #include <vector> | #include <vector> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
| 
 | 
 | ||||||
| // User directory indices for GetUserPath
 | // User directory indices for GetUserPath
 | ||||||
|  |  | ||||||
|  | @ -4,7 +4,10 @@ | ||||||
| 
 | 
 | ||||||
| #include <algorithm> | #include <algorithm> | ||||||
| 
 | 
 | ||||||
|  | #include "common/common_funcs.h" // For rotl
 | ||||||
| #include "common/hash.h" | #include "common/hash.h" | ||||||
|  | #include "common/platform.h" | ||||||
|  | 
 | ||||||
| #if _M_SSE >= 0x402 | #if _M_SSE >= 0x402 | ||||||
| #include "common/cpu_detect.h" | #include "common/cpu_detect.h" | ||||||
| #include <nmmintrin.h> | #include <nmmintrin.h> | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| u32 HashFletcher(const u8* data_u8, size_t length);  // FAST. Length & 1 == 0.
 | u32 HashFletcher(const u8* data_u8, size_t length);  // FAST. Length & 1 == 0.
 | ||||||
| u32 HashAdler32(const u8* data, size_t len);         // Fairly accurate, slightly slower
 | u32 HashAdler32(const u8* data, size_t len);         // Fairly accurate, slightly slower
 | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
| 
 | 
 | ||||||
| // defined in Version.cpp
 | // defined in Version.cpp
 | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| #include "common/logging/text_formatter.h" | #include "common/logging/text_formatter.h" | ||||||
| 
 | 
 | ||||||
|  | #include "common/common_funcs.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
| 
 | 
 | ||||||
| namespace Log { | namespace Log { | ||||||
|  |  | ||||||
|  | @ -2,12 +2,12 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| 
 | #include <cstring> | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/math_util.h" |  | ||||||
| 
 |  | ||||||
| #include <numeric> // Necessary on OS X, but not Linux
 | #include <numeric> // Necessary on OS X, but not Linux
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/common_types.h" | ||||||
|  | #include "common/math_util.h" | ||||||
|  | 
 | ||||||
| namespace MathUtil | namespace MathUtil | ||||||
| { | { | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| #include <algorithm> | #include <algorithm> | ||||||
| #include <type_traits> | #include <type_traits> | ||||||
|  |  | ||||||
|  | @ -17,12 +17,16 @@ | ||||||
| 
 | 
 | ||||||
| #include <string> | #include <string> | ||||||
| 
 | 
 | ||||||
| #include "common/memory_util.h" | #include "common/logging/log.h" | ||||||
| #include "common/mem_arena.h" | #include "common/mem_arena.h" | ||||||
|  | #include "common/memory_util.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
| 
 | 
 | ||||||
| #ifndef _WIN32 | #ifndef _WIN32 | ||||||
| #include <fcntl.h> | #include <fcntl.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include <unistd.h> | ||||||
|  | 
 | ||||||
| #ifdef ANDROID | #ifdef ANDROID | ||||||
| #include <sys/ioctl.h> | #include <sys/ioctl.h> | ||||||
| #include <linux/ashmem.h> | #include <linux/ashmem.h> | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| // This class lets you create a block of anonymous RAM, and then arbitrarily map views into it.
 | // This class lets you create a block of anonymous RAM, and then arbitrarily map views into it.
 | ||||||
| // Multiple views can mirror the same section of the block, which makes it very convient for emulating
 | // Multiple views can mirror the same section of the block, which makes it very convient for emulating
 | ||||||
|  |  | ||||||
|  | @ -3,7 +3,8 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_funcs.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/memory_util.h" | #include "common/memory_util.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,10 +2,12 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_funcs.h" | ||||||
| 
 | 
 | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
|  | #else | ||||||
|  | #include <string.h> | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // Neither Android nor OS X support TLS
 | // Neither Android nor OS X support TLS
 | ||||||
|  |  | ||||||
|  | @ -63,48 +63,27 @@ | ||||||
| #define EMU_ARCHITECTURE_X86 | #define EMU_ARCHITECTURE_X86 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||||
|  | // Feature detection
 | ||||||
|  | 
 | ||||||
|  | #if defined _M_GENERIC | ||||||
|  | #  define _M_SSE 0x0 | ||||||
|  | #elif defined __GNUC__ | ||||||
|  | # if defined __SSE4_2__ | ||||||
|  | #  define _M_SSE 0x402 | ||||||
|  | # elif defined __SSE4_1__ | ||||||
|  | #  define _M_SSE 0x401 | ||||||
|  | # elif defined __SSSE3__ | ||||||
|  | #  define _M_SSE 0x301 | ||||||
|  | # elif defined __SSE3__ | ||||||
|  | #  define _M_SSE 0x300 | ||||||
|  | # endif | ||||||
|  | #elif (_MSC_VER >= 1500) || __INTEL_COMPILER // Visual Studio 2008
 | ||||||
|  | #  define _M_SSE 0x402 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||||
| // Compiler-Specific Definitions
 | // Compiler-Specific Definitions
 | ||||||
| 
 | 
 | ||||||
| #if EMU_PLATFORM == PLATFORM_WINDOWS |  | ||||||
| 
 |  | ||||||
| #include <time.h> |  | ||||||
| 
 |  | ||||||
| #ifndef NOMINMAX |  | ||||||
| #define NOMINMAX |  | ||||||
| #endif |  | ||||||
| #define EMU_FASTCALL __fastcall |  | ||||||
| 
 |  | ||||||
| #ifdef _MSC_VER |  | ||||||
| inline struct tm* localtime_r(const time_t *clock, struct tm *result) { |  | ||||||
|     if (localtime_s(result, clock) == 0) |  | ||||||
|         return result; |  | ||||||
|     return nullptr; |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #else // EMU_PLATFORM != PLATFORM_WINDOWS
 |  | ||||||
| 
 |  | ||||||
| #define EMU_FASTCALL __attribute__((fastcall)) |  | ||||||
| #define __stdcall |  | ||||||
| #define __cdecl |  | ||||||
| 
 |  | ||||||
| #define BOOL bool |  | ||||||
| #define DWORD u32 |  | ||||||
| 
 |  | ||||||
| // TODO: Hacks..
 |  | ||||||
| #include <limits.h> |  | ||||||
| 
 |  | ||||||
| #include <strings.h> |  | ||||||
| #define stricmp(str1, str2) strcasecmp(str1, str2) |  | ||||||
| #define _stricmp(str1, str2) strcasecmp(str1, str2) |  | ||||||
| #define _snprintf snprintf |  | ||||||
| #define _getcwd getcwd |  | ||||||
| #define _tzset tzset |  | ||||||
| 
 |  | ||||||
| typedef void EXCEPTION_POINTERS; |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define GCC_VERSION_AVAILABLE(major, minor) (defined(__GNUC__) &&  (__GNUC__ > (major) || \ | #define GCC_VERSION_AVAILABLE(major, minor) (defined(__GNUC__) &&  (__GNUC__ > (major) || \ | ||||||
|     (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))) |     (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))) | ||||||
|  |  | ||||||
|  | @ -7,7 +7,6 @@ | ||||||
| #include "common/assert.h" | #include "common/assert.h" | ||||||
| 
 | 
 | ||||||
| #if defined(_MSC_VER) && _MSC_VER <= 1800 // MSVC 2013.
 | #if defined(_MSC_VER) && _MSC_VER <= 1800 // MSVC 2013.
 | ||||||
| #define NOMINMAX |  | ||||||
| #define WIN32_LEAN_AND_MEAN | #define WIN32_LEAN_AND_MEAN | ||||||
| #include <Windows.h> // For QueryPerformanceCounter/Frequency
 | #include <Windows.h> // For QueryPerformanceCounter/Frequency
 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | @ -4,7 +4,9 @@ | ||||||
| 
 | 
 | ||||||
| #include <boost/range/algorithm.hpp> | #include <boost/range/algorithm.hpp> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_funcs.h" | ||||||
|  | #include "common/common_paths.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
| 
 | 
 | ||||||
| #ifdef _MSC_VER | #ifdef _MSC_VER | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ | ||||||
| #include <sstream> | #include <sstream> | ||||||
| #include <vector> | #include <vector> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| namespace Common { | namespace Common { | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,8 +5,10 @@ | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <map> | #include <map> | ||||||
|  | #include <string> | ||||||
|  | #include <utility> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| struct TSymbol | struct TSymbol | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -4,7 +4,6 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| // Don't include common.h here as it will break LogManager
 |  | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include <cstdio> | #include <cstdio> | ||||||
| #include <cstring> | #include <cstring> | ||||||
|  |  | ||||||
|  | @ -9,8 +9,6 @@ | ||||||
| 
 | 
 | ||||||
| #include <boost/range/algorithm_ext/erase.hpp> | #include <boost/range/algorithm_ext/erase.hpp> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| 
 |  | ||||||
| namespace Common { | namespace Common { | ||||||
| 
 | 
 | ||||||
| template<class T, unsigned int N> | template<class T, unsigned int N> | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <map> | #include <map> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| // This simple class creates a wrapper around a C/C++ function that saves all fp state
 | // This simple class creates a wrapper around a C/C++ function that saves all fp state
 | ||||||
| // before entering it, and restores it upon exit. This is required to be able to selectively
 | // before entering it, and restores it upon exit. This is required to be able to selectively
 | ||||||
|  |  | ||||||
|  | @ -12,9 +12,9 @@ | ||||||
| #include <sys/time.h> | #include <sys/time.h> | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| #include "common/timer.h" |  | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
|  | #include "common/timer.h" | ||||||
| 
 | 
 | ||||||
| namespace Common | namespace Common | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| #include <string> | #include <string> | ||||||
| 
 | 
 | ||||||
| namespace Common | namespace Common | ||||||
|  |  | ||||||
|  | @ -12,6 +12,7 @@ set(SRCS | ||||||
|             arm/skyeye_common/vfp/vfpdouble.cpp |             arm/skyeye_common/vfp/vfpdouble.cpp | ||||||
|             arm/skyeye_common/vfp/vfpinstr.cpp |             arm/skyeye_common/vfp/vfpinstr.cpp | ||||||
|             arm/skyeye_common/vfp/vfpsingle.cpp |             arm/skyeye_common/vfp/vfpsingle.cpp | ||||||
|  |             file_sys/archive_backend.cpp | ||||||
|             file_sys/archive_extsavedata.cpp |             file_sys/archive_extsavedata.cpp | ||||||
|             file_sys/archive_romfs.cpp |             file_sys/archive_romfs.cpp | ||||||
|             file_sys/archive_savedata.cpp |             file_sys/archive_savedata.cpp | ||||||
|  |  | ||||||
|  | @ -4,7 +4,6 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "core/arm/skyeye_common/arm_regformat.h" | #include "core/arm/skyeye_common/arm_regformat.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include <cstring> | ||||||
|  | 
 | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/arm/skyeye_common/armemu.h" | #include "core/arm/skyeye_common/armemu.h" | ||||||
|  |  | ||||||
|  | @ -15,6 +15,8 @@ | ||||||
|     along with this program; if not, write to the Free Software |     along with this program; if not, write to the Free Software | ||||||
|     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/mem_map.h" | #include "core/mem_map.h" | ||||||
| #include "core/arm/skyeye_common/armdefs.h" | #include "core/arm/skyeye_common/armdefs.h" | ||||||
| #include "core/arm/skyeye_common/arm_regformat.h" | #include "core/arm/skyeye_common/arm_regformat.h" | ||||||
|  |  | ||||||
|  | @ -20,6 +20,8 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
|  | #include "common/swap.h" | ||||||
|  | 
 | ||||||
| #include "core/mem_map.h" | #include "core/mem_map.h" | ||||||
| #include "core/arm/skyeye_common/armdefs.h" | #include "core/arm/skyeye_common/armdefs.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -20,7 +20,6 @@ | ||||||
| 
 | 
 | ||||||
| /* Note: this file handles interface with arm core and vfp registers */ | /* Note: this file handles interface with arm core and vfp registers */ | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/arm/skyeye_common/armdefs.h" | #include "core/arm/skyeye_common/armdefs.h" | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
| #include "core/core_timing.h" | #include "core/core_timing.h" | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <functional> | #include <functional> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| extern int g_clock_rate_arm11; | extern int g_clock_rate_arm11; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										127
									
								
								src/core/file_sys/archive_backend.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								src/core/file_sys/archive_backend.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,127 @@ | ||||||
|  | // Copyright 2015 Citra Emulator Project
 | ||||||
|  | // Licensed under GPLv2 or any later version
 | ||||||
|  | // Refer to the license.txt file included.
 | ||||||
|  | 
 | ||||||
|  | #include <sstream> | ||||||
|  | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | #include "common/string_util.h" | ||||||
|  | 
 | ||||||
|  | #include "core/file_sys/archive_backend.h" | ||||||
|  | #include "core/mem_map.h" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | namespace FileSys { | ||||||
|  | 
 | ||||||
|  | Path::Path(LowPathType type, u32 size, u32 pointer) : type(type) { | ||||||
|  |     switch (type) { | ||||||
|  |     case Binary: | ||||||
|  |     { | ||||||
|  |         u8* data = Memory::GetPointer(pointer); | ||||||
|  |         binary = std::vector<u8>(data, data + size); | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     case Char: | ||||||
|  |     { | ||||||
|  |         const char* data = reinterpret_cast<const char*>(Memory::GetPointer(pointer)); | ||||||
|  |         string = std::string(data, size - 1); // Data is always null-terminated.
 | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     case Wchar: | ||||||
|  |     { | ||||||
|  |         const char16_t* data = reinterpret_cast<const char16_t*>(Memory::GetPointer(pointer)); | ||||||
|  |         u16str = std::u16string(data, size/2 - 1); // Data is always null-terminated.
 | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     default: | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const std::string Path::DebugStr() const { | ||||||
|  |     switch (GetType()) { | ||||||
|  |     case Invalid: | ||||||
|  |     default: | ||||||
|  |         return "[Invalid]"; | ||||||
|  |     case Empty: | ||||||
|  |         return "[Empty]"; | ||||||
|  |     case Binary: | ||||||
|  |     { | ||||||
|  |         std::stringstream res; | ||||||
|  |         res << "[Binary: "; | ||||||
|  |         for (unsigned byte : binary) | ||||||
|  |             res << std::hex << std::setw(2) << std::setfill('0') << byte; | ||||||
|  |         res << ']'; | ||||||
|  |         return res.str(); | ||||||
|  |     } | ||||||
|  |     case Char: | ||||||
|  |         return "[Char: " + AsString() + ']'; | ||||||
|  |     case Wchar: | ||||||
|  |         return "[Wchar: " + AsString() + ']'; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const std::string Path::AsString() const { | ||||||
|  |     switch (GetType()) { | ||||||
|  |     case Char: | ||||||
|  |         return string; | ||||||
|  |     case Wchar: | ||||||
|  |         return Common::UTF16ToUTF8(u16str); | ||||||
|  |     case Empty: | ||||||
|  |         return{}; | ||||||
|  |     case Invalid: | ||||||
|  |     case Binary: | ||||||
|  |     default: | ||||||
|  |         // TODO(yuriks): Add assert
 | ||||||
|  |         LOG_ERROR(Service_FS, "LowPathType cannot be converted to string!"); | ||||||
|  |         return{}; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const std::u16string Path::AsU16Str() const { | ||||||
|  |     switch (GetType()) { | ||||||
|  |     case Char: | ||||||
|  |         return Common::UTF8ToUTF16(string); | ||||||
|  |     case Wchar: | ||||||
|  |         return u16str; | ||||||
|  |     case Empty: | ||||||
|  |         return{}; | ||||||
|  |     case Invalid: | ||||||
|  |     case Binary: | ||||||
|  |         // TODO(yuriks): Add assert
 | ||||||
|  |         LOG_ERROR(Service_FS, "LowPathType cannot be converted to u16string!"); | ||||||
|  |         return{}; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const std::vector<u8> Path::AsBinary() const { | ||||||
|  |     switch (GetType()) { | ||||||
|  |     case Binary: | ||||||
|  |         return binary; | ||||||
|  |     case Char: | ||||||
|  |         return std::vector<u8>(string.begin(), string.end()); | ||||||
|  |     case Wchar: | ||||||
|  |     { | ||||||
|  |         // use two u8 for each character of u16str
 | ||||||
|  |         std::vector<u8> to_return(u16str.size() * 2); | ||||||
|  |         for (size_t i = 0; i < u16str.size(); ++i) { | ||||||
|  |             u16 tmp_char = u16str.at(i); | ||||||
|  |             to_return[i*2] = (tmp_char & 0xFF00) >> 8; | ||||||
|  |             to_return[i*2 + 1] = (tmp_char & 0x00FF); | ||||||
|  |         } | ||||||
|  |         return to_return; | ||||||
|  |     } | ||||||
|  |     case Empty: | ||||||
|  |         return{}; | ||||||
|  |     case Invalid: | ||||||
|  |     default: | ||||||
|  |         // TODO(yuriks): Add assert
 | ||||||
|  |         LOG_ERROR(Service_FS, "LowPathType cannot be converted to binary!"); | ||||||
|  |         return{}; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -5,22 +5,21 @@ | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <memory> | #include <memory> | ||||||
|  | #include <string> | ||||||
|  | #include <utility> | ||||||
|  | #include <vector> | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" |  | ||||||
| #include "common/string_util.h" |  | ||||||
| #include "common/bit_field.h" | #include "common/bit_field.h" | ||||||
|  | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/file_backend.h" | #include "core/hle/result.h" | ||||||
| #include "core/file_sys/directory_backend.h" |  | ||||||
| 
 | 
 | ||||||
| #include "core/mem_map.h" |  | ||||||
| #include "core/hle/kernel/kernel.h" |  | ||||||
| 
 |  | ||||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 |  | ||||||
| // FileSys namespace
 |  | ||||||
| 
 | 
 | ||||||
| namespace FileSys { | namespace FileSys { | ||||||
| 
 | 
 | ||||||
|  | class FileBackend; | ||||||
|  | class DirectoryBackend; | ||||||
|  | 
 | ||||||
| // Path string type
 | // Path string type
 | ||||||
| enum LowPathType : u32 { | enum LowPathType : u32 { | ||||||
|     Invalid = 0, |     Invalid = 0, | ||||||
|  | @ -39,134 +38,22 @@ union Mode { | ||||||
| 
 | 
 | ||||||
| class Path { | class Path { | ||||||
| public: | public: | ||||||
|  |     Path() : type(Invalid) {} | ||||||
|  |     Path(const char* path) : type(Char), string(path) {} | ||||||
|  |     Path(std::vector<u8> binary_data) : type(Binary), binary(std::move(binary_data)) {} | ||||||
|  |     Path(LowPathType type, u32 size, u32 pointer); | ||||||
| 
 | 
 | ||||||
|     Path() : type(Invalid) { |     LowPathType GetType() const { return type; } | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     Path(const char* path) : type(Char), string(path) { |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     Path(std::vector<u8> binary_data) : type(Binary), binary(std::move(binary_data)) { |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     Path(LowPathType type, u32 size, u32 pointer) : type(type) { |  | ||||||
|         switch (type) { |  | ||||||
|         case Binary: |  | ||||||
|         { |  | ||||||
|             u8* data = Memory::GetPointer(pointer); |  | ||||||
|             binary = std::vector<u8>(data, data + size); |  | ||||||
|             break; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         case Char: |  | ||||||
|         { |  | ||||||
|             const char* data = reinterpret_cast<const char*>(Memory::GetPointer(pointer)); |  | ||||||
|             string = std::string(data, size - 1); // Data is always null-terminated.
 |  | ||||||
|             break; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         case Wchar: |  | ||||||
|         { |  | ||||||
|             const char16_t* data = reinterpret_cast<const char16_t*>(Memory::GetPointer(pointer)); |  | ||||||
|             u16str = std::u16string(data, size/2 - 1); // Data is always null-terminated.
 |  | ||||||
|             break; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         default: |  | ||||||
|             break; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     LowPathType GetType() const { |  | ||||||
|         return type; |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Gets the string representation of the path for debugging |      * Gets the string representation of the path for debugging | ||||||
|      * @return String representation of the path for debugging |      * @return String representation of the path for debugging | ||||||
|      */ |      */ | ||||||
|     const std::string DebugStr() const { |     const std::string DebugStr() const; | ||||||
|         switch (GetType()) { |  | ||||||
|         case Invalid: |  | ||||||
|         default: |  | ||||||
|             return "[Invalid]"; |  | ||||||
|         case Empty: |  | ||||||
|             return "[Empty]"; |  | ||||||
|         case Binary: |  | ||||||
|         { |  | ||||||
|             std::stringstream res; |  | ||||||
|             res << "[Binary: "; |  | ||||||
|             for (unsigned byte : binary) |  | ||||||
|                 res << std::hex << std::setw(2) << std::setfill('0') << byte; |  | ||||||
|             res << ']'; |  | ||||||
|             return res.str(); |  | ||||||
|         } |  | ||||||
|         case Char: |  | ||||||
|             return "[Char: " + AsString() + ']'; |  | ||||||
|         case Wchar: |  | ||||||
|             return "[Wchar: " + AsString() + ']'; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     const std::string AsString() const { |     const std::string AsString() const; | ||||||
|         switch (GetType()) { |     const std::u16string AsU16Str() const; | ||||||
|         case Char: |     const std::vector<u8> AsBinary() const; | ||||||
|             return string; |  | ||||||
|         case Wchar: |  | ||||||
|             return Common::UTF16ToUTF8(u16str); |  | ||||||
|         case Empty: |  | ||||||
|             return {}; |  | ||||||
|         case Invalid: |  | ||||||
|         case Binary: |  | ||||||
|         default: |  | ||||||
|             // TODO(yuriks): Add assert
 |  | ||||||
|             LOG_ERROR(Service_FS, "LowPathType cannot be converted to string!"); |  | ||||||
|             return {}; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     const std::u16string AsU16Str() const { |  | ||||||
|         switch (GetType()) { |  | ||||||
|         case Char: |  | ||||||
|             return Common::UTF8ToUTF16(string); |  | ||||||
|         case Wchar: |  | ||||||
|             return u16str; |  | ||||||
|         case Empty: |  | ||||||
|             return {}; |  | ||||||
|         case Invalid: |  | ||||||
|         case Binary: |  | ||||||
|             // TODO(yuriks): Add assert
 |  | ||||||
|             LOG_ERROR(Service_FS, "LowPathType cannot be converted to u16string!"); |  | ||||||
|             return {}; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     const std::vector<u8> AsBinary() const { |  | ||||||
|         switch (GetType()) { |  | ||||||
|         case Binary: |  | ||||||
|             return binary; |  | ||||||
|         case Char: |  | ||||||
|             return std::vector<u8>(string.begin(), string.end()); |  | ||||||
|         case Wchar: |  | ||||||
|         { |  | ||||||
|             // use two u8 for each character of u16str
 |  | ||||||
|             std::vector<u8> to_return(u16str.size() * 2); |  | ||||||
|             for (size_t i = 0; i < u16str.size(); ++i) { |  | ||||||
|                 u16 tmp_char = u16str.at(i); |  | ||||||
|                 to_return[i*2] = (tmp_char & 0xFF00) >> 8; |  | ||||||
|                 to_return[i*2 + 1] = (tmp_char & 0x00FF); |  | ||||||
|             } |  | ||||||
|             return to_return; |  | ||||||
|         } |  | ||||||
|         case Empty: |  | ||||||
|             return {}; |  | ||||||
|         case Invalid: |  | ||||||
|         default: |  | ||||||
|             // TODO(yuriks): Add assert
 |  | ||||||
|             LOG_ERROR(Service_FS, "LowPathType cannot be converted to binary!"); |  | ||||||
|             return {}; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
|     LowPathType type; |     LowPathType type; | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/archive_extsavedata.h" | #include "core/file_sys/archive_extsavedata.h" | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/archive_romfs.h" | #include "core/file_sys/archive_romfs.h" | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/archive_savedata.h" | #include "core/file_sys/archive_savedata.h" | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/archive_savedatacheck.h" | #include "core/file_sys/archive_savedatacheck.h" | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/archive_sdmc.h" | #include "core/file_sys/archive_sdmc.h" | ||||||
|  |  | ||||||
|  | @ -4,12 +4,11 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
|  | #include <array> | ||||||
| #include <cstddef> | #include <cstddef> | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/kernel/kernel.h" |  | ||||||
| 
 |  | ||||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||||
| // FileSys namespace
 | // FileSys namespace
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/disk_archive.h" | #include "core/file_sys/disk_archive.h" | ||||||
|  |  | ||||||
|  | @ -8,6 +8,8 @@ | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/archive_backend.h" | #include "core/file_sys/archive_backend.h" | ||||||
|  | #include "core/file_sys/directory_backend.h" | ||||||
|  | #include "core/file_sys/file_backend.h" | ||||||
| #include "core/loader/loader.h" | #include "core/loader/loader.h" | ||||||
| 
 | 
 | ||||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||||
|  |  | ||||||
|  | @ -6,8 +6,6 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/kernel/kernel.h" |  | ||||||
| 
 |  | ||||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||||
| // FileSys namespace
 | // FileSys namespace
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/ivfc_archive.h" | #include "core/file_sys/ivfc_archive.h" | ||||||
|  |  | ||||||
|  | @ -10,6 +10,8 @@ | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| #include "core/file_sys/archive_backend.h" | #include "core/file_sys/archive_backend.h" | ||||||
|  | #include "core/file_sys/directory_backend.h" | ||||||
|  | #include "core/file_sys/file_backend.h" | ||||||
| #include "core/loader/loader.h" | #include "core/loader/loader.h" | ||||||
| 
 | 
 | ||||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,9 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include <cstring> | ||||||
|  | 
 | ||||||
|  | #include "common/assert.h" | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/common_funcs.h" | #include "common/common_funcs.h" | ||||||
| 
 | 
 | ||||||
|  | @ -61,7 +64,7 @@ template void Read<u16>(u16 &var, const u32 addr); | ||||||
| template void Read<u8>(u8 &var, const u32 addr); | template void Read<u8>(u8 &var, const u32 addr); | ||||||
| 
 | 
 | ||||||
| void Init() { | void Init() { | ||||||
|     memset(&config_mem, 0, sizeof(config_mem)); |     std::memset(&config_mem, 0, sizeof(config_mem)); | ||||||
| 
 | 
 | ||||||
|     config_mem.update_flag = 0; // No update
 |     config_mem.update_flag = 0; // No update
 | ||||||
|     config_mem.sys_core_ver = 0x2; |     config_mem.sys_core_ver = 0x2; | ||||||
|  |  | ||||||
|  | @ -4,6 +4,13 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
|  | #include "common/common_types.h" | ||||||
|  | 
 | ||||||
|  | typedef u32 Handle; | ||||||
|  | typedef s32 Result; | ||||||
|  | 
 | ||||||
|  | const Handle INVALID_HANDLE = 0; | ||||||
|  | 
 | ||||||
| namespace HLE { | namespace HLE { | ||||||
| 
 | 
 | ||||||
| extern bool g_reschedule;   ///< If true, immediately reschedules the CPU to a new thread
 | extern bool g_reschedule;   ///< If true, immediately reschedules the CPU to a new thread
 | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/mem_map.h" | #include "core/mem_map.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
| #include <algorithm> | #include <algorithm> | ||||||
| #include <vector> | #include <vector> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/assert.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/kernel/kernel.h" | #include "core/hle/kernel/kernel.h" | ||||||
| #include "core/hle/kernel/event.h" | #include "core/hle/kernel/event.h" | ||||||
|  |  | ||||||
|  | @ -4,7 +4,8 @@ | ||||||
| 
 | 
 | ||||||
| #include <algorithm> | #include <algorithm> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/assert.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/arm/arm_interface.h" | #include "core/arm/arm_interface.h" | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
|  |  | ||||||
|  | @ -10,19 +10,11 @@ | ||||||
| #include <string> | #include <string> | ||||||
| #include <vector> | #include <vector> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
|  | 
 | ||||||
|  | #include "core/hle/hle.h" | ||||||
| #include "core/hle/result.h" | #include "core/hle/result.h" | ||||||
| 
 | 
 | ||||||
| typedef u32 Handle; |  | ||||||
| typedef s32 Result; |  | ||||||
| 
 |  | ||||||
| // TODO: It would be nice to eventually replace these with strong types that prevent accidental
 |  | ||||||
| // conversion between each other.
 |  | ||||||
| typedef u32 VAddr; ///< Represents a pointer in the userspace virtual address space.
 |  | ||||||
| typedef u32 PAddr; ///< Represents a pointer in the ARM11 physical address space.
 |  | ||||||
| 
 |  | ||||||
| const Handle INVALID_HANDLE = 0; |  | ||||||
| 
 |  | ||||||
| namespace Kernel { | namespace Kernel { | ||||||
| 
 | 
 | ||||||
| class Thread; | class Thread; | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <boost/range/algorithm_ext/erase.hpp> | #include <boost/range/algorithm_ext/erase.hpp> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/assert.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/kernel/kernel.h" | #include "core/hle/kernel/kernel.h" | ||||||
| #include "core/hle/kernel/mutex.h" | #include "core/hle/kernel/mutex.h" | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/assert.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/kernel/kernel.h" | #include "core/hle/kernel/kernel.h" | ||||||
| #include "core/hle/kernel/semaphore.h" | #include "core/hle/kernel/semaphore.h" | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/mem_map.h" | #include "core/mem_map.h" | ||||||
| #include "core/hle/kernel/shared_memory.h" | #include "core/hle/kernel/shared_memory.h" | ||||||
|  |  | ||||||
|  | @ -6,7 +6,9 @@ | ||||||
| #include <list> | #include <list> | ||||||
| #include <vector> | #include <vector> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/assert.h" | ||||||
|  | #include "common/common_types.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/math_util.h" | #include "common/math_util.h" | ||||||
| #include "common/thread_queue_list.h" | #include "common/thread_queue_list.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,7 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/assert.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/core_timing.h" | #include "core/core_timing.h" | ||||||
| #include "core/hle/kernel/kernel.h" | #include "core/hle/kernel/kernel.h" | ||||||
|  |  | ||||||
|  | @ -8,6 +8,7 @@ | ||||||
| #include <type_traits> | #include <type_traits> | ||||||
| #include <utility> | #include <utility> | ||||||
| 
 | 
 | ||||||
|  | #include "common/assert.h" | ||||||
| #include "common/bit_field.h" | #include "common/bit_field.h" | ||||||
| #include "common/common_funcs.h" | #include "common/common_funcs.h" | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/am_sys.h" | #include "core/hle/service/am_sys.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,7 +2,9 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/common_paths.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/service/service.h" | #include "core/hle/service/service.h" | ||||||
| #include "core/hle/service/apt/apt.h" | #include "core/hle/service/apt/apt.h" | ||||||
|  |  | ||||||
|  | @ -3,9 +3,6 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/file_util.h" |  | ||||||
| 
 |  | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/apt/apt.h" | #include "core/hle/service/apt/apt.h" | ||||||
| #include "core/hle/service/apt/apt_s.h" | #include "core/hle/service/apt/apt_s.h" | ||||||
|  |  | ||||||
|  | @ -3,7 +3,6 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/service/apt/apt.h" | #include "core/hle/service/apt/apt.h" | ||||||
|  |  | ||||||
|  | @ -4,12 +4,16 @@ | ||||||
| 
 | 
 | ||||||
| #include <algorithm> | #include <algorithm> | ||||||
| 
 | 
 | ||||||
| #include "core/hle/service/fs/archive.h" | #include "common/logging/log.h" | ||||||
| #include "core/hle/service/service.h" | #include "common/string_util.h" | ||||||
|  | 
 | ||||||
|  | #include "core/file_sys/file_backend.h" | ||||||
| #include "core/hle/service/cfg/cfg.h" | #include "core/hle/service/cfg/cfg.h" | ||||||
| #include "core/hle/service/cfg/cfg_i.h" | #include "core/hle/service/cfg/cfg_i.h" | ||||||
| #include "core/hle/service/cfg/cfg_s.h" | #include "core/hle/service/cfg/cfg_s.h" | ||||||
| #include "core/hle/service/cfg/cfg_u.h" | #include "core/hle/service/cfg/cfg_u.h" | ||||||
|  | #include "core/hle/service/fs/archive.h" | ||||||
|  | #include "core/hle/service/service.h" | ||||||
| 
 | 
 | ||||||
| namespace Service { | namespace Service { | ||||||
| namespace CFG { | namespace CFG { | ||||||
|  |  | ||||||
|  | @ -3,7 +3,9 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
|  | 
 | ||||||
| #include "core/settings.h" | #include "core/settings.h" | ||||||
| #include "core/file_sys/archive_systemsavedata.h" | #include "core/file_sys/archive_systemsavedata.h" | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/kernel/event.h" | #include "core/hle/kernel/event.h" | ||||||
| #include "core/hle/service/dsp_dsp.h" | #include "core/hle/service/dsp_dsp.h" | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/err_f.h" | #include "core/hle/service/err_f.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -9,6 +9,7 @@ | ||||||
| 
 | 
 | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/make_unique.h" | #include "common/make_unique.h" | ||||||
| #include "common/math_util.h" | #include "common/math_util.h" | ||||||
| 
 | 
 | ||||||
|  | @ -78,6 +79,11 @@ enum class DirectoryCommand : u32 { | ||||||
|     Close           = 0x08020000, |     Close           = 0x08020000, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | File::File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path & path) | ||||||
|  |     : path(path), priority(0), backend(std::move(backend)) {} | ||||||
|  | 
 | ||||||
|  | File::~File() {} | ||||||
|  | 
 | ||||||
| ResultVal<bool> File::SyncRequest() { | ResultVal<bool> File::SyncRequest() { | ||||||
|     u32* cmd_buff = Kernel::GetCommandBuffer(); |     u32* cmd_buff = Kernel::GetCommandBuffer(); | ||||||
|     FileCommand cmd = static_cast<FileCommand>(cmd_buff[0]); |     FileCommand cmd = static_cast<FileCommand>(cmd_buff[0]); | ||||||
|  | @ -172,6 +178,11 @@ ResultVal<bool> File::SyncRequest() { | ||||||
|     return MakeResult<bool>(false); |     return MakeResult<bool>(false); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | Directory::Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend, const FileSys::Path & path) | ||||||
|  |     : path(path), backend(std::move(backend)) {} | ||||||
|  | 
 | ||||||
|  | Directory::~Directory() {} | ||||||
|  | 
 | ||||||
| ResultVal<bool> Directory::SyncRequest() { | ResultVal<bool> Directory::SyncRequest() { | ||||||
|     u32* cmd_buff = Kernel::GetCommandBuffer(); |     u32* cmd_buff = Kernel::GetCommandBuffer(); | ||||||
|     DirectoryCommand cmd = static_cast<DirectoryCommand>(cmd_buff[0]); |     DirectoryCommand cmd = static_cast<DirectoryCommand>(cmd_buff[0]); | ||||||
|  |  | ||||||
|  | @ -45,31 +45,27 @@ typedef u64 ArchiveHandle; | ||||||
| 
 | 
 | ||||||
| class File : public Kernel::Session { | class File : public Kernel::Session { | ||||||
| public: | public: | ||||||
|     File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path& path) |     File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path& path); | ||||||
|         : path(path), priority(0), backend(std::move(backend)) { |     ~File(); | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     std::string GetName() const override { return "Path: " + path.DebugStr(); } |     std::string GetName() const override { return "Path: " + path.DebugStr(); } | ||||||
|  |     ResultVal<bool> SyncRequest() override; | ||||||
| 
 | 
 | ||||||
|     FileSys::Path path; ///< Path of the file
 |     FileSys::Path path; ///< Path of the file
 | ||||||
|     u32 priority; ///< Priority of the file. TODO(Subv): Find out what this means
 |     u32 priority; ///< Priority of the file. TODO(Subv): Find out what this means
 | ||||||
|     std::unique_ptr<FileSys::FileBackend> backend; ///< File backend interface
 |     std::unique_ptr<FileSys::FileBackend> backend; ///< File backend interface
 | ||||||
| 
 |  | ||||||
|     ResultVal<bool> SyncRequest() override; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| class Directory : public Kernel::Session { | class Directory : public Kernel::Session { | ||||||
| public: | public: | ||||||
|     Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend, const FileSys::Path& path) |     Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend, const FileSys::Path& path); | ||||||
|         : path(path), backend(std::move(backend)) { |     ~Directory(); | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     std::string GetName() const override { return "Directory: " + path.DebugStr(); } |     std::string GetName() const override { return "Directory: " + path.DebugStr(); } | ||||||
|  |     ResultVal<bool> SyncRequest() override; | ||||||
| 
 | 
 | ||||||
|     FileSys::Path path; ///< Path of the directory
 |     FileSys::Path path; ///< Path of the directory
 | ||||||
|     std::unique_ptr<FileSys::DirectoryBackend> backend; ///< File backend interface
 |     std::unique_ptr<FileSys::DirectoryBackend> backend; ///< File backend interface
 | ||||||
| 
 |  | ||||||
|     ResultVal<bool> SyncRequest() override; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  |  | ||||||
|  | @ -2,10 +2,13 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/assert.h" | ||||||
|  | #include "common/common_types.h" | ||||||
| #include "common/file_util.h" | #include "common/file_util.h" | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/scope_exit.h" | #include "common/scope_exit.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/result.h" | #include "core/hle/result.h" | ||||||
| #include "core/hle/service/fs/archive.h" | #include "core/hle/service/fs/archive.h" | ||||||
| #include "core/hle/service/fs/fs_user.h" | #include "core/hle/service/fs/fs_user.h" | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/service/service.h" | #include "core/hle/service/service.h" | ||||||
| #include "core/hle/service/hid/hid.h" | #include "core/hle/service/hid/hid.h" | ||||||
| #include "core/hle/service/hid/hid_spvr.h" | #include "core/hle/service/hid/hid_spvr.h" | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/ldr_ro.h" | #include "core/hle/service/ldr_ro.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/nim_u.h" | #include "core/hle/service/nim_u.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3,8 +3,6 @@ | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" |  | ||||||
| 
 |  | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/ns_s.h" | #include "core/hle/service/ns_s.h" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/kernel/event.h" | #include "core/hle/kernel/event.h" | ||||||
| #include "core/hle/service/nwm_uds.h" | #include "core/hle/service/nwm_uds.h" | ||||||
|  |  | ||||||
|  | @ -2,12 +2,13 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "core/hle/service/service.h" | #include "core/file_sys/file_backend.h" | ||||||
| #include "core/hle/service/fs/archive.h" | #include "core/hle/service/fs/archive.h" | ||||||
| #include "core/hle/service/ptm/ptm.h" | #include "core/hle/service/ptm/ptm.h" | ||||||
| #include "core/hle/service/ptm/ptm_play.h" | #include "core/hle/service/ptm/ptm_play.h" | ||||||
| #include "core/hle/service/ptm/ptm_sysm.h" | #include "core/hle/service/ptm/ptm_sysm.h" | ||||||
| #include "core/hle/service/ptm/ptm_u.h" | #include "core/hle/service/ptm/ptm_u.h" | ||||||
|  | #include "core/hle/service/service.h" | ||||||
| 
 | 
 | ||||||
| namespace Service { | namespace Service { | ||||||
| namespace PTM { | namespace PTM { | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/make_unique.h" | #include "common/logging/log.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/ptm/ptm.h" | #include "core/hle/service/ptm/ptm.h" | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/logging/log.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/service/service.h" | #include "core/hle/service/service.h" | ||||||
|  |  | ||||||
|  | @ -9,7 +9,7 @@ | ||||||
| 
 | 
 | ||||||
| #include <boost/container/flat_map.hpp> | #include <boost/container/flat_map.hpp> | ||||||
| 
 | 
 | ||||||
| #include "common/common.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| #include "core/hle/kernel/kernel.h" | #include "core/hle/kernel/kernel.h" | ||||||
| #include "core/hle/kernel/session.h" | #include "core/hle/kernel/session.h" | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
| #include "common/platform.h" | #include "common/platform.h" | ||||||
| 
 | 
 | ||||||
| #if EMU_PLATFORM == PLATFORM_WINDOWS | #if EMU_PLATFORM == PLATFORM_WINDOWS | ||||||
|  |  | ||||||
|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
|  | #include "common/logging/log.h" | ||||||
|  | 
 | ||||||
| #include "core/hle/hle.h" | #include "core/hle/hle.h" | ||||||
| #include "core/hle/service/srv.h" | #include "core/hle/service/srv.h" | ||||||
| #include "core/hle/kernel/event.h" | #include "core/hle/kernel/event.h" | ||||||
|  |  | ||||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue