summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorRyan Meredith <rwm@udel.edu>2020-06-16 13:27:13 -0400
committerRyan Meredith <rwm@udel.edu>2020-06-16 13:27:13 -0400
commitea3c3fd952239702736f7ac1bc4e025707aa556c (patch)
treeb4e57e271be37c911f8e68a2c17125993dcb3a51 /Source/Android/app/src/main/java
parent9f5e6edc34699de8e2c8d7dc18bd8954c6b7c2e7 (diff)
Android: Separate GameCube overlay refresh logic
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java1
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlay.java65
3 files changed, 55 insertions, 13 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
index 79afa4f81f..18903d3324 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
@@ -798,7 +798,7 @@ public final class EmulationActivity extends AppCompatActivity
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.DolphinDialogBase);
int currentController =
- mPreferences.getInt("wiiController", InputOverlay.OVERLAY_WIIMOTE_NUNCHUCK);
+ mPreferences.getInt("wiiController", InputOverlay.OVERLAY_WIIMOTE_NUNCHUK);
int currentValue = mPreferences.getInt("doubleTapButton",
InputOverlayPointer.DOUBLE_TAP_OPTIONS.get(InputOverlayPointer.DOUBLE_TAP_A));
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
index 8e2f33fdd1..47f8aa4ec2 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
@@ -119,6 +119,7 @@ public final class SettingsFile
public static final String KEY_DEBUG_JITREGISTERCACHEOFF = "JitRegisterCacheOff";
public static final String KEY_GCPAD_TYPE = "SIDevice";
+ public static final String KEY_GCPAD_PLAYER_1 = "SIDevice0";
public static final String KEY_GCPAD_G_TYPE = "PadType";
public static final String KEY_GCBIND_A = "InputA_";
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlay.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlay.java
index e2c6c1978c..10530afbb4 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlay.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlay.java
@@ -24,12 +24,15 @@ import android.view.MotionEvent;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnTouchListener;
+import android.widget.Toast;
import org.dolphinemu.dolphinemu.NativeLibrary;
import org.dolphinemu.dolphinemu.NativeLibrary.ButtonState;
import org.dolphinemu.dolphinemu.NativeLibrary.ButtonType;
import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.activities.EmulationActivity;
+import org.dolphinemu.dolphinemu.features.settings.model.Settings;
+import org.dolphinemu.dolphinemu.features.settings.utils.SettingsFile;
import java.util.ArrayList;
import java.util.HashSet;
@@ -44,14 +47,20 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
public static final int OVERLAY_GAMECUBE = 0;
public static final int OVERLAY_WIIMOTE = 1;
public static final int OVERLAY_WIIMOTE_SIDEWAYS = 2;
- public static final int OVERLAY_WIIMOTE_NUNCHUCK = 3;
+ public static final int OVERLAY_WIIMOTE_NUNCHUK = 3;
public static final int OVERLAY_WIIMOTE_CLASSIC = 4;
+ public static final int OVERLAY_NONE = 5;
+
+ private static final String DISABLED_GAMECUBE_CONTROLLER = "0";
+ private static final String EMULATED_GAMECUBE_CONTROLLER = "6";
+ private static final String GAMECUBE_ADAPTER = "12";
private final Set<InputOverlayDrawableButton> overlayButtons = new HashSet<>();
private final Set<InputOverlayDrawableDpad> overlayDpads = new HashSet<>();
private final Set<InputOverlayDrawableJoystick> overlayJoysticks = new HashSet<>();
private InputOverlayPointer overlayPointer;
+ private boolean mIsFirstRun = true;
private boolean mIsInEditMode = false;
private InputOverlayDrawableButton mButtonBeingConfigured;
private InputOverlayDrawableDpad mDpadBeingConfigured;
@@ -135,7 +144,7 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
int doubleTapButton = mPreferences.getInt("doubleTapButton",
InputOverlayPointer.DOUBLE_TAP_OPTIONS.get(InputOverlayPointer.DOUBLE_TAP_A));
- if (mPreferences.getInt("wiiController", OVERLAY_WIIMOTE_NUNCHUCK) !=
+ if (mPreferences.getInt("wiiController", OVERLAY_WIIMOTE_NUNCHUK) !=
InputOverlay.OVERLAY_WIIMOTE_CLASSIC &&
doubleTapButton == InputOverlayPointer.DOUBLE_TAP_CLASSIC_A)
{
@@ -692,24 +701,56 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
if (mPreferences.getBoolean("showInputOverlay", true))
{
// Add all the enabled overlay items back to the HashSet.
- if (EmulationActivity.isGameCubeGame() || mPreferences.getInt("wiiController", 3) == 0)
- {
- addGameCubeOverlayControls(orientation);
- }
- else if (mPreferences.getInt("wiiController", 3) == 4)
+ if (EmulationActivity.isGameCubeGame())
{
- addClassicOverlayControls(orientation);
+ switch (NativeLibrary
+ .GetConfig(SettingsFile.FILE_NAME_DOLPHIN + ".ini", Settings.SECTION_INI_CORE,
+ SettingsFile.KEY_GCPAD_PLAYER_1, EMULATED_GAMECUBE_CONTROLLER))
+ {
+ case DISABLED_GAMECUBE_CONTROLLER:
+ if (mIsFirstRun)
+ {
+ Toast.makeText(getContext(), R.string.disabled_gc_overlay_notice, Toast.LENGTH_SHORT)
+ .show();
+ }
+ break;
+
+ case EMULATED_GAMECUBE_CONTROLLER:
+ addGameCubeOverlayControls(orientation);
+ break;
+
+ case GAMECUBE_ADAPTER:
+ break;
+ }
}
else
{
- addWiimoteOverlayControls(orientation);
- if (mPreferences.getInt("wiiController", 3) == 3)
+ switch (mPreferences.getInt("wiiController", 3))
{
- addNunchukOverlayControls(orientation);
+ case OVERLAY_GAMECUBE:
+ addGameCubeOverlayControls(orientation);
+ break;
+
+ case OVERLAY_WIIMOTE:
+ case OVERLAY_WIIMOTE_SIDEWAYS:
+ addWiimoteOverlayControls(orientation);
+ break;
+
+ case OVERLAY_WIIMOTE_NUNCHUK:
+ addWiimoteOverlayControls(orientation);
+ addNunchukOverlayControls(orientation);
+ break;
+
+ case OVERLAY_WIIMOTE_CLASSIC:
+ addClassicOverlayControls(orientation);
+ break;
+
+ case OVERLAY_NONE:
+ break;
}
}
}
-
+ mIsFirstRun = false;
invalidate();
}