Commit Graph

12 Commits

Author SHA1 Message Date
ADAS2024
209173fa0c
[Android] Add Combo Button (#1244)
* Base starting commit for Feature Impl

* Base commit 2 (off of closed PR, impl details of the actual button will likely be different.)

* Added Combo Button Bool setting to use for later implementation.

* Added Combo Button Submenu and associated strings. Need to implement button displaying for user to interact with.

* Added layout file for combo settings for potential impl

* Removed combo settings as it wasn't liked. Starting Multi Choice impl

* Added Multi Choice Impl. Need to Refactor OnClick for MultiChoice and debug Impl when adding combo button.

* Change List<> in Multi Files to be MutableSet<> to allow adds while prevent potential duplicates. Finished primary multi choice backend impl.

* used correct lisencing procedure for multi files

* Added code in arrays.xml to display the buttons.
This code has the buttons display but clicking on them crashes the app. Will debug further.
Also replaced setSelectedValues with add and remove SelectedValue for clarity purposes.

* Deleted Int Combo Value array in arrays.xml as it was not needed. Able to Click multiple buttons at once but unchecking them causes app to crash. (within the MultiChoice OnClick for SettingsAdapter.kt)

Also debating whether to remove the normal MultiChoice addition as it wasn't added.

* Attempt to deal with merge conflicts

* Moved OnSettingChange after I add or remove selected vals to fix crashing issue.

* Displayed combo button in both landscape and portrait

* WIP on Button Impl, made combo button setting run time editable

* Changed the combo_key string into button_combo, added functionality (impl could be better), added combo key as an input bindable setting within the buttons tab

* Moved Combo Settings into just controls instead of having its own submenu

* Made ComboHelper code more readable and added the key setting to be toggleable in game

* Edited Layout integers of combo button. Made Combo Button display properly in normal portrait mode.

* Code Cleanup and Start of Reimplementation based off #1430

* Progress commit for better impl, need to have the pop up menu show up to select buttons

* Code cleanup and bug fix to properly map values.

* Deleted Multi String Setting, added basic error handling, added comment explaining hardcoded size

* Changed Combo Button to be a HotKey, changed impl to be default multi choice, and removed StringMultiChoice details

* Remove Commented Code

* Changed ComboHelper.kt to use Native Button ints, removed rest of initial implementation traces

* Commented out debug logging, added back missing TODO statement regarding magic numbers

* Cleanup

* Changed Combo Key to Combo Button in kotlin code (will need to test)

* Trying to integrate combo button as a SettingsKey setting. Running into issues with malformed/missing key

* latest changes (added setting to default ini). Still debugging file issue

* added possible fix to touchscreen latency issue, will need to test

* Reverted MultiChoice code to original, removed unused strings and variables and ensured consistent naming, fixed latency issues with button,

* reverted int list setting change as its no longer needed.

* `combo_buttons` --> `combo_button_buttons`

* default_ini.h: Adjust ini comment for combo_button_buttons

* Fix "Reset Overlay" not affecting combo button

* Better center default position of combo button in portrait layout

* `combo_button_options` --> `combo_button_settings`

Better reflects string content

* Last-minute minor string nitpicks

---------

Co-authored-by: OpenSauce <opensauce04@gmail.com>
2026-07-04 15:11:06 +01:00
KojoZero
8c4e8b77b2
Add Skip Presenting Duplicate Frames Feature (#1867)
* added basic skip duplicate frames implementation

* fix secondary display and attempt to fix lcd color fill
2026-07-03 12:37:27 +02:00
PabloMK7
fcb10fb899
core: Make PICA debugging a toggleable feature (#2254) 2026-07-03 11:00:56 +02:00
NovaChild
8a6d597dec
android: Secondary Layout and Menu Improvements (#1385)
* Add a new Secondary Display Layout option on android that makes the secondary display honor swap button

* add quick menu option for secondary layout

* fix icon

* added other secondary layouts

* Add a new Secondary Display Layout option on android that makes the secondary display honor swap button

# Conflicts:
#	src/core/frontend/framebuffer_layout.cpp

* add quick menu option for secondary layout

* fix icon

* added other secondary layouts

* updated secondary menu with functionality to switch external displays

 Conflicts:
	src/android/app/src/main/java/org/citra/citra_emu/display/SecondaryDisplay.kt

* safety checks for crash prevention

* make secondary menu only appear if a secondary display is available

* update default displayid behavior to exclude "Built"

* update odin 2 bugfix to handle other languages

* Apply clang-format

* Rename "Opposite of Primary Display" option for brevity

* Rename menu_secondary_layout_reverse_primary for consistency

* Rename SecondaryDisplayLayout::ReversePrimary for consistency

* first round of code fixes based on review

* Added android-side enable_secondary_display boolean setting, replacing secondary_display_layout = none on the android side. Exposed it in Layout settings, and secondary display layout is now only selectable if it is enabled.  Support for the old option is still in the code, but should no longer be selectable.

Also renamed opposite to reverse_primary in a few other places.

* Update framebuffer layout and renderers to correctly render hybrid mode on both primary and secondary displays

* Apply clang format

* Re-apply terminology changes which were undone by a recent commit

* Removed unused string emulation_secondary_display_default

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-06-14 17:37:32 +01:00
PabloMK7
929a51afc6
audio: Add option to simulate headphones plugged in (#2099) 2026-05-08 15:19:53 +02:00
PabloMK7
260f08c497
core: Add async filesystem operations (#2098) 2026-05-08 11:35:47 +02:00
PabloMK7
b540725090
Revamp GDB implemenation and add a some minor debug features (#2086) 2026-05-07 13:48:35 +02:00
PabloMK7
5ddbaeae23
gsp: Fix GPU interrupt queue and add GPU timing emulation (#2095) 2026-05-07 01:36:21 +02:00
OpenSauce04
9b045bf837 libretro: Replace render_touchscreen setting with enable_touch_pointer_timeout
Touch pointer rendering is now always enabled, but unless a controller is being used to move the touchscreen cursor, it will be hidden due to the timeout which is also enabled by default.
2026-03-23 13:07:39 +00:00
David Griswold
1febb83942
qt: Add controller touchpad support (#777) 2026-03-12 00:21:17 +01:00
PabloMK7
2207be30a9
core: Add "toggle unique data console type" option (#1826) 2026-03-06 01:23:35 +01:00
OpenSauce
068d6598bc
Configuration backend improvements Pt. 1 (#1762)
* Convert all setting keys in settings.h into hana strings

* Derive libretro setting keys from common/settings.h hana strings

* settings.h: Reduce code repetition in key definitions via macro

* Implemented mechanism to pass our C++ setting keys to Android/Kotlin

None of the Android keys have been moved over as of this commit, this is just prep work

* jni_settings_keys.cpp.in: Removed redundant code

* Migrate (almost) all Android setting string keys over to SettingKeys

Also some slight cleanup

* Updated license headers

* Fixed top custom width erroneously being used in place of top custom height

* Migrate (probably) all setting string keys to Settings::QKeys

* Migrated several previously missed string keys to generated keys

* SettingKeys.kt: Visually seperate shared and Android-exclusive keys, similar to GenerateSettingKeys.cmake

* android: sdl2_config --> android_config

Not sure why these values are named this way. Hold-over from SDL2 frontend?

* android: Generate and validate default config.ini dynamically

* Settings: Assume C-style string keys by default

Relative to the previous commit, the following names have changed:
- Settings::Keys --> Settings::HKeys
- Settings::CKeys --> Settings::Keys

* default_ini.h: Fixed formatting warning

* Comment cleanup

* android: Fixed compilation failure due to incorrect namespace

* config.cpp: Use ASSERT_MSG instead of LOG_ERROR and ASSERT(false)
2026-03-02 23:26:43 +00:00