Commit Graph

13429 Commits

Author SHA1 Message Date
Giovanni Cocco
bff850dadd per game settings UI PoC 2024-08-06 14:50:23 +02:00
Giovanni Cocco
8920725655 Fix LoadPlugins ini key collision 2024-08-06 11:07:08 +02:00
Lubos
3a6bf77f6b OpenXR - Texts review 2024-08-05 12:45:42 +02:00
Henrik Rydgård
5c368cb965 More buildfixes 2024-07-26 15:22:35 +02:00
Henrik Rydgård
9fb97add3f Bugfixes 2024-07-26 14:22:31 +02:00
Henrik Rydgård
96c4ae4457 TimeUtil: Minor cleanup, add precise_sleep() 2024-07-26 11:25:58 +02:00
Henrik Rydgård
5926886c0c Some include cleanup, delete some obsolete code 2024-07-25 14:52:41 +02:00
Henrik Rydgård
5d4f413085 Demote a very common log message from ERROR to DEBUG 2024-07-23 22:17:06 +02:00
Henrik Rydgård
5fdff10be5 Minor logging tweak 2024-07-23 22:13:24 +02:00
Henrik Rydgård
35ad5f95f2 Minor cleanup 2024-07-23 21:59:23 +02:00
Henrik Rydgård
0d8f194c65
Merge pull request #19361 from lvonasek/feature-openxr-antiflickering
OpenXR - Anti-flickering rendering flow added
2024-07-22 21:12:03 +02:00
Lubos
0f313e1d13 OpenXR - Make camera pitch value floating-point 2024-07-22 15:55:06 +02:00
Lubos
b70c2cfd10 OpenXR - Anti-flickering rendering flow added 2024-07-22 13:33:03 +02:00
Henrik Rydgård
eda60a5df9 IR: Disable unworkable overwriting of instructions on invalidation. Add debug-mode sanity check. 2024-07-22 12:03:53 +02:00
Henrik Rydgård
fd9daf7594 Fix some minor issues found by --sanitize. Add --sanitizeub.
Unfortunately the ub (undefined behavior) sanitizer has some bugs, it doesn't
understand pointers to member functions, so can't use it in-game (due to the
vertex decoder).

Thanks Nemoumbra for the reminder.
2024-07-22 11:37:18 +02:00
Henrik Rydgård
aa7fd6979e Disable preloading of function stubs if bPreloadFunctions is off
Fixes #19349. Strange that the game worked at all.

The issue is that the arena could get resized due to precompile during
sceKernelModuleLoad . Now respect the flag that turns precompile off
properly (we should probably make it work differently instead, if we're
gonna have it).
2024-07-22 09:51:58 +02:00
Henrik Rydgård
44f3d113d0 Buildfix 2024-07-22 09:08:47 +02:00
Henrik Rydgård
85e7ff7ac3 Target->Native renaming. More intuitive (at least to me) 2024-07-22 01:24:34 +02:00
Henrik Rydgård
898774a93d Attempt more thorough block invalidation 2024-07-22 01:22:54 +02:00
Henrik Rydgård
d3e6f19b6d Comments, log, cleanup 2024-07-22 01:15:35 +02:00
Henrik Rydgård
78c75e1a0b Delete duplicate function (now that we can easily check for compileToNative) 2024-07-21 19:17:21 +02:00
Henrik Rydgård
9d36a08ec4 Some renaming, remove a gross hack 2024-07-21 19:12:51 +02:00
Henrik Rydgård
8a535ed5d4 Bugfix in DoIRInst, thanks Nemoumbra 2024-07-21 18:56:22 +02:00
Henrik Rydgård
5939270d2c Log: Split out StdioListener from ConsoleListener, making the second Win32-only. 2024-07-21 13:55:40 +02:00
Henrik Rydgård
5edd02ef0a
Merge pull request #19347 from hrydgard/scefont-fixes
sceFont and savestate fixes
2024-07-20 13:05:08 +02:00
Henrik Rydgård
ef95e24169 Implement compat flag proposed in #18423, forcing readbacks in Juiced 2
In-game, there's no slowdown, and this fixes the decal editor. So it's
no use allowing readbacks to be turned off in this game.

See issue #18423
2024-07-20 11:24:24 +02:00
Henrik Rydgård
a1010e3b2e Add some more checks in sceFont 2024-07-20 10:42:01 +02:00
Henrik Rydgård
30c768a966 sceFont: Improve debug asserts 2024-07-20 10:32:02 +02:00
Henrik Rydgård
8c0910dd6d If a load-state failed (very bad), don't run the frame. 2024-07-20 00:46:13 +02:00
Henrik Rydgård
e504973cf0 On load state failure, don't go off reloading another rewind state, unless we were actually rewinding. 2024-07-20 00:40:21 +02:00
Henrik Rydgård
1eb1a69096 Zip Installation: Show the failed filename in the message 2024-07-20 00:14:23 +02:00
Henrik Rydgård
091535744b SimpleAudioDec: Fix crash in savestate load 2024-07-20 00:00:29 +02:00
Henrik Rydgård
2036e0fcd7
Merge pull request #19343 from hrydgard/retroachievements-leaderboard-position
RetroAchievements leaderboard: Show new rank, or personal best, after submission
2024-07-19 00:57:44 +02:00
Henrik Rydgård
fb2722f2c5 RetroAchievements leaderboard: Show new rank, or personal best, after submission. 2024-07-18 23:15:27 +02:00
Henrik Rydgård
02abd39479
Merge pull request #19341 from hrydgard/dump-binary-notification
Add a clickable notification if "Dump decrypted EBOOT" is enabled
2024-07-18 14:32:29 +02:00
Henrik Rydgård
a95ead4847 Add a clickable notification if "Dump decrypted EBOOT" is enabled
Makes it easier to find the file.
2024-07-18 14:08:22 +02:00
Henrik Rydgård
d331e80542 sceIoGetStat: Fix retrieving timestamps from directories 2024-07-18 13:37:32 +02:00
Henrik Rydgård
fb499bf5bf ARM32: Remove runtime checks for VFPv3 and NEON since we require these when building anyway. 2024-07-17 22:14:24 +02:00
Henrik Rydgård
320a1cfc8f
Merge pull request #19325 from Nabile-Rahmani/display-refresh-rate-option
[Feature] Option to override the display refresh rate
2024-07-17 20:25:38 +02:00
Henrik Rydgård
5d365e262b
Merge pull request #19329 from hrydgard/improve-sceutility-logging
Improve sceUtility logging, assorted cleanup
2024-07-17 17:59:48 +02:00
Henrik Rydgård
3cd0e18556 Apply miniupnp buildfix proposed in #19333
See #19333
2024-07-17 16:23:39 +02:00
Henrik Rydgård
f18715bb7c Some renaming 2024-07-16 22:04:41 +02:00
Henrik Rydgård
4582ee692a More logging changes 2024-07-16 22:04:41 +02:00
Henrik Rydgård
70cb1104dc Kirk: Remove use of uninitialized stack as a random number source
This confused Valgrind and made me think we had another memory bug.

Turns out this is NOT the cause of #13781, which I still don't
understand.
2024-07-16 22:04:41 +02:00
Henrik Rydgård
cde71fc2b3 Misc cleanup 2024-07-16 22:04:41 +02:00
Henrik Rydgård
f8bf0bfbb5 Add some new logging to sceUtility to try to figure out the Silent Hill problem 2024-07-16 22:04:41 +02:00
Katharine Chui
d7fd44280a allow binding custom right stick to analog 2024-07-16 16:06:13 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Nabile Rahmani
9272f02ba2
Initialise framerate-related variables in __DisplayInit()
This takes into account the user configuration a frame in advance.
2024-07-14 08:21:46 +02:00
Nabile Rahmani
273f4cce31
Refresh rate: don't programmatically set configuration, detect VR instead 2024-07-14 04:47:26 +02:00
Nabile Rahmani
1aec09a056
Initialise iDisplayRefreshRate to 60.
Fixes tests as code would read an uninitialised value before the config's constructor gets to run.
2024-07-13 23:08:38 +02:00
Nabile Rahmani
7af15c73bc
[Feature] Option to override the display refresh rate
This adds a per-game graphics option, `DisplayRefreshRate`, to override the display refresh rate.

It defaults to 60 Hz, and is located in Dev tools.

Games using variable timesteps benefit from higher refresh rates.

Closes #19319
2024-07-13 15:04:20 +02:00
Henrik Rydgård
305418813a Add option to control the iOS app switching mode 2024-07-05 20:08:12 +02:00
AdamN
c389ede092
Update deleteAllAdhocSockets 2024-06-29 00:57:16 +07:00
AdamN
9e8e43f7b7
Update NetAdhocPtp_Close 2024-06-29 00:46:44 +07:00
AdamN
2222254f3e
Update NetAdhocPdp_Delete 2024-06-29 00:44:51 +07:00
AdamN
6cccb9cb72
add SD_RECEIVE definition 2024-06-29 00:29:15 +07:00
Henrik Rydgård
982a83d867 IRInterpreter: Optimize variable shifts (no need to mask by 0x1f) 2024-06-24 09:30:21 +02:00
Henrik Rydgård
06315ae6ee IRInterpreter: Slight optimization for fmul
Just put stuff in temporaries, allows for better codegen
2024-06-24 09:12:57 +02:00
Henrik Rydgård
6ebec02f05 Fix crash in JITIR after disassembly improvement.
Fixes #19292
2024-06-22 15:16:27 +02:00
Henrik Rydgård
cbdb2a37eb
Merge pull request #19264 from LunaMoo/30FPS_workarounds
Change GOWFramerateHack30 to FramerateHack30 and workaround timing issues
2024-06-20 11:42:09 +02:00
Henrik Rydgård
06e636bfdc Build and comment fixes 2024-06-19 20:24:59 +02:00
Henrik Rydgård
e64d768113 Implement the same for ARM64 2024-06-19 20:00:36 +02:00
Henrik Rydgård
0080f71ca4 Implement FPU rounding mode support in the IR interpreter for x86/x64 2024-06-19 18:09:38 +02:00
Henrik Rydgård
9ef5250387 IRJit: If we're in "JIT using IR" mode, don't accidentally optimize for the interpreter. 2024-06-11 10:24:08 +02:00
Henrik Rydgård
5bfc0259be Optimize away the redundant vector loads in the Wipeout games. 2024-06-08 23:22:58 +02:00
Henrik Rydgård
2ff91fab2b Optimize a common case of the ins instruction 2024-06-08 23:10:29 +02:00
Henrik Rydgård
c9ca3904d3 Combine move-from-gpr and float cast. 2024-06-08 22:59:48 +02:00
Henrik Rydgård
0abcd00372 IR Interpreter: Don't split up lone lwr/swr/lwl/swl instructions, the interpreter handles them faster. 2024-06-08 22:28:11 +02:00
LunaMoo
1f21ebdff3 Change GOWFramerateHack30 to FramerateHack30 and workaround problems in:
- Blitz: Overtime,
- Brian Lara 2007: Pressure Play.
2024-06-08 18:02:44 +02:00
Henrik Rydgård
0c246297d2 Create an IR op for a FPRtoGPR + shift-right-8, very common 2024-06-07 21:26:20 +02:00
Henrik Rydgård
d1e0384b2f Improve disasm 2024-06-07 19:32:37 +02:00
Henrik Rydgård
bd0beb68a4 Add new IR optimization pass, OptimizeLoadsAfterStores 2024-06-07 19:32:37 +02:00
Henrik Rydgård
da88011805 Specialize a few arithmetic instructions for the interpreter. 2024-06-07 19:32:37 +02:00
Henrik Rydgård
a4c4fb44fb Cleanup 2024-06-07 18:33:48 +02:00
Henrik Rydgård
94ef6d4ce7 Fix savestates (oops) 2024-06-07 18:33:40 +02:00
Henrik Rydgård
7ef6cdb515 Improve accuracy of block timing 2024-06-07 10:17:16 +02:00
Henrik Rydgård
a6f398a7d2 Add IRJit arena overflow check 2024-06-07 10:17:01 +02:00
Henrik Rydgård
8d6e96d04e Use binary search to find IR block offsets 2024-06-07 09:28:27 +02:00
Henrik Rydgård
ee6ba74c88 Store IRInst offsets instead of block indices 2024-06-07 09:28:27 +02:00
Henrik Rydgård
5526ef012c Store IR instructions in a large arena vector instead of loosely in each block. 2024-06-07 09:28:27 +02:00
Henrik Rydgård
0ea9120ca5 Add a stats view 2024-06-06 19:21:50 +02:00
Henrik Rydgård
d1a00f61de Improve disassembly of CallReplacement IR op 2024-06-06 15:24:58 +02:00
Henrik Rydgård
584d07ea8e iOS: Implement basic physical keyboard support 2024-06-05 23:27:03 +02:00
Henrik Rydgård
ff48de1636
Merge pull request #19255 from hrydgard/ir-interpret-profiling
Add built-in IR Interpreter profiler
2024-06-05 20:46:26 +02:00
Henrik Rydgård
294593f741 Fix IR profiling 2024-06-05 19:12:08 +02:00
Henrik Rydgård
5583dc10d5 Hook up profiling, something is wrong 2024-06-05 18:58:33 +02:00
Henrik Rydgård
3bb74ea9ad Rework the JitCompare window to hold a list of blocks, and allow some filtering and browsing 2024-06-05 18:16:33 +02:00
Henrik Rydgård
feeddbabe3 Redesign the jit compare screen a bit (add a top bar) 2024-06-05 16:13:38 +02:00
Henrik Rydgård
338758f430 iOS: Fix "Home" button on controllers (like the PS logo button on a PS4 controller) 2024-06-05 15:01:02 +02:00
Henrik Rydgård
ba1ced77c3 IRJit block profiling basics 2024-06-05 13:02:40 +02:00
Henrik Rydgård
510cf1891b Random UWP text bugfix. Some warning fixes. 2024-06-05 12:38:43 +02:00
Henrik Rydgård
ab257e335f Ugprade miniupnp submodule to latest
Maybe will help #19246, but no idea really.

Windows buildfix

UWP buildfix

miniupnpc path fixes

libretro buildfix attempt, android.mk
2024-06-05 00:18:00 +02:00
Henrik Rydgård
a653939380 Avoid crashing when atrac3 decoders fail to init due to bad params. Fixes Kosmodrones (though no music). 2024-06-03 12:01:42 +02:00
Henrik Rydgård
becc145099 Improve code generation for some IRInterpreter ops 2024-06-02 10:25:04 +02:00
Henrik Rydgård
d4e3597ddb Minor codegen improvement 2024-06-02 10:23:44 +02:00
Henrik Rydgård
3b5c71170c IRInterpreter: Various SIMD optimization. Move out the reverse-bits implementation 2024-06-01 20:29:03 +02:00
Henrik Rydgård
49b0af20ca IRInterpreter: Reorder some ops towards the end, trying to keep "hot" ops together 2024-06-01 18:06:31 +02:00
Henrik Rydgård
533f8f06be Unify DrawString between Windows, UWP and Android. More to come. 2024-05-31 17:27:59 +02:00
Henrik Rydgård
5999690af5 i18n: Remove our awkward ampersand-escape support, except in [DesktopUI] 2024-05-31 09:45:59 +02:00
Henrik Rydgård
d29a2a2b8c Make the "Pause when not focused" setting available in the regular settings menu 2024-05-29 13:06:49 +02:00
Henrik Rydgård
869139078a Do the same for the current browsed directory 2024-05-29 10:16:48 +02:00
Henrik Rydgård
606a895985 iOS: Update recents paths on load
Fixes the main part of #19211
2024-05-29 10:12:20 +02:00
Henrik Rydgård
35c40196d4 Implement UI for setting up the iOS audio modes 2024-05-27 15:17:47 +02:00
Henrik Rydgård
e5baebf139 Prevent a buffer overflow at the end of Atrac tracks.
Fixes #19177
2024-05-27 12:36:19 +02:00
Henrik Rydgård
6817858d61 Use a hacked MoltenVK that can be loaded (but doesn't work) on iOS 12.
See https://github.com/KhronosGroup/MoltenVK/issues/2240
2024-05-26 16:45:29 +02:00
Henrik Rydgård
f2837e3b55 JIT compare screen with IR blocks - fix some crashing issues 2024-05-26 14:10:50 +02:00
Henrik Rydgård
7464b5f17b IRInterpreter: Enable some optimizations that accidentally were only enabled on non-ARM64. 2024-05-26 13:41:31 +02:00
Henrik Rydgård
e75e7a0e43 Add an optimizeForInterpreter flag 2024-05-26 13:41:31 +02:00
Henrik Rydgård
d46a7ed228 iOS gamepad mapping: Better mapping, better defaults. Fixes the start button problem.
controller.controllerPausedHandler should not be set.
2024-05-26 11:12:13 +02:00
Henrik Rydgård
c26de64d0f iOS: Pass through touches near the task switcher only in-game. Makes the UI better behaved. 2024-05-26 10:27:14 +02:00
Henrik Rydgård
bdf7f5f40f IRInterpreter: Fix issue where we could accidentally optimize out CallReplacement ops. 2024-05-26 00:12:48 +02:00
Henrik Rydgård
ccbcf1369b Convert DrawString* functions to use std::string_view 2024-05-24 22:52:51 +02:00
Henrik Rydgård
fea6727ffd Add a convenience method to VulkanContext to reduce code duplication
Will need the exact same code for iOS.
2024-05-23 02:13:54 +02:00
Henrik Rydgård
5e3abe3def IRInterpreter compiler: Reject all vec2ops where the prefix is unknown
Fixes #19164

May help #19172
2024-05-22 23:19:14 +02:00
Henrik Rydgård
5042555d7b Make a dedicated system request KEEP_SCREEN_BRIGHT, unify behavior between Windows and Android more 2024-05-20 14:03:54 +02:00
Henrik Rydgård
dd6a04a525 iOS: Default to 2x internal resolution, slight build script improvements 2024-05-20 10:04:11 +02:00
Henrik Rydgård
aa94867128 Warning fixes 2024-05-20 10:04:11 +02:00
Henrik Rydgård
f6f45dda0a Disable the JIT hackery in app store builds 2024-05-20 10:04:11 +02:00
Henrik Rydgård
a059750f5a Add basic checkbox UI for GPI switched, add display of GPO LEDs
Try it with Parappa.
2024-05-12 18:01:25 +02:00
Henrik Rydgård
9dc8c05fae
Merge pull request #19038 from GermanAizek/all-fields-init-refactor
[Core/GL/UI] Not all fields initilize and minor code refactor
2024-05-12 17:05:39 +02:00
Herman Semenov
27d0ac6cce [Util] Fixed strict reduce to 32 bit types for progressReporter.SetProgress() 2024-05-11 19:50:35 -05:00
Herman Semenov
f75d7d13a0 [Net/Web] Fixed strict reduce types to 32 bit sizes, changed to memsize 2024-05-11 19:43:13 -05:00
Henrik Rydgård
fae846e52a Remove the count parameter from IRInterpret. This is a good speed boost! 2024-05-10 23:31:24 +02:00
Henrik Rydgård
7a097cb34a Shave a couple instructions in the common case 2024-05-10 23:23:58 +02:00
Henrik Rydgård
c332d564db IRInterpreter: Cache the MIPSState pointer in a local, faster address check 2024-05-10 23:21:51 +02:00
Henrik Rydgård
ad541f204b
Merge pull request #19127 from lvonasek/feature-openxr-projection
OpenXR - Projection matrix (camera issue) fixed
2024-05-10 22:22:31 +02:00
Henrik Rydgård
d21fef52ae Allow taking screenshots in the app menu 2024-05-10 21:10:11 +02:00
Lubos
e76a5b1d3d OpenXR - Gran Turismo projection hack 2024-05-10 19:40:13 +02:00
Henrik Rydgård
092179c42d More IR interpreter tweaks 2024-05-10 18:41:55 +02:00
Henrik Rydgård
91d9ef9b81 Minor IR interpreter optimization 2024-05-10 18:27:29 +02:00
Henrik Rydgård
70ae4a35c1 Fix faulty formula for block transfer size-check. 2024-05-10 13:50:49 +02:00
Henrik Rydgård
8bfba2ce35 Fix mono audio with sceAtracLowLevelDecode.
Fixes #19117
2024-05-10 13:36:37 +02:00
Nemoumbra
8409914b79 Added deciphering of ~SCE headers (cracked by me) 2024-05-09 04:43:45 +03:00
Lubos
7f127e3567 Revert "OpenXR - Projection matrix on Quest 3 fixed"
This reverts commit 4d61896403.
2024-05-08 21:57:31 +02:00
Henrik Rydgård
0b91aa50ee Improve memory safety, add bugfix to little-used sysclib functions 2024-05-05 14:19:49 +02:00
Henrik Rydgård
c004bea5e4 Use memchr in IsValidNullTerminatedString 2024-05-05 12:23:36 +02:00
Henrik Rydgård
85f8fd0bdb Safety fix for GetCharPointer
Uses IsValidNullTerminatedString from #19103 by Kethen
2024-05-05 12:09:08 +02:00
Henrik Rydgård
dae44c1120 SavedataParam: optimize PSPMatch 2024-05-05 11:51:31 +02:00
Henrik Rydgård
d769c3223c Fix camera mirroring color issue, fix warning 2024-05-05 11:20:29 +02:00
Henrik Rydgård
e631be3607 Make a simpler CMakeLists.txt for zstd 2024-05-04 10:48:54 +02:00
Henrik Rydgård
60ffd07116
Merge pull request #19104 from hrydgard/path-browser-root
Add ability to limit PathBrowser to a specific root folder
2024-05-03 19:13:33 +01:00
Henrik Rydgård
ae1ee41eb0 Add functionality to limit a pathbrowser to a specific root 2024-05-03 17:54:57 +02:00
Henrik Rydgård
e7cfb5234f Improve checks for JIT ability
Prep for iOS
2024-05-03 16:49:28 +02:00
Katharine Chui
47c7fab928 optimize Memory::IsValidNullTerminatedString 2024-05-03 21:00:26 +08:00
Katharine Chui
b570cacd90 add Memory::IsValidNullTerminatedString 2024-05-01 22:58:01 +08:00
Katharine Chui
49cd9c76d9 sysclib_sprintf psp memory bound checking instead of length limits 2024-05-01 20:23:47 +08:00
Katharine Chui
fa0eaebfb5 cleanup 2024-05-01 17:32:13 +08:00
Katharine Chui
7ff48f97c3 implement sysclib_sprintf 2024-05-01 01:43:24 +08:00
Henrik Rydgård
b0a71d450d Use new API to notify raintegration of the console ID 2024-04-30 00:49:55 +02:00
Henrik Rydgård
443bdef239
Merge pull request #19096 from hrydgard/retroachievements-for-homebrew
RetroAchievements: Add support for hashing homebrew
2024-04-29 22:43:04 +01:00
Henrik Rydgård
167fabaa56 Increase the hashing limit to 64MB, to match rcheevos' rhash max limit 2024-04-29 23:33:04 +02:00
Henrik Rydgård
7a6d646beb RetroAchievements: Add support for hashing homebrew
We finally defined a method in https://github.com/RetroAchievements/rcheevos/issues/244 .
2024-04-29 20:33:23 +02:00
Henrik Rydgård
917f5897bd Add back a lost-in-refactoring hack for the SasAudio/sceAtrac integration.
Fixes #19075
2024-04-29 19:58:11 +02:00
Henrik Rydgård
0e57cf30c7 ARM64: Disable the JIT implementation of the vh2f instruction, not accurate 2024-04-29 11:32:54 +02:00
AdamN
bbe2c341ed
oops 2024-04-20 12:41:27 +07:00
AdamN
1cf7254cb0
Update sceAudio.cpp 2024-04-20 12:06:49 +07:00
Henrik Rydgård
7d46f5a0a8
Merge pull request #19074 from hrydgard/more-atrac-updates
More sceAtrac code cleanup and comments
2024-04-17 01:37:27 +02:00
Henrik Rydgård
5b625bfd3e Share GetSecondBufferInfo between implementations 2024-04-16 23:07:03 +02:00
Henrik Rydgård
f05f9a6de3 Code cleanup and comments 2024-04-16 22:54:53 +02:00
Henrik Rydgård
23a913ebe4
Merge pull request #19071 from hrydgard/decoder-interface-change
Refactor: Change *outBytes to *outSamples in AudioDecoder::Decode.
2024-04-16 22:29:28 +02:00
Henrik Rydgård
dbd774040e Add option to mirror the camera image horizontally.
Only for Windows right now - since the PSP expects the image as a JPEG and
the various backends deliver it as such, we have to add
platform-specific code to mirror the image pre-compression.
2024-04-16 20:33:06 +02:00
Henrik Rydgård
1b366afa35 Refactor: Change *outBytes to *outSamples in AudioDecoder::Decode. 2024-04-16 15:31:11 +02:00
Henrik Rydgård
5470885178 Add some basics. 2024-04-15 14:08:01 +02:00
Henrik Rydgård
f3d6c93339 Add empty AtracCtx2 implementation, and a dev setting to select it. Savestates don't work. 2024-04-15 13:50:16 +02:00
Henrik Rydgård
5e8a46fde0 Slim down the AtracBase class 2024-04-15 12:50:51 +02:00
Henrik Rydgård
6c648a2cdd Use AtracBase instead of Atrac in sceAtrac (so now we can replace it) 2024-04-15 12:50:51 +02:00
Henrik Rydgård
14f141b1b8 Split Atrac into AtracBase and Atrac 2024-04-15 12:50:50 +02:00
Henrik Rydgård
d03f2a5888 Atrac: Add missing accessors 2024-04-15 12:50:50 +02:00
Henrik Rydgård
a866e07082
Merge pull request #19063 from hrydgard/atrac-change-databuf-check
atrac: Change the databuf check in sceAtracDecodeData
2024-04-15 12:50:38 +02:00
Henrik Rydgård
4680d87fcd Change the databuf check in sceAtracDecodeData
Making a separate commit for bisection's sake.
2024-04-15 12:19:39 +02:00
Henrik Rydgård
d402068745 Fix mono output from Atrac decoders. (sceAtrac*MOut* functions) 2024-04-15 11:50:32 +02:00
Henrik Rydgård
3e49a32fa8 Comment fixes 2024-04-15 11:16:03 +02:00
Henrik Rydgård
fcf0d8e06e Add an outputChannels parameter to SetData to simplify the code 2024-04-15 11:16:03 +02:00
Henrik Rydgård
3c700aab35 Break out the separate analyze functions. 2024-04-15 11:16:00 +02:00
Henrik Rydgård
9d0dac5acb Move channels into Track 2024-04-15 11:13:47 +02:00
Henrik Rydgård
0a275883ec Move bitrate and jointstereo fields into Atrac 2024-04-15 11:13:47 +02:00
Henrik Rydgård
5c1ab7e699 Move dataOff into Track 2024-04-15 11:13:45 +02:00
Henrik Rydgård
fe17ff6e69 Move loop info into Track 2024-04-15 11:12:47 +02:00
Henrik Rydgård
15b71af95f Move endSample into track_ 2024-04-15 11:12:45 +02:00
Henrik Rydgård
3f96f69b70 Move firstSampleOffset_ into Track 2024-04-15 11:08:47 +02:00
Henrik Rydgård
976f7e5ce6 Move bytesPerFrame into track 2024-04-15 11:06:40 +02:00
Henrik Rydgård
babf2e1a3a Move codecType_ into track_ 2024-04-15 11:06:40 +02:00
Henrik Rydgård
efd9962c6e Start separating out static track parameters: Move first_.filesize to track_.fileSize 2024-04-15 11:06:40 +02:00
Henrik Rydgård
bd84e30553 Start breaking out Analyze* functions 2024-04-15 11:06:40 +02:00
Henrik Rydgård
c9f5ccee3e Add comment 2024-04-15 11:06:11 +02:00
Henrik Rydgård
2a3b6b8cfb Remove unnecessary check, allowing us to de-indent 2024-04-14 16:29:20 +02:00
Henrik Rydgård
0f0149d08b Split out the Atrac context class into AtracCtx.cpp/h 2024-04-14 14:48:42 +02:00
Henrik Rydgård
9bb136f871 Remove an unnecessary enum 2024-04-14 14:48:41 +02:00
Henrik Rydgård
c7c7e0a36d Fix the AxisSwap feature - had a double mutex lock, oops. 2024-04-14 13:43:20 +02:00
Henrik Rydgård
35578f0a2e More member functions 2024-04-14 11:25:19 +02:00
Henrik Rydgård
eeaa3c8445 Make more functions member functions of Atrac 2024-04-14 10:55:17 +02:00
Henrik Rydgård
7d3fc65478 Make Decode and GetResetBufferInfo member functions of Atrac. 2024-04-14 10:48:01 +02:00
Henrik Rydgård
eef667c5ac Separate the external interface used by sceSas 2024-04-14 10:40:12 +02:00
Henrik Rydgård
09be5935ab Add accessor for bufferState_, cleanup 2024-04-14 10:26:41 +02:00
Henrik Rydgård
aec3fa99e5
Merge pull request #19032 from GermanAizek/fix-always-false-true
Fixed conditions always false using unsigned type and logical AND 0x0 & 0x4
2024-04-13 11:28:45 +02:00
Henrik Rydgård
effae82208 sceAtrac: Do some renaming to make things make more sense 2024-04-13 10:35:39 +02:00
Henrik Rydgård
a1ac79c183 Remove all remaining FFMPEG use from sceAtrac. 2024-04-13 00:45:25 +02:00
Henrik Rydgård
242a87b2dd Inline FillPacket to make the next step easier 2024-04-13 00:26:37 +02:00
Henrik Rydgård
ea07fdbd86 sceAtrac: Create standalone decoders as well as ffmpeg. Implement LowLevelDecode. 2024-04-13 00:19:04 +02:00