diff options
| author | Sean Maas <seanmaas27@gmail.com> | 2016-10-12 17:20:32 -0400 |
|---|---|---|
| committer | Sean Maas <seanmaas27@gmail.com> | 2016-10-13 21:31:36 -0400 |
| commit | f981098438c12232ab24bfa1ca95012babd29762 (patch) | |
| tree | 98e33d0ae7e2a134ae803721e29b651219480a22 /Source/Android/app/src | |
| parent | 14facbc438fed7ec3c2d1a0e7045ba1b47b5a8c2 (diff) | |
Android: On-screen classic controller + Wii controller select
It's now possible to switch between a horizontal or vertical Wiimote
with no extension, a Wiimote with a Nunchuk, a Classic Controller,
or a GameCube Controller when running a Wii game.
Diffstat (limited to 'Source/Android/app/src')
7 files changed, 452 insertions, 149 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java index d24a8455a1..248a806982 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java @@ -118,7 +118,7 @@ public final class NativeLibrary public static final int CLASSIC_DPAD_UP = 309; public static final int CLASSIC_DPAD_DOWN = 310; public static final int CLASSIC_DPAD_LEFT = 311; - public static final int CLASSIC_DPADON_RIGHT = 312; + public static final int CLASSIC_DPAD_RIGHT = 312; public static final int CLASSIC_STICK_LEFT = 313; public static final int CLASSIC_STICK_LEFT_UP = 314; public static final int CLASSIC_STICK_LEFT_DOWN = 315; 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 a534f16304..2e77e9387e 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 @@ -27,6 +27,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.SeekBar; import android.widget.TextView; +import android.widget.Toast; import com.squareup.picasso.Callback; import com.squareup.picasso.Picasso; @@ -383,7 +384,14 @@ public final class EmulationActivity extends AppCompatActivity public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_emulation, menu); + if (mIsGameCubeGame) + { + getMenuInflater().inflate(R.menu.menu_emulation, menu); + } + else + { + getMenuInflater().inflate(R.menu.menu_emulation_wii, menu); + } return true; } @@ -414,10 +422,11 @@ public final class EmulationActivity extends AppCompatActivity // Enable/Disable specific buttons or the entire input overlay. case R.id.menu_emulation_toggle_controls: { - boolean[] enabledButtons = new boolean[11]; + final SharedPreferences.Editor editor = mPreferences.edit(); + boolean[] enabledButtons = new boolean[14]; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.emulation_toggle_controls); - if (mIsGameCubeGame) + if (mIsGameCubeGame || mPreferences.getInt("wiiController", 3) == 0) { for (int i = 0; i < enabledButtons.length; i++) { @@ -429,50 +438,56 @@ public final class EmulationActivity extends AppCompatActivity @Override public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) { - SharedPreferences.Editor editor = mPreferences.edit(); - - if (mPreferences.getBoolean("buttonToggleGc" + indexSelected, true)) - { - // If the button is enabled, disable it. - editor.putBoolean("buttonToggleGc" + indexSelected, false); - } - else - { - // If the button is disabled, enable it. - editor.putBoolean("buttonToggleGc" + indexSelected, true); - } - editor.apply(); + editor.putBoolean("buttonToggleGc" + indexSelected, isChecked); } }); } - else + else if (mPreferences.getInt("wiiController", 3) == 4) { for (int i = 0; i < enabledButtons.length; i++) { - enabledButtons[i] = mPreferences.getBoolean("buttonToggleWii" + i, true); + enabledButtons[i] = mPreferences.getBoolean("buttonToggleClassic" + i, true); } - builder.setMultiChoiceItems(R.array.wiimoteButtons, enabledButtons, + builder.setMultiChoiceItems(R.array.classicButtons, enabledButtons, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) { - SharedPreferences.Editor editor = mPreferences.edit(); - - if (mPreferences.getBoolean("buttonToggleWii" + indexSelected, true)) + editor.putBoolean("buttonToggleClassic" + indexSelected, isChecked); + } + }); + } + else + { + for (int i = 0; i < enabledButtons.length; i++) + { + enabledButtons[i] = mPreferences.getBoolean("buttonToggleWii" + i, true); + } + if (mPreferences.getInt("wiiController", 3) == 3) + { + builder.setMultiChoiceItems(R.array.nunchukButtons, enabledButtons, + new DialogInterface.OnMultiChoiceClickListener() + { + @Override + public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) { - // If the button is enabled, disable it. - editor.putBoolean("buttonToggleWii" + indexSelected, false); + editor.putBoolean("buttonToggleWii" + indexSelected, isChecked); } - else + }); + } + else + { + builder.setMultiChoiceItems(R.array.wiimoteButtons, enabledButtons, + new DialogInterface.OnMultiChoiceClickListener() + { + @Override + public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) { - // If the button is disabled, enable it. - editor.putBoolean("buttonToggleWii" + indexSelected, true); + editor.putBoolean("buttonToggleWii" + indexSelected, isChecked); } - - editor.apply(); - } - }); + }); + } } builder.setNeutralButton(getString(R.string.emulation_toggle_all), new DialogInterface.OnClickListener() { @@ -489,6 +504,8 @@ public final class EmulationActivity extends AppCompatActivity @Override public void onClick(DialogInterface dialogInterface, int i) { + editor.apply(); + EmulationFragment emulationFragment = (EmulationFragment) getFragmentManager() .findFragmentByTag(EmulationFragment.FRAGMENT_TAG); emulationFragment.refreshInputOverlay(); @@ -556,6 +573,43 @@ public final class EmulationActivity extends AppCompatActivity return; } + // (Wii games only) Change the controller for the input overlay. + case R.id.menu_emulation_choose_controller: + final SharedPreferences.Editor editor = mPreferences.edit(); + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.emulation_choose_controller); + builder.setSingleChoiceItems(R.array.controllersEntries, mPreferences.getInt("wiiController", 3), + new DialogInterface.OnClickListener() + { + @Override + public void onClick(DialogInterface dialog, int indexSelected) + { + editor.putInt("wiiController", indexSelected); + + NativeLibrary.SetConfig("WiimoteNew.ini", "Wiimote1", "Extension", + getResources().getStringArray(R.array.controllersValues)[indexSelected]); + } + }); + builder.setPositiveButton(getString(R.string.emulation_done), new DialogInterface.OnClickListener() + { + @Override + public void onClick(DialogInterface dialogInterface, int i) + { + editor.apply(); + + EmulationFragment emulationFragment = (EmulationFragment) getFragmentManager() + .findFragmentByTag(EmulationFragment.FRAGMENT_TAG); + emulationFragment.refreshInputOverlay(); + + Toast.makeText(getApplication(), R.string.emulation_controller_changed, Toast.LENGTH_SHORT).show(); + } + }); + + AlertDialog alertDialog = builder.create(); + alertDialog.show(); + + return; + case R.id.menu_refresh_wiimotes: NativeLibrary.RefreshWiimotes(); return; 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 b13892f3e3..1481faaa70 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 @@ -323,118 +323,213 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener return true; } - public void refreshControls() + private void addGameCubeOverlayControls() { - // Remove all the overlay buttons from the HashSet. - overlayButtons.removeAll(overlayButtons); - overlayDpads.removeAll(overlayDpads); - overlayJoysticks.removeAll(overlayJoysticks); + if (mPreferences.getBoolean("buttonToggleGc0", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_a, ButtonType.BUTTON_A)); + } + if (mPreferences.getBoolean("buttonToggleGc1", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_b, ButtonType.BUTTON_B)); + } + if (mPreferences.getBoolean("buttonToggleGc2", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_x, ButtonType.BUTTON_X)); + } + if (mPreferences.getBoolean("buttonToggleGc3", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_y, ButtonType.BUTTON_Y)); + } + if (mPreferences.getBoolean("buttonToggleGc4", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_z, ButtonType.BUTTON_Z)); + } + if (mPreferences.getBoolean("buttonToggleGc5", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_start, ButtonType.BUTTON_START)); + } + if (mPreferences.getBoolean("buttonToggleGc6", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_l, ButtonType.TRIGGER_L)); + } + if (mPreferences.getBoolean("buttonToggleGc7", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_r, ButtonType.TRIGGER_R)); + } + if (mPreferences.getBoolean("buttonToggleGc8", true)) + { + overlayDpads.add(initializeOverlayDpad(getContext(), R.drawable.gcwii_dpad, + ButtonType.BUTTON_UP, ButtonType.BUTTON_DOWN, + ButtonType.BUTTON_LEFT, ButtonType.BUTTON_RIGHT)); + } + if (mPreferences.getBoolean("buttonToggleGc9", true)) + { + overlayJoysticks.add(initializeOverlayJoystick(getContext(), + R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick, + ButtonType.STICK_MAIN)); + } + if (mPreferences.getBoolean("buttonToggleGc10", true)) + { + overlayJoysticks.add(initializeOverlayJoystick(getContext(), + R.drawable.gcwii_joystick_range, R.drawable.gcpad_c, + ButtonType.STICK_C)); + } + } - // Add all the enabled overlay items back to the HashSet. - if (EmulationActivity.isGameCubeGame()) + private void addWiimoteOverlayControls() + { + if (mPreferences.getBoolean("buttonToggleWii0", true)) { - // GameCube - if (mPreferences.getBoolean("buttonToggleGc0", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_a, ButtonType.BUTTON_A)); - } - if (mPreferences.getBoolean("buttonToggleGc1", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_b, ButtonType.BUTTON_B)); - } - if (mPreferences.getBoolean("buttonToggleGc2", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_x, ButtonType.BUTTON_X)); - } - if (mPreferences.getBoolean("buttonToggleGc3", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_y, ButtonType.BUTTON_Y)); - } - if (mPreferences.getBoolean("buttonToggleGc4", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_z, ButtonType.BUTTON_Z)); - } - if (mPreferences.getBoolean("buttonToggleGc5", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_start, ButtonType.BUTTON_START)); - } - if (mPreferences.getBoolean("buttonToggleGc6", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_l, ButtonType.TRIGGER_L)); - } - if (mPreferences.getBoolean("buttonToggleGc7", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.gcpad_r, ButtonType.TRIGGER_R)); - } - if (mPreferences.getBoolean("buttonToggleGc8", true)) - { - overlayDpads.add(initializeOverlayDpad(getContext(), R.drawable.gcwii_dpad, - ButtonType.BUTTON_UP, ButtonType.BUTTON_DOWN, - ButtonType.BUTTON_LEFT, ButtonType.BUTTON_RIGHT)); - } - if (mPreferences.getBoolean("buttonToggleGc9", true)) - { - overlayJoysticks.add(initializeOverlayJoystick(getContext(), - R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick, - ButtonType.STICK_MAIN)); - } - if (mPreferences.getBoolean("buttonToggleGc10", true)) - { - overlayJoysticks.add(initializeOverlayJoystick(getContext(), - R.drawable.gcwii_joystick_range, R.drawable.gcpad_c, - ButtonType.STICK_C)); - } + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_a, ButtonType.WIIMOTE_BUTTON_A)); } - else + if (mPreferences.getBoolean("buttonToggleWii1", true)) { - // Wiimote + Nunchuk - if (mPreferences.getBoolean("buttonToggleWii0", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_a, ButtonType.WIIMOTE_BUTTON_A)); - } - if (mPreferences.getBoolean("buttonToggleWii1", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_b, ButtonType.WIIMOTE_BUTTON_B)); - } - if (mPreferences.getBoolean("buttonToggleWii2", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_one, ButtonType.WIIMOTE_BUTTON_1)); - } - if (mPreferences.getBoolean("buttonToggleWii3", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_two, ButtonType.WIIMOTE_BUTTON_2)); - } - if (mPreferences.getBoolean("buttonToggleWii4", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_plus, ButtonType.WIIMOTE_BUTTON_PLUS)); - } - if (mPreferences.getBoolean("buttonToggleWii5", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_minus, ButtonType.WIIMOTE_BUTTON_MINUS)); - } - if (mPreferences.getBoolean("buttonToggleWii6", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_home, ButtonType.WIIMOTE_BUTTON_HOME)); - } - if (mPreferences.getBoolean("buttonToggleWii7", true)) - { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.nunchuk_c, ButtonType.NUNCHUK_BUTTON_C)); - } - if (mPreferences.getBoolean("buttonToggleWii8", true)) + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_b, ButtonType.WIIMOTE_BUTTON_B)); + } + if (mPreferences.getBoolean("buttonToggleWii2", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_one, ButtonType.WIIMOTE_BUTTON_1)); + } + if (mPreferences.getBoolean("buttonToggleWii3", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_two, ButtonType.WIIMOTE_BUTTON_2)); + } + if (mPreferences.getBoolean("buttonToggleWii4", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_plus, ButtonType.WIIMOTE_BUTTON_PLUS)); + } + if (mPreferences.getBoolean("buttonToggleWii5", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_minus, ButtonType.WIIMOTE_BUTTON_MINUS)); + } + if (mPreferences.getBoolean("buttonToggleWii6", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_home, ButtonType.WIIMOTE_BUTTON_HOME)); + } + if (mPreferences.getBoolean("buttonToggleWii7", true)) + { + if (mPreferences.getInt("wiiController", 3) == 2) { - overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.nunchuk_z, ButtonType.NUNCHUK_BUTTON_Z)); + overlayDpads.add(initializeOverlayDpad(getContext(), R.drawable.gcwii_dpad, + ButtonType.WIIMOTE_RIGHT, ButtonType.WIIMOTE_LEFT, + ButtonType.WIIMOTE_UP, ButtonType.WIIMOTE_DOWN)); } - if (mPreferences.getBoolean("buttonToggleWii9", true)) + else { overlayDpads.add(initializeOverlayDpad(getContext(), R.drawable.gcwii_dpad, ButtonType.WIIMOTE_UP, ButtonType.WIIMOTE_DOWN, ButtonType.WIIMOTE_LEFT, ButtonType.WIIMOTE_RIGHT)); } - if (mPreferences.getBoolean("buttonToggleWii10", true)) + } + } + + private void addNunchukOverlayControls() + { + if (mPreferences.getBoolean("buttonToggleWii8", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.nunchuk_c, ButtonType.NUNCHUK_BUTTON_C)); + } + if (mPreferences.getBoolean("buttonToggleWii9", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.nunchuk_z, ButtonType.NUNCHUK_BUTTON_Z)); + } + if (mPreferences.getBoolean("buttonToggleWii10", true)) + { + overlayJoysticks.add(initializeOverlayJoystick(getContext(), + R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick, + ButtonType.NUNCHUK_STICK)); + } + } + + private void addClassicOverlayControls() + { + if (mPreferences.getBoolean("buttonToggleClassic0", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_a, ButtonType.CLASSIC_BUTTON_A)); + } + if (mPreferences.getBoolean("buttonToggleClassic1", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_b, ButtonType.CLASSIC_BUTTON_B)); + } + if (mPreferences.getBoolean("buttonToggleClassic2", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_x, ButtonType.CLASSIC_BUTTON_X)); + } + if (mPreferences.getBoolean("buttonToggleClassic3", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_y, ButtonType.CLASSIC_BUTTON_Y)); + } + if (mPreferences.getBoolean("buttonToggleClassic4", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_plus, ButtonType.CLASSIC_BUTTON_PLUS)); + } + if (mPreferences.getBoolean("buttonToggleClassic5", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_minus, ButtonType.CLASSIC_BUTTON_MINUS)); + } + if (mPreferences.getBoolean("buttonToggleClassic6", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.wiimote_home, ButtonType.CLASSIC_BUTTON_HOME)); + } + if (mPreferences.getBoolean("buttonToggleClassic7", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_l, ButtonType.CLASSIC_TRIGGER_L)); + } + if (mPreferences.getBoolean("buttonToggleClassic8", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_r, ButtonType.CLASSIC_TRIGGER_R)); + } + if (mPreferences.getBoolean("buttonToggleClassic9", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_zl, ButtonType.CLASSIC_BUTTON_ZL)); + } + if (mPreferences.getBoolean("buttonToggleClassic10", true)) + { + overlayButtons.add(initializeOverlayButton(getContext(), R.drawable.classic_zr, ButtonType.CLASSIC_BUTTON_ZR)); + } + if (mPreferences.getBoolean("buttonToggleClassic11", true)) + { + overlayDpads.add(initializeOverlayDpad(getContext(), R.drawable.gcwii_dpad, + ButtonType.CLASSIC_DPAD_UP, ButtonType.CLASSIC_DPAD_DOWN, + ButtonType.CLASSIC_DPAD_LEFT, ButtonType.CLASSIC_DPAD_RIGHT)); + } + if (mPreferences.getBoolean("buttonToggleClassic12", true)) + { + overlayJoysticks.add(initializeOverlayJoystick(getContext(), + R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick, + ButtonType.CLASSIC_STICK_LEFT)); + } + if (mPreferences.getBoolean("buttonToggleClassic13", true)) + { + overlayJoysticks.add(initializeOverlayJoystick(getContext(), + R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick, + ButtonType.CLASSIC_STICK_RIGHT)); + } + } + + public void refreshControls() + { + // Remove all the overlay buttons from the HashSet. + overlayButtons.removeAll(overlayButtons); + overlayDpads.removeAll(overlayDpads); + overlayJoysticks.removeAll(overlayJoysticks); + + // Add all the enabled overlay items back to the HashSet. + if (EmulationActivity.isGameCubeGame() || mPreferences.getInt("wiiController", 3) == 0) + { + addGameCubeOverlayControls(); + } + else if (mPreferences.getInt("wiiController", 3) == 4) + { + addClassicOverlayControls(); + } + else + { + addWiimoteOverlayControls(); + if (mPreferences.getInt("wiiController", 3) == 3) { - overlayJoysticks.add(initializeOverlayJoystick(getContext(), - R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick, - ButtonType.NUNCHUK_STICK)); + addNunchukOverlayControls(); } } @@ -506,7 +601,7 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener case ButtonType.BUTTON_Z: case ButtonType.TRIGGER_L: case ButtonType.TRIGGER_R: - scale = 0.22f; + scale = 0.225f; break; case ButtonType.BUTTON_START: scale = 0.075f; @@ -518,8 +613,17 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener case ButtonType.WIIMOTE_BUTTON_PLUS: case ButtonType.WIIMOTE_BUTTON_MINUS: case ButtonType.WIIMOTE_BUTTON_HOME: + case ButtonType.CLASSIC_BUTTON_PLUS: + case ButtonType.CLASSIC_BUTTON_MINUS: + case ButtonType.CLASSIC_BUTTON_HOME: scale = 0.0625f; break; + case ButtonType.CLASSIC_TRIGGER_L: + case ButtonType.CLASSIC_TRIGGER_R: + case ButtonType.CLASSIC_BUTTON_ZL: + case ButtonType.CLASSIC_BUTTON_ZR: + scale = 0.25f; + break; default: scale = 0.125f; break; @@ -583,11 +687,11 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener case ButtonType.BUTTON_UP: scale = 0.2375f; break; - case ButtonType.WIIMOTE_UP: - scale = 0.2125f; + case ButtonType.CLASSIC_DPAD_UP: + scale = 0.275f; break; default: - scale = 0.275f; + scale = 0.2125f; break; } diff --git a/Source/Android/app/src/main/res/menu/menu_emulation.xml b/Source/Android/app/src/main/res/menu/menu_emulation.xml index 244fe36e52..ac7cfd6835 100644 --- a/Source/Android/app/src/main/res/menu/menu_emulation.xml +++ b/Source/Android/app/src/main/res/menu/menu_emulation.xml @@ -2,9 +2,6 @@ xmlns:tools="http://schemas.android.com/tools" tools:context="org.dolphinemu.dolphinemu.activities.EmulationActivity"> - - - <item android:id="@+id/menu_emulation_screenshot" android:showAsAction="ifRoom" diff --git a/Source/Android/app/src/main/res/menu/menu_emulation_wii.xml b/Source/Android/app/src/main/res/menu/menu_emulation_wii.xml new file mode 100644 index 0000000000..34b1b15937 --- /dev/null +++ b/Source/Android/app/src/main/res/menu/menu_emulation_wii.xml @@ -0,0 +1,103 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + tools:context="org.dolphinemu.dolphinemu.activities.EmulationActivity"> + + <item + android:id="@+id/menu_emulation_screenshot" + android:showAsAction="ifRoom" + android:icon="@drawable/ic_screenshot" + android:title="@string/overlay_screenshot"/> + + <item + android:id="@+id/menu_quicksave" + android:showAsAction="ifRoom" + android:icon="@drawable/ic_quicksave" + android:title="@string/emulation_quicksave" + /> + + <item + android:id="@+id/menu_quickload" + android:showAsAction="ifRoom" + android:icon="@drawable/ic_quickload" + android:title="@string/emulation_quickload" + /> + + <!-- Save State Slots --> + <item + android:id="@+id/menu_emulation_save_root" + android:showAsAction="never" + android:title="@string/overlay_savestate"> + <menu> + <item + android:id="@+id/menu_emulation_save_1" + android:title="@string/overlay_slot1"/> + + <item + android:id="@+id/menu_emulation_save_2" + android:title="@string/overlay_slot2"/> + + <item + android:id="@+id/menu_emulation_save_3" + android:title="@string/overlay_slot3"/> + + <item + android:id="@+id/menu_emulation_save_4" + android:title="@string/overlay_slot4"/> + + <item + android:id="@+id/menu_emulation_save_5" + android:title="@string/overlay_slot5"/> + </menu> + </item> + + <!-- Load State Slots --> + <item + android:id="@+id/menu_emulation_load_root" + android:showAsAction="never" + android:title="@string/overlay_loadstate"> + <menu> + <item + android:id="@+id/menu_emulation_load_1" + android:title="@string/overlay_slot1"/> + + <item + android:id="@+id/menu_emulation_load_2" + android:title="@string/overlay_slot2"/> + + <item + android:id="@+id/menu_emulation_load_3" + android:title="@string/overlay_slot3"/> + + <item + android:id="@+id/menu_emulation_load_4" + android:title="@string/overlay_slot4"/> + + <item + android:id="@+id/menu_emulation_load_5" + android:title="@string/overlay_slot5"/> + </menu> + </item> + + <item + android:id="@+id/menu_emulation_configure_controls" + android:showAsAction="never" + android:title="@string/emulation_configure_controls"> + <menu> + <item + android:id="@+id/menu_emulation_edit_layout" + android:title="@string/emulation_edit_layout"/> + + <item + android:id="@+id/menu_emulation_toggle_controls" + android:title="@string/emulation_toggle_controls"/> + + <item + android:id="@+id/menu_emulation_adjust_scale" + android:title="@string/emulation_control_scale"/> + + <item + android:id="@+id/menu_emulation_choose_controller" + android:title="@string/emulation_choose_controller"/> + </menu> + </item> +</menu> diff --git a/Source/Android/app/src/main/res/values/arrays.xml b/Source/Android/app/src/main/res/values/arrays.xml index 12fe053076..9ecec4e04b 100644 --- a/Source/Android/app/src/main/res/values/arrays.xml +++ b/Source/Android/app/src/main/res/values/arrays.xml @@ -32,7 +32,7 @@ <item>3</item> </integer-array> - <!-- Wiimote extensions --> + <!-- Wii Remote extensions --> <string-array name="wiimoteExtEntries" translatable="false"> <item>"None"</item> <item>"Nunchuk"</item> @@ -179,6 +179,32 @@ <item>12</item> </integer-array> + <string-array name="wiimoteTypeEntries"> + <item>Disabled</item> + <item>Emulated</item> + <item>Real Wii Remote (DolphinBar required)</item> + </string-array> + <integer-array name="wiimoteTypeValues"> + <item>0</item> + <item>1</item> + <item>2</item> + </integer-array> + + <string-array name="controllersEntries"> + <item>GameCube Controller</item> + <item>Wii Remote</item> + <item>Horizontal Wii Remote</item> + <item>Wii Remote + Nunchuk</item> + <item>Classic Controller</item> + </string-array> + <string-array name="controllersValues"> + <item>None</item> + <item>None</item> + <item>None</item> + <item>Nunchuk</item> + <item>Classic</item> + </string-array> + <string-array name="gcpadButtons"> <item>A</item> <item>B</item> @@ -193,18 +219,18 @@ <item>C Stick</item> </string-array> - <string-array name="wiimoteTypeEntries"> - <item>Disabled</item> - <item>Emulated</item> - <item>Real Wiimote (DolphinBar required)</item> - </string-array> - <integer-array name="wiimoteTypeValues"> - <item>0</item> + <string-array name="wiimoteButtons"> + <item>A</item> + <item>B</item> <item>1</item> <item>2</item> - </integer-array> + <item>+</item> + <item>-</item> + <item>Home</item> + <item>D-Pad</item> + </string-array> - <string-array name="wiimoteButtons"> + <string-array name="nunchukButtons"> <item>A</item> <item>B</item> <item>1</item> @@ -212,10 +238,27 @@ <item>+</item> <item>-</item> <item>Home</item> + <item>D-Pad</item> <item>C</item> <item>Z</item> - <item>D-Pad</item> <item>Nunchuk Stick</item> </string-array> + <string-array name="classicButtons"> + <item>a</item> + <item>b</item> + <item>x</item> + <item>y</item> + <item>+</item> + <item>-</item> + <item>Home</item> + <item>L</item> + <item>R</item> + <item>ZL</item> + <item>ZR</item> + <item>D-Pad</item> + <item>Left Stick</item> + <item>Right Stick</item> + </string-array> + </resources> diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index 8e47f68acd..bf9f1741bd 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -364,6 +364,8 @@ <string name="emulation_toggle_controls">Toggle Controls</string> <string name="emulation_toggle_all">Toggle All</string> <string name="emulation_control_scale">Adjust Scale</string> + <string name="emulation_choose_controller">Choose Controller</string> + <string name="emulation_controller_changed">You may have to reload the game after changing extensions.</string> <!-- GC Adapter Menu--> <string name="gc_adapter_rumble">Enable Vibration</string> |
