summaryrefslogtreecommitdiff
path: root/Source/Android/jni/MainAndroid.cpp
diff options
context:
space:
mode:
authorTom Pratt <tom.pratt@outlook.com>2026-04-08 15:20:19 +0100
committerTom Pratt <tompratt@squareup.com>2026-05-19 12:02:54 +0200
commit3ed91742080194630bac072f4dbc9bdbffc94049 (patch)
treead5c7301c2f283fd1f49de1efa5008b36f0b2a95 /Source/Android/jni/MainAndroid.cpp
parent766374434c56bb8d77a5676870a6779b2ee1799f (diff)
Store netplay BootSessionData and use it to run the netplay game
Diffstat (limited to 'Source/Android/jni/MainAndroid.cpp')
-rw-r--r--Source/Android/jni/MainAndroid.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp
index a25d4a1d4a..13471a6cd0 100644
--- a/Source/Android/jni/MainAndroid.cpp
+++ b/Source/Android/jni/MainAndroid.cpp
@@ -35,6 +35,7 @@
#include "Core/AchievementManager.h"
#include "Core/Boot/Boot.h"
+#include "jni/NetPlay/NetPlayUICallbacks.h"
#include "Core/BootManager.h"
#include "Core/CommonTitles.h"
#include "Core/ConfigLoaders/GameConfigLoader.h"
@@ -616,6 +617,22 @@ Java_org_dolphinemu_dolphinemu_NativeLibrary_Run___3Ljava_lang_String_2ZLjava_la
BootSessionData(GetJString(env, jSavestate), delete_state));
}
+JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RunNetPlay(
+ JNIEnv* env, jclass, jobjectArray jPaths, jboolean jRiivolution)
+{
+ auto boot_session_data = std::unique_ptr<BootSessionData>(reinterpret_cast<BootSessionData*>(
+ env->GetStaticLongField(IDCache::GetNetplayClass(), IDCache::GetNetplayBootSessionDataPointer())));
+ if (!boot_session_data)
+ {
+ env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(), IDCache::GetDisplayToastMsg(),
+ ToJString(env, "Netplay: no boot session data"), JNI_TRUE);
+ env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(), IDCache::GetFinishEmulationActivity());
+ return;
+ }
+ env->SetStaticLongField(IDCache::GetNetplayClass(), IDCache::GetNetplayBootSessionDataPointer(), 0);
+ Run(env, JStringArrayToVector(env, jPaths), jRiivolution, std::move(*boot_session_data));
+}
+
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RunSystemMenu(JNIEnv* env,
jclass)
{