Commits
- 5d9309c Qt: Make parented progress callback dialog window modal
- c9c4997 PostProcessing/Slang: Separate original and input textures
- fd24d99 CI: Work around Mac runner failing
- e3332d1 Qt: Fix open button icon in ISO browser (#3638)
- d4e2f4f GameDB: Disable auto analog for Tenchu (#3636)
- 795e2d2 ImGuiOverlays: Fix bold with ICache enabled
- b531623 Settings: Slightly reduce struct size
- 2290f31 ImGuiManager: Remove multiple sources of truth for prescale/margins
- 1cc5fe0 ImGuiManager: Remove duration parameter from OSD messages
- e02883e Settings: Make OSD message durations customizable
- eb518c8 Qt: Eliminate OSD from debug RAM dumping
- 302ce03 Qt: Async messageReported() signal should not block
- db72c78 ImGuiManager: Fix incorrect condition in OSD rendering
- b5392ee Regtest: Build fix
- ce37f0e ImGuiManager: Support non-font icons in OSD
- e012d97 Achievements: Use RA icon for some notifications
- a14433e FullscreenUI: Fix ImGui asset tripping on empty game grid
- 267e81f README: Remove compatibility list link
- 79bfa1a System: Fix inverted save state overclock warning
- afc019d FullscreenUI: Avoid drawing OSD messages over achievement badges
- 618d154 Qt: Swap table for tree in Game Properties track list
- 1728415 Qt: Swap table view for tree in setup wizard game list
- 21daf6c Qt: Fix window icon for setup wizard
- f9ca1f2 Qt: Disable game compat comments button instead of hiding it (#3639)
- 63f929e Qt: Fix centering of secondary windows
- 3b25e7b Qt: Use Close button in ControllerCustomSettingsDialog
- 952b6c9 ImGuiOverlays: Add missing space
- 225623b GameDB: Disable auto analog for some games and add missing info (#3640)
- f84990b Spanish (Spain) translation update 2025-11-25 (#3641)
- 0302d6e Qt: Use metaobject class name for saving/restoration
- f352350 FullscreenUI: Add gradient to achievement notification background
- 8311a0c FullscreenUI: Fix moving achievement points badge
- 73823ed Qt: Make message box utility parameter order consistent
- 459ee19 Qt: Add QtUtils::AsyncMessageBox()
- 5626fe0 Qt: Replace most blocking message boxes with async
- c00aac6 GameDB: Increase cdromMaxReadSpeedupCycles for Alundra 2 (#3642)
- 6369f38 GameDB: Disable read speedup for Gundam Battle Assault 2 (#3643)
- e142a32 CDImagePBP: Fix TOC misreporting for some images
- 249f8cf System: Always use async hardcore cancel on boot
- 93f3be4 Achievements: Remove ConfirmHardcoreModeDisable
- 08f357f System: Avoid load state message on HC disable confirm
- 7b6fd22 System: Confirm HC disable on undo load state/reset
- 7ce8959 System: Use ConfirmMessageAsync() for SBI-less boot
- 5e2b32f Host: Remove blocking ConfirmMessage()
- 90ec75b Achievements: Don't display points badge for 0 points
- 48ec261 Qt: Center game properties window too (#3644)
- 5488874 Misc: Eliminate usage of modal progress callback functions
- 4290f75 ProgressCallback: Remove modal methods
- 82a44b1 ProgressCallback: Avoid unnecessary struct padding
- 3f882cf Qt: Add QtAsyncTaskWithProgress class
- d1519aa Qt: Use QtAsyncTaskWithProgress for dump verification
- d8e1418 Qt: Use QtAsyncTaskWithProgress for padtest download
- cc6bfeb Qt: Use QtAsyncTaskWithProgress for ISO Browser extraction
- 5b1e011 Qt: Compile warning fix
- cbbfecc HTTPDownloader: Set initial indeterminate state
- ee1defd Qt: Don't try to center on an invisible window
- 4cbd01d Qt: Get rid of nested event loops in achievement login
- 2b26690 GPU: Simplify PAR calculation
- 6761652 Qt: Remove QtAsyncProgressThread
- 8fcdf10 Qt: Get rid of nested event loop in updater
- f6bfb73 Qt: Remove QtModalProgressCallback
- 243a8af Qt: Simplify updater configuration and process
- 1ba3efa Qt: Better layout for updater window
- e026117 Qt: Make auto updater window-modal
- 9d61e8c Qt: Do blocking game list refresh with autoboot without batch
- 9fb1172 GameDB: Disable auto analog for some titles (#3645)
- 58cb4f2 FullscreenUI: Update loading/notification run idle on shutdown
- 0c6cbf8 Qt: Remove redundant grid layout in updater
- 97c9daf Qt: Remove unused EmuThread::SystemLock
- cc64286 Qt: Remove unsafe EmuThread isFullscreen() from UI thread
- c91446c Qt: Remove unused cover downloader signal
- 33b532d Qt: Remove unused focusDisplayWidget()
- 3c00c4d Qt: Remove main window surfaceless hackery
- b13207a Qt: Remove unused fields
- a5755d1 Qt: Get rid of multiple sources of truth for fullscreen
- f069570 Qt: Show update dialog after fullscreen exit completes
- 9ee1b02 Qt: Remove a bunch of unnecessary QSignalBlockers
- 8bc3f04 Qt: Try to work out the "real" display scale on MacOS
- 03c2ec2 OpenGLDevice: Fix creation on MacOS
- 480d002 Log: Only include function names for warn/error
- 3d27de7 Qt: Fix inverted fullscreen condition
- e71a022 Qt: Fix crash on updater exit
- a171c25 PostProcessing/Slang: Handle option names containing "//"
- d6f7084 HTTPDownloader: Use release-acquire ordering for request state
- e2b3f65 HTTPDownloaderCurl: Use worker thread for processing
- a116273 HTTPDownloader: Remove InternalPollRequests()
- fe8b8f0 HTTPDownloader: Remove unused default user agent
- db9a9e7 Qt: Add indication that update check is in progress
- e0a0745 Qt: Fix devbuild check
- de36fef GPU: Re-add missing AR correction
- 65e890f Qt: Fix incorrect use of toggled signal
- b723a88 GPU: Update CRTC configuration on line offset change
- 9aeb6ee GameDB: Max speedup cycles and other fixes for some games (#3647)
- e3dfc85 Atualização Português do Brasil (#3649)
- d106639 Qt: Reload game settings after reset to default (#3651)
- 9fa42e2 Qt: Add close button to "About" dialog
- 7a929b1 Qt: Allow copying the version string from interface settings
- d8a92f7 Qt: Fix styling of checked push buttons
- d612f8e Qt: Support populating game list entry at runtime
- ed71c45 Qt: Simplify updateEmulationActions() and updateShortcutActions()
- 6f80a19 Qt: Pack main window local state in struct
- 4a445a0 Qt: Disable Game Properties for PSF/GPUDump
- 521a23f Qt: Make disc select dialog window-modal
- 51524d7 GameDB: Adjust cropping in a number of titles
- 577f74a GameDB: Increase cdromMaxReadSpeedupCycles for Dino Crisis 2
- e1ca130 GameDB: Set DisableFastForwardMemoryCardAccess for Lunar
- c3b1859 HTTPDownloaderCurl: Use INT_MAX timeout
- 177afb2 Achievements: Executable read error should not show when starting BIOS
- 1706dac System: Fix possible deadlock when starting
- 5859f0d Achievements: Don't try to enable HC mode when starting without disc
- 8cfbaca Achievements: Don't enable HC mode on reset without game
- 682d007 Achievements: Add missing lock in OnSystemDestroyed()
- 547d349 HTTPDownloaderCurl: Fix crash in worker thread
- f3e0fe9 Qt: Rename QtAsyncTaskWithProgress to QtAsyncTaskWithProgressDialog
- d1d9008 Qt: Add QtAsyncTaskWithProgress
- 1fccee2 Qt: Use QtAsyncTaskWithProgress for cover downloader
- 259cd84 Qt: Use fine-grained cover invalidate in downloader
- 6216497 Qt: Disable window rounded corners is only needed on Win32
- 521eee4 Qt: Remove unnecessary application syncs
- 843558a Qt: Don't create wasteful display container on KDE
- df75127 Qt: Disable AA_DontCreateNativeWidgetSiblings hack on KDE
- 11a0aba Qt: Improve widget device pixel ratio detection
- 1bf7431 Updated Swedish translation (#3648)
- 7970287 GameList: Fix memcard icon extraction for non-database games
- 8e3a65c MemoryCard: Show game icon when saving
- ceb199b System: Add missing game list lock
- 3e32dee Qt: Fix power off system hotkey when fullscreen
- c5c5a80 Achievements: Fix challenge badge display in pause menu
- af29ce0 Achievements: Show points for most recent unlock