Commit Graph

8347 Commits (c4069eed02cf6191ca2a70cc78e9d9a718ecfa3b)

Author SHA1 Message Date
Stenzek 56e1713e27
GameList: Support scanning and caching relative paths 2 months ago
Stenzek 0a271cd7d5
StringUtil: Fix CompareNoCase for prefixes 2 months ago
Stenzek 7cd0d412eb
Settings: Fix portable mode for AppImages 2 months ago
Stenzek c1bb183caa
FullscreenUI: Fix selecting disc set entries in list/grid 2 months ago
zkdpower 92c056107c
Update the Simple-Chinese translation to latest. (#3540) 2 months ago
Stenzek d77c92de33
FullscreenUI: Fix incorrect disc set window title 2 months ago
Stenzek 86333e9977
System: Fix crash on starting non-database game 2 months ago
Stenzek dec06fa67d
GameDatabase: Use once_flag for thread-safe initialization 2 months ago
Stenzek 2b519b1a94
GameDatabase: Check timestamp of discsets.yaml 2 months ago
Stenzek 17872fec89
Qt: Fix compile warning 2 months ago
Stenzek 2ed8c024a3
Qt: Show English and localized names in tooltip 2 months ago
Stenzek 8bfc31a59c
GameDatabase: Refactor disc sets
Store the sets in a separate file, and use pointers to reference instead
of string matching. This allows us to use the unsuffixed display names.
2 months ago
Stenzek a8b4bb3fce
GameDatabase: Add sort title, localized title, and save title fields 2 months ago
Stenzek d13d3d89f9
Resources: Relocate PromptFont key glyphs to high range
Stops them clashing with full-width characters used in Japanese titles.
2 months ago
Stenzek 4738fceb43
Updater: Fix pause until mouse move on Mac 2 months ago
zkdpower 2182a0d84d
Update the Simple-Chinese Translation to latest. 2 months ago
Anderson Cardoso f6fd1e9822
Atualização Português do Brasil (#3538)
Atualizado para a última versão
2 months ago
Stenzek 835390fa99
Cheats: Make message OSD key consistent 2 months ago
GregoireLD 2c28e457bc
Updater Application Icon Update (#3535)
* Update Updater icons

* Small correction

* Shadow correction

* Box correction
2 months ago
AnthonyRyuki 7f36401145
Update duckstation-qt_it.ts (#3534) 2 months ago
Ariel Nogueira Kovaljski b0a63f95c9
Qt: Sharp Bilinear scaling for memcard icons (#3536) 2 months ago
zkdpower c76a8911d2
Update the Simple-Chinese Translation to latest. (#3533) 2 months ago
Stenzek 87f2c54ddd
FullscreenUI: Unify Prefer GLES option name 2 months ago
Stenzek e5fd12acb3
Qt: Disable game widget while system is starting 2 months ago
Stenzek eedf417f23
CMake: Add possible missing include directory 2 months ago
Stenzek 63350c3d83
GPU/HW: Fix uninitialized pipeline fields 2 months ago
Stenzek de39ff5e9b
GPUDevice: Fix ROV support being disabled
Regression from 6e926041e5
2 months ago
Ariel Nogueira Kovaljski 2bd7fe8786
Qt: Disable column sorting indicator and adjust labels in memcard editor (#3528) 2 months ago
Víctor "IlDucci dcb6730cd8
Spanish (Spain) translation update 2025/08/25 (#3530)
- Translated latest changes.
2 months ago
Stenzek 1ef1a2d3f4
System: Add XZ save state compression
For when space is really at a premium.

Also use CompressHelpers to reduce duplication.
2 months ago
Stenzek bbd150823c
CompressHelpers: Tidy up and add Deflate 2 months ago
Stenzek 8533ab7f21
Qt: Fix editing second memory card 2 months ago
Stenzek 3b1dcde36f
Qt: Force memory card editor icons to 32x32 2 months ago
Stenzek d4b85ef6f1
InputManager: Increase macros per pad
No overhead to doing so now.
2 months ago
Stenzek 7d8e11d3c0
InputManager: Make macro button storage dynamic 2 months ago
Stenzek a1f81d99a9
InputManager: Pack state in struct 2 months ago
Stenzek b67bf20335
Mini: Fix missing format in FormatNumber() 2 months ago
Stenzek fda28eaea0
DMA: Decrease slice size when MDEC is active/decoding
Prevents the FIFO getting too large, which causes too large chunks of
CPU time to be stolen and leads to games losing interrupts.

Strangely, this doesn't seem to affect performance in most games, except
the one that it fixes which has a 10-15% hit.

Fixes videos locking up in Cinema Eikaiwa Series Dai-1-dan - Tengoku ni
Ikenai Papa.

Also fixes hangs in Simple 1500 Series Vol. 57 - The Meiro.
2 months ago
Stenzek 6bef5a41aa
OpenGLDevice: Disable PBOs on Panfrost driver
On RK3588, it's almost twice as fast to not use PBOs with the
software renderer.

Prop driver is still about 20% faster.
2 months ago
Stenzek e551a96278
Qt: Don't disable debugger code view while running
Gets rid of the flicker.
2 months ago
Stenzek da18a9508b
Qt: Sync debugger breakpoint list with main
Simpler, less error prone.
2 months ago
Stenzek 686c4b81c1
Qt: Add custom code view for debugger
Branch arrows, syntax highlighting.
2 months ago
Stenzek e907bbf831
Qt: Use a delegate to lazily resize/render icon pixmaps 2 months ago
Ariel Nogueira Kovaljski 645344b8ff
Animated icon in memcard editor (#3526) 2 months ago
Stenzek 80fcd14a26
CPU/Recompiler/RISCV64: Replace lwu with lw in a couple of places
Consistency.
2 months ago
Stenzek 7de367fc2b
CPU/Recompiler: Remove unused function pointer 2 months ago
Stenzek 34e0eab9f1
CPU/Recompiler: Check downcount in interpret block
Fixes application locking up with CDS=Max in Driver.
2 months ago
Stenzek 6e926041e5
GPUDevice: Move options to create flags
And add prefer-GLES-context as a config setting, instead of
environment variable.
3 months ago
Stenzek 6e864a36ed
GameDatabase: Allow CPU overclock override 3 months ago
Stenzek 86006e3d0c
System: Apply setting restrictions before gamedb
Allows overriding of more options.
3 months ago
Davide Pesavento c1e71820d7
Qt: Disable UI for fast boot & disc speedup if marked incompatible in the DB (#3525) 3 months ago
Stenzek c7a4505ad8
Qt: Check screen bounds when restoring window positions
Ensure that the geometry is not off-screen.

It won't work on Wankland, and apparently doesn't support multiple monitors on X11.

So I'm just going to disable the whole thing on Linux, not just because my care
levels are practically non-existant, but also because I don't want to deal with
people moaning that their window manager's behavior is causing positions to
revert to the primary monitor. Just yolo it and hope for the best....
3 months ago
Stenzek bcb6f98cbd
Common: Eliminate more static functions in headers 3 months ago
Anderson Cardoso 921190ae1b
Atualização Português do Brasil (#3517)
Atualizado para a última versão.
3 months ago
Stenzek 1743bfa5fe
Qt: Fix double translation in GameListWidget 3 months ago
zkdpower 1bc9f1efe7
update the Simple-Chinese translation to latest. (#3515) 3 months ago
Stenzek 414ddf78cc
Achievements: Display warning for unsupported achievements 3 months ago
Stenzek 95ccd7cea2
FullscreenUI: Update translation strings 3 months ago
Stenzek 7a359e54be
GPU: Add separate scaling and FMV scaling options 3 months ago
Stenzek 006de3a6df
Qt: Don't manually populate combos for enums 3 months ago
Connor McLaughlin 8597873330
SDLInputSource: Fix DirectInput 3 months ago
Stenzek 327e9b5ce0
XInputSource: Set initial state on connection
Instead of after polling.
3 months ago
Stenzek c0c022591c
System: Synchronize input binding state on startup
This means that buttons which are pushed should register as pushed when
the system starts, rather than requiring them to be released and pressed
again.

Hopefully will allow passthrough of controllers that ground/press button
combinations to indicate the type of controller present.
3 months ago
Stenzek 33b3a6efda
InputSource: Support querying current values 3 months ago
Stenzek 5bdcde76ab
Qt: Expose advanced SDL options 3 months ago
Stenzek 54ab073f1a
SDLInputSource: Add options for XBox HIDAPI/rawinput 3 months ago
Stenzek 09a3c99c3b
AudioStream: Fix crash with timestretch disabled 3 months ago
Davide Pesavento 0a53bc47c3 Qt: Remove redundant layout from AchievementSettingsWidget 3 months ago
Davide Pesavento 0fc9de781f Qt: Fix crash toggling achievements in per-game settings 3 months ago
Stenzek 47e8d90e25
GPU: Fix screenshot size when showing VRAM 3 months ago
Stenzek cdd0086c54
Qt: Fix toggling read/write breakpoints 3 months ago
Davide Pesavento de2d6d1aa0
Qt: More accurate game list column width estimation (#3505)
Three main changes:
1. Use the pixel metrics of the style instead of hardcoded values.
2. Account for the potential sort indicator in the column header.
3. In the two "Size" columns, the largest numerical value does not
   necessarily result in the widest text string, so just use the
   value 8888.88 to estimate the width (we assume that 8 is the
   widest digit, which is true for many proportional fonts).
3 months ago
Stenzek 2a2a011854
FullscreenUI: Improve title padding of achievements
Need to redo this whole dialog's layout, but this'll do for now.
3 months ago
Stenzek 9b99d997f5
Achievements: Fix display of game completion date 3 months ago
KamFretoZ 20e9b8d271
Qt: Fix buffer size help text (#3501) 3 months ago
Stenzek 09e785555d
Qt: Fix updater download size display 3 months ago
Stenzek 5fc4fbcf36
Qt: Improve display of version in updater 3 months ago
Stenzek aa2a0cddb5
Data: Update SDL game controller database 3 months ago
Stenzek e38039873e
Achievements: Infer and display beaten/completed time 3 months ago
KamFretoZ ebbc1e98b6
Qt/Updater: Move Download Size indicator to the top (#3499) 3 months ago
Stenzek edd63dfd9c
Qt: Remove now-unused resize column helpers 3 months ago
Stenzek 670027107e
Qt: Use header resize mode for disc windows 3 months ago
Stenzek 93d6fc64da
Qt: Use header resize mode for memory card editor 3 months ago
Stenzek c6c8039211
Qt: Use header resize mode for settings panels 3 months ago
Stenzek bb7833168e
Qt: Use header resize mode for memory scanner 3 months ago
Stenzek 73f326cd75
Qt: Use header resize mode for game list column widths
Simpler code, no need for workarounds in showEvent() either.
3 months ago
Stenzek 76fdbb0b38
Qt: Add tooltips for more fields in game list 3 months ago
Stenzek a080228ee5
Qt: Don't reset model for every scanned game
Make the UI a little more responsive.
3 months ago
Davide Pesavento 2669b026d7 Qt: Remove obsolete comment
The logic was changed in 281119b812
3 months ago
Stenzek d2caabd04a
Qt: Fix exit on separate window close with FSUI active 3 months ago
Stenzek a2222d805b
Qt: Fix inability to exit with HC mode active 3 months ago
Stenzek 501380ec7c
Achievements: Split up overlay setting
Split into challenge indicator modes, leaderboard trackers, and progress
indicators.
3 months ago
Stenzek e98871ad47
Settings: Remove middle padding
Why did I do this...
3 months ago
Stenzek 5c682d2325
ImGuiOverlays: Frame time history is aligned 3 months ago
Stenzek 628e41f849
ImGuiManager: Don't render when skipping present
Fixes very slow scrolling in save state selector when fast forwarding,
and generally just giving a "true" DeltaTime is probably a good thing.
3 months ago
Stenzek fe11c658ee
ImGuiOverlays: Fix save state selector out-of-order drawing
Specifically the animated background appearing in front of the
thumbnails.
3 months ago
Stenzek 143ae49f2c
AudioStream: Use larger target size only when intentionally running slow
Fixes buffer underruns at fast or slow speed settings.
3 months ago
Stenzek d3f04dcda9
AudioStream: SIMD averaging window calculation 3 months ago
Stenzek 9b4698d48c
AudioStream: Back off resets that don't pass threshold over time
That way a very occasional lag/overflow doesn't cascade into
unnecessary tempo adjustment.
3 months ago
Stenzek f464d42be5
AudioStream: Fix glitches when disabling fast-forwarding
Usually happened at high frame rates.
3 months ago
Stenzek 6c9d339855
PerformanceCounters: Align to 4 elements
And use minv()/maxv().
3 months ago
Stenzek b81dfa205c
GPU: Simplify screenshot size calculation
And don't miscalculate it for some games.
3 months ago
Stenzek 4644db00ea
GPU: Fix screenshot size in uncorrected mode 3 months ago
Stenzek a27fedae86
Qt: Various fixes to memory scanner UI
Reduce repetition in formatting.
Make formatting consistent between saving/loading watches.
Fix description display.
3 months ago
Stenzek 02a1ccbcdc
Qt: Persist memory scanner watch list across instances
i.e. save it to a file.
3 months ago
Stenzek 52d9f73f98
Misc: Replace a bunch of static qualifiers with inline
Allows deduplication, shaves a couple percent off the debug binary size.
Release binary size difference is negligible.
3 months ago
Stenzek c8dd9995ec
GameDatabase: Remove redundant SetRymlCallbacks() 3 months ago
Stenzek fef553ff12
Qt: Display 'First Value' in memory scanner 3 months ago
Stenzek a9ce005a20
Qt: Fix maximized state not saving to config
Restores the "old" position when restoring again. Except on Wayland,
where nothing works.
3 months ago
Stenzek 3768940fbb
Qt: Fix assertion on shutdown after resize 3 months ago
Stenzek 690f843e2a
Qt: Auto switch between any/changed values in memory scanner 3 months ago
Stenzek 5ed7961390
Qt: Refuse to start in known broken environments 3 months ago
Stenzek ce53e29997
Qt: Fix possible crash on shutdown 3 months ago
Stenzek acf78970c6
Qt: Create main window before starting EmuThread
Stops signals such as achievements active changed being lost.
3 months ago
Stenzek f569448ea1
System: Centralize pause checks 3 months ago
Stenzek 042930d735
FullscreenUI: Fix focus loss with grid/list button 3 months ago
zkdpower fac47b135a
Update the Simple-Chinese translation to latest. (#3495) 3 months ago
Davide Pesavento 168b80dd49 Qt: Add tooltips to game list 3 months ago
Davide Pesavento df65879d06 GPU: Fix typo 3 months ago
Stenzek 300d158320
FullscreenUI: Fix clock position in pause menu 3 months ago
Davide Pesavento 70d6a2d1af Achievements: Revert back to long date format for unlock/submit time 3 months ago
Davide Pesavento 71591e8219 Qt: Use localized date/time formatting in a few more places 3 months ago
Stenzek 634fac4410
CrashHandler: Fix recursive backtrace on Linux 3 months ago
Stenzek 2b18df0910
MediaCapture: Don't crash if video codec supports 0 formats 3 months ago
Stenzek 44237146ef
FullscreenUI: Fix remaining fixed date/time formatting locations 3 months ago
Stenzek 29e92705c4
FullscreenUI: Add option to hide grid view labels
Also handle titles that span multiple lines.
3 months ago
Stenzek 96c224497b
Qt: Use selected language locale for formatting
But check the prefix against the system locale, so that e.g. en can use
the system country.
3 months ago
Stenzek c82351a14a
Qt: Implement 'System Language' language option 3 months ago
Stenzek 7f5f90338f
Qt: Use application locale in most places 3 months ago
Stenzek ef320c62a3
Qt: Cache app locale object 3 months ago
Stenzek f91ee34fa4
Qt: Merge qttranslations.cpp with qthost.cpp
No need to keep it separate anymore since we're not precalculating glyph
ranges.
3 months ago
Stenzek 9b353f841e
Misc: Use host locale formatting for dates
Fixes achievement unlocks and lasted played times being shown in US
format.
3 months ago
Stenzek 1c8699b8a0
Host: Add FormatNumber()
Formats the argument according to the system locale, instead of C.
3 months ago
Stenzek e82218f823
Qt: Fix changing language while game running 3 months ago
Stenzek 83d521f3d8
CMake: Drop Flatpak workarounds
No longer needed since it is using self-contained.
3 months ago
Stenzek 6c4300c6c7
CI/Flatpak: Simplify deps build
I'll probably drop it in the future since there was only one or two
people who indicated that they're using it. But at least now I don't
have another file I need to keep up to date.

So consider the Flatpak package as deprecated.
3 months ago
Stenzek ad4a909aa4
FullscreenUI: Fix incorrect parent directory button 3 months ago
Stenzek 37efd34a99
Qt: Drop renderer option from setup wizard
No need when automatic renderer exists.
3 months ago
Víctor "IlDucci d28c0a00b4
Spanish (Spain) update 2025-07-25 (#3490)
- New strings have been translated.
- Corrected a typo in the "seconds" counter.
- Other minor changes.
3 months ago
Stenzek d0e00178c3
Qt: Fix fullscreen action enabled on startup 3 months ago
Stenzek a660c13625
System: Always adjust video size for capture
Fixes auto resolution size with non-multiple-of-4 window sizes.
3 months ago
Stenzek 22fb032f91
GPUThread: Fix very rare or impossible FIFO corruption
If the buffer wraps around once, and the GPU thread does not execute any
commands before the CPU thread reaches the end again, it could lose one
buffer's worth of commands.

Also don't keep incrementing the work count while this is happening.
Super unlikely unless a ton of data is being pushed through the FIFO.
3 months ago
Stenzek 13233cc82e
PostProcessing/GLSL: Fix compile error with interface blocks 3 months ago
Stenzek 0522b6ffb5
CDImagePPF: Ignore out-of-range sectors 3 months ago
Stenzek b6b1a5e33c
CDROM: Add option to disable speedup on MDEC/FMVs 4 months ago
Stenzek 4f1af2f6eb
Qt: Increase debugger column size 4 months ago
Stenzek 46cf8e68cd
SPU: Display reverb environment in debug window 4 months ago
Stenzek 932104c581
SPU: Fix VU meter display when scrolling 4 months ago
Nahuel Gaitan 56b5b337aa
PSFLoader: Fix recursive _lib loading (#3489) 4 months ago
Stenzek 46a071f3e7
Qt: Fix disabling of sprite texture filtering option 4 months ago
Stenzek 2e56f5d3ae
Qt: Fix another usage of QObject::disconnect() 4 months ago
Stenzek a5826ea6ae
Qt: Hide apply image patches in game settings
Doesn't makes sense, because game settings are applied after
identification.
4 months ago
Davide Pesavento a34aee68a7 Declare all namespace-scope constants as inline
This is the idiomatic way since C++17
4 months ago
Davide Pesavento 69da2df8e9 Make all single-argument constructors explicit 4 months ago
Davide Pesavento 9ab4e4d70c
Qt: Add game list button to toggle game icons (#3488) 4 months ago
Stenzek cdd054702c
CPU: Log on break exception without PCDrv 4 months ago
Stenzek a5b46f7676
MediaCapture: Fix use-after-free when starting 4 months ago
Stenzek 161637e3b7
Qt: Disconnect safe mode widget on recreate 4 months ago
Stenzek 7c01bde94e
Log: Remove redundant channel 4 months ago
Stenzek 9321a32d39
Qt: Fix startup cancellation on window close 4 months ago
Stenzek f65ca0dab3
FullscreenUI: Don't round achievements inner progress bars 4 months ago
Stenzek 9e17e38c9d
FullscreenUI: Custom draw loading screen 4 months ago
Stenzek 3199617124
FullscreenUI: Use layout scale for loading screen 4 months ago
Stenzek df9506fbf6
FullscreenUI: Center loading screen logo 4 months ago
Stenzek 311e93fae4
FullscreenUI: Use game path for loading screen image
Makes it work with custom titles.
4 months ago
Stenzek 4440ae3b78
GPUThread: Store copy of game info
Don't save it in FullscreenUI.
4 months ago
Stenzek 5fd61b6e3a
Qt: Fix disc icon being used for games without icons 4 months ago
Stenzek df432c6c64
Qt: Fix crash booting unscanned games 4 months ago
shikulja 47d44701fe
Update Russian translation (#3486)
* Update Russian translation

* Update Russian translation

* Update Russian translation

* Update Russian translation
4 months ago
Stenzek a8506f4708
Qt: Disable more actions while system starting 4 months ago
Stenzek ad53fc2345
Qt: Fix fullscreen UI shutdown on language change 4 months ago
Stenzek 278614a415
FullscreenUI: Display game cover when loading 4 months ago
Stenzek 75314f79de
FullscreenUI: Localize base strings (e.g. dir selector) 4 months ago
Stenzek 63e0acbe9c
FullscreenUI: Fix held colour in popup menus 4 months ago
Stenzek 3453c897d1
FullscreenUI: Add native cover download 4 months ago
Stenzek a9862461f3
FullscreenUI: Add modal progress callback 4 months ago
Stenzek 3e232b76b3
Qt: Improve more window close behaviour
- Closing FSUI display window without a game running should not exit the
  application.
- Closing display window with FSUI started should exit the application
  in nogui mode.
4 months ago
Stenzek 8bd493eae0
Qt: Re-update main window geometry on nogui exit
Also fix the game list refresh executing on the incorrect thread.
4 months ago
Davide Pesavento 1b56940ad0 Qt: Update menu and toolbar state when toggling fullscreen via double click
Amends 1289e045b9
4 months ago
Davide Pesavento f446e24b20 Qt: Don't exit fullscreen when switching to game list with RenderToSeparateWindow
Amends 24a16db437
4 months ago
Davide Pesavento 4c12dc8ab9
Qt: Don't enable window size menu if system isn't running (#3484) 4 months ago
Stenzek 24a16db437
Qt: Handle fullscreen cases on MacOS
If the user exits fullscreen with the window button, restore
render to main.
4 months ago
Stenzek b545671d67
MetalDevice: Retain references to layer
Apparently the allocate method returns +0 references.
4 months ago
Stenzek 210f492487
MetalDevice: Remove pipeline cache
It seems to be broken when appending using from-source created
libraries.

Similar issues have been described in:
- https://bugreports.qt.io/browse/QTBUG-114338
- https://bugreports.qt.io/browse/QTBUG-108216
4 months ago
Stenzek 05dcb17334
Qt: Fix unused lambda capture warning 4 months ago
Stenzek 6615fc79d6
Qt: Work around autouic bug causing unnecessary recompiles 4 months ago
Stenzek a002fd2672
Qt: Include moc sources in main source
Saves compiling a bunch of files with MSBuild.
4 months ago
Stenzek fc613a5267
Qt: Fix incorrect placeholders in translations 4 months ago
Stenzek 9442ba74af
Qt: Remove window state save
Instead, explicitly save the toolbar area. Also adds it to the context
menu.
4 months ago
Stenzek b2ad193178
Qt: Store window geometry in human-readable form 4 months ago
Stenzek 6b969a0b94
Qt: Refactor and remove multiple sources of truth for render-to-main 4 months ago
Stenzek 0f2ef98747
Qt: Turn cover downloader into a non-modal window
Same as the others.
4 months ago
Stenzek 3f2b6995bc
Qt: Fix timestamps in log window if file timestamps on 4 months ago
Davide Pesavento 1289e045b9 Qt: Make "Fullscreen" toolbar button and menu item checkable 4 months ago
Davide Pesavento 2f13538cc0 Qt: Fix game list icons when toggling disc set merging
Also, make sure we call beginFilterChange() in the proxy model
as mentioned in the Qt docs.
4 months ago
Davide Pesavento 4b5be29eb2 Qt: Hide GameListWidget buttons instead of disabling them 4 months ago
Davide Pesavento 21f44b3782 Qt: Refactor GameListWidget tool buttons and corresponding menu actions 4 months ago
Davide Pesavento 01b81c74ef
Qt: Fix crash on triggering certain actions before display widget is created (#3482) 4 months ago
Stenzek 67381754fa
Qt: Fix game start flicker with hide-main-window checked 4 months ago
Stenzek c6cb3cdd68
Qt: Update Korean translation by Hack茶ん 4 months ago