Commit graph

789 commits

Author SHA1 Message Date
Silent 283021f1a2
Don't allow resuming from Fullscreen UI when Hardcore mode is active 2021-06-09 19:13:07 +02:00
Silent 7d8f3d26a6
Do not allow loading save states via commandline in Hardcore mode 2021-06-08 18:43:43 +02:00
Silent d52b0e5dbb
Disallow underclocking in Hardcore mode 2021-06-08 18:38:51 +02:00
Silent 35b35c9212
Hide "Load" from the save state UI legend in Hardcore mode 2021-06-08 18:38:51 +02:00
Silent e21f2644d0
Refactor SystemBootParameters ownership 2021-06-08 18:38:12 +02:00
Connor McLaughlin 20afc1c4a1 Android: Handle some possible surface loss cases 2021-06-07 18:40:32 +10:00
Connor McLaughlin 350049826f Fix a bunch of compiler warnings 2021-06-04 13:14:30 +10:00
Connor McLaughlin 9845f1d76a DInputControllerInterface: Fix crash on shutdown 2021-06-03 14:05:11 +10:00
Connor McLaughlin 9aa386e96c System: Add option to load/apply image patches 2021-06-01 21:55:37 +10:00
Connor McLaughlin d64bc193fd SaveStateSelectorUI: Make select/next hotkeys apply immediately 2021-05-30 13:21:25 +10:00
Connor McLaughlin e8a21d32dc CommonHostInterface: Use string list for autofire bindings
Fixes autofire bindings on Android.
2021-05-25 14:14:37 +10:00
Connor McLaughlin 0979149236 EvdevControllerInterface: Implement axes 2021-05-25 13:20:15 +10:00
Connor McLaughlin 8f23a79d36 CommonHostInterface: Add public method to activate autofire 2021-05-24 21:25:08 +10:00
Connor McLaughlin 3f2c034869 CommonHostInterface: Fix always using playlist title for running game 2021-05-24 21:24:22 +10:00
Connor McLaughlin 3dc7ef92c2 GameSettings: Add CD-ROM seek speedup 2021-05-23 16:18:34 +10:00
Connor McLaughlin 98e4c181ca CDROM: Add seek speedup enhancement 2021-05-23 16:18:34 +10:00
Connor McLaughlin 817c7ef96a FrontendCommon: Mark host display files as final
Libretro has its own display classes now.
2021-05-23 16:18:15 +10:00
Connor McLaughlin 69cfcd22a2 CDImageCue: Replace libcue with in-house cue parser 2021-05-21 14:52:55 +10:00
Connor McLaughlin 2bde6d8e10 Android: Expose some of the GameSettings traits 2021-05-20 13:28:36 +10:00
Connor McLaughlin a6d76e787f GameSettings: Add trait for sw-renderer-for-readbacks 2021-05-20 13:28:36 +10:00
Connor McLaughlin 5d877250e9 GPU/HW: Add an option to use software renderer for readbacks 2021-05-20 13:28:36 +10:00
Connor McLaughlin 0e59a14c82 OpenGLHostDisplay: Fix crash when context creation fails 2021-05-20 12:19:29 +10:00
Connor McLaughlin 67f352339c CommonHostInterface: Add swap memory cards hotkey 2021-05-20 12:19:28 +10:00
Connor McLaughlin f3cceca805 NoGUI: Implement mouse cursor hiding in fullscreen 2021-05-20 12:19:28 +10:00
Connor McLaughlin 2fe1f3c2f7 VulkanHostDisplay: Wait for GPU idle on surface change 2021-05-20 12:19:28 +10:00
Connor McLaughlin c43957d385 FullscreenUI: Add controller autofire settings 2021-05-20 12:19:28 +10:00
Connor McLaughlin 01c869b704 CommonHostInterface: Implement controller autofire 2021-05-20 12:19:28 +10:00
Connor McLaughlin f5bec87f79 CommonHostInterface: Add Toggle PGXP CPU Mode hotkey 2021-05-20 12:19:28 +10:00
Connor McLaughlin fd462ab778 VulkanHostDisplay: Fix crash in RenderScreenshot() when display disabled 2021-05-20 12:19:27 +10:00
Connor McLaughlin 1f206421e8 CommonHostInterface: Prevent crash with fullscreen UI enabled 2021-05-20 12:19:27 +10:00
Connor McLaughlin 3d972955a7 FullscreenUI: Fix empty cheat menu leaving system paused 2021-05-20 12:19:27 +10:00
Connor McLaughlin a6d2324f0e ControllerInterface: Don't fire events when fullscreen UI active 2021-05-20 12:19:27 +10:00
Connor McLaughlin 00ffffe8c0 VulkanHostDisplay: Handle surface changes if this happens 2021-05-20 12:19:27 +10:00
Connor McLaughlin 08a815ad7b FullscreenUI: Make show status indicator setting local 2021-05-20 12:19:26 +10:00
Connor McLaughlin 172ba1fc32 CommonHostInterface: Fix controller masking for Start Disc 2021-05-20 12:19:26 +10:00
ValadAmoleo 1fa4460590 Added a toggle for persistent message. (#2106)
* Added a toggle for persistent message.

Added a toggle to display settings to disable persistent messages (ff, pause) in the fullscreen UI.

* Moved toggle for the icons to advanced settings.

Moved the toggle to the advanced settings as suggested.  Renamed the option from "show persistent messages" to "show speed icons", so that it's much more specific.
2021-05-20 12:19:26 +10:00
Connor McLaughlin 8dd36f4474 CommonHostInterface: Fix translatability of widescreen hack toggle message 2021-05-20 12:19:23 +10:00
ValadAmoleo 057c264d97 Widescreen Hotkey (#2080)
* Widescreen Hotkey

Added the ability to toggle Widescreen Hack and set the Aspect Ratio via a hotkey.

This is in response to Discussion #1912 (https://github.com/stenzek/duckstation/discussions/1912)

* Widescreen Hotkey Uses Settings

The Widescreen Hotkey now looks at the user's global or game settings when toggling.  This means:
When disabling the widescreen hack it uses a non-wide ratio as set by the user if available or auto if unavailable.
When enabling the widescreen hack it uses a wide ratio as set by the user if available or 16:9 if unavailable.

* Avoids loading the entire settings now.

Specifically loads the aspect ratio setting.
2021-05-20 12:19:23 +10:00
Connor McLaughlin e226464a35 GameSettings: Add GPU renderer and 8MB RAM options 2021-05-08 03:45:14 +10:00
Connor McLaughlin e84fe4d948 D3D11HostDisplay: Fix alpha channel of lightgun crosshair 2021-05-08 03:24:18 +10:00
Connor McLaughlin 8a39969a61 SDLControllerInterface: Prevent crash with out-of-range buttons 2021-05-08 03:24:18 +10:00
Connor McLaughlin e5a6103f74 ControllerInterface: Move axes/constants to derived class 2021-05-08 03:24:18 +10:00
Connor McLaughlin 9ff1f153be CommonHostInterface: Remove some rarely used default hotkeys 2021-05-08 03:24:18 +10:00
Connor McLaughlin e382df0d41 Support expanding RAM to 8MB (dev console) 2021-05-03 12:43:33 +10:00
Connor McLaughlin 19b84cbe4d GameList: Support getting covers without list entry 2021-05-02 14:57:52 +10:00
Connor McLaughlin 44f29da40f CommonHostInterface: Fix OSD messages not clearing on shutdown 2021-05-01 13:37:29 +10:00
Connor McLaughlin e8fece60cf CommonHostInterface: Fix crash booting exe/psf from file 2021-05-01 02:58:43 +10:00
Connor McLaughlin 864e7f0c91 GameSettings: Add custom aspect ratios 2021-04-30 02:53:03 +10:00
Connor McLaughlin 256f272768 Support custom and match display aspect ratios 2021-04-30 02:53:03 +10:00
Connor McLaughlin 48bc152a63 Vulkan/SwapChain: Ensure returned height is at least 1x1 2021-04-30 02:53:03 +10:00
Connor McLaughlin c2916e0719 System: Render save state screenshots at fixed resolution
Fixes delays when saving state at high internal resolution.
2021-04-28 02:51:44 +10:00
Connor McLaughlin 67adc986ab VulkanHostDisplay: Fix incorrect screenshot size rendering when specified 2021-04-28 02:51:44 +10:00
Connor McLaughlin 6767fa1e5f OpenGLHostDisplay: Disable scissor test before rendering
Fixes uncleared screen sections in OpenGL renderer.
2021-04-28 02:51:44 +10:00
Connor McLaughlin e6383286d9 D3D11HostDisplay: Make screenshots/display rendering opaque 2021-04-28 02:51:44 +10:00
iFarbod 0f8128cc23
Fix width and height checks for fullscreen swapchain
Height is being compared against Width somehow, this is wrong..
2021-04-26 22:33:28 +04:30
Connor McLaughlin 1e44c2f3d0 GameSettings: Add trait to force LUT fastmem
Should help with games like CMR2 and Lagnacure (which are
constantly invalidating code), and THPS series (which use
memory mirrors).
2021-04-27 03:16:44 +10:00
Connor McLaughlin 46d19eeb1f Android: Allow opening/getting files relative to downloads directory 2021-04-24 16:19:13 +10:00
Connor McLaughlin 8f821c776c FullscreenUI: Fix compile with cheevos compile-time disabled 2021-04-22 15:52:11 +10:00
Connor McLaughlin cc6ef01926 CMake: Add missing rapidjson dependency for frontend-common 2021-04-22 15:44:31 +10:00
Connor McLaughlin 558978b7f2 GameDatabase: Fix incorrect entries returned from short serials 2021-04-22 13:40:48 +10:00
Silent 712a11fb71
Hotkey Settings: Fix a missing space in Change Disc 2021-04-21 23:57:15 +02:00
Connor McLaughlin a7017783e4 dep/rurl: Enlarge username buffers 2021-04-21 01:55:10 +10:00
Connor McLaughlin 704c160c35 CommonHostInterface: Add CPU overclock toggle hotkey 2021-04-20 16:06:34 +10:00
Connor McLaughlin 49cd62aa6e
Merge pull request #1996 from jpchow26/master
Update game_database.cpp
2021-04-20 12:27:06 +10:00
Connor McLaughlin 045eb8be76 HTTPDownloaderCurl: Set CURL_NOSIGNAL and block SIGPIPE 2021-04-20 12:25:28 +10:00
jpchow26 c86ff987eb Update game_database.cpp
fix windows build with missing include
2021-04-19 16:46:35 -04:00
Connor McLaughlin c4891af00e GameList: Fix broken cover-by-file-title detection 2021-04-18 19:00:27 +10:00
Connor McLaughlin a6cd7f383a
Merge pull request #1984 from ggrtk/cubeb-persist
CubebAudioStream: Set CUBEB_STREAM_PREF_PERSIST flag
2021-04-18 13:53:09 +10:00
Connor McLaughlin 021a3677f9
Merge pull request #1975 from soaresden/master
Duckstation - Adding F8 to change discs
2021-04-18 13:52:39 +10:00
Connor McLaughlin 64bd840195
Update common_host_interface.cpp 2021-04-18 13:52:17 +10:00
Albert Liu e9e4d4174b CubebAudioStream: Set CUBEB_STREAM_PREF_PERSIST flag
This is required for getting default IAudioClient behavior on the WASAPI
backend.
2021-04-17 20:37:49 -07:00
soaresden b0bd4b8cfe Adding Shortcut to Change Disc
Adding ShortCut to F8

simplifying

simplifying the code
2021-04-17 19:16:43 +02:00
Connor McLaughlin 2a8fd2f60b GameList: Fix database getting unloaded and lost on double refresh 2021-04-18 01:36:21 +10:00
Connor McLaughlin 03f3f0369c GameList: Reduce number of system calls when scanning 2021-04-17 21:52:26 +10:00
Connor McLaughlin 2985c395df GameList: Fix uninitialized fields of PSF/EXE 2021-04-17 21:52:26 +10:00
Connor McLaughlin 8ad0f78ef7 CommonHostInterface: Prefer serial from database, not image 2021-04-17 21:52:26 +10:00
Connor McLaughlin ff14e8aede Add JSON game database to replace dat parsing 2021-04-17 17:04:23 +10:00
Connor McLaughlin 3c83ef4939 NoGUI: Fail startup if font atlas creation fails 2021-04-10 14:59:59 +10:00
Connor McLaughlin deeb861918 CommonHostInterface: Fix rumble not applying to non-first controller 2021-04-08 11:33:59 +10:00
Connor McLaughlin 19ca102b40 VulkanHostDisplay: Handle surface loss gracefully
Also skips a full swap chain recreate on resize.
2021-04-08 03:07:10 +10:00
Connor McLaughlin 72e6291107 HTTPDownloader: Drop user agent from base class 2021-04-04 13:30:28 +10:00
Connor McLaughlin 4062d6c015 Cheevos: Provide OS and arch in user agent 2021-04-04 13:02:02 +10:00
Connor McLaughlin d41b5be908 HTTPDownloader: Fix user agent sending on Windows/Android 2021-04-04 12:55:03 +10:00
Connor McLaughlin 251043f11a OSD: Add controller input display overlay 2021-04-04 04:08:42 +10:00
Connor McLaughlin 6c59e769ed FullscreenUI: Fix double display of stats with debug menu 2021-04-03 02:53:28 +10:00
Connor McLaughlin 924756860e HostDisplay: Support refresh rate queries on all platforms except Mac 2021-04-03 02:53:28 +10:00
Connor McLaughlin 872a9b95c7 Android: Remove quick menu hotkey
It has its own quick menu hotkey.
2021-04-01 02:29:59 +10:00
C.W. Betts b8e85798a6 Fix wrong printflike for FormattedError in Cheevos. 2021-03-29 14:04:23 -06:00
C.W. Betts fb7a8886f1 Add more printflike macros. 2021-03-29 13:56:19 -06:00
Connor McLaughlin a9c026f06a Settings: Rename 'FPS' to 'Game Frame Rate' 2021-03-28 13:47:53 +10:00
Connor McLaughlin e9aab649e5 GameList: Bump cache version
Force playlists to re-scan.
2021-03-27 17:31:20 +10:00
Connor McLaughlin 5aa70cf797 Settings: Add memory card directory option 2021-03-27 15:18:29 +10:00
Connor McLaughlin 50d712c3fe CDImage: Support sub-images, use subimages for m3u 2021-03-27 15:18:29 +10:00
Connor McLaughlin 573aa6d9cc FullscreenUI: Fix missing window title with playlist 2021-03-27 13:44:59 +10:00
Connor McLaughlin f1fb7383b7 DInputControllerInterface: Support diagonals in hat 2021-03-25 13:50:13 +10:00
Connor McLaughlin 11dcba1b68 CDImage: Use Error class for complex errors 2021-03-19 01:58:00 +10:00
Connor McLaughlin 4c76d88728 Cheevos: Fix panic when logging in with fullscreen UI disabled 2021-03-17 00:51:13 +10:00
Albert Liu 46ff2b553d CDImage: Add support for loading PBP images 2021-03-15 20:06:39 -07:00
Connor McLaughlin a0086851ce Qt: Fix double-clicking psexes/psfs in game list 2021-03-16 01:59:17 +10:00
Connor McLaughlin 299ba60b8d XInput: Fix trigger magnitude being doubled 2021-03-16 01:59:17 +10:00
Connor McLaughlin a8fd4d5bbd HTTPDownloaderWinHttp: Hopefully fix issue on Windows <8.1 2021-03-15 01:46:26 +10:00
Connor McLaughlin ee171465ea CommonHostInterface: Move controller ID parsing to interface 2021-03-14 19:32:03 +10:00
Connor McLaughlin 6bced299f4 Android: Add AndroidHTTPDownloader class 2021-03-14 02:21:15 +10:00
Connor McLaughlin 566ecaf209 Cheevos: Remove redundant message on login 2021-03-14 02:21:05 +10:00
Connor McLaughlin 658184f85f GameSettings: Fix SSAA always showing on Android 2021-03-14 02:19:51 +10:00
Connor McLaughlin fa03038cef Cheevos: Clear login timestamp on logout 2021-03-14 02:01:48 +10:00
Connor McLaughlin 28e52e53e7 FullscreenUI: Allow tweaking notification vertical position 2021-03-14 02:01:48 +10:00
Silent 6350bb0e36
Hook up plurality to OSD messages 2021-03-12 21:40:24 +01:00
Connor McLaughlin e10271e18b GameList: Allow webp covers
Currently only enabled for Qt/Android, nogui lacks a decoder.
2021-03-12 03:06:11 +10:00
Connor McLaughlin 7241876cc7 CommonHostInterface: Fix -settings on cmdline not applying 2021-03-12 03:02:57 +10:00
Connor McLaughlin 14a98c3c9e CommonHostInterface: Fix reset settings not saving on startup 2021-03-12 03:02:45 +10:00
Connor McLaughlin eca0b51008 GameSettings: Fix incorrect key for texture filter load from ini 2021-03-12 02:18:50 +10:00
Connor McLaughlin 272daedc46 GameSettings: Don't display message for icache force enable
This likely isn't something the user has explicitly enabled, therefore
no need to spam them with the override.
2021-03-09 17:24:46 +10:00
Silent 435a848559
FullscreenUI: Close menus on Cancel button edge only
Now requires the button to be released, THEN pressed
2021-03-08 20:42:32 +01:00
Silent 3849ec449b
Revert "CommonHostInterface: Use key-release to open quick menu"
This reverts commit e0161c3bb2.
2021-03-08 20:16:38 +01:00
Connor McLaughlin e0161c3bb2 CommonHostInterface: Use key-release to open quick menu
Fixes auto closing when it's bound to escape.
2021-03-08 11:45:48 +10:00
Connor McLaughlin e2694b2570 Cheevos: Fix unlimited fast forward in hardcode mode 2021-03-08 11:44:02 +10:00
Connor McLaughlin 5e0ebb5d5f SDLControllerInterface: Don't crash on unbound hat index 2021-03-08 02:48:18 +10:00
Connor McLaughlin 1893bfd248 Cheevos: Don't choke on long passwords 2021-03-08 01:53:26 +10:00
Connor McLaughlin 39498cda10 FullscreenUI: Make right click on binding clear it 2021-03-08 01:53:26 +10:00
Connor McLaughlin 627f147a90 Support compiling for FreeBSD 2021-03-07 19:35:02 +10:00
Connor McLaughlin 3f5d6ee025 CommonHostInterface: FixIncompatibleSettings() should be marked override 2021-03-07 17:35:02 +10:00
Connor McLaughlin 753dd0480f CDImage: Add support for loading mds/mdf images 2021-03-07 16:26:15 +10:00
Connor McLaughlin 6bbb1128b6 System: Hash executable for game code when system.cnf missing 2021-03-07 02:47:00 +10:00
Connor McLaughlin ac4dd11fa0 CDImage: Add support for ECM images 2021-03-07 02:47:00 +10:00
Connor McLaughlin ae17ade117 FullscreenUI: Add missing stretch/internal res screenshot options 2021-03-06 02:22:35 +10:00
Connor McLaughlin 359d1509be Qt: Add option for internal/window resolution screenshots 2021-03-06 02:22:28 +10:00
Connor McLaughlin 2aea58d056 HostDisplay: Add method to render screenshots at window size 2021-03-06 02:21:27 +10:00
Connor McLaughlin 757bef7b6d Common/D3D11: Stride should be byte width 2021-03-06 02:21:27 +10:00
Connor McLaughlin 767343ca22 FullscreenUI: Prevent quick menu opening over other windows 2021-03-05 01:12:56 +10:00
Connor McLaughlin 05ac272c3f GameSettings: Add multitap mode 2021-03-03 21:45:03 +10:00
Connor McLaughlin 6ecf828171 Cheevos: Ignore unofficial achievements for now 2021-03-03 19:44:29 +10:00
Connor McLaughlin 7dbc759619 Cheevos: Implement hardcore mode 2021-03-03 19:14:01 +10:00
Connor McLaughlin 7a05b4f98e XInputControllerInterface: Support fullscreen UI navigation 2021-03-03 03:07:38 +10:00
Connor McLaughlin 738bf9be9f FullscreenUI: Make achievements/settings/load state closable with controller 2021-03-03 03:07:38 +10:00
Connor McLaughlin 99ff0e64c5 FullscreenUI: Don't draw fps/pause overlay over windows 2021-03-03 03:06:13 +10:00
Connor McLaughlin b45891f21a FullscreenUI: Make achievements window pause game 2021-03-03 03:06:13 +10:00
Connor McLaughlin 2088fa599e HTTPDownloaderCurl: Send user agent and cleanup 2021-03-03 03:06:13 +10:00
Connor McLaughlin f47f99b62d FullscreenUI: Make achievement list collapsable 2021-03-03 03:06:13 +10:00
Connor McLaughlin 9cc079223c FullscreenUI: Fix achievement list scrolling off screen 2021-03-03 03:06:13 +10:00
Connor McLaughlin c58227752d CommonHostInterface: Move save state on exit logic to base class 2021-03-03 01:14:05 +10:00
Connor McLaughlin 7645ca3836 HTTPDownloader: Log error code for WinHttpOpen() failure 2021-03-02 15:18:02 +10:00
Albert Liu 3482313e2f Multitap: Add option to enable only on port 2 2021-03-01 14:59:59 -08:00
Connor McLaughlin 4df9778e85 FullscreenUI: Fix OSD showing over debug menu 2021-03-01 02:21:04 +10:00
Connor McLaughlin 10c3506f1a Cheevos: Linux support 2021-02-28 19:01:16 +10:00
Connor McLaughlin 98be448140 Cheevos: Support logging in while disabled 2021-02-28 19:00:37 +10:00
Connor McLaughlin bc9ca302b8 FullscreenUI: Fix debug menu being occluded 2021-02-28 16:30:09 +10:00
Connor McLaughlin a48fa4097b CommonHostInterface: Fix key inputs getting stuck with modifiers 2021-02-28 04:03:48 +10:00
Connor McLaughlin faa8ed0031 CMake: Make evdev optional 2021-02-27 20:53:00 +10:00
Connor McLaughlin 47e26b1ad3 FullscreenUI: Put cover images through the texture cache 2021-02-27 16:25:42 +10:00
Connor McLaughlin 4380992591 Fix a couple of typos in translation sources 2021-02-27 16:21:36 +10:00
Albert Liu f9dc1a7e80 Core: Add Multitap support 2021-02-26 21:04:12 -08:00
Connor McLaughlin b4e4e5891d Qt: Fix controller navigation for fullscreen UI 2021-02-27 01:17:44 +10:00
Connor McLaughlin 0ec2c87a0e Implement RetroAchivements 2021-02-27 00:44:53 +10:00
Connor McLaughlin ef524d7dea FrontendCommon: Add HTTPDownloader class 2021-02-27 00:44:50 +10:00
Albert Liu 07ad4f63fa FullscreenUI: Update type cache when controller type is changed 2021-02-24 20:32:32 -08:00
Connor McLaughlin bfb575cf40 Qt: Improve handling of exclusive fullscreen loss
Exclusive fullscreen will be re-requested automatically when the window
regains focus.
2021-02-25 12:51:45 +10:00
Connor McLaughlin defea38a60 FullscreenUI: Add fullscreen/close buttons to landing window 2021-02-25 02:20:33 +10:00
Connor McLaughlin 1969a10034 FullscreenUI: Fix placeholder logo showing up 2021-02-25 02:20:33 +10:00
Connor McLaughlin f023c1bcde FullscreenUI: Add 'Pause on Menu' option 2021-02-25 02:20:33 +10:00
Connor McLaughlin b56b438f1f FullscreenUI: Only show debug menu bar in NoGUI 2021-02-25 02:20:33 +10:00
Chris dd3d5dbd86
Allow keyboard binding in nogui/fullscreen mode (#1679)
* Allow keyboard binding in nogui/fullscreen mode
2021-02-25 02:05:33 +10:00
Connor McLaughlin 0d0a7eac1f ImGuiFullscreen: Add animations for notifications 2021-02-24 01:22:04 +10:00
Connor McLaughlin 6e80c882df FullscreenUI: Allow vertical scaling 2021-02-24 01:22:04 +10:00
Connor McLaughlin a7e4d55d02 Move game settings apply to CommonHostInterface 2021-02-24 01:22:04 +10:00
Connor McLaughlin 28fdc5537f FullscreenUI: Draw quick menu at screen bounds, not scaled bounds 2021-02-24 01:22:04 +10:00
Connor McLaughlin 8318cdb3c1 Move ImGui setup to common, and enable fullscreen UI in Qt 2021-02-24 01:22:03 +10:00
Connor McLaughlin d0f6ff03a5 FullscreenUI: Remove local pointer to SettingsInterface 2021-02-24 01:21:43 +10:00
Connor McLaughlin 1fc53ff622 CommonHostInterface: Move settings interface pointer to base class 2021-02-24 01:21:43 +10:00
Connor McLaughlin 7e1fe166ee FullscreenUI: Add notifications API 2021-02-24 01:21:43 +10:00
Connor McLaughlin 7501e89b7a System: Add path/image to game change notification 2021-02-24 01:21:43 +10:00
Connor McLaughlin 77090865c1 OSD: Draw shadows on stats overlays (FPS/Resolution)
Makes it more visible on white backgrounds.
2021-02-24 01:21:43 +10:00
Connor McLaughlin 175abd4914 CommonHostInterface: Filter OSD messages in acquire for disabled case 2021-02-24 01:21:43 +10:00
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