Procházet zdrojové kódy

Merge pull request #876 from linkmauve/include-cleanups

Cleanup includes, mostly in common
Yuri Kunde Schlesner před 11 roky
rodič
revize
867c28ae03
100 změnil soubory, kde provedl 335 přidání a 381 odebrání
  1. 1 3
      src/citra/citra.cpp
  2. 2 1
      src/citra/config.cpp
  3. 2 4
      src/citra/config.h
  4. 12 0
      src/citra/emu_window/emu_window_glfw.cpp
  5. 2 0
      src/citra/emu_window/emu_window_glfw.h
  6. 4 0
      src/citra_qt/bootmanager.cpp
  7. 1 1
      src/citra_qt/config.cpp
  8. 2 2
      src/citra_qt/config.h
  9. 2 0
      src/citra_qt/debugger/disassembler.cpp
  10. 4 1
      src/citra_qt/hotkeys.cpp
  11. 2 2
      src/citra_qt/hotkeys.h
  12. 2 4
      src/citra_qt/main.cpp
  13. 0 1
      src/common/CMakeLists.txt
  14. 0 1
      src/common/assert.h
  15. 1 0
      src/common/bit_field.h
  16. 6 4
      src/common/chunk_file.h
  17. 0 11
      src/common/common_funcs.h
  18. 0 2
      src/common/common_types.h
  19. 6 0
      src/common/emu_window.cpp
  20. 9 3
      src/common/emu_window.h
  21. 0 111
      src/common/fifo_queue.h
  22. 9 2
      src/common/file_util.cpp
  23. 1 2
      src/common/file_util.h
  24. 1 0
      src/common/logging/filter.h
  25. 0 4
      src/common/logging/log.h
  26. 1 0
      src/common/make_unique.h
  27. 7 4
      src/common/memory_util.cpp
  28. 1 3
      src/common/memory_util.h
  29. 3 2
      src/common/misc.cpp
  30. 0 55
      src/common/platform.h
  31. 8 3
      src/common/profiler.cpp
  32. 1 4
      src/common/profiler_reporting.h
  33. 7 2
      src/common/string_util.cpp
  34. 2 1
      src/common/string_util.h
  35. 7 3
      src/common/swap.h
  36. 1 0
      src/common/synchronized_wrapper.h
  37. 13 4
      src/common/thread.cpp
  38. 2 14
      src/common/thread.h
  39. 1 0
      src/core/arm/disassembler/load_symbol_map.cpp
  40. 5 0
      src/core/arm/dyncom/arm_dyncom.h
  41. 3 3
      src/core/arm/skyeye_common/vfp/vfp.cpp
  42. 3 1
      src/core/arm/skyeye_common/vfp/vfpsingle.cpp
  43. 0 3
      src/core/core.cpp
  44. 2 2
      src/core/core_timing.cpp
  45. 2 0
      src/core/file_sys/archive_backend.cpp
  46. 3 2
      src/core/file_sys/archive_extsavedata.cpp
  47. 5 2
      src/core/file_sys/archive_extsavedata.h
  48. 2 1
      src/core/file_sys/archive_romfs.cpp
  49. 3 1
      src/core/file_sys/archive_romfs.h
  50. 2 2
      src/core/file_sys/archive_savedata.cpp
  51. 4 3
      src/core/file_sys/archive_savedata.h
  52. 6 0
      src/core/file_sys/archive_savedatacheck.cpp
  53. 4 5
      src/core/file_sys/archive_savedatacheck.h
  54. 1 2
      src/core/file_sys/archive_sdmc.cpp
  55. 4 3
      src/core/file_sys/archive_sdmc.h
  56. 4 2
      src/core/file_sys/archive_systemsavedata.cpp
  57. 5 2
      src/core/file_sys/archive_systemsavedata.h
  58. 2 2
      src/core/file_sys/disk_archive.cpp
  59. 6 1
      src/core/file_sys/disk_archive.h
  60. 2 0
      src/core/file_sys/file_backend.h
  61. 1 1
      src/core/file_sys/ivfc_archive.cpp
  62. 3 1
      src/core/file_sys/ivfc_archive.h
  63. 0 1
      src/core/hle/hle.cpp
  64. 0 2
      src/core/hle/kernel/kernel.cpp
  65. 3 4
      src/core/hle/kernel/kernel.h
  66. 2 1
      src/core/hle/kernel/process.h
  67. 6 0
      src/core/hle/kernel/session.h
  68. 1 0
      src/core/hle/kernel/thread.h
  69. 2 0
      src/core/hle/kernel/vm_manager.cpp
  70. 0 1
      src/core/hle/kernel/vm_manager.h
  71. 1 1
      src/core/hle/result.h
  72. 2 0
      src/core/hle/service/dsp_dsp.h
  73. 8 2
      src/core/hle/service/fs/archive.cpp
  74. 8 5
      src/core/hle/service/fs/archive.h
  75. 3 1
      src/core/hle/service/gsp_gpu.cpp
  76. 3 0
      src/core/hle/service/gsp_gpu.h
  77. 1 0
      src/core/hle/service/hid/hid.cpp
  78. 9 7
      src/core/hle/service/hid/hid.h
  79. 2 1
      src/core/hle/service/service.h
  80. 41 34
      src/core/hle/service/soc_u.cpp
  81. 2 0
      src/core/hle/service/soc_u.h
  82. 1 0
      src/core/hle/service/y2r_u.cpp
  83. 2 0
      src/core/hle/service/y2r_u.h
  84. 0 6
      src/core/hle/shared_page.cpp
  85. 3 0
      src/core/hle/shared_page.h
  86. 7 4
      src/core/hw/gpu.cpp
  87. 1 0
      src/core/hw/gpu.h
  88. 0 2
      src/core/hw/lcd.cpp
  89. 1 0
      src/core/hw/lcd.h
  90. 3 1
      src/core/hw/y2r.cpp
  91. 2 1
      src/core/loader/elf.cpp
  92. 2 0
      src/core/loader/loader.cpp
  93. 7 1
      src/core/loader/loader.h
  94. 2 1
      src/core/loader/ncch.cpp
  95. 3 2
      src/core/mem_map.cpp
  96. 0 3
      src/core/memory.cpp
  97. 2 0
      src/core/memory.h
  98. 7 5
      src/video_core/command_processor.cpp
  99. 2 2
      src/video_core/command_processor.h
  100. 1 0
      src/video_core/debug_utils/debug_utils.cpp

+ 1 - 3
src/citra/citra.cpp

@@ -2,13 +2,11 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <thread>
+#include <string>
 
 #include "common/logging/log.h"
-#include "common/logging/text_formatter.h"
 #include "common/logging/backend.h"
 #include "common/logging/filter.h"
-#include "common/scope_exit.h"
 
 #include "core/settings.h"
 #include "core/system.h"

+ 2 - 1
src/citra/config.cpp

@@ -2,7 +2,9 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#define GLFW_INCLUDE_NONE
 #include <GLFW/glfw3.h>
+#include <inih/cpp/INIReader.h>
 
 #include "citra/default_ini.h"
 
@@ -10,7 +12,6 @@
 #include "common/logging/log.h"
 
 #include "core/settings.h"
-#include "core/core.h"
 
 #include "config.h"
 

+ 2 - 4
src/citra/config.h

@@ -4,11 +4,9 @@
 
 #pragma once
 
-#include <map>
+#include <string>
 
-#include <inih/cpp/INIReader.h>
-
-#include "common/common_types.h"
+class INIReader;
 
 class Config {
     INIReader* glfw_config;

+ 12 - 0
src/citra/emu_window/emu_window_glfw.cpp

@@ -2,13 +2,25 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
+#include <cstdlib>
+#include <string>
+
+// Let’s use our own GL header, instead of one from GLFW.
+#include "video_core/renderer_opengl/generated/gl_3_2_core.h"
+#define GLFW_INCLUDE_NONE
 #include <GLFW/glfw3.h>
 
+#include "common/assert.h"
+#include "common/key_map.h"
 #include "common/logging/log.h"
+#include "common/scm_rev.h"
+#include "common/string_util.h"
 
 #include "video_core/video_core.h"
 
 #include "core/settings.h"
+#include "core/hle/service/hid/hid.h"
 
 #include "citra/emu_window/emu_window_glfw.h"
 

+ 2 - 0
src/citra/emu_window/emu_window_glfw.h

@@ -4,6 +4,8 @@
 
 #pragma once
 
+#include <utility>
+
 #include "common/emu_window.h"
 
 struct GLFWwindow;

+ 4 - 0
src/citra_qt/bootmanager.cpp

@@ -11,6 +11,10 @@
 #include "bootmanager.h"
 #include "main.h"
 
+#include "common/string_util.h"
+#include "common/scm_rev.h"
+#include "common/key_map.h"
+
 #include "core/core.h"
 #include "core/settings.h"
 #include "core/system.h"

+ 1 - 1
src/citra_qt/config.cpp

@@ -2,11 +2,11 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <QSettings>
 #include <QString>
 #include <QStringList>
 
 #include "core/settings.h"
-#include "core/core.h"
 #include "common/file_util.h"
 
 #include "config.h"

+ 2 - 2
src/citra_qt/config.h

@@ -4,9 +4,9 @@
 
 #pragma once
 
-#include <QSettings>
+#include <string>
 
-#include "common/common_types.h"
+class QSettings;
 
 class Config {
     QSettings* qt_config;

+ 2 - 0
src/citra_qt/debugger/disassembler.cpp

@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <QShortcut>
+
 #include "disassembler.h"
 
 #include "../bootmanager.h"

+ 4 - 1
src/citra_qt/hotkeys.cpp

@@ -2,10 +2,13 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <map>
+
 #include <QKeySequence>
 #include <QSettings>
+#include <QShortcut>
+
 #include "hotkeys.h"
-#include <map>
 
 struct Hotkey
 {

+ 2 - 2
src/citra_qt/hotkeys.h

@@ -2,12 +2,12 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <QShortcut>
-#include <QDialog>
 #include "ui_hotkeys.h"
 
+class QDialog;
 class QKeySequence;
 class QSettings;
+class QShortcut;
 
 /**
  * Register a hotkey.

+ 2 - 4
src/citra_qt/main.cpp

@@ -10,18 +10,16 @@
 #include "qhexedit.h"
 #include "main.h"
 
+#include "common/string_util.h"
 #include "common/logging/text_formatter.h"
 #include "common/logging/log.h"
 #include "common/logging/backend.h"
 #include "common/logging/filter.h"
 #include "common/make_unique.h"
 #include "common/platform.h"
+#include "common/scm_rev.h"
 #include "common/scope_exit.h"
 
-#if EMU_PLATFORM == PLATFORM_LINUX
-#include <unistd.h>
-#endif
-
 #include "bootmanager.h"
 #include "hotkeys.h"
 

+ 0 - 1
src/common/CMakeLists.txt

@@ -31,7 +31,6 @@ set(HEADERS
             cpu_detect.h
             debug_interface.h
             emu_window.h
-            fifo_queue.h
             file_util.h
             key_map.h
             linear_disk_cache.h

+ 0 - 1
src/common/assert.h

@@ -4,7 +4,6 @@
 
 #pragma once
 
-#include <cstdio>
 #include <cstdlib>
 
 #include "common/common_funcs.h"

+ 1 - 0
src/common/bit_field.h

@@ -32,6 +32,7 @@
 
 #pragma once
 
+#include <cstddef>
 #include <limits>
 #include <type_traits>
 

+ 6 - 4
src/common/chunk_file.h

@@ -26,16 +26,18 @@
 // - Zero backwards/forwards compatibility
 // - Serialization code for anything complex has to be manually written.
 
-#include <map>
-#include <vector>
+#include <cstring>
 #include <deque>
-#include <string>
 #include <list>
+#include <map>
 #include <set>
+#include <string>
 #include <type_traits>
+#include <utility>
+#include <vector>
 
+#include "common/assert.h"
 #include "common/common_types.h"
-#include "common/file_util.h"
 #include "common/logging/log.h"
 
 template <class T>

+ 0 - 11
src/common/common_funcs.h

@@ -5,15 +5,6 @@
 #pragma once
 
 #include "common_types.h"
-#include <cstdlib>
-
-
-#define b2(x)   (   (x) | (   (x) >> 1) )
-#define b4(x)   ( b2(x) | ( b2(x) >> 2) )
-#define b8(x)   ( b4(x) | ( b4(x) >> 4) )
-#define b16(x)  ( b8(x) | ( b8(x) >> 8) )
-#define b32(x)  (b16(x) | (b16(x) >>16) )
-#define ROUND_UP_POW2(x)    (b32(x - 1) + 1)
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -43,8 +34,6 @@
 
 #ifndef _MSC_VER
 
-#include <errno.h>
-
 #if defined(__x86_64__) || defined(_M_X64)
 #define Crash() __asm__ __volatile__("int $3")
 #elif defined(_M_ARM)

+ 0 - 2
src/common/common_types.h

@@ -24,9 +24,7 @@
 
 #pragma once
 
-#include <cmath>
 #include <cstdint>
-#include <cstdlib>
 
 #ifdef _MSC_VER
 #ifndef __func__

+ 6 - 0
src/common/emu_window.cpp

@@ -2,6 +2,12 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
+#include <cmath>
+
+#include "common/assert.h"
+#include "common/key_map.h"
+
 #include "emu_window.h"
 #include "video_core/video_core.h"
 

+ 9 - 3
src/common/emu_window.h

@@ -4,11 +4,17 @@
 
 #pragma once
 
+#include <tuple>
+#include <utility>
+
 #include "common/common_types.h"
-#include "common/key_map.h"
 #include "common/math_util.h"
-#include "common/scm_rev.h"
-#include "common/string_util.h"
+
+#include "core/hle/service/hid/hid.h"
+
+namespace KeyMap {
+struct HostDeviceKey;
+}
 
 /**
  * Abstraction class used to provide an interface between emulation code and the frontend

+ 0 - 111
src/common/fifo_queue.h

@@ -1,111 +0,0 @@
-#pragma once
-
-// a simple lockless thread-safe,
-// single reader, single writer queue
-
-#include "common/atomic.h"
-
-namespace Common
-{
-
-template <typename T>
-class FifoQueue
-{
-public:
-    FifoQueue() : m_size(0)
-    {
-         m_write_ptr = m_read_ptr = new ElementPtr();
-    }
-
-    ~FifoQueue()
-    {
-        // this will empty out the whole queue
-        delete m_read_ptr;
-    }
-
-    u32 Size() const
-    {
-        return m_size;
-    }
-
-    bool Empty() const
-    {
-        //return (m_read_ptr == m_write_ptr);
-        return (0 == m_size);
-    }
-
-    T& Front() const
-    {
-        return *m_read_ptr->current;
-    }
-
-    template <typename Arg>
-    void Push(Arg&& t)
-    {
-        // create the element, add it to the queue
-        m_write_ptr->current = new T(std::forward<Arg>(t));
-        // set the next pointer to a new element ptr
-        // then advance the write pointer
-        m_write_ptr = m_write_ptr->next = new ElementPtr();
-        Common::AtomicIncrement(m_size);
-    }
-
-    void Pop()
-    {
-        Common::AtomicDecrement(m_size);
-        ElementPtr *const tmpptr = m_read_ptr;
-        // advance the read pointer
-        m_read_ptr = m_read_ptr->next;
-        // set the next element to NULL to stop the recursive deletion
-        tmpptr->next = nullptr;
-        delete tmpptr;    // this also deletes the element
-    }
-
-    bool Pop(T& t)
-    {
-        if (Empty())
-            return false;
-
-        t = std::move(Front());
-        Pop();
-
-        return true;
-    }
-
-    // not thread-safe
-    void Clear()
-    {
-        m_size = 0;
-        delete m_read_ptr;
-        m_write_ptr = m_read_ptr = new ElementPtr();
-    }
-
-private:
-    // stores a pointer to element
-    // and a pointer to the next ElementPtr
-    class ElementPtr
-    {
-    public:
-        ElementPtr() : current(nullptr), next(nullptr) {}
-
-        ~ElementPtr()
-        {
-            if (current)
-            {
-                delete current;
-                // recusion ftw
-                if (next)
-                    delete next;
-            }
-        }
-
-        T *volatile current;
-        ElementPtr *volatile next;
-    };
-
-    ElementPtr *volatile m_write_ptr;
-    ElementPtr *volatile m_read_ptr;
-    volatile u32 m_size;
-};
-
-}

+ 9 - 2
src/common/file_util.cpp

@@ -17,6 +17,8 @@
     #include <direct.h> // getcwd
     #include <tchar.h>
 
+    #include "common/string_util.h"
+
     // 64 bit offsets for windows
     #define fseeko _fseeki64
     #define ftello _ftelli64
@@ -25,8 +27,13 @@
     #define fstat64 _fstat64
     #define fileno _fileno
 #else
-    #include <sys/param.h>
-    #include <sys/types.h>
+    #ifdef __APPLE__
+        #include <sys/param.h>
+    #endif
+    #include <cctype>
+    #include <cerrno>
+    #include <cstdlib>
+    #include <cstring>
     #include <dirent.h>
     #include <pwd.h>
     #include <unistd.h>

+ 1 - 2
src/common/file_util.h

@@ -6,13 +6,12 @@
 
 #include <array>
 #include <fstream>
+#include <cstddef>
 #include <cstdio>
-#include <cstring>
 #include <string>
 #include <vector>
 
 #include "common/common_types.h"
-#include "common/string_util.h"
 
 // User directory indices for GetUserPath
 enum {

+ 1 - 0
src/common/logging/filter.h

@@ -5,6 +5,7 @@
 #pragma once
 
 #include <array>
+#include <cstddef>
 #include <string>
 
 #include "common/logging/log.h"

+ 0 - 4
src/common/logging/log.h

@@ -4,10 +4,6 @@
 
 #pragma once
 
-#include <cassert>
-#include <chrono>
-#include <string>
-
 #include "common/common_types.h"
 
 namespace Log {

+ 1 - 0
src/common/make_unique.h

@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include <algorithm>
 #include <memory>
 
 namespace Common {

+ 7 - 4
src/common/memory_util.cpp

@@ -3,14 +3,17 @@
 // Refer to the license.txt file included.
 
 
-#include "common/common_funcs.h"
 #include "common/logging/log.h"
 #include "common/memory_util.h"
-#include "common/string_util.h"
 
 #ifdef _WIN32
-#include <windows.h>
-#include <psapi.h>
+    #include <windows.h>
+    #include <psapi.h>
+    #include "common/common_funcs.h"
+    #include "common/string_util.h"
+#else
+    #include <cstdlib>
+    #include <sys/mman.h>
 #endif
 
 #if !defined(_WIN32) && defined(__x86_64__) && !defined(MAP_32BIT)

+ 1 - 3
src/common/memory_util.h

@@ -4,9 +4,7 @@
 
 #pragma once
 
-#ifndef _WIN32
-#include <sys/mman.h>
-#endif
+#include <cstddef>
 #include <string>
 
 void* AllocateExecutableMemory(size_t size, bool low = true);

+ 3 - 2
src/common/misc.cpp

@@ -2,12 +2,13 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common_funcs.h"
+#include <cstddef>
 
 #ifdef _WIN32
 #include <windows.h>
 #else
-#include <string.h>
+#include <cerrno>
+#include <cstring>
 #endif
 
 // Neither Android nor OS X support TLS

+ 0 - 55
src/common/platform.h

@@ -24,66 +24,11 @@
 
 #pragma once
 
-#include "common/common_types.h"
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-// Platform definitions
-
-/// Enumeration for defining the supported platforms
-#define PLATFORM_NULL 0
-#define PLATFORM_WINDOWS 1
-#define PLATFORM_MACOSX 2
-#define PLATFORM_LINUX 3
-#define PLATFORM_ANDROID 4
-
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Platform detection
 
-#ifndef EMU_PLATFORM
-
-#if defined( __WIN32__ ) || defined( _WIN32 )
-#define EMU_PLATFORM PLATFORM_WINDOWS
-
-#elif defined( __APPLE__ ) || defined( __APPLE_CC__ )
-#define EMU_PLATFORM PLATFORM_MACOSX
-
-#elif defined(__linux__)
-#define EMU_PLATFORM PLATFORM_LINUX
-
-#else // Assume linux otherwise
-#define EMU_PLATFORM PLATFORM_LINUX
-
-#endif
-
-#endif
-
 #if defined(__x86_64__) || defined(_M_X64) || defined(__aarch64__)
     #define EMU_ARCH_BITS 64
 #elif defined(__i386) || defined(_M_IX86) || defined(__arm__) || defined(_M_ARM)
     #define EMU_ARCH_BITS 32
 #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
-
-#define GCC_VERSION_AVAILABLE(major, minor) (defined(__GNUC__) &&  (__GNUC__ > (major) || \
-    (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))))

+ 8 - 3
src/common/profiler.cpp

@@ -2,13 +2,18 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
+#include <cstddef>
+#include <vector>
+
+#include "common/assert.h"
 #include "common/profiler.h"
 #include "common/profiler_reporting.h"
-#include "common/assert.h"
+#include "common/synchronized_wrapper.h"
 
 #if defined(_MSC_VER) && _MSC_VER <= 1800 // MSVC 2013.
-#define WIN32_LEAN_AND_MEAN
-#include <Windows.h> // For QueryPerformanceCounter/Frequency
+    #define WIN32_LEAN_AND_MEAN
+    #include <Windows.h> // For QueryPerformanceCounter/Frequency
 #endif
 
 namespace Common {

+ 1 - 4
src/common/profiler_reporting.h

@@ -4,10 +4,7 @@
 
 #pragma once
 
-#include <array>
-#include <chrono>
-#include <mutex>
-#include <utility>
+#include <cstddef>
 #include <vector>
 
 #include "common/profiler.h"

+ 7 - 2
src/common/string_util.cpp

@@ -2,9 +2,13 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <boost/range/algorithm.hpp>
+#include <cctype>
+#include <cerrno>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <boost/range/algorithm/transform.hpp>
 
-#include "common/common_funcs.h"
 #include "common/common_paths.h"
 #include "common/logging/log.h"
 #include "common/string_util.h"
@@ -12,6 +16,7 @@
 #ifdef _MSC_VER
     #include <Windows.h>
     #include <codecvt>
+    #include "common/common_funcs.h"
 #else
     #include <iconv.h>
 #endif

+ 2 - 1
src/common/string_util.h

@@ -5,9 +5,10 @@
 #pragma once
 
 #include <cstdarg>
+#include <cstddef>
 #include <iomanip>
-#include <string>
 #include <sstream>
+#include <string>
 #include <vector>
 
 #include "common/common_types.h"

+ 7 - 3
src/common/swap.h

@@ -17,12 +17,16 @@
 
 #pragma once
 
-#if defined(__linux__)
-#include <byteswap.h>
+#if defined(_MSC_VER)
+    #include <cstdlib>
+#elif defined(__linux__)
+    #include <byteswap.h>
 #elif defined(__FreeBSD__)
-#include <sys/endian.h>
+    #include <sys/endian.h>
 #endif
 
+#include "common/common_types.h"
+
 // GCC 4.6+
 #if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
 

+ 1 - 0
src/common/synchronized_wrapper.h

@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include <algorithm>
 #include <mutex>
 
 namespace Common {

+ 13 - 4
src/common/thread.cpp

@@ -5,11 +5,20 @@
 #include "common/thread.h"
 
 #ifdef __APPLE__
-#include <mach/mach.h>
-#elif defined(BSD4_4) || defined(__OpenBSD__)
-#include <pthread_np.h>
+    #include <mach/mach.h>
 #elif defined(_WIN32)
-#include <Windows.h>
+    #include <Windows.h>
+#else
+    #if defined(BSD4_4) || defined(__OpenBSD__)
+        #include <pthread_np.h>
+    #else
+        #include <pthread.h>
+    #endif
+    #include <sched.h>
+#endif
+
+#ifndef _WIN32
+    #include <unistd.h>
 #endif
 
 namespace Common

+ 2 - 14
src/common/thread.h

@@ -4,24 +4,12 @@
 
 #pragma once
 
-#include "common/common_types.h"
-#include <cstdio>
-#include <cstring>
+#include <cstddef>
 #include <thread>
 #include <condition_variable>
 #include <mutex>
 
-// This may not be defined outside _WIN32
-#ifndef _WIN32
-#ifndef INFINITE
-#define INFINITE 0xffffffff
-#endif
-
-//for gettimeofday and struct time(spec|val)
-#include <time.h>
-#include <sys/time.h>
-#include <unistd.h>
-#endif
+#include "common/common_types.h"
 
 // Support for C++11's thread_local keyword was surprisingly spotty in compilers until very
 // recently. Fortunately, thread local variables have been well supported for compilers for a while,

+ 1 - 0
src/core/arm/disassembler/load_symbol_map.cpp

@@ -2,6 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <sstream>
 #include <string>
 #include <vector>
 

+ 5 - 0
src/core/arm/dyncom/arm_dyncom.h

@@ -10,6 +10,11 @@
 
 #include "core/arm/arm_interface.h"
 #include "core/arm/skyeye_common/armdefs.h"
+#include "core/arm/skyeye_common/arm_regformat.h"
+
+namespace Core {
+struct ThreadContext;
+}
 
 class ARM_DynCom final : virtual public ARM_Interface {
 public:

+ 3 - 3
src/core/arm/skyeye_common/vfp/vfp.cpp

@@ -20,6 +20,7 @@
 
 /* Note: this file handles interface with arm core and vfp registers */
 
+#include "common/common_funcs.h"
 #include "common/logging/log.h"
 
 #include "core/arm/skyeye_common/armdefs.h"
@@ -143,9 +144,8 @@ void vfp_raise_exceptions(ARMul_State* state, u32 exceptions, u32 inst, u32 fpsc
     LOG_TRACE(Core_ARM11, "VFP: raising exceptions %08x\n", exceptions);
 
     if (exceptions == VFP_EXCEPTION_ERROR) {
-        LOG_TRACE(Core_ARM11, "unhandled bounce %x\n", inst);
-        exit(-1);
-        return;
+        LOG_CRITICAL(Core_ARM11, "unhandled bounce %x\n", inst);
+        Crash();
     }
 
     /*

+ 3 - 1
src/core/arm/skyeye_common/vfp/vfpsingle.cpp

@@ -53,6 +53,8 @@
 
 #include <cinttypes>
 
+#include "common/common_funcs.h"
+#include "common/common_types.h"
 #include "common/logging/log.h"
 
 #include "core/arm/skyeye_common/vfp/vfp_helper.h"
@@ -1246,7 +1248,7 @@ u32 vfp_single_cpdo(ARMul_State* state, u32 inst, u32 fpscr)
 
     if (!fop->fn) {
         LOG_CRITICAL(Core_ARM11, "could not find single op %d, inst=0x%x@0x%x", FEXT_TO_IDX(inst), inst, state->Reg[15]);
-        exit(-1);
+        Crash();
         goto invalid;
     }
 

+ 0 - 3
src/core/core.cpp

@@ -2,15 +2,12 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common_types.h"
 #include "common/logging/log.h"
 
 #include "core/core.h"
 #include "core/core_timing.h"
 
-#include "core/settings.h"
 #include "core/arm/arm_interface.h"
-#include "core/arm/disassembler/arm_disasm.h"
 #include "core/arm/dyncom/arm_dyncom.h"
 #include "core/hle/hle.h"
 #include "core/hle/kernel/thread.h"

+ 2 - 2
src/core/core_timing.cpp

@@ -3,12 +3,12 @@
 // Refer to the license.txt file included.
 
 #include <atomic>
-#include <cstdio>
 #include <mutex>
 #include <vector>
 
-#include "common/assert.h"
 #include "common/chunk_file.h"
+#include "common/logging/log.h"
+#include "common/string_util.h"
 
 #include "core/arm/arm_interface.h"
 #include "core/core.h"

+ 2 - 0
src/core/file_sys/archive_backend.cpp

@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstddef>
+#include <iomanip>
 #include <sstream>
 
 #include "common/logging/log.h"

+ 3 - 2
src/core/file_sys/archive_extsavedata.cpp

@@ -2,17 +2,18 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <sys/stat.h>
+#include <algorithm>
+#include <vector>
 
 #include "common/common_types.h"
 #include "common/file_util.h"
 #include "common/logging/log.h"
 #include "common/make_unique.h"
+#include "common/string_util.h"
 
 #include "core/file_sys/archive_extsavedata.h"
 #include "core/file_sys/disk_archive.h"
 #include "core/hle/service/fs/archive.h"
-#include "core/settings.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 5 - 2
src/core/file_sys/archive_extsavedata.h

@@ -4,10 +4,13 @@
 
 #pragma once
 
+#include <memory>
+#include <string>
+
 #include "common/common_types.h"
 
-#include "core/file_sys/disk_archive.h"
-#include "core/loader/loader.h"
+#include "core/file_sys/archive_backend.h"
+#include "core/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 2 - 1
src/core/file_sys/archive_romfs.cpp

@@ -2,14 +2,15 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
 #include <memory>
 
 #include "common/common_types.h"
-#include "common/file_util.h"
 #include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/archive_romfs.h"
+#include "core/file_sys/ivfc_archive.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 3 - 1
src/core/file_sys/archive_romfs.h

@@ -5,11 +5,13 @@
 #pragma once
 
 #include <memory>
+#include <string>
 #include <vector>
 
 #include "common/common_types.h"
 
-#include "core/file_sys/ivfc_archive.h"
+#include "core/file_sys/archive_backend.h"
+#include "core/hle/result.h"
 #include "core/loader/loader.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 2 - 2
src/core/file_sys/archive_savedata.cpp

@@ -2,18 +2,18 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <sys/stat.h>
+#include <algorithm>
 
 #include "common/common_types.h"
 #include "common/file_util.h"
 #include "common/logging/log.h"
 #include "common/make_unique.h"
+#include "common/string_util.h"
 
 #include "core/file_sys/archive_savedata.h"
 #include "core/file_sys/disk_archive.h"
 #include "core/hle/kernel/process.h"
 #include "core/hle/service/fs/archive.h"
-#include "core/settings.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 4 - 3
src/core/file_sys/archive_savedata.h

@@ -4,10 +4,11 @@
 
 #pragma once
 
-#include "common/common_types.h"
+#include <memory>
+#include <string>
 
-#include "core/file_sys/disk_archive.h"
-#include "core/loader/loader.h"
+#include "core/file_sys/archive_backend.h"
+#include "core/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 6 - 0
src/core/file_sys/archive_savedatacheck.cpp

@@ -2,11 +2,17 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
+#include <vector>
+
+#include "common/common_types.h"
 #include "common/file_util.h"
 #include "common/logging/log.h"
 #include "common/make_unique.h"
+#include "common/string_util.h"
 
 #include "core/file_sys/archive_savedatacheck.h"
+#include "core/file_sys/ivfc_archive.h"
 #include "core/hle/service/fs/archive.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 4 - 5
src/core/file_sys/archive_savedatacheck.h

@@ -4,12 +4,11 @@
 
 #pragma once
 
-#include <vector>
+#include <memory>
+#include <string>
 
-#include "common/common_types.h"
-
-#include "core/file_sys/ivfc_archive.h"
-#include "core/loader/loader.h"
+#include "core/file_sys/archive_backend.h"
+#include "core/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 1 - 2
src/core/file_sys/archive_sdmc.cpp

@@ -2,9 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <sys/stat.h>
+#include <algorithm>
 
-#include "common/common_types.h"
 #include "common/file_util.h"
 #include "common/logging/log.h"
 #include "common/make_unique.h"

+ 4 - 3
src/core/file_sys/archive_sdmc.h

@@ -4,10 +4,11 @@
 
 #pragma once
 
-#include "common/common_types.h"
+#include <memory>
+#include <string>
 
-#include "core/file_sys/disk_archive.h"
-#include "core/loader/loader.h"
+#include "core/file_sys/archive_backend.h"
+#include "core/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 4 - 2
src/core/file_sys/archive_systemsavedata.cpp

@@ -2,15 +2,17 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <sys/stat.h>
+#include <algorithm>
+#include <vector>
 
 #include "common/common_types.h"
 #include "common/file_util.h"
 #include "common/make_unique.h"
+#include "common/string_util.h"
 
 #include "core/file_sys/archive_systemsavedata.h"
+#include "core/file_sys/disk_archive.h"
 #include "core/hle/service/fs/archive.h"
-#include "core/settings.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 5 - 2
src/core/file_sys/archive_systemsavedata.h

@@ -4,10 +4,13 @@
 
 #pragma once
 
+#include <memory>
+#include <string>
+
 #include "common/common_types.h"
 
-#include "core/file_sys/disk_archive.h"
-#include "core/loader/loader.h"
+#include "core/file_sys/archive_backend.h"
+#include "core/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 2 - 2
src/core/file_sys/disk_archive.cpp

@@ -2,7 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <sys/stat.h>
+#include <algorithm>
+#include <cstdio>
 
 #include "common/common_types.h"
 #include "common/file_util.h"
@@ -10,7 +11,6 @@
 #include "common/make_unique.h"
 
 #include "core/file_sys/disk_archive.h"
-#include "core/settings.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 6 - 1
src/core/file_sys/disk_archive.h

@@ -4,13 +4,18 @@
 
 #pragma once
 
+#include <cstddef>
+#include <memory>
+#include <string>
+#include <vector>
+
 #include "common/common_types.h"
 #include "common/file_util.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/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 2 - 0
src/core/file_sys/file_backend.h

@@ -4,6 +4,8 @@
 
 #pragma once
 
+#include <cstddef>
+
 #include "common/common_types.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 1 - 1
src/core/file_sys/ivfc_archive.cpp

@@ -2,10 +2,10 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstring>
 #include <memory>
 
 #include "common/common_types.h"
-#include "common/file_util.h"
 #include "common/logging/log.h"
 #include "common/make_unique.h"
 

+ 3 - 1
src/core/file_sys/ivfc_archive.h

@@ -4,7 +4,9 @@
 
 #pragma once
 
+#include <cstddef>
 #include <memory>
+#include <string>
 #include <vector>
 
 #include "common/common_types.h"
@@ -12,7 +14,7 @@
 #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/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // FileSys namespace

+ 0 - 1
src/core/hle/hle.cpp

@@ -10,7 +10,6 @@
 #include "core/hle/hle.h"
 #include "core/hle/config_mem.h"
 #include "core/hle/shared_page.h"
-#include "core/hle/kernel/thread.h"
 #include "core/hle/service/service.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 0 - 2
src/core/hle/kernel/kernel.cpp

@@ -7,8 +7,6 @@
 #include "common/assert.h"
 #include "common/logging/log.h"
 
-#include "core/arm/arm_interface.h"
-#include "core/core.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/resource_limit.h"
 #include "core/hle/kernel/process.h"

+ 3 - 4
src/core/hle/kernel/kernel.h

@@ -4,10 +4,11 @@
 
 #pragma once
 
-#include <boost/intrusive_ptr.hpp>
+#include <boost/smart_ptr/intrusive_ptr.hpp>
 
+#include <algorithm>
 #include <array>
-#include <memory>
+#include <cstddef>
 #include <string>
 #include <vector>
 
@@ -16,8 +17,6 @@
 #include "core/hle/hle.h"
 #include "core/hle/result.h"
 
-struct ApplicationInfo;
-
 namespace Kernel {
 
 class Thread;

+ 2 - 1
src/core/hle/kernel/process.h

@@ -5,6 +5,8 @@
 #pragma once
 
 #include <bitset>
+#include <cstddef>
+#include <string>
 
 #include <boost/container/static_vector.hpp>
 
@@ -12,7 +14,6 @@
 #include "common/common_types.h"
 
 #include "core/hle/kernel/kernel.h"
-#include "core/hle/result.h"
 
 namespace Kernel {
 

+ 6 - 0
src/core/hle/kernel/session.h

@@ -4,8 +4,14 @@
 
 #pragma once
 
+#include <string>
+
+#include "common/assert.h"
+#include "common/common_types.h"
+
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/thread.h"
+#include "core/hle/result.h"
 #include "core/memory.h"
 
 namespace IPC {

+ 1 - 0
src/core/hle/kernel/thread.h

@@ -13,6 +13,7 @@
 
 #include "core/core.h"
 
+#include "core/hle/hle.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/result.h"
 

+ 2 - 0
src/core/hle/kernel/vm_manager.cpp

@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <iterator>
+
 #include "common/assert.h"
 
 #include "core/hle/kernel/vm_manager.h"

+ 0 - 1
src/core/hle/kernel/vm_manager.h

@@ -6,7 +6,6 @@
 
 #include <map>
 #include <memory>
-#include <string>
 #include <vector>
 
 #include "common/common_types.h"

+ 1 - 1
src/core/hle/result.h

@@ -4,7 +4,7 @@
 
 #pragma once
 
-#include <cstddef>
+#include <new>
 #include <type_traits>
 #include <utility>
 

+ 2 - 0
src/core/hle/service/dsp_dsp.h

@@ -4,6 +4,8 @@
 
 #pragma once
 
+#include <string>
+
 #include "core/hle/service/service.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 8 - 2
src/core/hle/service/fs/archive.cpp

@@ -2,29 +2,35 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstddef>
+#include <system_error>
+#include <type_traits>
 #include <memory>
 #include <unordered_map>
+#include <utility>
 
 #include <boost/container/flat_map.hpp>
 
+#include "common/assert.h"
 #include "common/common_types.h"
 #include "common/file_util.h"
 #include "common/logging/log.h"
 #include "common/make_unique.h"
-#include "common/math_util.h"
 
 #include "core/file_sys/archive_backend.h"
 #include "core/file_sys/archive_extsavedata.h"
-#include "core/file_sys/archive_romfs.h"
 #include "core/file_sys/archive_savedata.h"
 #include "core/file_sys/archive_savedatacheck.h"
 #include "core/file_sys/archive_sdmc.h"
 #include "core/file_sys/archive_systemsavedata.h"
 #include "core/file_sys/directory_backend.h"
+#include "core/file_sys/file_backend.h"
+#include "core/hle/hle.h"
 #include "core/hle/service/service.h"
 #include "core/hle/service/fs/archive.h"
 #include "core/hle/service/fs/fs_user.h"
 #include "core/hle/result.h"
+#include "core/memory.h"
 
 // Specializes std::hash for ArchiveIdCode, so that we can use it in std::unordered_map.
 // Workaroung for libstdc++ bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60970

+ 8 - 5
src/core/hle/service/fs/archive.h

@@ -4,22 +4,25 @@
 
 #pragma once
 
+#include <memory>
+#include <string>
+
 #include "common/common_types.h"
 
 #include "core/file_sys/archive_backend.h"
-#include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/session.h"
 #include "core/hle/result.h"
 
+namespace FileSys {
+class DirectoryBackend;
+class FileBackend;
+}
+
 /// The unique system identifier hash, also known as ID0
 extern const std::string SYSTEM_ID;
 /// The scrambled SD card CID, also known as ID1
 extern const std::string SDCARD_ID;
 
-namespace Kernel {
-    class Session;
-}
-
 namespace Service {
 namespace FS {
 

+ 3 - 1
src/core/hle/service/gsp_gpu.cpp

@@ -9,14 +9,16 @@
 #include "core/hle/kernel/event.h"
 #include "core/hle/kernel/shared_memory.h"
 #include "core/hle/result.h"
-#include "gsp_gpu.h"
 #include "core/hw/hw.h"
 #include "core/hw/gpu.h"
 #include "core/hw/lcd.h"
 
 #include "video_core/gpu_debugger.h"
+#include "video_core/renderer_base.h"
 #include "video_core/video_core.h"
 
+#include "gsp_gpu.h"
+
 // Main graphics debugger object - TODO: Here is probably not the best place for this
 GraphicsDebugger g_debugger;
 

+ 3 - 0
src/core/hle/service/gsp_gpu.h

@@ -5,8 +5,11 @@
 #pragma once
 
 #include <cstddef>
+#include <string>
 
 #include "common/bit_field.h"
+#include "common/common_types.h"
+
 #include "core/hle/service/service.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 1 - 0
src/core/hle/service/hid/hid.cpp

@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "common/logging/log.h"
+#include "common/emu_window.h"
 
 #include "core/hle/service/service.h"
 #include "core/hle/service/hid/hid.h"

+ 9 - 7
src/core/hle/service/hid/hid.h

@@ -6,16 +6,18 @@
 
 #include <array>
 
-#include "core/hle/kernel/kernel.h"
-#include "core/hle/service/service.h"
-#include "common/bit_field.h"
+#ifndef _MSC_VER
+#include <cstddef>
+#endif
 
-namespace Kernel {
-    class SharedMemory;
-    class Event;
-}
+#include "common/bit_field.h"
+#include "common/common_funcs.h"
+#include "common/common_types.h"
 
 namespace Service {
+
+class Interface;
+
 namespace HID {
 
 /**

+ 2 - 1
src/core/hle/service/service.h

@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include <cstddef>
 #include <string>
 #include <unordered_map>
 
@@ -11,8 +12,8 @@
 
 #include "common/common_types.h"
 
-#include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/session.h"
+#include "core/hle/result.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Namespace Service

+ 41 - 34
src/core/hle/service/soc_u.cpp

@@ -2,40 +2,47 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
+#include <cstring>
+#include <unordered_map>
+
+#include "common/assert.h"
+#include "common/bit_field.h"
+#include "common/common_types.h"
 #include "common/logging/log.h"
-#include "common/platform.h"
-
-#if EMU_PLATFORM == PLATFORM_WINDOWS
-#include <winsock2.h>
-#include <ws2tcpip.h>
-
-// MinGW does not define several errno constants
-#ifndef _MSC_VER
-#define EBADMSG 104
-#define ENODATA 120
-#define ENOMSG  122
-#define ENOSR   124
-#define ENOSTR  125
-#define ETIME   137
-#define EIDRM   2001
-#define ENOLINK 2002
-#endif // _MSC_VER
+#include "common/scope_exit.h"
 
+#include "core/hle/kernel/session.h"
+#include "core/hle/result.h"
+#include "core/hle/service/soc_u.h"
+#include "core/memory.h"
+
+#ifdef _WIN32
+    #include <winsock2.h>
+    #include <ws2tcpip.h>
+
+    // MinGW does not define several errno constants
+    #ifndef _MSC_VER
+        #define EBADMSG 104
+        #define ENODATA 120
+        #define ENOMSG  122
+        #define ENOSR   124
+        #define ENOSTR  125
+        #define ETIME   137
+        #define EIDRM   2001
+        #define ENOLINK 2002
+    #endif // _MSC_VER
 #else
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <fcntl.h>
-#include <poll.h>
+    #include <cerrno>
+    #include <fcntl.h>
+    #include <netinet/in.h>
+    #include <netdb.h>
+    #include <poll.h>
+    #include <sys/socket.h>
+    #include <unistd.h>
 #endif
 
-#include "common/scope_exit.h"
-#include "core/hle/hle.h"
-#include "core/hle/service/soc_u.h"
-#include <unordered_map>
-
-#if EMU_PLATFORM == PLATFORM_WINDOWS
+#ifdef _WIN32
 #    define WSAEAGAIN      WSAEWOULDBLOCK
 #    define WSAEMULTIHOP   -1 // Invalid dummy value
 #    define ERRNO(x)       WSA##x
@@ -371,7 +378,7 @@ static void Fcntl(Service::Interface* self) {
     });
 
     if (ctr_cmd == 3) { // F_GETFL
-#if EMU_PLATFORM == PLATFORM_WINDOWS
+#ifdef _WIN32
         posix_ret = 0;
         auto iter = open_sockets.find(socket_handle);
         if (iter != open_sockets.end() && iter->second.blocking == false)
@@ -388,7 +395,7 @@ static void Fcntl(Service::Interface* self) {
             posix_ret |= 4; // O_NONBLOCK
 #endif
     } else if (ctr_cmd == 4) { // F_SETFL
-#if EMU_PLATFORM == PLATFORM_WINDOWS
+#ifdef _WIN32
         unsigned long tmp = (ctr_arg & 4 /* O_NONBLOCK */) ? 1 : 0;
         int ret = ioctlsocket(socket_handle, FIONBIO, &tmp);
         if (ret == SOCKET_ERROR_VALUE) {
@@ -682,7 +689,7 @@ static void Connect(Service::Interface* self) {
 
 static void InitializeSockets(Service::Interface* self) {
     // TODO(Subv): Implement
-#if EMU_PLATFORM == PLATFORM_WINDOWS
+#ifdef _WIN32
     WSADATA data;
     WSAStartup(MAKEWORD(2, 2), &data);
 #endif
@@ -696,7 +703,7 @@ static void ShutdownSockets(Service::Interface* self) {
     // TODO(Subv): Implement
     CleanupSockets();
 
-#if EMU_PLATFORM == PLATFORM_WINDOWS
+#ifdef _WIN32
     WSACleanup();
 #endif
 
@@ -747,7 +754,7 @@ Interface::Interface() {
 
 Interface::~Interface() {
     CleanupSockets();
-#if EMU_PLATFORM == PLATFORM_WINDOWS
+#ifdef _WIN32
     WSACleanup();
 #endif
 }

+ 2 - 0
src/core/hle/service/soc_u.h

@@ -4,6 +4,8 @@
 
 #pragma once
 
+#include <string>
+
 #include "core/hle/service/service.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 1 - 0
src/core/hle/service/y2r_u.cpp

@@ -12,6 +12,7 @@
 #include "core/hw/y2r.h"
 #include "core/mem_map.h"
 
+#include "video_core/renderer_base.h"
 #include "video_core/utils.h"
 #include "video_core/video_core.h"
 

+ 2 - 0
src/core/hle/service/y2r_u.h

@@ -5,9 +5,11 @@
 #pragma once
 
 #include <array>
+#include <string>
 
 #include "common/common_types.h"
 
+#include "core/hle/result.h"
 #include "core/hle/service/service.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 0 - 6
src/core/hle/shared_page.cpp

@@ -4,12 +4,6 @@
 
 #include <cstring>
 
-#include "common/common_types.h"
-#include "common/common_funcs.h"
-
-#include "core/core.h"
-#include "core/memory.h"
-#include "core/hle/config_mem.h"
 #include "core/hle/shared_page.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 3 - 0
src/core/hle/shared_page.h

@@ -10,9 +10,12 @@
  * write access, according to 3dbrew; this is not emulated)
  */
 
+#include "common/common_funcs.h"
 #include "common/common_types.h"
 #include "common/swap.h"
 
+#include "core/memory.h"
+
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace SharedPage {

+ 7 - 4
src/core/hw/gpu.cpp

@@ -2,17 +2,18 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstring>
+#include <type_traits>
+
 #include "common/color.h"
 #include "common/common_types.h"
-
-#include "core/arm/arm_interface.h"
+#include "common/logging/log.h"
+#include "common/vector_math.h"
 
 #include "core/settings.h"
-#include "core/core.h"
 #include "core/memory.h"
 #include "core/core_timing.h"
 
-#include "core/hle/hle.h"
 #include "core/hle/service/gsp_gpu.h"
 #include "core/hle/service/dsp_dsp.h"
 #include "core/hle/service/hid/hid.h"
@@ -21,6 +22,8 @@
 #include "core/hw/gpu.h"
 
 #include "video_core/command_processor.h"
+#include "video_core/hwrasterizer_base.h"
+#include "video_core/renderer_base.h"
 #include "video_core/utils.h"
 #include "video_core/video_core.h"
 

+ 1 - 0
src/core/hw/gpu.h

@@ -5,6 +5,7 @@
 #pragma once
 
 #include <cstddef>
+#include <type_traits>
 
 #include "common/assert.h"
 #include "common/bit_field.h"

+ 0 - 2
src/core/hw/lcd.cpp

@@ -7,8 +7,6 @@
 #include "common/common_types.h"
 #include "common/logging/log.h"
 
-#include "core/arm/arm_interface.h"
-#include "core/hle/hle.h"
 #include "core/hw/hw.h"
 #include "core/hw/lcd.h"
 

+ 1 - 0
src/core/hw/lcd.h

@@ -5,6 +5,7 @@
 #pragma once
 
 #include <cstddef>
+#include <type_traits>
 
 #include "common/bit_field.h"
 #include "common/common_funcs.h"

+ 3 - 1
src/core/hw/y2r.cpp

@@ -2,8 +2,10 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <algorithm>
 #include <array>
-#include <numeric>
+#include <cstddef>
+#include <memory>
 
 #include "common/assert.h"
 #include "common/color.h"

+ 2 - 1
src/core/loader/elf.cpp

@@ -2,6 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstring>
 #include <string>
 #include <memory>
 
@@ -10,7 +11,7 @@
 #include "common/logging/log.h"
 #include "common/symbols.h"
 
-#include "core/hle/kernel/kernel.h"
+#include "core/hle/kernel/process.h"
 #include "core/hle/kernel/resource_limit.h"
 #include "core/loader/elf.h"
 #include "core/memory.h"

+ 2 - 0
src/core/loader/loader.cpp

@@ -2,10 +2,12 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <memory>
 #include <string>
 
 #include "common/logging/log.h"
 #include "common/make_unique.h"
+#include "common/string_util.h"
 
 #include "core/file_sys/archive_romfs.h"
 #include "core/hle/kernel/process.h"

+ 7 - 1
src/core/loader/loader.h

@@ -4,12 +4,18 @@
 
 #pragma once
 
+#include <algorithm>
+#include <initializer_list>
+#include <memory>
+#include <string>
 #include <vector>
 
 #include "common/common_types.h"
 #include "common/file_util.h"
 
-#include "core/hle/kernel/process.h"
+namespace Kernel {
+struct AddressMapping;
+}
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Loader namespace

+ 2 - 1
src/core/loader/ncch.cpp

@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include <algorithm>
+#include <cstring>
 #include <memory>
 
 #include "common/logging/log.h"
@@ -10,7 +11,7 @@
 #include "common/string_util.h"
 #include "common/swap.h"
 
-#include "core/hle/kernel/kernel.h"
+#include "core/hle/kernel/process.h"
 #include "core/hle/kernel/resource_limit.h"
 #include "core/loader/ncch.h"
 #include "core/memory.h"

+ 3 - 2
src/core/mem_map.cpp

@@ -3,13 +3,14 @@
 // Refer to the license.txt file included.
 
 #include <map>
+#include <memory>
+#include <utility>
+#include <vector>
 
 #include "common/common_types.h"
 #include "common/logging/log.h"
 
 #include "core/hle/config_mem.h"
-#include "core/hle/kernel/kernel.h"
-#include "core/hle/kernel/shared_memory.h"
 #include "core/hle/kernel/vm_manager.h"
 #include "core/hle/result.h"
 #include "core/hle/shared_page.h"

+ 0 - 3
src/core/memory.cpp

@@ -9,9 +9,6 @@
 #include "common/logging/log.h"
 #include "common/swap.h"
 
-#include "core/hle/config_mem.h"
-#include "core/hle/shared_page.h"
-#include "core/hw/hw.h"
 #include "core/mem_map.h"
 #include "core/memory.h"
 #include "core/memory_setup.h"

+ 2 - 0
src/core/memory.h

@@ -4,6 +4,8 @@
 
 #pragma once
 
+#include <cstddef>
+
 #include "common/common_types.h"
 
 namespace Memory {

+ 7 - 5
src/video_core/command_processor.cpp

@@ -6,18 +6,20 @@
 
 #include "common/profiler.h"
 
+#include "core/hle/service/gsp_gpu.h"
+#include "core/hw/gpu.h"
+#include "core/settings.h"
+
+#include "debug_utils/debug_utils.h"
+
 #include "clipper.h"
 #include "command_processor.h"
 #include "math.h"
 #include "pica.h"
 #include "primitive_assembly.h"
+#include "renderer_base.h"
 #include "vertex_shader.h"
 #include "video_core.h"
-#include "core/hle/service/gsp_gpu.h"
-#include "core/hw/gpu.h"
-#include "core/settings.h"
-
-#include "debug_utils/debug_utils.h"
 
 namespace Pica {
 

+ 2 - 2
src/video_core/command_processor.h

@@ -4,11 +4,11 @@
 
 #pragma once
 
+#include <type_traits>
+
 #include "common/bit_field.h"
 #include "common/common_types.h"
 
-#include "pica.h"
-
 namespace Pica {
 
 namespace CommandProcessor {

+ 1 - 0
src/video_core/debug_utils/debug_utils.cpp

@@ -23,6 +23,7 @@
 #include "common/vector_math.h"
 
 #include "video_core/pica.h"
+#include "video_core/renderer_base.h"
 #include "video_core/utils.h"
 #include "video_core/video_core.h"
 

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů