From 0783498f570e7d5c00174cd10a3c1ff105d1eae6 Mon Sep 17 00:00:00 2001
From: archshift <admin@archshift.com>
Date: Sat, 25 Oct 2014 12:54:44 -0700
Subject: Use configuration files to enable or disable the new dyncom
 interpreter.

---
 src/core/core.cpp | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

(limited to 'src/core/core.cpp')

diff --git a/src/core/core.cpp b/src/core/core.cpp
index 01d4f0afaa..25c78d33cd 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -5,12 +5,14 @@
 #include "common/common_types.h"
 
 #include "core/core.h"
-#include "core/hw/hw.h"
+
+#include "core/settings.h"
 #include "core/arm/disassembler/arm_disasm.h"
 #include "core/arm/interpreter/arm_interpreter.h"
-
+#include "core/arm/dyncom/arm_dyncom.h"
 #include "core/hle/hle.h"
 #include "core/hle/kernel/thread.h"
+#include "core/hw/hw.h"
 
 namespace Core {
 
@@ -48,9 +50,18 @@ int Init() {
     NOTICE_LOG(MASTER_LOG, "initialized OK");
 
     g_disasm = new ARM_Disasm();
-    g_app_core = new ARM_Interpreter();
     g_sys_core = new ARM_Interpreter();
 
+    switch (Settings::values.cpu_core) {
+        case CPU_FastInterpreter:
+            g_app_core = new ARM_DynCom();
+            break;
+        case CPU_Interpreter:
+        default:
+            g_app_core = new ARM_Interpreter();
+            break;
+    }
+
     g_last_ticks = Core::g_app_core->GetTicks();
 
     return 0;
-- 
cgit v1.2.3-70-g09d2