Commit Graph

7242 Commits

Author SHA1 Message Date
Stenzek 3621705933
Achievements: Ensure loading old states behave the same as new 2025-01-13 13:13:15 +10:00
Stenzek 8f39dbb464
Achievements: Fix race condition invalidating images 2025-01-13 13:03:41 +10:00
Stenzek 2f854de9d0
Qt: Invalidate FSUI cover cache when cover changed 2025-01-13 12:54:18 +10:00
Stenzek 738c96ffb3
FullscreenUI: Fix slot disappearing after delete in save state menu 2025-01-13 12:44:11 +10:00
Stenzek ea82dacb0e
FullscreenUI: Fix a couple of GPU thread race conditions
State saving/loading, memory card state read on shutdown.
2025-01-13 12:44:06 +10:00
Stenzek a422e06628
Qt: Fix incorrect InitialSortOrderRole use 2025-01-12 21:44:05 +10:00
Stenzek d3ee12d358
Achievements: Login error notification should be translatable 2025-01-12 19:16:22 +10:00
Stenzek 19ee37cd10
FullscreenUI: Render notifications on top of OSD 2025-01-12 19:14:59 +10:00
Stenzek 035762af94
System: Fix subimage change OSD message 2025-01-12 19:03:53 +10:00
Stenzek be7cff5964
CDROM: Fix loading of subimage SBI files 2025-01-12 19:03:48 +10:00
Stenzek e4dea69713
System: Drop state load OSD duration to quick 2025-01-12 17:50:33 +10:00
Stenzek e43d7046ba
Achievements: Attempt relogin on system boot
And display an error notification if login fails, instead of
invalidating the token.
2025-01-12 17:50:33 +10:00
Stenzek 0f76543685
Achivements: Set rc_client log level from host log level 2025-01-12 16:54:58 +10:00
Stenzek ce0689687c
Qt: Fix editing first controller preset 2025-01-12 02:09:55 +10:00
Stenzek c43533f8d8
FullscreenUI: Extend achievement overlays to screen margins
Fixes overlays getting caught in rounded corners on Android.
2025-01-12 01:02:58 +10:00
Stenzek ab790ed54b
Common: Fix ARM32 build (again) 2025-01-12 00:25:48 +10:00
Stenzek ee1da343ab
GPU/HW: Use default initialization for BatchConfig
Reduce the risk of below...
2025-01-12 00:03:45 +10:00
Stenzek 9779cee934
GPU/HW: Ensure texture window bits are initialized
Fixes broken rendering after loading state or switching renderer in some
games, e.g. GTA2.
2025-01-12 00:03:18 +10:00
Stenzek 9c35b0e76d
FullscreenUI: Get rid of Timer global 2025-01-11 23:32:21 +10:00
Stenzek 36590f3c71
InputManager: Fix crash on controller connect on Windows 2025-01-11 23:29:55 +10:00
Stenzek 6785285f31
Qt: Fix game list toolbar/view menu desync 2025-01-11 23:29:40 +10:00
Stenzek 54780d4fbf
Qt: Fix fullscreen state stuck after exit 2025-01-11 21:37:39 +10:00
Stenzek 348e33562e
Qt: Fix BP start/stop menu item after first activation 2025-01-11 21:34:20 +10:00
Stenzek 234e1f721f
FullscreenUI: Improve controller settings page
- Add 'Clear Bindings' menu item.
- Show icons in controller types.
- Add confirmation to Reset Settings.
2025-01-11 21:29:04 +10:00
Stenzek d6ce322eba
Controller: Use additional icons 2025-01-11 20:51:16 +10:00
Stenzek e6c0725656
InputManager: Hold lock while manipulating devices/sources
Since we're enumerating on the GPU thread now, need to protect it.
2025-01-11 20:28:00 +10:00
Stenzek d3bee3ce67
Qt: Rename 'Input Profile' to 'Controller Preset'
Hopefully more noob-proof?
2025-01-11 20:25:12 +10:00
Stenzek e4c11aa905
Qt: Separate controller settings to global and profiles 2025-01-11 20:25:11 +10:00
Stenzek 2d63b34d48
Qt: Add icons/decorations to input devices 2025-01-11 20:25:11 +10:00
Stenzek 2298227054
FullscreenUI: Add binding of vibration motors 2025-01-11 20:25:11 +10:00
Stenzek 6f9caa6b12
InputManager: Add proper binds for vibration motors
Instead of the janky "vibration capabilities" flag.

Fixes the "Clear Mappings" button not applying to vibration motors.
2025-01-11 20:25:11 +10:00
Stenzek 13b85728a0
Qt: Refactor input device/motor tracking
Remove multiple sources of truth.
2025-01-11 20:25:11 +10:00
Stenzek 844287b722
FullscreenUI: Fix scrollbar on choice dialog at some screen sizes
e.g. game list right click
2025-01-11 20:25:11 +10:00
Stenzek 4b0bb9f70d
FullscreenUI: Increase input dialog padding
Way too small.
2025-01-11 20:13:53 +10:00
Stenzek 4af5e96ff6
Controller: Remove analog-mode-start OSD message
It's arguably not very useful, and the sticks are mapped to the
dpad in digital mode anyway.
2025-01-11 15:15:01 +10:00
Stenzek 440aaf2644
FullscreenUI: Modernize achievement popup a bit 2025-01-11 15:07:17 +10:00
Stenzek 05b0b03fd6
Cheats: Order special characters before alpha characters 2025-01-11 12:51:33 +10:00
Stenzek 93a7e7cef5
Cheats: Add bounds check to 5107/5147 2025-01-11 12:40:46 +10:00
Anderson Cardoso c98dbb9d9e
Atualização Português do Brasil (#3353)
Atualizado para a última versão.
2025-01-11 12:37:16 +10:00
PugsyMAME a26cac18e9
Cheats: Added register cheat types 5107 & 5147 (#3352)
This is new cheat type uses the general purpose cheat registers in a relative easy method to allow arrays of arrays cheats to be quickly created and will also cut down massively on cheats. For instance this method allows the following 15 cheats for Vandal Hearts II which would otherwise need 18886 separate cheats to replicate:

#Technique Slot Modifier\[MASTER] Select Slot Number for following cheats to act on (1 - 1349)
518500F1 001CF3C3
514500F2 0000000F
514500F3 0000????
514500F4 0000D0D0
OptionRange = 1:1349
#Technique Slot Modifier\Select Weapon
510700F1 000000??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 1 Learned
510700F1 00020001
#Technique Slot Modifier\Select Technique 1
510700F1 000300??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 2 Learned
510700F1 00040001
#Technique Slot Modifier\Select Technique 2
510700F1 000500??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 3 Learned
510700F1 00060001
#Technique Slot Modifier\Select Technique 3
510700F1 000700??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 4 Learned
510700F1 00080001
#Technique Slot Modifier\Select Technique 4
510700F1 000900??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 5 Learned
510700F1 000A0001
#Technique Slot Modifier\Select Technique 5
510700F1 000B00??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 6 Learned
510700F1 000C0001
#Technique Slot Modifier\Select Technique 6
510700F1 000D00??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\100% (Max) Technique Learned
510700F1 000E0064
2025-01-11 12:37:03 +10:00
Stenzek ee33044f3d
InputManager: Fix SDL sub-options not copying to profile 2025-01-10 20:42:17 +10:00
Stenzek 7ac4a85765
InputManager: Fix per-bind sensitivity/deadzone not copying to profile 2025-01-10 20:14:21 +10:00
Stenzek ccfc60ec94
GPU/HW: Remove extra barrier on VRAM download
Seems to work around download texture corruption on AMD/Vulkan/Windows.
2025-01-10 20:06:56 +10:00
Stenzek 18c90718c6
GPU/SW: Skip pixel load if none preserved
~12% performance improvement on Cortex-A35.
2025-01-10 18:46:05 +10:00
Stenzek 1320d9b456
Common: Use __builtin_shufflevector() for NEON blend() 2025-01-10 17:12:45 +10:00
Stenzek 29934d62c4
System: Improve rewind behaviour
- Fix crash when rewinding before first state is saved.
- Always save a rewind state immediately after normal save state load.
- Don't toss the last rewind state when rewinding, that way there is
  always at least one state to rewind to.
2025-01-09 23:46:06 +10:00
Stenzek d25cffebd5
GPU/HW: Disable depth testing with semitransparency
But provide an option to enable it.
2025-01-09 21:45:14 +10:00
Stenzek d9c9b3038d
GPU/HW: Fix ROV depth being written with semitransparency 2025-01-09 21:21:12 +10:00
Stenzek 7d2898b94c
GPU/HW: Exclude 2D polygons from depth buffer
Fixes UI getting obscured in Kingsley's Adventure.
2025-01-09 21:21:12 +10:00
Stenzek 1c9b9ca37a
GPUThread: Restore context after backend creation
Might help with random VRAM loss? I can't seem to reproduce it now..
2025-01-09 21:21:12 +10:00
Stenzek 40589dcd93
Settings: Add advanced option to set delay for max CD speedup
Affects both seeks and reads.
2025-01-09 21:21:12 +10:00
Stenzek 4449ae7904
Settings: Rearrange fields to avoid padding 2025-01-09 21:21:12 +10:00
Stenzek 9b339d4bff
PostProcessing: Remove StageCount key for game settings
Potentially removes the ini file if it's otherwise empty.
2025-01-09 21:21:12 +10:00
Stenzek 2b4e60a5bf
FullscreenUI: Fix loading screen font 2025-01-09 21:21:12 +10:00
Stenzek bed3dd6950
FullscreenUI: Use span for DrawIntListSetting() 2025-01-09 17:54:12 +10:00
Stenzek b76ebd2a7b
FullscreenUI: Fix scrollbar rounding in choice dialogs 2025-01-09 17:53:52 +10:00
Stenzek 561397a53c
CDROM: Add 'maximum' read speedup option
"Instant" seek is now renamed to Maximum as well, for consistency.
2025-01-09 15:23:47 +10:00
Anderson Cardoso 0ad0859e9d
Atualização Português do Brasil (#3351)
Atualizado para a última versão
2025-01-09 15:23:25 +10:00
Stenzek fc8fbd8f08
Qt: Disable shared memcard settings outside of shared mode 2025-01-08 16:36:05 +10:00
Stenzek 08a3c31bff
CMake: Fix scmversion PRE_BUILD warning 2025-01-08 15:34:21 +10:00
Stenzek 87743c776d
FullscreenUI: Fix crash reloading postfx shaders 2025-01-08 15:29:56 +10:00
Stenzek 45afc8f7b1
OpenGLDevice: Add map-based stream buffer paths
MapAndSync ends up around 25% faster on ancient Mali drivers without
ARB_buffer_storage support.
2025-01-08 14:14:06 +10:00
Stenzek 1daa60c64d
GPU: Use tristrips for presentation as well 2025-01-08 00:14:15 +10:00
Stenzek 670dc461c1
GPU/HW: Slight re-shuffling of field offsets
Free up some bits in the middle.
2025-01-07 23:20:26 +10:00
Stenzek 0030bc2699
GPUDevice: Ensure 16 byte minimum UBO alignment 2025-01-07 23:20:25 +10:00
Stenzek 4c801c3ff3
GPUDevice: Move size-matches check into ResizeTexture() 2025-01-07 23:20:25 +10:00
Stenzek b9186139d0
GPU/HW: Use sized tristrips instead of fullscreen quads 2025-01-07 23:20:25 +10:00
Stenzek 9bc5ffe091
Common: Add Vector4i xyxy(Vector2i) 2025-01-07 23:20:25 +10:00
Stenzek 1063c3da7f
Qt: Add 'Enable Touchpad' to Controller Settings
Have to shuffle a few other things around to fit in 768p.
2025-01-07 13:42:45 +10:00
Stenzek 0a124ee839
SDLInputSource: Support forwarding touchpad to pointer 2025-01-07 13:40:42 +10:00
Stenzek 2b7b3d8729
SDLInputSource: Allow inverting pad axes
Not really sure where this would happen, but whatever.
2025-01-07 13:01:37 +10:00
Stenzek dacbb7c718
Qt: Behaviour -> Behavior
US English is used everywhere else, consistency > *.
2025-01-07 12:50:48 +10:00
Stenzek 6318223f58
Qt: Remove Apperance/Update settings from Game Properties 2025-01-07 12:48:27 +10:00
Stenzek 092e819a07
ImGuiFullscreen: Move texture loading to async tasks
Two threads instead of one, speeds things up a bit.
2025-01-07 12:40:08 +10:00
Stenzek cae1ddc971
GPU: Ensure batches are flushed before presenting frame
Fixes occasional assertion failing when using the debugger.
2025-01-07 12:28:15 +10:00
Stenzek dc9cdddd4c
Qt: Add zst/xz GPU dumps to file filter 2025-01-06 21:18:13 +10:00
Stenzek 0960160589
System: Don't check for subchannel with GPU dump 2025-01-06 21:17:27 +10:00
Stenzek 1765590a6f
Qt: Add 'Disable Window Rounded Corners' option 2025-01-05 16:39:57 +10:00
Stenzek 5ee069fc63
FullscreenUI: Add option to display PS buttons instead of Xbox 2025-01-05 16:00:15 +10:00
Stenzek 4d6124d41b
Platform: Fix AppImage dbus library mismatch 2025-01-05 14:08:22 +10:00
Stenzek 6043b2331f
Platform: Fix incorrect dbus shared library name
Fixes screensaver inhibit on Linux.
2025-01-04 21:14:46 +10:00
Stenzek 886040b257
Qt: Display 'No Image' instead of 0x0 in status 2025-01-04 19:21:47 +10:00
Stenzek 8353a33e89
X11Tools: Fix refresh rate query failing with XLib handle 2025-01-04 18:35:15 +10:00
Stenzek 076f4a6293
Qt: Fix delay in progress dialog opening
Applies to updater, verify, etc.
2025-01-04 16:59:33 +10:00
Stenzek 920f25427e
Qt: Simplify Fullscreen UI state tracking
Fixes application closing if the system was shut down while fullscreen.
2025-01-04 16:09:35 +10:00
Stenzek 78ccbc710c
Cheats: Fix error while exporting 2025-01-04 12:52:26 +10:00
Anderson Cardoso 548f1da5af
Atualização Português do Brasil (#3350) 2025-01-04 12:51:08 +10:00
Stenzek 9054801341
ImGuiManager: Update viewport and display size
Fixes the single frame of incorrect draw size when resizing
the window with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek 80855090d5
Qt: Rewrite cover loading/generation
This was always wrong, QPixmaps shouldn't be manipulated outside of
the UI thread, and it used to crash in debug builds.

Also uses a placeholder image instead of a black image while covers
are loading/generating.
2025-01-03 20:16:38 +10:00
Stenzek db14824d61
System: Use task queue for saving states/screenshots/gpudumps
System shutdown no longer needs to block. Gets rid of the slight
hitch when shutting down and saving state with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek 547601559c
Common: Add TaskQueue class 2025-01-03 20:16:37 +10:00
Stenzek 52e6e8ff1e
PostProcessing: Compile warning fix 2025-01-03 18:19:12 +10:00
Stenzek f9bb413a40
Qt: Enable clear button on hotkey search 2025-01-03 15:28:43 +10:00
Stenzek dda10d3576
Qt: Add search box to hotkey settings 2025-01-03 14:58:50 +10:00
Stenzek b2c8d25638
GPUBackend: Only display CPU thread blocked messages if queueing 2025-01-03 14:49:53 +10:00
Stenzek 88cd086633
Cheats: Eliminate extra newlines during code editing 2025-01-03 13:36:58 +10:00
Daniel Nylander e096827df8
Updated Swedish translation (#3349) 2025-01-03 13:36:40 +10:00
Stenzek e08dda0a0a
CPU: Declare state with constinit 2025-01-02 21:42:41 +10:00
Stenzek 87e367076d
PostProcessing: Get rid of Timer global 2025-01-02 21:40:01 +10:00
Stenzek ba15a76d7b
ImGuiManager: Pack state in struct 2025-01-02 21:33:53 +10:00