summaryrefslogtreecommitdiff
path: root/Source/Android/jni/MainAndroid.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2017-12-26 22:08:44 +0100
committermahdihijazi <mahdi.hijaz@hotmail.com>2017-12-27 21:53:13 +0100
commit87957fadddfa95386f46aea6baac8ad65a92c7d5 (patch)
treeac50d6a007d622a2593b3a0b532899cde84342b1 /Source/Android/jni/MainAndroid.cpp
parenta81cbf60fb14dc5b7e213f2e847c51fe5026c249 (diff)
MainAndroid: Allow specifying savestate to load at boot
Diffstat (limited to 'Source/Android/jni/MainAndroid.cpp')
-rw-r--r--Source/Android/jni/MainAndroid.cpp27
1 files changed, 21 insertions, 6 deletions
diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp
index 457b773acb..ab2458c782 100644
--- a/Source/Android/jni/MainAndroid.cpp
+++ b/Source/Android/jni/MainAndroid.cpp
@@ -11,6 +11,7 @@
#include <jni.h>
#include <memory>
#include <mutex>
+#include <optional>
#include <string>
#include <thread>
@@ -476,8 +477,11 @@ JNIEXPORT void JNICALL
Java_org_dolphinemu_dolphinemu_NativeLibrary_WriteProfileResults(JNIEnv* env, jobject obj);
JNIEXPORT void JNICALL
Java_org_dolphinemu_dolphinemu_NativeLibrary_CacheClassesAndMethods(JNIEnv* env, jobject obj);
-JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv* env, jobject obj,
- jstring jFile);
+JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run__Ljava_lang_String_2(
+ JNIEnv* env, jobject obj, jstring jFile);
+JNIEXPORT void JNICALL
+Java_org_dolphinemu_dolphinemu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2(
+ JNIEnv* env, jobject obj, jstring jFile, jstring jSavestate);
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SurfaceChanged(JNIEnv* env,
jobject obj,
jobject surf);
@@ -797,10 +801,8 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RefreshWiimo
WiimoteReal::Refresh();
}
-JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv* env, jobject obj,
- jstring jFile)
+static void Run(const std::string& path, std::optional<std::string> savestate_path = {})
{
- const std::string path = GetJString(env, jFile);
__android_log_print(ANDROID_LOG_INFO, DOLPHIN_TAG, "Running : %s", path.c_str());
// Install our callbacks
@@ -817,7 +819,7 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv*
// No use running the loop when booting fails
s_have_wm_user_stop = false;
- if (BootManager::BootCore(BootParameters::GenerateFromFile(path)))
+ if (BootManager::BootCore(BootParameters::GenerateFromFile(path, savestate_path)))
{
static constexpr int TIMEOUT = 10000;
static constexpr int WAIT_STEP = 25;
@@ -848,6 +850,19 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv*
}
}
+JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run__Ljava_lang_String_2(
+ JNIEnv* env, jobject obj, jstring jFile)
+{
+ Run(GetJString(env, jFile));
+}
+
+JNIEXPORT void JNICALL
+Java_org_dolphinemu_dolphinemu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2(
+ JNIEnv* env, jobject obj, jstring jFile, jstring jSavestate)
+{
+ Run(GetJString(env, jFile), GetJString(env, jSavestate));
+}
+
#ifdef __cplusplus
}
#endif