Commit graph

6051 commits

Author SHA1 Message Date
Henrik Rydgård
0ecd72416b Reduce overhead of logging further. 2025-03-25 23:09:11 +01:00
Henrik Rydgård
eb251af964 Create decodeTemp_ on demand. Fixes #20150 2025-03-25 00:30:31 +01:00
Henrik Rydgård
3e15d97be8 New atrac: A safety check in DecodeInternal 2025-03-25 00:01:55 +01:00
Henrik Rydgård
2b558eb545 Fix regression in Tomb Raider Legends
Need to make sure a buffer size check happens before the buffer is
accessed - since the game calls sceAtracSetDataAndGetID with both buffer
and bufferSize as 0, and it expects to receive TOO_SMALL and not a
memory exception.

Thanks to @sum2012 for quick investigationh help.
2025-03-23 07:11:01 +01:00
Henrik Rydgård
c70a9b2114
Merge pull request #20138 from hrydgard/default-to-new-sceatrac
Use the new sceAtrac implementation by default
2025-03-22 12:27:58 +01:00
Henrik Rydgård
63c4b2e9b3 Move SSL error codes to the big enumt 2025-03-21 20:45:23 +01:00
Henrik Rydgård
44bb7a1ac5 Buildfix, minor savestate fix 2025-03-21 20:45:12 +01:00
Henrik Rydgård
0f840e6240 Move JPEG error codes to the big enum, some include cleanup 2025-03-21 20:44:46 +01:00
Henrik Rydgård
999bf59ae1 Move mutex error codes into the big enum 2025-03-21 20:44:46 +01:00
Henrik Rydgård
82728652d8 Move Font and Psmf error codes to the big enum 2025-03-21 20:44:46 +01:00
Henrik Rydgård
ea198dd593 Add mpeg error codes to the big enum 2025-03-21 20:44:46 +01:00
Henrik Rydgård
249281366e Use the new sceAtrac implementation by default
Inverts/renames the setting to allow going back to the old sceAtrac
implementation, to work around any compatibility issue.

Note that we can never delete the old implementation, old savestates
will still use it - can't convert an existing session.
2025-03-20 23:10:21 +01:00
Henrik Rydgård
ae8f8c4abd Refactor TakeGameScreenshot a bit. 2025-03-20 17:41:44 +01:00
Henrik Rydgård
cb1df4056c Remove almost-empty files ThreadPools.cpp/h 2025-03-20 17:21:20 +01:00
Henrik Rydgård
e3297d84f5 Fix pointer incrementes with low level decoder 2025-03-20 13:30:49 +01:00
Henrik Rydgård
d83bdc3bf8 Restore the old memory reservation for sceAtrac.
See #20133
2025-03-20 13:18:03 +01:00
Henrik Rydgård
0aec6aeddd Fix silly logic error in Atrac2 2025-03-19 18:17:47 +01:00
Henrik Rydgård
e70dd3b2df Break out AtracTrack into its own file. Add a little atrac analysis tool to ImDebugger (for future use) 2025-03-19 16:15:51 +01:00
Henrik Rydgård
4325ec945b Add new sas integration unit test 2025-03-19 12:14:29 +01:00
Henrik Rydgård
eff9bd1fc3 mpeg: Minor cleanup 2025-03-19 11:41:17 +01:00
Henrik Rydgård
ec169e9fa9 Sol Trigger fix 2025-03-19 11:41:13 +01:00
Henrik Rydgård
da2b3fdd13 Warning fixes. Don't clamp readsize to reported file size. 2025-03-19 10:42:32 +01:00
Henrik Rydgård
c5ad1548bc Add simple AT3 dumping (non-streaming only) 2025-03-19 10:42:32 +01:00
Henrik Rydgård
ef4e04c8a1 Pass more filename information into elf loading. Allow dumping PRX into elf. 2025-03-19 10:42:32 +01:00
Henrik Rydgård
c4241e283a Prepare to generalize file dumping 2025-03-19 09:46:25 +01:00
Henrik Rydgård
cef14adf67 Assorted logging fixes and cleanup 2025-03-18 13:48:12 +01:00
Henrik Rydgård
2fb10fb5d9 sceAtrac: Crashfix in sas integration 2025-03-18 13:48:12 +01:00
Henrik Rydgård
e45333d1d8 Fix the sceSas context connection 2025-03-18 09:36:34 +01:00
Henrik Rydgård
6d7625ea6b Implement save state support, with backwards compatibility. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
89a73be155 Compute the joint-stereo flag as needed instead of storing it. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
01076d2a4f InitLowLevel parameter cleanup 2025-03-18 09:36:33 +01:00
Henrik Rydgård
4a4332b22e Remove hack where we snuck AtracID into the contexts. Not suppose to be there. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
34c21ed271 track_ removal, part 2 - done! 2025-03-18 09:36:33 +01:00
Henrik Rydgård
02f06faad1 Atrac2 track_ removal, part 1 2025-03-18 09:36:33 +01:00
Henrik Rydgård
5363159610 Error return fixes 2025-03-18 09:36:33 +01:00
Henrik Rydgård
4379c1ad49 Rebase fixups 2025-03-18 09:36:33 +01:00
Henrik Rydgård
bb436cda8f Reimplement a lot of logic, implement loop streaming properly 2025-03-18 09:36:33 +01:00
Henrik Rydgård
b99348383c Some new findings, loop work 2025-03-18 09:36:33 +01:00
Henrik Rydgård
4d7a8b8233 Some type and comment cleanup 2025-03-18 09:36:33 +01:00
Henrik Rydgård
926a5623d1 Improve comments 2025-03-18 09:36:33 +01:00
Henrik Rydgård
9cc7bab3a5 Implement the simplest looping case (fully loaded audio) 2025-03-18 09:36:33 +01:00
Henrik Rydgård
92737be87e Minor simplification 2025-03-18 09:36:33 +01:00
Henrik Rydgård
deff5ce513 Correct the stream buffering logic to allow for adding unaligned amounts to the buffer. This also simplifies it. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
f4fe91beae Remove unnecessary state variable, fix reset-seeks to fractional positions 2025-03-18 09:36:33 +01:00
Henrik Rydgård
da27e2a93f Fix seeking to offsets other than 0 in a couple of the modes 2025-03-18 09:36:33 +01:00
Henrik Rydgård
e99688fd93 Fix buffer sizing issue for mono tracks 2025-03-18 09:36:33 +01:00
Henrik Rydgård
9623cd4897 Fix playback of fully loaded tracks, fix memory leak 2025-03-18 09:36:33 +01:00
Henrik Rydgård
8b02766702 Some cleanup and refactor. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
36fdb09056 Break apart the SetData function 2025-03-18 09:36:33 +01:00
Henrik Rydgård
8f66ebde90 Shuffle things around a bit 2025-03-18 09:36:33 +01:00