* android: Enhance shortcut customization with a custom dialog
Adds ability to customize game shortcuts with:
- Custom name input
- Editable icon via image picker
- Ability to stretch to fit or zoom to fit the shortcut icon
* Code cleanup
* SearchFragment.kt: Updated license header
---------
Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
* Add upright boolean for portrait mode
* Add the `upright_screen` boolean to the UI as a switch & in-game
* ScreenAdjustmentUtil.kt: Updated license header
---------
Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
* Refactor SetupFragment to support multiple buttons in one page
* Add new `PageButton` data class
* Programmatic button creation && button disabling in setUpAdapter
* Refactor SetupWarningDialogFragment to support multiple titles, descriptions, and help links
* Rework CitraDirectoryHelper to support button step state
* Update warning message for user folder selection step
* Updated license headers
* Code cleanup
* "skip setting the user folder" --> "skip setting up the user folder"
* Fixed typos in string names
* Break `select_emulator_data_folder_description` string over two lines
* `select_emulator_data_folder` --> `select_emulator_data_folders`
* Code cleanup #2
* Removed seemingly accidentally duplicated block of code
* Removed stray newlines
---------
Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
* android: Improve performance stats overlay settings and functionality
* Add battery temp functions
* Readd frametime
* Corrected `perf_overlay_position` being placed in the wrong `default_ini.h` file
* Fixed the word "overlay" being repeatedly misspelled in function names
* `updateshowStatsOverlay` --> `updateShowStatsOverlay`
* Increased frequency of performance overlay updates
Changed from every 3 seconds to every 1 second
* Adjusted overlay margins to avoid text being lost behind rounded corner cutouts
* Fix performance overlay updates being stacked when changing orientation
* Changed out host RAM usage statistic for available host RAM
* Removed seemingly unused code
* "FT" --> "Frametime" in overlay
* Use non-breaking spaces to control how the overlay text breaks
Also used a vertical box drawing character instead of a pipe for the divider because it looks slightly nicer
* Renamed/adjusted remnants of the "Show System Memory Usage" setting
* Replaced Performance Stats Overlay icon with a stock clip art image from Android Studio
* Made performance overlay setting value names and strings less generic
* Rebranded Performance Stats Overlay as simply "Performance Overlay"
* Rewrote performance overlay settings description
* Improved naming consistency
* Rebranded "Show Overlay" toggle to "Show Controller Overlay"
This is to avoid confusion with the new performance overlay
* nitpick: Fixed order of imports in EmulationFragment.kt
* More string name consistency improvements
* Fixed compile failure due to a binding name not being updated
* Changed Performance Overlay setting headers
* EmulationFragment.kt: Formatting corrections
* Removed seemingly misplaced call to `updateShowPerformanceOverlay`
* `OVERLAY_POSITION` --> `PERFORMANCE_OVERLAY_POSITION`
---------
Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
Co-authored-by: Zephyron <zephyron@citron-emu.orgq>
* change dialog without write permissions
* Added update path from lime to azahar on android
* Shows the correct dialog info now
* remove unnecessary comments
* Adjusted `select_which_user_directory_to_use` string to be more readable
* improve the dialog box itself
* tougher fix than originally expected but all works as planned
* remove unnecessary code
* Updated license headers
* MainActivity.kt: Removed stray newline
* PermissionsHandler.kt: Move repeated "LIME3DS_DIRECTORY" string to `LIME3DS_DIRECTORY` constant
* Nitpicky comment adjustments
* Reverted superficial changes to HomeViewModel.kt
* PermissionsHandler.kt: `updateDirectory` --> `attemptAutomaticUpdateDirectory`
+ nitpicky formatting adjustment
* Moved PR additions to PermissionsHandler.kt to new file CitraDirectoryUtils.kt
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
* Original Portrait Layout
Original Portrait Layout
* type conversion fix for win
* Updated license headers
* Applied clang-format
* android: Reordered Portrait Screen Layout menu
Custom Layout is now at the bottom of the list
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
* android: Add `isEnabled` setting item conditional check
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
(Thanks to him for the idea of using DiffUtil)
Now it is possible to have a conditional check for each setting type which once met will disable itself and re-enable once the condition is unmet again in real-time
* Refactor setting checks to deduplicate repeated `isEditable && isEnabled` conditionals
This is done by adding a new value, `setting.isActive` which is equivalent to `setting.isEditable && setting.isEnabled`
* Removed seemingly redundant `isEnabled` overrides
* Updated license headers
---------
Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
* Add the turbo slider
* [WIP] Add fast forward toggle hotkey
* Make Increase/Decrease speed hotkeys change turbo key instead of `frame_limit`
* Allow non-runtime editable settings on `general` settings tab`
* `frame_limit` is now non-runtime-editable
* Disable `toggle per game speed limit` if turbo mode is set
* Reset `frame_limit` back to initial value once the emulator closes
* Improve `AdjustSpeedLimit`
- Set frameskip value directly
- Bypass if turbo mode isn't active
* Some code cleanup
* Move `turbo_speed_slider` from UISettings to CommonSettings
Also rename to just `turbo_speed`
* android: Add turbo mode hotkey
* Fixed build failure + Applied clang-format
* configure_general.ui Make padding on right side of sliders consistent
Not sure why there's a difference here, so I just threw in a spacer
* android: Corrected build failures caused by bad merge
* Updated `turbo_speed_description` to be a little more descriptive
* android: Corrected turbo crash caused by bad JNI function names
* Updated license headers
* HotkeyFunctions.kt: Fixed minor fomatting irregularities
* Applied clang-format
---------
Co-authored-by: kleidis <167202775+kleidis@users.noreply.github.com>
If the fragment got paused while emualtionState also was paused manually
via the menu bar, once the fragment got unpasued , the binding would
still remain paused
* android: Add uninstall game and open folder options
* Updated license header
* getGameDirectories: Cleanup
* Fixed "Open Updates Folder" button not working correctly
* Made "Open Extra Folder" behaviour consistent with other options when Extra folder not found
* strings.xml: Corrected double newline
* android: Adjusted about game dialog layout
---------
Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
* Check that the country setting is valid for selected region
* `SystemSaveGame.checkCountryCompatibility` -> `SystemSaveGame.getCountryCompatibility`
* SettingsFragmentPresenter.kt: Moved `checkCountryCompatibility` definition out of `addSystemSettings`
* SettingsFragmentPresenter.kt: Renamed `compat` value to `compatFlags` for better readability
* configure_system.ui: Corrected indentation
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
* Mark console as "linked" when using the azahar artic setup tool
* Updated strings related to console linking
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
* Stereoscopic 3D Enhancements
- Increase maximum 3D depth to 255%
- Fix touch screen to only render 2D when separate window layout is used
- Cleanup some 3D option localizations
* qt: Added warning label below depth slider for values over 100%
* Fixed broken rendering for Interlaced, Reverse Interlaced and Anaglyph options when using 3D with seperate windows
* android: Added warning label below depth slider for values over 100%
* Fixed a bracket and break statement being incorrectly positioned
---------
Co-authored-by: oneup03 <oneup03@gmail.com>