diff options
Diffstat (limited to 'Source/Android')
11 files changed, 40 insertions, 5 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt index b52b7b4fa4..e0ada502cc 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt @@ -367,6 +367,9 @@ object NativeLibrary { external fun PauseEmulation(overrideAchievementRestrictions: Boolean) @JvmStatic + external fun ResetEmulation() + + @JvmStatic external fun StopEmulation() /** diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt index 23ffe96cd6..2761c4b4e9 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt @@ -525,6 +525,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider { MENU_ACTION_SKYLANDERS -> showSkylanderPortalSettings() MENU_ACTION_INFINITY_BASE -> showInfinityBaseSettings() MENU_ACTION_EXIT -> emulationFragment!!.stopEmulation() + MENU_ACTION_RESET -> emulationFragment!!.resetEmulation() } } @@ -1084,6 +1085,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider { const val MENU_ACTION_SKYLANDERS = 36 const val MENU_ACTION_INFINITY_BASE = 37 const val MENU_ACTION_LATCHING_CONTROLS = 38 + const val MENU_ACTION_RESET = 39; init { buttonsActionsMap.apply { diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt index f67a23e2da..eabfb75f82 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt @@ -3,6 +3,7 @@ package org.dolphinemu.dolphinemu.adapters import android.view.ViewGroup +import android.widget.TextView import androidx.core.content.ContextCompat import androidx.leanback.widget.ImageCardView import androidx.leanback.widget.Presenter @@ -16,9 +17,16 @@ class SettingsRowPresenter : Presenter() { val settingsCard = ImageCardView(parent.context) settingsCard.apply { setMainImageAdjustViewBounds(true) - setMainImageDimensions(192, 160) + setMainImageDimensions( + resources.getDimensionPixelSize(R.dimen.tv_settings_card_width), + resources.getDimensionPixelSize(R.dimen.tv_settings_card_height) + ) isFocusable = true isFocusableInTouchMode = true + findViewById<TextView>(R.id.title_text).apply { + minLines = 2 + maxLines = 2 + } } // Use that view to create a ViewHolder. diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt index 210a34b23f..8a46a698ce 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt @@ -1359,7 +1359,7 @@ class SettingsFragmentPresenter( ) sl.add( IntSliderSetting( - context, mem2Size, R.string.main_mem2_size, 0, 64, 128, "MB", 1 + context, mem2Size, R.string.main_mem2_size, 0, 64, 256, "MB", 1 ) ) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt index a005995bdb..a0215d4cd8 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt @@ -165,6 +165,11 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { runWhenSurfaceIsValid = true } + fun resetEmulation() { + Log.debug("[EmulationFragment] Resetting emulation.") + NativeLibrary.ResetEmulation() + } + fun stopEmulation() { Log.debug("[EmulationFragment] Stopping emulation.") NativeLibrary.StopEmulation() diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt index 6bf9c7c147..ee4bb50e3f 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt @@ -76,6 +76,7 @@ class MenuFragment : Fragment(), View.OnClickListener { button.setOnClickListener(this) } + binding.menuReset.setOnClickListener(this) binding.menuExit.setOnClickListener(this) val title = requireArguments().getString(KEY_TITLE, null) @@ -199,6 +200,7 @@ class MenuFragment : Fragment(), View.OnClickListener { EmulationActivity.MENU_ACTION_CHANGE_DISC ) buttonsActionsMap.append(R.id.menu_exit, EmulationActivity.MENU_ACTION_EXIT) + buttonsActionsMap.append(R.id.menu_reset, EmulationActivity.MENU_ACTION_RESET) buttonsActionsMap.append(R.id.menu_settings, EmulationActivity.MENU_ACTION_SETTINGS) buttonsActionsMap.append(R.id.menu_skylanders, EmulationActivity.MENU_ACTION_SKYLANDERS) buttonsActionsMap.append( diff --git a/Source/Android/app/src/main/res/layout/activity_settings.xml b/Source/Android/app/src/main/res/layout/activity_settings.xml index fbecfd3886..b4226e3d9f 100644 --- a/Source/Android/app/src/main/res/layout/activity_settings.xml +++ b/Source/Android/app/src/main/res/layout/activity_settings.xml @@ -140,10 +140,11 @@ </com.google.android.material.appbar.MaterialToolbar> - <View + <com.google.android.material.divider.MaterialDivider android:layout_width="match_parent" - android:layout_height="1dp" - android:background="@color/settings_search_outline" /> + android:layout_height="wrap_content" + app:dividerColor="@color/settings_search_outline" + app:dividerThickness="1dp" /> </LinearLayout> diff --git a/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml b/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml index 446706b821..39d992061e 100644 --- a/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml +++ b/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml @@ -111,6 +111,11 @@ android:text="@string/emulate_infinity_base" style="@style/InGameMenuOption" /> + <Button + android:id="@+id/menu_reset" + style="@style/InGameMenuOption" + android:text="@string/emulation_reset" /> + </LinearLayout> </ScrollView> diff --git a/Source/Android/app/src/main/res/values/dimens.xml b/Source/Android/app/src/main/res/values/dimens.xml index f10f34e81a..882f891bab 100644 --- a/Source/Android/app/src/main/res/values/dimens.xml +++ b/Source/Android/app/src/main/res/values/dimens.xml @@ -7,6 +7,8 @@ <dimen name="spacing_fab">72dp</dimen> <dimen name="menu_width">256dp</dimen> <dimen name="card_width">135dp</dimen> + <dimen name="tv_settings_card_width">120dp</dimen> + <dimen name="tv_settings_card_height">80dp</dimen> <dimen name="elevated_app_bar">3dp</dimen> </resources> diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index 2204f4380f..994d882674 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -630,6 +630,7 @@ It can efficiently compress both junk data and encrypted Wii data. <string name="emulation_screenshot">Take Screenshot</string> <string name="emulation_savestate">Save State</string> <string name="emulation_loadstate">Load State</string> + <string name="emulation_reset">Reset Emulation</string> <string name="emulation_exit">Exit Emulation</string> <string name="emulation_state_slot">Slot %1$d\n\n%2$s</string> <string name="emulation_state_slot_empty">Slot %1$d\n\nEmpty</string> diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp index bbf65230f2..4806c9a2ff 100644 --- a/Source/Android/jni/MainAndroid.cpp +++ b/Source/Android/jni/MainAndroid.cpp @@ -42,6 +42,7 @@ #include "Core/Core.h" #include "Core/DolphinAnalytics.h" #include "Core/HW/DVD/DVDInterface.h" +#include "Core/HW/ProcessorInterface.h" #include "Core/HW/Wiimote.h" #include "Core/HW/WiimoteReal/WiimoteReal.h" #include "Core/Host.h" @@ -251,6 +252,11 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_PauseEmulati override_achievement_restrictions); } +JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_ResetEmulation(JNIEnv*, jclass) +{ + Core::System::GetInstance().GetProcessorInterface().ResetButton_Tap(); +} + JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_StopEmulation(JNIEnv*, jclass) { Core::Stop(Core::System::GetInstance()); |
