Commit graph

607 commits

Author SHA1 Message Date
Henrik Rydgård
fc6879674e Refactor overlays into an enum 2023-08-02 13:03:04 +02:00
Henrik Rydgård
48d577014a Refactor the on-screen display to be more customizable 2023-08-01 00:28:54 +02:00
Henrik Rydgård
f39b9640b7 Rename the ChatPosition enum to a ScreenEdgePosition enum class (for future use) 2023-08-01 00:28:54 +02:00
Henrik Rydgård
a72c4aa383 Actually fix the race condition. Can't do any initialization step while waiting. 2023-07-24 12:08:15 +02:00
Henrik Rydgård
3ae520c35d RetroAchievements: Fix another race condition, improve logging.
Seems to help the frontend problem.
2023-07-24 12:00:16 +02:00
Henrik Rydgård
d924b742c0 Make the rapid-fire interval configurable
Rapid-fire works by holding down the button mapped for Rapid-Fire. Once
that's held, the PSP face buttons, L, R and Start will be repeated while
held.

With this new setting, you can change the repeat interval from the
default of 5 frames.

The interval is specified as frames rather than as milliseconds or
something because that often maps better to game logic.
2023-07-23 11:49:25 +02:00
Henrik Rydgård
43d780b552 Fix issue where achievement sounds didn't play if UI Sounds were off.
These are meant to be unrelated.
2023-07-16 21:43:49 +02:00
Henrik Rydgård
5245a691ca Move Achievements::Shutdown to PSP_Shutdown 2023-07-16 09:10:39 +02:00
Henrik Rydgård
36d26613d3 EmuScreen: Move checkPowerdown outside of blockedExecution check. 2023-07-16 09:09:05 +02:00
Henrik Rydgård
6bb97b3d46 Better mechanism to fade out the side bar when not on EmuScreen 2023-07-16 08:55:48 +02:00
Henrik Rydgård
5aeccca85b Move Achievements::FrameUpdate call to hleEnterVblank for consistency 2023-07-13 16:47:16 +02:00
Henrik Rydgård
af92430b18 Achievement Unlocked and Leaderboard Submitted sound effects 2023-07-12 19:55:53 +02:00
Henrik Rydgård
431a0551b2
RetroAchievements CSO support, delay until identified (#17699)
* Support CSO (and any future block based formats) for RetroAchievements identification

* Avoid auto-loading savestates in challenge mode
2023-07-12 01:11:09 +02:00
Henrik Rydgård
95807a4791 In challenge mode, allow faster alternate speeds (but not slower).
Fixes issue reported in #17631
2023-07-11 11:29:26 +02:00
Henrik Rydgård
3f924d1494 Smoothly remove any left-over overlays on emuscreen exit. 2023-07-10 21:04:22 +02:00
Henrik Rydgård
cd45125085 RetroAchievements: Show active challenge achievements on pause screen. 2023-07-10 10:39:44 +02:00
Henrik Rydgård
c17b84b3d4 Implement RetroAchievements challenge mode restrictions, and fix related bugs 2023-07-08 21:55:32 +02:00
Henrik Rydgård
bebc3feee1 Safety: Make sure we're not executing game code while waiting for RetroAchievements identification. 2023-07-08 21:47:19 +02:00
Henrik Rydgård
d0b42705a0 Switch over to rc-client 2023-07-08 18:59:37 +02:00
Henrik Rydgård
84fffec4f3 Switch all NativeMessageReceived to System_PostUIMessage 2023-07-06 17:26:02 +02:00
Henrik Rydgård
a7c21b582e Move UI/RetroAchievements.{cpp,h} to Core.
Necessary to avoid some dependency inversion.

Gotta figure out how this will interact with the libretro stuff..
2023-07-02 12:02:20 +02:00
Henrik Rydgård
eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
Henrik Rydgård
f6fdaa4f56 Get it to recognize the hash by using the rcheevos hash implementation 2023-06-26 10:01:41 +02:00
Henrik Rydgård
66d9c24f72 More integration 2023-06-26 10:01:40 +02:00
Henrik Rydgård
c76b6a48ab Prepare for detailed overlay messages 2023-06-21 01:08:25 +02:00
Henrik Rydgård
7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +02:00
Henrik Rydgård
d6552a7673 Implement an "OverlayScreen" concept. OSD can now render on top of other screens than EmuScreen. 2023-06-20 10:44:47 +02:00
Henrik Rydgård
3715b1ffa1 Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior. 2023-05-26 18:41:13 +02:00
Nicolas Adenis-Lamarre
f32b0dc9c3 previous slot shortcut
Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-05-25 11:32:49 +00:00
Henrik Rydgård
a4baed4c0c Minor GLPushBuffer cleanup (now same API as the VK one) 2023-05-23 08:41:09 +02:00
Henrik Rydgård
05b6bbdc56 Add a trivial profiling tool to the OpenGL backend - meaasure the time it takes to run a frame of commands.
Accessed from the in-game dev menu just like the Vulkan frame profiler.

With this we can easily see that actually submitting the GL commands is often the bottleneck on old
devices like a Galaxy S3.
2023-05-17 14:38:11 +02:00
Henrik Rydgård
c037f6731d Better (but not great) workaround for key bindings that pop up dialogs. 2023-05-02 21:36:17 +02:00
Henrik Rydgård
ab37b8dea9 Rename a couple of types to avoid clashes with a Mac header, sigh. 2023-04-28 13:38:16 +02:00
Henrik Rydgård
7594ae8785 Resurrect and refactor the AxisSwap feature. Fixes #17292 2023-04-20 10:53:11 +02:00
Henrik Rydgård
9612bff2ac Properly fix the analog limiter feature ("lightly"). 2023-04-15 19:56:27 +02:00
Henrik Rydgård
471941cca7 Fix the analog limiter deadzone setting. 2023-04-15 10:14:19 +02:00
Henrik Rydgård
ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård
92f6fcfb9d Create the chat window even if the on-screen chat button is disabled. 2023-04-05 23:47:51 +02:00
Henrik Rydgård
3af24a5d9f Fix issue where the chat-window key would feel stuck after closing the window (two presses needed) 2023-04-05 23:21:51 +02:00
Henrik Rydgård
0b574613b9 Address assorted feedback 2023-04-01 09:01:27 +02:00
Henrik Rydgård
04321284c0 Remove redundant callback 2023-04-01 08:57:42 +02:00
Henrik Rydgård
04d3d3111c Clean up __Ctrl button functions. 2023-04-01 08:55:45 +02:00
Henrik Rydgård
9804a905c8 More tweaks (work around the old problem where lingering analog values biased the digital input) 2023-03-31 20:27:30 +02:00
Henrik Rydgård
48993f4f4b Control: Add debug display, do assorted fixes. 2023-03-31 20:12:48 +02:00
Henrik Rydgård
025ec248e4 Don't need two SetCallback functions. 2023-03-31 11:11:46 +02:00
Henrik Rydgård
fa0fb6eee6 Rework and simplify VIRTKEY_SPEED_ANALOG 2023-03-31 11:05:33 +02:00
Henrik Rydgård
ca300a4dfd More callback fixes 2023-03-31 11:05:33 +02:00
Henrik Rydgård
526b4f782d Fixes, add callback for analog virtual keys
Some fixes
2023-03-31 11:05:33 +02:00
Henrik Rydgård
2814668cf5
Show a MIPS stack trace on crash screen (#17211)
* Print simple stack traces to log on crashes.

* Display stack traces on crash screen

* Show the in-function offset in the printed callstacks.

* Libretro buildfix attempt
2023-03-31 10:08:12 +02:00
Henrik Rydgård
26bf40c497
ControlMapper: Change the callbacks to be more suitable for the upcoming refactor. (#17209)
* ControlMapper: Change the callbacks to be more suitable for the upcoming refactor.

* SetAllButtons: Separate bits to set and bits to clear.

* Oops, missed committing some files somehow
2023-03-30 10:47:28 +02:00