diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-11-05 18:29:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-05 18:29:19 +0100 |
| commit | ec69ed21733f25d11c3ebb34ff96814964515761 (patch) | |
| tree | 01ddeac127fe94ea4c5e1b7318329fd306c03c39 /Source/Android | |
| parent | 1748e6416fe43d2d2f90f385d98d2f7667504330 (diff) | |
| parent | afdf6de0413e6098f3f0c2318fe03a04dfaacc6c (diff) | |
Merge pull request #12133 from mandar1jn/skylanders-improved-generation
Skylanders: Improve figure data view and generation
Diffstat (limited to 'Source/Android')
| -rw-r--r-- | Source/Android/jni/SkylanderConfig.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/Source/Android/jni/SkylanderConfig.cpp b/Source/Android/jni/SkylanderConfig.cpp index 76a0718624..51c621c919 100644 --- a/Source/Android/jni/SkylanderConfig.cpp +++ b/Source/Android/jni/SkylanderConfig.cpp @@ -7,7 +7,7 @@ #include "AndroidCommon/AndroidCommon.h" #include "AndroidCommon/IDCache.h" -#include "Core/IOS/USB/Emulated/Skylander.h" +#include "Core/IOS/USB/Emulated/Skylanders/Skylander.h" #include "Core/System.h" extern "C" { @@ -107,11 +107,12 @@ Java_org_dolphinemu_dolphinemu_features_skylanders_SkylanderConfig_loadSkylander name = it->second.name; } - return env->NewObject(pair_class, pair_init, - env->NewObject(integer_class, int_init, - system.GetSkylanderPortal().LoadSkylander( - file_data.data(), std::move(sky_file))), - ToJString(env, name)); + return env->NewObject( + pair_class, pair_init, + env->NewObject(integer_class, int_init, + system.GetSkylanderPortal().LoadSkylander( + std::make_unique<IOS::HLE::USB::SkylanderFigure>(std::move(sky_file)))), + ToJString(env, name)); } JNIEXPORT jobject JNICALL @@ -124,7 +125,11 @@ Java_org_dolphinemu_dolphinemu_features_skylanders_SkylanderConfig_createSkyland std::string file_name = GetJString(env, fileName); auto& system = Core::System::GetInstance(); - system.GetSkylanderPortal().CreateSkylander(file_name, sky_id, sky_var); + { + IOS::HLE::USB::SkylanderFigure figure(file_name); + figure.Create(sky_id, sky_var); + figure.Close(); + } system.GetSkylanderPortal().RemoveSkylander(slot); jclass pair_class = env->FindClass("android/util/Pair"); @@ -154,10 +159,11 @@ Java_org_dolphinemu_dolphinemu_features_skylanders_SkylanderConfig_createSkyland name = it->second.name; } - return env->NewObject(pair_class, pair_init, - env->NewObject(integer_class, integer_init, - system.GetSkylanderPortal().LoadSkylander( - file_data.data(), std::move(sky_file))), - ToJString(env, name)); + return env->NewObject( + pair_class, pair_init, + env->NewObject(integer_class, integer_init, + system.GetSkylanderPortal().LoadSkylander( + std::make_unique<IOS::HLE::USB::SkylanderFigure>(std::move(sky_file)))), + ToJString(env, name)); } } |
