Releases: stenzek/duckstation
Releases · stenzek/duckstation
v0.1-10413
Commits
- 9790c1b Updated Swedish translation (#3660)
- f248c1c Atualização Português do Brasil (#3659)
- 4c38484 Qt: Failed to retrieve update change list is not fatal
- 9ba0bb9 MSBuild: Only remove source paths in ReleaseLTCG
- e06d880 MSBuild: Set -Wno-invalid-offsetof
- c9177bc Common: Add vector rectangle helper functions
- 9eaf586 Qt: Simplify cover and icon invalidation
- ed531da Qt: Move wireframe rendering to debug tab
- 69784d1 GPU: Move draw helper functions to cpp file
- 97582bc GPU: Use vectors/rects for presentation
- 986e66b GPU: Use vectors in draw rect calculation
- c6a44ff GPU: Add "Fine Crop" settings
- 7cf6e04 GPU/HW: Chunk skewed+overlapping copies
- 3fc563e Qt: Invalidate tooltips for title changes as well
- 351e787 Common: Fix a bunch of errors in ARM vector wrapper
- 37d7cd4 Common: Silence deprecation warnings on MacOS
- 2498e66 MetalDevice: Fix compile warnings
- 1ee0f73 Achievements: Use rc_client API for fetching game titles (#3658)
- 900d06c FullscreenUI: Fix inconsistent notification colour gradient
- 86ba9ea ImGuiManager: Add colour gradient to OSD messages
- f99601e dep/rcheevos: Bump to b77013b
- cda367d Achievements: Use badge_url for downloads
- 708e3b8 Achievements: Use rc_client_create_subset_list()
- f52a5af System: Fix fullscreen state persisting between games
- a777466 Qt: Invalidate covers when all titles are invalidated
- 547b76f SDLInputSource: Use auto mode for enhanced reports
- b3caf07 Qt: Make enhanced controllers reports option more clear
- 1ccd750 CMake: Avoid using system zlib outside of MacOS
- b10eba4 VulkanDevice: Disable fbfetch on LLVMpipe
- 7a539ba GPUDevice: Reduce GraphicsConfig struct size
- fe8d2e0 VulkanDevice: Set rasterization order attachment access bit on blend state
- 6521355 CMake: Don't copy desktop file to resources
- b8b576e Qt: Override application font on Linux
- 89946cc Qt: Provide theme icons for most used Qt StandardIcons
- 6062f5e Qt: Use same changed colour in memory scanner as view
- 93f62c4 CI: Fix cache key in upload caches workflow
- bc72d58 Achievements: Preserve hardcore mode when toggling encore/spectator/unofficial settings (#3661)
- 9857835 GameDB: Add mouse support for compatible games (#3662)
- a72d21f Win32RawInputSource: Support device hotplugging
- 0af8b74 InputManager: Move device notification from main window
- 51986e7 InputManager: Fix some low-risk races during reload
- 822024d Qt: Fix empty text box after image verification
- 9712883 ProgressCallback: Add a variant with alert/confirm
- d5dc9fb FullscreenUI: Fix bg load after close->reopen
- 1c06b68 GameDB: add missing compatibility entry for original release of A Bug’s Life (#3664)
- 7d31ab9 GameDB: Fix typo in FF7's sort title
- b8c8941 GameDB: Add sort title to FF7 and FF8 demo discs
- ea8d7b0 VulkanDevice: Only enable KHR_maintenance5 with dynamic rendering
v0.1-10365
Commits
- 5b91141 GameList: Add option to download all game icons (#3655)
- 972dcd7 Achievements: Tidy up badge downloader
- a870f62 Achievements: Use main HTTP for badge downloads
- 1541200 Qt: Name consistency improvements
- 3867c84 Qt: Allow cancelling icon downloads
- 42c872e FullscreenUI: Add achievement game icon download
- ea4933a Achievements: Add progress to progress database refresh
- f7ca150 InputManager: Fix possible use-after-free on source reload
- d9f8302 Qt: Increase idle polling interval
- 4b82191 Qt: Fix use-after-free in edit/remove cheat (#3657)
- e2fc40c FullscreenUI: Fix infinite loading at end of leaderboard
- 56d8750 FullscreenUI: Add floating nav bar widgets
- 7214ec0 FullscreenUI: Improve leaderboard display
- 75380e7 FullscreenUI: Improve styling consistency between achievements/leaderboards
- ac0a299 FullscreenUI: Add achievement subset selection
- 4da93d7 FullscreenUI: Set scrollbar rounding
- de01bf7 FullscreenUI: Remember the last-opened achievement subset
- 6070bff dep/rcheevos: Bump to 9aa1352
- 6e5291d Qt: Update English plural strings
- 43074cf FullscreenUI: Slightly improve achievement notifications
- e9767ba FullscreenUI: Tweak achievement notification animation
- 0e0e82d ImGuiManager: Apply same change to OSD messages
- bde06fe Settings: Disable wireframe+downsample in Safe Mode
- d1f2b80 Data: Update game controller database
- dbd8288 Common: Fix implicit conversions in ARM vector wrapper
- 95a1961 Build: Fix RC version field
v0.1-10339
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
- 0172f22 GPU/HW: Draw small fill sprites with software if TC is enabled
- 42c26cf Qt: Use ShowOrRaiseWindow() for main window
- 84aa425 Qt: Move lock in ConfirmMessageAsync()
- 60dbc5a Qt: Remove unused block_until_done parameter
- b42f26f SDLInputSource: Log the joystick GUID as well (#3653)
- e92fb99 Qt: Update padtest URL
- b4b05ed README: Remove non-functional link
- 9a8d9d7 Hotkeys: Fix rotation hotkeys not having any effect
- 941b62e FullscreenUI: Slight tweak to font weights
- 241f720 FullscreenUI: Avoid png/svg name clash for disc icon
- 760b7b4 CI: Revert hardcoded Mac cache key
- 5650880 Deps: Set QT_PREFIX_PATH for Qt on Linux
- 801114f Deps: Bump SDL3 to 3.2.28
- 1d28a4b Deps: Disable GTK when building Qt
- 27802bf Deps: Set PKG_CONFIG_PATH when building
- 0eaf1dd GameDB: Add various fixes for some games (#3654)
- 9b31d8b GameDB: Adjust cropping in a number of titles (part 2) (#3656)
v0.1-10193
Commits
- 2bf14f8 Qt: Don't copy QtConcurrent DLL
- b14c17b Qt: Set attributes on popup menus
- c025da4 Qt: Invoke popup menus asynchronously
- c5f60c1 Qt: Don't display two popup messages on card open failure
- c8ef05a Qt: Fix non-native message boxes in Dark Fusion on MacOS
- b4f9bc7 InputManager: Remove setting of unused config variable
- e3a044a Log: Move FastWrite() into macro
- 4850471 Qt: Remove a few more instances of QDialog::exec() (#3623)
- d45f630 Qt: Further tidy up for 4850471
- 87847ed Qt: Fix crash when changing toolbar icons
- 6c3c02f Qt: Use bundled fixed-width font where appropriate
- 23d45a3 Data: Swap Roboto Mono for JetBrains Mono
- 8ce216e Qt: Improve readability of changed bytes in memory view
- 6720846 ImGuiOverlays: Tidy up font weight in OSD
- 75aee64 Qt: Set appropriate window icons for subwindows
- b338509 Qt: Provide a central point for getting the app logo
- c396f0a Qt: Set game icon as window icon in Game Properties
- 5a26f38 Qt: Add icons to tools menu actions
- 085c02d Qt: Add more actions to toolbar (hidden by default)
- f5bd7c1 Qt: Don't include calling function name in Qt logs
- 1e57a5b Qt: Make the memory card modified state more obvious
- 63b99a6 Qt: Use theme icons in Memory Card Editor
- f6976c4 Qt: Remove unused function
- a293792 Qt: Remove a bunch of old/unused resources
- 4d9f318 Qt: Use icon theme enum for sort icons
- d5037f1 Qt: Remove setDesktopFileName() icon workaround
- 483f9ba Qt: Allow overriding cover placeholder image
- e4d9bed Qt: Get rid of the last few QMenu::exec() (#3628)
- 16e56d7 Qt: Use icon text instead of duplicate actions
- acadbff Achievements: Allow overriding host through config
- 8f5a1fd Updater: Replace incorrect ANSI Win32 calls
- 65ddf1a Updater: Make high DPI aware
- bda75db Updater: Compute window size dynamically
- 942422b Updater: Set application icon
- 4a5e172 Updater: Close button should be disabled
- bea07e7 Updater: Set default title
- b949c17 Qt: Improve text elision in InputBindingWidget (#3629)
- c8a2f93 Update the Simplified-Chinese Translation. (#3630)
- 542a2cf Atualização Português do Brasil (#3631)
- e7862b9 Qt: Prefer eliding source over the middle of the binding
- b9571a2 GameDatabase: Add DisableAllBordersCrop trait
- defbe70 GameDB: Set DisableAllBordersCrop for Alundra 2
- aecdfd5 GPU: Align the memory allocation rather than the class
- 012c7de GPU/HW: Slightly rearrange data fields
- 938a0e5 GPU/HW: Add field for software renderer drawing
- a8967b2 Settings: Shouldn't be accessing the global object
- 654587e System: Add 'Low VRAM' rewind mode
- 857a767 Qt: Fix QAction memory leak on shutdown
- e9966cf Qt: Fix QEventLoop leak on shutdown
- b4900c9 dep/imgui: Fix memory leak in imgui_freetype
- 704cdef Deps: Bump to Qt 6.10.1
- 9556334 Deps: Revert Qt window-modal dialog disabling on Tahoe
- f7e6c20 CMake: Bump Qt version requirement
- b79d69b Update Russian translation (#3634)
- 5b56399 CI: Update GitHub actions
- 30a0b94 CI: Download all artifacts into the same directory
- 6146d33 Qt: Fix game list background on MacOS
- 7829d43 Qt: Add proper alert titles in a couple of areas
- 573734e Qt: Swap form for grid layouts in setup wizard
- 783e767 Qt: Swap remaining form layouts for grid
- 3a43f59 Update the Simplified-Chinese Translation. (#3635)
- 1f7a44c Qt: Remove a couple of left-over spacer size hints
- 86bf551 Qt: Warn when executable has been renamed
v0.1-10130
Commits
- 26323f4 GPU/HW: Fix incorrect clamp UV state on setting change
- 361bcde FullscreenUI: Fix loading screen progress going negative
- bdeeece GPU/HW: Clamp after round with round upscaling fix
- 127cc70 GameDB: Enable PGXP-CPU for Tekken 3
- a1a763c GameDB: Set tolerance for Tekken 3
- 639aa3c ImGuiOverlays: Fix inconsistent font weight
- cb609fc ImGuiOverlays: Polish frame time graph
- 013cce5 Qt: Return size hint for covers
- 475b69b Qt: Save/restore painter state in achievements delegate
- 0b28657 Qt, FullscreenUI, PostProcessing: Add shader enable/disable toggle. (#3621)
- c06e4fe Atualização Português do Brasil (#3624)
- a9b9e89 PostProcessing: Rename Enabled -> StageEnabled
- 3a1e8fe PostProcessing: Load shaders even if disabled
- fc97cf5 PostProcessing/slang: Flip textures if using OpenGL
- a301066 Qt: Use QSizeF for device scaled sizes
- fa965cf Qt: Use delegate for drawing covers
- cad8b43 PostProcessing: Fix starting with all stages disabled
- 6581e8e PostProcessing: Fix unscaled input sizes if first stage disabled
- 29d5598 PostProcessing: Fix slang+overlay+odd shader count combination
- a742164 GameDB: Increase cdromMaxReadSpeedupCycles for Discworld Noir (#3625)
- 66c924e GameDB: Max speedup cycles for Bugs Bunny - Lost in Time & Bugs Bunny and Taz - Time Busters (#3626)
- e2cd5e7 GameDB: Max speedup cycles for Street Fighter Alpha 2 & 3 and Super Puzzle Fighter II (#3627)
- 34484d4 CDImageDevice: Fix compiling in Unicode mode
- fa793ce Updater: Fix compiling in Unicode mode
- 65be533 Build: Use C17 for MSBuild
- c953480 Build: Use Unicode as default MSBuild character set
- d532acb Build: Use VS2026 build tools
- 7e7e51d D3D12Device: Remove unused class member
- df54719 README: Bump VS version requirement to 2026
- ef2086b Qt: Silence new warning from VS2026
- d1f26ee Qt: Fix a bunch of implicit conversion warnings
- 35e3d9a Qt: Get window sizes from OS instead of scaling Qt size
- 3099f5f Qt: Fix game grid selection rect bottom/right edges
- 4c56f06 Qt: Style check boxes in Darker Fusion
- 0edf71b GPU: Fix 480i resolution display with force progressive
- 982035f GPU: Remove implicit bool conversion
- 754591f StringUtil: Add GetUTF8CharacterCount()
- b9b1b13 Qt: QtConcurrent is no longer needed
- 3d6627c Qt: Speed up interface page creation
v0.1-10091
Commits
- e7f4034 FileSystem: Add LockedFile helper class
- 84806d3 GameList: Use LockedFile class
- ac4634c Add StringPool and BumpStringPool classes
- a035c48 GameList: Fall back to achievement badges for game icons
- 3d2c3c9 GameList: Avoid a couple of heap allocations
- 89e3ba2 Qt: Fix warning
- 2b3c7e0 Qt: Initialize COM before Qt
- 2ff9c67 Qt: Replace table widget in Game List Settings
- 70185cb Update Russian translation (#3587)
- e96a85d Atualização Português do Brasil (#3588)
- bd6e747 GameDB: Fix serials for Black-Matrix +
- 2a0fe0a GameDB: Add disc set for GT2 US
- 41b8f2b CI: Remove Flatpak builds
- a49d0b6 PostProcessing/GLSL: Skip recompile on target size change
- 8520e3f System: Work around lupdate bug causing hang
- f2291ea Deps: Build Qt Declarative/ShaderTools
- 33a3427 Deps: Remove build directory after each library
- 7deb374 Deps: Hopefully work around path length limits
- bae05a7 SDLInputSource: Change default for WGI to off
- 5653f8d ImGuiManager: Don't let non-imgui keys through
- 2c03fb9 ImGuiManager: Use static key map
- 1fbf083 FullscreenUI: Move ImGuiFullscreen to core
- 836fd9b FullscreenUI: Make file naming consistent
- fab4b05 FullscreenUI: Remove ImGuiFullscreen namespace
- e36ea9e FullscreenUI: Remove more redundancy
- 9cbcf78 FullscreenUI: Move transition handling to widgets file
- 8c25144 FullscreenUI: Always initialize widgets
- 983cde3 FullscreenUI: Make notifications/toasts thread-safe
- b1cd562 System: Don't add to the pause timer when we're already paused
- 2bc387f FullscreenUI: Fix returning to window that was open
- ba28a3f Achievements: Cache user badge path
- dc7a7ed FullscreenUI: Split settings into its own file
- cc2ee00 FullscreenUI: Split game list into its own file
- f4f8aa5 FullscreenUI: Defer more resource loads
- 10a7d8a FullscreenUI: More scope clean up
- bed758a FullscreenUI: Move translation strings to own file
- 32aa86a FullscreenUI: Move achievements to its own file
- 45d3c66 FullscreenUI: Simplify game properties state
- 476c1c5 FullscreenUI: Make OpenOrUpdateLoadingScreen() thread safe
- 9ca1c97 Mini: Compile fix
- f2dd91c RegTest: Compile fix
- a52020b DMA: Reduce linked list header read time
- aa980a4 GPU: Don't save settings to save state
- 9977e1d FullscreenUI: Disable rewind options when runahead is enabled (#3589)
- b4a868c Update the Simple-Chinese Translation to latest. (#3591)
- 7517813 Settings: Remove CD speedup above 6x
- cab6669 DMA: Speed up RAM write with CDROM speedup
- 93b4c34 FullscreenUI: Fix missing logo on landing page
- 3d6c042 FullscreenUI: Fix missing lock for settings read
- 9fa8b17 FullscreenUI: Fix a couple of missing strings
- e48649b FullscreenUI: Remove unused variable
- 0776e2f Qt: Clear style sheet before applying theme
- 2fb3773 Qt: NativeThemeStylesheetNeedsUpdate() should not apply to Fusion
- d9e363f Qt: Add message box helpers
- db7598f Qt: Use message box wrapper functions
- 8775ca0 Qt: Convert more message boxes to window modal
- 6432ac1 Qt: Fix non-rounded buttons in achievement login
- 326a6e3 CMake: Fix scmversion.cpp always updating on Mac
- 7414ed9 Update the Simplified-Chinese Translation. (#3592)
- eb23999 Atualização Português do Brasil (#3593)
- b237604 GPUDevice: Don't log warning for WARP driver
- 5818a05 Achievements: Add point count to unlock popup
- 5a7094b Achievements: Use consistent icon style in list
- de08a2f CMake: Only remap source path in Release builds
- a44c846 CMake: Fix Xcode project debugging
- 0fec148 GPU/HW: Add missing padding to UBOs
- eefcd90 GPU/HW: Avoid some redundant calls in Metal
- 24ae4a5 FullscreenUI: Fix uniform push before pipeline set
- b858fe5 GPUDevice: Display OSD message if debug settings are enabled
- 2c2fb1d D3D12Device: Fix incorrect StencilBeginningAccess/StencilEndingAccess
- cff3ece VulkanDevice: Fix incorrect struct type
- 05701fe GPUDevice: Make dyn libs public
- fcde8c7 dep/reshadefx: Cherry-pick upstream 74e95dd
- a038c88 dep/reshadefx: Work around inability to discard in function in DXC
- d82ae47 CI: Bump minimum macOS version to 13.0
- e89ab83 Qt: Misc code cleanups
- 49762aa Qt: Fix column width estimation in game list
- 59d0f3c Qt: Fix game icon size and row height in game list
- 458ad13 Qt: Take header width into account for all columns
- 94cfc9b Update the Simplified-Chinese Translation. (#3594)
- efa6e4a Common: Use NSAlert for assertion failures/panics
- c5d9358 GameDatabase: Add DisableFastForwardMemoryCardAccess trait
- 1999b0d GameDB: Set DisableFastForwardMemoryCardAccess for Twisted Metal 4
- f6cdf95 Qt: Fix positioning of game list achievements icon
- cd8d6d8 Qt: Remove game icon extra size
- d542344 Qt: Don't need these functions defined in the header
- b8764e8 Qt: Add exit specific message for confirmation dialog
- 88802e0 GameList: Fix achievement game ID not set for disc sets
- 8c08788 Qt: Normalize shut down labels
- 7bba98a Update the Simplified-Chinese Translation. (#3596)
- 5f6b690 Atualização Português do Brasil (#3597)
- d0bbf8c GameDB: Set DisableFastForwardMemoryCardAccess for Tales of Destiny
- 5a49db0 Qt: Reflect DisableFastForwardMemoryCardAccess trait in the settings UI
- 97db72c Achievements: Fix display of game completion time (#3599)
- bfc6da2 GameDB: Disable disc speedup on MDEC for Warcraft II (#3600)
- a929aaf Update Russian translation (#3601)
- b797aae GPU: Fix a couple instances of reading wrong thread settings
- 0841ab4 Qt: Fix disc swap from game list incorrectly pausing
- c33354e Qt: Don't hold game list lock on popup
- dc5b57a Qt: Missed a couple of shutdown -> close messages
- b483d2f ImGuiManager: Add title variants for OSD messages
- 529da22 System: Use new OSD message variants
- 0d4ffde Qt: Allow command line boot of device path
- 2222085 Qt: Fix recommended value for "Challenge Indicators" (#3603)
- 3e6dd9b System: Simplify and polish more OSD messages
- 899d500 GPU: Fix compile warning
- 5de231c System: Fix regtest build
- 863b9b1 Qt: Minor layout fixes in analog controller binding widget (#3604)
- 683ccbf GPUDevice: Swap ImGui rendering to use UBO
- 6848f07 GPUDevice: Combine draw and push constant functions
- 916b23f GPUDevice: Use separate buffer for push constants
- 47c8204 GPUDevice: Add MultiTextureAndUBOAndPushConstants pipeline layout
- b43111f GPUDevice: Remap input attributes when transpiling to HLSL
- 4729e22 GPUDevice: Handle non-contiguous texture bindings in SPV transpiling
- 08317d9 GPUDevice: Set fixed names for UBO/push constants in SPV transpiling
- 9a5eadd GPUDevice: Add SRGBA8 texture format
- af5c3fa GPUDevice: Fix mipmap generation on targets
- d06f306 GPUDevice: Ensure clear is committed in MakeReadyForSampling()
- eb0a889 MetalDevice: Fix creating mipmapped textures with generate flag
- fc618b8 SPIRVModule: Add class for iterating/manipulating SPIR-V
- 81fb801 PostProcessing: Support unscaled input
- 8a732de PostProcessing: Support loading slang shaders/presets
- 77b1abf MemoryCard: Fix off-by-one reporting in card number
- 9a5e0c9 ShaderGen: Fix ImGui rendering with Vulkan
- 5da178e Update the Simplified-Chinese Translation. (#3605)
- 4ec6752 GPUPresenter: Handle padding for unscaled/slang input
- b04b87a PostProcessing: Use titled OSD messages
- 042bc79 ImGuiManager: Use different OSD title/text colours
- 5ca3536 CPU/Recompiler: Set up frame pointer on Windows ARM64
- 49a1446 Common: Fix SSE2 build
- 85275a1 Qt: Add missing help text in Interface Settings
- b0689d5 FullscreenUI: Move loading screen progress callback into namespace
- b4d71cb Qt: Save position of settings windows
- 70352b6 Qt: Center windows when they don't have saved positions
- f5fc247 Qt: Resolve command line paths before autobooting
- 520502d FileSystem: Fix RealPath() with relative paths
- e91db67 Qt: Reload icons and tooltips when game list rows change (#3609)
- a1889a2 Qt: Add standard shortcut to open settings (#3608)
- 0c7e8f3 Qt: Fix overlapping widgets in cheat settings (#3607)
- a5e2051 Update the Simplified-Chinese Translation. (#3606)
- 2a35096 FullscreenUI: Fix misdetection of some light themes
- cebb134 FullscreenUI: Fix button-held colour in menus
- de2e89e Settings: Ensure slang shaders subdirectory is created
- a8e922c Qt: Improve Darker Fusion style
- 7080e98 PostProcessing/slang: Don't balk at duplicate option names
- a88cfbe PostProcessing/slang: Raise error if too many textures are bound
- d6f4fc7 PostProcessing: Ensure input buffer matches present format
- 14481af Qt: Bring toolbar checked background closer to combo background
- d58f2d0 Qt: Make auto/clear bindings buttons QPushButtons
- a22d3a7 Qt: Style more widgets in Darker Fusion
- f9cab70 INISettingsInterface: Use case sensitive storage
- dd0c7ec GPU: Insert null field buffer if display disabled
- 8b217b5 GPU: Fix OSD reporting of non-interleaved interlaced resolution
- df4d04c Qt: Style patches widget on Mac
- d598470 Scripts: Remove Flatpak manifest
- 42cf66c FullscreenUI: Fix achievement points placement with short description
- 3d39fe2 GPU: Don't crash if first frame is interlaced+black
- 15d70ff GameDB: Max speedup cycles for Discworld and Discworld Noir (#3611)
- 51726e3 Atualização Português do Brasil (#3612)
- fbc9991 PostProcessing/Slang: Remap and skip binding unused textures
- dca565a GameDB: Adjust crop area for Gran Turismo 2 (#3613)
- 28b9111 Deps: Bump MacOS deployment target to 13.0
- 9ed5254 Deps: Patch Linguist to build without Qt Quick
- d797ca4 Deps: Don't build qtdeclarative
- 8302a6b Deps: Remove unused CMake argument
- 082ba2...
v0.1-9903
Commits
- 7df21b2 Deps: Bump cpuinfo version
- 86f36ad Deps: Remap paths in libbacktrace
- 7e4f0ce Deps: Update to FreeType 2.14.1
- 29aa0fa Deps: Update Harfbuzz to 11.5.0
- 2624914 Deps: Patch libpng for apng support
- f2cee19 HeapArray: Add size_bytes()
- bcc066a Image: Fix a couple of random bugs
- 8f78f83 Image: Don't use png_read_image()
- 9d14a4a Tests: Add tests for Image class
- 102af48 AnimatedImage: Add class for reading APNGs
- 8e65beb GameList: Save APNGs for memory card icons
- ea11ce2 Tests: Add for CueParser and ElfFile
- d4c6905 Tests: Linux build fix
- 5caa560 FileSystem: Disallow control characters on Linux/Mac as well
- 93a13a6 FullscreenUI: Draw generated covers when not present
- 4ee8738 FullscreenUI: Stop icons leaking into cover cache
- ecf13de Qt: Add Memory Editor window
- da47112 Qt: Link memory scanner address double-click to editor
- b40ff8b Qt: Add optional animation of icons in game list
- a904544 Update the Simple-Chinese translation to latest. (#3577)
- bb9dbf9 Qt: Avoid casts on animation delegate
- 50c9f63 Qt: Hackfix game list background on stylesheet themes
- daf5fee Qt: Don't bother using worker for background resize
- ea57a42 Qt: Don't use static storage for app icon
- 3832b39 Qt: Fix disabling patches not removing empty ini
- 6c1ee0c Settings: Store custom aspect ratios in main key
- c5d309f Settings: Avoid log.h include
- fb60691 Cheats: Pack state in struct
- fa8a995 Cheats: Fix uninitialized data read in parsing
- eadca6c Settings: Prefer widescreen patches over GTE hack
- 0a25dd0 Atualização Português do Brasil (#3578)
- 3fada38 Update the Simple-Chinese Translation to latest. (#3579)
- 3d41156 Achievements: Fix unused variable warning
- a50997a Qt: Fix app icon ending up as null
- 38bb240 Qt: Avoid extra string storage
- 5c9e28f Updated Swedish translation (#3580)
- 9807948 Qt: Remove old vsync mode migration function
- 975b9b1 AnalogController: Fix inverted motor display in OSD
- e5c1788 Qt: Fix vibration binding not applying immediately
- c790972 System: Warn if geometry tolerance is not default
- 51942df Use DualSense Mic Mute LED for Analog Mode (#3574)
- ffa0e8d Qt: Refactor LED bindings
- cf8b1a5 Qt: Re-introduce FlowLayout
- 982753d Qt: Allow binding both active and inactive LED colours
- a048e09 Qt: Make LED settings clearer
- 6cb727f GameDB: Disable auto analog in Alien Resurrection
- 21c8344 Misc: Add error checking to LocalTime()
- 570f041 Deps: Bump to Qt 6.9.3
- 2adf7a1 CI: Bump MacOS runner to macos-15 + Xcode 26
- 3624474 Controller: Remove unused InAnalogMode()
- f0c67e9 Controller: Remove GetInputOverlayIconColor()
- 9d8d81d InputManager: Only update vibration once per frame
- 1b49f82 Controller: Merge all binds into one index space
- 424f9a9 Controller: Simplify deadzone calculation
- 10f9039 Controller: Skip runahead replay when analog is unchanged
- 3966a9e System: Serialize PGXP state for runahead
- 95e9cba Update the Simple-Chinese Translation to latest. (#3581)
- cf0b602 Settings: Rearrange fields
- e6788b3 System: Add 'Runahead for Analog Input' option
- 22399c2 FullscreenUI: Fix localization of 'None' background
- f57eeb3 CI: Simplify Windows/Linux workflows
- 1665cb6 InputManager: Refactor and simplify vibration mapping
- f219c2c AnalogController: Fix sync/readback value for vibration
- 78db5ad Qt: Fix flicker when changing cover size
- 7b991de Qt: Bump currently-visible covers to front on scale change
- 9cc29fb Qt: Use QSize throughout GameListWidget
- 4e797f3 CI: Remove redundant prefix on AppImage cross job
- e373be9 CMake: Bump required dependency versions
- 24a3dcb InputManager: Sync effect state on connection
- 848833b CI: Fix Windows build symbol upload
- 3a80673 Qt: Fix cover title being clipped
- 1b7e429 Update the Simplified Chinese Translation to latest. (#3582)
- 733df6a Qt: Show screenshot in resume game popup
- 39eb2c5 Qt: Don't include git hash in window title
- 7575050 Controller: Don't indirectly include settings.h
- 267b74c Atualização Português do Brasil (#3583)
- dbf2849 Misc: Move SettingInfo declaration to input_types.h
- 9876196 Cheats: Remove unnecessary std::move()
- 5afa6b2 Controller: Remove unused helper function
- 76facb3 FullscreenUI: Fix default value for theme
- 97c49a9 CDImageDevice: Use g_settings for ignore host subcode
- 4f0d35c VulkanDevice: Make current command buffer lookup consistent
- c039a94 Updated Swedish translation (#3584)
- 5508581 Update the Simplified Chinese Translation. (#3585)
- 00a2f5a FullscreenUI: Fix crash opening settings
- cd37cd7 Deps: Update to Qt 6.10.0
- 05a5828 CPU/PGXP: Handle SXYP mirror reads
- 8bce5b0 CPU/PGXP: Make register writes more readable
- 27d2679 CPU/GTE: Remove unnecessary struct padding
- 4d516c5 dep/rcheevos: Bump external client image URL buffer size
- 29d73cb GameDB: Remove PGXP vertex cache from Touge Max G
- 330eb05 Scripts: Hopefully fix AppImage build
- 50a9f04 dep/rcheevos: Bump to 6755915
- 3552a5b Qt: Fix rare bug where covers get stuck in loading state
- 505753d Deps: Update to FFmpeg 8.0
- 4587c45 MediaCapture: Improve FFmpeg load error message
- a1c1774 CI: Fix AppImage build (again)
- f0f7475 FullscreenUI: Modernize blocking loading dialog
- b5e1087 Qt: Fix submenu accessibility on MacOS
- e0e245d Qt: Swap most out-of-toolbar QToolButtons to QPushButtons
- a654ce6 Qt: Style QMenu and QToolButton with stylesheet on MacOS
- 00042a5 Qt: Default to native theme on MacOS
- adbfe7f Qt: Display hash in game properties summary
- f8c720a Qt: Tab should change focus in edit cheat dialog
- 08556f3 Qt: Normalize line endings in cheat edit dialog
- bfcd3d4 Cheats: Strip whitespace on code body when editing
- 286f9dd Qt: Validate cheats before saving edits
- c4c6357 Qt: Improve column width behaviour in cheat list
- ec96dd7 Qt: Don't use hash cheat list when PPFs exist
- 90e6078 Cheats: Show OSD warning when parsing fails
- c117059 GPU/HW: Fix crash when preloading texture replacements
- 8ed329f Qt: Fix serial mismatch error when verifying
- a08996d Spanish (Spain) 2025/10/12 translation update (#3586)
- 114c263 Qt: Fix initial button state in memory card editor
- 3c632c8 Qt: Fix hang on theme change on MacOS
- 8f0c9dd Qt: Fix disabled menu items in MacOS native theme
v0.1-9787
Commits
- aee897e Qt: Disable UI of settings forced via gamedb, part two (#3561)
- d367e7e Qt: Alternating row colors for Hotkeys settings (#3559)
- 022d9f3 Qt: Pass game list entry to settings window
- c4ac3d1 Qt: Improve padding in hotkey rows
- c9156fd Qt: Pack host local state in struct
- 17aa588 Qt: Add shadow to placeholder cover text
- e214241 Qt: Use Roboto for cover placeholder text
- aca4e6b Qt: Use Roboto for cover captions too
- 7bf3b79 Qt: Fix hotkey alt row colours on Mac
- 96c90a4 Qt: Use colorScheme() for dark mode detection on system themes
- 5c7b976 Updated Swedish translation (#3562)
- 2459ac7 Achievements: Fix crash on unknown game
- a8bbd2c CrashHandler: Catch exceptions and std::terminate
- 1cdde2c Path: Add IsFileNameValid()
- f453508 GameList: Don't balk on cover titles that end in dot
- f0ff520 GameList: Improve custom title cover handling
- 65f6209 GameDB: Various fixes for Einhänder
- 9ae09a7 GameDB: Disable widescreen and enable PGXPPreserveProjFP for Evil Dead
- d694bc2 GameDB: Various fixes for Mega Man games
- 66d6e28 GameDB: PGXP CPU mode for Tony Hawk's Pro Skater
- b95f2b1 Atualização Português do Brasil (#3564)
- c6666a3 Qt: Show tooltip when adjusting icon/cover scale (#3563)
- edeaae6 dep/rcheevos: Bump to 4570cb7
- d8912cb System: Allow RVO in GetExecutableNameForImage()
- fe09b5d ISOReader: Allow zero-length root directory entries
- 56665d6 Achievements: Simplify hash-to-string routine
- 8f247c9 Qt: Move zoom logic entirely to game list widget
- 78bc53f Qt: Stop slider tooltip showing on keyboard shortcut
- e0a51e1 CI/Flatpak: Replace with a wrapped AppImage
- 84c6be7 Deps: Simplify Linux build scripts
- 6126209 CMake: Remove Flatpak specific commands
- ee9f321 dep/rcheevos: Remove files deleted upstream
- 456d341 Enable/Disable View menu items according to state
- 1f07bfc Added "View > Sort By" menu
- df49eba Added icons and mnemonics in View menu
- 17a1b23 Keep Game List/Grid view options enabled if rendering to separate window
- a9c36f3 Use
statusTipinstead oftoolTipfor menus - cdcfbea Updated Swedish translation (#3566)
- a790f52 Qt: Don't try to replace AppImage when running as Flatpak
- e038a1d Qt: Fix some size values truncated in game list
- 4d5b047 Qt: Don't show fractional sizes in game list
- 9877cc0 Qt: Move list background config logic to GameListWidget
- f39a067 Qt: Add tooltips to menu actions
- 3554467 Qt: Set status tip for actions to tooltips
- 08d5448 Qt: Disable capture frame option if not running
- ae570b0 Qt: Remove multiple source of truth for column titles
- 7807a68 Misc: Fix a couple of code analysis warnings
- cb7c33c Qt: Synchronize horizontal header with sort actions
- 640769c System: Remove unnecessary c_str()
- aa92937 Host: Pack locals in struct
- ae77a82 Common: Add helper for thread-safe localtime()
- 2346f67 dep/fmt: Update to v11.2.0
- 328c93b FullscreenUI: Fix OOB on start+load state
- 5778630 Qt: Replace named slot usage with functors
- 339f425 Qt: Remove named slot declarations
- 31c75a2 Qt: Remove Q_OBJECT where unnecessary
- 9e3dda6 Qt: Remove unused variables
- 66bef3e Achievements: Allow background reads
- 0088bb0 Qt: Make titlebar match current UI theme (Light/Dark) (#3568)
- ff23462 dep/rcheevos: Bump to fae1e23
- 8a431b7 GameDB: Disable PGXP on 2D polygons in Wipeout games
- bb50fc9 CDROM: Improve subchannel file detection
- 9a1a8c2 Qt: Allow transparent padding for covers
- eeb1555 Qt: Fix tooltip typo
- e138030 Updated Swedish translation (#3569)
- 4bf2aa5 Update the Simple-Chinese translation. (#3570)
- 1e41408 Atualização Português do Brasil (#3571)
- ceb6757 Qt: Work around broken dialogs in MacOS 26
- a39d370 Qt: Don't show main window when changing setup wizard options
- 2369b32 Qt: Partially revert "Remove Q_OBJECT where unnecessary"
- 05af0c1 FullscreenUI: Fix title display in game properties
- ea3c8a3 Qt: Add a theme changed event and use it for hotkey rows
- 3724a38 Qt: Remove MainWindow::updateTheme()
- 6caf2d5 Qt: Resize fixed columns on theme change
- 4c81a98 Qt: Fix detection of system language (#3573)
- a13aa8f Adicionada uma atualização da tradução para português europeu
- 073335c Qt: Don't break size of larger game icons
- 1ac7fc2 SaveStateSelectorUI: Scale save state selector to LayoutScale
- 83d518c Qt: Fix about dialog link colour
- 749ce48 Qt: Theme colours can be constexpr
- 1a4ca3b Qt: Add 'Darker Fusion' theme
- e3c4f77 Qt: Fix tab order in settings pages
- f1fe00c Data: Update SDL game controller database
- 5e253d0 Qt: Add toggle button class
- a90184a CDROM: Tidy up warnings
- fb318ca Qt: Fix toggle button not updating
- 95bcff8 Qt: Darker Fusion tweaks
- 0d3c775 Qt: Fix Cheats menu shortcut
- bb63bf9 Qt: Remove multiple sources of truth for dark theme
- e6c49f0 Qt: Fix uncentered toggle widget thumb
- 41a4f07 CI: Remove Flatpak verification steps
- 81f5b74 Qt: Add icon for multi-disc games
- c4069ee CMake: Avoid search path conflicts
- 5e32871 CI: Remove unneeded install on Mac
- 24bf2bc Qt: Default to darker fusion theme
- f1047af Qt: Make checked menu item visible in Darker Fusion
- 77bc1ae Qt: Fix incorrect size hint in FolderSettingsWidget
- 85c4e02 Qt: Remove redundant title update in Game Properties
- e877ae4 Qt: Fix display of uncompressed size
- 49b5ea3 DMA: Skip chopping on tiny blocks
- 109bbf6 GameDB: Recompiler ICache for Dotchi Mecha!
- e183ec3 CPU/Interpreter: Use aligned address for membps in lwl/lwr
- b106392 CPU/PGXP: Implement lwl/lwr/swl/swr
- 0de2aaf CPU/Interpreter: Memory read failures are unlikely
- 7de8481 System: Fix changing GPU thread state when inactive
- ba0390f System: Fix patch settings not clearing on game change
- 9baa09a InputManager: Use TinyString for key-to-string function
- 055caf5 Qt: Log input state when binding
- fcf6739 Qt: Require non-zero displacement for reverse axis binding
- 03cbfc2 CI: Auto-retry patch download
- 790ac23 GPU: Get present parameters before allocating command
- c2bbef0 System: Simplify memory card opening
- dc1882d System: Fix patch setting override desync on safe mode toggle
- 36ebaf8 Spanish (Spain) translation update 2025/09/22 (#3576)
- 598d393 System: Don't create any memory cards in PSF/GPU Dump mode
- 65d6ecc Qt: Don't use style hints as source of truth for dark mode
- 5b4cf75 Qt: Fix game list icon colours on theme change
- 94efd00 Qt: Add fallback if system colour scheme is unknown
v0.1-9669
Commits
- 54ab073 SDLInputSource: Add options for XBox HIDAPI/rawinput
- 5bdcde7 Qt: Expose advanced SDL options
- 33b3a6e InputSource: Support querying current values
- c0c0225 System: Synchronize input binding state on startup
- 327e9b5 XInputSource: Set initial state on connection
- 8597873 SDLInputSource: Fix DirectInput
- d9d3b6a GameDB: disable auto analog mode for Pepsiman (#3511)
- f340bdb CI: Bump actions/checkout to v5 (#3508)
- 13ce646 GameDB: Disable widescreen on
Alone in the Dark - The New Nightmare(#3509) - 962198f GameDB: Adjust crop area for
Final Fantasy IV(#3510) - 006de3a Qt: Don't manually populate combos for enums
- 7a359e5 GPU: Add separate scaling and FMV scaling options
- 95ccd7c FullscreenUI: Update translation strings
- 414ddf7 Achievements: Display warning for unsupported achievements
- edf9b53 GameDB: Disable PGXP and widescreen for Chrono Trigger
- f7c334b GameDB: Disable PGXP and widescreen on Lunar games
- 276211b GameDB: Disable auto analog mode on Echo Night (#3514)
- 1bc9f1e update the Simple-Chinese translation to latest. (#3515)
- 1743bfa Qt: Fix double translation in GameListWidget
- a8fdeb8 GameDB: Tighten DMA for Hot Wheels Turbo Racing
- 921190a Atualização Português do Brasil (#3517)
- d526818 GameDB: Disable auto analog mode on Shadow Tower (#3516)
- bcb6f98 Common: Eliminate more static functions in headers
- 4e39c30 GameDB: Rollcage Stage II
- 0fe6928 GameDB: disable auto analog for some shoot'em up games (#3518)
- f5d668f GameDB: Disable auto analog mode on Armored Core games (#3519)
- 4c349ff GameDB: Disable widescreen and speedup on MDEC for
Legend of Mana(#3520) - c7a4505 Qt: Check screen bounds when restoring window positions
- e00d696 GameDB: Disable auto analog mode on Backstreet Billiards (#3521)
- d302401 GameDB: Increase max speedup cycles for
Brave Fencer Musashi - 40383f5 GameDB: Increase max speedup cycles for
Breath of Fire III - ae99e8d GameDB: Disable widescreen on Suikoden
- 0ff6a5c GameDB: Add compatibility rating to a few games
- 28db2be GameDB: Disable auto analog on more games (#3523)
- c1e7182 Qt: Disable UI for fast boot & disc speedup if marked incompatible in the DB (#3525)
- 826eff3 GameDB: Set max speedup cycles to 70k for Resident Evil 3 too (#3524)
- 86006e3 System: Apply setting restrictions before gamedb
- 6e864a3 GameDatabase: Allow CPU overclock override
- c1d0cf3 GameDB: Titan Wars overrides
- 6e92604 GPUDevice: Move options to create flags
- 34e0eab CPU/Recompiler: Check downcount in interpret block
- 7de367f CPU/Recompiler: Remove unused function pointer
- 80fcd14 CPU/Recompiler/RISCV64: Replace lwu with lw in a couple of places
- 19f1700 GameDB: Max speedup cycles for Driver/Driver 2
- 645344b Animated icon in memcard editor (#3526)
- e907bbf Qt: Use a delegate to lazily resize/render icon pixmaps
- 686c4b8 Qt: Add custom code view for debugger
- da18a95 Qt: Sync debugger breakpoint list with main
- e551a96 Qt: Don't disable debugger code view while running
- 6bef5a4 OpenGLDevice: Disable PBOs on Panfrost driver
- fda28ea DMA: Decrease slice size when MDEC is active/decoding
- b67bf20 Mini: Fix missing format in FormatNumber()
- a1f81d9 InputManager: Pack state in struct
- 7d8e11d InputManager: Make macro button storage dynamic
- d4b85ef InputManager: Increase macros per pad
- 3b1dcde Qt: Force memory card editor icons to 32x32
- 8533ab7 Qt: Fix editing second memory card
- b3d6b37 GameDB: PGXP CPU mode for Azure Dreams
- 4e96fde GameDB: Disable disc speedup on MDEC for Diablo
- 24e4961 GameDB: Fix metadata for Darkstone
- fb56c99 GameDB: Disable widescreen in Fear Effect 2
- 2f39820 GameDB: PGXP CPU mode for Nightmare Creatures II
- bbd1508 CompressHelpers: Tidy up and add Deflate
- 1ef1a2d System: Add XZ save state compression
- dcb6730 Spanish (Spain) translation update 2025/08/25 (#3530)
- 7c398c4 GameDB: Turn PGXPPreserveProjFP off for Persona
- f0c0ca3 GameDB: Fix metadata for Nightmare Creatures I & II
- 2bd7fe8 Qt: Disable column sorting indicator and adjust labels in memcard editor (#3528)
- de39ff5 GPUDevice: Fix ROV support being disabled
- 63350c3 GPU/HW: Fix uninitialized pipeline fields
- eedf417 CMake: Add possible missing include directory
- e5fd12a Qt: Disable game widget while system is starting
- 87f2c54 FullscreenUI: Unify Prefer GLES option name
- a46e43f GameDB: Enable PGXPPreserveProjFP for
Ghost in the Shell(#3531) - c76a891 Update the Simple-Chinese Translation to latest. (#3533)
- f303d57 GameDB: Disable auto analog mode on several SMT games (#3532)
- b0a63f9 Qt: Sharp Bilinear scaling for memcard icons (#3536)
- 7f36401 Update duckstation-qt_it.ts (#3534)
- 2c28e45 Updater Application Icon Update (#3535)
- 835390f Cheats: Make message OSD key consistent
- f6fd1e9 Atualização Português do Brasil (#3538)
- 2182a0d Update the Simple-Chinese Translation to latest.
- 4738fce Updater: Fix pause until mouse move on Mac
- d13d3d8 Resources: Relocate PromptFont key glyphs to high range
- 1aa92c7 GameDB: Normalize multi-line strings
- a8b4bb3 GameDatabase: Add sort title, localized title, and save title fields
- 6e421b9 GameDB: Add unsuffixed display names
- d00b897 GameDB: Add sortName for games starting with 'The'
- 8bfc31a GameDatabase: Refactor disc sets
- 29327b3 GameDB: Add localized names
- 2ed8c02 Qt: Show English and localized names in tooltip
- 39fcbf7 GameDB: Add sort name to Crash/Final Fantasy games
- 970f2ed GameDB: Fix lint errors
- 17872fe Qt: Fix compile warning
- e35b49d GameDB: More instances of sort titles
- 2b519b1 GameDatabase: Check timestamp of discsets.yaml
- dec06fa GameDatabase: Use once_flag for thread-safe initialization
- 86333e9 System: Fix crash on starting non-database game
- d77c92d FullscreenUI: Fix incorrect disc set window title
- 92c0561 Update the Simple-Chinese translation to latest. (#3540)
- c1bb183 FullscreenUI: Fix selecting disc set entries in list/grid
- 7cd0d41 Settings: Fix portable mode for AppImages
- 0a271cd StringUtil: Fix CompareNoCase for prefixes
- 56e1713 GameList: Support scanning and caching relative paths
- b0dd909 Qt: Resizable game list icons (#3539)
- 6765b2f Qt: Delete some redundant code in GameListModel
- d499d8e Qt: Avoid a full reset when toggling show cover titles / localized titles
- abde6e4 Qt: Move scaling helper to cpp file
- 48ac353 Qt: Disable game list toolbar when no games found
- 5f8716a Qt: Simplify icon scaling
- f2f06a7 FullscreenUI: Fix game properties title
- e1c0753 Qt: Use path as tie breaker when sort titles equal
- 3cb275d Qt: Use grid layout in cheat code editor (#3543)
- b8952da Qt: Don't use memcard icon cache for window icon when scaled
- db2f563 dep/googletest: Update to v1.17.0
- faa7599 Tests: Add more unit tests for common classes
- e32e644 StringUtil: Fix logical errors
- d69935e Qt: Fix warning
- e89590b Qt: Avoid QPixmap -> QIcon conversion in getIconForGame()
- 44908fe Qt: Respond to DPR change in memory card editor
- e933716 GameDB: Add sort name to several more game series (#3544)
- 6a0249b Qt: Hide game list vertical header (#3545)
- 91f25b6 Controller: Add Start/Select bindings for the Pop'n Controller (#3546)
- 6dd78b1 MediaCapture: Fix default video codec on MacOS
- 126171f Qt: Fix memory card icons drawing on themselves
- 019636b Qt: Use DevicePixelRatioChange for DisplayWidget
- 0867dec Qt: Use widget-local device pixel ratio for game list
- ddaac7e GameList: Use save title for cover image lookup
- 4b472dd GameList: Improve grid size calculations
- fc29fba Qt: Don't try to load directory as background image
- 2215f41 GameDB: Restore "(Soviet)" suffix on disc 2 of some C&C games
- 2514814 GameDB: A few more sort names
- 6d2f3dc Qt: Fix zooming with mouse wheel in game list (#3549)
- fd9c3cd Update duckstation-qt_pt-BR.ts (#3548)
- d2a2a78 Update the Simple-Chinese Translation to latest. (#3547)
- 2d3ebc8 System: Fix safe mode details not showing
- 59542b0 Deps: Update Qt, SDL and zlib-ng
- a390797 Data: Add new PromptFont glyphs
- 25b44f4 Qt: Wire up new key glyphs
- 7c2585d Deps: Make Qt build options more consistent
- e02c991 Deps: Patch Qt fusion style
- e573f18 GameDB: Disable auto analog for Hellnight (#3551)
- 3d73c5c Qt: Fix possible cover loss during load
- 8327282 GameList: Fix covers for disc sets sometimes missing
- 76e386c CrashHandler: Debug break on abort() if debugger attached
- fb1bd1e FullscreenUI: Fix crash when toggling localized titles
- 08901c0 Qt: Fix scroll bar desyncing on icon size change
- c33131d InputManager: Use scancodes for key mapping
- d9dc507 InputManager: Map 'old' key names to new on load
- 78fa543 SmallString: Make constructors explicit
- 979e850 Qt: Include full binding text in tooltip
- 21bede8 ImGuiManager: Initialize to default text font order
- f7edbde Qt: Remove unused signal
- b5d5cfd GameList: Pack state in struct
- 393724a Qt: Save one lookup when loading covers
- 7e04671 GameList: Use fixed size for icon column
- 3ff6287 GameList: Use size_t for indexing
- 587e73d Sharper icon scaling (#3553)
- 5cd8444 Qt: Consider title when sizing icon column
- 14b2302 Qt: Fix compile warning
- 0aa8374 MSBuild: Don't merge qt_LANG.qm when qtbase_LANG.qm exists
- 26c4eec Qt: Fix another compiler warning
- da64db6 System: Don't print DATE/TIME
- 843234f MSBuild: Set /d1trimfile and /PDBALTPATH
- ca504bd CMake: Set -fmacro-prefix-map and -ffile-prefix-map
- 4c6375a Qt: Fix inconsistent cover caption size at startup
- 78d22b8 Qt: Swap point size for pixel size ...
v0.1-9483
Commits
- 3426bcd Deps: Update for July 2025
- 6c4300c CI/Flatpak: Simplify deps build
- 83d521f CMake: Drop Flatpak workarounds
- 47fe487 README: Add migration instructions for Flatpak->AppImage
- e82218f Qt: Fix changing language while game running
- 1c8699b Host: Add FormatNumber()
- 9b353f8 Misc: Use host locale formatting for dates
- f91ee34 Qt: Merge qttranslations.cpp with qthost.cpp
- ef320c6 Qt: Cache app locale object
- 7f5f903 Qt: Use application locale in most places
- c82351a Qt: Implement 'System Language' language option
- 96c2244 Qt: Use selected language locale for formatting
- 29e9270 FullscreenUI: Add option to hide grid view labels
- 4423714 FullscreenUI: Fix remaining fixed date/time formatting locations
- 2b18df0 MediaCapture: Don't crash if video codec supports 0 formats
- 634fac4 CrashHandler: Fix recursive backtrace on Linux
- 36718c6 CMake: Force debug symbols on Linux
- 0de3ffa Data: Update SDL game controller database
- 71591e8 Qt: Use localized date/time formatting in a few more places
- 70d6a2d Achievements: Revert back to long date format for unlock/submit time
- 351f67a CMake: Use -g1 for Release builds
- 5bfe5cf dep/imgui: Remap non-breaking space to space
- 300d158 FullscreenUI: Fix clock position in pause menu
- df65879 GPU: Fix typo
- 168b80d Qt: Add tooltips to game list
- fac47b1 Update the Simple-Chinese translation to latest. (#3495)
- 042930d FullscreenUI: Fix focus loss with grid/list button
- 188be7d Deps: Revert Harfbuzz to 11.2.1
- e821b13 GameDB: Tweak compat settings for Parasite Eve 2 (#3492)
- fbca692 GameDB: Set max speedup cycles to 70000 for Resident Evil 2 (#3496)
- f569448 System: Centralize pause checks
- acf7897 Qt: Create main window before starting EmuThread
- e5593c9 CI/Flatpak: Hopefully fix build cache
- ce53e29 Qt: Fix possible crash on shutdown
- 30df16c Scripts: Remove PKGBUILD
- 5ed7961 Qt: Refuse to start in known broken environments
- 690f843 Qt: Auto switch between any/changed values in memory scanner
- 3768940 Qt: Fix assertion on shutdown after resize
- a9ce005 Qt: Fix maximized state not saving to config
- fef553f Qt: Display 'First Value' in memory scanner
- c8dd999 GameDatabase: Remove redundant SetRymlCallbacks()
- 52d9f73 Misc: Replace a bunch of static qualifiers with inline
- 02a1ccb Qt: Persist memory scanner watch list across instances
- a27feda Qt: Various fixes to memory scanner UI
- 4644db0 GPU: Fix screenshot size in uncorrected mode
- b81dfa2 GPU: Simplify screenshot size calculation
- 6c9d339 PerformanceCounters: Align to 4 elements
- f464d42 AudioStream: Fix glitches when disabling fast-forwarding
- 9b4698d AudioStream: Back off resets that don't pass threshold over time
- d3f04dc AudioStream: SIMD averaging window calculation
- 143ae49 AudioStream: Use larger target size only when intentionally running slow
- be48e5c dep/imgui: Demo window should not enabled
- fe11c65 ImGuiOverlays: Fix save state selector out-of-order drawing
- 628e41f ImGuiManager: Don't render when skipping present
- 5c682d2 ImGuiOverlays: Frame time history is aligned
- e98871a Settings: Remove middle padding
- 501380e Achievements: Split up overlay setting
- a2222d8 Qt: Fix inability to exit with HC mode active
- d2caabd Qt: Fix exit on separate window close with FSUI active
- bc908aa GameDB: Adjust crop area for Silent Hill
- 2669b02 Qt: Remove obsolete comment
- a080228 Qt: Don't reset model for every scanned game
- 76fdbb0 Qt: Add tooltips for more fields in game list
- 73f326c Qt: Use header resize mode for game list column widths
- bb78331 Qt: Use header resize mode for memory scanner
- c6c8039 Qt: Use header resize mode for settings panels
- 93d6fc6 Qt: Use header resize mode for memory card editor
- 6700271 Qt: Use header resize mode for disc windows
- edd63df Qt: Remove now-unused resize column helpers
- ebbc1e9 Qt/Updater: Move Download Size indicator to the top (#3499)
- 5c48f85 GameDB: Fix cropping in Tomb Raider 4 & 5 (#3500)
- e380398 Achievements: Infer and display beaten/completed time
- aa2a0cd Data: Update SDL game controller database
- 5fc4fbc Qt: Improve display of version in updater
- 45a2257 CMake: Update version requirements
- 09e7855 Qt: Fix updater download size display
- 42dc5e4 CI: Fix PR builds failing
- 20e9b8d Qt: Fix buffer size help text (#3501)
- 1984d8c GameDB: Disable widescreen for
Arc the Lad II - 2f8460b GameDB: Disable disc speedup on MDEC for
Chrono Cross - 474d5dc GameDB: Delete obsolete comment
- 4e662f1 GameDB: Add compatibility rating to a couple of games
- a5c6138 GameDB: Disable disc speedup on MDEC for
Star Ocean - The Second Story - 7830a6d Deps: Bump to SDL3 3.2.20
- a84d583 CI: Missed one workflow
- b75be05 Achievements: Fix counting progression achievements (#3503)
- 9b99d99 Achievements: Fix display of game completion date
- d65c8a3 Achievements: Keep track of the earliest unlocked win condition (#3504)
- 2a2a011 FullscreenUI: Improve title padding of achievements
- c519d3c GameDB: Add analog joystick to supported games
- de2d6d1 Qt: More accurate game list column width estimation (#3505)
- 9576a3a Achievements: Fix "beaten" condition (#3506)
- cdd0086 Qt: Fix toggling read/write breakpoints
- fc129a9 GameDB: Alien Resurrection
- a2c015b GameDB: Disable WS/PGXP on 2D Final Fantasy games
- 47e8d90 GPU: Fix screenshot size when showing VRAM
- 0fc9de7 Qt: Fix crash toggling achievements in per-game settings
- 0a53bc4 Qt: Remove redundant layout from AchievementSettingsWidget
- 09a3c99 AudioStream: Fix crash with timestretch disabled