3730 Commits

Author SHA1 Message Date
Stenzek
769e6f2bae
GPUThread: Fix command size blow-up 2025-04-21 19:10:18 +10:00
Stenzek
41ee9d9ff0
FullscreenUI: Use path from game list entry on resume
Fixes clean boot failing when selecting a game with a no-longer-valid
path.
2025-04-21 13:30:03 +10:00
Stenzek
b4019f325c
GPU/HW: Fix black dots with some texture filters
JINC2 specifically ended up with NaNs propagating through.
2025-04-21 13:06:09 +10:00
Stenzek
f4df18b7cf
Cheats: Make FormatCodeForFile() public
Needed for Android.
2025-04-20 00:23:23 +10:00
Stenzek
437430cbc4
System: Pull screenshot format from path extension 2025-04-19 22:49:16 +10:00
Stenzek
1f10cac42a
GPUThread: Align commands to 16 bytes
Apparently some of the types end up 16-byte aligned on Android x86_64.
2025-04-19 22:45:21 +10:00
Stenzek
bd558efaaa
CMake: Use upstream-compatible Findzstd 2025-04-19 20:43:27 +10:00
Stenzek
df2a5a5e67
ImGuiManager: Move drawing out of GPUDevice 2025-04-19 16:21:29 +10:00
Stenzek
75ae7deadb
FullscreenUI: Add padding to game list 2025-04-18 14:44:25 +10:00
Stenzek
1fa77e530b
FullscreenUI: Center achievement/leaderboard images
Fixes the placeholder image being stretched.
2025-04-17 21:05:54 +10:00
Stenzek
9a6725367b
FullscreenUI: Change default background name 2025-04-17 21:05:44 +10:00
Stenzek
def6b76116
FullscreenUI: Make menu item borders optional 2025-04-17 21:05:44 +10:00
Stenzek
5b5eef61d7
FullscreenUI: Increase spacing between menu items 2025-04-17 21:05:44 +10:00
Stenzek
7aa831c8df
FullscreenUI: Improve look of slider popups 2025-04-17 21:05:44 +10:00
Stenzek
ddf906f377
FullscreenUI: Polish achievements login dialog 2025-04-17 21:05:44 +10:00
Stenzek
c9ae4dcd0f
SPU: Enable VU meter in debug builds 2025-04-17 21:05:44 +10:00
Stenzek
3d2085f797
GPU: Fix some CPU thread state reads 2025-04-14 22:20:29 +10:00
Stenzek
4c1aba62fc
System: Remove unused function
And rename instances of "filename" to "path".
2025-04-14 22:20:29 +10:00
Stenzek
a0de2febad
GPUThread: Minor logic corrections 2025-04-14 22:19:17 +10:00
Stenzek
751d81eff0
GPU/TextureCache: Handle FetchTexture() fails 2025-04-14 22:19:17 +10:00
Stenzek
ebf33f32fa
FullscreenUI: Crash fix 2025-04-13 13:58:46 +10:00
Stenzek
ca46c11829
FullscreenUI: More string_view usage 2025-04-12 21:14:51 +10:00
Stenzek
65fd6f9ff3
FullscreenUI: Fix crash in hotkey settings 2025-04-12 21:14:47 +10:00
Stenzek
32963c3f6a
Controller: Use string_view() for localised strings 2025-04-12 14:51:58 +10:00
Stenzek
057398b4ab
FullscreenUI: Mostly replace C string usage with string_view 2025-04-12 14:13:05 +10:00
Stenzek
8f8f7cd1cb
Achievements: Queue RAIntegration writes on CPU thread 2025-04-12 12:35:05 +10:00
Stenzek
faa7ca5121
FullscreenUI: Add confirmation to hardcore mode enable/reset 2025-04-12 12:30:53 +10:00
Stenzek
c192bd798b
Bus: Stub out 0x1F802080
Used by some homebrew.
2025-04-11 22:18:27 +10:00
Stenzek
fca250257c
Achievements: Initialize RAIntegration in two parts 2025-04-11 22:13:07 +10:00
Stenzek
c1e01af511
Host: Expose RunOnUIThread() to core
I hate this, but sadly needed for RAIntegration...
2025-04-11 22:13:07 +10:00
Stenzek
2eecf6b79d
GPU/HW: Clear depth at vblank time in 480i games
If this is a 480i single buffer game, then rendering should complete within one vblank.
Therefore we should clear the depth buffer, because the drawing area may not change.
2025-04-10 22:02:40 +10:00
Stenzek
e7a3465598
Achievements: Display hardcore disabled subtitle in game summary 2025-04-10 21:45:45 +10:00
Stenzek
284b13cd43
Achievements: Fix starting with RAIntegration-forced HC mode 2025-04-10 21:40:34 +10:00
Stenzek
8e73b1db7e
Achievements: Display notification on subset complete 2025-04-10 21:32:26 +10:00
Stenzek
6165b504b8
Achievements: Use new badge_url/badge_locked_url fields 2025-04-10 21:24:08 +10:00
Stenzek
4708a8fda4
Achievements: Fix login while ingame 2025-04-10 21:12:35 +10:00
Stenzek
21560537c2
Achievements: Fix crash starting with no game 2025-04-10 02:29:45 +10:00
Stenzek
15a81e5543
Deps: Remove RAInterface 2025-04-10 02:18:17 +10:00
Stenzek
d286b96c2d
Achievements: Swap RAInterface for RAIntegration via rc_client 2025-04-10 02:16:12 +10:00
Stenzek
1bb1354d4e
Achievements: Use rc_client as source of truth for HC mode 2025-04-10 01:35:10 +10:00
Stenzek
a0aac8ef17
dep/rcheevos: Bump to latest upstream 2025-04-10 01:35:10 +10:00
Stenzek
e41543c38a
Achievements: Cache latest/nearest achievement info
When using RAIntegration through rc_client, the rc_client_achievement_t
pointer does not persist after rc_client_destroy_achievement_list().
2025-04-10 01:35:08 +10:00
Stenzek
a310d3a5e7
FullscreenUI: Fix load-and-resume-state HC popup 2025-04-09 22:47:39 +10:00
Stenzek
97c81edf39
FullscreenUI: Android build fix 2025-04-09 13:24:47 +10:00
Stenzek
182ba2aa7f
SPU: Devel build fix 2025-04-08 22:21:12 +10:00
Stenzek
8706f609dd
SPU: Add VU meter display in debug/devel builds 2025-04-08 22:06:03 +10:00
Stenzek
0479500357
CPU: Correctly mask upper 1.5GB of KUSEG
Stops fastmem going into a loop when trying to backpatch accesses
above 512MB.
2025-04-08 21:39:29 +10:00
Stenzek
0a1e8e27f0
ShaderGen: Emit packUnorm4x8() for GLSL ES 3.0 2025-04-08 20:11:01 +10:00
Stenzek
7971bb949b
GPU/HW: Add Scale2x/Scale3x texture filters 2025-04-08 20:10:58 +10:00
Stenzek
52f8a347c7
FullscreenUI: Fix Toggle Fast Forward being disabled 2025-04-07 20:48:32 +10:00
Stenzek
dfa96e080d
GPU: Implement MMPX texture filter 2025-04-06 23:16:59 +10:00
Stenzek
054e96f46b
BIOS: SCPH-7000W is region-free 2025-04-06 23:16:03 +10:00
Stenzek
b794e841a9
Achievements: Improve HC self-disable 2025-04-06 23:16:03 +10:00
Stenzek
5034fb943c
Hotkeys: Rearrange categories for some shortcuts and improve naming 2025-04-06 23:16:03 +10:00
Stenzek
e62f3bd4a8
PostProcessing: Show Reshade ui_text style help text 2025-04-06 23:16:03 +10:00
Stenzek
584ed4bb38
FullscreenUI: Fix progress bar line at 0% 2025-04-05 21:54:38 +10:00
Stenzek
0f6e5bb1fe
FullscreenUI: Fix pause menu achievements text progress colour 2025-04-05 21:54:38 +10:00
Stenzek
079dae37fd
FullscreenUI: Use transition for background/theme changes 2025-04-05 15:02:53 +10:00
Stenzek
162150c509
FullscreenUI: Force key nav on first open 2025-04-05 15:02:50 +10:00
Stenzek
47e941cdc2
Qt: Fix shutdown from Big Picture exiting application 2025-04-05 15:02:32 +10:00
Stenzek
46ae1780c5
Qt: Fix double-click-fullscreen with notifications up 2025-04-05 15:02:15 +10:00
Stenzek
bbdc6ab4e0
Misc: Fix a bunch of code analysis warnings
Quite a few of these were legitimate.
2025-04-03 19:29:03 +10:00
Stenzek
c7139b943c
GPU/HW: Remove redundant check 2025-03-30 23:42:02 +10:00
Stenzek
b798d8f1aa
Settings: Add option for enabling GPU-based validation 2025-03-30 23:20:39 +10:00
Stenzek
162d742cc0
CDROM: Remove hack for Fighting Force
Instead properly handle the one-sector-delay that occurs when autopause
detects the start of a new track.
2025-03-30 22:00:21 +10:00
Stenzek
8c1f75ab8c
GameDatabase: Add overrides for maximum CD speedup cycles 2025-03-30 22:00:21 +10:00
Stenzek
d2c09dfaff
Settings: Split read and seek cycles for maximum CD speedup 2025-03-30 22:00:21 +10:00
Stenzek
3292833fb8
FullscreenUI: Add option to turn off animations 2025-03-30 15:58:48 +10:00
Stenzek
04c5a9f1b2
FullscreenUI: Improve leaderboard text contrast 2025-03-30 15:43:15 +10:00
Stenzek
c5cc94c4b7
FullscreenUI: Fix hotkey categories duplicating 2025-03-30 15:22:46 +10:00
Stenzek
64513395f3
FullscreenUI: Add fade transition to most screen changes 2025-03-30 15:22:46 +10:00
Stenzek
e6e6313219
FullscreenUI: Add offscreen-based screen fade 2025-03-30 15:22:46 +10:00
Stenzek
2d31bf5685
FullscreenUI: Convert input binding into a PopupDialog 2025-03-30 14:45:26 +10:00
Stenzek
9bcd738f5c
FullscreenUI: Make save state selector a main window
More reliable, saves messing around with popups.
2025-03-30 14:45:26 +10:00
Stenzek
3bf5ded0d2
FullscreenUI: Fix various issues
- Pause menu losing key focus the first time it's opened.
- Pause menu being unopenable after close when paused.
- Key nav not being enabled after closing game via main UI.
2025-03-30 11:47:31 +10:00
Stenzek
a3e840526a
FullscreenUI: Fix multi-disc selection with duplicate filenames 2025-03-29 21:46:56 +10:00
Stenzek
54c42f9c27
Achievements: Consider all-hidden-leaderboards as no leaderboards
Stops the menu option being available and showing 0 leaderboards.
2025-03-29 20:06:09 +10:00
Stenzek
b4ae19411b
Achievements: Show unconfirmed unlocks in pause menu 2025-03-29 20:06:09 +10:00
Stenzek
37230107f4
FullscreenUI: Run idle while notifications/toasts are onscreen 2025-03-29 20:06:09 +10:00
Stenzek
0687e59bda
FullscreenUI: Rewrite popup dialog handling
Add animations, fix background dimming.
2025-03-29 17:57:37 +10:00
Stenzek
576658b6eb
Settings: Max speedup cycles should be at least 1 2025-03-28 21:23:32 +10:00
Stenzek
e4a028834a
FullscreenUI: Fix keynav default in open-in-game-list mode 2025-03-28 20:44:54 +10:00
Stenzek
f36062a94e
FullscreenUI: Fix duplicate item in advanced settings 2025-03-28 20:40:52 +10:00
Stenzek
9ef7f54f19
FullscreenUI: Enable all windows to nav-wrap
i.e. when pressing down at the end, it wraps to the top.
2025-03-28 20:38:31 +10:00
Stenzek
6f2225fb61
FullscreenUI: Remove redundant ActiveButton() and friends 2025-03-28 19:45:52 +10:00
Stenzek
f80a77fa27
FullscreenUI: Fix popup item border going outside of window 2025-03-28 19:27:24 +10:00
Stenzek
ea3774cece
FullscreenUI: Fix setting BIOS to Auto Detect 2025-03-28 18:54:14 +10:00
Stenzek
fbadacae78
CDROM: Fudge track autopause hold position
Fudge the hold position by 2 sectors to reduce the number of GetlocP's
that will return a MSF in the old track.

Works around the music hang in Fighting Force.
2025-03-28 17:24:39 +10:00
Stenzek
ceef7af1da
GameList: Fix crash if cache fails to open 2025-03-28 17:07:13 +10:00
Stenzek
ece18d10c5
PCDrv: Allow opening by absolute path 2025-03-24 18:59:15 +10:00
Stenzek
4ce001aef3
GameDatabase: Add DisableFullTrueColor trait 2025-03-23 17:08:25 +10:00
Stenzek
1fca8ae6bf
FullscreenUI: Fix start-in-game-list mode using grid 2025-03-23 17:02:52 +10:00
Stenzek
3ffd20b833
FullscreenUI: Display game list attributes in darker colour 2025-03-23 16:59:23 +10:00
Stenzek
9411e40c20
FullscreenUI: Fix assert when booting+loading state 2025-03-23 16:43:57 +10:00
Stenzek
03d7af2efc
FullscreenUI: Add border rounding to menu items 2025-03-23 16:42:24 +10:00
Stenzek
741e971681
GPU/HW: Add 'True Color (Full)' dithering mode
This is equivalent to the old 'True Color' mode.

The new 'True Color' mode truncates flat-shaded sprites/polygons
to 16-bit color before drawing. Doing so fixes:

- Menu background in Breath of Fire IV.
- Loading background in JumpStart Wildlife Safari - Field Trip.
- and other similar games.
2025-03-22 18:32:31 +10:00
Stenzek
2d477f80b0
Qt: Add tooltips to setup wizard graphics settings
Same strings as the main graphics settings page, so translation should
be just a matter of accepting them as-is.
2025-03-22 18:32:31 +10:00
Stenzek
2311c8d287
Settings: Convert dithering/true color options to a dropdown
Half of them are mutually exclusive, so this simplifies things.
Fewer options = better, right?
2025-03-22 18:20:51 +10:00
Stenzek
32b09193d1
Qt: Move force video timing to console settings
Since it's related to the region, it makes sense to be in here.
And it frees up precious vertical space.
2025-03-22 18:20:51 +10:00
Stenzek
4afa41b927
Qt: Move async readahead sectors to advanced settings 2025-03-22 18:20:51 +10:00
Stenzek
115ba4433c
CPU/Interpreter: Emulate lo/hi read stall after mult/div
Still need to do the recompiler.
2025-03-22 01:59:00 +10:00
Stenzek
62d7a73381
GPU/HW: Add 'Scaled Interlacing' option
Disabling this option causes rendering to skip N lines instead of 1
line, where N is the internal resolution multiplier.
2025-03-22 01:19:01 +10:00
Stenzek
d176109d3b
GPU/HW: Fix incorrect interlaced VRAM extract offset
Fixes exascerbated combing when upscaling.
2025-03-22 01:11:24 +10:00
Stenzek
346f0f945d
GameDatabase: Fix incorrect multitap key parsing 2025-03-21 19:11:50 +10:00
Stenzek
de6a8fba51
BIOS: Set priority of v4.1 E to 10
It doesn't have the additional region check.
2025-03-21 19:11:47 +10:00
Stenzek
5c41a48e39
GPU/HW: Fix crash when changing downsampling factor 2025-03-20 21:19:08 +10:00
KamFretoZ
e5cec05633
Qt/BPM: Add Green Giant Theme (#3390)
WHAT ARE YE DOING IN MY SWAMP???
2025-03-20 21:16:45 +10:00
Stenzek
a1e5bb7bc0
FullscreenUI: Display legend for achievement status icons 2025-03-15 15:58:39 +10:00
Stenzek
4f00a7c7c1
FullscreenUI: Add rounding to achievements progress bars 2025-03-15 15:44:23 +10:00
Stenzek
3420af829c
FullscreenUI: Display unlock rarity in achievements view 2025-03-15 15:41:30 +10:00
Stenzek
830842891e
GameList: Rename max value enum for consistency 2025-03-15 15:03:42 +10:00
Stenzek
dd885cfe2f
GameList: Cache invalid entries
Saves repeatedly scanning them every time the application starts.
2025-03-15 15:02:56 +10:00
Stenzek
8a0400ad2c
GameList: Don't try to scan gpudump files 2025-03-15 14:46:19 +10:00
Stenzek
bcd4b918dc
FullscreenUI: Fix black screen on renderer change 2025-03-15 14:39:22 +10:00
Stenzek
c82c007a75
FullscreenUI: Add settings reset option to settings 2025-03-15 14:33:51 +10:00
Stenzek
0a470067f5
FullscreenUI: Move appearance up in settings order 2025-03-15 14:07:35 +10:00
Stenzek
2a86faa51e
FullscreenUI: Replace landing icons with colourable icons 2025-03-15 13:56:29 +10:00
Stenzek
4bac7cb79e
FullscreenUI: Fix some dialogs not being cancellable
i.e. exitable with right mouse click/B button.
2025-03-15 02:18:20 +10:00
KamFretoZ
db3b689166
FullscreenUI: Add Dark Ruby theme (#3389) 2025-03-15 02:17:54 +10:00
Stenzek
1189f53840
FullscreenUI: Add 'Automatic' theme that syncs with Qt 2025-03-15 00:42:02 +10:00
Stenzek
6e27b8ab91
FullscreenUI: Add option to start/open to game list 2025-03-14 23:57:14 +10:00
Stenzek
3d0f038697
FullscreenUI: Move game list settings to main tab
And add resume to game list/grid.
2025-03-14 23:53:50 +10:00
Stenzek
f11c31b41c
ImGuiOverlays: Apply theme to save state selector 2025-03-14 22:58:02 +10:00
Stenzek
cffafad2ca
ImGuiManager: Use fullscreen UI theme for OSD 2025-03-14 22:36:14 +10:00
Stenzek
b6fa2cecd3
FullscreenUI: Fix shadowed text alpha again 2025-03-14 22:36:14 +10:00
Stenzek
9c971825a9
FullscreenUI: Apply theme to ingame achievement overlays 2025-03-14 21:22:17 +10:00
Stenzek
e422afdec1
FullscreenUI: Improve achievements pause menu overlays
- Add most recent unlock/nearest completion.
- Make it look nicer and better fit with the rest of the interface.
2025-03-14 20:50:20 +10:00
Stenzek
ba3295930c
VulkanDevice: Allow 0x0 window size
Fixes minimizing in render-to-separate-window mode.
2025-03-12 23:54:25 +10:00
Stenzek
44af55a77f
FullscreenUI: Differentiate title/subtitle colours
Makes it easier to read.
2025-03-12 01:46:04 +10:00
Stenzek
72a0ba1e8e
FullscreenUI: Fix pause menu light theme shadow colour 2025-03-12 00:19:32 +10:00
Stenzek
aeadd4c280
FullscreenUI: Move game info to top of pause menu 2025-03-11 23:19:00 +10:00
Stenzek
d6ab840e4b
FullscreenUI: Use RetroAchievements game icon as fallback game image 2025-03-11 22:38:43 +10:00
Stenzek
492a55ee8b
FullscreenUI: Add icons to achievement list categories 2025-03-11 22:27:08 +10:00
Stenzek
541af8d5de
GDBServer: Stub out thread commands 2025-03-11 22:07:18 +10:00
Stenzek
7bae23d79d
GDBServer: Implement memory breakpoints 2025-03-11 21:50:26 +10:00
Stenzek
a0c06f8d9c
GDBServer: Implement 's' command (single step) 2025-03-11 21:32:03 +10:00
Stenzek
814263b442
GDBServer: Mostly rewrite handlers and fix undefined behaviour
Remove all heap allocations.
Remove copies.
2025-03-11 21:29:29 +10:00
Stenzek
2f5855a7a4
GDBServer: Get rid of <map> usage 2025-03-11 20:37:37 +10:00
Stenzek
cd694c01d8
GDBServer: Improve ack handling
Treat acks as complete packets, that way it doesn't spam an error
when only an ack is sent.
2025-03-11 20:30:47 +10:00
Stenzek
9f0bbccd50
Achievements: Fix progress bar text alignment 2025-03-10 21:54:45 +10:00
Stenzek
58dc7562a3
GPU/HW: Add in-pass clear depth pipeline
Instead of clearing the entire buffer, we only need to wipe out the
current drawing area. Saves a decent chunk of memory bandwidth in games
that end up spamming clears.
2025-03-07 21:33:06 +10:00
Stenzek
ee6887b68a
GPU/HW: Add stat for depth buffer clears 2025-03-07 21:33:02 +10:00
Stenzek
2bfbec3e9e
Settings: Use new key name for depth threshold
Because of the changed range.
2025-03-07 21:32:57 +10:00
Stenzek
e73ca9e052
Qt: Fix new range for depth clear threshold 2025-03-07 18:05:20 +10:00
Stenzek
6437a5db60
GPU/TextureCache: Dump textures asynchronously
Saves lagging the emulation.
2025-03-07 16:05:36 +10:00
Stenzek
95797b05f1
GPU: Force early run on GP0 FIFO overflow
And don't crash if a game spams GP0 writes and it overflows.
2025-03-07 15:49:07 +10:00
Stenzek
9939f1cd05
CPU/Interpreter: Use __builtin_{add,sub}_overflow for exceptions
Recompiler already does this.
2025-03-07 15:48:28 +10:00
Stenzek
7eb7ad684c
CPU/Recompiler: Remove load delay flag from lwc2
Shouldn't make any difference since it's not a register write.
2025-03-07 15:08:00 +10:00
Stenzek
826f10239c
CPU/Recompiler: Flush GTE completion cycle on load without fastmem 2025-03-06 22:41:10 +10:00
Stenzek
78bb14bd23
CPU: Fix disassembly of GTE instructions in log 2025-03-06 22:41:10 +10:00