shadPS4/src/core/libraries/app_content
Stephen Miller d1f9594b9d
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
libSceAppContent: Determine entitlement labels from additional content param.sfo (#3405)
* Update app_content.cpp

* Use hyphenation to determine entitlement id from folder name

The original approach I took had two limitations: it relied on entitlement ids being 16 characters long, and it relied on the end of the folder name containing the entitlement. If the former wasn't the case, my code would throw an exception, while the latter would cause the DLC to not detect.
To resolve both issues, I've created a more robust algorithm based on observations from the most commonly used PS4 dumpers for modern firmware.

* Use DLC param.sfo to determine entitlement id

While the logic ends up slightly more complex, this makes the code more robust for other dumping methods/weird DLC folder names from people installing DLC manually.

* Update sceAppContentAddcontMount to properly detect additional content folders

Based on what I've done in sceAppContentInitialize, I've added code for detecting the correct folder to mount.
I've also removed the redundant check for addcont_info status, since we're marking all additional content as installed during sceAppContentInitialize
2025-08-10 00:19:08 +03:00
..
app_content_error.h core: Library cleanup (#1631) 2024-11-30 22:37:36 +02:00
app_content.cpp libSceAppContent: Determine entitlement labels from additional content param.sfo (#3405) 2025-08-10 00:19:08 +03:00
app_content.h libSceAppContent: Determine entitlement labels from additional content param.sfo (#3405) 2025-08-10 00:19:08 +03:00