Commit graph

531 commits

Author SHA1 Message Date
Henrik Rydgård
4e25f44eef Rename some module-related functions to include HLE where appropriate 2025-03-31 11:17:50 +02:00
Henrik Rydgård
870995a767 Mostly restore the old code path 2025-03-25 22:19:09 +01:00
Henrik Rydgård
1bd5cffa1d Initial work on re-implementing atrac-through-sas 2025-03-25 22:01:30 +01:00
Henrik Rydgård
4b123a2e09 Move the sceSas error codes into the big enum 2025-03-25 12:04:33 +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
0f840e6240 Move JPEG error codes to the big enum, some include cleanup 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
e3297d84f5 Fix pointer incrementes with low level decoder 2025-03-20 13:30:49 +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
ec169e9fa9 Sol Trigger fix 2025-03-19 11:41:13 +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
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
02f06faad1 Atrac2 track_ removal, part 1 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
926a5623d1 Improve comments 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
1f85887cb6 Logging improvements 2025-03-18 09:36:33 +01:00
Henrik Rydgård
bab09ea30a Implement sceAtracGetInternalError 2025-03-18 09:36:33 +01:00
Henrik Rydgård
7a4d175e06 Port over some utility functions, fix bugs. 2025-03-18 09:36:32 +01:00
Henrik Rydgård
818e7a99bd minor refactor 2025-03-17 11:02:59 +01:00
Henrik Rydgård
63c997b973 Fix an ordering issue in Atrac context creation 2025-03-16 22:46:44 +01:00
Henrik Rydgård
b7782d98f3 Prepare for Atrac context data to work the new way. Not actually active yet. Also restrict old versions to 4 contexts. 2025-03-16 19:32:03 +01:00
Henrik Rydgård
4fbdb58beb Merge the "Analyze" function into SetData 2025-03-16 19:32:00 +01:00
Henrik Rydgård
3979b6af54 Combine the two Analyze functions 2025-03-16 12:59:32 +01:00
Henrik Rydgård
fe0edc0bda One more cleanup before merging Analyze and SetData... 2025-03-16 12:44:16 +01:00
Henrik Rydgård
8ab41e387e Reorganize to make the next step easier 2025-03-16 12:21:55 +01:00
Henrik Rydgård
bcf89754c7 First step: Split out the track analysis. 2025-03-16 12:21:55 +01:00
Henrik Rydgård
c6ea7cfd15 Delay fix 2025-03-16 11:57:09 +01:00
Henrik Rydgård
6a4a46025b Remove now-unnecessary wrapper _AtracSetData 2025-03-16 11:32:00 +01:00
Henrik Rydgård
3d143a0cba Finally get rid of the GetTrack() accessor 2025-03-16 11:29:00 +01:00
Henrik Rydgård
a3b43d8283 Refactor CurrentSample and ResetPlayPosition 2025-03-16 11:18:33 +01:00
Henrik Rydgård
fd9564166b More GetTrack removal 2025-03-16 11:06:52 +01:00
Henrik Rydgård
b406f3a9d1 Move the GetSoundSample implementation behind the AtracBase interface 2025-03-16 09:48:13 +01:00
Henrik Rydgård
5bd1ae5bae Move more validation logic into AtracBase 2025-03-16 09:48:13 +01:00
Henrik Rydgård
beaced1c87 Move loop status and reset info param validation in behind the AtracBase interface 2025-03-16 09:48:13 +01:00
Henrik Rydgård
9788a770a7 Add a DecodeLowLevel wrapper to the AtracBase interface 2025-03-16 09:47:36 +01:00
Henrik Rydgård
c33a86561f Remove the strange "successCode" argument to SetData 2025-03-16 09:00:27 +01:00
Henrik Rydgård
a0b8ceb63c Move logging out of _AtracSetData 2025-03-16 08:53:22 +01:00
Henrik Rydgård
17d7dcdd6c Make sceUtilityLoadAvModule work correctly 2025-03-15 17:40:24 +01:00
Henrik Rydgård
adbceabd93 Show fake-loaded HLE modules in the debugger. Notify Atrac of its address when one is loaded
Will be useful later.
2025-03-15 15:56:11 +01:00
Henrik Rydgård
812b22a224 Atrac: Forward-port comments from the other branches 2025-03-08 23:39:15 +01:00
Henrik Rydgård
65df2bf016 ImDebugger: Add log config window, improve atrac window 2025-03-07 13:47:31 +01:00