Commit Graph

619 Commits

Author SHA1 Message Date
Henrik Rydgård
ca40de852a
Merge pull request #17960 from hrydgard/control-mapping-fixes
Controls: Make the analog/digital mapping clash resolution more gentle.
2023-08-24 09:52:40 +02:00
Henrik Rydgård
feb0ea245e Add mappable key to toggle networking
Fixes #17352

Requested in #17343
2023-08-23 22:14:51 +02:00
Henrik Rydgård
be2f81c3eb Controls: Make the analog/digital mapping clash resolution more gentle.
Now takes the time into account, so clashing digital input will only shrink
analog inputs once it's a few seconds old.

Also fixes a bug where if there are both inputs, it was hard to reach
the limits because the digital input itself ended up getting shrunk.

This might help #17860
2023-08-23 18:51:27 +02:00
Unknown W. Brackets
622c69dbb9 x86jit: Expose option to select new IR based jit. 2023-08-20 22:28:54 -07:00
Henrik Rydgård
dc4de340b3 Some debug overlays don't make sense when not in-game, disable them. Minor feedback fixes. 2023-08-13 21:54:24 +02:00
Unknown W. Brackets
f03cd0b2ad
Merge pull request #17899 from unknownbrackets/riscv-minor
Minor RISC-V cleanups, frame profiler fix
2023-08-13 11:19:42 -07:00
Unknown W. Brackets
e51eca9eee UI: Fix frame profiler. 2023-08-13 10:21:08 -07:00
Henrik Rydgård
be708e3e02 Move KeepScreenAwake to platform specific code. 2023-08-10 16:12:12 +02:00
Henrik Rydgård
0d4a2a7594 Call draw->Begin/EndFrame from outside the screen manager.
Just a very small refactoring that I want in a separate commit.
2023-08-09 23:24:28 +02:00
Henrik Rydgård
096c168dd7
Add yield() function to tell the CPU that we're busy-waiting (rare) (#17862)
* Add yield() function to tell the CPU that we're busy-waiting (rare)

Use it only for the busy-wait in lag sync, which only happens in
Windows.

* Buildfix attempt
2023-08-07 21:38:03 +02:00
Henrik Rydgård
a32249a3cf Move DebugOverlay rendering to the overlay screen, allowing drawing it on top of the menu 2023-08-03 16:19:18 +02:00
Henrik Rydgård
9f6e67b17a Move the debug overlay rendering out from EmuScreen into DebugOverlay.cpp 2023-08-02 14:58:22 +02:00
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