Commit Graph

905 Commits

Author SHA1 Message Date
Henrik Rydgård 02aaa3b2b9 Don't have pauseTrigger as an output parameter from ControlMapper::Key() 2026-06-16 10:57:52 +02:00
Henrik Rydgård e4d3cc841c Implement exit callbacks. Attempt to solve #21828 2026-06-15 12:12:57 +02:00
Henrik Rydgård a317890c08 Remove the GPUDebugInterface class
Just a pointless extra layer in the class hiearchy, making it
unnecessarily hard to modify the interface.

Might as well hit GPUCommon directly.
2026-06-02 11:15:08 +02:00
Eloren1 109d1caa50 Separate TriggerFinish from parent result 2026-05-31 22:05:53 +03:00
Eloren1 938029cd6a Add screenshots + extract LoadStateConfirmScreen 2026-05-31 21:55:06 +03:00
Eloren1 2926e1118d Add load confirmation popup after shortcut 2026-05-31 21:13:03 +03:00
Henrik Rydgård 231aefe476 Code cleanup for save state notification, add metadata field 2026-05-19 11:07:07 +02:00
Henrik Rydgård ed274c8a7e Just some lint fixing 2026-05-13 11:37:26 +02:00
Henrik Rydgård 6eb0b3fd51 Fix an issue with Exit icon not showing up in MessagePopup 2026-05-13 11:04:03 +02:00
Henrik Rydgård 3a599c4714 Fix audio focus issue by tracking the cause of lost focus.
Fixes #21643
2026-05-06 00:06:32 +02:00
Henrik Rydgård 32799755e6 Add some sanity checks in TabHolder (prompted by a crash report). Minor cleanup 2026-05-05 10:36:21 +02:00
Henrik Rydgård 487801cf81 Don't show the keyboard when switching to imgui on mobile.
Fixes #21477
2026-05-01 16:52:52 +02:00
Henrik Rydgård ab9c318870 Minor tweaks 2026-03-31 16:31:46 -06:00
Henrik Rydgård 6e073bb53f More chat code cleanup. Make the virtual keyboard in TextInputPopup scrollable. 2026-03-31 16:22:24 -06:00
Henrik Rydgård f703bc69c4 Analog stick autorotation now uses game timing.
Should fix frameskipping problem, where this didn't work in God of War
if frameskipping was on.
2026-03-31 11:14:48 -06:00
Henrik Rydgård 75453632f9 Handle inset adjustements on the C++ side, handle them better in the UI. 2026-03-14 18:13:37 +01:00
Henrik Rydgård 160e2c4f9b Refactor: Call GetLayoutBounds on the screen instead of the context where possible.
This will allow screens to influence the layout bounds in a unified way
2026-03-14 13:07:48 +01:00
Henrik Rydgård b8a20eaa5e Save config on game exit. 2026-03-07 18:59:03 +01:00
Henrik Rydgård 232ea1a8a1 Add a "hold" version of the axis swap toggle. Often more convenient.
This is useful for working around some annoying control schemes.

Fixes #21354
2026-03-05 23:05:35 +01:00
Henrik Rydgård e80c67df25 Fix check for top screen. Fixes a problem with input focus after game reset.
Reported by Flide, thanks!

However, there's some underlying bug in screen focus tracking, this just works around it by checking for top screen in a more reliable way.
2026-03-01 17:47:46 +01:00
Henrik Rydgård b04eadd11f PauseScreen: Fix bug where resetting the game caused us to ignore virtual key inputs 2026-02-28 12:03:01 +01:00
Henrik Rydgård 733aee685d Fix window resizing issue on pause screen 2026-02-24 00:56:45 +01:00
Henrik Rydgård 5dc169ecbe Fix more race conditions if you exit during game bootup 2026-02-24 00:56:45 +01:00
Henrik Rydgård 25392ef6fd Add a workaround for boot-up crashes caused by switching away from the app while waiting for the boot-up thread to finish 2026-02-24 00:56:45 +01:00
Henrik Rydgård 2264711600 Move the loading spinner a bit inwards to not get cut off by rounded corners 2026-02-18 14:49:08 +01:00
Henrik Rydgård eef760e923 EmuScreen: Move more virtual key processing to the synchronized switch 2026-02-17 23:07:46 +01:00
Henrik Rydgård d8ccea3ca0 Fix crash in crash screen (oops...) 2026-02-15 19:42:17 +01:00
Henrik Rydgård fa46bc25e7 Fix reporting screenshots, screen darkening in skipbuffer run-behind mode 2026-02-13 21:26:18 +01:00
Henrik Rydgård 1846163985 Replace Path::ToVisualString with GetFriendlyPath which shortens. Much better on iOS 2026-02-13 21:16:00 +01:00
Henrik Rydgård ae6ba469c1 Fix some more screenshot problems
Followup to #21249
2026-02-13 14:56:31 +01:00
Henrik Rydgård 386fc442a6 Rework the internal screenshot API, fix bug causing screenshotting to get stuck 2026-02-13 12:34:26 +01:00
Henrik Rydgård d446d1c26c Have the pausescreen listen to the control mapper, for the pause key 2026-02-12 23:43:49 +01:00
Henrik Rydgård 734b2a55de Move to a global controlmapper 2026-02-12 23:06:26 +01:00
Henrik Rydgård c5e257635f ControlMapper: Support multiple listeners 2026-02-12 23:01:46 +01:00
Henrik Rydgård a6ac956884 Input system refactor: Replace 5 callbacks with an interface 2026-02-12 22:52:16 +01:00
Henrik Rydgård f3c9b0cfeb Remove more uses of the ugly PromptScreen. 2026-02-12 13:37:45 +01:00
Henrik Rydgård e1b638aaab Minor UI tweaks 2026-02-11 23:33:39 +01:00
Henrik Rydgård 64fb8bfd79 Fix the ImDebugger 2026-02-11 09:36:39 +01:00
Henrik Rydgård d06e5733a5 Fix some reset crashes.
Part of #21223, reported in #21228
2026-02-09 19:01:18 +01:00
Henrik Rydgård 77815c51e5 Prevent cardboard from messing up the menu rendering
Part of #21223, reported in #21228
2026-02-09 19:01:06 +01:00
Henrik Rydgård a92ff89d5f Clean up the OSD click callback code 2026-02-09 13:08:44 +01:00
Henrik Rydgård d8b8a51309 Correct a bunch of edge cases, move some code around 2026-02-08 17:07:22 +01:00
Henrik Rydgård 2b6be8090c Cancel compatibility warning popups if you start another game in the meantime 2026-02-08 16:38:07 +01:00
Henrik Rydgård 1599ea7b1d SaveState: Separate screenshot operations from other ops 2026-02-08 16:11:44 +01:00
Henrik Rydgård 3aa1aba8f5 Correct an issue where there was a 1 frame latency in UI event processing 2026-02-08 12:44:12 +01:00
Henrik Rydgård eb234a1563 Finish the split. Greatly simplifies the render code in EmuScreen. 2026-02-08 10:46:16 +01:00
Henrik Rydgård f01aaeafb1 Split CopyDisplayToOutput in preparation for the next step 2026-02-08 01:06:32 +01:00
Henrik Rydgård 1078c27bb7 Prepare renderpass refactor 2026-02-08 00:53:50 +01:00
Henrik Rydgård 99f81c88e8 Some more UI fixes 2026-02-06 14:52:17 +01:00
Henrik Rydgård fc63096741 Make sure tilt control defaults to off. Show a warning if enabled. 2026-02-05 23:29:48 +01:00