[PR #3405] [MERGED] libSceAppContent: Determine entitlement labels from additional content param.sfo #3442

Closed
opened 2026-02-27 22:03:43 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/3405
Author: @StevenMiller123
Created: 8/9/2025
Status: Merged
Merged: 8/9/2025
Merged by: @georgemoralis

Base: mainHead: test-hotfix


📝 Commits (4)

  • 046f236 Update app_content.cpp
  • b311941 Use hyphenation to determine entitlement id from folder name
  • 7a80a16 Use DLC param.sfo to determine entitlement id
  • db9e53b Update sceAppContentAddcontMount to properly detect additional content folders

📊 Changes

2 files changed (+93 additions, -19 deletions)

View changed files

📝 src/core/libraries/app_content/app_content.cpp (+92 -19)
📝 src/core/libraries/app_content/app_content.h (+1 -0)

📄 Description

The approach I took to deriving the entitlement label for additional content files in #3375 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 adjusted the code to search for entitlement labels from the param.sfo of the additional content instead, which should behave consistently regardless of dumping method.

I've also fixed an additional issue with sceAppContentAddcontMount, where the addcont directory wasn't mounted correctly if the folder name wasn't just the entitlement label.

This should fix any regressions seen by people who installed DLC with smaller entitlement labels prior to #3375


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/3405 **Author:** [@StevenMiller123](https://github.com/StevenMiller123) **Created:** 8/9/2025 **Status:** ✅ Merged **Merged:** 8/9/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `test-hotfix` --- ### 📝 Commits (4) - [`046f236`](https://github.com/shadps4-emu/shadPS4/commit/046f2365354173a7952f8a177fb931bab400fb5f) Update app_content.cpp - [`b311941`](https://github.com/shadps4-emu/shadPS4/commit/b311941c71dd9f5f1bd82100f44830351bbafac2) Use hyphenation to determine entitlement id from folder name - [`7a80a16`](https://github.com/shadps4-emu/shadPS4/commit/7a80a168dbc3abcf1242e40eb6ae88f4a10f1a6d) Use DLC param.sfo to determine entitlement id - [`db9e53b`](https://github.com/shadps4-emu/shadPS4/commit/db9e53be96e863c75efb3328729e7723c60d5bf2) Update sceAppContentAddcontMount to properly detect additional content folders ### 📊 Changes **2 files changed** (+93 additions, -19 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/app_content/app_content.cpp` (+92 -19) 📝 `src/core/libraries/app_content/app_content.h` (+1 -0) </details> ### 📄 Description The approach I took to deriving the entitlement label for additional content files in #3375 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 adjusted the code to search for entitlement labels from the param.sfo of the additional content instead, which should behave consistently regardless of dumping method. I've also fixed an additional issue with sceAppContentAddcontMount, where the addcont directory wasn't mounted correctly if the folder name wasn't just the entitlement label. This should fix any regressions seen by people who installed DLC with smaller entitlement labels prior to #3375 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:03:43 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#3442
No description provided.