diff options
| author | JMC47 <JMC4789@gmail.com> | 2025-03-23 15:12:06 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-23 15:12:06 -0400 |
| commit | e93f0de8a4bcf9f201347fba21a12960ffa3c15f (patch) | |
| tree | d266cdfbe7b79ea88f8515095fd3b4754cc2b398 /Source/Android/jni/Input/EmulatedController.cpp | |
| parent | 18979129f35f56de9f87e2a7919788679337abfa (diff) | |
| parent | ddb82a5e8ca84df1b95942c8b3a1fa6c9071010b (diff) | |
Merge pull request #13295 from jordan-woyak/controller-emu-cleanup
InputCommon/ControllerEmu: Break out functionality of EmulatedController to eliminate redundant members.
Diffstat (limited to 'Source/Android/jni/Input/EmulatedController.cpp')
| -rw-r--r-- | Source/Android/jni/Input/EmulatedController.cpp | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/Source/Android/jni/Input/EmulatedController.cpp b/Source/Android/jni/Input/EmulatedController.cpp index 8a76240dfd..45f6148f2b 100644 --- a/Source/Android/jni/Input/EmulatedController.cpp +++ b/Source/Android/jni/Input/EmulatedController.cpp @@ -20,6 +20,23 @@ #include "jni/Input/ControlReference.h" #include "jni/Input/NumericSetting.h" +ControllerEmu::ControlGroupContainer* ControlGroupContainerFromJava(JNIEnv* env, jobject obj) +{ + return reinterpret_cast<ControllerEmu::ControlGroupContainer*>( + env->GetLongField(obj, IDCache::GetEmulatedControllerPointer())); +} + +static jobject ControlGroupContainerToJava(JNIEnv* env, + ControllerEmu::ControlGroupContainer* container) +{ + if (!container) + return nullptr; + + return env->NewObject(IDCache::GetControlGroupContainerClass(), + IDCache::GetControlGroupContainerConstructor(), + reinterpret_cast<jlong>(container)); +} + ControllerEmu::EmulatedController* EmulatedControllerFromJava(JNIEnv* env, jobject obj) { return reinterpret_cast<ControllerEmu::EmulatedController*>( @@ -53,18 +70,18 @@ Java_org_dolphinemu_dolphinemu_features_input_model_controlleremu_EmulatedContro } JNIEXPORT jint JNICALL -Java_org_dolphinemu_dolphinemu_features_input_model_controlleremu_EmulatedController_getGroupCount( +Java_org_dolphinemu_dolphinemu_features_input_model_controlleremu_ControlGroupContainer_getGroupCount( JNIEnv* env, jobject obj) { - return static_cast<jint>(EmulatedControllerFromJava(env, obj)->groups.size()); + return static_cast<jint>(ControlGroupContainerFromJava(env, obj)->groups.size()); } JNIEXPORT jobject JNICALL -Java_org_dolphinemu_dolphinemu_features_input_model_controlleremu_EmulatedController_getGroup( +Java_org_dolphinemu_dolphinemu_features_input_model_controlleremu_ControlGroupContainer_getGroup( JNIEnv* env, jobject obj, jint controller_index) { - return ControlGroupToJava(env, - EmulatedControllerFromJava(env, obj)->groups[controller_index].get()); + return ControlGroupToJava( + env, ControlGroupContainerFromJava(env, obj)->groups[controller_index].get()); } JNIEXPORT void JNICALL @@ -175,7 +192,7 @@ Java_org_dolphinemu_dolphinemu_features_input_model_controlleremu_EmulatedContro { auto* attachments = static_cast<ControllerEmu::Attachments*>( Wiimote::GetWiimoteGroup(controller_index, WiimoteEmu::WiimoteGroup::Attachments)); - return EmulatedControllerToJava(env, attachments->GetAttachmentList()[attachment_index].get()); + return ControlGroupContainerToJava(env, attachments->GetAttachmentList()[attachment_index].get()); } JNIEXPORT jint JNICALL |
