diff --git a/libxenia.vcxproj b/libxenia.vcxproj
index b35bf68c2..2dd787e50 100644
--- a/libxenia.vcxproj
+++ b/libxenia.vcxproj
@@ -15,12 +15,12 @@
-
+
-
+
-
+
@@ -63,7 +63,7 @@
-
+
@@ -102,7 +102,7 @@
-
+
@@ -110,7 +110,7 @@
-
+
@@ -118,7 +118,7 @@
-
+
@@ -267,15 +267,12 @@
-
-
+
-
-
+
-
-
+
@@ -328,7 +325,7 @@
-
+
@@ -373,7 +370,7 @@
-
+
@@ -381,7 +378,7 @@
-
+
@@ -391,16 +388,13 @@
-
+
-
-
-
diff --git a/libxenia.vcxproj.filters b/libxenia.vcxproj.filters
index 3c13b56b4..542889405 100644
--- a/libxenia.vcxproj.filters
+++ b/libxenia.vcxproj.filters
@@ -172,24 +172,15 @@
src\xenia
-
- src\xenia\apu
-
src\xenia\apu
src\xenia\apu
-
- src\xenia\apu\nop
-
src\xenia\apu\nop
-
- src\xenia\apu\xaudio2
-
src\xenia\apu\xaudio2
@@ -199,9 +190,6 @@
src\xenia\base
-
- src\xenia\cpu
-
src\xenia\base
@@ -397,9 +385,6 @@
src\xenia\cpu\compiler\passes
-
- src\xenia\gpu
-
src\xenia\gpu
@@ -439,9 +424,6 @@
src\xenia\gpu\gl4
-
- src\xenia\gpu\gl4
-
src\xenia\gpu\gl4
@@ -454,9 +436,6 @@
src\xenia\gpu\gl4
-
- src\xenia\hid
-
src\xenia\hid
@@ -781,6 +760,27 @@
src\xenia\ui\win32
+
+ src\xenia\hid
+
+
+ src\xenia\gpu
+
+
+ src\xenia\gpu\gl4
+
+
+ src\xenia\cpu
+
+
+ src\xenia\apu
+
+
+ src\xenia\apu\xaudio2
+
+
+ src\xenia\apu\nop
+
@@ -795,36 +795,18 @@
src\xenia
-
- src\xenia\apu
-
-
- src\xenia\apu
-
src\xenia\apu
src\xenia\apu
-
- src\xenia\apu\nop
-
-
- src\xenia\apu\nop
-
src\xenia\apu\nop
src\xenia\apu\xaudio2
-
- src\xenia\apu\xaudio2
-
-
- src\xenia\apu\xaudio2
-
src\xenia\apu\xaudio2
@@ -840,9 +822,6 @@
src\xenia\base
-
- src\xenia\cpu
-
src\xenia\base
@@ -1059,9 +1038,6 @@
src\xenia\cpu\compiler\passes
-
- src\xenia\gpu
-
src\xenia\gpu
@@ -1110,9 +1086,6 @@
src\xenia\gpu\gl4
-
- src\xenia\gpu\gl4
-
src\xenia\gpu\gl4
@@ -1125,9 +1098,6 @@
src\xenia\gpu\gl4
-
- src\xenia\hid
-
src\xenia\hid
@@ -1137,9 +1107,6 @@
src\xenia\hid\nop
-
- src\xenia\hid\nop
-
src\xenia\hid\nop
@@ -1149,15 +1116,9 @@
src\xenia\hid\winkey
-
- src\xenia\hid\winkey
-
src\xenia\hid\xinput
-
- src\xenia\hid\xinput
-
src\xenia\hid\xinput
@@ -1503,6 +1464,27 @@
src\xenia\ui\win32
+
+ src\xenia\hid
+
+
+ src\xenia\gpu
+
+
+ src\xenia\gpu\gl4
+
+
+ src\xenia\cpu
+
+
+ src\xenia\apu
+
+
+ src\xenia\apu\xaudio2
+
+
+ src\xenia\apu\nop
+
diff --git a/src/xenia/apu/apu.cc b/src/xenia/apu/apu.cc
deleted file mode 100644
index af9b1e342..000000000
--- a/src/xenia/apu/apu.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#include "xenia/apu/apu.h"
-#include "xenia/apu/apu-private.h"
-
-using namespace xe;
-using namespace xe::apu;
-
-DEFINE_string(apu, "any", "Audio system. Use: [any, nop, xaudio2]");
-
-DEFINE_bool(mute, false, "Mutes all audio output.");
-
-#include "xenia/apu/nop/nop_apu.h"
-std::unique_ptr xe::apu::CreateNop(Emulator* emulator) {
- return xe::apu::nop::Create(emulator);
-}
-
-#if XE_PLATFORM_WIN32
-#include "xenia/apu/xaudio2/xaudio2_apu.h"
-std::unique_ptr xe::apu::CreateXAudio2(Emulator* emulator) {
- return xe::apu::xaudio2::Create(emulator);
-}
-#endif // WIN32
-
-std::unique_ptr xe::apu::Create(Emulator* emulator) {
- if (FLAGS_apu.compare("nop") == 0) {
- return CreateNop(emulator);
-#if XE_PLATFORM_WIN32
- } else if (FLAGS_apu.compare("xaudio2") == 0) {
- return CreateXAudio2(emulator);
-#endif // WIN32
- } else {
- // Create best available.
- std::unique_ptr best;
-
-#if XE_PLATFORM_WIN32
- best = CreateXAudio2(emulator);
- if (best) {
- return best;
- }
-#endif // WIN32
-
- // Fallback to nop.
- return CreateNop(emulator);
- }
-}
diff --git a/src/xenia/apu/apu.h b/src/xenia/apu/apu.h
deleted file mode 100644
index 25fc8f2bf..000000000
--- a/src/xenia/apu/apu.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#ifndef XENIA_APU_APU_H_
-#define XENIA_APU_APU_H_
-
-#include
-
-#include "xenia/apu/audio_system.h"
-#include "xenia/apu/xma_decoder.h"
-
-namespace xe {
-class Emulator;
-} // namespace xe
-
-namespace xe {
-namespace apu {
-
-std::unique_ptr Create(Emulator* emulator);
-
-std::unique_ptr CreateNop(Emulator* emulator);
-
-#if XE_PLATFORM_WIN32
-std::unique_ptr CreateXAudio2(Emulator* emulator);
-#endif // WIN32
-
-} // namespace apu
-} // namespace xe
-
-#endif // XENIA_APU_APU_H_
diff --git a/src/xenia/apu/apu_flags.cc b/src/xenia/apu/apu_flags.cc
new file mode 100644
index 000000000..aac14e851
--- /dev/null
+++ b/src/xenia/apu/apu_flags.cc
@@ -0,0 +1,14 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#include "xenia/apu/apu_flags.h"
+
+DEFINE_string(apu, "any", "Audio system. Use: [any, nop, xaudio2]");
+
+DEFINE_bool(mute, false, "Mutes all audio output.");
diff --git a/src/xenia/apu/apu-private.h b/src/xenia/apu/apu_flags.h
similarity index 84%
rename from src/xenia/apu/apu-private.h
rename to src/xenia/apu/apu_flags.h
index dfcddd91f..400a2064c 100644
--- a/src/xenia/apu/apu-private.h
+++ b/src/xenia/apu/apu_flags.h
@@ -7,8 +7,8 @@
******************************************************************************
*/
-#ifndef XENIA_APU_APU_PRIVATE_H_
-#define XENIA_APU_APU_PRIVATE_H_
+#ifndef XENIA_APU_APU_FLAGS_H_
+#define XENIA_APU_APU_FLAGS_H_
#include
@@ -16,4 +16,4 @@ DECLARE_string(apu);
DECLARE_bool(mute);
-#endif // XENIA_APU_APU_PRIVATE_H_
+#endif // XENIA_APU_APU_FLAGS_H_
diff --git a/src/xenia/apu/audio_system.cc b/src/xenia/apu/audio_system.cc
index 17ea6dd61..9fb13accf 100644
--- a/src/xenia/apu/audio_system.cc
+++ b/src/xenia/apu/audio_system.cc
@@ -9,6 +9,7 @@
#include "xenia/apu/audio_system.h"
+#include "xenia/apu/apu_flags.h"
#include "xenia/apu/audio_driver.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
@@ -20,6 +21,11 @@
#include "xenia/kernel/objects/xthread.h"
#include "xenia/profiling.h"
+#include "xenia/apu/nop/nop_audio_system.h"
+#if XE_PLATFORM_WIN32
+#include "xenia/apu/xaudio2/xaudio2_audio_system.h"
+#endif // XE_PLATFORM_WIN32
+
// As with normal Microsoft, there are like twelve different ways to access
// the audio APIs. Early games use XMA*() methods almost exclusively to touch
// decoders. Later games use XAudio*() and direct memory writes to the XMA
@@ -35,7 +41,28 @@
namespace xe {
namespace apu {
-using namespace xe::cpu;
+std::unique_ptr AudioSystem::Create(Emulator* emulator) {
+ if (FLAGS_apu.compare("nop") == 0) {
+ return nop::NopAudioSystem::Create(emulator);
+#if XE_PLATFORM_WIN32
+ } else if (FLAGS_apu.compare("xaudio2") == 0) {
+ return xaudio2::XAudio2AudioSystem::Create(emulator);
+#endif // WIN32
+ } else {
+ // Create best available.
+ std::unique_ptr best;
+
+#if XE_PLATFORM_WIN32
+ best = xaudio2::XAudio2AudioSystem::Create(emulator);
+ if (best) {
+ return best;
+ }
+#endif // XE_PLATFORM_WIN32
+
+ // Fallback to nop.
+ return nop::NopAudioSystem::Create(emulator);
+ }
+}
AudioSystem::AudioSystem(Emulator* emulator)
: emulator_(emulator), memory_(emulator->memory()), worker_running_(false) {
diff --git a/src/xenia/apu/audio_system.h b/src/xenia/apu/audio_system.h
index a8a3577f5..91a6b7f8f 100644
--- a/src/xenia/apu/audio_system.h
+++ b/src/xenia/apu/audio_system.h
@@ -32,6 +32,8 @@ class AudioSystem {
public:
virtual ~AudioSystem();
+ static std::unique_ptr Create(Emulator* emulator);
+
Emulator* emulator() const { return emulator_; }
Memory* memory() const { return memory_; }
cpu::Processor* processor() const { return processor_; }
diff --git a/src/xenia/apu/nop/nop_apu-private.h b/src/xenia/apu/nop/nop_apu-private.h
deleted file mode 100644
index a9a0e2c4e..000000000
--- a/src/xenia/apu/nop/nop_apu-private.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#ifndef XENIA_APU_NOP_NOP_APU_PRIVATE_H_
-#define XENIA_APU_NOP_NOP_APU_PRIVATE_H_
-
-#include "xenia/apu/nop/nop_apu.h"
-
-namespace xe {
-namespace apu {
-namespace nop {
-
-//
-
-} // namespace nop
-} // namespace apu
-} // namespace xe
-
-#endif // XENIA_APU_NOP_NOP_APU_PRIVATE_H_
diff --git a/src/xenia/apu/nop/nop_apu.cc b/src/xenia/apu/nop/nop_apu.cc
deleted file mode 100644
index 74fd3ce9c..000000000
--- a/src/xenia/apu/nop/nop_apu.cc
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#include "xenia/apu/nop/nop_apu.h"
-
-#include "xenia/apu/nop/nop_audio_system.h"
-
-using namespace xe;
-using namespace xe::apu;
-using namespace xe::apu::nop;
-
-namespace {
-void InitializeIfNeeded();
-void CleanupOnShutdown();
-
-void InitializeIfNeeded() {
- static bool has_initialized = false;
- if (has_initialized) {
- return;
- }
- has_initialized = true;
-
- //
-
- atexit(CleanupOnShutdown);
-}
-
-void CleanupOnShutdown() {}
-}
-
-std::unique_ptr xe::apu::nop::Create(Emulator* emulator) {
- InitializeIfNeeded();
- return std::make_unique(emulator);
-}
diff --git a/src/xenia/apu/nop/nop_apu_flags.cc b/src/xenia/apu/nop/nop_apu_flags.cc
new file mode 100644
index 000000000..5e54ee040
--- /dev/null
+++ b/src/xenia/apu/nop/nop_apu_flags.cc
@@ -0,0 +1,10 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#include "xenia/apu/nop/nop_apu_flags.h"
diff --git a/src/xenia/apu/nop/nop_apu_flags.h b/src/xenia/apu/nop/nop_apu_flags.h
new file mode 100644
index 000000000..448aaeeef
--- /dev/null
+++ b/src/xenia/apu/nop/nop_apu_flags.h
@@ -0,0 +1,15 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#ifndef XENIA_APU_NOP_NOP_APU_FLAGS_H_
+#define XENIA_APU_NOP_NOP_APU_FLAGS_H_
+
+#include
+
+#endif // XENIA_APU_NOP_NOP_APU_FLAGS_H_
diff --git a/src/xenia/apu/nop/nop_audio_system.cc b/src/xenia/apu/nop/nop_audio_system.cc
index 96ad48869..7f662928f 100644
--- a/src/xenia/apu/nop/nop_audio_system.cc
+++ b/src/xenia/apu/nop/nop_audio_system.cc
@@ -9,15 +9,19 @@
#include "xenia/apu/nop/nop_audio_system.h"
-#include "xenia/apu/apu-private.h"
+#include "xenia/apu/apu_flags.h"
-using namespace xe;
-using namespace xe::apu;
-using namespace xe::apu::nop;
+namespace xe {
+namespace apu {
+namespace nop {
+
+std::unique_ptr NopAudioSystem::Create(Emulator* emulator) {
+ return std::make_unique(emulator);
+}
NopAudioSystem::NopAudioSystem(Emulator* emulator) : AudioSystem(emulator) {}
-NopAudioSystem::~NopAudioSystem() {}
+NopAudioSystem::~NopAudioSystem() = default;
X_STATUS NopAudioSystem::CreateDriver(size_t index, HANDLE wait_handle,
AudioDriver** out_driver) {
@@ -25,3 +29,7 @@ X_STATUS NopAudioSystem::CreateDriver(size_t index, HANDLE wait_handle,
}
void NopAudioSystem::DestroyDriver(AudioDriver* driver) { assert_always(); }
+
+} // namespace nop
+} // namespace apu
+} // namespace xe
diff --git a/src/xenia/apu/nop/nop_audio_system.h b/src/xenia/apu/nop/nop_audio_system.h
index 9b629b39e..ddbb78487 100644
--- a/src/xenia/apu/nop/nop_audio_system.h
+++ b/src/xenia/apu/nop/nop_audio_system.h
@@ -11,7 +11,6 @@
#define XENIA_APU_NOP_NOP_AUDIO_SYSTEM_H_
#include "xenia/apu/audio_system.h"
-#include "xenia/apu/nop/nop_apu-private.h"
namespace xe {
namespace apu {
@@ -20,11 +19,13 @@ namespace nop {
class NopAudioSystem : public AudioSystem {
public:
NopAudioSystem(Emulator* emulator);
- virtual ~NopAudioSystem();
+ ~NopAudioSystem() override;
- virtual X_STATUS CreateDriver(size_t index, HANDLE wait_handle,
- AudioDriver** out_driver);
- virtual void DestroyDriver(AudioDriver* driver);
+ static std::unique_ptr Create(Emulator* emulator);
+
+ X_STATUS CreateDriver(size_t index, HANDLE wait_handle,
+ AudioDriver** out_driver) override;
+ void DestroyDriver(AudioDriver* driver) override;
};
} // namespace nop
diff --git a/src/xenia/apu/xaudio2/xaudio2_apu-private.h b/src/xenia/apu/xaudio2/xaudio2_apu-private.h
deleted file mode 100644
index 9730bb0fc..000000000
--- a/src/xenia/apu/xaudio2/xaudio2_apu-private.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#ifndef XENIA_APU_XAUDIO2_XAUDIO2_APU_PRIVATE_H_
-#define XENIA_APU_XAUDIO2_XAUDIO2_APU_PRIVATE_H_
-
-#include "xenia/apu/xaudio2/xaudio2_apu.h"
-
-namespace xe {
-namespace apu {
-namespace xaudio2 {
-
-//
-
-} // namespace xaudio2
-} // namespace apu
-} // namespace xe
-
-#endif // XENIA_APU_XAUDIO2_XAUDIO2_APU_PRIVATE_H_
diff --git a/src/xenia/apu/xaudio2/xaudio2_apu.cc b/src/xenia/apu/xaudio2/xaudio2_apu.cc
deleted file mode 100644
index e3d6857e1..000000000
--- a/src/xenia/apu/xaudio2/xaudio2_apu.cc
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#include "xenia/apu/xaudio2/xaudio2_apu.h"
-
-#include "xenia/apu/xaudio2/xaudio2_audio_system.h"
-
-using namespace xe;
-using namespace xe::apu;
-using namespace xe::apu::xaudio2;
-
-namespace {
-void InitializeIfNeeded();
-void CleanupOnShutdown();
-
-void InitializeIfNeeded() {
- static bool has_initialized = false;
- if (has_initialized) {
- return;
- }
- has_initialized = true;
-
- //
-
- atexit(CleanupOnShutdown);
-}
-
-void CleanupOnShutdown() {}
-}
-
-std::unique_ptr xe::apu::xaudio2::Create(Emulator* emulator) {
- InitializeIfNeeded();
- return std::make_unique(emulator);
-}
diff --git a/src/xenia/apu/xaudio2/xaudio2_apu.h b/src/xenia/apu/xaudio2/xaudio2_apu.h
deleted file mode 100644
index 8f602c778..000000000
--- a/src/xenia/apu/xaudio2/xaudio2_apu.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#ifndef XENIA_APU_XAUDIO2_XAUDIO2_APU_H_
-#define XENIA_APU_XAUDIO2_XAUDIO2_APU_H_
-
-#include
-
-#include "xenia/apu/audio_system.h"
-#include "xenia/emulator.h"
-
-namespace xe {
-namespace apu {
-namespace xaudio2 {
-
-std::unique_ptr Create(Emulator* emulator);
-
-} // namespace xaudio2
-} // namespace apu
-} // namespace xe
-
-#endif // XENIA_APU_XAUDIO2_XAUDIO2_APU_H_
diff --git a/src/xenia/apu/xaudio2/xaudio2_apu_flags.cc b/src/xenia/apu/xaudio2/xaudio2_apu_flags.cc
new file mode 100644
index 000000000..4aae6486d
--- /dev/null
+++ b/src/xenia/apu/xaudio2/xaudio2_apu_flags.cc
@@ -0,0 +1,10 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#include "xenia/apu/xaudio2/xaudio2_apu_flags.h"
diff --git a/src/xenia/apu/xaudio2/xaudio2_apu_flags.h b/src/xenia/apu/xaudio2/xaudio2_apu_flags.h
new file mode 100644
index 000000000..786abb64d
--- /dev/null
+++ b/src/xenia/apu/xaudio2/xaudio2_apu_flags.h
@@ -0,0 +1,15 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#ifndef XENIA_APU_XAUDIO2_XAUDIO2_APU_FLAGS_H_
+#define XENIA_APU_XAUDIO2_XAUDIO2_APU_FLAGS_H_
+
+#include
+
+#endif // XENIA_APU_XAUDIO2_XAUDIO2_APU_FLAGS_H_
diff --git a/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc b/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc
index eb3a7c3de..ad2097303 100644
--- a/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc
+++ b/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc
@@ -9,7 +9,7 @@
#include "xenia/apu/xaudio2/xaudio2_audio_driver.h"
-#include "xenia/apu/apu-private.h"
+#include "xenia/apu/apu_flags.h"
#include "xenia/base/clock.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
diff --git a/src/xenia/apu/xaudio2/xaudio2_audio_driver.h b/src/xenia/apu/xaudio2/xaudio2_audio_driver.h
index 485ad4a4e..cc93eabe5 100644
--- a/src/xenia/apu/xaudio2/xaudio2_audio_driver.h
+++ b/src/xenia/apu/xaudio2/xaudio2_audio_driver.h
@@ -13,7 +13,6 @@
#include
#include "xenia/apu/audio_driver.h"
-#include "xenia/apu/xaudio2/xaudio2_apu-private.h"
namespace xe {
namespace apu {
@@ -22,11 +21,11 @@ namespace xaudio2 {
class XAudio2AudioDriver : public AudioDriver {
public:
XAudio2AudioDriver(Emulator* emulator, HANDLE semaphore);
- virtual ~XAudio2AudioDriver();
+ ~XAudio2AudioDriver() override;
- virtual void Initialize();
- virtual void SubmitFrame(uint32_t frame_ptr);
- virtual void Shutdown();
+ void Initialize();
+ void SubmitFrame(uint32_t frame_ptr) override;
+ void Shutdown();
private:
IXAudio2* audio_;
diff --git a/src/xenia/apu/xaudio2/xaudio2_audio_system.cc b/src/xenia/apu/xaudio2/xaudio2_audio_system.cc
index 1d5f85e68..0c8f05852 100644
--- a/src/xenia/apu/xaudio2/xaudio2_audio_system.cc
+++ b/src/xenia/apu/xaudio2/xaudio2_audio_system.cc
@@ -8,15 +8,20 @@
*/
#include "xenia/apu/xaudio2/xaudio2_audio_system.h"
+
+#include
+
+#include "xenia/apu/apu_flags.h"
#include "xenia/apu/xaudio2/xaudio2_audio_driver.h"
-
-#include "xenia/apu/apu-private.h"
-
#include "xenia/emulator.h"
-using namespace xe;
-using namespace xe::apu;
-using namespace xe::apu::xaudio2;
+namespace xe {
+namespace apu {
+namespace xaudio2 {
+
+std::unique_ptr XAudio2AudioSystem::Create(Emulator* emulator) {
+ return std::make_unique(emulator);
+}
XAudio2AudioSystem::XAudio2AudioSystem(Emulator* emulator)
: AudioSystem(emulator) {}
@@ -41,3 +46,7 @@ void XAudio2AudioSystem::DestroyDriver(AudioDriver* driver) {
assert_not_null(xdriver);
delete xdriver;
}
+
+} // namespace xaudio2
+} // namespace apu
+} // namespace xe
diff --git a/src/xenia/apu/xaudio2/xaudio2_audio_system.h b/src/xenia/apu/xaudio2/xaudio2_audio_system.h
index dd6fd1e47..0b879578b 100644
--- a/src/xenia/apu/xaudio2/xaudio2_audio_system.h
+++ b/src/xenia/apu/xaudio2/xaudio2_audio_system.h
@@ -10,10 +10,7 @@
#ifndef XENIA_APU_XAUDIO2_XAUDIO2_AUDIO_SYSTEM_H_
#define XENIA_APU_XAUDIO2_XAUDIO2_AUDIO_SYSTEM_H_
-#include
-
#include "xenia/apu/audio_system.h"
-#include "xenia/apu/xaudio2/xaudio2_apu-private.h"
namespace xe {
namespace apu {
@@ -22,11 +19,13 @@ namespace xaudio2 {
class XAudio2AudioSystem : public AudioSystem {
public:
XAudio2AudioSystem(Emulator* emulator);
- virtual ~XAudio2AudioSystem();
+ ~XAudio2AudioSystem() override;
- virtual X_RESULT CreateDriver(size_t index, HANDLE semaphore,
- AudioDriver** out_driver);
- virtual void DestroyDriver(AudioDriver* driver);
+ static std::unique_ptr Create(Emulator* emulator);
+
+ X_RESULT CreateDriver(size_t index, HANDLE semaphore,
+ AudioDriver** out_driver) override;
+ void DestroyDriver(AudioDriver* driver) override;
protected:
virtual void Initialize();
diff --git a/src/xenia/cpu/backend/x64/x64_assembler.cc b/src/xenia/cpu/backend/x64/x64_assembler.cc
index 7140ed648..3e30356c8 100644
--- a/src/xenia/cpu/backend/x64/x64_assembler.cc
+++ b/src/xenia/cpu/backend/x64/x64_assembler.cc
@@ -13,7 +13,7 @@
#include "xenia/cpu/backend/x64/x64_backend.h"
#include "xenia/cpu/backend/x64/x64_emitter.h"
#include "xenia/cpu/backend/x64/x64_function.h"
-#include "xenia/cpu/cpu-private.h"
+#include "xenia/cpu/cpu_flags.h"
#include "xenia/cpu/hir/hir_builder.h"
#include "xenia/cpu/hir/label.h"
#include "xenia/cpu/processor.h"
diff --git a/src/xenia/cpu/backend/x64/x64_emitter.cc b/src/xenia/cpu/backend/x64/x64_emitter.cc
index 55acf91e4..e6b7e164d 100644
--- a/src/xenia/cpu/backend/x64/x64_emitter.cc
+++ b/src/xenia/cpu/backend/x64/x64_emitter.cc
@@ -25,7 +25,7 @@
#include "xenia/cpu/backend/x64/x64_function.h"
#include "xenia/cpu/backend/x64/x64_sequences.h"
#include "xenia/cpu/backend/x64/x64_thunk_emitter.h"
-#include "xenia/cpu/cpu-private.h"
+#include "xenia/cpu/cpu_flags.h"
#include "xenia/cpu/debug_info.h"
#include "xenia/cpu/hir/hir_builder.h"
#include "xenia/cpu/processor.h"
diff --git a/src/xenia/cpu/cpu.cc b/src/xenia/cpu/cpu_flags.cc
similarity index 98%
rename from src/xenia/cpu/cpu.cc
rename to src/xenia/cpu/cpu_flags.cc
index 7c8446c18..a9831b328 100644
--- a/src/xenia/cpu/cpu.cc
+++ b/src/xenia/cpu/cpu_flags.cc
@@ -7,7 +7,7 @@
******************************************************************************
*/
-#include "xenia/cpu/cpu-private.h"
+#include "xenia/cpu/cpu_flags.h"
DEFINE_string(cpu, "any", "CPU backend [any, x64].");
diff --git a/src/xenia/cpu/cpu-private.h b/src/xenia/cpu/cpu_flags.h
similarity index 90%
rename from src/xenia/cpu/cpu-private.h
rename to src/xenia/cpu/cpu_flags.h
index 64f9bec99..aba900a1e 100644
--- a/src/xenia/cpu/cpu-private.h
+++ b/src/xenia/cpu/cpu_flags.h
@@ -7,8 +7,8 @@
******************************************************************************
*/
-#ifndef XENIA_CPU_CPU_PRIVATE_H_
-#define XENIA_CPU_CPU_PRIVATE_H_
+#ifndef XENIA_CPU_CPU_FLAGS_H_
+#define XENIA_CPU_CPU_FLAGS_H_
#include
@@ -33,4 +33,4 @@ DECLARE_bool(break_condition_truncate);
DECLARE_bool(break_on_debugbreak);
-#endif // XENIA_CPU_CPU_PRIVATE_H_
+#endif // XENIA_CPU_CPU_FLAGS_H_
diff --git a/src/xenia/cpu/frontend/ppc_hir_builder.cc b/src/xenia/cpu/frontend/ppc_hir_builder.cc
index 736401d2d..a53c78b05 100644
--- a/src/xenia/cpu/frontend/ppc_hir_builder.cc
+++ b/src/xenia/cpu/frontend/ppc_hir_builder.cc
@@ -14,7 +14,7 @@
#include "xenia/base/byte_order.h"
#include "xenia/base/logging.h"
#include "xenia/base/memory.h"
-#include "xenia/cpu/cpu-private.h"
+#include "xenia/cpu/cpu_flags.h"
#include "xenia/cpu/frontend/ppc_context.h"
#include "xenia/cpu/frontend/ppc_disasm.h"
#include "xenia/cpu/frontend/ppc_frontend.h"
diff --git a/src/xenia/cpu/frontend/ppc_translator.cc b/src/xenia/cpu/frontend/ppc_translator.cc
index 9aafbcc35..d5e50b796 100644
--- a/src/xenia/cpu/frontend/ppc_translator.cc
+++ b/src/xenia/cpu/frontend/ppc_translator.cc
@@ -16,7 +16,7 @@
#include "xenia/base/memory.h"
#include "xenia/base/reset_scope.h"
#include "xenia/cpu/compiler/compiler_passes.h"
-#include "xenia/cpu/cpu-private.h"
+#include "xenia/cpu/cpu_flags.h"
#include "xenia/cpu/frontend/ppc_disasm.h"
#include "xenia/cpu/frontend/ppc_frontend.h"
#include "xenia/cpu/frontend/ppc_hir_builder.h"
diff --git a/src/xenia/cpu/processor.cc b/src/xenia/cpu/processor.cc
index 309b02cf9..ca5c43668 100644
--- a/src/xenia/cpu/processor.cc
+++ b/src/xenia/cpu/processor.cc
@@ -16,7 +16,7 @@
#include "xenia/base/byte_order.h"
#include "xenia/base/logging.h"
#include "xenia/base/memory.h"
-#include "xenia/cpu/cpu-private.h"
+#include "xenia/cpu/cpu_flags.h"
#include "xenia/cpu/export_resolver.h"
#include "xenia/cpu/frontend/ppc_frontend.h"
#include "xenia/cpu/module.h"
diff --git a/src/xenia/cpu/xex_module.cc b/src/xenia/cpu/xex_module.cc
index 79921cdab..ebfee1c5f 100644
--- a/src/xenia/cpu/xex_module.cc
+++ b/src/xenia/cpu/xex_module.cc
@@ -15,7 +15,7 @@
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/memory.h"
-#include "xenia/cpu/cpu-private.h"
+#include "xenia/cpu/cpu_flags.h"
#include "xenia/cpu/export_resolver.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
diff --git a/src/xenia/emulator.cc b/src/xenia/emulator.cc
index 921455742..67beb7d0b 100644
--- a/src/xenia/emulator.cc
+++ b/src/xenia/emulator.cc
@@ -11,7 +11,8 @@
#include
-#include "xenia/apu/apu.h"
+#include "xenia/apu/audio_system.h"
+#include "xenia/apu/xma_decoder.h"
#include "xenia/base/assert.h"
#include "xenia/base/clock.h"
#include "xenia/base/string.h"
@@ -113,15 +114,15 @@ X_STATUS Emulator::Setup() {
memory_.get(), export_resolver_.get(), debugger_.get());
// Initialize the APU.
- audio_system_ = std::move(xe::apu::Create(this));
+ audio_system_ = xe::apu::AudioSystem::Create(this);
if (!audio_system_) {
return X_STATUS_NOT_IMPLEMENTED;
}
- xma_decoder_ = std::move(std::make_unique(this));
+ xma_decoder_ = std::make_unique(this);
// Initialize the GPU.
- graphics_system_ = std::move(xe::gpu::GraphicsSystem::Create(this));
+ graphics_system_ = xe::gpu::GraphicsSystem::Create(this);
if (!graphics_system_) {
return X_STATUS_NOT_IMPLEMENTED;
}
diff --git a/src/xenia/gpu/gl4/circular_buffer.cc b/src/xenia/gpu/gl4/circular_buffer.cc
index 3a44eaad9..76195f15d 100644
--- a/src/xenia/gpu/gl4/circular_buffer.cc
+++ b/src/xenia/gpu/gl4/circular_buffer.cc
@@ -11,8 +11,8 @@
#include "xenia/base/assert.h"
#include "xenia/base/math.h"
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
+#include "xenia/gpu/gpu_flags.h"
namespace xe {
namespace gpu {
diff --git a/src/xenia/gpu/gl4/command_processor.cc b/src/xenia/gpu/gl4/command_processor.cc
index f03e45c0d..ddeaec901 100644
--- a/src/xenia/gpu/gl4/command_processor.cc
+++ b/src/xenia/gpu/gl4/command_processor.cc
@@ -13,9 +13,9 @@
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
#include "xenia/gpu/gl4/gl4_graphics_system.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
#include "xenia/gpu/sampler_info.h"
#include "xenia/gpu/texture_info.h"
#include "xenia/gpu/xenos.h"
diff --git a/src/xenia/gpu/gl4/draw_batcher.cc b/src/xenia/gpu/gl4/draw_batcher.cc
index 80076d520..240ee9d1e 100644
--- a/src/xenia/gpu/gl4/draw_batcher.cc
+++ b/src/xenia/gpu/gl4/draw_batcher.cc
@@ -13,8 +13,8 @@
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
+#include "xenia/gpu/gpu_flags.h"
namespace xe {
namespace gpu {
diff --git a/src/xenia/gpu/gl4/gl4_gpu.cc b/src/xenia/gpu/gl4/gl4_gpu_flags.cc
similarity index 96%
rename from src/xenia/gpu/gl4/gl4_gpu.cc
rename to src/xenia/gpu/gl4/gl4_gpu_flags.cc
index f6e4d71b9..bcd06e698 100644
--- a/src/xenia/gpu/gl4/gl4_gpu.cc
+++ b/src/xenia/gpu/gl4/gl4_gpu_flags.cc
@@ -7,7 +7,7 @@
******************************************************************************
*/
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
DEFINE_bool(thread_safe_gl, false,
"Only allow one GL context to be active at a time.");
diff --git a/src/xenia/gpu/gl4/gl4_gpu-private.h b/src/xenia/gpu/gl4/gl4_gpu_flags.h
similarity index 86%
rename from src/xenia/gpu/gl4/gl4_gpu-private.h
rename to src/xenia/gpu/gl4/gl4_gpu_flags.h
index 84bf94b96..4c44985cb 100644
--- a/src/xenia/gpu/gl4/gl4_gpu-private.h
+++ b/src/xenia/gpu/gl4/gl4_gpu_flags.h
@@ -7,8 +7,8 @@
******************************************************************************
*/
-#ifndef XENIA_GPU_GL4_GL4_GPU_PRIVATE_H_
-#define XENIA_GPU_GL4_GL4_GPU_PRIVATE_H_
+#ifndef XENIA_GPU_GL4_GL4_GPU_FLAGS_H_
+#define XENIA_GPU_GL4_GL4_GPU_FLAGS_H_
#include
@@ -26,4 +26,4 @@ DECLARE_bool(disable_textures);
#define FINE_GRAINED_DRAW_SCOPES 0
-#endif // XENIA_GPU_GL4_GL4_GPU_PRIVATE_H_
+#endif // XENIA_GPU_GL4_GL4_GPU_FLAGS_H_
diff --git a/src/xenia/gpu/gl4/gl4_graphics_system.cc b/src/xenia/gpu/gl4/gl4_graphics_system.cc
index d2e17c769..a8f0022d6 100644
--- a/src/xenia/gpu/gl4/gl4_graphics_system.cc
+++ b/src/xenia/gpu/gl4/gl4_graphics_system.cc
@@ -16,9 +16,9 @@
#include "xenia/base/threading.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
#include "xenia/gpu/gl4/gl4_profiler_display.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
#include "xenia/gpu/tracing.h"
namespace xe {
diff --git a/src/xenia/gpu/gl4/gl4_profiler_display.cc b/src/xenia/gpu/gl4/gl4_profiler_display.cc
index a5d413ee5..d38e75688 100644
--- a/src/xenia/gpu/gl4/gl4_profiler_display.cc
+++ b/src/xenia/gpu/gl4/gl4_profiler_display.cc
@@ -13,7 +13,7 @@
#include "xenia/base/assert.h"
#include "xenia/base/math.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
namespace xe {
namespace gpu {
diff --git a/src/xenia/gpu/gl4/gl4_shader.cc b/src/xenia/gpu/gl4/gl4_shader.cc
index c2c251abb..5cadc2f7e 100644
--- a/src/xenia/gpu/gl4/gl4_shader.cc
+++ b/src/xenia/gpu/gl4/gl4_shader.cc
@@ -12,9 +12,9 @@
#include "xenia/base/fs.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
#include "xenia/gpu/gl4/gl4_shader_translator.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
namespace xe {
namespace gpu {
diff --git a/src/xenia/gpu/gl4/gl4_shader_translator.cc b/src/xenia/gpu/gl4/gl4_shader_translator.cc
index 9f916c31f..809e29a63 100644
--- a/src/xenia/gpu/gl4/gl4_shader_translator.cc
+++ b/src/xenia/gpu/gl4/gl4_shader_translator.cc
@@ -12,7 +12,7 @@
#include "xenia/base/assert.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
namespace xe {
namespace gpu {
diff --git a/src/xenia/gpu/gl4/gl_context.cc b/src/xenia/gpu/gl4/gl_context.cc
index c1a7e1990..f6d43b748 100644
--- a/src/xenia/gpu/gl4/gl_context.cc
+++ b/src/xenia/gpu/gl4/gl_context.cc
@@ -15,7 +15,7 @@
#include "xenia/base/assert.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
#include "xenia/profiling.h"
namespace xe {
diff --git a/src/xenia/gpu/gl4/texture_cache.cc b/src/xenia/gpu/gl4/texture_cache.cc
index 0eb025638..cd8295953 100644
--- a/src/xenia/gpu/gl4/texture_cache.cc
+++ b/src/xenia/gpu/gl4/texture_cache.cc
@@ -15,7 +15,7 @@
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/memory.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
#include "xenia/profiling.h"
namespace xe {
diff --git a/src/xenia/gpu/gl4/wgl_control.cc b/src/xenia/gpu/gl4/wgl_control.cc
index 213165f91..d7204abff 100644
--- a/src/xenia/gpu/gl4/wgl_control.cc
+++ b/src/xenia/gpu/gl4/wgl_control.cc
@@ -11,7 +11,7 @@
#include "xenia/base/assert.h"
#include "xenia/base/logging.h"
-#include "xenia/gpu/gl4/gl4_gpu-private.h"
+#include "xenia/gpu/gl4/gl4_gpu_flags.h"
#include "xenia/profiling.h"
namespace xe {
diff --git a/src/xenia/gpu/gpu.cc b/src/xenia/gpu/gpu_flags.cc
similarity index 96%
rename from src/xenia/gpu/gpu.cc
rename to src/xenia/gpu/gpu_flags.cc
index 6a20a8b03..3252d0d79 100644
--- a/src/xenia/gpu/gpu.cc
+++ b/src/xenia/gpu/gpu_flags.cc
@@ -7,7 +7,7 @@
******************************************************************************
*/
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
DEFINE_string(gpu, "any", "Graphics system. Use: [any, gl4]");
diff --git a/src/xenia/gpu/gpu-private.h b/src/xenia/gpu/gpu_flags.h
similarity index 86%
rename from src/xenia/gpu/gpu-private.h
rename to src/xenia/gpu/gpu_flags.h
index e5a09e248..572006896 100644
--- a/src/xenia/gpu/gpu-private.h
+++ b/src/xenia/gpu/gpu_flags.h
@@ -7,8 +7,8 @@
******************************************************************************
*/
-#ifndef XENIA_GPU_GPU_PRIVATE_H_
-#define XENIA_GPU_GPU_PRIVATE_H_
+#ifndef XENIA_GPU_GPU_FLAGS_H_
+#define XENIA_GPU_GPU_FLAGS_H_
#include
@@ -21,4 +21,4 @@ DECLARE_string(dump_shaders);
DECLARE_bool(vsync);
-#endif // XENIA_GPU_GPU_PRIVATE_H_
+#endif // XENIA_GPU_GPU_FLAGS_H_
diff --git a/src/xenia/gpu/graphics_system.cc b/src/xenia/gpu/graphics_system.cc
index 972dcc470..46a882100 100644
--- a/src/xenia/gpu/graphics_system.cc
+++ b/src/xenia/gpu/graphics_system.cc
@@ -12,7 +12,7 @@
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/cpu/processor.h"
-#include "xenia/gpu/gpu-private.h"
+#include "xenia/gpu/gpu_flags.h"
#include "xenia/kernel/objects/xthread.h"
// TODO(benvanik): based on platform/build support.
diff --git a/src/xenia/hid/hid.cc b/src/xenia/hid/hid_flags.cc
similarity index 94%
rename from src/xenia/hid/hid.cc
rename to src/xenia/hid/hid_flags.cc
index d9491ea34..ccf00dd18 100644
--- a/src/xenia/hid/hid.cc
+++ b/src/xenia/hid/hid_flags.cc
@@ -7,6 +7,6 @@
******************************************************************************
*/
-#include "xenia/hid/hid-private.h"
+#include "xenia/hid/hid_flags.h"
DEFINE_string(hid, "any", "Input system. Use: [any, nop, winkey, xinput]");
diff --git a/src/xenia/hid/hid-private.h b/src/xenia/hid/hid_flags.h
similarity index 84%
rename from src/xenia/hid/hid-private.h
rename to src/xenia/hid/hid_flags.h
index b1c6230e0..def7711da 100644
--- a/src/xenia/hid/hid-private.h
+++ b/src/xenia/hid/hid_flags.h
@@ -7,11 +7,11 @@
******************************************************************************
*/
-#ifndef XENIA_HID_HID_PRIVATE_H_
-#define XENIA_HID_HID_PRIVATE_H_
+#ifndef XENIA_HID_HID_FLAGS_H_
+#define XENIA_HID_HID_FLAGS_H_
#include
DECLARE_string(hid);
-#endif // XENIA_HID_HID_PRIVATE_H_
+#endif // XENIA_HID_HID_FLAGS_H_
diff --git a/src/xenia/hid/input_system.cc b/src/xenia/hid/input_system.cc
index 9d0ad33ad..155746456 100644
--- a/src/xenia/hid/input_system.cc
+++ b/src/xenia/hid/input_system.cc
@@ -11,8 +11,8 @@
#include "xenia/emulator.h"
#include "xenia/cpu/processor.h"
+#include "xenia/hid/hid_flags.h"
#include "xenia/hid/input_driver.h"
-#include "xenia/hid/hid-private.h"
#include "xenia/profiling.h"
#include "xenia/hid/nop/nop_hid.h"
diff --git a/src/xenia/hid/nop/nop_hid-private.h b/src/xenia/hid/nop/nop_hid-private.h
deleted file mode 100644
index 7dbc18541..000000000
--- a/src/xenia/hid/nop/nop_hid-private.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#ifndef XENIA_HID_NOP_NOP_HID_PRIVATE_H_
-#define XENIA_HID_NOP_NOP_HID_PRIVATE_H_
-
-#include "xenia/hid/nop/nop_hid.h"
-
-namespace xe {
-namespace hid {
-namespace nop {
-
-//
-
-} // namespace nop
-} // namespace hid
-} // namespace xe
-
-#endif // XENIA_HID_NOP_NOP_HID_PRIVATE_H_
diff --git a/src/xenia/hid/nop/nop_hid.cc b/src/xenia/hid/nop/nop_hid.cc
index c15ccdadd..fa69c7390 100644
--- a/src/xenia/hid/nop/nop_hid.cc
+++ b/src/xenia/hid/nop/nop_hid.cc
@@ -15,25 +15,7 @@ namespace xe {
namespace hid {
namespace nop {
-void InitializeIfNeeded();
-void CleanupOnShutdown();
-
-void InitializeIfNeeded() {
- static bool has_initialized = false;
- if (has_initialized) {
- return;
- }
- has_initialized = true;
-
- //
-
- atexit(CleanupOnShutdown);
-}
-
-void CleanupOnShutdown() {}
-
std::unique_ptr Create(InputSystem* input_system) {
- InitializeIfNeeded();
return std::make_unique(input_system);
}
diff --git a/src/xenia/hid/nop/nop_input_driver.cc b/src/xenia/hid/nop/nop_input_driver.cc
index d4d392d06..4794b83f4 100644
--- a/src/xenia/hid/nop/nop_input_driver.cc
+++ b/src/xenia/hid/nop/nop_input_driver.cc
@@ -9,7 +9,7 @@
#include "xenia/hid/nop/nop_input_driver.h"
-#include "xenia/hid/hid-private.h"
+#include "xenia/hid/hid_flags.h"
namespace xe {
namespace hid {
diff --git a/src/xenia/hid/nop/nop_input_driver.h b/src/xenia/hid/nop/nop_input_driver.h
index 41001a113..30529ed4d 100644
--- a/src/xenia/hid/nop/nop_input_driver.h
+++ b/src/xenia/hid/nop/nop_input_driver.h
@@ -11,7 +11,6 @@
#define XENIA_HID_NOP_NOP_INPUT_DRIVER_H_
#include "xenia/hid/input_driver.h"
-#include "xenia/hid/nop/nop_hid-private.h"
namespace xe {
namespace hid {
diff --git a/src/xenia/hid/winkey/winkey_hid-private.h b/src/xenia/hid/winkey/winkey_hid-private.h
deleted file mode 100644
index 36dfb816e..000000000
--- a/src/xenia/hid/winkey/winkey_hid-private.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2014 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#ifndef XENIA_HID_WINKEY_WINKEY_HID_PRIVATE_H_
-#define XENIA_HID_WINKEY_WINKEY_HID_PRIVATE_H_
-
-#include "xenia/hid/winkey/winkey_hid.h"
-
-namespace xe {
-namespace hid {
-namespace winkey {
-
-//
-
-} // namespace winkey
-} // namespace hid
-} // namespace xe
-
-#endif // XENIA_HID_WINKEY_WINKEY_HID_PRIVATE_H_
diff --git a/src/xenia/hid/winkey/winkey_hid.cc b/src/xenia/hid/winkey/winkey_hid.cc
index 2e3db1f09..1b463dfef 100644
--- a/src/xenia/hid/winkey/winkey_hid.cc
+++ b/src/xenia/hid/winkey/winkey_hid.cc
@@ -15,25 +15,7 @@ namespace xe {
namespace hid {
namespace winkey {
-void InitializeIfNeeded();
-void CleanupOnShutdown();
-
-void InitializeIfNeeded() {
- static bool has_initialized = false;
- if (has_initialized) {
- return;
- }
- has_initialized = true;
-
- //
-
- atexit(CleanupOnShutdown);
-}
-
-void CleanupOnShutdown() {}
-
std::unique_ptr Create(InputSystem* input_system) {
- InitializeIfNeeded();
return std::make_unique(input_system);
}
diff --git a/src/xenia/hid/winkey/winkey_input_driver.cc b/src/xenia/hid/winkey/winkey_input_driver.cc
index a3cf3fbd0..7c8e2412a 100644
--- a/src/xenia/hid/winkey/winkey_input_driver.cc
+++ b/src/xenia/hid/winkey/winkey_input_driver.cc
@@ -9,7 +9,7 @@
#include "xenia/hid/winkey/winkey_input_driver.h"
-#include "xenia/hid/hid-private.h"
+#include "xenia/hid/hid_flags.h"
namespace xe {
namespace hid {
diff --git a/src/xenia/hid/winkey/winkey_input_driver.h b/src/xenia/hid/winkey/winkey_input_driver.h
index cf67ac82e..a833811b6 100644
--- a/src/xenia/hid/winkey/winkey_input_driver.h
+++ b/src/xenia/hid/winkey/winkey_input_driver.h
@@ -11,7 +11,6 @@
#define XENIA_HID_WINKEY_WINKEY_DRIVER_H_
#include "xenia/hid/input_driver.h"
-#include "xenia/hid/nop/nop_hid-private.h"
namespace xe {
namespace hid {
diff --git a/src/xenia/hid/xinput/xinput_hid-private.h b/src/xenia/hid/xinput/xinput_hid-private.h
deleted file mode 100644
index 2bd110a1b..000000000
--- a/src/xenia/hid/xinput/xinput_hid-private.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- ******************************************************************************
- * Xenia : Xbox 360 Emulator Research Project *
- ******************************************************************************
- * Copyright 2013 Ben Vanik. All rights reserved. *
- * Released under the BSD license - see LICENSE in the root for more details. *
- ******************************************************************************
- */
-
-#ifndef XENIA_HID_XINPUT_XINPUT_HID_PRIVATE_H_
-#define XENIA_HID_XINPUT_XINPUT_HID_PRIVATE_H_
-
-#include "xenia/hid/xinput/xinput_hid.h"
-
-namespace xe {
-namespace hid {
-namespace xinput {
-
-//
-
-} // namespace xinput
-} // namespace hid
-} // namespace xe
-
-#endif // XENIA_HID_XINPUT_XINPUT_HID_PRIVATE_H_
diff --git a/src/xenia/hid/xinput/xinput_hid.cc b/src/xenia/hid/xinput/xinput_hid.cc
index 019e36d61..f08308b3e 100644
--- a/src/xenia/hid/xinput/xinput_hid.cc
+++ b/src/xenia/hid/xinput/xinput_hid.cc
@@ -15,25 +15,7 @@ namespace xe {
namespace hid {
namespace xinput {
-void InitializeIfNeeded();
-void CleanupOnShutdown();
-
-void InitializeIfNeeded() {
- static bool has_initialized = false;
- if (has_initialized) {
- return;
- }
- has_initialized = true;
-
- //
-
- atexit(CleanupOnShutdown);
-}
-
-void CleanupOnShutdown() {}
-
std::unique_ptr Create(InputSystem* input_system) {
- InitializeIfNeeded();
return std::make_unique(input_system);
}
diff --git a/src/xenia/hid/xinput/xinput_input_driver.cc b/src/xenia/hid/xinput/xinput_input_driver.cc
index d11bb69ab..be0d31069 100644
--- a/src/xenia/hid/xinput/xinput_input_driver.cc
+++ b/src/xenia/hid/xinput/xinput_input_driver.cc
@@ -9,9 +9,9 @@
#include "xenia/hid/xinput/xinput_input_driver.h"
-#include "xenia/hid/hid-private.h"
+#include
-#include
+#include "xenia/hid/hid_flags.h"
namespace xe {
namespace hid {
diff --git a/src/xenia/hid/xinput/xinput_input_driver.h b/src/xenia/hid/xinput/xinput_input_driver.h
index d7ad76c89..56f3ffa7f 100644
--- a/src/xenia/hid/xinput/xinput_input_driver.h
+++ b/src/xenia/hid/xinput/xinput_input_driver.h
@@ -11,7 +11,6 @@
#define XENIA_HID_XINPUT_XINPUT_DRIVER_H_
#include "xenia/hid/input_driver.h"
-#include "xenia/hid/nop/nop_hid-private.h"
namespace xe {
namespace hid {
diff --git a/src/xenia/kernel/xboxkrnl_audio.cc b/src/xenia/kernel/xboxkrnl_audio.cc
index 6d63bbac4..cdb9c9234 100644
--- a/src/xenia/kernel/xboxkrnl_audio.cc
+++ b/src/xenia/kernel/xboxkrnl_audio.cc
@@ -7,7 +7,7 @@
******************************************************************************
*/
-#include "xenia/apu/apu.h"
+#include "xenia/apu/audio_system.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"
diff --git a/src/xenia/kernel/xboxkrnl_audio_xma.cc b/src/xenia/kernel/xboxkrnl_audio_xma.cc
index a6d4cb76e..b905eb739 100644
--- a/src/xenia/kernel/xboxkrnl_audio_xma.cc
+++ b/src/xenia/kernel/xboxkrnl_audio_xma.cc
@@ -9,7 +9,8 @@
#include
-#include "xenia/apu/apu.h"
+#include "xenia/apu/audio_system.h"
+#include "xenia/apu/xma_decoder.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"