mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Merge pull request #20448 from hrydgard/last-fixes
Minor UI fixes, RetroAchivement crash fix, bump shader cache version
This commit is contained in:
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());
|
||||
{
|
||||
|
||||
@@ -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
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -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 ¶ms) {
|
||||
}
|
||||
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_;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user