Android: More on-screen buttons
GameCube now has a c-stick. For Wii games, there is now a Wiimote + Nunchuk setup.
@ -33,7 +33,7 @@ Tilt/Modifier/Range = 50,000000
|
|||||||
Shake/X = `Button 132`
|
Shake/X = `Button 132`
|
||||||
Shake/Y = `Button 133`
|
Shake/Y = `Button 133`
|
||||||
Shake/Z = `Button 134`
|
Shake/Z = `Button 134`
|
||||||
Extension = None
|
Extension = Nunchuk
|
||||||
Nunchuk/Buttons/C = `Button 200`
|
Nunchuk/Buttons/C = `Button 200`
|
||||||
Nunchuk/Buttons/Z = `Button 201`
|
Nunchuk/Buttons/Z = `Button 201`
|
||||||
Nunchuk/Stick/Up = `Axis 203`
|
Nunchuk/Stick/Up = `Axis 203`
|
||||||
|
@ -55,6 +55,8 @@ public final class EmulationActivity extends AppCompatActivity
|
|||||||
private boolean mSystemUiVisible;
|
private boolean mSystemUiVisible;
|
||||||
private boolean mMenuVisible;
|
private boolean mMenuVisible;
|
||||||
|
|
||||||
|
private static boolean mIsGameCubeGame;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handlers are a way to pass a message to an Activity telling it to do something
|
* Handlers are a way to pass a message to an Activity telling it to do something
|
||||||
* on the UI thread. This Handler responds to any message, even blank ones, by
|
* on the UI thread. This Handler responds to any message, even blank ones, by
|
||||||
@ -209,6 +211,8 @@ public final class EmulationActivity extends AppCompatActivity
|
|||||||
menuFragment.setTitleText(mSelectedTitle);
|
menuFragment.setTitleText(mSelectedTitle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mIsGameCubeGame = (NativeLibrary.GetPlatform(path) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -667,6 +671,11 @@ public final class EmulationActivity extends AppCompatActivity
|
|||||||
return mSelectedTitle;
|
return mSelectedTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isGameCubeGame()
|
||||||
|
{
|
||||||
|
return mIsGameCubeGame;
|
||||||
|
}
|
||||||
|
|
||||||
public static void launch(Activity activity, String path, String title, String screenshotPath, int position, View sharedView)
|
public static void launch(Activity activity, String path, String title, String screenshotPath, int position, View sharedView)
|
||||||
{
|
{
|
||||||
Intent launcher = new Intent(activity, EmulationActivity.class);
|
Intent launcher = new Intent(activity, EmulationActivity.class);
|
||||||
|
@ -26,6 +26,7 @@ import org.dolphinemu.dolphinemu.NativeLibrary;
|
|||||||
import org.dolphinemu.dolphinemu.NativeLibrary.ButtonState;
|
import org.dolphinemu.dolphinemu.NativeLibrary.ButtonState;
|
||||||
import org.dolphinemu.dolphinemu.NativeLibrary.ButtonType;
|
import org.dolphinemu.dolphinemu.NativeLibrary.ButtonType;
|
||||||
import org.dolphinemu.dolphinemu.R;
|
import org.dolphinemu.dolphinemu.R;
|
||||||
|
import org.dolphinemu.dolphinemu.activities.EmulationActivity;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -78,6 +79,9 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
|
|||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
|
|
||||||
// Add all the overlay items to the HashSet.
|
// Add all the overlay items to the HashSet.
|
||||||
|
if (EmulationActivity.isGameCubeGame())
|
||||||
|
{
|
||||||
|
// GameCube
|
||||||
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_a, ButtonType.BUTTON_A));
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_a, ButtonType.BUTTON_A));
|
||||||
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_b, ButtonType.BUTTON_B));
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_b, ButtonType.BUTTON_B));
|
||||||
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_x, ButtonType.BUTTON_X));
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_x, ButtonType.BUTTON_X));
|
||||||
@ -86,12 +90,35 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
|
|||||||
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_start, ButtonType.BUTTON_START));
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_start, ButtonType.BUTTON_START));
|
||||||
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_l, ButtonType.TRIGGER_L));
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_l, ButtonType.TRIGGER_L));
|
||||||
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_r, ButtonType.TRIGGER_R));
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.gcpad_r, ButtonType.TRIGGER_R));
|
||||||
overlayDpads.add(initializeOverlayDpad(context, R.drawable.gcpad_dpad,
|
overlayDpads.add(initializeOverlayDpad(context, R.drawable.gcwii_dpad,
|
||||||
ButtonType.BUTTON_UP, ButtonType.BUTTON_DOWN,
|
ButtonType.BUTTON_UP, ButtonType.BUTTON_DOWN,
|
||||||
ButtonType.BUTTON_LEFT, ButtonType.BUTTON_RIGHT));
|
ButtonType.BUTTON_LEFT, ButtonType.BUTTON_RIGHT));
|
||||||
overlayJoysticks.add(initializeOverlayJoystick(context,
|
overlayJoysticks.add(initializeOverlayJoystick(context,
|
||||||
R.drawable.gcpad_joystick_range, R.drawable.gcpad_joystick,
|
R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick,
|
||||||
ButtonType.STICK_MAIN));
|
ButtonType.STICK_MAIN));
|
||||||
|
overlayJoysticks.add(initializeOverlayJoystick(context,
|
||||||
|
R.drawable.gcwii_joystick_range, R.drawable.gcpad_c,
|
||||||
|
ButtonType.STICK_C));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Wiimote + Nunchuk
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.wiimote_a, ButtonType.WIIMOTE_BUTTON_A));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.wiimote_b, ButtonType.WIIMOTE_BUTTON_B));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.wiimote_one, ButtonType.WIIMOTE_BUTTON_1));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.wiimote_two, ButtonType.WIIMOTE_BUTTON_2));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.wiimote_plus, ButtonType.WIIMOTE_BUTTON_PLUS));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.wiimote_minus, ButtonType.WIIMOTE_BUTTON_MINUS));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.wiimote_home, ButtonType.WIIMOTE_BUTTON_HOME));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.nunchuk_c, ButtonType.NUNCHUK_BUTTON_C));
|
||||||
|
overlayButtons.add(initializeOverlayButton(context, R.drawable.nunchuk_z, ButtonType.NUNCHUK_BUTTON_Z));
|
||||||
|
overlayDpads.add(initializeOverlayDpad(context, R.drawable.gcwii_dpad,
|
||||||
|
ButtonType.WIIMOTE_UP, ButtonType.WIIMOTE_DOWN,
|
||||||
|
ButtonType.WIIMOTE_LEFT, ButtonType.WIIMOTE_RIGHT));
|
||||||
|
overlayJoysticks.add(initializeOverlayJoystick(context,
|
||||||
|
R.drawable.gcwii_joystick_range, R.drawable.gcwii_joystick,
|
||||||
|
ButtonType.NUNCHUK_STICK));
|
||||||
|
}
|
||||||
|
|
||||||
// Set the on touch listener.
|
// Set the on touch listener.
|
||||||
setOnTouchListener(this);
|
setOnTouchListener(this);
|
||||||
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |