Commit Graph
128 Commits
Author SHA1 Message Date
Henrik Rydgård a44c2c0bde Replace System_SendDebugOutput with a registered callback
I normally try to avoid registrations when not needed, but in this case
only headless uses this, so it's motivated.
2026-08-11 22:36:47 +02:00
Henrik RydgårdandClaude Opus 5 99624b7fd4 iOS: Fix string encoding used when launching URLs
NSStringEncodingConversionAllowLossy is a conversion option, not an encoding.
Its value is 1, which as an NSStringEncoding means NSASCIIStringEncoding, so any
URL with non-ASCII characters produced a nil string and a nil NSURL. Use UTF-8,
and bail out with a log instead of calling openURL with nil.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JZk5y4Fzw811WJoNWZb8Sc
2026-08-06 20:56:37 +02:00
Henrik RydgårdandClaude Opus 5 8bfc151395 iOS: Hide the status bar when immersive mode is enabled
prefersStatusBarHidden was dead code - it computed an orientation and a
(commented out) user preference, then unconditionally returned false. So the
status bar was only ever hidden on iPhone in landscape, and only because iOS
does that on its own in compact height.

Now it honors bImmersiveMode from the DisplayLayoutConfig matching the current
orientation, so it also applies in portrait and on iPad. Adds the corresponding
checkbox to the iOS system settings, and updates the status bar on rotation and
when the setting is toggled.

Also fixes a missing break in the ROTATE_UPDATED case in System_Notify, and a
static/non-static mismatch on sceKernelLoadModuleBufferUsbWlan that broke the
build (the header intentionally exposes it for sceVshBridge).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JZk5y4Fzw811WJoNWZb8Sc
2026-08-06 20:56:37 +02:00
Henrik Rydgård 16c7ec390f Headless: Start taking logic out of the "HeadlessHost"
Also update some agent files
2026-07-21 11:01:48 +02:00
Henrik Rydgård 993c3a9c67 Avoid accurately computing disk space on iOS and Android (where it can be slow). Add a setting. 2026-07-14 22:22:29 +02:00
Henrik Rydgård 6d98293be9 Hide orientation controls on large Android 17 devices, since they won't work. 2026-06-15 10:37:58 +02:00
Henrik Rydgård b4698eabfe Support launching directly with the deep link, instead of just launching while already running. 2026-04-28 23:06:23 +02:00
Henrik Rydgård e0a5a3e2bf iOS: Add basic deep link support.
Fixes #21577
2026-04-28 22:17:24 +02:00
Henrik Rydgård fead647304 Android: Improve insets behavior on older devices without camera cutouts 2026-03-14 22:53:17 +01:00
Henrik Rydgård 6ad06e00a4 iOS: Close the keyboard on one more event. Makes it easier to get rid of it if it gets stuck. 2026-03-08 13:03:00 +01:00
Henrik Rydgård d6ca0378b6 Move DarwinFileSystemServices.mm/h to Core/Util 2026-03-07 11:35:34 +01:00
Henrik Rydgård 6d1973edfb Add banners on the top of settings pages, if editing game-specific settings show the icon. 2025-11-09 08:51:41 +01:00
Henrik Rydgård b660dcee2b Various inset and margin fixes and improvements 2025-10-28 13:59:37 +01:00
Henrik Rydgård 9ed3fc0eaa Some work on the credits screen, main screen 2025-10-28 11:27:31 +01:00
Henrik Rydgård e2b21d26bf Rotation on iOS fixes: Make sure the setting is saved, etc. 2025-10-22 15:54:00 +02:00
Henrik Rydgård 1c49ad7b29 Support screen rotation on iOS (unrestricted) 2025-10-22 15:13:21 +02:00
Henrik Rydgård 3cc57b7a2b iOS: Fix restarts after the scene change (for backend change etc) 2025-10-17 21:07:53 +02:00
Henrik Rydgård 61d6c95f0c More refactoring. Add the AudioBackend interface 2025-06-16 21:55:32 +02:00
Henrik Rydgård ddc5ec6611 Add USE_IAP option to b-appstore.sh 2025-05-25 11:22:05 +02:00
Henrik Rydgård c3ed94b721 More icon work 2025-05-25 11:22:05 +02:00
Henrik Rydgård 2dbb54667d IAP work 2025-05-25 11:22:04 +02:00
Henrik Rydgård 6035ef0652 Implement image file picker on iOS, various buildfixes 2025-05-19 20:41:16 +02:00
Henrik Rydgård 61aa231fe2 Buildfix attempt 2025-02-11 10:43:39 -06:00
Henrik Rydgård ee772bb1e2 Refactor querying the battery percentage into a regular sysprop 2025-02-11 10:31:18 -06:00
Henrik Rydgård ab51c2a13b Fix enabling logs 2024-12-16 12:48:48 +01:00
Henrik Rydgård cd6d4db7b8 Fix missing return value in another function 2024-11-04 12:05:54 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 305418813a Add option to control the iOS app switching mode 2024-07-05 20:08:12 +02:00
Henrik Rydgård 8e1218976d Fix wrong function signature in iOS file picker, also a lifetime issue 2024-06-01 12:31:12 +02:00
Henrik Rydgård 35c40196d4 Implement UI for setting up the iOS audio modes 2024-05-27 15:17:47 +02:00
Henrik Rydgård 6817858d61 Use a hacked MoltenVK that can be loaded (but doesn't work) on iOS 12.
See https://github.com/KhronosGroup/MoltenVK/issues/2240
2024-05-26 16:45:29 +02:00
Henrik Rydgård c26de64d0f iOS: Pass through touches near the task switcher only in-game. Makes the UI better behaved. 2024-05-26 10:27:14 +02:00
Henrik Rydgård f864f52b64 More app lifecycle work. Switching between Vulkan and OpenGL now works. 2024-05-24 11:48:44 +02:00
Henrik Rydgård 9a93a478d1 Fix smooth switching from Vulkan to GL 2024-05-23 14:37:12 +02:00
Henrik Rydgård 740219a65b Plumb the restart event into AppDelegate 2024-05-23 14:16:07 +02:00
Henrik Rydgård aa3256f4e8 Turn off the Vulkan thread when switching away from the app. 2024-05-23 12:52:16 +02:00
Henrik Rydgård 4726e1f4b3 Remove the last non-interface function on the ViewController 2024-05-22 16:43:18 +02:00
Henrik Rydgård 538cc62f16 Remove a redundant function 2024-05-22 16:43:18 +02:00
Henrik Rydgård cc37476c79 Add a ViewControllerCommon.h 2024-05-22 16:43:16 +02:00
Henrik Rydgård 04a260bded Move System_LaunchUri to a more appropriate place 2024-05-22 11:17:38 +02:00
Henrik Rydgård b1a435840c Renaming and comments 2024-05-21 14:48:28 +02:00
Henrik Rydgård 835aa02a28 Add basic soft-keyboard support on iOS
This uses the old UIKeyInput which is a bit limited language-wise, however, it's enough
to log into RetroAchievements and change your nickname, at least, and it was the easiest to implement.

So, this solves 90% of the problems caused by missing keyboard support, at least.
2024-05-20 19:08:35 +02:00
Henrik Rydgård aa6962df4a iOS swipe gesture recognizer experiment 2024-05-20 16:12:25 +02:00
Henrik Rydgård 8756a2100e iOS: Fix threading issue with launch-url 2024-05-20 15:43:27 +02:00
Henrik Rydgård d720224c87 iOS: Switch to the same screen dimming logic as Windows/Android 2024-05-20 14:27:42 +02:00
Henrik Rydgård 1ff7710854 Folder/file browser tweaks 2024-05-20 10:04:11 +02:00
Henrik Rydgård ac058261fe iOS: Remove use of a non-public vibration API in app store builds 2024-05-20 10:04:11 +02:00
Henrik Rydgård fc554050fd Fix updating the version in the plist, various cleanup 2024-05-20 10:04:11 +02:00
Henrik Rydgård 640eb1f799 Limit file browsing in app store builds 2024-05-20 10:04:11 +02:00
Henrik Rydgård f6f45dda0a Disable the JIT hackery in app store builds 2024-05-20 10:04:11 +02:00