diff options
| author | JosJuice <josjuice@gmail.com> | 2017-12-26 22:08:44 +0100 |
|---|---|---|
| committer | mahdihijazi <mahdi.hijaz@hotmail.com> | 2017-12-27 21:53:13 +0100 |
| commit | 87957fadddfa95386f46aea6baac8ad65a92c7d5 (patch) | |
| tree | ac50d6a007d622a2593b3a0b532899cde84342b1 /Source/Android/jni/MainAndroid.cpp | |
| parent | a81cbf60fb14dc5b7e213f2e847c51fe5026c249 (diff) | |
MainAndroid: Allow specifying savestate to load at boot
Diffstat (limited to 'Source/Android/jni/MainAndroid.cpp')
| -rw-r--r-- | Source/Android/jni/MainAndroid.cpp | 27 |
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 |
