Stenzek
3cf2f41723
FullscreenUI: Fix crash changing renderer
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
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
03d7af2efc
FullscreenUI: Add border rounding to menu items
2025-03-23 16:42:24 +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
3ab3e4be06
ImGuiManager: Tweak OSD message rounding
2025-03-22 18:20:51 +10:00
Stenzek
6eddc0b982
GPUDevice: Don't allow copy-resize between different formats
...
That's a spec violation.
2025-03-22 01:11:23 +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
27fc7de07a
FullscreenUI: Add translucency/shadow to achievement notifications
2025-03-15 16:27:43 +10:00
Stenzek
61de096d26
FullscreenUI: Add status text (left side of footer)
2025-03-15 15:58:22 +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
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
6c867859bf
FullscreenUI: Apply theme to loading screen
2025-03-14 23:07:14 +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
c57689cc90
FullscreenUI: Inherit colour alpha for shadowed text
2025-03-14 21:21:56 +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
KamFretoZ
4fc49ee0ca
FullscreenUI: Tweak the highlight background color ( #3387 )
2025-03-12 23:54:15 +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
492a55ee8b
FullscreenUI: Add icons to achievement list categories
2025-03-11 22:27:08 +10:00
Stenzek
160f1ea8a0
Qt: Fix vibration motor binding not showing some devices
2025-03-06 22:41:09 +10:00
KamFretoZ
38146f2023
FullscreenUI: Fix toast colors and add more themes ( #3381 )
2025-03-02 12:01:27 +10:00
Stenzek
34fdbafe85
FullscreenUI: Add drop shadows to most text
...
Improves readability with custom backgrounds.
2025-03-01 16:00:05 +10:00
Stenzek
9bfc3e90cc
FullscreenUI: Hook up dynamic toast colour
2025-03-01 13:10:50 +10:00
Stenzek
9d9da94b7b
FullscreenUI: Default to dark theme on unknown value
2025-03-01 13:10:50 +10:00
KamFretoZ
5dc0a3630a
FullscreenUI: Add Themes ( #3380 )
2025-03-01 12:41:06 +10:00
Stenzek
89d9842c7e
FullscreenUI: Fix popup title colours
2025-03-01 01:11:26 +10:00
Stenzek
ec7c83a58e
Settings: Fix race toggling OSD messages
2025-02-28 16:29:18 +10:00
Stenzek
df9f15eb68
OpenGLDevice: Support SDL window type
2025-02-28 16:29:18 +10:00
Stenzek
ee1a3b904e
VulkanDevice: Support SDL window type
2025-02-28 15:46:53 +10:00
Stenzek
4bddd38d70
WindowInfo: Add SDL window type
2025-02-28 15:46:53 +10:00
Stenzek
498e7aac56
X11Tools: Load libxcb and friends dynamically
2025-02-28 15:46:53 +10:00
Stenzek
bceadadcb4
Image: Fix possible unaligned movaps
2025-02-14 22:51:29 +10:00
Stenzek
dc6d6b91d4
PostProcessing: Fix abort on slow compile in big picture
2025-02-14 19:01:40 +10:00
Stenzek
b68d7c8adb
Image: Vectorize RGBA8 conversion and add A1BGR5
2025-02-14 19:01:40 +10:00
Stenzek
9b2cf0abbd
InputSource: Fix Wcast-function-type-mismatch
2025-02-14 19:01:40 +10:00
Stenzek
5913de947f
VulkanDevice: Fix incorrect texture format for A1BGR5
2025-02-14 19:01:40 +10:00
Stenzek
7bc18c8538
DDGoController: Rewrite to support axis input
...
And add virtual buttons for each of the possible states.
2025-02-12 21:52:02 +10:00
Stenzek
2663ac9666
CDImage: Improve PBP load error reporting
2025-02-08 17:33:58 +10:00
Stenzek
acb355a8c3
CDImage: Make .bin loader track length match .cue
...
Fixes different hashes for loading single-track .bin games directly.
2025-02-08 15:02:56 +10:00
Stenzek
f2cca01e29
ImGuiManager: Fix achievement unlock icon not showing
2025-02-08 01:46:44 +10:00
Stenzek
063bb96e5d
D3D11Device: Always query timestamp before present start
...
Fixes high GPU usage reporting in D3D11 with AMD GPUs + Optimal Frame
Pacing.
2025-02-07 15:58:35 +10:00
Stenzek
bee2dabc77
Misc: Replace stringstream str() with C++20 move str()
...
No extra heap allocation/copy.
2025-02-05 22:38:48 +10:00
Stenzek
c6563a4656
VulkanDevice: Require Vulkan 1.1 for most extension probing
...
Too much of a headache to deal with these ancient Mali drivers that
support some extensions but not full Vulkan 1.1, and VMA does not
support this scenario.
2025-02-04 17:15:29 +10:00
Stenzek
64d3716cfd
GPU: Further simplify draw rect calculation
...
Remove "Stretch Vertically" option, it was very confusing to users.
Integer scale will prefer whichever direction gets a larger draw
rectangle/preserves as much detail.
2025-02-02 17:02:58 +10:00
Stenzek
b5925ab139
Achievements: Include any codepoints above 0x100 in dynamic range
2025-01-31 13:48:57 +10:00
Stenzek
9b6021b79e
FullscreenUI: Fix progress bar padding in loading screen
2025-01-30 01:43:22 +10:00
Stenzek
128bab29f8
Host: Allow button title override in ConfirmMessageAsync()
2025-01-29 19:19:53 +10:00
Stenzek
4da7692a2d
System: Adjust initialization order to better fit FullscreenUI
...
Fixes jankyness of rendering the landing page when trying to resume
a game with achievements active, or when loading state.
2025-01-29 19:19:53 +10:00
Stenzek
1b678d0ebc
FullscreenUI: Allow using right mouse button for 'back'
2025-01-29 19:19:53 +10:00
Stenzek
231ba050a2
GPUThread: Switch to borderless if exclusive fullscreen fails
...
Better than ending up windowed.
2025-01-29 18:20:41 +10:00
Stenzek
5630f3958b
Qt: Fix loading webp images on Windows
2025-01-26 14:01:42 +10:00
Stenzek
0e3668a7bb
GameList: Show achievement information in game list
2025-01-26 13:49:08 +10:00
Stenzek
543704d57c
HTTPDownloader: Drop some log messages to debug
2025-01-25 22:35:06 +10:00
Stenzek
4e97420b3b
InputManager: Switch to SDL3
2025-01-24 15:54:31 +10:00
Stenzek
9113a6e6a6
Qt: Add 'Multiple Devices' to automatic mapping
...
Also populate the "current device" label with the device from
the config when running the setup wizard, instead of always setting
the label to Keyboard.
2025-01-22 18:38:37 +10:00
Stenzek
0166939609
PostProcessing/GLSL: Clear alpha to 1.0
2025-01-22 18:23:12 +10:00
Stenzek
be75a97efe
GPUDevice: Fix swap chain clear colour normalization
2025-01-22 18:23:11 +10:00
Stenzek
fb3e290133
GPUDevice: Move exclusive fullscreen to features
...
Also fixes it not enabling in D3D12 renderer.
2025-01-21 19:12:44 +10:00
Stenzek
389276bb03
GPUDevice: Normalize supports_texture_buffers => texture_buffers
2025-01-21 19:06:59 +10:00
Stenzek
f219b47e98
FullscreenUI: Use constant width/height scale on Android
...
Fixes achievement notifications being differently sized
depending on the screen rotation.
2025-01-20 00:01:46 +10:00
Stenzek
7c2488c942
PostProcessing/GLSL: Fix image moved off-screen with alignment
2025-01-19 21:40:38 +10:00
Stenzek
c03b6f3d84
Misc: Replace isspace() usage with StringUtil::IsWhitespace()
...
Avoids the UB if the character is negative (e.g. reading from a binary
file), as well as locale-specific rubbish.
2025-01-19 21:29:14 +10:00
Stenzek
21b167d382
CDImage: Tidy up Open() method
2025-01-19 21:29:14 +10:00
Stenzek
9fdeeb3fb6
GPU: Add alpha blending support to overlay
2025-01-19 16:37:51 +10:00
Stenzek
e1cbb50c64
GPU: Fix various capture/screenshot issues
...
- Simplify functions for rendering display.
- Post-processing should only when the target size matches the window.
Otherwise the shaders are constantly recompiled.
- Include border overlay in capture/screenshots when above condition
is satisfied.
- Relax video alignment size when using screen resolution + auto.
- Fix "Internal Resolution (Uncorrected)" capture mode.
2025-01-19 13:42:38 +10:00
Stenzek
6131ddbefe
GPU: Fill in unused/padded area in overlays
2025-01-18 22:59:49 +10:00
Stenzek
88b43370dc
GPUDevice: Replace explicit GL_PUSH/GL_POP with nested GL_SCOPE
2025-01-18 22:59:49 +10:00
Stenzek
d62261e7a4
GPUDevice: Allow nested GL_SCOPE macros
2025-01-18 22:59:49 +10:00
Stenzek
e0a9bbe600
PostProcessing: Move into GPU presenter
...
Means that the renderer can be changed without reloading shaders,
and speeds up config change detection.
2025-01-18 22:59:48 +10:00
Stenzek
d589696eff
PostProcessing: Get rid of GPU-dependent globals
2025-01-18 22:59:48 +10:00
Stenzek
338d29d271
GPUDevice: Move empty/null texture to base class
2025-01-18 22:59:48 +10:00
Stenzek
609fa5c7d7
GPUDevice: Add sampler cache to base class
...
Removes per-backend bookkeeping in D3D12 and Vulkan.
2025-01-18 22:59:48 +10:00
Stenzek
dd9788262e
GPU: Refactor display presentation workflow
...
Adds the ability to set overlays, and fixes postfx with prerotation.
2025-01-18 22:59:48 +10:00
Stenzek
e41f179108
PostProcessing: Fix erroneous reload message
2025-01-18 22:59:48 +10:00
Stenzek
7cc47551a4
FullscreenUI: Fix parent scroll resetting on directory change
2025-01-18 22:59:48 +10:00
Stenzek
e34d23c8e7
FullscreenUI: Implicitly close non-multichoice dialogs
...
Also fixes disc swap using a multichoice instead of single.
2025-01-18 22:59:47 +10:00
Stenzek
227c249d7f
FullscreenUI: Skip SVG prefix if image is not a SVG
2025-01-18 22:59:47 +10:00
Stenzek
c34dda39b7
FullscreenUI: Fix invalidating images with size hints
2025-01-18 22:59:11 +10:00
Stenzek
79245b6cd6
FullscreenUI: Make footer text background semitransparent
2025-01-16 01:14:22 +10:00
Stenzek
7973a91438
FullscreenUI: Make menu item backgrounds slightly transparent
...
Blends with background.
2025-01-14 21:07:00 +10:00
Stenzek
3130e16438
FullscreenUI: Add user-selectable backgrounds
2025-01-14 18:59:42 +10:00
Stenzek
88e18a8659
Image: Fix crash on loading corrupted JPEG file
2025-01-14 13:29:14 +10:00
Stenzek
d3854d095e
AnalogController: Use variant vibration icon for large motor
2025-01-13 19:49:56 +10:00
Stenzek
aaf2a4b614
InputManager: Adjust scope of constants
2025-01-13 16:35:40 +10:00
Stenzek
462a4a3b50
Controller: Refactor so that GetControllerInfo() can't return null
2025-01-13 16:07:43 +10:00
Stenzek
062776c1c7
ImGuiManager: Map left stick to dpad
2025-01-13 14:28:39 +10:00
Stenzek
c45e59fe22
SDLInputSource: Arrays to std::array and forward generic axis
2025-01-13 14:28:28 +10:00
Stenzek
21aef088ed
XInputSource: Arrays to std::array and forward generic axis
2025-01-13 14:25:51 +10:00
Stenzek
9d3c56fe6c
ImGuiManager: Fix data races in input forwarding
2025-01-13 13:52:07 +10:00
Stenzek
17e8930e94
ImGuiManager: Pack state based on thread access
2025-01-13 13:33:15 +10:00
Stenzek
3621705933
Achievements: Ensure loading old states behave the same as new
2025-01-13 13:13:15 +10:00