From 5568b3760eb518f4ab727dec66d5a528d6f919ac Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 19 Nov 2018 13:24:35 +0200 Subject: remove hard coded paths, add andre-apk.sh --- src/loader.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'src/loader.c') diff --git a/src/loader.c b/src/loader.c index 326fd3a..7e2a472 100644 --- a/src/loader.c +++ b/src/loader.c @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -124,22 +125,19 @@ run_jni_game(struct jvm *jvm) const jobject context = jvm->native.AllocObject(&jvm->env, jvm->native.FindClass(&jvm->env, "android/app/Activity")); unity.native_init_jni.fun(&jvm->env, context, context); -#if WOLF - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/apks/wolf.apk")); -#elif STARLIGHT - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/apks/starlight.apk")); -#elif STAROCEAN - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/apks/starocean.apk")); -#elif SHADOWVERSE - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/apks/shadowverse.apk")); -#elif HEARTHSTONE - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/apks/hearthstone.apk")); - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/local/obb/com.blizzard.wtcg.hearthstone/patch.1561502.com.blizzard.wtcg.hearthstone.obb")); - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/local/obb/com.blizzard.wtcg.hearthstone/main.1561502.com.blizzard.wtcg.hearthstone.obb")); -#else - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/apks/honkai.apk")); - unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, "/mnt/media/dev/android2gnulinux/local/obb/com.miHoYo.bh3oversea/main.100.com.miHoYo.bh3oversea.obb")); -#endif + unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, getenv("ANDROID_PACKAGE_FILE"))); + + { + DIR *dir; + const char *obb_dir = getenv("ANDROID_EXTERNAL_OBB_DIR"); + if (obb_dir && (dir = opendir(obb_dir))) { + for (struct dirent *d; (d = readdir(dir));) { + char path[4096]; + snprintf(path, sizeof(path), "%s/%s", obb_dir, d->d_name); + unity.native_file.fun(&jvm->env, context, jvm->env->NewStringUTF(&jvm->env, path)); + } + } + } // unity.native_forward_events_to_dalvik.fun(&jvm->env, context, true); unity.native_init_www.fun(&jvm->env, context, jvm->env->FindClass(&jvm->env, "com/unity3d/player/WWW")); -- cgit v1.2.3