DiscIO: Centralize the banner pointer and validity boolean into IBannerLoader

These are both used within the banner loaders, and IsValid is exactly the
same. So this makes sense.
This commit is contained in:
Lioncash 2014-06-29 15:38:48 -04:00
parent d800b5fb74
commit f78b94077e
5 changed files with 13 additions and 30 deletions

View File

@ -19,18 +19,27 @@ class IBannerLoader
{
public:
IBannerLoader()
: m_pBannerFile(nullptr)
, m_IsValid(false)
{}
virtual ~IBannerLoader()
{}
virtual bool IsValid() = 0;
virtual std::vector<u32> GetBanner(int* pWidth, int* pHeight) = 0;
virtual std::vector<std::string> GetNames() = 0;
virtual std::string GetCompany() = 0;
virtual std::vector<std::string> GetDescriptions() = 0;
bool IsValid()
{
return m_IsValid;
}
protected:
bool m_IsValid;
u8* m_pBannerFile;
};
IBannerLoader* CreateBannerLoader(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVolume *pVolume);

View File

@ -16,9 +16,7 @@
namespace DiscIO
{
CBannerLoaderGC::CBannerLoaderGC(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVolume* volume)
: m_pBannerFile(nullptr)
, m_IsValid(false)
, m_country(volume->GetCountry())
: m_country(volume->GetCountry())
{
// load the opening.bnr
size_t FileSize = (size_t) _rFileSystem.GetFileSize("opening.bnr");
@ -49,12 +47,6 @@ CBannerLoaderGC::~CBannerLoaderGC()
}
}
bool CBannerLoaderGC::IsValid()
{
return m_IsValid;
}
std::vector<u32> CBannerLoaderGC::GetBanner(int* pWidth, int* pHeight)
{
std::vector<u32> Buffer;

View File

@ -26,8 +26,6 @@ public:
CBannerLoaderGC(DiscIO::IFileSystem& _rFileSystem, DiscIO::IVolume* volume);
virtual ~CBannerLoaderGC();
virtual bool IsValid() override;
virtual std::vector<u32> GetBanner(int* pWidth, int* pHeight) override;
virtual std::vector<std::string> GetNames() override;
@ -79,10 +77,7 @@ private:
return string_decoder(std::string(data, strnlen(data, sizeof(data))));
}
u8* m_pBannerFile;
bool m_IsValid;
BANNER_TYPE m_BNRType;
BANNER_TYPE getBannerType();
DiscIO::IVolume::ECountry const m_country;

View File

@ -21,8 +21,6 @@ namespace DiscIO
{
CBannerLoaderWii::CBannerLoaderWii(DiscIO::IVolume *pVolume)
: m_pBannerFile(nullptr)
, m_IsValid(false)
{
u64 TitleID;
pVolume->GetTitleID((u8*)&TitleID);
@ -95,11 +93,6 @@ CBannerLoaderWii::~CBannerLoaderWii()
}
}
bool CBannerLoaderWii::IsValid()
{
return m_IsValid;
}
std::vector<u32> CBannerLoaderWii::GetBanner(int* pWidth, int* pHeight)
{
SWiiBanner* pBanner = (SWiiBanner*)m_pBannerFile;

View File

@ -23,8 +23,6 @@ public:
virtual ~CBannerLoaderWii();
virtual bool IsValid() override;
virtual std::vector<u32> GetBanner(int* pWidth, int* pHeight) override;
virtual std::vector<std::string> GetNames() override;
@ -57,11 +55,7 @@ private:
u16 m_Comment[2][COMMENT_SIZE];
u8 m_BannerTexture[TEXTURE_SIZE];
u8 m_IconTexture[8][ICON_SIZE];
} ;
u8* m_pBannerFile;
bool m_IsValid;
};
bool GetStringFromComments(const CommentIndex index, std::string& s);
};