459 Commits

Author SHA1 Message Date
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 922e17f6776aad24ea8886c7098b3e0a100c489f.
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
Connor McLaughlin
f7a75941b5 GameSettings: Add PGXP tolerance and MSAA 2020-11-27 01:40:50 +10:00
Connor McLaughlin
24fef20485 CommonHostInterface: Compress screenshots in background/use worker thread 2020-11-27 01:40:50 +10:00
Connor McLaughlin
df14fa4d75 CommonHostInterface: Fix compatible/old version save states not showing in browser 2020-11-27 01:40:50 +10:00
Connor McLaughlin
7fd22958ae OpenGLHostDisplay: Fix crash in libretro core 2020-11-24 14:54:06 +10:00
Connor McLaughlin
497759b4d6 VulkanHostDisplay: Support 16-bit scanout 2020-11-21 21:12:38 +10:00
Connor McLaughlin
cb407263ea XInputControllerInterface: Fix device connected spam 2020-11-21 18:58:27 +10:00
Connor McLaughlin
7f058169b9 OpenGLHostDisplay: Add a GLES2 render path 2020-11-21 18:39:04 +10:00