From 9161c1e2895318b68c9940cf10fff2a1e0fcda43 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sat, 22 Jun 2013 23:25:22 +0200 Subject: [PATCH] Use unknown.png for missing pbp/elf icons --- UI/GameInfoCache.cpp | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/UI/GameInfoCache.cpp b/UI/GameInfoCache.cpp index bfa8e8be6d..2ce862fa2a 100644 --- a/UI/GameInfoCache.cpp +++ b/UI/GameInfoCache.cpp @@ -21,6 +21,7 @@ #include "base/timeutil.h" #include "base/stringutil.h" #include "file/file_util.h" +#include "file/zip_read.h" #include "image/png_load.h" #include "thread/prioritizedworkqueue.h" #include "GameInfoCache.h" @@ -181,15 +182,21 @@ public: if (pbp.GetSubFileSize(PBP_ICON0_PNG) > 0) { pbp.GetSubFileAsString(PBP_ICON0_PNG, &info_->iconTextureData); } else { - // We should load a default image here. + // Read standard icon + size_t sz; + uint8_t *contents = ReadLocalFile("assets/unknown.png", &sz); + { + lock_guard lock(info_->lock); + info_->iconTextureData = std::string((const char *)contents, sz); + } + delete [] contents; } } if (info_->wantBG) { - { + if (pbp.GetSubFileSize(PBP_PIC1_PNG) > 0) { lock_guard lock(info_->lock); - if (pbp.GetSubFileSize(PBP_PIC1_PNG) > 0) - pbp.GetSubFileAsString(PBP_PIC1_PNG, &info_->pic1TextureData); + pbp.GetSubFileAsString(PBP_PIC1_PNG, &info_->pic1TextureData); } } } @@ -199,6 +206,18 @@ public: info_->id = "ELF000000"; info_->id_version = "ELF000000_1.00"; info_->paramSFOLoaded = true; + + { + // Read standard icon + size_t sz; + uint8_t *contents = ReadLocalFile("assets/unknown.png", &sz); + { + lock_guard lock(info_->lock); + info_->iconTextureData = std::string((const char *)contents, sz); + } + delete [] contents; + } + return; case FILETYPE_PSP_ISO: