Skip to content

Conversation

@elad335
Copy link
Contributor

@elad335 elad335 commented Dec 6, 2025

The log error is remained, and if you install multiple PKGs it would only print the missing RAP file path.
image

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.

@Megamouse
Copy link
Contributor

I think the message only creates more questions than answers.
You can just drag and drop the file after all


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);
Copy link
Contributor

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.
Copy link
Contributor

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);
Copy link
Contributor

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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))
Copy link
Contributor

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 ?

Copy link
Contributor Author

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));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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));

Comment on lines +54 to +55
QString last_pkg_path_postponed_due_to_missing_rap;
QString last_rap_file_needed_for_pkg;
Copy link
Contributor

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

Suggested change
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;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants