Commit Graph

10656 Commits

Author SHA1 Message Date
OpenSauce04 def69abc11 android: Fixed crash on Google Play when selecting user dir on SD card 2123.4.1 2026-01-08 23:49:06 +00:00
OpenSauce04 8e8cb3d97a Updated compatibility list 2123.4-rc1 2123.4 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) 2123.4-beta3 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
2123.4-beta2
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 2123.4-beta1 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 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 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 2123.3 2123.3-rc1 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 2123.2 2025-09-16 16:06:12 +01:00
OpenSauce04 246e06d1a4 vk_pipeline_cache: Fix directory creation failure if shaders/vulkan/ is missing 2123.2-rc2 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 2123.2-rc1 2025-09-05 22:22:32 +01:00
OpenSauce04 6ac0733002 tools: Updated guidance regarding translation updates 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)
* 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 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
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 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 2025-09-02 14:06:53 +01:00
OpenSauce04 164b9329c7 cmake: Corrected widespread incorrect usage of the SYSTEM property 2025-09-01 00:43:01 +01:00
OpenSauce04 2292f3ab1b Updated translations via Transifex 2123.1 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 2123 2025-08-15 17:47:35 +01:00
OpenSauce 8fe05d5b74 ci: Don't cancel other builds in matrix if one fails 2025-08-11 12:33:52 +01:00
OpenSauce04 d79078c2d8 Updated language translations via Transifex 2123-rc2 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 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