Commit graph

466 commits

Author SHA1 Message Date
Connor McLaughlin 75776f9b33
Merge pull request #1657 from CookiePLMonster/savestate-ui-legend
Save State UI: Add legend showing hotkeys
2021-02-24 01:21:24 +10:00
Silent 78f9136fb8
Save State UI: Cache legend strings 2021-02-22 19:34:51 +01:00
Connor McLaughlin caae06dbf4
Merge pull request #1646 from piepacker/jake/osd_locking_opt
optimize locking mechanism for OSD messages (deadlock-proofing)
2021-02-22 12:21:12 +10:00
Silent e361b9f012
Save State UI: Make the widget translatable 2021-02-19 20:14:33 +01:00
Silent 82a217570c
Save State UI: Add legend showing hotkeys 2021-02-19 20:14:00 +01:00
Connor McLaughlin 1b544ae350 GameList: Slight optimization to scanning 2021-02-19 01:37:56 +10:00
Connor McLaughlin cacf12c209 FileSystem: Migrate component extractors to std::string_view 2021-02-19 01:37:56 +10:00
Connor McLaughlin 8c7aec2edf CommonHostInterface: Ensure game list is loaded before booting
Fixes a possible race/crash when starting with a filename in NoGUI.
2021-02-19 01:37:56 +10:00
Connor McLaughlin e7b9309567 GameSettings: Add PGXP projection precision 2021-02-18 02:19:43 +10:00
Connor McLaughlin 7641bbf5f2 UI: Shuffle around PGXP settings 2021-02-18 02:08:48 +10:00
Connor McLaughlin 09805c1f80 FullscreenUI: Fix controller navigation in disc change 2021-02-18 02:08:47 +10:00
Jake Stine c3c4181074 optimize locking mechanism for OSD messages, use EnumerateOSDMessages more generally 2021-02-15 16:53:40 -08:00
Silent 82469ac425
Fix a missing comma in the PGXP message
+ translations fixed to account for that
2021-02-15 23:36:39 +01:00
Connor McLaughlin 65daf1d6a0 Vulkan: Support fullscreen resolution enumeration 2021-02-16 02:58:25 +10:00
Connor McLaughlin 0110295f2c Android: Fix some game settings saving/loading incorrectly 2021-02-15 00:21:27 +10:00
Connor McLaughlin d4143399eb OpenGLHostDisplay: Support fullscreen mode enumeration (DRM only) 2021-02-14 18:36:21 +10:00
Connor McLaughlin 0c71a97e02 FullscreenUI: Add resolution selection 2021-02-14 18:36:21 +10:00
Connor McLaughlin 5a66639d78 HostDisplay: Add virtual method for getting resolutions 2021-02-14 18:36:21 +10:00
Connor McLaughlin c8efade20c CommonHostInterface: Don't draw OSD/FPS as windows
Slight performance improvement.
2021-02-12 01:01:30 +10:00
Connor McLaughlin de688615ff Qt: Add Clear and Reset buttons to cheat manager 2021-02-12 01:01:30 +10:00
Connor McLaughlin 5f6fce9d98 CommonHostInterface: Remove Rewind hotkey on Android
It's not enablable in the UI anywhere.
2021-02-11 01:40:00 +10:00
Connor McLaughlin 537f833658 FullscreenUI: Fix binding immediately when activating with controller 2021-02-08 00:57:56 +10:00
Connor McLaughlin 53fb55ff15 Add evdev controller interface 2021-02-08 00:47:39 +10:00
Connor McLaughlin ee3aa0dc4d OpenGLHostDisplay: Fix incorrect default for PBO streaming 2021-02-08 00:47:34 +10:00
Connor McLaughlin b20b1a2fa8 OpenGLHostDisplay: Only disable streaming PBO on Adreno
It's slightly faster on Mali.
2021-02-06 20:19:10 +10:00
Connor McLaughlin d416dbb461 FullscreenUI: Ensure fonts are at least one pixel high 2021-02-06 19:21:39 +10:00
Connor McLaughlin c6ed19cc7b OpenGLHostDisplay: Don't use PBOs for software upload on GLES 2021-02-06 19:20:05 +10:00
Connor McLaughlin 701edb335a Various warning fixes 2021-02-06 19:19:55 +10:00
Connor McLaughlin 3c910782ca FullscreenUI: Fix heading line width not being scaled 2021-02-06 19:19:21 +10:00
Connor McLaughlin 105376b1b3 FullscreenUI: Don't draw OSD over windows 2021-02-06 19:18:44 +10:00
Connor McLaughlin d7962fdac7 ImGui: Use safe strcat/scanf on MSVC 2021-02-06 19:16:39 +10:00
C.W. Betts 662d6e9711 Fix possible log formatting errors. 2021-02-04 17:54:51 -07:00
Connor McLaughlin 43d1495a63 OpenGLHostDisplay: Allow filtering to be toggled for GLES2 path 2021-02-05 02:28:03 +10:00
Connor McLaughlin d455b61d5e OpenGLHostDisplay: Fix interlaced software renderer output 2021-02-05 02:16:45 +10:00
Connor McLaughlin 8f9bbb0bba Vulkan: Support VK_KHR_display 2021-02-04 19:25:21 +10:00
Connor McLaughlin fd269ec9dd FullscreenUI: Use format string for TextWrapped() 2021-02-02 04:06:57 +10:00
Connor McLaughlin e0dd45c35e FullscreenUI: Fix game list settings not applying 2021-02-02 01:56:28 +10:00
Connor McLaughlin 1e8752759d NoGUI: Set default settings if missing 2021-02-02 01:47:27 +10:00
Connor McLaughlin c54842830f FullscreenUI: Support modal error/confirmation 2021-02-02 01:40:37 +10:00
Connor McLaughlin 904680f0df Settings: Make integer and linear upscaling mutually exclusive 2021-02-01 18:39:15 +10:00
Connor McLaughlin 91092847f8 CommonHostInterface: Restore display skip on exit/pause
Fixes CPU usage/controller moving too quickly in menus after fast
forwarding in big duck mode.
2021-02-01 02:08:52 +10:00
Connor McLaughlin 1a9120135f FullscreenUI: Fix some advanced setings not saving 2021-02-01 01:13:05 +10:00
Connor McLaughlin 590513350c NoGUI: Start in fullscreen when option or command line flag is set 2021-02-01 01:10:32 +10:00
Connor McLaughlin d1a5b89f0a FullscreenUI: Fix some textures leaking at shutdown 2021-02-01 01:10:32 +10:00
Connor McLaughlin 18405a713c FullscreenUI: Fix debug windows not drawing 2021-02-01 01:10:32 +10:00
Connor McLaughlin c17fb88426 FullscreenUI: Fix controller binding setting instantly 2021-01-31 18:11:56 +10:00
Connor McLaughlin bb2e35b732 FullscreenUI: Load covers on demand 2021-01-31 18:11:56 +10:00
Connor McLaughlin 85b4a02f20 Fix Android build 2021-01-31 17:28:37 +10:00
Connor McLaughlin 61e4e6f140 Add "Fullscreen UI" 2021-01-31 17:10:27 +10:00
Connor McLaughlin 3a7d9f1725 CommonHostInterface: Add controller nav helpers 2021-01-31 17:10:27 +10:00
Connor McLaughlin 41be96ef93 CommonHostInterface: Make RunLater()/ApplySettings() virtual 2021-01-31 17:10:27 +10:00
Connor McLaughlin ec60fa3c9d CommonHostInterface: Make fullscreen/exit functions public 2021-01-31 17:10:27 +10:00
Connor McLaughlin 2dbb3325ff CommonHostInterface: Tweak frame boundary for loading screen 2021-01-31 17:10:27 +10:00
Connor McLaughlin e1bf362d13 CommonHostInterface: Extract ff/turbo hotkeys to functions 2021-01-31 17:10:27 +10:00
Connor McLaughlin bed1abf0b8 CommonHostInterface: Add media path to save state info 2021-01-31 17:10:27 +10:00
Connor McLaughlin 4540a190c1 CommonHostInterface: Make input profile functions public 2021-01-31 17:10:27 +10:00
Connor McLaughlin 556cd6d168 CommonHostInterface: Add enumerator for OSD messages 2021-01-31 17:10:27 +10:00
Connor McLaughlin 48f78a9c41 GameList: Expose search directories list 2021-01-31 17:10:27 +10:00
Connor McLaughlin 98b4101cd7 Settings: Expose Save() method to interface 2021-01-31 17:10:27 +10:00
Connor McLaughlin 7a48bcc585 FrontendCommon: Remove WITH_IMGUI #ifdefs
We never compile FrontendCommon without imgui anyway.
2021-01-31 17:10:27 +10:00
Connor McLaughlin e697d9aa33 HostDisplay: Move imgui context creation to base class 2021-01-31 17:10:27 +10:00
Connor McLaughlin e132cac0e5 ImGui: Clear memory for font after creating texture 2021-01-31 17:10:27 +10:00
Connor McLaughlin d8ea9c2983 GameSettings: Add helper to query number of user settings 2021-01-31 17:10:27 +10:00
Connor McLaughlin 582c77b604 ImGuiStyle: Return the font we create 2021-01-31 17:10:26 +10:00
Connor McLaughlin a563f99191 dep/imgui: Update to 9499afdf5e7f22e2cf4bf7c365d18f7e1d07572b 2021-01-31 17:10:10 +10:00
Connor McLaughlin 5aeabf028b Qt: Install crash handler on startup 2021-01-31 17:00:57 +10:00
Connor McLaughlin 4bb3fb48f9 System: Add a new throttler/pacer which can catch up on lost time
This can result in worse frame pacing, so if you have a decent machine
you'll probably want to turn on "display all frames" in display
settings.

But, it's sadly needed for Android.
2021-01-28 21:04:23 +10:00
Connor McLaughlin 1320e4fdab GameSettings: Fix texture filter setting not loading from ini 2021-01-27 01:21:03 +10:00
Connor McLaughlin a5dfc68ac9 GameSettings: Add runahead as per-game setting 2021-01-26 03:38:32 +10:00
Connor McLaughlin 0d473e8681 ImGui: Fix incorrect buffer binding/crash in GLES2 2021-01-26 03:38:31 +10:00
Connor McLaughlin 8cafe856f0 OpenGLHostDisplay: Work around functions unavailable in GLES2 2021-01-26 03:38:31 +10:00
Connor McLaughlin 24dd49e05d GPU: Fix runahead with MSAA enabled in D3D11/Vulkan 2021-01-26 03:22:23 +10:00
Connor McLaughlin 6eeca57a06 CommonHostInterface: Wrap OSD messages 2021-01-25 01:15:46 +10:00
Connor McLaughlin 516d685dd0 System: Add memory-only save states and rewind 2021-01-25 01:15:45 +10:00
Connor McLaughlin 6c6fdeb15e HostDisplay: Make textures have levels/layers/samples attributes 2021-01-24 20:41:40 +10:00
Connor McLaughlin 4a60cc4c1e VulkanHostDisplay: Ensure previous frame is presented before acquiring image 2021-01-24 17:37:09 +10:00
Connor McLaughlin 6a122623fa GameList: Increment progress on each file, not each load 2021-01-24 17:37:09 +10:00
Connor McLaughlin f61427017d GameList: Remove exe/psf extensions from titles in game list 2021-01-24 17:37:09 +10:00
Connor McLaughlin 76ec38ee47 GameList: Support scanning PSF/MiniPSF files 2021-01-24 17:37:09 +10:00
Connor McLaughlin 41a9231a87 GameList: Use region from exe 2021-01-24 17:37:09 +10:00
Connor McLaughlin cbee8fab66 CommonHostInterface: Throttle rumble updates to changes or every 100ms
These updates appear to be synchronous, and limit how fast we can fast
forward when controllers are connected via bluetooth.
2021-01-19 00:27:34 +10:00
Connor McLaughlin ffa3744b3b Settings: Add 20:9 display aspect ratio 2021-01-14 00:45:46 +10:00
Connor McLaughlin 37f9f118c4 Android: Add 'Open Pause Menu' hotkey 2021-01-13 19:26:24 +10:00
Connor McLaughlin b5ffbfe826 Qt: Fix audio sliders not applying correctly 2021-01-13 02:37:04 +10:00
Connor McLaughlin 16ad54143b HostInterface: Don't sleep when syncing to host refresh 2021-01-12 02:19:23 +10:00
Connor McLaughlin fd166a4485 ShaderCache: Add a data version field
We can increment this to prevent people's shader caches from growing too
large with shader changes.
2021-01-11 15:24:38 +10:00
Connor McLaughlin bc5fb850d4 AudioStream: Reset resampler state on emptying buffers 2021-01-11 03:58:14 +10:00
Connor McLaughlin 43d01776dc HostInterface: Add "Sync To Host Refresh Rate" option 2021-01-11 03:50:44 +10:00
Connor McLaughlin bb572741ae HostDisplay: Add GetHostRefreshRate() function
Only implemented in Windows for now.
2021-01-11 03:50:13 +10:00
Connor McLaughlin 54f5563321 Qt: Add turbo speed setting 2021-01-11 01:57:10 +10:00
Connor McLaughlin a5f9aa11e1 Settings: Add audio resampling when running at non-standard speed 2021-01-11 01:14:32 +10:00
Connor McLaughlin 4fafb34251 CommonHostInterface: Move input map update to frontend
Fixes controller state getting reset when loading input profile.
2021-01-09 14:54:53 +10:00
Connor McLaughlin b0398f5aa7 Qt: Add shutdown without saving menu option 2021-01-09 00:23:02 +10:00
Albert Liu d860c14267 CommonHostInterface: Update rumble every frame regardless of change
Fixes SDL rumble cutting off early when a game sends the same motor
strength values every frame over a long duration.
2021-01-07 18:30:43 -08:00
Connor McLaughlin 419726f4cc Remove libretro core - core will now be maintained by libretro
libretro have agreed to take over maintenance of the core.

Please see their fork at https://github.com/libretro/duckstation if you
wish to continue to use it.
2021-01-08 01:37:59 +10:00
Silent de075fffc3
Register more glyph ranges supported by Roboto
Adds support for Polish, makes Russian use a default font
2021-01-05 18:17:18 +01:00
Connor McLaughlin 0534f36b8d D3D11HostDisplay: Fix incorrect format support check
Was resulting in RGB565 textures trying to be created when unsupported.
2021-01-05 17:47:59 +10:00
Connor McLaughlin c3b0a87029 CommonHostInterface: Move settings filename to start of class 2021-01-05 00:58:32 +10:00
johnnyruz f7b0c0f493
Add cli parameter to override default settings file (#1375)
* Add cli parameter to specify alternate settings file

* fix issue with error message string parameter
2021-01-05 00:46:16 +10:00
Connor McLaughlin f369e3c476 HostDisplay: Fix vram pixels bleeding into edges of display with linear filtering 2021-01-04 03:11:14 +10:00
Connor McLaughlin b3bf9f3f10 GameSettings: Fix compilation with libretro 2021-01-03 19:06:24 +10:00
Connor McLaughlin 4eee5ebdb7 Android: Add per-game settings and properties UI 2021-01-03 18:30:06 +10:00
Connor McLaughlin 6ff73f35bd GameSettings: Add string key accessors 2021-01-03 17:26:51 +10:00
Connor McLaughlin 3ffbbe82e8 SDLControllerInterface: Use SDL_GameControllerRumble where supported
Allows vibration on DualShock 4 without using DS4Windows.
2020-12-31 19:41:51 +10:00
Connor McLaughlin e464a8c332 CommonHostInterface: Disable some hotkeys on Android 2020-12-30 19:42:14 +10:00
Connor McLaughlin 78282d1508 GameSettings: Add downsampling mode 2020-12-30 17:53:51 +10:00
Connor McLaughlin 59e8363075 D3D11: Support mipmaps in wrapper textures 2020-12-30 17:39:40 +10:00
Connor McLaughlin 6bf37f51be Android: Add controller interface class 2020-12-29 22:49:52 +10:00
Connor McLaughlin 0945744f9b FrontendCommon: Add DInput controller interface
Still needs force feedback/vibration support.
2020-12-29 22:49:52 +10:00
Connor McLaughlin a3e4c61a0b CommonHostInterface: Add a method to get top-level window handle 2020-12-29 22:49:52 +10:00
Albert Liu 1c1ca45e4e VulkanHostDisplay: Fix post shader uniform buffer 2020-12-29 01:33:41 -08:00
Connor McLaughlin f181b45760 libretro: Build fix 2020-12-27 02:41:43 +10:00
Connor McLaughlin dc46d52029 FrontendCommon: Remove unnecessary #ifndef LIBRETRO macros
These were only needed because of ancient compilers on the libretro
buildbot, it still compiles fine with these fields on the latest
compilers.
2020-12-27 00:54:53 +10:00
Connor McLaughlin 702ed21207 HostDisplay: Add threaded presentation for Vulkan renderer
Can add a significant speedup for fast forward. Automatically disabled
when vsync is enabled.
2020-12-27 00:54:53 +10:00
Connor McLaughlin 41b803ed2b FrontendCommon: Add a hotkey to reload texture replacements 2020-12-26 00:47:03 +10:00
Michael Forney 7a40a843d4 Common/FileSystem: Fix misspelling of 'separator' 2020-12-26 00:47:02 +10:00
Connor McLaughlin d320d5c830 GameSettings: Add game settings/hotkey for PGXP depth 2020-12-23 01:39:49 +10:00
Connor McLaughlin ca84925ff8 HostDisplay: Support screenshotting 16-bit display formats 2020-12-22 03:24:51 +10:00
Albert Liu 189656cbc4 CommonHostInterface: Fully clear controller section before loading profile 2020-12-22 03:24:51 +10:00
Albert Liu a5f04f2a8e CommonHostInterface: Don't save/load input profile rumble for motorless controller types 2020-12-22 03:24:51 +10:00
Connor McLaughlin b24245dd1d GameList: Bump cache list version
Required due to aspect ratio change.
2020-12-22 02:16:11 +10:00
Connor McLaughlin 81aad196e8 HostInterface: Add -nocontroller CLI option to disable controller interface
Can use with buggy drivers where SDL is causing crashes.
2020-12-19 17:02:01 +10:00
Connor McLaughlin a6a0b660d2 GameList: Bump cache version
This should've happened with the aspect ratio changes.
2020-12-19 02:44:46 +10:00
Connor McLaughlin fa0f177e51 HostInterface: Move PauseSystem from common to base 2020-12-17 11:57:47 +10:00
Albert Liu 62609b5008 GameSettings: Fix build warning 2020-12-12 01:00:34 -08:00
Albert Liu def9a98cb9 GameSettings: Disable analog mode forcing instead of forcing digital controller 2020-12-11 19:50:43 -08:00
Connor McLaughlin 90997d4a8b GameList: Prioritize game title cover image over database title 2020-12-12 12:23:53 +10:00
Connor McLaughlin 6e7f1501b5 SDLAudioStream: Fix volume not applying 2020-12-12 11:50:48 +10:00
Connor McLaughlin eefbd8f6a6 CubebAudioStream: Use cubeb's volume control 2020-12-12 11:50:37 +10:00
Connor McLaughlin 907e0de35a FrontendCommon: Fix volume hotkeys starting at 0% when muted 2020-12-12 11:50:20 +10:00
Connor McLaughlin 98766a490f Log: Change success to verbose and move down in ordering 2020-12-09 01:03:32 +10:00
Connor McLaughlin 678146b907 HostInterface: Add separate volume control for fast forwarding 2020-12-09 01:03:32 +10:00
Silent a4124fdc1b
Another fix for XInput backend 2020-12-07 18:08:48 +01:00
Connor McLaughlin c8f33e340b Revert "CommonHostInterface: Don't use sleep throttle when syncing to audio at standard speed"
This reverts commit 922e17f677.
2020-12-07 02:44:23 +10:00
Connor McLaughlin a511882cb8 D3D11HostDisplay: Add an option to force a blit/discard swap chain 2020-12-06 23:46:23 +10:00
Connor McLaughlin 3ccfc42b0f D3D11HostDisplay: Use shader cache for postprocessing shaders 2020-12-06 23:37:41 +10:00
Connor McLaughlin 737a87b483 CommonHostInterface: Add a hotkey to toggle all cheats 2020-12-06 23:32:32 +10:00
Connor McLaughlin 922e17f677 CommonHostInterface: Don't use sleep throttle when syncing to audio at standard speed 2020-12-06 18:18:18 +10:00
Silent 39768edd74
XInput: Fix mapping triggers to axes 2020-12-04 17:55:01 +01:00
Connor McLaughlin 362905e3df GPU: Add display line offset game setting
Use when games need additional cropping.
2020-12-04 00:33:04 +10:00
Connor McLaughlin c3932e945d GameSettings: Fix PGXP culling disabled message showing when PGXP disabled 2020-11-30 01:15:44 +10:00
Connor McLaughlin eaafd0a00c Cheats: Support parsing built-in database 2020-11-30 01:15:44 +10:00
Connor McLaughlin d1a42df121 GameList: Fix cover image detection based on file title 2020-11-28 02:04:18 +10:00
Connor McLaughlin 16a6c1706e Qt: Fix manual redump database downloading/updating 2020-11-28 00:42:09 +10:00
Connor McLaughlin 3137eb41c4 GameList: Make cover functions const 2020-11-28 00:14:45 +10:00
Connor McLaughlin 263f7b673b GameList: Use shipped redump database/compatibility settings 2020-11-28 00:14:45 +10:00
Connor McLaughlin 5f69216f70 HostInterface: Add OpenPackageFile method 2020-11-28 00:14:45 +10:00
Connor McLaughlin 859f23f4d5 libretro: Add compatibility settings loading 2020-11-28 00:14:44 +10:00
Connor McLaughlin b73fd7a4e8 SDLControllerInterface: Ship game controller db with builds 2020-11-28 00:14:44 +10:00
Albert Liu 32e47fba93 System: Limit maximum loadable save state version 2020-11-26 19:51:45 -08:00