(view as text)
diff --git a/Source/Core/Common/ArmCPUDetect.cpp b/Source/Core/Common/ArmCPUDetect.cpp
index 65353ba..12998e1 100644
--- a/Source/Core/Common/ArmCPUDetect.cpp
+++ b/Source/Core/Common/ArmCPUDetect.cpp
@@ -5,6 +5,7 @@
#include "Common/Common.h"
#include "Common/CPUDetect.h"
#include "Common/FileUtil.h"
+#include "Common/StringUtil.h"
// Only Linux platforms have /proc/cpuinfo
#if !defined(BLACKBERRY) && !defined(IOS) && !defined(__SYMBIAN32__)
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..9765af6 100644
--- a/Source/Core/Common/FileUtil.cpp
+++ b/Source/Core/Common/FileUtil.cpp
@@ -3,9 +3,16 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
#include <fcntl.h>
+#include <limits.h>
+#include <string>
+#include <vector>
#include <sys/stat.h>
+#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/FileUtil.h"
@@ -21,14 +28,14 @@
#include <errno.h>
#include <libgen.h>
#include <stdlib.h>
-#include <sys/param.h>
-#include <sys/types.h>
+#include <unistd.h>
#endif
#if defined(__APPLE__)
#include <CoreFoundation/CFBundle.h>
#include <CoreFoundation/CFString.h>
#include <CoreFoundation/CFURL.h>
+#include <sys/param.h>
#endif
#ifndef S_ISDIR
diff --git a/Source/Core/Common/FileUtil.h b/Source/Core/Common/FileUtil.h
index 1b49d4d..06ee32f 100644
--- a/Source/Core/Common/FileUtil.h
+++ b/Source/Core/Common/FileUtil.h
@@ -4,14 +4,17 @@
#pragma once
+#include <cstddef>
#include <cstdio>
#include <fstream>
#include <string>
-#include <string.h>
#include <vector>
#include "Common/Common.h"
+
+#ifdef _WIN32
#include "Common/StringUtil.h"
+#endif
// 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..cc6d569 100644
--- a/Source/Core/Common/MemoryUtil.cpp
+++ b/Source/Core/Common/MemoryUtil.cpp
@@ -2,17 +2,19 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdlib>
+#include <string>
#include "Common/Common.h"
-#include "Common/MemoryUtil.h"
-#include "Common/StringUtil.h"
#ifdef _WIN32
#include <windows.h>
#include <psapi.h>
+#include "Common/StringUtil.h"
#else
-#include <errno.h>
#include <stdio.h>
+#include <sys/mman.h>
#endif
#if !defined(_WIN32) && defined(__x86_64__) && !defined(MAP_32BIT)
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..21cabaf 100644
--- a/Source/Core/Common/SettingsHandler.cpp
+++ b/Source/Core/Common/SettingsHandler.cpp
@@ -4,17 +4,20 @@
// 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>
+#include "Common/CommonFuncs.h" // snprintf
#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..819a379 100644
--- a/Source/Core/DiscIO/DriveBlob.cpp
+++ b/Source/Core/DiscIO/DriveBlob.cpp
@@ -2,9 +2,18 @@
// 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"
+#ifdef _WIN32
+#include "Common/StringUtil.h"
+#endif
+
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/ARCodeAddEdit.cpp b/Source/Core/DolphinWX/ARCodeAddEdit.cpp
index 0143e15..d810ba1 100644
--- a/Source/Core/DolphinWX/ARCodeAddEdit.cpp
+++ b/Source/Core/DolphinWX/ARCodeAddEdit.cpp
@@ -2,10 +2,33 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdlib>
+#include <string>
+#include <vector>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/gbsizer.h>
+#include <wx/sizer.h>
+#include <wx/spinbutt.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+#include "Common/Common.h"
+#include "Common/StringUtil.h"
+#include "Core/ActionReplay.h"
#include "Core/ARDecrypt.h"
#include "DolphinWX/ARCodeAddEdit.h"
#include "DolphinWX/WxUtils.h"
+class wxWindow;
+
extern std::vector<ActionReplay::ARCode> arCodes;
BEGIN_EVENT_TABLE(CARCodeAddEdit, wxDialog)
diff --git a/Source/Core/DolphinWX/ARCodeAddEdit.h b/Source/Core/DolphinWX/ARCodeAddEdit.h
index 9f22a0c..d2ebbe5 100644
--- a/Source/Core/DolphinWX/ARCodeAddEdit.h
+++ b/Source/Core/DolphinWX/ARCodeAddEdit.h
@@ -4,10 +4,19 @@
#pragma once
-#include <wx/spinctrl.h>
-#include <wx/wx.h>
-
-#include "DolphinWX/ISOProperties.h"
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+class wxSpinButton;
+class wxSpinEvent;
+class wxTextCtrl;
+class wxWindow;
+
+namespace ActionReplay { struct ARCode; }
class CARCodeAddEdit : public wxDialog
{
diff --git a/Source/Core/DolphinWX/AboutDolphin.cpp b/Source/Core/DolphinWX/AboutDolphin.cpp
index c17c219..470baea 100644
--- a/Source/Core/DolphinWX/AboutDolphin.cpp
+++ b/Source/Core/DolphinWX/AboutDolphin.cpp
@@ -2,11 +2,25 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <wx/bitmap.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/mstream.h>
+#include <wx/sizer.h>
+#include <wx/statbmp.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
#include "Common/Common.h"
#include "DolphinWX/AboutDolphin.h"
-#include "DolphinWX/WxUtils.h"
#include "DolphinWX/resources/dolphin_logo.cpp"
+class wxWindow;
+
AboutDolphin::AboutDolphin(wxWindow *parent, wxWindowID id,
const wxString &title, const wxPoint &position,
const wxSize& size, long style)
diff --git a/Source/Core/DolphinWX/AboutDolphin.h b/Source/Core/DolphinWX/AboutDolphin.h
index 4c1f430..5ea8b91 100644
--- a/Source/Core/DolphinWX/AboutDolphin.h
+++ b/Source/Core/DolphinWX/AboutDolphin.h
@@ -4,13 +4,14 @@
#pragma once
-#include <wx/button.h>
+#include <wx/defs.h>
#include <wx/dialog.h>
-#include <wx/mstream.h>
-#include <wx/statbmp.h>
-#include <wx/statbox.h>
-#include <wx/stattext.h>
-#include <wx/wx.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+class wxWindow;
class AboutDolphin : public wxDialog
{
diff --git a/Source/Core/DolphinWX/Android/ButtonManager.h b/Source/Core/DolphinWX/Android/ButtonManager.h
index f56157d..54d403a 100644
--- a/Source/Core/DolphinWX/Android/ButtonManager.h
+++ b/Source/Core/DolphinWX/Android/ButtonManager.h
@@ -6,8 +6,6 @@
#include <map>
#include <string>
-#include "Common/CommonPaths.h"
-#include "VideoCommon/VideoBackendBase.h"
namespace ButtonManager
{
diff --git a/Source/Core/DolphinWX/CheatsWindow.cpp b/Source/Core/DolphinWX/CheatsWindow.cpp
index 398b981..4318fb9 100644
--- a/Source/Core/DolphinWX/CheatsWindow.cpp
+++ b/Source/Core/DolphinWX/CheatsWindow.cpp
@@ -2,18 +2,50 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/CommonPaths.h"
+#include <climits>
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <vector>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/checklst.h>
+#include <wx/choice.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/listbox.h>
+#include <wx/notebook.h>
+#include <wx/panel.h>
+#include <wx/radiobut.h>
+#include <wx/sizer.h>
+#include <wx/statbox.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/validate.h>
+
+#include "Common/Common.h"
+#include "Common/IniFile.h"
#include "Core/ActionReplay.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
-#include "Core/VolumeHandler.h"
+#include "Core/CoreParameter.h"
+#include "Core/GeckoCode.h"
+#include "Core/GeckoCodeConfig.h"
#include "Core/HW/Memmap.h"
#include "DolphinWX/CheatsWindow.h"
#include "DolphinWX/Frame.h"
-#include "DolphinWX/Globals.h"
+#include "DolphinWX/GeckoCodeDiag.h"
#include "DolphinWX/ISOProperties.h"
#include "DolphinWX/WxUtils.h"
+class wxWindow;
#define MAX_CHEAT_SEARCH_RESULTS_DISPLAY 256
extern std::vector<ActionReplay::ARCode> arCodes;
diff --git a/Source/Core/DolphinWX/CheatsWindow.h b/Source/Core/DolphinWX/CheatsWindow.h
index d7823a9..7a82822 100644
--- a/Source/Core/DolphinWX/CheatsWindow.h
+++ b/Source/Core/DolphinWX/CheatsWindow.h
@@ -4,25 +4,32 @@
#pragma once
+#include <cstddef>
#include <string>
#include <vector>
-#include <wx/colour.h>
-#include <wx/filepicker.h>
-#include <wx/gbsizer.h>
-#include <wx/imaglist.h>
-#include <wx/listbox.h>
-#include <wx/mimetype.h>
-#include <wx/notebook.h>
-#include <wx/sizer.h>
-#include <wx/statbmp.h>
-#include <wx/textctrl.h>
-#include <wx/treectrl.h>
-#include <wx/wx.h>
+#include <wx/arrstr.h>
+#include <wx/dialog.h>
+#include <wx/panel.h>
+#include "Common/CommonTypes.h"
#include "Common/IniFile.h"
-#include "Core/ActionReplay.h"
-#include "DiscIO/Filesystem.h"
-#include "DolphinWX/GeckoCodeDiag.h"
+
+class wxButton;
+class wxCheckBox;
+class wxCheckListBox;
+class wxChoice;
+class wxCloseEvent;
+class wxCommandEvent;
+class wxEvent;
+class wxListBox;
+class wxNotebook;
+class wxRadioButton;
+class wxStaticBox;
+class wxStaticText;
+class wxTextCtrl;
+class wxWindow;
+
+namespace Gecko { class CodeConfigPanel; }
class CreateCodeDialog : public wxDialog
{
diff --git a/Source/Core/DolphinWX/ConfigMain.cpp b/Source/Core/DolphinWX/ConfigMain.cpp
index 62e41de..716a47b 100644
--- a/Source/Core/DolphinWX/ConfigMain.cpp
+++ b/Source/Core/DolphinWX/ConfigMain.cpp
@@ -6,7 +6,22 @@
#include <functional>
#include <string>
#include <vector>
+
+#include <wx/checkbox.h>
+#include <wx/choice.h>
+#include <wx/filepicker.h>
+#include <wx/gbsizer.h>
+#include <wx/listbox.h>
+#include <wx/menu.h>
+#include <wx/msgdlg.h>
+#include <wx/notebook.h>
+#include <wx/panel.h>
+#include <wx/radiobox.h>
+#include <wx/sizer.h>
+#include <wx/slider.h>
#include <wx/spinbutt.h>
+#include <wx/spinctrl.h>
+#include <wx/stattext.h>
#include "Common/Common.h"
#include "Common/CommonPaths.h"
@@ -15,6 +30,7 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
+#include "Core/Movie.h"
#include "Core/NetPlayProto.h"
#include "Core/HW/EXI.h"
#include "Core/HW/GCMemcard.h"
@@ -31,6 +47,7 @@
#include "DolphinWX/HotkeyDlg.h"
#include "DolphinWX/Main.h"
#include "DolphinWX/WxUtils.h"
+#include "DolphinWX/Debugger/CodeWindow.h"
#include "VideoCommon/VideoBackendBase.h"
diff --git a/Source/Core/DolphinWX/ConfigMain.h b/Source/Core/DolphinWX/ConfigMain.h
index 9aafeed..5ae0aeb 100644
--- a/Source/Core/DolphinWX/ConfigMain.h
+++ b/Source/Core/DolphinWX/ConfigMain.h
@@ -4,18 +4,42 @@
#pragma once
-#include <wx/filepicker.h>
-#include <wx/gbsizer.h>
-#include <wx/notebook.h>
-#include <wx/spinbutt.h>
-#include <wx/spinctrl.h>
-#include <wx/wx.h>
-
-#include "Core/ConfigManager.h"
+#include <cstdio>
+#include <string>
+
+#include <wx/arrstr.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+#include "Common/CommonTypes.h"
#if defined(HAVE_XRANDR) && HAVE_XRANDR
#include "DolphinWX/X11Utils.h"
#endif
+class wxBoxSizer;
+class wxButton;
+class wxCheckBox;
+class wxChoice;
+class wxDirPickerCtrl;
+class wxFileDirPickerEvent;
+class wxFilePickerCtrl;
+class wxGridBagSizer;
+class wxListBox;
+class wxNotebook;
+class wxPanel;
+class wxRadioBox;
+class wxSlider;
+class wxSpinCtrl;
+class wxSpinEvent;
+class wxStaticBoxSizer;
+class wxStaticText;
+class wxWindow;
+
class CConfigMain : public wxDialog
{
public:
diff --git a/Source/Core/DolphinWX/Debugger/BreakpointDlg.cpp b/Source/Core/DolphinWX/Debugger/BreakpointDlg.cpp
index 047464e..120bb76 100644
--- a/Source/Core/DolphinWX/Debugger/BreakpointDlg.cpp
+++ b/Source/Core/DolphinWX/Debugger/BreakpointDlg.cpp
@@ -2,6 +2,18 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <string>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+
+#include "Common/BreakPoints.h"
+#include "Common/Common.h"
#include "Common/StringUtil.h"
#include "Core/PowerPC/PowerPC.h"
#include "DolphinWX/WxUtils.h"
diff --git a/Source/Core/DolphinWX/Debugger/BreakpointDlg.h b/Source/Core/DolphinWX/Debugger/BreakpointDlg.h
index 3699fc9..7e4312a 100644
--- a/Source/Core/DolphinWX/Debugger/BreakpointDlg.h
+++ b/Source/Core/DolphinWX/Debugger/BreakpointDlg.h
@@ -4,9 +4,11 @@
#pragma once
-#include <wx/wx.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
class CBreakPointWindow;
+class wxTextCtrl;
class BreakPointDlg : public wxDialog
{
diff --git a/Source/Core/DolphinWX/Debugger/BreakpointView.cpp b/Source/Core/DolphinWX/Debugger/BreakpointView.cpp
index 4934122..1f5ed38 100644
--- a/Source/Core/DolphinWX/Debugger/BreakpointView.cpp
+++ b/Source/Core/DolphinWX/Debugger/BreakpointView.cpp
@@ -2,16 +2,28 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <wx/wx.h>
-
-#include "Core/Debugger/Debugger_SymbolMap.h"
-#include "Core/HW/Memmap.h"
+#include <cstddef>
+#include <cstdio>
+
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/gdicmn.h>
+#include <wx/listbase.h>
+#include <wx/listctrl.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
+
+#include "Common/BreakPoints.h"
+#include "Common/CommonTypes.h"
#include "Core/PowerPC/PowerPC.h"
#include "Core/PowerPC/PPCSymbolDB.h"
#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/BreakpointView.h"
#include "DolphinWX/Debugger/DebuggerUIUtil.h"
+class wxWindow;
+struct Symbol;
+
CBreakPointView::CBreakPointView(wxWindow* parent, const wxWindowID id)
: wxListCtrl(parent, id, wxDefaultPosition, wxDefaultSize,
wxLC_REPORT | wxSUNKEN_BORDER | wxLC_ALIGN_LEFT | wxLC_SINGLE_SEL | wxLC_SORT_ASCENDING)
diff --git a/Source/Core/DolphinWX/Debugger/BreakpointView.h b/Source/Core/DolphinWX/Debugger/BreakpointView.h
index e53eacd..74dd636 100644
--- a/Source/Core/DolphinWX/Debugger/BreakpointView.h
+++ b/Source/Core/DolphinWX/Debugger/BreakpointView.h
@@ -5,8 +5,9 @@
#pragma once
#include <wx/listctrl.h>
+#include <wx/windowid.h>
-#include "Common/Common.h"
+class wxWindow;
class CBreakPointView : public wxListCtrl
{
diff --git a/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp b/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp
index 8afc73f..b16f150 100644
--- a/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp
+++ b/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp
@@ -2,9 +2,26 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <wx/bitmap.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/listbase.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
+#include <wx/aui/auibar.h>
+#include <wx/aui/framemanager.h>
+
+#include "Common/BreakPoints.h"
+#include "Common/CommonTypes.h"
#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
#include "Core/HW/Memmap.h"
#include "Core/PowerPC/PowerPC.h"
+#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/BreakpointDlg.h"
#include "DolphinWX/Debugger/BreakpointView.h"
#include "DolphinWX/Debugger/BreakpointWindow.h"
@@ -17,6 +34,8 @@ extern "C" {
#include "DolphinWX/resources/toolbar_debugger_delete.c"
}
+class wxWindow;
+
class CBreakPointBar : public wxAuiToolBar
{
public:
diff --git a/Source/Core/DolphinWX/Debugger/BreakpointWindow.h b/Source/Core/DolphinWX/Debugger/BreakpointWindow.h
index 6e8235b..106ccea 100644
--- a/Source/Core/DolphinWX/Debugger/BreakpointWindow.h
+++ b/Source/Core/DolphinWX/Debugger/BreakpointWindow.h
@@ -4,12 +4,19 @@
#pragma once
-#include <wx/listctrl.h>
-#include <wx/wx.h>
-#include <wx/aui/aui.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
+#include <wx/aui/framemanager.h>
class CBreakPointView;
class CCodeWindow;
+class wxListEvent;
+class wxWindow;
class CBreakPointWindow : public wxPanel
{
diff --git a/Source/Core/DolphinWX/Debugger/CodeView.cpp b/Source/Core/DolphinWX/Debugger/CodeView.cpp
index 9dc5237..bd27777 100644
--- a/Source/Core/DolphinWX/Debugger/CodeView.cpp
+++ b/Source/Core/DolphinWX/Debugger/CodeView.cpp
@@ -2,9 +2,29 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cmath>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <vector>
+#include <wx/brush.h>
+#include <wx/chartype.h>
#include <wx/clipbrd.h>
+#include <wx/colour.h>
+#include <wx/control.h>
+#include <wx/dataobj.h>
+#include <wx/dcclient.h>
+#include <wx/defs.h>
#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
+#include <wx/pen.h>
+#include <wx/setup.h>
+#include <wx/string.h>
#include <wx/textdlg.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
#include "Common/Common.h"
#include "Common/DebugInterface.h"
diff --git a/Source/Core/DolphinWX/Debugger/CodeView.h b/Source/Core/DolphinWX/Debugger/CodeView.h
index 8d41e5e..fde58de 100644
--- a/Source/Core/DolphinWX/Debugger/CodeView.h
+++ b/Source/Core/DolphinWX/Debugger/CodeView.h
@@ -9,7 +9,10 @@
#include <vector>
-#include <wx/wx.h>
+#include <wx/control.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/windowid.h>
#include "Common/Common.h"
@@ -17,6 +20,8 @@ DECLARE_EVENT_TYPE(wxEVT_CODEVIEW_CHANGE, -1);
class DebugInterface;
class SymbolDB;
+class wxPaintDC;
+class wxWindow;
class CCodeView : public wxControl
{
diff --git a/Source/Core/DolphinWX/Debugger/CodeWindow.cpp b/Source/Core/DolphinWX/Debugger/CodeWindow.cpp
index 8e58eaa..a5189fa 100644
--- a/Source/Core/DolphinWX/Debugger/CodeWindow.cpp
+++ b/Source/Core/DolphinWX/Debugger/CodeWindow.cpp
@@ -2,41 +2,62 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <wx/wx.h>
-
+#include <cstdio>
+#include <string>
+#include <vector>
+#include <wx/bitmap.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/listbox.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/textdlg.h>
+#include <wx/thread.h>
+#include <wx/translation.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
+#include <wx/aui/auibar.h>
+
+#include "Common/BreakPoints.h"
#include "Common/Common.h"
-#include "Common/FileUtil.h"
-#include "Common/LogManager.h"
-#include "Core/ConfigManager.h"
+#include "Common/StringUtil.h"
+#include "Common/SymbolDB.h"
#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "Core/Host.h"
-#include "Core/Boot/Boot.h"
#include "Core/Debugger/Debugger_SymbolMap.h"
#include "Core/Debugger/PPCDebugInterface.h"
-#include "Core/HLE/HLE.h"
#include "Core/HW/CPU.h"
#include "Core/HW/Memmap.h"
+#include "Core/PowerPC/Gekko.h"
#include "Core/PowerPC/JitInterface.h"
#include "Core/PowerPC/PowerPC.h"
-#include "Core/PowerPC/PPCAnalyst.h"
#include "Core/PowerPC/PPCSymbolDB.h"
#include "Core/PowerPC/PPCTables.h"
-#include "Core/PowerPC/SignatureDB.h"
+#include "DolphinWX/Frame.h"
+#include "DolphinWX/Globals.h"
#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/BreakpointWindow.h"
#include "DolphinWX/Debugger/CodeView.h"
#include "DolphinWX/Debugger/CodeWindow.h"
-#include "DolphinWX/Debugger/JitWindow.h"
-#include "DolphinWX/Debugger/MemoryWindow.h"
+#include "DolphinWX/Debugger/DebuggerUIUtil.h"
#include "DolphinWX/Debugger/RegisterWindow.h"
-
extern "C" // Bitmaps
{
#include "DolphinWX/resources/toolbar_add_memorycheck.c" // NOLINT
#include "DolphinWX/resources/toolbar_add_breakpoint.c" // NOLINT
}
+class DebugInterface;
+
// -------
// Main
diff --git a/Source/Core/DolphinWX/Debugger/CodeWindow.h b/Source/Core/DolphinWX/Debugger/CodeWindow.h
index 1dd5287..8804a79 100644
--- a/Source/Core/DolphinWX/Debugger/CodeWindow.h
+++ b/Source/Core/DolphinWX/Debugger/CodeWindow.h
@@ -4,14 +4,17 @@
#pragma once
-#include <wx/artprov.h>
-#include <wx/dialog.h>
-#include <wx/listbox.h>
-#include <wx/textctrl.h>
-
+#include <wx/bitmap.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+#include "Common/CommonTypes.h"
#include "Common/Thread.h"
-#include "Core/CoreParameter.h"
-#include "DolphinWX/Frame.h"
#include "DolphinWX/Globals.h"
class CFrame;
@@ -22,6 +25,12 @@ class CJitWindow;
class CCodeView;
class DSPDebuggerLLE;
class GFXDebuggerPanel;
+struct SCoreStartupParameter;
+
+class wxAuiToolBar;
+class wxListBox;
+class wxMenu;
+class wxMenuBar;
class CCodeWindow
: public wxPanel
diff --git a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp
index 0de5320..d42d227 100644
--- a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp
+++ b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp
@@ -2,34 +2,48 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <istream>
+#include <string>
+#include <utility>
+#include <vector>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/filedlg.h>
+#include <wx/font.h>
+#include <wx/fontdata.h>
#include <wx/fontdlg.h>
+#include <wx/listbox.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
#include <wx/mimetype.h>
+#include <wx/string.h>
+#include <wx/textdlg.h>
+#include <wx/translation.h>
+#include <wx/utils.h>
#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/FileUtil.h"
-#include "Common/LogManager.h"
+#include "Common/IniFile.h"
+#include "Common/SymbolDB.h"
-#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/Host.h"
#include "Core/Boot/Boot.h"
-#include "Core/Debugger/Debugger_SymbolMap.h"
-#include "Core/Debugger/PPCDebugInterface.h"
#include "Core/HLE/HLE.h"
-#include "Core/HW/CPU.h"
#include "Core/PowerPC/PowerPC.h"
#include "Core/PowerPC/PPCAnalyst.h"
#include "Core/PowerPC/PPCSymbolDB.h"
-#include "Core/PowerPC/PPCTables.h"
#include "Core/PowerPC/Profiler.h"
#include "Core/PowerPC/SignatureDB.h"
#include "Core/PowerPC/JitCommon/JitBase.h"
-#include "Core/PowerPC/JitCommon/JitCache.h" // for ClearCache()
+#include "DolphinWX/Frame.h"
+#include "DolphinWX/Globals.h"
#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/BreakpointWindow.h"
-#include "DolphinWX/Debugger/CodeView.h"
#include "DolphinWX/Debugger/CodeWindow.h"
#include "DolphinWX/Debugger/DebuggerPanel.h"
#include "DolphinWX/Debugger/DebuggerUIUtil.h"
diff --git a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp
index 681209c..b755af5 100644
--- a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp
+++ b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp
@@ -2,13 +2,29 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <fstream>
-#include <iostream>
-#include <sstream>
+#include <cstdio>
#include <wx/artprov.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/listbox.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/thread.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+#include <wx/aui/auibar.h>
+#include <wx/aui/auibook.h>
+#include <wx/aui/framemanager.h>
#include "Common/Common.h"
#include "Common/StringUtil.h"
+#include "Common/SymbolDB.h"
+#include "Core/DSP/DSPCore.h"
+#include "Core/HW/DSPLLE/DSPDebugInterface.h"
#include "Core/HW/DSPLLE/DSPSymbols.h"
#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/CodeView.h"
@@ -16,6 +32,8 @@
#include "DolphinWX/Debugger/DSPRegisterView.h"
#include "DolphinWX/Debugger/MemoryView.h"
+class wxWindow;
+
DSPDebuggerLLE* m_DebuggerFrame = NULL;
BEGIN_EVENT_TABLE(DSPDebuggerLLE, wxPanel)
diff --git a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h
index e0bf61f..773a49a 100644
--- a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h
+++ b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h
@@ -4,30 +4,22 @@
#pragma once
-// general things
-#include <algorithm>
-#include <iostream>
-#include <list>
-#include <map>
-#include <vector>
-#include <wx/button.h>
-#include <wx/frame.h>
-#include <wx/listctrl.h>
-#include <wx/sizer.h>
-#include <wx/statbox.h>
-#include <wx/statline.h>
-#include <wx/stattext.h>
-#include <wx/wx.h>
-#include <wx/aui/aui.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/panel.h>
+#include <wx/windowid.h>
+#include <wx/aui/framemanager.h>
-#include "Core/DSP/disassemble.h"
-#include "Core/DSP/DSPInterpreter.h"
-#include "Core/DSP/DSPMemoryMap.h"
+#include "Common/CommonTypes.h"
#include "Core/HW/DSPLLE/DSPDebugInterface.h"
class DSPRegisterView;
class CCodeView;
class CMemoryView;
+class wxAuiNotebook;
+class wxAuiToolBar;
+class wxListBox;
+class wxWindow;
class DSPDebuggerLLE : public wxPanel
{
diff --git a/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp b/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp
index 8adbb32..5ef966b 100644
--- a/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp
+++ b/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp
@@ -2,10 +2,22 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <wx/chartype.h>
+#include <wx/colour.h>
+#include <wx/defs.h>
+#include <wx/gdicmn.h>
+#include <wx/grid.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
+
+#include "Common/CommonTypes.h"
+#include "Core/DSP/DSPCore.h"
+#include "Core/DSP/DSPTables.h"
#include "DolphinWX/WxUtils.h"
-#include "DolphinWX/Debugger/DSPDebugWindow.h"
#include "DolphinWX/Debugger/DSPRegisterView.h"
+class wxWindow;
+
wxString CDSPRegTable::GetValue(int row, int col)
{
if (row < 32) // 32 "normal" regs
diff --git a/Source/Core/DolphinWX/Debugger/DSPRegisterView.h b/Source/Core/DolphinWX/Debugger/DSPRegisterView.h
index 946a540..5f5a9b5 100644
--- a/Source/Core/DolphinWX/Debugger/DSPRegisterView.h
+++ b/Source/Core/DolphinWX/Debugger/DSPRegisterView.h
@@ -4,8 +4,15 @@
#pragma once
+#include <cstring>
+#include <wx/defs.h>
#include <wx/grid.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
+#include "Common/CommonTypes.h"
+
+class wxWindow;
class CDSPRegTable : public wxGridTableBase
{
diff --git a/Source/Core/DolphinWX/Debugger/DebuggerPanel.cpp b/Source/Core/DolphinWX/Debugger/DebuggerPanel.cpp
index bc28c6c..16944ba 100644
--- a/Source/Core/DolphinWX/Debugger/DebuggerPanel.cpp
+++ b/Source/Core/DolphinWX/Debugger/DebuggerPanel.cpp
@@ -2,15 +2,32 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <string>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/choice.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/msgdlg.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+#include <wx/validate.h>
+#include <wx/windowid.h>
+
#include "Common/FileUtil.h"
#include "Common/IniFile.h"
#include "Core/ConfigManager.h"
+#include "Core/CoreParameter.h"
#include "DolphinWX/Debugger/DebuggerPanel.h"
-#include "VideoCommon/NativeVertexFormat.h"
-#include "VideoCommon/PixelShaderGen.h"
+#include "VideoCommon/Debugger.h"
#include "VideoCommon/TextureCacheBase.h"
-#include "VideoCommon/VertexShaderGen.h"
-#include "VideoCommon/VideoConfig.h"
+
+class wxWindow;
BEGIN_EVENT_TABLE(GFXDebuggerPanel, wxPanel)
EVT_CLOSE(GFXDebuggerPanel::OnClose)
diff --git a/Source/Core/DolphinWX/Debugger/DebuggerPanel.h b/Source/Core/DolphinWX/Debugger/DebuggerPanel.h
index cdf5144..796f015 100644
--- a/Source/Core/DolphinWX/Debugger/DebuggerPanel.h
+++ b/Source/Core/DolphinWX/Debugger/DebuggerPanel.h
@@ -4,11 +4,21 @@
#pragma once
-#include <wx/notebook.h>
-#include <wx/wx.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
#include "VideoCommon/Debugger.h"
+class wxButton;
+class wxChoice;
+class wxTextCtrl;
+class wxWindow;
+
class GFXDebuggerPanel : public wxPanel, public GFXDebuggerBase
{
public:
diff --git a/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.cpp b/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.cpp
index 406d239..37c1c26 100644
--- a/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.cpp
+++ b/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.cpp
@@ -2,6 +2,9 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/font.h>
#include "DolphinWX/Debugger/DebuggerUIUtil.h"
diff --git a/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.h b/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.h
index 783a1fd..5955579 100644
--- a/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.h
+++ b/Source/Core/DolphinWX/Debugger/DebuggerUIUtil.h
@@ -4,6 +4,6 @@
#pragma once
-#include <wx/wx.h>
+#include <wx/font.h>
extern wxFont DebuggerFont;
diff --git a/Source/Core/DolphinWX/Debugger/JitWindow.cpp b/Source/Core/DolphinWX/Debugger/JitWindow.cpp
index 5e3511b..61810a0 100644
--- a/Source/Core/DolphinWX/Debugger/JitWindow.cpp
+++ b/Source/Core/DolphinWX/Debugger/JitWindow.cpp
@@ -2,20 +2,28 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstdio>
+#include <cstring>
#include <disasm.h> // Bochs
#include <PowerPCDisasm.h> // Bochs
#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/listbase.h>
#include <wx/listctrl.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
#include <wx/textctrl.h>
-#include <wx/thread.h>
+#include <wx/translation.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
-#include "Common/LogManager.h"
+#include "Common/Common.h"
#include "Common/StringUtil.h"
-#include "Core/Core.h"
-#include "Core/Debugger/Debugger_SymbolMap.h"
-#include "Core/Debugger/PPCDebugInterface.h"
-#include "Core/HW/CPU.h"
-#include "Core/PowerPC/PowerPC.h"
+#include "Core/PowerPC/Gekko.h"
#include "Core/PowerPC/PPCAnalyst.h"
#include "Core/PowerPC/JitCommon/JitBase.h"
#include "Core/PowerPC/JitCommon/JitCache.h"
diff --git a/Source/Core/DolphinWX/Debugger/JitWindow.h b/Source/Core/DolphinWX/Debugger/JitWindow.h
index 6eb0869..44a8a52 100644
--- a/Source/Core/DolphinWX/Debugger/JitWindow.h
+++ b/Source/Core/DolphinWX/Debugger/JitWindow.h
@@ -5,15 +5,21 @@
#pragma once
#include <vector>
-
-#include <wx/dialog.h>
-#include <wx/listbox.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
#include <wx/listctrl.h>
-#include <wx/textctrl.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+#include "Common/CommonTypes.h"
-#include "Common/Thread.h"
-#include "Core/CoreParameter.h"
-#include "DolphinWX/Debugger/MemoryView.h"
+class wxButton;
+class wxListBox;
+class wxTextCtrl;
+class wxWindow;
class JitBlockList : public wxListCtrl
{
diff --git a/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.cpp b/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.cpp
index f8ed8ba..5408be8 100644
--- a/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.cpp
+++ b/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.cpp
@@ -2,6 +2,20 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <string>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+
+#include "Common/BreakPoints.h"
#include "Common/Common.h"
#include "Common/StringUtil.h"
#include "Core/PowerPC/PowerPC.h"
diff --git a/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.h b/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.h
index f53a90e..bb392db 100644
--- a/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.h
+++ b/Source/Core/DolphinWX/Debugger/MemoryCheckDlg.h
@@ -4,9 +4,12 @@
#pragma once
-#include <wx/wx.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
class CBreakPointWindow;
+class wxCheckBox;
+class wxTextCtrl;
class MemoryCheckDlg : public wxDialog
{
diff --git a/Source/Core/DolphinWX/Debugger/MemoryView.cpp b/Source/Core/DolphinWX/Debugger/MemoryView.cpp
index 832c13c..d39f672 100644
--- a/Source/Core/DolphinWX/Debugger/MemoryView.cpp
+++ b/Source/Core/DolphinWX/Debugger/MemoryView.cpp
@@ -2,13 +2,30 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cmath>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <wx/brush.h>
+#include <wx/chartype.h>
#include <wx/clipbrd.h>
+#include <wx/colour.h>
+#include <wx/control.h>
+#include <wx/dataobj.h>
+#include <wx/dcclient.h>
+#include <wx/defs.h>
#include <wx/event.h>
+#include <wx/font.h>
+#include <wx/gdicmn.h>
+#include <wx/menu.h>
+#include <wx/pen.h>
+#include <wx/setup.h>
+#include <wx/string.h>
+#include <wx/window.h>
#include "Common/Common.h"
+#include "Common/DebugInterface.h"
#include "Core/Host.h"
-#include "Core/HW/Memmap.h"
-#include "Core/PowerPC/PowerPC.h"
#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/DebuggerUIUtil.h"
#include "DolphinWX/Debugger/MemoryView.h"
diff --git a/Source/Core/DolphinWX/Debugger/MemoryView.h b/Source/Core/DolphinWX/Debugger/MemoryView.h
index b018669..76cfb7d 100644
--- a/Source/Core/DolphinWX/Debugger/MemoryView.h
+++ b/Source/Core/DolphinWX/Debugger/MemoryView.h
@@ -4,9 +4,13 @@
#pragma once
-#include "Common/Common.h"
-#include "Common/DebugInterface.h"
-#include "DolphinWX/Debugger/DebuggerUIUtil.h"
+#include <wx/control.h>
+#include <wx/event.h>
+
+#include "Common/CommonTypes.h"
+
+class DebugInterface;
+class wxWindow;
class CMemoryView : public wxControl
{
diff --git a/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp b/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp
index 516ab41..9695b62 100644
--- a/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp
+++ b/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp
@@ -2,25 +2,46 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <vector>
#include <wx/button.h>
-#include <wx/listctrl.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/crtvararg.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/listbox.h>
+#include <wx/msgdlg.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
#include <wx/textctrl.h>
-#include <wx/thread.h>
+#include <wx/translation.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
+#include "Common/Common.h"
#include "Common/FileUtil.h"
-#include "Common/LogManager.h"
+#include "Common/IniFile.h"
+#include "Common/StringUtil.h"
+#include "Common/SymbolDB.h"
#include "Core/ConfigManager.h"
-#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "Core/Debugger/PPCDebugInterface.h"
-#include "Core/HW/CPU.h"
#include "Core/HW/DSP.h"
#include "Core/HW/Memmap.h"
#include "Core/PowerPC/PowerPC.h"
-#include "Core/PowerPC/PPCSymbolDB.h"
#include "DolphinWX/Globals.h"
#include "DolphinWX/WxUtils.h"
+#include "DolphinWX/Debugger/MemoryView.h"
#include "DolphinWX/Debugger/MemoryWindow.h"
+class DebugInterface;
+
enum
{
IDM_MEM_ADDRBOX = 350,
diff --git a/Source/Core/DolphinWX/Debugger/MemoryWindow.h b/Source/Core/DolphinWX/Debugger/MemoryWindow.h
index 19fbe1c..b3ffb13 100644
--- a/Source/Core/DolphinWX/Debugger/MemoryWindow.h
+++ b/Source/Core/DolphinWX/Debugger/MemoryWindow.h
@@ -4,17 +4,23 @@
#pragma once
-#include <wx/dialog.h>
-#include <wx/listbox.h>
-#include <wx/textctrl.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
-#include "Common/StringUtil.h"
-#include "Common/Thread.h"
-#include "Core/CoreParameter.h"
-#include "DolphinWX/Debugger/MemoryView.h"
+#include "Common/CommonTypes.h"
-class CRegisterWindow;
-class CBreakPointWindow;
+class CMemoryView;
+class IniFile;
+class wxButton;
+class wxCheckBox;
+class wxListBox;
+class wxTextCtrl;
+class wxWindow;
class CMemoryWindow
: public wxPanel
diff --git a/Source/Core/DolphinWX/Debugger/RegisterView.cpp b/Source/Core/DolphinWX/Debugger/RegisterView.cpp
index b2045c8..cf0243b 100644
--- a/Source/Core/DolphinWX/Debugger/RegisterView.cpp
+++ b/Source/Core/DolphinWX/Debugger/RegisterView.cpp
@@ -2,13 +2,24 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Common/IniFile.h"
+#include <wx/chartype.h>
+#include <wx/colour.h>
+#include <wx/defs.h>
+#include <wx/grid.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
+
+#include "Common/CommonTypes.h"
+#include "Common/StringUtil.h"
#include "Core/HW/ProcessorInterface.h"
#include "Core/PowerPC/PowerPC.h"
+#include "Core/PowerPC/Gekko.h"
#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/DebuggerUIUtil.h"
#include "DolphinWX/Debugger/RegisterView.h"
+class wxWindow;
+
// F-zero 80005e60 wtf??
extern const char* GetGPRName(unsigned int index);
diff --git a/Source/Core/DolphinWX/Debugger/RegisterView.h b/Source/Core/DolphinWX/Debugger/RegisterView.h
index 6bcd46a..9b91cae 100644
--- a/Source/Core/DolphinWX/Debugger/RegisterView.h
+++ b/Source/Core/DolphinWX/Debugger/RegisterView.h
@@ -4,10 +4,16 @@
#pragma once
+#include <cstring>
+#include <wx/defs.h>
#include <wx/grid.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
#include "Common/Common.h"
+class wxWindow;
+
// New register view:
// R0 0x8000000 F0 0.0000 F0_PS1 0.0000
// R1 0x8000000 F1 0.0000 F1_PS1 0.0000
diff --git a/Source/Core/DolphinWX/Debugger/RegisterWindow.cpp b/Source/Core/DolphinWX/Debugger/RegisterWindow.cpp
index c18d207..5188f87 100644
--- a/Source/Core/DolphinWX/Debugger/RegisterWindow.cpp
+++ b/Source/Core/DolphinWX/Debugger/RegisterWindow.cpp
@@ -2,12 +2,20 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <wx/wx.h>
+#include <cstddef>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
+#include <wx/windowid.h>
-#include "Core/PowerPC/PowerPC.h"
#include "DolphinWX/Debugger/RegisterView.h"
#include "DolphinWX/Debugger/RegisterWindow.h"
+class wxWindow;
+
extern const char* GetGRPName(unsigned int index);
BEGIN_EVENT_TABLE(CRegisterWindow, wxPanel)
diff --git a/Source/Core/DolphinWX/Debugger/RegisterWindow.h b/Source/Core/DolphinWX/Debugger/RegisterWindow.h
index f1d8db1..f0b38b8 100644
--- a/Source/Core/DolphinWX/Debugger/RegisterWindow.h
+++ b/Source/Core/DolphinWX/Debugger/RegisterWindow.h
@@ -4,8 +4,16 @@
#pragma once
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
class CRegisterView;
-class IniFile;
+class wxWindow;
class CRegisterWindow
: public wxPanel
diff --git a/Source/Core/DolphinWX/FifoPlayerDlg.cpp b/Source/Core/DolphinWX/FifoPlayerDlg.cpp
index 5a8a39b..95209a6 100644
--- a/Source/Core/DolphinWX/FifoPlayerDlg.cpp
+++ b/Source/Core/DolphinWX/FifoPlayerDlg.cpp
@@ -3,19 +3,47 @@
// Refer to the license.txt file included.
#include <algorithm>
+#include <cstddef>
+#include <mutex>
+#include <string>
#include <vector>
+
+#include <wx/accel.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
#include <wx/clipbrd.h>
+#include <wx/dataobj.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/filedlg.h>
+#include <wx/gdicmn.h>
+#include <wx/listbox.h>
+#include <wx/notebook.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/spinbutt.h>
#include <wx/spinctrl.h>
+#include <wx/statbox.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+#include <wx/utils.h>
#include "Common/Common.h"
-#include "Common/FileUtil.h"
-#include "Common/Thread.h"
#include "Core/FifoPlayer/FifoPlayer.h"
+#include "Core/FifoPlayer/FifoDataFile.h"
+#include "Core/FifoPlayer/FifoPlaybackAnalyzer.h"
#include "Core/FifoPlayer/FifoRecorder.h"
#include "DolphinWX/FifoPlayerDlg.h"
#include "DolphinWX/WxUtils.h"
+#include "VideoCommon/BPMemory.h"
#include "VideoCommon/OpcodeDecoding.h"
+class wxWindow;
+
DECLARE_EVENT_TYPE(RECORDING_FINISHED_EVENT, -1)
DEFINE_EVENT_TYPE(RECORDING_FINISHED_EVENT)
diff --git a/Source/Core/DolphinWX/FifoPlayerDlg.h b/Source/Core/DolphinWX/FifoPlayerDlg.h
index 4e72878..7fa8868 100644
--- a/Source/Core/DolphinWX/FifoPlayerDlg.h
+++ b/Source/Core/DolphinWX/FifoPlayerDlg.h
@@ -4,12 +4,28 @@
#pragma once
+#include <cstddef>
#include <vector>
-#include <wx/notebook.h>
-#include <wx/wx.h>
-
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/string.h>
+
+#include "Common/CommonTypes.h"
+
+class wxButton;
+class wxCheckBox;
+class wxCommandEvent;
+class wxEvent;
+class wxEvtHandler;
+class wxListBox;
+class wxNotebook;
+class wxPaintEvent;
+class wxPanel;
class wxSpinCtrl;
class wxSpinEvent;
+class wxStaticText;
+class wxTextCtrl;
+class wxWindow;
class FifoPlayerDlg : public wxDialog
{
diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp
index 2a17f6c..f1c2773 100644
--- a/Source/Core/DolphinWX/Frame.cpp
+++ b/Source/Core/DolphinWX/Frame.cpp
@@ -13,31 +13,58 @@
#ifdef __APPLE__
#include <Cocoa/Cocoa.h>
#endif
-#include <wx/datetime.h>
+
+#include <cstddef>
+#include <string>
+#include <utility>
+#include <vector>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/frame.h>
+#include <wx/gdicmn.h>
+#include <wx/icon.h>
+#include <wx/listbase.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
+#include <wx/mousestate.h>
+#include <wx/msgdlg.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/statusbr.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/thread.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
+#include <wx/aui/auibar.h>
+#include <wx/aui/auibook.h>
+#include <wx/aui/framemanager.h>
#include "Common/Common.h"
#include "Common/FileUtil.h"
-#include "Common/Timer.h"
+#include "Common/Thread.h"
-#include "Core/BootManager.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "Core/Movie.h"
#include "Core/State.h"
-#include "Core/VolumeHandler.h"
-#include "Core/HW/DVDInterface.h"
-#include "Core/HW/GCPad.h"
-#include "Core/IPC_HLE/WII_IPC_HLE_Device_usb.h"
-#include "DolphinWX/CheatsWindow.h"
-#include "DolphinWX/ConfigMain.h"
#include "DolphinWX/Frame.h"
#include "DolphinWX/GameListCtrl.h"
#include "DolphinWX/Globals.h"
+#include "DolphinWX/LogWindow.h"
+#include "DolphinWX/TASInputDlg.h"
+#include "DolphinWX/WxUtils.h"
+#include "DolphinWX/Debugger/CodeWindow.h"
+
+#include "InputCommon/GCPadStatus.h"
#include "VideoCommon/RenderBase.h"
#include "VideoCommon/VertexShaderManager.h"
-#include "VideoCommon/VideoBackendBase.h"
#include "VideoCommon/VideoConfig.h"
// Resources
diff --git a/Source/Core/DolphinWX/Frame.h b/Source/Core/DolphinWX/Frame.h
index 6894f9d..9cfbdb6 100644
--- a/Source/Core/DolphinWX/Frame.h
+++ b/Source/Core/DolphinWX/Frame.h
@@ -4,44 +4,52 @@
#pragma once
+#include <cstddef>
+#include <mutex>
#include <string>
#include <vector>
-#include <wx/artprov.h>
-#include <wx/busyinfo.h>
-#include <wx/listctrl.h>
+#include <wx/bitmap.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/frame.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
#include <wx/mstream.h>
-#include <wx/tooltip.h>
-#include <wx/wx.h>
-#include <wx/aui/aui.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/toplevel.h>
+#include <wx/windowid.h>
-#include "Common/CDUtils.h"
-#include "Core/Movie.h"
+#include "Common/CommonTypes.h"
+#include "Common/Thread.h"
#include "DolphinWX/Globals.h"
-#include "DolphinWX/LogConfigWindow.h"
-#include "DolphinWX/LogWindow.h"
-#include "DolphinWX/TASInputDlg.h"
-#include "DolphinWX/Debugger/CodeWindow.h"
+#include "InputCommon/GCPadStatus.h"
#if defined(HAVE_X11) && HAVE_X11
#include "DolphinWX/X11Utils.h"
#endif
-// A shortcut to access the bitmaps
-#define wxGetBitmapFromMemory(name) _wxGetBitmapFromMemory(name, sizeof(name))
-static inline wxBitmap _wxGetBitmapFromMemory(const unsigned char* data, int length)
-{
- wxMemoryInputStream is(data, length);
- return(wxBitmap(wxImage(is, wxBITMAP_TYPE_ANY, -1), -1));
-}
-
// Class declarations
class CGameListCtrl;
-class GameListItem;
+class CCodeWindow;
class CLogWindow;
class FifoPlayerDlg;
+class LogConfigWindow;
class NetPlaySetupDiag;
+class TASInputDlg;
class wxCheatsWindow;
+class wxAuiManager;
+class wxAuiManagerEvent;
+class wxAuiNotebook;
+class wxAuiNotebookEvent;
+class wxAuiToolBar;
+class wxAuiToolBarEvent;
+class wxListEvent;
+class wxMenuItem;
+class wxWindow;
+
// The CPanel class to receive MSWWindowProc messages from the video backend.
class CPanel : public wxPanel
{
diff --git a/Source/Core/DolphinWX/FrameAui.cpp b/Source/Core/DolphinWX/FrameAui.cpp
index ccba858..52d8ca3 100644
--- a/Source/Core/DolphinWX/FrameAui.cpp
+++ b/Source/Core/DolphinWX/FrameAui.cpp
@@ -2,12 +2,45 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <string>
+#include <vector>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/dynarray.h>
+#include <wx/event.h>
+#include <wx/frame.h>
+#include <wx/gdicmn.h>
+#include <wx/list.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
+#include <wx/msgdlg.h>
+#include <wx/object.h>
+#include <wx/panel.h>
+#include <wx/rtti.h>
+#include <wx/sizer.h>
+#include <wx/statusbr.h>
+#include <wx/string.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/textdlg.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
+#include <wx/aui/auibar.h>
+#include <wx/aui/auibook.h>
+#include <wx/aui/framemanager.h>
+
#include "Common/Common.h"
+#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
+#include "Common/StringUtil.h"
#include "Core/ConfigManager.h"
#include "DolphinWX/Frame.h"
#include "DolphinWX/Globals.h"
+#include "DolphinWX/LogConfigWindow.h"
#include "DolphinWX/LogWindow.h"
#include "DolphinWX/WxUtils.h"
+#include "DolphinWX/Debugger/CodeWindow.h"
// ------------
// Aui events
diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp
index 27da521..b51be97 100644
--- a/Source/Core/DolphinWX/FrameTools.cpp
+++ b/Source/Core/DolphinWX/FrameTools.cpp
@@ -14,31 +14,60 @@ window handle that is returned by CreateWindow() can be accessed from
Core::GetWindowHandle().
*/
-#include <wx/datetime.h>
+#include <cstdarg>
+#include <cstdio>
+#include <mutex>
+#include <string>
+#include <vector>
+#include <wx/app.h>
+#include <wx/bitmap.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/filedlg.h>
+#include <wx/filefn.h>
+#include <wx/gdicmn.h>
+#include <wx/msgdlg.h>
+#include <wx/progdlg.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
+#include <wx/panel.h>
+#include <wx/statusbr.h>
+#include <wx/strconv.h>
+#include <wx/string.h>
+#include <wx/thread.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/utils.h>
+#include <wx/window.h>
+#include <wx/aui/auibar.h>
+#include <wx/aui/framemanager.h>
#ifdef __APPLE__
#include <AppKit/AppKit.h>
#endif
+#include "Common/CDUtils.h"
#include "Common/Common.h"
#include "Common/FileSearch.h"
#include "Common/FileUtil.h"
-#include "Common/Timer.h"
+#include "Common/NandPaths.h"
#include "Core/BootManager.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "Core/Host.h"
#include "Core/Movie.h"
#include "Core/State.h"
-#include "Core/VolumeHandler.h"
#include "Core/HW/CPU.h"
#include "Core/HW/DVDInterface.h"
#include "Core/HW/GCPad.h"
#include "Core/HW/ProcessorInterface.h"
+#include "Core/HW/SI_Device.h"
#include "Core/HW/Wiimote.h"
-//#include "IPC_HLE/WII_IPC_HLE_Device_FileIO.h"
#include "Core/IPC_HLE/WII_IPC_HLE_Device_usb.h"
+#include "Core/IPC_HLE/WII_IPC_HLE_WiiMote.h"
#include "Core/PowerPC/PowerPC.h"
#include "DiscIO/NANDContentLoader.h"
@@ -52,7 +81,7 @@ Core::GetWindowHandle().
#include "DolphinWX/Globals.h"
#include "DolphinWX/HotkeyDlg.h"
#include "DolphinWX/InputConfigDiag.h"
-#include "DolphinWX/LogConfigWindow.h"
+#include "DolphinWX/ISOFile.h"
#include "DolphinWX/LogWindow.h"
#include "DolphinWX/MemcardManager.h"
#include "DolphinWX/NetWindow.h"
@@ -60,6 +89,10 @@ Core::GetWindowHandle().
#include "DolphinWX/WiimoteConfigDiag.h"
#include "DolphinWX/WXInputBase.h"
#include "DolphinWX/WxUtils.h"
+#include "DolphinWX/Debugger/CodeWindow.h"
+#include "DolphinWX/MemoryCards/WiiSaveCrypted.h"
+
+#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "VideoCommon/VideoBackendBase.h"
@@ -83,6 +116,9 @@ extern "C" {
#include "DolphinWX/resources/Dolphin.c" // NOLINT: Dolphin icon
};
+class InputPlugin;
+class wxFrame;
+
bool confirmStop = false;
// Create menu items
diff --git a/Source/Core/DolphinWX/GameListCtrl.cpp b/Source/Core/DolphinWX/GameListCtrl.cpp
index 800cee9..bd420f8 100644
--- a/Source/Core/DolphinWX/GameListCtrl.cpp
+++ b/Source/Core/DolphinWX/GameListCtrl.cpp
@@ -4,25 +4,65 @@
#include <algorithm>
#include <cinttypes>
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
#include <memory>
+#include <string>
+#include <vector>
+#include <wx/app.h>
+#include <wx/bitmap.h>
+#include <wx/buffer.h>
+#include <wx/chartype.h>
+#include <wx/colour.h>
+#include <wx/defs.h>
+#include <wx/dirdlg.h>
+#include <wx/event.h>
+#include <wx/filedlg.h>
+#include <wx/filefn.h>
#include <wx/filename.h>
-#include <wx/fontmap.h>
+#include <wx/gdicmn.h>
#include <wx/imaglist.h>
+#include <wx/listbase.h>
+#include <wx/listctrl.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
+#include <wx/msgdlg.h>
+#include <wx/progdlg.h>
+#include <wx/settings.h>
+#include <wx/string.h>
+#include <wx/tipwin.h>
+#include <wx/translation.h>
+#include <wx/unichar.h>
+#include <wx/utils.h>
+#include <wx/version.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
#include "Common/CDUtils.h"
+#include "Common/Common.h"
#include "Common/FileSearch.h"
#include "Common/FileUtil.h"
#include "Common/MathUtil.h"
#include "Common/StringUtil.h"
+#include "Common/SysConf.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
+#include "Core/CoreParameter.h"
+#include "Core/Movie.h"
+#include "Core/Boot/Boot.h"
#include "Core/HW/DVDInterface.h"
#include "DiscIO/Blob.h"
+#include "DiscIO/Volume.h"
+#include "DiscIO/VolumeCreator.h"
+#include "DolphinWX/Frame.h"
#include "DolphinWX/GameListCtrl.h"
#include "DolphinWX/Globals.h"
+#include "DolphinWX/ISOFile.h"
#include "DolphinWX/ISOProperties.h"
#include "DolphinWX/Main.h"
#include "DolphinWX/WxUtils.h"
+#include "DolphinWX/MemoryCards/WiiSaveCrypted.h"
#include "DolphinWX/resources/Flag_Europe.xpm"
#include "DolphinWX/resources/Flag_France.xpm"
#include "DolphinWX/resources/Flag_Germany.xpm"
diff --git a/Source/Core/DolphinWX/GameListCtrl.h b/Source/Core/DolphinWX/GameListCtrl.h
index 7b3009d..1c183a5 100644
--- a/Source/Core/DolphinWX/GameListCtrl.h
+++ b/Source/Core/DolphinWX/GameListCtrl.h
@@ -4,14 +4,21 @@
#pragma once
-#include <memory>
+#include <cstddef>
+#include <string>
#include <vector>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
#include <wx/listctrl.h>
+#include <wx/string.h>
#include <wx/tipwin.h>
+#include <wx/windowid.h>
#include "DolphinWX/ISOFile.h"
-#include "DolphinWX/MemoryCards/WiiSaveCrypted.h"
+
+class wxListEvent;
+class wxWindow;
class wxEmuStateTip : public wxTipWindow
{
diff --git a/Source/Core/DolphinWX/GeckoCodeDiag.cpp b/Source/Core/DolphinWX/GeckoCodeDiag.cpp
index 7e48bf5..cbdb19e 100644
--- a/Source/Core/DolphinWX/GeckoCodeDiag.cpp
+++ b/Source/Core/DolphinWX/GeckoCodeDiag.cpp
@@ -3,13 +3,34 @@
// Refer to the license.txt file included.
#include <sstream>
-
+#include <string>
+#include <vector>
#include <SFML/Network/Http.hpp>
-
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checklst.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/listbox.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+#include <wx/window.h>
+
+#include "Common/Common.h"
+#include "Common/StringUtil.h"
#include "Core/Core.h"
+#include "Core/GeckoCode.h"
+#include "Core/GeckoCodeConfig.h"
#include "DolphinWX/GeckoCodeDiag.h"
#include "DolphinWX/WxUtils.h"
+class IniFile;
+
namespace Gecko
{
diff --git a/Source/Core/DolphinWX/GeckoCodeDiag.h b/Source/Core/DolphinWX/GeckoCodeDiag.h
index bf3fb06..eb569e7 100644
--- a/Source/Core/DolphinWX/GeckoCodeDiag.h
+++ b/Source/Core/DolphinWX/GeckoCodeDiag.h
@@ -4,10 +4,20 @@
#pragma once
-#include <wx/wx.h>
+#include <string>
+#include <vector>
+#include <wx/panel.h>
#include "Core/GeckoCode.h"
-#include "Core/GeckoCodeConfig.h"
+
+class IniFile;
+class wxButton;
+class wxCheckListBox;
+class wxCommandEvent;
+class wxListBox;
+class wxStaticText;
+class wxTextCtrl;
+class wxWindow;
namespace Gecko
{
diff --git a/Source/Core/DolphinWX/Globals.h b/Source/Core/DolphinWX/Globals.h
index f114b8f..9b60c45 100644
--- a/Source/Core/DolphinWX/Globals.h
+++ b/Source/Core/DolphinWX/Globals.h
@@ -7,24 +7,8 @@
#pragma once
-#include <wx/aboutdlg.h>
-#include <wx/busyinfo.h>
-#include <wx/button.h>
-#include <wx/choice.h>
-#include <wx/cmdline.h>
-#include <wx/filedlg.h>
-#include <wx/image.h>
-#include <wx/imagpng.h>
-#include <wx/listctrl.h>
-#include <wx/log.h>
-#include <wx/progdlg.h>
-#include <wx/spinctrl.h>
-#include <wx/srchctrl.h>
-#include <wx/stattext.h>
-#include <wx/toolbar.h>
-#include <wx/wx.h>
-
-#include "Common/Common.h"
+#include <cstddef>
+#include <wx/event.h>
enum
{
diff --git a/Source/Core/DolphinWX/HotkeyDlg.cpp b/Source/Core/DolphinWX/HotkeyDlg.cpp
index 12b4bd8..5d075e0 100644
--- a/Source/Core/DolphinWX/HotkeyDlg.cpp
+++ b/Source/Core/DolphinWX/HotkeyDlg.cpp
@@ -2,10 +2,32 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
+#include <wx/app.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/font.h>
+#include <wx/gbsizer.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
#include <wx/notebook.h>
-
+#include <wx/setup.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/timer.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+#include "Core/CoreParameter.h"
#include "Core/ConfigManager.h"
#include "DolphinWX/HotkeyDlg.h"
+#include "DolphinWX/WXInputBase.h"
+
+class wxWindow;
BEGIN_EVENT_TABLE(HotkeyConfigDialog,wxDialog)
EVT_COMMAND_RANGE(0, NUM_HOTKEYS - 1,
diff --git a/Source/Core/DolphinWX/HotkeyDlg.h b/Source/Core/DolphinWX/HotkeyDlg.h
index 8ca4fc9..90a1550 100644
--- a/Source/Core/DolphinWX/HotkeyDlg.h
+++ b/Source/Core/DolphinWX/HotkeyDlg.h
@@ -4,17 +4,15 @@
#pragma once
-#include <wx/button.h>
-#include <wx/checkbox.h>
-#include <wx/combobox.h>
-#include <wx/gbsizer.h>
-#include <wx/stattext.h>
-#include <wx/textctrl.h>
-#include <wx/wx.h>
-
-#include "Common/Common.h"
+#include <wx/dialog.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
#include "Core/CoreParameter.h"
-#include "DolphinWX/WXInputBase.h"
#if defined(HAVE_X11) && HAVE_X11
#include "InputCommon/X11InputBase.h"
@@ -22,6 +20,11 @@
#include <X11/keysym.h>
#endif
+class wxButton;
+class wxTimer;
+class wxTimerEvent;
+class wxWindow;
+
class HotkeyConfigDialog : public wxDialog
{
public:
diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp
index fabdd9e..a8b20a4 100644
--- a/Source/Core/DolphinWX/ISOFile.cpp
+++ b/Source/Core/DolphinWX/ISOFile.cpp
@@ -3,26 +3,34 @@
// Refer to the license.txt file included.
#include <cinttypes>
+#include <cstdio>
+#include <cstring>
#include <string>
#include <vector>
-#include <wx/mstream.h>
+#include <wx/bitmap.h>
+#include <wx/filefn.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/string.h>
#include "Common/ChunkFile.h"
#include "Common/Common.h"
#include "Common/CommonPaths.h"
-#include "Common/FileSearch.h"
#include "Common/FileUtil.h"
#include "Common/Hash.h"
#include "Common/IniFile.h"
#include "Common/StringUtil.h"
#include "Core/ConfigManager.h"
+#include "Core/CoreParameter.h"
+#include "Core/Boot/Boot.h"
#include "DiscIO/BannerLoader.h"
#include "DiscIO/CompressedBlob.h"
#include "DiscIO/Filesystem.h"
+#include "DiscIO/Volume.h"
+#include "DiscIO/VolumeCreator.h"
-#include "DolphinWX/Globals.h"
#include "DolphinWX/ISOFile.h"
#include "DolphinWX/WxUtils.h"
diff --git a/Source/Core/DolphinWX/ISOFile.h b/Source/Core/DolphinWX/ISOFile.h
index dc6d211..889bfee 100644
--- a/Source/Core/DolphinWX/ISOFile.h
+++ b/Source/Core/DolphinWX/ISOFile.h
@@ -7,8 +7,8 @@
#include <string>
#include <vector>
+#include "Common/Common.h"
#include "DiscIO/Volume.h"
-#include "DiscIO/VolumeCreator.h"
#if defined(HAVE_WX) && HAVE_WX
#include <wx/image.h>
diff --git a/Source/Core/DolphinWX/ISOProperties.cpp b/Source/Core/DolphinWX/ISOProperties.cpp
index e632340..5de3808 100644
--- a/Source/Core/DolphinWX/ISOProperties.cpp
+++ b/Source/Core/DolphinWX/ISOProperties.cpp
@@ -7,17 +7,69 @@
#endif
#include <cinttypes>
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
+#include <fstream>
+#include <set>
+#include <string>
+#include <vector>
#include <type_traits>
+#include <wx/arrstr.h>
+#include <wx/bitmap.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/checklst.h>
+#include <wx/choice.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/dirdlg.h>
+#include <wx/dynarray.h>
+#include <wx/event.h>
+#include <wx/filedlg.h>
+#include <wx/gbsizer.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/imaglist.h>
+#include <wx/itemid.h>
+#include <wx/menu.h>
+#include <wx/mimetype.h>
+#include <wx/msgdlg.h>
+#include <wx/notebook.h>
+#include <wx/panel.h>
+#include <wx/progdlg.h>
+#include <wx/sizer.h>
+#include <wx/statbmp.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/thread.h>
+#include <wx/translation.h>
+#include <wx/treebase.h>
+#include <wx/treectrl.h>
+#include <wx/utils.h>
+#include <wx/validate.h>
+#include <wx/windowid.h>
#include "Common/Common.h"
#include "Common/CommonPaths.h"
+#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
#include "Common/StringUtil.h"
+#include "Common/SysConf.h"
+#include "Core/ActionReplay.h"
+#include "Core/GeckoCodeConfig.h"
#include "Core/ConfigManager.h"
+#include "Core/CoreParameter.h"
+#include "Core/PatchEngine.h"
+#include "Core/Boot/Boot.h"
#include "DiscIO/Filesystem.h"
+#include "DiscIO/Volume.h"
#include "DiscIO/VolumeCreator.h"
#include "DolphinWX/ARCodeAddEdit.h"
#include "DolphinWX/GeckoCodeDiag.h"
-#include "DolphinWX/Globals.h"
+#include "DolphinWX/ISOFile.h"
#include "DolphinWX/ISOProperties.h"
#include "DolphinWX/PatchAddEdit.h"
#include "DolphinWX/PHackSettings.h"
@@ -26,6 +78,8 @@
#include "DolphinWX/resources/isoprop_file.xpm"
#include "DolphinWX/resources/isoprop_folder.xpm"
+class wxWindow;
+
struct WiiPartition
{
DiscIO::IVolume *Partition;
diff --git a/Source/Core/DolphinWX/ISOProperties.h b/Source/Core/DolphinWX/ISOProperties.h
index 12c709f..d36fad0 100644
--- a/Source/Core/DolphinWX/ISOProperties.h
+++ b/Source/Core/DolphinWX/ISOProperties.h
@@ -4,24 +4,33 @@
#pragma once
+#include <cstddef>
+#include <set>
#include <string>
-#include <wx/filepicker.h>
-#include <wx/fontmap.h>
-#include <wx/gbsizer.h>
-#include <wx/imaglist.h>
-#include <wx/mimetype.h>
-#include <wx/notebook.h>
-#include <wx/sizer.h>
-#include <wx/statbmp.h>
-#include <wx/treectrl.h>
-#include <wx/wx.h>
+#include <vector>
+#include <wx/arrstr.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/treebase.h>
+#include <wx/windowid.h>
#include "Common/IniFile.h"
-#include "Core/ActionReplay.h"
-#include "Core/PatchEngine.h"
-#include "DiscIO/Filesystem.h"
-#include "DolphinWX/GeckoCodeDiag.h"
-#include "DolphinWX/ISOFile.h"
+
+class GameListItem;
+class wxButton;
+class wxCheckBox;
+class wxCheckListBox;
+class wxChoice;
+class wxStaticBitmap;
+class wxTextCtrl;
+class wxTreeCtrl;
+class wxWindow;
+namespace DiscIO { struct SFileInfo; }
+namespace Gecko { class CodeConfigPanel; }
struct PHackData
{
diff --git a/Source/Core/DolphinWX/InputConfigDiag.cpp b/Source/Core/DolphinWX/InputConfigDiag.cpp
index d707eac..290a87d 100644
--- a/Source/Core/DolphinWX/InputConfigDiag.cpp
+++ b/Source/Core/DolphinWX/InputConfigDiag.cpp
@@ -2,12 +2,60 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <algorithm>
+#include <cctype>
+#include <cstddef>
+#include <memory>
+#include <mutex>
+#include <string>
+#include <vector>
+#include <wx/app.h>
+#include <wx/arrstr.h>
+#include <wx/bitmap.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/choice.h>
+#include <wx/control.h>
+#include <wx/combobox.h>
+#include <wx/dcmemory.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/font.h>
+#include <wx/gdicmn.h>
+#include <wx/listbox.h>
+#include <wx/notebook.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/slider.h>
+#include <wx/spinctrl.h>
+#include <wx/statbmp.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/timer.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/unichar.h>
+
+#include "Common/FileSearch.h"
+#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
+#include "Common/MsgHandler.h"
#include "Core/HW/Wiimote.h"
#include "DolphinWX/InputConfigDiag.h"
#include "DolphinWX/UDPConfigDiag.h"
#include "DolphinWX/WxUtils.h"
+#include "InputCommon/ControllerEmu.h"
+#include "InputCommon/InputConfig.h"
+#include "InputCommon/ControllerInterface/ControllerInterface.h"
+#include "InputCommon/ControllerInterface/Device.h"
#include "InputCommon/ControllerInterface/ExpressionParser.h"
+class UDPWrapper;
+class wxWindow;
+
using namespace ciface::ExpressionParser;
void GamepadPage::ConfigUDPWii(wxCommandEvent &event)
diff --git a/Source/Core/DolphinWX/InputConfigDiag.h b/Source/Core/DolphinWX/InputConfigDiag.h
index d265e87..f4eeafe 100644
--- a/Source/Core/DolphinWX/InputConfigDiag.h
+++ b/Source/Core/DolphinWX/InputConfigDiag.h
@@ -11,24 +11,37 @@
// might have to change this setup for wiimote
#define PROFILES_PATH "Profiles/"
-#include <sstream>
+#include <cstddef>
+#include <string>
#include <vector>
#include <wx/button.h>
-#include <wx/checkbox.h>
-#include <wx/combobox.h>
-#include <wx/listbox.h>
-#include <wx/notebook.h>
+#include <wx/control.h>
+#include <wx/dialog.h>
+#include <wx/gdicmn.h>
#include <wx/panel.h>
+#include <wx/sizer.h>
#include <wx/spinctrl.h>
-#include <wx/stattext.h>
-#include <wx/textctrl.h>
-#include <wx/wx.h>
+#include <wx/string.h>
+#include <wx/translation.h>
-#include "Common/FileSearch.h"
#include "InputCommon/ControllerEmu.h"
-#include "InputCommon/InputConfig.h"
-#include "InputCommon/UDPWrapper.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h"
+#include "InputCommon/ControllerInterface/Device.h"
+
+class InputPlugin;
+class UDPWrapper;
+class wxComboBox;
+class wxCommandEvent;
+class wxEvent;
+class wxListBox;
+class wxNotebook;
+class wxSlider;
+class wxStaticBitmap;
+class wxStaticText;
+class wxTextCtrl;
+class wxTimer;
+class wxTimerEvent;
+class wxWindow;
class PadSetting
{
diff --git a/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp b/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp
index 2e722ff..e41f155 100644
--- a/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp
+++ b/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp
@@ -2,9 +2,33 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstring>
+#include <memory>
+#include <mutex>
+#include <string>
+#include <vector>
+#include <wx/bitmap.h>
+#include <wx/brush.h>
+#include <wx/chartype.h>
+#include <wx/colour.h>
+#include <wx/dcmemory.h>
+#include <wx/defs.h>
+#include <wx/font.h>
+#include <wx/gdicmn.h>
+#include <wx/notebook.h>
+#include <wx/pen.h>
+#include <wx/statbmp.h>
+#include <wx/string.h>
+
#include "DolphinWX/InputConfigDiag.h"
#include "DolphinWX/WxUtils.h"
+#include "InputCommon/ControllerEmu.h"
+#include "InputCommon/ControllerInterface/ControllerInterface.h"
+#include "InputCommon/ControllerInterface/Device.h"
+
+class wxTimerEvent;
+
void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
{
wxFont small_font(6, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD);
diff --git a/Source/Core/DolphinWX/LogConfigWindow.cpp b/Source/Core/DolphinWX/LogConfigWindow.cpp
index 1ec51c7..26cd3c1 100644
--- a/Source/Core/DolphinWX/LogConfigWindow.cpp
+++ b/Source/Core/DolphinWX/LogConfigWindow.cpp
@@ -2,12 +2,32 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <vector>
+#include <wx/anybutton.h>
+#include <wx/arrstr.h>
+#include <wx/button.h>
+#include <wx/checkbox.h>
+#include <wx/checklst.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/radiobox.h>
+#include <wx/sizer.h>
+#include <wx/translation.h>
+#include <wx/validate.h>
+#include <wx/windowid.h>
+
#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
+#include "Common/Log.h"
#include "Common/LogManager.h"
#include "DolphinWX/LogConfigWindow.h"
#include "DolphinWX/LogWindow.h"
#include "DolphinWX/WxUtils.h"
+class wxWindow;
+
LogConfigWindow::LogConfigWindow(wxWindow* parent, CLogWindow *log_window, wxWindowID id)
: wxPanel(parent, id, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _("Log Configuration"))
, m_LogWindow(log_window), enableAll(true)
diff --git a/Source/Core/DolphinWX/LogConfigWindow.h b/Source/Core/DolphinWX/LogConfigWindow.h
index a465c74..50d2b39 100644
--- a/Source/Core/DolphinWX/LogConfigWindow.h
+++ b/Source/Core/DolphinWX/LogConfigWindow.h
@@ -4,12 +4,17 @@
#pragma once
-#include <vector>
-#include <wx/wx.h>
+#include <wx/defs.h>
+#include <wx/panel.h>
+#include <wx/windowid.h>
-class CFrame;
class LogManager;
class CLogWindow;
+class wxCheckBox;
+class wxCheckListBox;
+class wxCommandEvent;
+class wxRadioBox;
+class wxWindow;
class LogConfigWindow : public wxPanel
{
diff --git a/Source/Core/DolphinWX/LogWindow.cpp b/Source/Core/DolphinWX/LogWindow.cpp
index 8376149..5a8be5e 100644
--- a/Source/Core/DolphinWX/LogWindow.cpp
+++ b/Source/Core/DolphinWX/LogWindow.cpp
@@ -2,10 +2,37 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include <wx/fontmap.h>
-
+#include <cstddef>
+#include <mutex>
+#include <queue>
+#include <utility>
+#include <vector>
+#include <wx/anybutton.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/choice.h>
+#include <wx/colour.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/font.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/timer.h>
+#include <wx/translation.h>
+#include <wx/validate.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
+#include <wx/aui/framemanager.h>
+
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/IniFile.h"
+#include "Common/LogManager.h"
+#include "DolphinWX/Frame.h"
#include "DolphinWX/LogWindow.h"
#include "DolphinWX/WxUtils.h"
#include "DolphinWX/Debugger/DebuggerUIUtil.h"
diff --git a/Source/Core/DolphinWX/LogWindow.h b/Source/Core/DolphinWX/LogWindow.h
index bb1b59c..2d92e16 100644
--- a/Source/Core/DolphinWX/LogWindow.h
+++ b/Source/Core/DolphinWX/LogWindow.h
@@ -4,11 +4,29 @@
#pragma once
+#include <mutex>
#include <queue>
+#include <utility>
+#include <vector>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/font.h>
+#include <wx/gdicmn.h>
+#include <wx/panel.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+#include "Common/Common.h"
#include "Common/LogManager.h"
-#include "Common/Thread.h"
-#include "DolphinWX/Frame.h"
+
+class CFrame;
+class wxBoxSizer;
+class wxCheckBox;
+class wxChoice;
+class wxTextCtrl;
+class wxTimer;
+class wxTimerEvent;
enum
{
@@ -21,11 +39,6 @@ enum
IDM_SUBMITCMD
};
-class wxTextCtrl;
-class wxCheckListBox;
-class wxString;
-class CFrame;
-
// Uses multiple inheritance - only sane because LogListener is a pure virtual interface.
class CLogWindow : public wxPanel, LogListener
{
diff --git a/Source/Core/DolphinWX/Main.cpp b/Source/Core/DolphinWX/Main.cpp
index 97cded8..e80245e 100644
--- a/Source/Core/DolphinWX/Main.cpp
+++ b/Source/Core/DolphinWX/Main.cpp
@@ -2,22 +2,44 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstdarg>
+#include <cstdio>
+#include <cstring>
+#include <mutex>
#include <string>
-#include <vector>
+#include <utility>
+#include <wx/app.h>
+#include <wx/buffer.h>
+#include <wx/chartype.h>
+#include <wx/cmdline.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/imagpng.h>
#include <wx/intl.h>
-#include <wx/stdpaths.h>
+#include <wx/language.h>
+#include <wx/msgdlg.h>
+#include <wx/setup.h>
+#include <wx/string.h>
+#include <wx/timer.h>
+#include <wx/thread.h>
+#include <wx/translation.h>
+#include <wx/utils.h>
+#include <wx/window.h>
#include "Common/Common.h"
#include "Common/CommonPaths.h"
#include "Common/CPUDetect.h"
-#include "Common/ExtendedTrace.h"
#include "Common/FileUtil.h"
#include "Common/IniFile.h"
+#include "Common/LogManager.h"
+#include "Common/Thread.h"
-#include "Core/BootManager.h"
#include "Core/ConfigManager.h"
-#include "Core/Host.h"
+#include "Core/CoreParameter.h"
#include "Core/HW/Wiimote.h"
+#include "Core/Movie.h"
#include "DolphinWX/Frame.h"
#include "DolphinWX/Globals.h"
@@ -34,6 +56,7 @@
#ifdef _WIN32
#include <shellapi.h>
+#include "Common/ExtendedTrace.h"
#ifndef SM_XVIRTUALSCREEN
#define SM_XVIRTUALSCREEN 76
@@ -54,6 +77,8 @@
#import <AppKit/AppKit.h>
#endif
+class wxFrame;
+
// Nvidia drivers >= v302 will check if the application exports a global
// variable named NvOptimusEnablement to know if it should run the app in high
// performance graphics mode or using the IGP.
diff --git a/Source/Core/DolphinWX/Main.h b/Source/Core/DolphinWX/Main.h
index 3901e01..1e4b7c6 100644
--- a/Source/Core/DolphinWX/Main.h
+++ b/Source/Core/DolphinWX/Main.h
@@ -4,10 +4,18 @@
#pragma once
-#include "DolphinWX/Frame.h"
+#include <wx/app.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/string.h>
-// Define a new application
class CFrame;
+class wxLocale;
+class wxTimer;
+class wxTimerEvent;
+
+// Define a new application
class DolphinApp : public wxApp
{
public:
diff --git a/Source/Core/DolphinWX/MainAndroid.cpp b/Source/Core/DolphinWX/MainAndroid.cpp
index 7f49b1d..3d3b052 100644
--- a/Source/Core/DolphinWX/MainAndroid.cpp
+++ b/Source/Core/DolphinWX/MainAndroid.cpp
@@ -24,6 +24,7 @@
#include "Android/ButtonManager.h"
#include "Common/Common.h"
+#include "Common/CommonPaths.h"
#include "Common/CPUDetect.h"
#include "Common/FileUtil.h"
#include "Common/LogManager.h"
diff --git a/Source/Core/DolphinWX/MainNoGUI.cpp b/Source/Core/DolphinWX/MainNoGUI.cpp
index ac7941d..113d058 100644
--- a/Source/Core/DolphinWX/MainNoGUI.cpp
+++ b/Source/Core/DolphinWX/MainNoGUI.cpp
@@ -3,20 +3,18 @@
// Refer to the license.txt file included.
#include <cstdarg>
+#include <cstddef>
#include <cstdio>
-#include <cstdlib>
+#include <cstring>
#include <getopt.h>
#include "Common/Common.h"
-#include "Common/CPUDetect.h"
-#include "Common/FileUtil.h"
#include "Common/LogManager.h"
#include "Common/Thread.h"
#include "Core/BootManager.h"
#include "Core/ConfigManager.h"
-#include "Core/Core.h"
-#include "Core/Host.h"
+#include "Core/CoreParameter.h"
#include "Core/HW/Wiimote.h"
#include "Core/PowerPC/PowerPC.h"
diff --git a/Source/Core/DolphinWX/MemcardManager.cpp b/Source/Core/DolphinWX/MemcardManager.cpp
index e7d2466..d35559f 100644
--- a/Source/Core/DolphinWX/MemcardManager.cpp
+++ b/Source/Core/DolphinWX/MemcardManager.cpp
@@ -2,9 +2,35 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstring>
+#include <string>
+#include <wx/bitmap.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/filedlg.h>
+#include <wx/filepicker.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/imaglist.h>
+#include <wx/listbase.h>
+#include <wx/menu.h>
+#include <wx/menuitem.h>
#include <wx/mstream.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
#include "Common/Common.h"
+#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
+#include "Common/StringUtil.h"
+#include "Core/HW/GCMemcard.h"
#include "DolphinWX/MemcardManager.h"
#include "DolphinWX/WxUtils.h"
diff --git a/Source/Core/DolphinWX/MemcardManager.h b/Source/Core/DolphinWX/MemcardManager.h
index 775146f..c285736 100644
--- a/Source/Core/DolphinWX/MemcardManager.h
+++ b/Source/Core/DolphinWX/MemcardManager.h
@@ -4,18 +4,27 @@
#pragma once
-#include <wx/filepicker.h>
-#include <wx/fontmap.h>
-#include <wx/imaglist.h>
+#include <string>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
#include <wx/listctrl.h>
-#include <wx/sizer.h>
-#include <wx/statbmp.h>
-#include <wx/stattext.h>
-#include <wx/wx.h>
+#include <wx/string.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
-#include "Common/FileUtil.h"
+#include "Common/Common.h"
#include "Common/IniFile.h"
-#include "Core/HW/GCMemcard.h"
+
+class GCMemcard;
+class wxButton;
+class wxFileDirPickerEvent;
+class wxFilePickerCtrl;
+class wxStaticText;
+class wxWindow;
#undef MEMCARD_MANAGER_STYLE
#define MEMCARD_MANAGER_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxCLOSE_BOX | wxRESIZE_BORDER | wxMAXIMIZE_BOX
diff --git a/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.cpp b/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.cpp
index 1703b79..7bbd2f0 100644
--- a/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.cpp
+++ b/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.cpp
@@ -7,12 +7,22 @@
// Licensed under the terms of the GNU GPL, version 2
// http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
-#include <algorithm>
#include <cinttypes>
-
+#include <cstddef>
+#include <cstdio>
+#include <cstring>
+#include <string>
+#include <vector>
+#include <polarssl/aes.h>
+#include <polarssl/md5.h>
+#include <polarssl/sha1.h>
+
+#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/MathUtil.h"
#include "Common/NandPaths.h"
+#include "Common/StringUtil.h"
+#include "Common/Crypto/tools.h"
#include "DolphinWX/MemoryCards/WiiSaveCrypted.h"
static Common::replace_v replacements;
diff --git a/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.h b/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.h
index c2c85cb..583f9f4 100644
--- a/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.h
+++ b/Source/Core/DolphinWX/MemoryCards/WiiSaveCrypted.h
@@ -4,11 +4,11 @@
#pragma once
+#include <string>
+#include <vector>
#include <polarssl/aes.h>
-#include <polarssl/md5.h>
-#include "Common/StringUtil.h"
-#include "Common/Crypto/tools.h"
+#include "Common/CommonTypes.h"
// --- this is used for encrypted Wii save files
diff --git a/Source/Core/DolphinWX/NetWindow.cpp b/Source/Core/DolphinWX/NetWindow.cpp
index a5eadd1..82f0dd4 100644
--- a/Source/Core/DolphinWX/NetWindow.cpp
+++ b/Source/Core/DolphinWX/NetWindow.cpp
@@ -2,21 +2,51 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstddef>
#include <sstream>
#include <string>
-
+#include <vector>
+#include <wx/anybutton.h>
+#include <wx/arrstr.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/choice.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/frame.h>
+#include <wx/gdicmn.h>
+#include <wx/listbox.h>
+#include <wx/notebook.h>
+#include <wx/panel.h>
+#include <wx/sizer.h>
+#include <wx/spinctrl.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+
+#include "Common/Common.h"
+#include "Common/FifoQueue.h"
#include "Common/FileUtil.h"
#include "Common/IniFile.h"
#include "Core/ConfigManager.h"
-#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "Core/NetPlayClient.h"
+#include "Core/NetPlayProto.h"
#include "Core/NetPlayServer.h"
+#include "Core/HW/EXI_Device.h"
#include "DolphinWX/Frame.h"
+#include "DolphinWX/GameListCtrl.h"
+#include "DolphinWX/ISOFile.h"
#include "DolphinWX/NetWindow.h"
#include "DolphinWX/WxUtils.h"
+class wxWindow;
+
#define NETPLAY_TITLEBAR "Dolphin NetPlay"
#define INITIAL_PAD_BUFFER_SIZE 20
diff --git a/Source/Core/DolphinWX/NetWindow.h b/Source/Core/DolphinWX/NetWindow.h
index b02f735..e9e7092 100644
--- a/Source/Core/DolphinWX/NetWindow.h
+++ b/Source/Core/DolphinWX/NetWindow.h
@@ -4,21 +4,24 @@
#pragma once
-#include <queue>
#include <string>
+#include <vector>
#include <wx/dialog.h>
#include <wx/event.h>
-#include <wx/gbsizer.h>
-#include <wx/listbox.h>
-#include <wx/notebook.h>
-#include <wx/sizer.h>
-#include <wx/spinctrl.h>
-#include <wx/wx.h>
-
-#include "Common/CommonTypes.h"
+#include <wx/frame.h>
+
#include "Common/FifoQueue.h"
#include "Core/NetPlayClient.h"
-#include "DolphinWX/GameListCtrl.h"
+#include "Core/NetPlayProto.h"
+
+class CGameListCtrl;
+class wxButton;
+class wxCheckBox;
+class wxChoice;
+class wxListBox;
+class wxString;
+class wxTextCtrl;
+class wxWindow;
enum
{
diff --git a/Source/Core/DolphinWX/PHackSettings.cpp b/Source/Core/DolphinWX/PHackSettings.cpp
index 086303e..c3cbc77 100644
--- a/Source/Core/DolphinWX/PHackSettings.cpp
+++ b/Source/Core/DolphinWX/PHackSettings.cpp
@@ -2,11 +2,30 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <cstdio>
+#include <string>
+#include <wx/checkbox.h>
+#include <wx/choice.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
#include "Common/CommonPaths.h"
-#include "Core/ConfigManager.h"
+#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
+#include "DolphinWX/ISOProperties.h"
#include "DolphinWX/PHackSettings.h"
#include "DolphinWX/WxUtils.h"
+class wxWindow;
+
extern PHackData PHack_Data;
BEGIN_EVENT_TABLE(CPHackSettings, wxDialog)
diff --git a/Source/Core/DolphinWX/PHackSettings.h b/Source/Core/DolphinWX/PHackSettings.h
index 18965b7..76f562d 100644
--- a/Source/Core/DolphinWX/PHackSettings.h
+++ b/Source/Core/DolphinWX/PHackSettings.h
@@ -4,10 +4,19 @@
#pragma once
-#include <wx/spinctrl.h>
-#include <wx/wx.h>
-
-#include "DolphinWX/ISOProperties.h"
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+#include "Common/IniFile.h"
+
+class wxCheckBox;
+class wxChoice;
+class wxTextCtrl;
+class wxWindow;
class CPHackSettings : public wxDialog
{
diff --git a/Source/Core/DolphinWX/PatchAddEdit.cpp b/Source/Core/DolphinWX/PatchAddEdit.cpp
index 09a77a5..ac72e67 100644
--- a/Source/Core/DolphinWX/PatchAddEdit.cpp
+++ b/Source/Core/DolphinWX/PatchAddEdit.cpp
@@ -2,9 +2,33 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <string>
+#include <vector>
+#include <wx/arrstr.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gbsizer.h>
+#include <wx/gdicmn.h>
+#include <wx/radiobox.h>
+#include <wx/sizer.h>
+#include <wx/spinbutt.h>
+#include <wx/statbox.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
+
+#include "Common/Common.h"
+#include "Core/PatchEngine.h"
#include "DolphinWX/PatchAddEdit.h"
#include "DolphinWX/WxUtils.h"
+class wxWindow;
+
extern std::vector<PatchEngine::Patch> onFrame;
BEGIN_EVENT_TABLE(CPatchAddEdit, wxDialog)
diff --git a/Source/Core/DolphinWX/PatchAddEdit.h b/Source/Core/DolphinWX/PatchAddEdit.h
index e57c80a..7763bc4 100644
--- a/Source/Core/DolphinWX/PatchAddEdit.h
+++ b/Source/Core/DolphinWX/PatchAddEdit.h
@@ -4,10 +4,23 @@
#pragma once
-#include <wx/spinctrl.h>
-#include <wx/wx.h>
+#include <vector>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
-#include "DolphinWX/ISOProperties.h"
+#include "Core/PatchEngine.h"
+
+class wxButton;
+class wxRadioBox;
+class wxSpinButton;
+class wxSpinEvent;
+class wxStaticBoxSizer;
+class wxTextCtrl;
+class wxWindow;
class CPatchAddEdit : public wxDialog
{
diff --git a/Source/Core/DolphinWX/TASInputDlg.cpp b/Source/Core/DolphinWX/TASInputDlg.cpp
index 0ccb8bc..c619e5a 100644
--- a/Source/Core/DolphinWX/TASInputDlg.cpp
+++ b/Source/Core/DolphinWX/TASInputDlg.cpp
@@ -2,8 +2,29 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
-#include "Core/Movie.h"
+#include <cstddef>
+#include <wx/bitmap.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/dcmemory.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/layout.h>
+#include <wx/sizer.h>
+#include <wx/slider.h>
+#include <wx/statbmp.h>
+#include <wx/string.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
+#include <wx/validate.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
+
+#include "Common/CommonTypes.h"
#include "DolphinWX/TASInputDlg.h"
+#include "InputCommon/GCPadStatus.h"
BEGIN_EVENT_TABLE(TASInputDlg, wxDialog)
diff --git a/Source/Core/DolphinWX/TASInputDlg.h b/Source/Core/DolphinWX/TASInputDlg.h
index 45d54ef..d06c3ec 100644
--- a/Source/Core/DolphinWX/TASInputDlg.h
+++ b/Source/Core/DolphinWX/TASInputDlg.h
@@ -4,12 +4,25 @@
#pragma once
-#include <wx/wx.h>
+#include <wx/bitmap.h>
+#include <wx/dcmemory.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/string.h>
+#include <wx/toplevel.h>
+#include <wx/translation.h>
+#include <wx/windowid.h>
#include "Common/Common.h"
-#include "Core/CoreParameter.h"
#include "InputCommon/GCPadStatus.h"
+class wxCheckBox;
+class wxSlider;
+class wxStaticBitmap;
+class wxTextCtrl;
+class wxWindow;
+
class TASInputDlg : public wxDialog
{
public:
diff --git a/Source/Core/DolphinWX/UDPConfigDiag.cpp b/Source/Core/DolphinWX/UDPConfigDiag.cpp
index c01d913..01429fa 100644
--- a/Source/Core/DolphinWX/UDPConfigDiag.cpp
+++ b/Source/Core/DolphinWX/UDPConfigDiag.cpp
@@ -1,12 +1,20 @@
#include <string>
+#include <wx/checkbox.h>
+#include <wx/dialog.h>
+#include <wx/defs.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/textctrl.h>
+#include <wx/translation.h>
-#include "Common/Common.h"
-#include "Common/IniFile.h"
#include "DolphinWX/UDPConfigDiag.h"
#include "DolphinWX/WxUtils.h"
-#include "InputCommon/ControllerEmu.h"
#include "InputCommon/UDPWrapper.h"
+class wxWindow;
+
UDPConfigDiag::UDPConfigDiag(wxWindow * const parent, UDPWrapper * _wrp) :
wxDialog(parent, -1, _("UDP Wiimote"), wxDefaultPosition, wxDefaultSize),
wrp(_wrp)
diff --git a/Source/Core/DolphinWX/UDPConfigDiag.h b/Source/Core/DolphinWX/UDPConfigDiag.h
index 97d5f04..5638599 100644
--- a/Source/Core/DolphinWX/UDPConfigDiag.h
+++ b/Source/Core/DolphinWX/UDPConfigDiag.h
@@ -1,17 +1,12 @@
#pragma once
-#include <wx/button.h>
-#include <wx/checkbox.h>
-#include <wx/combobox.h>
-#include <wx/listbox.h>
-#include <wx/notebook.h>
-#include <wx/panel.h>
-#include <wx/spinctrl.h>
-#include <wx/stattext.h>
-#include <wx/textctrl.h>
-#include <wx/wx.h>
+#include <wx/dialog.h>
-#include "InputCommon/UDPWrapper.h"
+class UDPWrapper;
+class wxCheckBox;
+class wxCommandEvent;
+class wxTextCtrl;
+class wxWindow;
class UDPConfigDiag : public wxDialog
{
diff --git a/Source/Core/DolphinWX/VideoConfigDiag.cpp b/Source/Core/DolphinWX/VideoConfigDiag.cpp
index dfd958c..574eeef 100644
--- a/Source/Core/DolphinWX/VideoConfigDiag.cpp
+++ b/Source/Core/DolphinWX/VideoConfigDiag.cpp
@@ -1,11 +1,37 @@
-#include <wx/intl.h>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+#include <wx/arrstr.h>
+#include <wx/button.h>
+#include <wx/chartype.h>
+#include <wx/checkbox.h>
+#include <wx/choice.h>
+#include <wx/control.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/notebook.h>
+#include <wx/panel.h>
+#include <wx/radiobut.h>
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/slider.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/window.h>
#include "Common/FileUtil.h"
+#include "Common/SysConf.h"
+#include "Core/ConfigManager.h"
#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "DolphinWX/Frame.h"
#include "DolphinWX/VideoConfigDiag.h"
-#include "VideoCommon/TextureCacheBase.h"
-
+#include "DolphinWX/WxUtils.h"
+#include "VideoCommon/VideoBackendBase.h"
+#include "VideoCommon/VideoConfig.h"
#ifdef __APPLE__
#include <ApplicationServices/ApplicationServices.h>
diff --git a/Source/Core/DolphinWX/VideoConfigDiag.h b/Source/Core/DolphinWX/VideoConfigDiag.h
index fca4e13..c9f37cc 100644
--- a/Source/Core/DolphinWX/VideoConfigDiag.h
+++ b/Source/Core/DolphinWX/VideoConfigDiag.h
@@ -1,24 +1,34 @@
#pragma once
+#include <cstddef>
#include <map>
#include <string>
#include <vector>
-#include <wx/button.h>
#include <wx/checkbox.h>
-#include <wx/combobox.h>
-#include <wx/notebook.h>
-#include <wx/panel.h>
+#include <wx/choice.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/msgdlg.h>
+#include <wx/radiobut.h>
#include <wx/spinctrl.h>
#include <wx/stattext.h>
-#include <wx/textctrl.h>
-#include <wx/wx.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/window.h>
-#include "Common/MsgHandler.h"
+#include "Common/CommonTypes.h"
+#include "Common/SysConf.h"
#include "Core/ConfigManager.h"
-#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "DolphinWX/WxUtils.h"
+#include "VideoCommon/VideoBackendBase.h"
#include "VideoCommon/VideoConfig.h"
+class wxBoxSizer;
+class wxControl;
+class wxPanel;
+
template <typename W>
class BoolSetting : public W
{
diff --git a/Source/Core/DolphinWX/WXInputBase.cpp b/Source/Core/DolphinWX/WXInputBase.cpp
index 22a1d5f..979c941 100644
--- a/Source/Core/DolphinWX/WXInputBase.cpp
+++ b/Source/Core/DolphinWX/WXInputBase.cpp
@@ -2,6 +2,11 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <wx/chartype.h>
+#include <wx/defs.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+
#include "DolphinWX/WXInputBase.h"
namespace InputCommon
diff --git a/Source/Core/DolphinWX/WXInputBase.h b/Source/Core/DolphinWX/WXInputBase.h
index d47e2f3..ebc151d 100644
--- a/Source/Core/DolphinWX/WXInputBase.h
+++ b/Source/Core/DolphinWX/WXInputBase.h
@@ -4,9 +4,8 @@
#pragma once
-#include "Common/Common.h"
#if defined(HAVE_WX) && HAVE_WX
-#include <wx/wx.h>
+#include <wx/string.h>
#endif
namespace InputCommon
diff --git a/Source/Core/DolphinWX/WiimoteConfigDiag.cpp b/Source/Core/DolphinWX/WiimoteConfigDiag.cpp
index 2de3bf0..e366567 100644
--- a/Source/Core/DolphinWX/WiimoteConfigDiag.cpp
+++ b/Source/Core/DolphinWX/WiimoteConfigDiag.cpp
@@ -1,9 +1,35 @@
+#include <map>
+#include <string>
+#include <utility>
+#include <wx/button.h>
+#include <wx/checkbox.h>
+#include <wx/choice.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
+#include <wx/sizer.h>
+#include <wx/slider.h>
+#include <wx/stattext.h>
+#include <wx/string.h>
+#include <wx/translation.h>
+#include <wx/window.h>
+#include <wx/windowid.h>
+
+#include "Common/Common.h"
+#include "Common/FileUtil.h"
+#include "Common/IniFile.h"
+#include "Common/SysConf.h"
+#include "Core/ConfigManager.h"
+#include "Core/Core.h"
#include "Core/NetPlayProto.h"
#include "Core/HW/Wiimote.h"
#include "Core/HW/WiimoteReal/WiimoteReal.h"
-#include "DolphinWX/Frame.h"
+#include "DolphinWX/InputConfigDiag.h"
#include "DolphinWX/WiimoteConfigDiag.h"
+class InputPlugin;
+
WiimoteConfigDiag::WiimoteConfigDiag(wxWindow* const parent, InputPlugin& plugin)
: wxDialog(parent, -1, _("Dolphin Wiimote Configuration"), wxDefaultPosition, wxDefaultSize)
, m_plugin(plugin)
diff --git a/Source/Core/DolphinWX/WiimoteConfigDiag.h b/Source/Core/DolphinWX/WiimoteConfigDiag.h
index 5ae4d88..e36ba95 100644
--- a/Source/Core/DolphinWX/WiimoteConfigDiag.h
+++ b/Source/Core/DolphinWX/WiimoteConfigDiag.h
@@ -1,20 +1,17 @@
#pragma once
#include <map>
-#include <wx/button.h>
-#include <wx/checkbox.h>
-#include <wx/combobox.h>
-#include <wx/listbox.h>
-#include <wx/notebook.h>
-#include <wx/panel.h>
-#include <wx/spinctrl.h>
-#include <wx/stattext.h>
-#include <wx/textctrl.h>
-#include <wx/wx.h>
+#include <wx/dialog.h>
+#include <wx/event.h>
+#include <wx/windowid.h>
+#include "Common/SysConf.h"
#include "Core/ConfigManager.h"
#include "Core/HW/Wiimote.h"
-#include "DolphinWX/InputConfigDiag.h"
+
+class InputPlugin;
+class wxButton;
+class wxWindow;
class WiimoteConfigDiag : public wxDialog
{
diff --git a/Source/Core/DolphinWX/WxUtils.cpp b/Source/Core/DolphinWX/WxUtils.cpp
index a7ad6d4..fa7d91e 100644
--- a/Source/Core/DolphinWX/WxUtils.cpp
+++ b/Source/Core/DolphinWX/WxUtils.cpp
@@ -2,10 +2,15 @@
// Licensed under GPLv2
// Refer to the license.txt file included.
+#include <string>
+#include <wx/bitmap.h>
+#include <wx/chartype.h>
+#include <wx/gdicmn.h>
+#include <wx/image.h>
+#include <wx/mstream.h>
#include <wx/string.h>
-#include <wx/wx.h>
+#include <wx/utils.h>
-#include "Common/Common.h"
#include "DolphinWX/WxUtils.h"
#ifdef __APPLE__
@@ -57,6 +62,12 @@ double GetCurrentBitmapLogicalScale()
return 1.0;
}
+wxBitmap _wxGetBitmapFromMemory(const unsigned char* data, int length)
+{
+ wxMemoryInputStream is(data, length);
+ return(wxBitmap(wxImage(is, wxBITMAP_TYPE_ANY, -1), -1));
+}
+
} // namespace
std::string WxStrToStr(const wxString& str)
diff --git a/Source/Core/DolphinWX/WxUtils.h b/Source/Core/DolphinWX/WxUtils.h
index a3bd1ec..f4a77e9 100644
--- a/Source/Core/DolphinWX/WxUtils.h
+++ b/Source/Core/DolphinWX/WxUtils.h
@@ -7,6 +7,11 @@
#include <string>
#include <wx/string.h>
+class wxBitmap;
+
+// A shortcut to access the bitmaps
+#define wxGetBitmapFromMemory(name) WxUtils::_wxGetBitmapFromMemory(name, sizeof(name))
+
namespace WxUtils
{
@@ -18,6 +23,8 @@ void Explore(const char *path);
double GetCurrentBitmapLogicalScale();
+wxBitmap _wxGetBitmapFromMemory(const unsigned char* data, int length);
+
} // namespace
std::string WxStrToStr(const wxString& str);
diff --git a/Source/Core/DolphinWX/X11Utils.cpp b/Source/Core/DolphinWX/X11Utils.cpp
index 8b9971d..2a5f40b 100644
--- a/Source/Core/DolphinWX/X11Utils.cpp
+++ b/Source/Core/DolphinWX/X11Utils.cpp
@@ -6,6 +6,10 @@
#include <unistd.h>
#include <sys/wait.h>
+#include "Common/Log.h"
+#include "Core/ConfigManager.h"
+#include "Core/Core.h"
+#include "Core/CoreParameter.h"
#include "DolphinWX/X11Utils.h"
extern char **environ;
diff --git a/Source/Core/DolphinWX/X11Utils.h b/Source/Core/DolphinWX/X11Utils.h
index 8139e26..55e7e72 100644
--- a/Source/Core/DolphinWX/X11Utils.h
+++ b/Source/Core/DolphinWX/X11Utils.h
@@ -15,18 +15,15 @@
#if defined(HAVE_WX) && HAVE_WX
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
-#include <wx/wx.h>
+#include <wx/arrstr.h>
#endif
#if defined(HAVE_XRANDR) && HAVE_XRANDR
#include <X11/extensions/Xrandr.h>
#endif
+#include <X11/X.h>
#include <X11/Xlib.h>
-#include "Common/Common.h"
-#include "Core/ConfigManager.h"
-#include "Core/Core.h"
-
// EWMH state actions, see
// http://freedesktop.org/wiki/Specifications/wm-spec?action=show&redirect=Standards%2Fwm-spec
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"
diff --git a/Tools/find-includes-cycles.py b/Tools/find-includes-cycles.py
new file mode 100755
index 0000000..c4139cd
--- /dev/null
+++ b/Tools/find-includes-cycles.py
@@ -0,0 +1,80 @@
+#! /usr/bin/env python
+
+'''
+Run this script from Source/Core/ to find all the #include cycles.
+'''
+
+import subprocess
+
+def get_local_includes_for(path):
+ lines = open(path).read().split('\n')
+ includes = [l.strip() for l in lines if l.strip().startswith('#include')]
+ return [i.split()[1][1:-1] for i in includes if '"' in i.split()[1]]
+
+def find_all_files():
+ '''Could probably use os.walk, but meh.'''
+ f = subprocess.check_output(['find', '.', '-name', '*.h'],
+ universal_newlines=True).strip().split('\n')
+ return [p[2:] for p in f]
+
+def make_include_graph():
+ return { f: get_local_includes_for(f) for f in find_all_files() }
+
+def strongly_connected_components(graph):
+ """
+ Tarjan's Algorithm (named for its discoverer, Robert Tarjan) is a graph theory algorithm
+ for finding the strongly connected components of a graph.
+
+ Based on: http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm
+ """
+
+ index_counter = [0]
+ stack = []
+ lowlinks = {}
+ index = {}
+ result = []
+
+ def strongconnect(node):
+ # set the depth index for this node to the smallest unused index
+ index[node] = index_counter[0]
+ lowlinks[node] = index_counter[0]
+ index_counter[0] += 1
+ stack.append(node)
+
+ # Consider successors of `node`
+ try:
+ successors = graph[node]
+ except:
+ successors = []
+ for successor in successors:
+ if successor not in lowlinks:
+ # Successor has not yet been visited; recurse on it
+ strongconnect(successor)
+ lowlinks[node] = min(lowlinks[node],lowlinks[successor])
+ elif successor in stack:
+ # the successor is in the stack and hence in the current strongly connected component (SCC)
+ lowlinks[node] = min(lowlinks[node],index[successor])
+
+ # If `node` is a root node, pop the stack and generate an SCC
+ if lowlinks[node] == index[node]:
+ connected_component = []
+
+ while True:
+ successor = stack.pop()
+ connected_component.append(successor)
+ if successor == node: break
+ component = tuple(connected_component)
+ # storing the result
+ result.append(component)
+
+ for node in graph:
+ if node not in lowlinks:
+ strongconnect(node)
+
+ return result
+
+if __name__ == '__main__':
+ comp = strongly_connected_components(make_include_graph())
+ for c in comp:
+ if len(c) != 1:
+ print(c)