Commit Graph

10655 Commits

Author SHA1 Message Date
OpenSauce04
8e8cb3d97a Updated compatibility list 2026-01-06 18:40:37 +00:00
OpenSauce04
d25eacdf83 RemovableStorageHelper.kt: Add /storage/ as external storage mount path 2026-01-06 18:39:18 +00:00
OpenSauce04
e3b04fe22e android_storage: No longer always use full rename+move process
This was intentionally included for testing, as per the comments.
2026-01-05 13:49:49 +00:00
OpenSauce
7a436ca7e8 renderer_vulkan: Fix incorrect MaxTexelBufferElements return type (#1563) 2026-01-03 00:03:22 +00:00
Chance
a63d6a3834 Fix simple typo that prevented debug builds (MSVC) 2025-12-31 20:56:00 +00:00
OpenSauce
d246f5b436 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:58:31 +00:00
OpenSauce04
9a926e44c1 ci: Only build Android googleplay target for tags
I couldn't find any method of entirely skipping a single target in a matrix, so skipping each job is the next best thing.
2025-12-29 17:19:54 +00:00
OpenSauce04
f906242a23 ci: Added build job for Android Google Play flavor 2025-12-29 17:19:54 +00:00
OpenSauce04
33e7ed5c5c android: Implemented googlePlay build variants 2025-12-29 17:19:54 +00:00
OpenSauce04
f911af4197 MainActivity.kt: Added missing import 2025-12-24 19:02:06 +00:00
OpenSauce
37dd01fd51 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:21:15 +00:00
OpenSauce04
ba5215242f macos: Fixed real camera not activating during emulation
This was due to a plugin which is required for handling camera permissions being missing
2025-12-23 23:28:20 +00:00
OpenSauce04
8e4d4efce4 Updated Linux section of readme with Wayland information
Some checks failed
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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-12-22 12:40:50 +00:00
OpenSauce04
14dccb3c47 ci: Split AppImage build into two, with and without Wayland support 2025-12-22 12:40:50 +00:00
OpenSauce04
5431705e79 android: Upgrade AGP to 8.13.1
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-12-09 23:05:49 +00:00
OpenSauce04
633ae42fbb video_core: Fixed occasional launch crash on certain platforms due to unsafe SDL_Init 2025-12-09 23:02:41 +00:00
OpenSauce04
0ed6b7558e android: Added relWithDebInfoLite build profile 2025-12-09 23:02:27 +00:00
OpenSauce04
bf1a95f438 cmake: Fixed AppImage build failure caused by upstream changes to linuxdeploy
Also improved error message when linuxdeploy run fails
2025-12-09 23:02:19 +00:00
David Griswold
01dc2bb776 android: Add Display Listener methods for smoother secondary display updates
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-10-03 18:05:22 +01:00
OpenSauce04
4ac3cab012 externals: Updated fmt to 12.0.0
This fixes a build failure with Clang 21
2025-10-03 16:28:27 +01:00
huesos_96
897447e9bd Android: Dual screen fixes for Handhelds that have 2 screens like Ayaneo Pocket DS (#1341)
* Prevent SecondaryDisplay from stealing focus

The SecondaryDisplay Activity was stealing focus from the main
Activity when it was launched.

Set the `FLAG_NOT_FOCUSABLE` and `FLAG_NOT_TOUCH_MODAL` window flags
to prevent the SecondaryDisplay from gaining focus.

* Implement touch controls for secondary display

This commit introduces touch input handling for the secondary display.

The following changes were made:
- Added `onSecondaryTouchEvent` and `onSecondaryTouchMoved` to `NativeLibrary.kt` and `native.cpp` to process touch events on the secondary display.
- Implemented `onTouchListener` in `SecondaryDisplay.kt` to capture touch events and forward them to the native layer.
- Handles `ACTION_DOWN`, `ACTION_POINTER_DOWN`, `ACTION_MOVE`, `ACTION_UP`, `ACTION_POINTER_UP`, and `ACTION_CANCEL` motion events.
- Tracks the active pointer to ensure correct touch event handling.

* Refactor display logic for multi-display support

This commit introduces a `DisplayHelper` class to centralize display-related logic, particularly for handling scenarios where the application might be launched on an external display.

Key changes:
- Added `DisplayHelper.kt` to manage internal and external display identification based on launch conditions.
- `MainActivity` and `EmulationActivity` now use `DisplayHelper.checkLaunchDisplay()` to determine the initial display.
- `SecondaryDisplay` now uses `DisplayHelper.getExternalDisplay()` to correctly identify the target display for the secondary presentation.
- `InputOverlay` now queries `DisplayHelper.isBottomOnPrimary()` to determine if touch input should be processed for the primary display based on the current screen layout.
- `SecondaryDisplay` now queries `DisplayHelper.isBottomOnSecondary()` to conditionally pass touch events to the native layer based on which screen (primary or secondary) is currently displaying the 3DS bottom screen.

These changes ensure that the application behaves correctly when launched on either the internal or an external display, and that touch input is routed appropriately based on the user's chosen screen layout for the dual screens.

* Removed primary-screen checks so the input overlay always forwards touch events, ensuring all touches reach the native handler even when multiple displays are active

* Remove DisplayHelper class and adjust external display logic

* Formatting adjustments

---------

Co-authored-by: DavidRGriswold <novachild@gmail.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-10-03 14:46:05 +01:00
OpenSauce04
724576cc61 ci: Update all macOS runners to macOS 15 Sequoia 2025-10-03 14:18:27 +01:00
OpenSauce04
3e1b86548a cmake: Remove SYSTEM from target_link_libraries
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-09-16 16:06:12 +01:00
OpenSauce04
246e06d1a4 vk_pipeline_cache: Fix directory creation failure if shaders/vulkan/ is missing
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-09-13 01:20:32 +01:00
OpenSauce04
a607e3dd22 tools: Added Github cache purge script 2025-09-13 01:20:32 +01:00
OpenSauce04
a65114eabf Updated compatibility list
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-09-05 22:22:32 +01:00
OpenSauce04
6ac0733002 tools: Updated guidance regarding translation updates
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (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 (push) Waiting to run
citra-format / clang-format (push) Waiting to run
2025-09-05 21:56:32 +01:00
David Griswold
8519e92eae android: Re-fixed game termination bug (#1357)
* EmulationActivity and EmulationFragment clear only their own hooks

* EmulationLifecycleUtil: Rename `remove()` to `removeHook()`

* EmulationLifecycleUtil: Removed unused function `clear()`

* Corrected somewhat incorrect usage of the word "hook"

* Define `onShutdown` and `onPause` hook functions in constructors

* Formatting nitpicks

* Updated license header

* Re-added log messages for attempting to add duplicate hooks

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-09-05 21:40:05 +01:00
OpenSauce04
7f2ac35870 Revert "Fix android termination bug (#1354)"
This reverts commit 70f9379eef.
2025-09-05 21:40:05 +01:00
OpenSauce04
1e2dd5ea78 SecondaryDisplay.kt: Remove redundant SurfaceTexture, preventing log spam 2025-09-05 21:40:05 +01:00
David Griswold
beba099fed Fix android termination bug (#1354)
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (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 (push) Waiting to run
citra-format / clang-format (push) Waiting to run
* move hook additions to onCreateView

* Updated license header

* Formatting nitpick

* Added prefix to log messages

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-09-04 22:59:51 +01:00
OpenSauce04
c888c40b3e macos: Set UIDesignRequiresCompatibility to true
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (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 (push) Waiting to run
citra-format / clang-format (push) Waiting to run
2025-09-03 23:02:34 +01:00
OpenSauce04
57995cd89c android: Bump Vulkan Validation Layers to SDK 1.4.313.0 2025-09-03 22:31:26 +01:00
DavidRGriswold
29a77b342b android: Prevent crash when editing a slider option with an out of bounds value
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (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 (push) Waiting to run
citra-format / clang-format (push) Waiting to run
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-09-03 13:18:43 +01:00
OpenSauce04
3ef5bc0bfe macos: Patch QMetalLayer.setNeedsDisplayInRect at runtime to avoid freezing on recent Qt
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (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 (push) Waiting to run
citra-format / clang-format (push) Waiting to run
2025-09-03 03:16:00 +01:00
OpenSauce04
d94657a44d cmake: On Windows, download MSVC 2022 Qt versions instead of MSVC 2019 2025-09-03 03:16:00 +01:00
OpenSauce04
ee58988897 cmake: Bump downloaded Qt version to 6.9.2
Also bumps aqtinstall to 3.3.0
2025-09-03 03:16:00 +01:00
OpenSauce04
ec7f00c9a4 cmake: Added check for minimum AppleClang version
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (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 (push) Waiting to run
citra-format / clang-format (push) Waiting to run
2025-09-02 14:06:53 +01:00
OpenSauce04
164b9329c7 cmake: Corrected widespread incorrect usage of the SYSTEM property
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-09-01 00:43:01 +01:00
OpenSauce04
2292f3ab1b Updated translations via Transifex
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-08-20 13:57:05 +01:00
PabloMK7
3ab6a304cd am: fix save data being deleted on CIA install failure (#1319) 2025-08-20 13:51:06 +01:00
OpenSauce04
2e3d926dd5 Updated language translations via Transifex
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-build / macos-universal (push) Has been cancelled
2025-08-15 17:47:35 +01:00
OpenSauce
8fe05d5b74
ci: Don't cancel other builds in matrix if one fails
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (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
2025-08-11 12:33:52 +01:00
OpenSauce04
d79078c2d8 Updated language translations via Transifex 2025-08-11 12:04:03 +01:00
OpenSauce04
ff915b2fe1 Updated compatibility list 2025-08-11 12:02:01 +01:00
OpenSauce04
2f6e8b5756 android: Reimplement multitouch code correctly 2025-08-11 11:50:30 +01:00
OpenSauce04
a964e63722 Revert "android: Gross disgusting awful workaround for #1267"
This reverts commit 106e994dbf.
2025-08-11 11:50:30 +01:00
OpenSauce04
2087f96e90 qt: Prerelease builds now direct users to upgrade via GitHub rather than azahar-emu.org
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux (appimage) (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 (push) Waiting to run
citra-format / clang-format (push) Waiting to run
citra-transifex / transifex (push) Waiting to run
2025-08-10 22:22:47 +01:00
OpenSauce04
68aab3e0e5 android: Fixed UI perf regression w/ OpenGL introduced by #617 2025-08-10 20:15:04 +01:00
OpenSauce04
c86830313e Updated language translations via Transifex
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux (appimage) (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 (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
2025-08-08 23:19:15 +01:00