(view as text)
diff --git a/Source/Core/Common/Atomic.h b/Source/Core/Common/Atomic.h
index 88e38ed..c76dcb7 100644
--- a/Source/Core/Common/Atomic.h
+++ b/Source/Core/Common/Atomic.h
@@ -6,11 +6,11 @@
#ifdef _WIN32
-#include "Common/Atomic_Win32.h"
+#include "Common/Atomic_Win32.h" // IWYU pragma: export
#else
// GCC-compatible compiler assumed!
-#include "Common/Atomic_GCC.h"
+#include "Common/Atomic_GCC.h" // IWYU pragma: export
#endif
diff --git a/Source/Core/Common/Atomic_GCC.h b/Source/Core/Common/Atomic_GCC.h
index b6aef1a..f066280 100644
--- a/Source/Core/Common/Atomic_GCC.h
+++ b/Source/Core/Common/Atomic_GCC.h
@@ -2,6 +2,8 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+// IWYU pragma: private, include "Common/Atomic.h"
+
#pragma once
#include "Common/Common.h"
diff --git a/Source/Core/Common/Atomic_Win32.h b/Source/Core/Common/Atomic_Win32.h
index 2615d94..dcc8585 100644
--- a/Source/Core/Common/Atomic_Win32.h
+++ b/Source/Core/Common/Atomic_Win32.h
@@ -2,6 +2,8 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+// IWYU pragma: private, include "Common/Atomic.h"
+
#pragma once
#include <intrin.h>
diff --git a/Source/Core/Common/BreakPoints.cpp b/Source/Core/Common/BreakPoints.cpp
index 326f4df..efafabc 100644
--- a/Source/Core/Common/BreakPoints.cpp
+++ b/Source/Core/Common/BreakPoints.cpp
@@ -3,11 +3,14 @@
// Refer to the license.txt file included.
#include <sstream>
+#include <string>
+#include <vector>
#include "Common/BreakPoints.h"
#include "Common/Common.h"
#include "Common/DebugInterface.h"
#include "Core/PowerPC/JitCommon/JitBase.h"
+#include "Core/PowerPC/JitCommon/JitCache.h"
bool BreakPoints::IsAddressBreakPoint(u32 _iAddress)
{
diff --git a/Source/Core/Common/CDUtils.cpp b/Source/Core/Common/CDUtils.cpp
index 156b758..4adcf7c 100644
--- a/Source/Core/Common/CDUtils.cpp
+++ b/Source/Core/Common/CDUtils.cpp
@@ -1,6 +1,9 @@
// Most of the code in this file was shamelessly ripped from libcdio With minor adjustments
-#include <memory> // for std::unique_ptr
+#include <algorithm>
+#include <cstdlib>
+#include <string>
+#include <vector>
#include "Common/CDUtils.h"
#include "Common/Common.h"
@@ -19,6 +22,7 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
+#include <unistd.h>
#endif // WIN32
#ifdef __linux__
diff --git a/Source/Core/Common/ChunkFile.h b/Source/Core/Common/ChunkFile.h
index fe33d6c..bc9da61 100644
--- a/Source/Core/Common/ChunkFile.h
+++ b/Source/Core/Common/ChunkFile.h
@@ -13,12 +13,14 @@
// - Zero backwards/forwards compatibility
// - Serialization code for anything complex has to be manually written.
+#include <cstddef>
#include <deque>
#include <list>
#include <map>
#include <set>
#include <string>
#include <type_traits>
+#include <utility>
#include <vector>
#include "Common/Common.h"
diff --git a/Source/Core/Common/Common.h b/Source/Core/Common/Common.h
index b5d78ba..7d9362e 100644
--- a/Source/Core/Common/Common.h
+++ b/Source/Core/Common/Common.h
@@ -168,7 +168,7 @@ enum EMUSTATE_CHANGE
EMUSTATE_CHANGE_STOP
};
-#include "Common/CommonTypes.h"
-#include "Common/CommonFuncs.h" // NOLINT: needs to be included after CommonTypes
-#include "Common/Log.h"
-#include "Common/MsgHandler.h"
+#include "Common/CommonTypes.h" // IWYU pragma: export
+#include "Common/CommonFuncs.h" // IWYU pragma: export // NOLINT
+#include "Common/Log.h" // IWYU pragma: export
+#include "Common/MsgHandler.h" // IWYU pragma: export
diff --git a/Source/Core/Common/CommonPaths.h b/Source/Core/Common/CommonPaths.h
index dc05b92..c9acf5d 100644
--- a/Source/Core/Common/CommonPaths.h
+++ b/Source/Core/Common/CommonPaths.h
@@ -4,9 +4,6 @@
#pragma once
-// Make sure we pick up USER_DIR if set in config.h
-#include "Common/Common.h"
-
// Directory seperators, do we need this?
#define DIR_SEP "/"
#define DIR_SEP_CHR '/'
diff --git a/Source/Core/Common/CommonTypes.h b/Source/Core/Common/CommonTypes.h
index 6ec7045..530ade2 100644
--- a/Source/Core/Common/CommonTypes.h
+++ b/Source/Core/Common/CommonTypes.h
@@ -9,7 +9,6 @@
#pragma once
-#include <cstddef>
#include <cstdint>
#ifdef _WIN32
diff --git a/Source/Core/Common/DebugInterface.h b/Source/Core/Common/DebugInterface.h
index b1df414..b90dd46 100644
--- a/Source/Core/Common/DebugInterface.h
+++ b/Source/Core/Common/DebugInterface.h
@@ -1,5 +1,6 @@
#pragma once
+#include <cstring>
#include <string>
class DebugInterface
diff --git a/Source/Core/Common/FifoQueue.h b/Source/Core/Common/FifoQueue.h
index b6e237a..168b28e 100644
--- a/Source/Core/Common/FifoQueue.h
+++ b/Source/Core/Common/FifoQueue.h
@@ -3,7 +3,11 @@
// a simple lockless thread-safe,
// single reader, single writer queue
+#include <algorithm>
+#include <cstddef>
+
#include "Common/Atomic.h"
+#include "Common/CommonTypes.h"
namespace Common
{
diff --git a/Source/Core/Common/FileSearch.cpp b/Source/Core/Common/FileSearch.cpp
index 4cecb2b..2fe3604 100644
--- a/Source/Core/Common/FileSearch.cpp
+++ b/Source/Core/Common/FileSearch.cpp
@@ -3,14 +3,13 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstring>
-#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/FileSearch.h"
#include "Common/StringUtil.h"
#ifndef _WIN32
-#include <sys/types.h>
#include <dirent.h>
#else
#include <windows.h>
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp
index 561435f..4342993 100644
--- a/Source/Core/Common/FileUtil.cpp
+++ b/Source/Core/Common/FileUtil.cpp
@@ -3,9 +3,17 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
#include <fcntl.h>
+#include <limits.h>
+#include <string>
+#include <unistd.h>
+#include <vector>
#include <sys/stat.h>
+#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/FileUtil.h"
@@ -21,8 +29,6 @@
#include <errno.h>
#include <libgen.h>
#include <stdlib.h>
-#include <sys/param.h>
-#include <sys/types.h>
#endif
#if defined(__APPLE__)
diff --git a/Source/Core/Common/FileUtil.h b/Source/Core/Common/FileUtil.h
index 1b49d4d..460e288 100644
--- a/Source/Core/Common/FileUtil.h
+++ b/Source/Core/Common/FileUtil.h
@@ -4,14 +4,13 @@
#pragma once
+#include <cstddef>
#include <cstdio>
#include <fstream>
#include <string>
-#include <string.h>
#include <vector>
#include "Common/Common.h"
-#include "Common/StringUtil.h"
// User directory indices for GetUserPath
enum {
diff --git a/Source/Core/Common/FixedSizeQueue.h b/Source/Core/Common/FixedSizeQueue.h
index b6b9b0a..36cb9b1 100644
--- a/Source/Core/Common/FixedSizeQueue.h
+++ b/Source/Core/Common/FixedSizeQueue.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstddef>
+
// STL-look-a-like interface, but name is mixed case to distinguish it clearly from the
// real STL classes.
diff --git a/Source/Core/Common/GenericFPURoundMode.cpp b/Source/Core/Common/GenericFPURoundMode.cpp
index c8e70a4..548e029 100644
--- a/Source/Core/Common/GenericFPURoundMode.cpp
+++ b/Source/Core/Common/GenericFPURoundMode.cpp
@@ -15,7 +15,8 @@
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
-#include "FPURoundMode.h"
+#include "Common/CommonTypes.h"
+#include "Common/FPURoundMode.h"
// Generic, do nothing
namespace FPURoundMode
diff --git a/Source/Core/Common/Hash.h b/Source/Core/Common/Hash.h
index a27a1c7..868ccad 100644
--- a/Source/Core/Common/Hash.h
+++ b/Source/Core/Common/Hash.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstddef>
+
#include "Common/Common.h"
u32 HashFletcher(const u8* data_u8, size_t length); // FAST. Length & 1 == 0.
diff --git a/Source/Core/Common/IniFile.cpp b/Source/Core/Common/IniFile.cpp
index 8430f01..0637342 100644
--- a/Source/Core/Common/IniFile.cpp
+++ b/Source/Core/Common/IniFile.cpp
@@ -6,13 +6,15 @@
// see IniFile.h
#include <algorithm>
-#include <cstdio>
-#include <cstdlib>
+#include <cstddef>
+#include <cstring>
#include <fstream>
-#include <iostream>
+#include <map>
#include <string>
+#include <utility>
#include <vector>
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "Common/IniFile.h"
#include "Common/StringUtil.h"
diff --git a/Source/Core/Common/IniFile.h b/Source/Core/Common/IniFile.h
index c057b32..7db66e4 100644
--- a/Source/Core/Common/IniFile.h
+++ b/Source/Core/Common/IniFile.h
@@ -4,11 +4,12 @@
#pragma once
+#include <cstring>
#include <map>
-#include <set>
#include <string>
#include <vector>
+#include "Common/CommonTypes.h"
#include "Common/StringUtil.h"
struct CaseInsensitiveStringCompare
diff --git a/Source/Core/Common/LinearDiskCache.h b/Source/Core/Common/LinearDiskCache.h
index 20c689d..ea7ee1b 100644
--- a/Source/Core/Common/LinearDiskCache.h
+++ b/Source/Core/Common/LinearDiskCache.h
@@ -4,6 +4,7 @@
#pragma once
+#include <cstring>
#include <fstream>
#include "Common/Common.h"
diff --git a/Source/Core/Common/LogManager.cpp b/Source/Core/Common/LogManager.cpp
index a880b66..860ad49 100644
--- a/Source/Core/Common/LogManager.cpp
+++ b/Source/Core/Common/LogManager.cpp
@@ -2,14 +2,20 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <algorithm>
+#include <cstdarg>
+#include <cstring>
+#include <mutex>
+#include <ostream>
+#include <set>
+#include <string>
#ifdef ANDROID
#include "Core/Host.h"
#endif
#include "Common/FileUtil.h"
+#include "Common/Log.h"
#include "Common/LogManager.h"
-#include "Common/Thread.h"
+#include "Common/StringUtil.h"
#include "Common/Timer.h"
void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
diff --git a/Source/Core/Common/LogManager.h b/Source/Core/Common/LogManager.h
index ffd2e7e..7ca1da3 100644
--- a/Source/Core/Common/LogManager.h
+++ b/Source/Core/Common/LogManager.h
@@ -4,13 +4,12 @@
#pragma once
+#include <cstdarg>
+#include <fstream>
+#include <mutex>
#include <set>
-#include <string.h>
-#include "Common/FileUtil.h"
-#include "Common/Log.h"
-#include "Common/StringUtil.h"
-#include "Common/Thread.h"
+#include "Common/Common.h"
#define MAX_MESSAGES 8000
#define MAX_MSGLEN 1024
diff --git a/Source/Core/Common/MathUtil.cpp b/Source/Core/Common/MathUtil.cpp
index 5b3f870..de56fb6 100644
--- a/Source/Core/Common/MathUtil.cpp
+++ b/Source/Core/Common/MathUtil.cpp
@@ -3,8 +3,10 @@
// Refer to the license.txt file included.
#include <cmath>
+#include <cstring>
#include <numeric>
+#include "Common/CommonTypes.h"
#include "Common/MathUtil.h"
namespace MathUtil
diff --git a/Source/Core/Common/MathUtil.h b/Source/Core/Common/MathUtil.h
index 2cd1d8f..da12822 100644
--- a/Source/Core/Common/MathUtil.h
+++ b/Source/Core/Common/MathUtil.h
@@ -4,10 +4,10 @@
#pragma once
+#include <cstdlib>
#include <vector>
#include "Common/Common.h"
-#include "Common/FPURoundMode.h"
namespace MathUtil
{
diff --git a/Source/Core/Common/MemArena.cpp b/Source/Core/Common/MemArena.cpp
index 4a7c305..e4e68fc 100644
--- a/Source/Core/Common/MemArena.cpp
+++ b/Source/Core/Common/MemArena.cpp
@@ -2,20 +2,23 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdlib>
#include <set>
+#include <string>
+#include "Common/Common.h"
#include "Common/MemArena.h"
-#include "Common/MemoryUtil.h"
#include "Common/StringUtil.h"
#ifdef _WIN32
#include <windows.h>
#else
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
#include <cerrno>
#include <cstring>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/mman.h>
#ifdef ANDROID
#include <sys/ioctl.h>
#include <linux/ashmem.h>
diff --git a/Source/Core/Common/MemArena.h b/Source/Core/Common/MemArena.h
index 59e62c0..a2efafa 100644
--- a/Source/Core/Common/MemArena.h
+++ b/Source/Core/Common/MemArena.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstddef>
+
#ifdef _WIN32
#include <windows.h>
#endif
diff --git a/Source/Core/Common/MemoryUtil.cpp b/Source/Core/Common/MemoryUtil.cpp
index e65f0a1..5b2c9c9 100644
--- a/Source/Core/Common/MemoryUtil.cpp
+++ b/Source/Core/Common/MemoryUtil.cpp
@@ -2,16 +2,17 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdlib>
+#include <string>
+#include <sys/mman.h>
#include "Common/Common.h"
-#include "Common/MemoryUtil.h"
-#include "Common/StringUtil.h"
#ifdef _WIN32
#include <windows.h>
#include <psapi.h>
#else
-#include <errno.h>
#include <stdio.h>
#endif
diff --git a/Source/Core/Common/MemoryUtil.h b/Source/Core/Common/MemoryUtil.h
index 4655c78..6f437fc 100644
--- a/Source/Core/Common/MemoryUtil.h
+++ b/Source/Core/Common/MemoryUtil.h
@@ -4,12 +4,9 @@
#pragma once
+#include <cstddef>
#include <string>
-#ifndef _WIN32
-#include <sys/mman.h>
-#endif
-
void* AllocateExecutableMemory(size_t size, bool low = true);
void* AllocateMemoryPages(size_t size);
void FreeMemoryPages(void* ptr, size_t size);
diff --git a/Source/Core/Common/Misc.cpp b/Source/Core/Common/Misc.cpp
index 71a140c..fdc1114 100644
--- a/Source/Core/Common/Misc.cpp
+++ b/Source/Core/Common/Misc.cpp
@@ -2,7 +2,9 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/Common.h"
+#include <cstddef>
+#include <cstring>
+#include <errno.h>
// Neither Android nor OS X support TLS
#if defined(__APPLE__) || (ANDROID && __clang__)
diff --git a/Source/Core/Common/MsgHandler.cpp b/Source/Core/Common/MsgHandler.cpp
index bbfa10d..cfeb656 100644
--- a/Source/Core/Common/MsgHandler.cpp
+++ b/Source/Core/Common/MsgHandler.cpp
@@ -2,7 +2,9 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstdarg>
#include <cstdio>
+#include <string>
#include "Common/Common.h"
#include "Common/StringUtil.h"
diff --git a/Source/Core/Common/NandPaths.cpp b/Source/Core/Common/NandPaths.cpp
index b4e89a5..03b5fa0 100644
--- a/Source/Core/Common/NandPaths.cpp
+++ b/Source/Core/Common/NandPaths.cpp
@@ -2,11 +2,15 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstdio>
#include <fstream>
+#include <string>
+#include <utility>
-#include "Common/CommonPaths.h"
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/NandPaths.h"
+#include "Common/StringUtil.h"
namespace Common
{
diff --git a/Source/Core/Common/NandPaths.h b/Source/Core/Common/NandPaths.h
index cdaf1a7..bf5ebc4 100644
--- a/Source/Core/Common/NandPaths.h
+++ b/Source/Core/Common/NandPaths.h
@@ -5,6 +5,9 @@
#pragma once
#include <string>
+#include <utility>
+#include <vector>
+
#include "Common/CommonTypes.h"
#define TITLEID_SYSMENU 0x0000000100000002ull
diff --git a/Source/Core/Common/SDCardUtil.cpp b/Source/Core/Common/SDCardUtil.cpp
index e73aa26..7f3d21a 100644
--- a/Source/Core/Common/SDCardUtil.cpp
+++ b/Source/Core/Common/SDCardUtil.cpp
@@ -29,12 +29,12 @@
// Modified for Dolphin.
#include <cinttypes>
+#include <cstddef>
#include <cstdio>
-#include <cstdlib>
#include <cstring>
#include <ctime>
-#include <errno.h>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/SDCardUtil.h"
diff --git a/Source/Core/Common/SettingsHandler.cpp b/Source/Core/Common/SettingsHandler.cpp
index b7a7aee..48bc56c 100644
--- a/Source/Core/Common/SettingsHandler.cpp
+++ b/Source/Core/Common/SettingsHandler.cpp
@@ -4,17 +4,19 @@
// Thanks to Treeki for writing the original class - 29/01/2012
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
#include <ctime>
+#include <string>
#ifdef _WIN32
#include <mmsystem.h>
#include <sys/timeb.h>
#include <windows.h>
-#else
-#include <sys/time.h>
#endif
-#include "Common/CommonPaths.h"
+#include "Common/CommonTypes.h"
#include "Common/SettingsHandler.h"
#include "Common/Timer.h"
diff --git a/Source/Core/Common/StdConditionVariable.h b/Source/Core/Common/StdConditionVariable.h
index 2f537d1..810b15c 100644
--- a/Source/Core/Common/StdConditionVariable.h
+++ b/Source/Core/Common/StdConditionVariable.h
@@ -14,7 +14,7 @@
#if GCC_VERSION >= GCC_VER(4,4,0) && __GXX_EXPERIMENTAL_CXX0X__
// GCC 4.4 provides <condition_variable>
-#include <condition_variable>
+#include <condition_variable> // IWYU pragma: export
#elif __has_include(<condition_variable>) && !ANDROID
@@ -23,14 +23,12 @@
//
// We work around this issue by undefining and redefining _.
-#undef _
-#include <condition_variable>
-#define _(s) wxGetTranslation((s))
+#include <condition_variable> // IWYU pragma: export
#elif _MSC_VER >= 1700
// The standard implementation is included since VS2012
-#include <condition_variable>
+#include <condition_variable> // IWYU pragma: export
#else
diff --git a/Source/Core/Common/StdMutex.h b/Source/Core/Common/StdMutex.h
index 365aa7f..904743d 100644
--- a/Source/Core/Common/StdMutex.h
+++ b/Source/Core/Common/StdMutex.h
@@ -13,15 +13,15 @@
#if GCC_VERSION >= GCC_VER(4,4,0) && __GXX_EXPERIMENTAL_CXX0X__
// GCC 4.4 provides <mutex>
-#include <mutex>
+#include <mutex> // IWYU pragma: export
#elif __has_include(<mutex>) && !ANDROID
// Clang + libc++
-#include <mutex>
+#include <mutex> // IWYU pragma: export
#elif _MSC_VER >= 1700
// The standard implementation is included since VS2012
-#include <mutex>
+#include <mutex> // IWYU pragma: export
#else
diff --git a/Source/Core/Common/StdThread.h b/Source/Core/Common/StdThread.h
index 7f02eeb..8b8357f 100644
--- a/Source/Core/Common/StdThread.h
+++ b/Source/Core/Common/StdThread.h
@@ -16,15 +16,15 @@
#ifndef _GLIBCXX_USE_SCHED_YIELD
#define _GLIBCXX_USE_SCHED_YIELD
#endif
-#include <thread>
+#include <thread> // IWYU pragma: export
#elif __has_include(<thread>) && !ANDROID
// Clang + libc++
-#include <thread>
+#include <thread> // IWYU pragma: export
#elif _MSC_VER >= 1700
// The standard implementation is included since VS2012
-#include <thread>
+#include <thread> // IWYU pragma: export
#else
diff --git a/Source/Core/Common/StringUtil.cpp b/Source/Core/Common/StringUtil.cpp
index 3031669..7f7ce5d 100644
--- a/Source/Core/Common/StringUtil.cpp
+++ b/Source/Core/Common/StringUtil.cpp
@@ -3,9 +3,18 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstdarg>
+#include <cstddef>
#include <cstdio>
#include <cstdlib>
-
+#include <cstring>
+#include <iomanip>
+#include <istream>
+#include <limits.h>
+#include <string>
+#include <vector>
+
+#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/StringUtil.h"
diff --git a/Source/Core/Common/StringUtil.h b/Source/Core/Common/StringUtil.h
index 31e20e3..397a289 100644
--- a/Source/Core/Common/StringUtil.h
+++ b/Source/Core/Common/StringUtil.h
@@ -5,6 +5,7 @@
#pragma once
#include <cstdarg>
+#include <cstddef>
#include <iomanip>
#include <sstream>
#include <string>
diff --git a/Source/Core/Common/SymbolDB.cpp b/Source/Core/Common/SymbolDB.cpp
index b44922f..d708df2 100644
--- a/Source/Core/Common/SymbolDB.cpp
+++ b/Source/Core/Common/SymbolDB.cpp
@@ -2,8 +2,13 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/SymbolDB.h"
+#include <cstring>
+#include <map>
+#include <string>
+#include <utility>
+#include "Common/Common.h"
+#include "Common/SymbolDB.h"
void SymbolDB::List()
{
diff --git a/Source/Core/Common/SymbolDB.h b/Source/Core/Common/SymbolDB.h
index 2166531..b30fd32 100644
--- a/Source/Core/Common/SymbolDB.h
+++ b/Source/Core/Common/SymbolDB.h
@@ -9,6 +9,7 @@
#include <map>
#include <string>
+#include <utility>
#include <vector>
#include "Common/Common.h"
diff --git a/Source/Core/Common/SysConf.cpp b/Source/Core/Common/SysConf.cpp
index cb634b2..a352b43 100644
--- a/Source/Core/Common/SysConf.cpp
+++ b/Source/Core/Common/SysConf.cpp
@@ -3,7 +3,12 @@
// Refer to the license.txt file included.
#include <cinttypes>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <vector>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/SysConf.h"
diff --git a/Source/Core/Common/SysConf.h b/Source/Core/Common/SysConf.h
index 0594a9d..3c2f81b 100644
--- a/Source/Core/Common/SysConf.h
+++ b/Source/Core/Common/SysConf.h
@@ -4,6 +4,8 @@
#pragma once
+#include <cstdio>
+#include <cstring>
#include <string>
#include <vector>
diff --git a/Source/Core/Common/Timer.cpp b/Source/Core/Common/Timer.cpp
index 1670e86..b1e52bb 100644
--- a/Source/Core/Common/Timer.cpp
+++ b/Source/Core/Common/Timer.cpp
@@ -4,6 +4,7 @@
#include <cinttypes>
#include <ctime>
+#include <string>
#ifdef _WIN32
#include <mmsystem.h>
@@ -13,6 +14,7 @@
#include <sys/time.h>
#endif
+#include "Common/CommonTypes.h"
#include "Common/StringUtil.h"
#include "Common/Timer.h"
diff --git a/Source/Core/Common/x64ABI.cpp b/Source/Core/Common/x64ABI.cpp
index ce7ce5d..ecbbfa0 100644
--- a/Source/Core/Common/x64ABI.cpp
+++ b/Source/Core/Common/x64ABI.cpp
@@ -2,6 +2,7 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include "Common/Common.h"
#include "Common/x64ABI.h"
#include "Common/x64Emitter.h"
diff --git a/Source/Core/Common/x64ABI.h b/Source/Core/Common/x64ABI.h
index 75ca8fe..ed98419 100644
--- a/Source/Core/Common/x64ABI.h
+++ b/Source/Core/Common/x64ABI.h
@@ -4,7 +4,7 @@
#pragma once
-#include "Common/Common.h"
+#include "Common/x64Emitter.h"
// x86/x64 ABI:s, and helpers to help follow them when JIT-ing code.
// All convensions return values in EAX (+ possibly EDX).
diff --git a/Source/Core/Common/x64CPUDetect.cpp b/Source/Core/Common/x64CPUDetect.cpp
index f9a5160..5ce1775 100644
--- a/Source/Core/Common/x64CPUDetect.cpp
+++ b/Source/Core/Common/x64CPUDetect.cpp
@@ -2,11 +2,11 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <memory>
+#include <cstring>
+#include <string>
#include "Common/Common.h"
#include "Common/CPUDetect.h"
-#include "Common/StringUtil.h"
#ifdef _WIN32
#define _interlockedbittestandset workaround_ms_header_bug_platform_sdk6_set
diff --git a/Source/Core/Common/x64Emitter.cpp b/Source/Core/Common/x64Emitter.cpp
index fa6c42c..a4743e2 100644
--- a/Source/Core/Common/x64Emitter.cpp
+++ b/Source/Core/Common/x64Emitter.cpp
@@ -6,7 +6,6 @@
#include "Common/Common.h"
#include "Common/CPUDetect.h"
-#include "Common/x64ABI.h"
#include "Common/x64Emitter.h"
namespace Gen
diff --git a/Source/Core/Common/x64Emitter.h b/Source/Core/Common/x64Emitter.h
index 52db3c2..43d28eb 100644
--- a/Source/Core/Common/x64Emitter.h
+++ b/Source/Core/Common/x64Emitter.h
@@ -6,6 +6,9 @@
#pragma once
+#include <cstddef>
+#include <cstring>
+
#include "Common/Common.h"
#include "Common/MemoryUtil.h"
diff --git a/Source/Core/Common/x64FPURoundMode.cpp b/Source/Core/Common/x64FPURoundMode.cpp
index ae061cb..f3da4a0 100644
--- a/Source/Core/Common/x64FPURoundMode.cpp
+++ b/Source/Core/Common/x64FPURoundMode.cpp
@@ -4,7 +4,6 @@
#include "Common/Common.h"
#include "Common/CPUDetect.h"
-#include "Common/FPURoundMode.h"
#ifndef _WIN32
static const unsigned short FPU_ROUND_NEAR = 0 << 10;
diff --git a/Source/Core/Core/Boot/Boot_WiiWAD.cpp b/Source/Core/Core/Boot/Boot_WiiWAD.cpp
index 99235c8..68eb396 100644
--- a/Source/Core/Core/Boot/Boot_WiiWAD.cpp
+++ b/Source/Core/Core/Boot/Boot_WiiWAD.cpp
@@ -6,6 +6,7 @@
#include "Common/CommonPaths.h"
#include "Common/FileUtil.h"
+#include "Common/NandPaths.h"
#include "Core/ConfigManager.h"
#include "Core/PatchEngine.h"
diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
index d5888e9..8b46845 100644
--- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
+++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.h
@@ -8,6 +8,7 @@
#include <string>
#include "Common/ChunkFile.h"
+#include "Common/StringUtil.h"
#include "Core/HW/Memmap.h"
diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp
index 4bcccd8..a9e4fd6 100644
--- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp
+++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp
@@ -7,6 +7,7 @@
#include "Common/CommonPaths.h"
#include "Common/FileUtil.h"
+#include "Common/NandPaths.h"
#include "Common/SettingsHandler.h"
#include "Common/StringUtil.h"
diff --git a/Source/Core/Core/PowerPC/PowerPC.cpp b/Source/Core/Core/PowerPC/PowerPC.cpp
index bf03584..324d6cc 100644
--- a/Source/Core/Core/PowerPC/PowerPC.cpp
+++ b/Source/Core/Core/PowerPC/PowerPC.cpp
@@ -5,6 +5,7 @@
#include "Common/Atomic.h"
#include "Common/ChunkFile.h"
#include "Common/Common.h"
+#include "Common/FPURoundMode.h"
#include "Common/MathUtil.h"
#include "Core/Core.h"
diff --git a/Source/Core/DiscIO/BannerLoader.cpp b/Source/Core/DiscIO/BannerLoader.cpp
index d0c59c5..49dfb4b 100644
--- a/Source/Core/DiscIO/BannerLoader.cpp
+++ b/Source/Core/DiscIO/BannerLoader.cpp
@@ -2,16 +2,20 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/FileUtil.h"
+#include <cstddef>
#include "DiscIO/BannerLoader.h"
#include "DiscIO/BannerLoaderGC.h"
#include "DiscIO/BannerLoaderWii.h"
+#include "DiscIO/Filesystem.h"
#include "DiscIO/VolumeCreator.h"
namespace DiscIO
{
+class IBannerLoader;
+class IVolume;
+
IBannerLoader* CreateBannerLoader(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVolume *pVolume)
{
if (IsVolumeWiiDisc(pVolume) || IsVolumeWadFile(pVolume))
diff --git a/Source/Core/DiscIO/BannerLoader.h b/Source/Core/DiscIO/BannerLoader.h
index d291f7f..74ed934 100644
--- a/Source/Core/DiscIO/BannerLoader.h
+++ b/Source/Core/DiscIO/BannerLoader.h
@@ -7,10 +7,14 @@
#include <string>
#include <vector>
-#include "DiscIO/Filesystem.h"
+#include "Common/CommonTypes.h"
namespace DiscIO
{
+
+class IFileSystem;
+class IVolume;
+
class IBannerLoader
{
public:
@@ -33,4 +37,5 @@ class IBannerLoader
};
IBannerLoader* CreateBannerLoader(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVolume *pVolume);
-} // namespace
+
+} // namespace DiscIO
diff --git a/Source/Core/DiscIO/BannerLoaderGC.cpp b/Source/Core/DiscIO/BannerLoaderGC.cpp
index bc6ba34..0133e43 100644
--- a/Source/Core/DiscIO/BannerLoaderGC.cpp
+++ b/Source/Core/DiscIO/BannerLoaderGC.cpp
@@ -2,9 +2,16 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <string>
+#include <vector>
+
#include "Common/ColorUtil.h"
-#include "Common/CommonTypes.h"
+#include "Common/Common.h"
+
#include "DiscIO/BannerLoaderGC.h"
+#include "DiscIO/Filesystem.h"
+#include "DiscIO/Volume.h"
namespace DiscIO
{
diff --git a/Source/Core/DiscIO/BannerLoaderGC.h b/Source/Core/DiscIO/BannerLoaderGC.h
index d4d26d8..a583b3c 100644
--- a/Source/Core/DiscIO/BannerLoaderGC.h
+++ b/Source/Core/DiscIO/BannerLoaderGC.h
@@ -4,13 +4,21 @@
#pragma once
-#include "Common/StringUtil.h"
+#include <cstring>
+#include <string>
+#include <vector>
+
+#include "Common/CommonTypes.h"
#include "DiscIO/BannerLoader.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeGC.h"
namespace DiscIO
{
+
+class IFileSystem;
+
class CBannerLoaderGC
: public IBannerLoader
{
diff --git a/Source/Core/DiscIO/BannerLoaderWii.cpp b/Source/Core/DiscIO/BannerLoaderWii.cpp
index a037a83..3fa9113 100644
--- a/Source/Core/DiscIO/BannerLoaderWii.cpp
+++ b/Source/Core/DiscIO/BannerLoaderWii.cpp
@@ -3,15 +3,19 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstddef>
#include <cstdio>
+#include <string>
+#include <vector>
#include "Common/ColorUtil.h"
+#include "Common/CommonFuncs.h"
#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
+#include "Common/StringUtil.h"
#include "DiscIO/BannerLoaderWii.h"
-#include "DiscIO/FileHandlerARC.h"
-#include "DiscIO/VolumeCreator.h"
+#include "DiscIO/Volume.h"
namespace DiscIO
{
diff --git a/Source/Core/DiscIO/BannerLoaderWii.h b/Source/Core/DiscIO/BannerLoaderWii.h
index 45cbb13..a43084e 100644
--- a/Source/Core/DiscIO/BannerLoaderWii.h
+++ b/Source/Core/DiscIO/BannerLoaderWii.h
@@ -4,10 +4,17 @@
#pragma once
+#include <string>
+#include <vector>
+
+#include "Common/CommonTypes.h"
#include "DiscIO/BannerLoader.h"
namespace DiscIO
{
+
+class IVolume;
+
class CBannerLoaderWii
: public IBannerLoader
{
@@ -60,4 +67,5 @@ class CBannerLoaderWii
bool GetStringFromComments(const CommentIndex index, std::string& s);
};
+
} // namespace
diff --git a/Source/Core/DiscIO/Blob.cpp b/Source/Core/DiscIO/Blob.cpp
index f8a831d..6e00b42 100644
--- a/Source/Core/DiscIO/Blob.cpp
+++ b/Source/Core/DiscIO/Blob.cpp
@@ -2,7 +2,12 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstring>
+#include <string>
+
#include "Common/CDUtils.h"
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "DiscIO/Blob.h"
diff --git a/Source/Core/DiscIO/CISOBlob.cpp b/Source/Core/DiscIO/CISOBlob.cpp
index 4bf97ae..7c56cde 100644
--- a/Source/Core/DiscIO/CISOBlob.cpp
+++ b/Source/Core/DiscIO/CISOBlob.cpp
@@ -3,9 +3,10 @@
// Refer to the license.txt file included.
#include <algorithm>
-#include <cmath>
+#include <cstdio>
-#include "DiscIO/Blob.h"
+#include "Common/CommonTypes.h"
+#include "Common/FileUtil.h"
#include "DiscIO/CISOBlob.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/CISOBlob.h b/Source/Core/DiscIO/CISOBlob.h
index 26f2a84..dd95092 100644
--- a/Source/Core/DiscIO/CISOBlob.h
+++ b/Source/Core/DiscIO/CISOBlob.h
@@ -4,6 +4,9 @@
#pragma once
+#include <cstdio>
+
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "DiscIO/Blob.h"
diff --git a/Source/Core/DiscIO/CompressedBlob.cpp b/Source/Core/DiscIO/CompressedBlob.cpp
index f3dd250..94d56b3 100644
--- a/Source/Core/DiscIO/CompressedBlob.cpp
+++ b/Source/Core/DiscIO/CompressedBlob.cpp
@@ -5,15 +5,19 @@
#ifdef _WIN32
#include <io.h>
#include <windows.h>
-#else
-#include <unistd.h>
#endif
+#include <algorithm>
#include <cinttypes>
+#include <cstdio>
+#include <cstring>
+#include <string>
#include <zlib.h>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/Hash.h"
+#include "DiscIO/Blob.h"
#include "DiscIO/CompressedBlob.h"
#include "DiscIO/DiscScrubber.h"
diff --git a/Source/Core/DiscIO/CompressedBlob.h b/Source/Core/DiscIO/CompressedBlob.h
index a170239..990deb4 100644
--- a/Source/Core/DiscIO/CompressedBlob.h
+++ b/Source/Core/DiscIO/CompressedBlob.h
@@ -16,6 +16,7 @@
#include <string>
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "DiscIO/Blob.h"
diff --git a/Source/Core/DiscIO/DiscScrubber.cpp b/Source/Core/DiscIO/DiscScrubber.cpp
index b127498..8c64dcd 100644
--- a/Source/Core/DiscIO/DiscScrubber.cpp
+++ b/Source/Core/DiscIO/DiscScrubber.cpp
@@ -2,11 +2,18 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <algorithm>
#include <cinttypes>
+#include <cstddef>
+#include <cstdio>
+#include <string>
+#include <vector>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "DiscIO/DiscScrubber.h"
#include "DiscIO/Filesystem.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeCreator.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/DiscScrubber.h b/Source/Core/DiscIO/DiscScrubber.h
index 5b29fda..4a75911 100644
--- a/Source/Core/DiscIO/DiscScrubber.h
+++ b/Source/Core/DiscIO/DiscScrubber.h
@@ -14,8 +14,8 @@
#pragma once
#include "Common/CommonTypes.h"
-#include "DiscIO/Blob.h"
+namespace File { class IOFile; }
namespace DiscIO
{
diff --git a/Source/Core/DiscIO/DriveBlob.cpp b/Source/Core/DiscIO/DriveBlob.cpp
index ad0a72a..54ed7c4 100644
--- a/Source/Core/DiscIO/DriveBlob.cpp
+++ b/Source/Core/DiscIO/DriveBlob.cpp
@@ -2,7 +2,12 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/StringUtil.h"
+#include <cstdio>
+#include <cstring>
+
+#include "Common/Common.h"
+#include "Common/FileUtil.h"
+#include "DiscIO/Blob.h"
#include "DiscIO/DriveBlob.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/DriveBlob.h b/Source/Core/DiscIO/DriveBlob.h
index 1e70859..8baedaf 100644
--- a/Source/Core/DiscIO/DriveBlob.h
+++ b/Source/Core/DiscIO/DriveBlob.h
@@ -4,6 +4,7 @@
#pragma once
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "DiscIO/Blob.h"
diff --git a/Source/Core/DiscIO/FileBlob.h b/Source/Core/DiscIO/FileBlob.h
index cafa074..170cda3 100644
--- a/Source/Core/DiscIO/FileBlob.h
+++ b/Source/Core/DiscIO/FileBlob.h
@@ -4,6 +4,9 @@
#pragma once
+#include <cstdio>
+
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "DiscIO/Blob.h"
diff --git a/Source/Core/DiscIO/FileHandlerARC.cpp b/Source/Core/DiscIO/FileHandlerARC.cpp
index 8e820e6..770d3aa 100644
--- a/Source/Core/DiscIO/FileHandlerARC.cpp
+++ b/Source/Core/DiscIO/FileHandlerARC.cpp
@@ -2,10 +2,16 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
+#include <string>
+
+#include "Common/Common.h"
#include "Common/FileUtil.h"
-#include "Common/StringUtil.h"
#include "DiscIO/Blob.h"
#include "DiscIO/FileHandlerARC.h"
+#include "DiscIO/Filesystem.h"
#define ARC_ID 0x55aa382d
diff --git a/Source/Core/DiscIO/FileHandlerARC.h b/Source/Core/DiscIO/FileHandlerARC.h
index 23ff978..1fccd5f 100644
--- a/Source/Core/DiscIO/FileHandlerARC.h
+++ b/Source/Core/DiscIO/FileHandlerARC.h
@@ -4,6 +4,7 @@
#pragma once
+#include <cstddef>
#include <string>
#include <vector>
diff --git a/Source/Core/DiscIO/FileMonitor.cpp b/Source/Core/DiscIO/FileMonitor.cpp
index bae2f49..94d0189 100644
--- a/Source/Core/DiscIO/FileMonitor.cpp
+++ b/Source/Core/DiscIO/FileMonitor.cpp
@@ -3,18 +3,21 @@
// Refer to the license.txt file included.
#include <algorithm>
-#include <iostream>
+#include <cctype>
+#include <cstring>
#include <string>
#include <vector>
#include "Common/Common.h"
-#include "Common/IniFile.h"
#include "Common/LogManager.h"
+#include "Common/StringUtil.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
+#include "Core/Boot/Boot.h"
-#include "DiscIO/FileSystemGCWii.h"
+#include "DiscIO/Filesystem.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeCreator.h"
namespace FileMon
diff --git a/Source/Core/DiscIO/FileMonitor.h b/Source/Core/DiscIO/FileMonitor.h
index 2ce4af3..f5e92f0 100644
--- a/Source/Core/DiscIO/FileMonitor.h
+++ b/Source/Core/DiscIO/FileMonitor.h
@@ -4,10 +4,9 @@
#pragma once
-#include <iostream> // System: For std
-
-#include "Common/Common.h" // Common: For u64
+#include <string>
+#include "Common/CommonTypes.h"
namespace FileMon
{
diff --git a/Source/Core/DiscIO/FileSystemGCWii.cpp b/Source/Core/DiscIO/FileSystemGCWii.cpp
index 078fb55..6b15454 100644
--- a/Source/Core/DiscIO/FileSystemGCWii.cpp
+++ b/Source/Core/DiscIO/FileSystemGCWii.cpp
@@ -4,6 +4,8 @@
#include <algorithm>
#include <cinttypes>
+#include <cstddef>
+#include <cstring>
#include <string>
#include <vector>
@@ -11,7 +13,9 @@
#include "Common/FileUtil.h"
#include "Common/StringUtil.h"
+#include "DiscIO/Filesystem.h"
#include "DiscIO/FileSystemGCWii.h"
+#include "DiscIO/Volume.h"
namespace DiscIO
{
diff --git a/Source/Core/DiscIO/FileSystemGCWii.h b/Source/Core/DiscIO/FileSystemGCWii.h
index 7444711..1fe934a 100644
--- a/Source/Core/DiscIO/FileSystemGCWii.h
+++ b/Source/Core/DiscIO/FileSystemGCWii.h
@@ -4,13 +4,18 @@
#pragma once
+#include <cstddef>
+#include <string>
#include <vector>
+#include "Common/CommonTypes.h"
#include "DiscIO/Filesystem.h"
namespace DiscIO
{
+class IVolume;
+
class CFileSystemGCWii : public IFileSystem
{
public:
diff --git a/Source/Core/DiscIO/Filesystem.cpp b/Source/Core/DiscIO/Filesystem.cpp
index fc07bae..7cbfa9c 100644
--- a/Source/Core/DiscIO/Filesystem.cpp
+++ b/Source/Core/DiscIO/Filesystem.cpp
@@ -4,7 +4,6 @@
#include "DiscIO/Filesystem.h"
#include "DiscIO/FileSystemGCWii.h"
-#include "DiscIO/VolumeCreator.h"
namespace DiscIO
{
diff --git a/Source/Core/DiscIO/Filesystem.h b/Source/Core/DiscIO/Filesystem.h
index b67f0d4..af51c4c 100644
--- a/Source/Core/DiscIO/Filesystem.h
+++ b/Source/Core/DiscIO/Filesystem.h
@@ -4,11 +4,17 @@
#pragma once
-#include "DiscIO/Volume.h"
+#include <cstddef>
+#include <cstring>
+#include <vector>
+
+#include "Common/CommonTypes.h"
namespace DiscIO
{
+class IVolume;
+
// file info of an FST entry
struct SFileInfo
{
diff --git a/Source/Core/DiscIO/NANDContentLoader.cpp b/Source/Core/DiscIO/NANDContentLoader.cpp
index 35d51a5..1e3be46 100644
--- a/Source/Core/DiscIO/NANDContentLoader.cpp
+++ b/Source/Core/DiscIO/NANDContentLoader.cpp
@@ -2,16 +2,25 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <algorithm>
-#include <cctype>
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
+#include <functional>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
#include <polarssl/aes.h>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/Log.h"
#include "Common/MathUtil.h"
+#include "Common/NandPaths.h"
#include "Common/StringUtil.h"
#include "DiscIO/NANDContentLoader.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/WiiWad.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/NANDContentLoader.h b/Source/Core/DiscIO/NANDContentLoader.h
index bff9297..456f592 100644
--- a/Source/Core/DiscIO/NANDContentLoader.h
+++ b/Source/Core/DiscIO/NANDContentLoader.h
@@ -4,15 +4,12 @@
#pragma once
+#include <cstddef>
#include <map>
#include <string>
#include <vector>
#include "Common/Common.h"
-#include "Common/FileUtil.h"
-#include "Common/NandPaths.h"
-
-#include "DiscIO/Blob.h"
#include "DiscIO/Volume.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/Volume.h b/Source/Core/DiscIO/Volume.h
index 5343a9f..648ffea 100644
--- a/Source/Core/DiscIO/Volume.h
+++ b/Source/Core/DiscIO/Volume.h
@@ -8,7 +8,6 @@
#include <vector>
#include "Common/Common.h"
-#include "Common/StringUtil.h"
namespace DiscIO
{
diff --git a/Source/Core/DiscIO/VolumeCommon.cpp b/Source/Core/DiscIO/VolumeCommon.cpp
index af367c7..7a19d9f 100644
--- a/Source/Core/DiscIO/VolumeCommon.cpp
+++ b/Source/Core/DiscIO/VolumeCommon.cpp
@@ -2,6 +2,10 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <string>
+#include <vector>
+
+#include "Common/Common.h"
#include "DiscIO/Volume.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/VolumeCreator.cpp b/Source/Core/DiscIO/VolumeCreator.cpp
index 74d4a5d..1a36e6a 100644
--- a/Source/Core/DiscIO/VolumeCreator.cpp
+++ b/Source/Core/DiscIO/VolumeCreator.cpp
@@ -2,15 +2,18 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstring>
+#include <string>
#include <vector>
#include <polarssl/aes.h>
-#include "Common/Hash.h"
+#include "Common/Common.h"
#include "Common/StringUtil.h"
+#include "DiscIO/Blob.h"
#include "DiscIO/Volume.h"
-#include "DiscIO/VolumeCreator.h"
#include "DiscIO/VolumeDirectory.h"
#include "DiscIO/VolumeGC.h"
#include "DiscIO/VolumeWad.h"
diff --git a/Source/Core/DiscIO/VolumeCreator.h b/Source/Core/DiscIO/VolumeCreator.h
index a9f1e43..e37db0b 100644
--- a/Source/Core/DiscIO/VolumeCreator.h
+++ b/Source/Core/DiscIO/VolumeCreator.h
@@ -4,12 +4,18 @@
#pragma once
-#include "DiscIO/Volume.h"
+#include <string>
+
+#include "Common/CommonTypes.h"
namespace DiscIO
{
+
+class IVolume;
+
IVolume* CreateVolumeFromFilename(const std::string& _rFilename, u32 _PartitionGroup = 0, u32 _VolumeNum = -1);
IVolume* CreateVolumeFromDirectory(const std::string& _rDirectory, bool _bIsWii, const std::string& _rApploader = "", const std::string& _rDOL = "");
bool IsVolumeWiiDisc(const IVolume *_rVolume);
bool IsVolumeWadFile(const IVolume *_rVolume);
+
} // namespace
diff --git a/Source/Core/DiscIO/VolumeDirectory.cpp b/Source/Core/DiscIO/VolumeDirectory.cpp
index eeaa5fe..50a380a 100644
--- a/Source/Core/DiscIO/VolumeDirectory.cpp
+++ b/Source/Core/DiscIO/VolumeDirectory.cpp
@@ -2,10 +2,20 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <algorithm>
+#include <cstddef>
+#include <cstring>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "Common/Common.h"
#include "Common/CommonPaths.h"
+#include "Common/FileUtil.h"
#include "Common/MathUtil.h"
-
#include "DiscIO/FileBlob.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeDirectory.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/VolumeDirectory.h b/Source/Core/DiscIO/VolumeDirectory.h
index 4f9a47f..ec1527c 100644
--- a/Source/Core/DiscIO/VolumeDirectory.h
+++ b/Source/Core/DiscIO/VolumeDirectory.h
@@ -6,10 +6,13 @@
#include <map>
#include <string>
+#include <vector>
-#include "Common/FileUtil.h"
+#include "Common/CommonTypes.h"
#include "DiscIO/Volume.h"
+namespace File { struct FSTEntry; }
+
//
// --- this volume type is used for reading files directly from the hard drive ---
//
diff --git a/Source/Core/DiscIO/VolumeGC.cpp b/Source/Core/DiscIO/VolumeGC.cpp
index 8039d56..4e057df 100644
--- a/Source/Core/DiscIO/VolumeGC.cpp
+++ b/Source/Core/DiscIO/VolumeGC.cpp
@@ -2,8 +2,15 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <string>
+#include <vector>
+
+#include "Common/Common.h"
#include "Common/StringUtil.h"
+#include "DiscIO/Blob.h"
#include "DiscIO/FileMonitor.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeGC.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/VolumeGC.h b/Source/Core/DiscIO/VolumeGC.h
index 42b7524..d48ccbc 100644
--- a/Source/Core/DiscIO/VolumeGC.h
+++ b/Source/Core/DiscIO/VolumeGC.h
@@ -4,13 +4,19 @@
#pragma once
-#include "DiscIO/Blob.h"
+#include <string>
+#include <vector>
+
+#include "Common/CommonTypes.h"
#include "DiscIO/Volume.h"
// --- this volume type is used for GC disc images ---
namespace DiscIO
{
+
+class IBlobReader;
+
class CVolumeGC : public IVolume
{
public:
diff --git a/Source/Core/DiscIO/VolumeWad.cpp b/Source/Core/DiscIO/VolumeWad.cpp
index d436c99..0174f95 100644
--- a/Source/Core/DiscIO/VolumeWad.cpp
+++ b/Source/Core/DiscIO/VolumeWad.cpp
@@ -3,10 +3,15 @@
// Refer to the license.txt file included.
#include <algorithm>
-#include <cmath>
+#include <cstddef>
+#include <string>
+#include <vector>
+#include "Common/Common.h"
#include "Common/MathUtil.h"
#include "Common/StringUtil.h"
+#include "DiscIO/Blob.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeWad.h"
#define ALIGN_40(x) ROUND_UP(Common::swap32(x), 0x40)
diff --git a/Source/Core/DiscIO/VolumeWad.h b/Source/Core/DiscIO/VolumeWad.h
index 7ae0068..dcfb03f 100644
--- a/Source/Core/DiscIO/VolumeWad.h
+++ b/Source/Core/DiscIO/VolumeWad.h
@@ -4,8 +4,10 @@
#pragma once
-#include "DiscIO/Blob.h"
-#include "DiscIO/NANDContentLoader.h"
+#include <string>
+#include <vector>
+
+#include "Common/CommonTypes.h"
#include "DiscIO/Volume.h"
// --- this volume type is used for Wad files ---
@@ -14,6 +16,9 @@
namespace DiscIO
{
+
+class IBlobReader;
+
class CVolumeWAD : public IVolume
{
public:
diff --git a/Source/Core/DiscIO/VolumeWiiCrypted.cpp b/Source/Core/DiscIO/VolumeWiiCrypted.cpp
index 69b7869..76d507d 100644
--- a/Source/Core/DiscIO/VolumeWiiCrypted.cpp
+++ b/Source/Core/DiscIO/VolumeWiiCrypted.cpp
@@ -2,9 +2,16 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstring>
+#include <string>
+#include <vector>
+#include <polarssl/aes.h>
#include <polarssl/sha1.h>
-#include "Common/StringUtil.h"
+#include "Common/Common.h"
+#include "DiscIO/Blob.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeGC.h"
#include "DiscIO/VolumeWiiCrypted.h"
diff --git a/Source/Core/DiscIO/VolumeWiiCrypted.h b/Source/Core/DiscIO/VolumeWiiCrypted.h
index 51033b1..e364045 100644
--- a/Source/Core/DiscIO/VolumeWiiCrypted.h
+++ b/Source/Core/DiscIO/VolumeWiiCrypted.h
@@ -4,15 +4,20 @@
#pragma once
+#include <string>
+#include <vector>
#include <polarssl/aes.h>
-#include "DiscIO/Blob.h"
+#include "Common/CommonTypes.h"
#include "DiscIO/Volume.h"
// --- this volume type is used for encrypted Wii images ---
namespace DiscIO
{
+
+class IBlobReader;
+
class CVolumeWiiCrypted : public IVolume
{
public:
diff --git a/Source/Core/DiscIO/WbfsBlob.cpp b/Source/Core/DiscIO/WbfsBlob.cpp
index a13e268..b51c14a 100644
--- a/Source/Core/DiscIO/WbfsBlob.cpp
+++ b/Source/Core/DiscIO/WbfsBlob.cpp
@@ -2,6 +2,13 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <algorithm>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <vector>
+
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "DiscIO/WbfsBlob.h"
diff --git a/Source/Core/DiscIO/WbfsBlob.h b/Source/Core/DiscIO/WbfsBlob.h
index 83ac436..639843d 100644
--- a/Source/Core/DiscIO/WbfsBlob.h
+++ b/Source/Core/DiscIO/WbfsBlob.h
@@ -4,14 +4,15 @@
#pragma once
+#include <vector>
+
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
#include "DiscIO/Blob.h"
namespace DiscIO
{
-struct wbfs_head_t;
-
class WbfsFileReader : public IBlobReader
{
WbfsFileReader(const char* filename);
diff --git a/Source/Core/DiscIO/WiiWad.cpp b/Source/Core/DiscIO/WiiWad.cpp
index 8c6cda7..4ca2944 100644
--- a/Source/Core/DiscIO/WiiWad.cpp
+++ b/Source/Core/DiscIO/WiiWad.cpp
@@ -3,13 +3,14 @@
// Refer to the license.txt file included.
-#include <algorithm>
-#include <cctype>
+#include <cstddef>
+#include <string>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/Log.h"
#include "Common/MathUtil.h"
-#include "DiscIO/NANDContentLoader.h"
+#include "DiscIO/Blob.h"
#include "DiscIO/WiiWad.h"
namespace DiscIO
diff --git a/Source/Core/DiscIO/WiiWad.h b/Source/Core/DiscIO/WiiWad.h
index b72f616..a987bce 100644
--- a/Source/Core/DiscIO/WiiWad.h
+++ b/Source/Core/DiscIO/WiiWad.h
@@ -4,17 +4,15 @@
#pragma once
-#include <map>
#include <string>
-#include <vector>
#include "Common/CommonTypes.h"
-#include "DiscIO/Blob.h"
-#include "DiscIO/Volume.h"
namespace DiscIO
{
+class IBlobReader;
+
class WiiWAD
{
public:
diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp
index 27da521..897da87 100644
--- a/Source/Core/DolphinWX/FrameTools.cpp
+++ b/Source/Core/DolphinWX/FrameTools.cpp
@@ -23,6 +23,7 @@ Core::GetWindowHandle().
#include "Common/Common.h"
#include "Common/FileSearch.h"
#include "Common/FileUtil.h"
+#include "Common/NandPaths.h"
#include "Common/Timer.h"
#include "Core/BootManager.h"
diff --git a/Source/Core/DolphinWX/ISOProperties.h b/Source/Core/DolphinWX/ISOProperties.h
index 12c709f..da10c2b 100644
--- a/Source/Core/DolphinWX/ISOProperties.h
+++ b/Source/Core/DolphinWX/ISOProperties.h
@@ -4,6 +4,7 @@
#pragma once
+#include <set>
#include <string>
#include <wx/filepicker.h>
#include <wx/fontmap.h>
diff --git a/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp b/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
index bf37b47..d8288ad 100644
--- a/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
+++ b/Source/Core/VideoBackends/Software/SWCommandProcessor.cpp
@@ -5,6 +5,7 @@
#include "Common/Atomic.h"
#include "Common/ChunkFile.h"
#include "Common/Common.h"
+#include "Common/FPURoundMode.h"
#include "Common/MathUtil.h"
#include "Common/Thread.h"
diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp
index 178a8c6..9e3f615 100644
--- a/Source/Core/VideoCommon/Fifo.cpp
+++ b/Source/Core/VideoCommon/Fifo.cpp
@@ -4,6 +4,7 @@
#include "Common/Atomic.h"
#include "Common/ChunkFile.h"
+#include "Common/FPURoundMode.h"
#include "Common/MemoryUtil.h"
#include "Common/Thread.h"