github stenzek/duckstation latest
Latest Rolling Release

latest release: preview
5 days ago

Commits

  • 0079f7a CDImageCue: Support reading .wav files (WAVE cuesheet files)
  • b984f34 System: Fix audio CD images not showing title
  • 5d85198 Image: Fix uninitialized read without SIMD
  • d26fc89 dep/imgui: RISC-V compile fix
  • bb24d40 Pad: GCC compile fix
  • 5c03e1d Misc: Fix alignment errors on ARM32
  • d2d06ad CPU/NewRec/ARM32: Shifts need to be explicitly masked
  • f67eacc CPU: Default to new recompiler/remove old recompiler
  • 5261cfe CPU/Recompiler: Tidy up type names
  • 5bcf99f CDImage: Merge bin/ecm handling into one class
  • 88836c4 GameDB: King's Field I/II (Japan)
  • e987b56 Log: Remove unused ISOReader channel
  • c970740 InputManager: Workaround macro chord trigger issue
  • ff01068 Updated Swedish translation (#3333)
  • affbdfc Timer: Fix >1 second sleeps on MacOS
  • e647192 GPUDevice: Add compute shader support
  • 3ff1b04 GPUDevice: Support generating mipmaps
  • 24dfd30 Image: Refactor to a more generic class
  • 7eb1d4e GPUDevice: Support compressed textures
  • 8567293 Util: Add TextureDecompress
  • ae14c87 Image: Support decompressing BC1-7
  • 7b230dc GPU/HW: MSAA samples change needs to recreate pipelines
  • 70a4b5c GameDatabase: Add missing flags
  • 852239e Qt: Add game list language override option
  • 9fa8fee Achievements: Use rc_client for pause throttling
  • 40a1bee CDROM: Fix incorrect clmap in XA-ADPCM decoding
  • 0076af6 SPU: Zero out upper ADPCM filters
  • 0ae8fcc GPU/HW: Fix incorrect sampling at 1x with TC
  • a804801 GPU/HW: Support filtering with texture cache
  • dec4689 GPU/HW: Fix sprite mode triggering on screen-aligned UVs
  • b180b26 GPU: Rework "All Borders" cropping to be aspect correct
  • 982dccb D3D12Device: Clang warning fixes
  • 4a650fc GPUDevice: Fix VRAM usage calculation for compressed textures
  • 57595c4 GPU/TextureCache: Move replacement cache onto the GPU
  • 5fd7925 GPU: Fix crash when toggling software renderer
  • be7a20f GPU/TextureCache: Map replacement non-255 alpha to fully transparent
  • 0befbf8 GPU: Add Uncorrected Borders crop mode
  • d1b904a Qt: Fix game properties crash opening non-DB game
  • 4edae3c GPU/HW: Depth buffer needs to be a RT in ROV mode
  • b97788a PostProcessing/FX: Force native paths for includes
  • 1434507 FileSystem: Add span overload for WriteBinaryFile()
  • 57d3aa4 FileSystem: Add Error parameter to StatFile()
  • b28ca2b Qt: Improve updater error reporting
  • eb390a9 GPU/TextureCache: Specify max hash cache size/memory in config
  • 97700b8 GPU/HW: Clear ROV depth on fill/copy/write
  • a879c11 Qt: Prevent multiple update download button clicks
  • 4e43b1e Debugger/MemoryScanner: Add 'Freeze Selected' (#3334)
  • b81d671 Updated Swedish translation (#3335)
  • 2e0825a Atualização Português do Brasil (#3336)
  • cd216d9 Qt: Re-enable download button on update failure
  • 73dc52a Adding Swedish flags to UI (#3337)
  • c4d4a7a Fix Missing Flag (#3338)
  • 208e6c4 Cheats: Strip whitespace from code names
  • eeee1e6 Cheats: Support importing native format
  • 6be2424 AnalogController: Simplify rumble config
  • 3ed6cc2 GameList: Fix crash loading custom language options
  • 6d72a48 Qt: Disable All Enhancements -> Safe Mode in Debug menu
  • dac5dd5 HTTPDownloader: Improve error reporting
  • 2e31a40 Qt: Zero spacer size hints in Graphics Settings
  • da501b9 StringUtil: Add ParseFixedHexString()
  • bbe6612 Common: Add SHA256Digest
  • c0b4627 StringUtil: Drop old MacOS workaround
  • b39f155 StringUtil: Add Base64 decode/encode functions
  • 83274c7 ThirdParty/SmallVector: Compile fixes
  • d3246de ThirdParty: Add aes.cpp
  • ff3214b SmallString: Add span helpers
  • 5401dc8 Settings: Add EmuFolders::IsRunningInPortableMode()
  • 9970944 Achievements: Add encryption of login tokens in ini
  • 6cbfab6 MetalDevice: Warning fix
  • 19eee76 AnalogController: Reduce log spam
  • d5b9b54 GPU/SW: Vectorize VRAM writes/copies
  • 682ba71 GPU: Fix aspect ratio with Show VRAM enabled
  • ae18db9 RegTest: Use filename instead of database title
  • aafc029 Misc: Un-namespace Timer
  • b059cda Achievements: Pack state in struct
  • cbc16be GPU: Display scanout resolution regardless of crop mode
  • b7fff84 System: Move thread name init to host
  • 0f51472 Misc: Android build fix
  • ee750b4 Settings: Normalize texture replacment option titles
  • dfacf9e VulkanDevice: Only create swap chain framebuffer without dynamic rendering
  • fa4dc38 GPUDevice: Rename RGBA5551 to RGB5A1
  • c6e2235 GPU/HW: Vectorize texture conversion routines
  • 53008eb GPU/HW: Allow use of RGB5A1 for texture cache
  • f1435dc Settings: Bump maximum hash cache size
  • 9dec34c Settings: Disable texture replacements if TC disabled
  • 145ad2d GameList: Fix scanning of ELF files
  • 67041d2 Qt: Improve shortcuts
  • 62414b0 CPU/Interpreter: IBE should not set BD/BT
  • c6746e7 CPU/Intepreter: Raise #RI on invalid COP0 move
  • 42c5f91 CI: Merge all packaging scripts to one directory
  • 9c2244f Qt: CustomizeWindowHint should be set for no-close-button
  • 00132c6 AnalogController: Fix more log spam
  • 9fc9f4b Settings: Fix hash cache fields not being compared
  • 4fe3e11 Controller: Add GetPortDisplayName() that takes pad index
  • b87c6dd CDROM: More logging tidy-up
  • d7d028a GameDB: Recompiler ICache for Resident Evil 3
  • f9c125c InputManager: Add ForceFeedbackDevice interface
  • 7c627a8 Controller: Add JogCon
  • aff623b GameDB: JogCon games
  • 4aa9857 Qt: Fix fallback binding layout not including motors
  • 2a7625e CI: Add workflow dispatch triggers for all jobs
  • 0faa9cf Build: Add Devel configuration
  • 9df5971 GPUDevice: Put debug messages/scopes behind conditions
  • e9848a6 Misc: Collapse more niche log channels
  • 2f70d1b CPU: Write trace log to data directory
  • 71e1032 GameDB: Army Men: Sarge's Heroes
  • 6756c96 CDROM: Improve SeekL -> ReadN timing
  • 22edf23 GPU: Fix parameter logging of some commands
  • 3959c83 GPU/TextureCache: Fix split writes not dumping
  • ac79e43 Deps: Bump versions
  • cbc22a8 GPU/HW: Fix TC + SW-For-Readbacks combo
  • 297165d Deps: Fix MacOS build
  • 14ff89d MetalDevice: Fix incorrect pixel format for RGB5A1
  • 25063d4 Achievements: Fix overlay stacking
  • 03eb4a6 Atualização Português do Brasil (#3339)
  • 9a5ee3a Qt: Fix horizontal scrollbar showing in summary track list
  • d3ceda0 CPU/CodeCache: Improve block host size heuristics
  • 0a2facf Settings: Don't enable fastmem without recompiler
  • 5b6e3a9 System: Reset code cache on fastmem mode change
  • d93c713 FileSystem: Make POSIXLock moveable
  • 04e472d FileSystem: Add non-blocking option to POSIXLock
  • 84a1e20 OpenGLDevice: Lock pipeline cache on Linux
  • 3ca2579 Qt: Add additional early SSE4.1 check on Windows
  • fe3b415 PostProcessing: Fix crash on UI open with OpenGL
  • 20df4ec Spanish (Spain) update 2024/12/03 (#3340)
  • e9644c7 ISOReader: Add file extraction helpers
  • 58f5d7e Qt: Fix missing status message on delayed progress show
  • 541985f Qt: Add ISO Browser
  • 0c7636b System: Add missing safe mode disable messages
  • ea63266 Qt: Fix possible game settings save error with sliders
  • 3670c13 Qt: Hook up extract button in ISO browser
  • 6d080c1 GPU: Fix additional GL_POP() causing validation errors
  • 5c4d95f Settings: Add missing GPU feature disables
  • 042a2d7 Threading: Add IsCallingThread() to ThreadHandle
  • c9c4307 FileSystem: Android build fix
  • 52feb1a PostProcessing: Improve compile error reporting
  • 9c327af GPUDevice: Typedef auto-recycled texture
  • e22d67f GSVector: Add 4x4 matrix class
  • acf04ed GPUDevice: Use row-major matrix packing
  • f0c4568 GPUDevice: Support pre-rotating swap chains
  • c3a9ab3 Atualização Português do Brasil (#3341)
  • dbba8de Packaging: Fix path in pkgbuild/spec
  • 8c5fada GPUTexture: Add A1BGR5 format
  • 5725a03 GPU: Use A1BGR5 format for SW/HashCache if available
  • f9155e5 Settings: Fix incorrect data type for rewind slots
  • d5432da Settings: Disable runahead/rewind in Safe Mode
  • 3a661a1 Cheats: Move file clearing into core
  • 7f3687d Common: Report assertion failure/panic message for Android
  • 2999f15 StringUtil: Add UTF-16 encoding/decoding functions
  • b6eb41e Qt: Improve binding widget tooltip
  • 1adf36c Build: Fix out-of-tree CMake scmversion extraction on Windows
  • 5bf7227 CPU/CodeCache: Use code buffer section on Android
  • 9b0a906 GameDB: Add more missing hash entries
  • 31d953d System: Prevent memcard blocking resume state save
  • a4af88b GameDB: More PSX.EXE hashes
  • 5d7cb6c System: Move state compression/writing to worker thread
  • 53c08c5 ImGuiFullscreen: Pack state in struct
  • 765a46f FullscreenUI: Pack state in struct
  • 09ba2ed GameDB: Remove duplicate code entries
  • 8bb0135 GameDB: Remove redundant codes sections
  • a1928de ImGuiOverlays: Pack SaveStateSelectorUI state
  • 4253559 HTTPDownloader: Log errors on request failure
  • 1bea881 Host: Add ConfirmMessageAsync()
  • b814666 CPU/Recompiler: Fix ARM32 build (again)
  • 2e6deca FileSystem: Don't use POSIX locks on Android
  • 1e83922 CDROM: Fix physical disc reading without SubQ on Linux
  • 0bb83f6 OpenGLDevice: Fix inverted cache file lock
  • 5767397 Qt: Remove 'Enable Cheats' from Console Settings
  • e137d3b Common: Fix rectangle rempty() on ARM32
  • cc567d9 Cheats: Fix hash-suffixed files incorrectly loading
  • 1edcc8c System: Merge system taints with state taints on load
  • 5eac1e4 VulkanDevice: Blacklist FSI on AMD Windows
  • d871c17 Settings: Set sprite texture filter on reset
  • 69947fb GPU/TextureCache: Look for replacements outside of subdirectory
  • 9743ce0 OpenGLDevice: Support GLES 3.0
  • d8af8e4 GPU/HW: Fix possibly-stale display with MSAA+Show VRAM
  • e507fdc System: Load state before calling OnSystemStarted()
  • cdcf05a CPU/Recompiler: Only truncate block for future writes
  • c3a2156 CPU/CodeCache: Fix event kicking for Cached Interpreter
  • 2e805d5 CPU/CodeCache: Always backpatch KSEG2 writes
  • 99f1332 CPU/Recompiler: Create block links for self-looping blocks
  • 5577328 Controller: Allow !compatsettings to always start in analog mode
  • db848d1 System: Remove redundant GameDB lookup
  • 8f19912 GPU/ShaderGen: Use sample instead of load at 1x as well
  • 50fbaf9 Qt: Add debug menu options for log sinks/timestamps
  • 25ffc5a GameDatabase: Warn if multitap enabled on unsupported game
  • ceef778 GameDB: Disable multitap for Fear Effect games
  • 0dbab16 GameDB: Disable widescreen in Fear Effect
  • 2f6eaa1 CPU/Interpreter: Address ICache lines in words
  • 5687dd2 PIO: Add basic flash cartridge support
  • e683c89 CPU/Recompiler: Fix ICache updates on ARM32
  • c25c006 CDROM: Handle repeated SeekL to same target
  • b832dfb CDROM: Zero out seek start/end after read
  • b99fb22 Atualização Português do Brasil (#3342)
  • 726aa67 CPU/CodeCache: Only cache EXP1 blocks up to 0x1F060000
  • dcaee9b Qt: Add ISO Browser to Tools menu
  • e91ae5f GPU/HW: Only compile page texture shaders if TC is enabled
  • 5cbb6b6 Qt: Purge unused {start,stop}dumpingAudio
  • c0c2e69 CPU/Recompiler: Document ARM32 code size
  • 90e9634 FullscreenUI: Enable DrawStringListSetting()
  • 5e21234 Qt: Fix deadlock in Game Properties -> Post-Processing
  • d00627b GameDB: Alnam no Kiba - Juuzoku Juuni Shinto Densetsu
  • 03e2463 Qt: Simplify Host::CommitBaseSettingChanges()
  • 2603ce5 GameDB: Merge all 8 discs of Tokimeki Memorial 2
  • 666fee2 GameDB: Enable ICache for Crash 3
  • 9d52e27 CPU/Recompiler: Use condition select for ICache updates
  • 4e1e07a Qt: Shrink BIOS settings page height
  • fbb411a OpenGLDevice: Blacklist fbfetch on PowerVR as well
  • 6e2223b OpenGLDevice: Fix surfaceless context switch
  • 1f1a664 InputManager: Add missing call to UpdateHostMouseMode()
  • 43af57d System: Fix UpdateGTEAspectRatio() during initialization
  • fda10a6 FullscreenUI: Remove legacy 'Enable Cheats' option
  • edfeffd GameDB: Hash for Aquanaut's Holiday
  • 23c221b GameDB: Fix serial for Dino Crisis (Japan)
  • b634eec System: Allow separate configuration for multi-disc games
  • 585b13f GameDB: Remove AnalogController from Point Blank 2
  • 4216eef Updated Swedish translation (#3343)
  • cc52320 FullscreenUI: Update translation string list
  • b68370d Mouse: Move s8 clamp to after subtraction
  • f010d81 ISOReader: Add XA and raw extraction modes
  • 8df2a2c Atualização Português do Brasil (#3344)
  • fa2442d Updating Swedish translation (#3345)
  • 7442ec2 JogCon: Implement command 0x44
  • 2f5bdc9 GameDB: Crash Team Racing supports JogCon
  • 31c1cfa Achievements: Remove unused NeedsIdleUpdate()

Don't miss a new duckstation release

NewReleases is sending notifications on new releases.