shadPS4 v.0.17.0

v.0.17.0Desktop

shadps4 v0.17.0 - codename Garbage Collector's Edition

Added 6
  • ShadNet networking backend integration for posting online scores and sharing with other players
  • ZArchive support for compressing games into single files instead of hundreds of individual files
  • Mouse emulation through sceMouse for USB mouse support in games
  • Friends support in ShadNet with invitation dialog
  • Sampler garbage collection in the texture cache
  • Filesystem abstraction layer
Changed 12
  • macOS compatibility and speed improvements through KosmicKrisp
  • Online ID now displayed instead of user name when connected to ShadNet
  • NP Manager settings and general cleanup
  • Web API layer expanded with new library, multipart uploads, and push events
  • AvPlayer refactored for audio/video sync, startup races, stack usage, frame sizes, and buffer handling
  • Audio3D mix queue reworked
Fixed 22
  • Video decoder flush behaviour
  • AT9 no longer crashes from reading past end of data
  • OpenAL and NGS2 issues
  • NVIDIA clip distance emulation
  • Depth write state now respected for register clears
  • Texture cache image download handling

shadPS4 v0.17.0

Welcome to another big release of shadPS4. This release is the first to introduce shadnet support, which although still doesn't offer much it allows to post your online scores and share them with other players. Still you can't play multiplayer games but we are working towards to make it possible one day. Another big update is ZArchive support. Forget the 20.000 files per game you can now use ZArchive files for compressing games and having them in 1 file instead of hundreds. KosmicKrisp has also landed in the world of macOS giving much better compatibility and speed to macOS users. There are several other fixes let's cover the most important below

Highlights
Online stuff
  • ShadNet, our own networking backend, is now integrated for the first time
  • Most of the matchmaking library is implemented — lobbies, rooms, joining, signaling
  • Friends support. Make your online friends in shadnet
  • Invitation dialog
  • Your name now switches to your Online ID once you're connected
  • NP Manager got new settings and general cleanup
  • Web API layer grew a lot: new library implemented, multipart uploads, push events
  • NP Commerce
  • Trophy handling tidied up
Mouse support
  • sceMouse is emulated now, so the handful of games that supported a USB mouse are playable with one
  • Plus a bunch of follow-up fixes for opening, closing, and games that check whether a mouse is even plugged in
AvPlayer, video & audio
  • AvPlayer got a serious cleanup: audio/video sync, startup races, stack usage, frame sizes, buffer handling
  • Video decoder flush behaviour fixed
  • Audio3D mix queue reworked
  • AT9 no longer crashes from reading past the end of its data
  • AT9 encoder now runs natively
  • OpenAL fixes and NGS2 fixes

Graphics
  • NVIDIA clip distance emulation
  • T# min_lod implemented through VK_EXT_image_view_min_lod
  • Depth write state is now respected for register clears
  • Robustness2 is now required, allowing the null buffer/image workarounds to be removed
  • Sampler garbage collection added to the texture cache
  • Texture cache: image download handling refactored
  • sRGB handling for BC formats refactored
  • Buffer barriers for compute-written vertex/index buffers and indirect dispatch/draw buffers
  • Assorted validation errors fixed and miscellaneous renderer fixes
  • Shader cache invalidation caused by struct padding in memcmp fixed
Shader recompiler
  • GCN thread mask accuracy fix
  • Vertex attributes are always specialised on number class
  • Geometry shader vertex offsets initialised from the input primitive type
  • V_ADD_I32 carry-out propagation, V_LOG_CLAMP_F32, V_PK_MUL_LO_U16 fix
  • IREmitter atomic operation corrected from And to Or

Kernel, memory & core
  • Filesystem abstraction layer
  • File reads now go through an intermediate buffer before being copied to guest memory
  • PthreadOnce uses pthread primitives instead of std::mutex
  • TLS leak on non-primary threads fixed
  • Code patches for cmp and xor instructions involving the TCB
  • sceKernelAllocateDirectMemory now honours search_end
  • Fixed mappings with a zero address on older games is now handled properly
  • HLE libraries are no longer loaded when force-LLE is set
  • Unresolved objects are no longer auto-stubbed
  • Null dereference fixes in save data mount checks
  • Memory patch fixes, with hex exception handling
  • LLE malloc init, fixing issues with LLE fonts and allowing more LLE libs to run

Input & peripherals
  • Pad state latency reduced for single-sample reads
  • Users are no longer logged out when a pad disconnects
  • Controller colours reset on shutdown
  • Fixes to Camera support

Interface & quality of life
  • Fullscreen startup behaviour polished
  • The window icon is now set to the game's icon
  • Big Picture UI settings improved
  • Shader list, memory map and module list widget states are saved, duplicate shader dump windows prevented
  • New shadPS4 log with a logging refactor, an option to flush the log
  • MS_VC_EXCEPTION is now passed through to the handler on Windows
  • Trophy fixes and an auto-generated PathType::TrophyDir
  • NP checks moved into sceNpTrophyRegisterContext
  • Improvements to the in-app bug report flow
View original

Upgraded? How did it go?

Discussion