Commit Graph
20246 Commits
Author SHA1 Message Date
Acts1631 d064a83d11 Keep title IDs within host path components
Crafted title IDs could escape serial-derived directories and redirect
recursive cache cleanup outside RPCS3's cache root. Reject structural
path components, escape identifiers used as host names, and make
cleanup matching literal and exact.
2026-10-08 08:02:13 +03:00
digant73 8ffc512beb Remove duplicate in emucore.vcxproj.filters 2026-10-07 20:25:47 +02:00
Antonino Di GuardoandClaude Opus 5.5 2bf8677d3c cellSearch: Put the whole search into the music selection context (#19750)
Analysis and fixes made by Opus 5.5.

## Bug
`cellSearchGetMusicSelectionContext` only put the selected (or a random)
track into the context, even when the search contained many tracks.
Games that pick custom music through cellSearch got a one-track
playlist, so with repeat ALL the same song played on loop forever.

## Fix
- For a search of single tracks the playlist now contains every track of
the search, and `first_track` / `current_track` point to the selected
one (random when shuffled, otherwise the first).
- `music_selection_context::find_content_id` starts from the selected
track instead of the first entry of the playlist.
- `audio_decoder` keeps the selected track first when shuffling and only
shuffles the rest.

Tested with NHL 14.

Fixes #14738
Part of #18779, #11596

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-07 17:41:28 +00:00
Yahfz ab412d5ddb rsx: Fix shader compilation (FP16 round_to_8bit) at low setting 2026-10-07 18:43:26 +03:00
Acts1631 e97200a884 Reject invalid RPCN message types
RPCN forwards MessageDetails from other users. The protobuf uint16
wrappers can carry 32-bit values, and narrowing them on the recipient
aborts RPCS3.

Validate both values before casting so malformed messages are
discarded.
2026-10-07 17:30:37 +03:00
Acts1631 cb63cc82ca Validate RPCN room message fields
RPCN room peers control message payloads and destination lists. Values
above the Matching2 limits overflow the recipient's fixed event buffer
and terminate the NP handler.

Reject malformed room message notifications before allocating event
data.
2026-10-07 16:17:15 +03:00
Acts1631 5f8dd1de61 Reject invalid signaling RTT timestamps
Signaling peers control the timestamps used for RTT calculation. A
future timestamp wraps the unsigned delta, and the fatal checked cast
terminates the signaling thread.

Reject future and oversized RTT values before updating peer state.
2026-10-07 15:19:45 +03:00
Megamouse 479ca74cad Update 7zip to 26.04 2026-10-07 08:20:07 +02:00
digant73andClaude Opus 5.5 925fbb2607 media_utils: Flush the audio decoder and resampler at the end of a track
The resampler buffers part of its input whenever the file's sample rate differs from the 48 kHz output,
because the output buffer was only sized for the frame's own samples. These samples piled up and were
never flushed, so a 44.1 kHz track came out 8.125% short (5-20 s cut from the end of every song).
The decoder itself was never drained either.

- Size the output for the pending resampler samples too and only append what swr_convert actually wrote.
- Flush the decoder and the resampler once the last packet has been read.
- Reserve the whole track up front, reuse the resampler output buffer and byteswap in place before
  appending, instead of growing the track buffer and allocating a buffer for every frame.

Fixes #18930 (custom music cut in Gran Turismo 5).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 07:31:29 +02:00
Megamouse 55a3aff337 gl: fix screenshots and recordings 2026-10-06 20:53:00 +02:00
brian218 12178de458 QT: Made HDD Model Name & HDD Serial Number settings accessible via GUI 2026-10-06 19:00:35 +02:00
Antonino Di Guardo 8e4659a6cb LV2: Fix sys_ppu_thread_start gate freezing PPU threads (#19707) 2026-10-06 15:59:20 +00:00
Antonino Di Guardo 532b6520b4 Add IRD based integrity check (#19421) 2026-10-06 10:22:13 +00:00
Whatcookie 1b90d1c149 rsx: Optimize recursion in the vertex program analyzer's instruction walk
Avoid use of std::function for recursion, and ensure that std::stack is backed by a vector, instead of the default deque.
2026-10-06 10:00:59 +00:00
brian218 c7642cb875 USIO: Eliminated frequent buffer memory reallocation to optimize memory performance 2026-10-06 12:31:13 +03:00
Elad 4dfdda9789 sys_net/Win32: Fix ECONNRESET on UDP socket 2026-10-06 11:59:40 +03:00
Elad 191932b854 Fix RSX capture memory allocations 2026-10-06 11:59:40 +03:00
Elad b1e8e74619 vm: Fix stack pages 2026-10-06 10:56:17 +03:00
Malcolm 183597deea RSX: use cache-line waits for event queue draining 2026-10-06 09:03:01 +02:00
brian218 2ff18d0fae QT: Added USIO Emulated Mode options to Settings GUI 2026-10-06 08:12:31 +02:00
Elad 3e7477107a Update contributors 2026-10-05 21:46:59 +03:00
Elad 7877ebe43d Fix RSX Debugger 2026-10-05 21:46:59 +03:00
Megamouse 30ee6cc358 Add brian218 to contributors 2026-10-05 20:07:01 +03:00
Megamouse 3db7c53c67 vm: fix fill64 2026-10-05 20:07:01 +03:00
Megamouse 70c8683ae2 usio: add proper mapping 2026-10-05 18:02:29 +02:00
brian218 b240813958 USIO: Made gun handler config player-specific in usio_config 2026-10-05 18:02:29 +02:00
brian218 c9fe397116 USIO & Pad: Added the ability to retrieve angle from analog sticks 2026-10-05 18:02:29 +02:00
brian218 2cc650538d USIO: Added support for analog stick input for crosshair 2026-10-05 18:02:29 +02:00
Megamouse b444d6ad24 qt: add value labels to sliders in pad settings 2026-10-05 17:08:02 +02:00
schm1dtmac ba4a4b561e [Mac OS X CI] Fixup for #19684, missed a path ugh 2026-10-05 11:16:30 +02:00
Antonino Di Guardo 7c3d7c7a23 Fix check on game data path (cellGameData API) 2026-10-05 08:52:32 +00:00
yahfz 52de29af04 vk: Don't use rebar for the vertex layout ring 2026-10-05 08:58:41 +03:00
yahfz 43a42d1a86 rsx: Fix FIFO reads while waiting for PUT 2026-10-05 01:44:55 +03:00
Elad 7b99edcfd6 rsx/savestates: Fix FIFO_control::restore_state() 2026-10-05 01:10:48 +03:00
Elad 7b7983ca1a vm/savestates: Rewrite and fix stack_guarded 2026-10-05 01:10:48 +03:00
digant73 a72c4c319b sys_fs: Add an option to emulate the BD-ROM read speed 2026-10-04 22:44:28 +03:00
Antonino Di Guardo fcbed0bc6d cellVdec: Fix decoding of streams without a leading sequence header and of reused AU buffers- #19658 2026-10-04 17:45:05 +00:00
kd-11 32b54f1864 rsx/vp: Process TXL input for potential ATTR references 2026-10-04 20:05:58 +03:00
Ani 193975556d Revert "rsx: Add bounds checking to transform constant loading"
This reverts commit 373d0ea7f0.
2026-10-04 18:16:56 +02:00
IdanandClaude Sonnet 5 d9608bf0f0 settings_dialog: fix Ctrl+Tab only cycling tabs once
Qt's QTabWidget only intercepts Ctrl+Tab/Ctrl+Shift+Tab while the tab
widget itself has keyboard focus. The dialog's own currentChanged
handler moves focus to the Close button after every tab switch, and
clicking into a tab's content moves focus to a child widget, so the
shortcut stopped working after the first switch.

Add explicit window-scoped shortcuts that cycle the tab index
directly, so Ctrl+Tab/Ctrl+Shift+Tab keep working regardless of which
widget currently has focus.

Fixes #19425

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-10-04 18:19:03 +03:00
Megamouse 46aee28f85 Remove log message and update comment 2026-10-04 08:54:12 +02:00
Elad 998298f9a8 Fix cellGemSetYaw's function unique signature (#19696)
This is the only known function that passes arguments in vector
registers.
Although we had an implementation for it, it was never used before.
Hopefully it works.
Attempting to fix "invalid" argument passed to cellGemSetYaw due to
wrong register decoding.
2026-10-04 08:20:42 +02:00
Megamouse c673da45f8 cellGem: Implement cellGemSetYaw (well, at least make it work for calibration) 2026-10-03 22:36:20 +02:00
Megamouse 1ce71092c8 Qt: Fix clearing mappings with rightclick on buttons that live in a groupbox with event filters 2026-10-03 21:55:44 +02:00
Megamouse 0d866154aa ps move: only try to reconnect once per second 2026-10-03 19:35:09 +02:00
Megamouse 0374854c80 Apply FusionBias 2026-10-03 19:35:09 +02:00
Megamouse f5edadb2ef ps move: add drift correction 2026-10-03 19:35:09 +02:00
Megamouse 103d41944c ps move: Only update ahrs orientation if a new input report arrived and handle ZCM1 half frames 2026-10-03 19:35:09 +02:00
Megamouse a664f405bc ps move: fix orientation mapping 2026-10-03 19:35:09 +02:00
Megamouse 5da9f4ab32 ps move: improve sample period 2026-10-03 19:35:09 +02:00