Commit Graph

14759 Commits

Author SHA1 Message Date
Henrik Rydgård 3e15d97be8 New atrac: A safety check in DecodeInternal 2025-03-25 00:01:55 +01:00
Henrik Rydgård 5fcf0c6276 Swap the Cancel and No functions in the assert dialog. Plus a function rename and some safety checks. 2025-03-25 00:01:14 +01:00
Henrik Rydgård 76ce11ad2c Remove a vector while keeping settings search working. 2025-03-23 22:48:57 +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 a3f033bf74 Merge pull request #20140 from hrydgard/more-error-enum
Move more error codes to the big enum
2025-03-21 21:16:36 +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 a3a7807aac Fix crash when taking screenshots on a thread
Forgot that we only enable android JNI on "I/O" threads.

Fixes #20139
2025-03-21 19:12:54 +01:00
Henrik Rydgård f14075e650 PPGe/savedata: Add a bunch of safety checks for png images. Fixes Digimon save crash, see #20125. 2025-03-21 10:07:42 +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 b421c0791f Perform screenshot processing (including image encode) on background tasks 2025-03-20 20:48:51 +01:00
Henrik Rydgård 14ee85139d Remove unused ability to call callbacks after taking a savestate screenshot 2025-03-20 19:41:10 +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 d11f8609ea Add an easy way to break into the imdebugger from assert messageboxs ("No") 2025-03-19 14:22:02 +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 ef386ac4c5 Add "GetFileInfoByHandle" function to (many) file systems 2025-03-19 10:42:30 +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