Commit graph

664 commits

Author SHA1 Message Date
Silent 5e9fc91669 Add support for measured achievements
These achievements show a progress bar in the Achievements screen
2021-06-22 21:45:07 +10:00
Silent d567f1e870 Upgrade rcheevos to v10.1.0 2021-06-22 21:45:07 +10:00
Connor McLaughlin 9d26a85967 OpenGLHostDisplay: Disable PBOs for streaming on Broadcom GPUs
glTexImage2D takes an extra 2-3ms when using PBOs for some reason,
despite the extra copy application-side...
2021-06-21 22:16:33 +10:00
Connor McLaughlin 2ab38aa47c FullscreenUI: Fix unpausing when closing achievement list 2021-06-21 12:16:27 +10:00
Connor McLaughlin 19dcd07f87 FullscreenUI: Fix compiling without cheevos 2021-06-21 12:16:27 +10:00
Connor McLaughlin 0f564885dc CMake: Link to IOKit on Mac 2021-06-20 19:21:51 +10:00
Connor McLaughlin 9027864d3d CommonHostInterface: Remove achievements/leaderboards hotkeys on Android 2021-06-20 19:18:01 +10:00
Connor McLaughlin d9412f9fcd FrontendCommon: Add option to inhibit screensaver 2021-06-20 15:50:59 +10:00
Connor McLaughlin 531845a0c7 FullscreenUI: Add rich presence to quick menu 2021-06-20 14:01:10 +10:00
Connor McLaughlin 8f5b2f24cf Cheevos: Update rich presence in test mode (but don't ping) 2021-06-20 13:40:15 +10:00
Connor McLaughlin a072455903 CommonHostInterface: Add hotkeys for opening leaderboards/achievements 2021-06-20 13:33:30 +10:00
Connor McLaughlin 1fe85a0d91
Merge pull request #2281 from CookiePLMonster/leaderboards-hardcore-only
Allow submitting entries to Leaderboards only in Hardcore Mode.
2021-06-20 01:19:56 +10:00
Connor McLaughlin 995bab72c4
Merge pull request #2279 from CookiePLMonster/retroachievements-discord-rpc
Show RetroAchievements rich presence in Discord-RPC
2021-06-20 01:18:51 +10:00
Silent 99fbd2827b
Allow submitting entries to Leaderboards only in Hardcore Mode.
This is a requirement from RetroAchievements.
2021-06-19 17:15:47 +02:00
Silent c86b7309d4
Show RetroAchievements rich presence in Discord-RPC 2021-06-19 14:13:10 +02:00
Connor McLaughlin e7b113f454 System: Don't reset performance counters when turboing 2021-06-19 21:15:50 +10:00
Silent c97aafb79d
Leaderboards: Implement missing teardown 2021-06-19 12:30:07 +02:00
Silent cce40a85dd
Implemented Leaderboards UI 2021-06-19 01:30:36 +02:00
Silent e361212bbf
Basic leaderboard integration
No UI yet, only sends unlocks to the server.
2021-06-17 20:43:50 +02:00
Connor McLaughlin 0e01a65e78
Merge pull request #2251 from CookiePLMonster/fullscreen-ui-exit-crash
Fix a crash when shutting down emulation from the Hardcore mode confirmation prompt
2021-06-15 23:09:16 +10:00
Silent ee0e7f15c1
Fix a crash when shutting down emulation from the Hardcore mode confirmation prompt 2021-06-15 11:37:02 +02:00
Connor McLaughlin 093904f930 CubebAudioStream: Set paused flag on main thread 2021-06-13 22:30:39 +10:00
Connor McLaughlin e1d9f93172 Cheevos: Suffix unofficial achievements in popup 2021-06-13 18:32:13 +10:00
Connor McLaughlin 0ba405ef2d
Merge pull request #2243 from CookiePLMonster/unofficial-achievements
Add an "Unofficial Test Mode" to allow unlocking non-core achievements
2021-06-13 18:25:50 +10:00
Silent 6c52031966
Add an "Unofficial Test Mode" to allow unlocking non-core achievements 2021-06-09 20:15:19 +02:00
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