PabloMK7
32da5ea0ae
Read media type and pass it to UninstallProgram
2026-03-08 18:46:09 +00:00
OpenSauce04
e878174df8
android: Fixed games located in an application directory not being accessible
2026-03-08 18:46:09 +00:00
OpenSauce04
7ad6621f91
android: Fixed CIA installation failure in vanilla variant
...
This introduces a very hacky way of telling TranslateFilePath that a path is already native and doesn't need translating. I don't like this very much, but addressing this in any other way is very much outside of the scope of this PR.
2026-03-08 18:46:09 +00:00
OpenSauce04
8e1ffc1bdc
Fixed a possible app crash when calling AndroidStorage::GetUserDirectory
2026-03-08 18:46:09 +00:00
OpenSauce04
96485a22f8
android: Split path resolution logic of getUserDirectory into seperate function
2026-03-08 18:46:09 +00:00
OpenSauce04
97c9a51015
android: Re-implement title uninstallation via Service::AM::UninstallProgram
2026-03-08 18:46:09 +00:00
OpenSauce04
a8ebd0f551
DocumentsTree: Put resolvePath under a strict directory whitelist
2026-03-08 18:46:09 +00:00
OpenSauce04
fac63ce6b1
DocumentsTree: Re-implement getFilename without resolvePath
2026-03-08 18:46:09 +00:00
PabloMK7
2207be30a9
core: Add "toggle unique data console type" option ( #1826 )
2026-03-06 01:23:35 +01:00
OpenSauce04
93e831decb
android: Fixed invalid default config content, resulting in a crash
2026-03-03 18:34:53 +00:00
OpenSauce04
d6fadff3ee
Updated translations via Transifex
2026-03-03 16:30:03 +00: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
Richard
526d9d4cea
android: Add auto-map controller button with long-press to clear all bindings ( #1769 )
2026-02-27 19:57:41 +01:00
David Griswold
b477ba09c1
Ability to select which layouts to cycle with the cycle layout hotkey ( #1430 )
2026-02-27 13:21:53 +01:00
David Griswold
6b2ac400eb
Android: Hotkey Enable Button ( #1464 )
2026-02-26 18:40:42 +01:00
David Griswold
5ac0ef8fde
hide portrait layout menu on landscape and vice versa ( #1473 )
2026-02-26 14:27:18 +01:00
David Griswold
3255620934
Implement integer scaling ( #1400 )
2026-02-26 13:33:13 +01:00
OpenSauce04
ac0ec5edea
Updated translations via Transifex
2026-02-21 17:17:12 +00:00
OpenSauce04
354f5d698f
Updated translations via Transifex
2026-02-17 13:36:36 +00:00
PabloMK7
304db9173b
video_core: vulkan: Add disk shader cache ( #1725 )
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (push) Has been cancelled
citra-build / linux (appimage-wayland) (push) Has been cancelled
citra-build / linux (fresh) (push) Has been cancelled
citra-build / macos (arm64) (push) Has been cancelled
citra-build / macos (x86_64) (push) Has been cancelled
citra-build / windows (msvc) (push) Has been cancelled
citra-build / windows (msys2) (push) Has been cancelled
citra-build / android (googleplay) (push) Has been cancelled
citra-build / android (vanilla) (push) Has been cancelled
citra-build / docker (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-transifex / transifex (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2026-02-16 15:59:22 +01:00
OpenSauce04
dd65ef4749
Updated translations via Transifex
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (push) Has been cancelled
citra-build / linux (appimage-wayland) (push) Has been cancelled
citra-build / linux (fresh) (push) Has been cancelled
citra-build / macos (arm64) (push) Has been cancelled
citra-build / macos (x86_64) (push) Has been cancelled
citra-build / windows (msvc) (push) Has been cancelled
citra-build / windows (msys2) (push) Has been cancelled
citra-build / android (googleplay) (push) Has been cancelled
citra-build / android (vanilla) (push) Has been cancelled
citra-build / docker (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-transifex / transifex (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2026-01-29 12:17:35 +00:00
PabloMK7
fc137b0229
frontend: Revert removal of .3ds support ( #1701 )
...
* frontend: Revert removal of .3ds support
* Added 3ds extension to Info.plist
* Added .3ds extension to org.azahar_emu.Azahar.xml
* game_list.h: Removed leftover definitions
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-01-29 12:10:02 +00:00
OpenSauce04
0a705b7449
Updated translations via Transifex
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (push) Has been cancelled
citra-build / linux (appimage-wayland) (push) Has been cancelled
citra-build / linux (fresh) (push) Has been cancelled
citra-build / macos (arm64) (push) Has been cancelled
citra-build / macos (x86_64) (push) Has been cancelled
citra-build / windows (msvc) (push) Has been cancelled
citra-build / windows (msys2) (push) Has been cancelled
citra-build / android (googleplay) (push) Has been cancelled
citra-build / android (vanilla) (push) Has been cancelled
citra-build / docker (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-transifex / transifex (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2026-01-25 00:58:03 +00:00
David Griswold
a6688abcf5
update language and use UP instead of DOWN on axis mapping
2026-01-24 23:31:01 +00:00
PabloMK7
b0fea112e8
core: Fix accurate multiplication loading (home menu and savestate)
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (push) Waiting to run
citra-build / linux (appimage-wayland) (push) Waiting to run
citra-build / linux (fresh) (push) Waiting to run
citra-build / macos (arm64) (push) Waiting to run
citra-build / macos (x86_64) (push) Waiting to run
citra-build / macos-universal (push) Blocked by required conditions
citra-build / windows (msvc) (push) Waiting to run
citra-build / windows (msys2) (push) Waiting to run
citra-build / android (googleplay) (push) Waiting to run
citra-build / android (vanilla) (push) Waiting to run
citra-build / docker (push) Waiting to run
citra-format / clang-format (push) Waiting to run
citra-transifex / transifex (push) Waiting to run
2026-01-22 15:11:38 +01:00
David Griswold
102f7d24fc
android: prioritize non-built-in displays ( #1667 )
2026-01-22 12:55:58 +01:00
OpenSauce04
0805711cba
Updated translations via Transifex
citra-transifex / transifex (push) Waiting to run
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (push) Has been cancelled
citra-build / linux (appimage-wayland) (push) Has been cancelled
citra-build / linux (fresh) (push) Has been cancelled
citra-build / macos (arm64) (push) Has been cancelled
citra-build / macos (x86_64) (push) Has been cancelled
citra-build / windows (msvc) (push) Has been cancelled
citra-build / windows (msys2) (push) Has been cancelled
citra-build / android (googleplay) (push) Has been cancelled
citra-build / android (vanilla) (push) Has been cancelled
citra-build / docker (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2026-01-19 21:17:42 +00:00
OpenSauce
4deb7e63b5
DirectoryInitialization.kt: Switch to getFilesDir for internalUserPath ( #1646 )
...
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (push) Waiting to run
citra-build / linux (appimage-wayland) (push) Waiting to run
citra-build / linux (fresh) (push) Waiting to run
citra-build / macos (arm64) (push) Waiting to run
citra-build / macos (x86_64) (push) Waiting to run
citra-build / macos-universal (push) Blocked by required conditions
citra-build / windows (msvc) (push) Waiting to run
citra-build / windows (msys2) (push) Waiting to run
citra-build / android (googleplay) (push) Waiting to run
citra-build / android (vanilla) (push) Waiting to run
citra-build / docker (push) Waiting to run
citra-format / clang-format (push) Waiting to run
citra-transifex / transifex (push) Waiting to run
* DirectoryInitialization.kt: Switch to getFilesDir for internalUserPath
Was previously getExternalFilesDir
filesDir is used here, which is just recommended shorthand for getFilesDir
* DirectoryInitialization.kt: Updated license header
2026-01-18 18:41:54 +00:00
OpenSauce04
f5053868b4
Updated translations via Transifex
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (push) Has been cancelled
citra-build / linux (appimage-wayland) (push) Has been cancelled
citra-build / linux (fresh) (push) Has been cancelled
citra-build / macos (arm64) (push) Has been cancelled
citra-build / macos (x86_64) (push) Has been cancelled
citra-build / windows (msvc) (push) Has been cancelled
citra-build / windows (msys2) (push) Has been cancelled
citra-build / android (googleplay) (push) Has been cancelled
citra-build / android (vanilla) (push) Has been cancelled
citra-build / docker (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-transifex / transifex (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2026-01-15 11:42:46 +00:00
OpenSauce04
6be1934af2
Updated translations via Transifex
2026-01-11 21:01:03 +00:00
OpenSauce04
7d2735b118
Updated translations via Transifex
2026-01-10 23:36:17 +00:00
OpenSauce04
c2f4e06901
android: Clean up flavor checking implementation
2026-01-10 23:32:05 +00:00
OpenSauce04
0ed010166d
android: "Fix" flickering toggle controls layout + misaligned clickboxes
...
This doesn't really address the root cause of the problem because I have absolutely no idea what it is, but this does get around the issue by just forcing the dialog into a pre-determined size rather than letting it automatically set its own size
2026-01-10 22:39:44 +00:00
OpenSauce04
ceb082e777
android: Clean up long press dialog layout
2026-01-10 21:33:06 +00:00
PabloMK7
624be242c4
core: Add ability to insert cartridges
2026-01-10 20:51:28 +00:00
OpenSauce04
19641fc29c
android: Fixed crash on Google Play when selecting user dir on SD card
2026-01-08 23:48:45 +00:00
OpenSauce04
b2a48187f8
RemovableStorageHelper.kt: Add /storage/ as external storage mount path
2026-01-06 18:37:24 +00:00
David Griswold
4bdcf342b6
video_core: Stereo Settings Improvements: Full Width SBS, Swap Eyes, Select which display(s) to render on ( #1212 )
2026-01-03 21:40:59 +01:00
David Griswold
48cbeb0993
Android: Bug fix for incorrect screen size detection ( #1495 )
2026-01-03 14:09:45 +01:00
David Griswold
b1717b6fc2
Android: Keep track of the axis direction when mapping axes (also allows inversion for external pads) ( #1483 )
2026-01-03 12:15:49 +01:00
PabloMK7
4ac18f5e18
core: Fix memory mode handling and n3ds exclusive app detection ( #1560 )
2026-01-02 15:03:23 +01:00
Kleidis
f31bd1bcdd
android: Add support for compressing and decompressing files ( #1458 )
2025-12-31 15:38:22 +01:00
OpenSauce
e035bd3a21
android: Fix rename + move behaviour for Google Play build ( #1545 )
...
* android: Fix rename + move behaviour for Google Play build
* android_storage: Handle rename/move with same source and destination
2025-12-29 17:55:51 +00:00
OpenSauce04
6751c20f52
android: Implemented googlePlay build variants
2025-12-29 15:00:34 +00:00
PabloMK7
4085ce6bf8
core: Add SMDH region free patch setting ( #1541 )
2025-12-29 01:20:26 +01:00
David Griswold
41f1be91eb
poll all displays ( #1455 )
2025-12-27 22:27:03 +01:00
PabloMK7
8384eaa0c2
core: Fix memory mode handling during app launch ( #1534 )
2025-12-27 13:38:06 +01:00
OpenSauce
c0a04cef39
android: Begin migration to raw fs access, starting with Rename reimplementation ( #1511 )
...
* Add setup step to grant `MANAGE_EXTERNAL_STORAGE`
* WIP re-implementation of Android `Rename` using native filesystem manipulation
* Applied clang-format and updated license headers
* Support user directories on removable storage devices
* If `MANAGE_EXTERNAL_STORAGE` is lost, re-request it
* Fix missing permission dialog appearing during initial setup
* Added empty code branches to prep for old Android support
* Fixed permission setup completion not accounting for external storage permission
* Implement code for Android <11
* Fixed emulation error if a renamed file is then opened for R/W
* Detect if the current user directory cannot be located, and prompt re-selection
* If an invalid user directory is selected, reject and re-prompt
2025-12-24 12:18:13 +00:00
lenore
6b05944116
android: Force app to use max available refresh rate in menus ( #1492 )
...
* [android]: Force app to use the displays max set refresh rate
Since Android 15, google automatically forces "games" to be 60 hrz. This ensures the display's max refresh rate is actually used. Tested on a Google Pixel 7 Pro with Android 16
Emulation Activity was excluded for battery usage concerns
* force60Hrz option
* Code cleanup
* Expanded refresh rate explaination comment
* Moved `enforceRefreshRate` calls to earlier in `onCreate`
This probably doesn't actually do anything, it's a bit of a nitpick
* Moved `enforceRefreshRate` SDK version check to within the function
---------
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-12-09 16:21:09 +00:00
David Griswold
356aa3d3ae
make it so clearing to default ACTUALLY clears gamepad settings
2025-12-05 13:08:04 +00:00