Merge pull request #20448 from hrydgard/last-fixes

Minor UI fixes, RetroAchivement crash fix, bump shader cache version
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2025-06-05 12:00:56 +02:00
commit e6cee88b73
7 files changed
+32 -7

No files matched your search

@@ -491,6 +491,7 @@ void VulkanRenderManager::DestroyBackbuffers() {
queueRunner_.DestroyBackBuffers();
}
// Hm, I'm finding the occasional report of these asserts.
void VulkanRenderManager::CheckNothingPending() {
_assert_(pipelinesToCheck_.empty());
{
+1 -1
View File
@@ -265,7 +265,7 @@ static uint32_t read_memory_callback(uint32_t address, uint8_t *buffer, uint32_t
uint32_t orig_address = address;
address += PSP_MEMORY_OFFSET;
if (!Memory::ValidSize(address, num_bytes)) {
if (!Memory::IsValidRange(address, num_bytes)) {
// Some achievement packs are really, really spammy.
// So we'll just count the bad accesses.
Achievements::g_stats.badMemoryAccessCount++;
+18 -1
View File
@@ -381,7 +381,24 @@ static bool CPU_Init(FileLoader *fileLoader, IdentifiedFileType type, std::strin
if ((g_logManager.GetOutputsEnabled() & LogOutput::File) && !g_logManager.GetLogFilePath().empty()) {
auto dev = GetI18NCategory(I18NCat::DEVELOPER);
g_OSD.Show(OSDType::MESSAGE_INFO, ApplySafeSubstitutions("%1: %2", dev->T("Log to file"), g_logManager.GetLogFilePath().ToVisualString()));
std::string logPath = g_logManager.GetLogFilePath().ToString();
// TODO: Really need a cleaner way to make clickable path notifications.
char *path = new char[logPath.size() + 1];
strcpy(path, logPath.data());
g_OSD.Show(OSDType::MESSAGE_INFO, ApplySafeSubstitutions("%1: %2", dev->T("Log to file"), g_logManager.GetLogFilePath().ToVisualString()), 0.0f, "log_to_file");
if (System_GetPropertyBool(SYSPROP_CAN_SHOW_FILE)) {
g_OSD.SetClickCallback("log_to_file", [](bool clicked, void *userdata) {
char *path = (char *)userdata;
if (clicked) {
System_ShowFileInFolder(Path(path));
} else {
delete[] path;
}
}, path);
}
}
InitVFPU();
+1 -1
View File
@@ -975,7 +975,7 @@ enum class CacheDetectFlags {
};
#define CACHE_HEADER_MAGIC 0x83277592
#define CACHE_VERSION 37
#define CACHE_VERSION 38
struct CacheHeader {
uint32_t magic;
+1 -1
View File
@@ -492,7 +492,7 @@ enum class VulkanCacheDetectFlags {
};
#define CACHE_HEADER_MAGIC 0xff51f420
#define CACHE_VERSION 52
#define CACHE_VERSION 53
struct VulkanCacheHeader {
uint32_t magic;
+1
View File
@@ -564,6 +564,7 @@ UI::EventReturn GameScreen::OnDeleteGame(UI::EventParams &e) {
std::shared_ptr<GameInfo> info = g_gameInfoCache->GetInfo(NULL, gamePath, GameInfoFlags::PARAM_SFO);
info->Delete();
g_gameInfoCache->Clear();
g_recentFiles.Remove(gamePath.c_str());
sm->switchScreen(new MainScreen());
}
}));
+9 -3
View File
@@ -102,8 +102,12 @@ void InstallZipScreen::CreateViews() {
installChoice_ = rightColumnItems->Add(new Choice(iz->T("Install")));
installChoice_->OnClick.Handle(this, &InstallZipScreen::OnInstall);
playChoice_ = rightColumnItems->Add(new Choice(ga->T("Play")));
playChoice_->OnClick.Handle(this, &InstallZipScreen::OnPlay);
// NOTE: We detect PBP isos (like demos) as game dirs currently. Can't play them directly.
if (zipFileInfo_.contents == ZipFileContents::ISO_FILE) {
playChoice_ = rightColumnItems->Add(new Choice(ga->T("Play")));
playChoice_->OnClick.Handle(this, &InstallZipScreen::OnPlay);
}
returnToHomebrew_ = true;
showDeleteCheckbox = true;
@@ -214,6 +218,7 @@ UI::EventReturn InstallZipScreen::OnInstall(UI::EventParams &params) {
}
if (g_GameManager.InstallZipOnThread(task)) {
installStarted_ = true;
playChoice_->SetEnabled(false); // need to exit this screen to played the installed one. We could make this smarter.
if (installChoice_) {
installChoice_->SetEnabled(false);
}
@@ -243,8 +248,9 @@ void InstallZipScreen::update() {
if (doneView_)
doneView_->SetText(iz->T(err));
} else if (installStarted_) {
if (doneView_)
if (doneView_) {
doneView_->SetText(iz->T("Installed!"));
}
MainScreen::showHomebrewTab = returnToHomebrew_;
}
}