-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Deny PKG installation without RAP #17828
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
I think the message only creates more questions than answers. |
|
|
||
| if (std::count(missing_licenses_short.begin(), missing_licenses_short.end(), '\n') < 5) | ||
| { | ||
| missing_licenses_short += std::string_view(filepath).substr(filepath.find_last_of(fs::delim) + 1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the purpose of casting to stringview here?
| return {}; | ||
| } | ||
|
|
||
| if (npd->license == 1) // Network license. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switch
| } | ||
|
|
||
| // Check the ELF file class (32 or 64 bit). | ||
| const bool isElf32 = IsSelfElf32(elf_or_self); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
snake_case
| return m_file; | ||
| } | ||
|
|
||
| const std::string& gep_needed_rap_file_path() const |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| const std::string& gep_needed_rap_file_path() const | |
| const std::string& get_needed_rap_file_path() const |
|
|
||
| for (const auto& reader : readers) | ||
| { | ||
| if (std::string filepath = reader.gep_needed_rap_file_path(); !filepath.empty() && fs::is_file(filepath)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this be !fs::is_file ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is a debug change that sleeped 👍
| "\nEnsure the .rap license file is placed in the dev_hdd0/home/%s/exdata folder with a lowercase file extension." | ||
| "\nIf you need assistance on dumping the license file from your PS3, read our quickstart guide: https://rpcs3.net/quickstart", missing_licenses, Emu.GetUsr()); | ||
|
|
||
| QString error = tr("Failed to locate the game license file(s):\n\n%1\nEnsure the .rap license file(s) are placed in the dev_hdd0 folder with a lowercase file extension.").arg(QString::fromStdString(missing_licenses_short)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| QString error = tr("Failed to locate the game license file(s):\n\n%1\nEnsure the .rap license file(s) are placed in the dev_hdd0 folder with a lowercase file extension.").arg(QString::fromStdString(missing_licenses_short)); | |
| const QString error = tr("Failed to locate the game license file(s):\n\n%1\nEnsure the .rap license file(s) are placed in the dev_hdd0 folder with a lowercase file extension.").arg(QString::fromStdString(missing_licenses_short)); |
| QString last_pkg_path_postponed_due_to_missing_rap; | ||
| QString last_rap_file_needed_for_pkg; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this do ? too lazy
| QString last_pkg_path_postponed_due_to_missing_rap; | |
| QString last_rap_file_needed_for_pkg; | |
| QString m_last_pkg_path_postponed_due_to_missing_rap; | |
| QString m_last_rap_file_needed_for_pkg; |
The log error is remained, and if you install multiple PKGs it would only print the missing RAP file path.

Relates to #17805
Edit: Added RAP redemption: if you failed to have RAP while attempting to install PKG, drag-and-droping the needed RAP file would re-attempt the PKG installation like magic. RPCS3 uses advanced AI to read your mind's intentions.