add the function to read the game name and description from the banner as unicode
This commit is contained in:
parent
a73ad3554c
commit
7f4efa094e
|
@ -39,10 +39,11 @@ class IBannerLoader
|
||||||
virtual bool GetBanner(u32* _pBannerImage) = 0;
|
virtual bool GetBanner(u32* _pBannerImage) = 0;
|
||||||
|
|
||||||
virtual bool GetName(std::string* _rName) = 0;
|
virtual bool GetName(std::string* _rName) = 0;
|
||||||
|
virtual bool GetName(std::vector<std::wstring>& _rNames) {return false;};
|
||||||
virtual bool GetCompany(std::string& _rCompany) = 0;
|
virtual bool GetCompany(std::string& _rCompany) = 0;
|
||||||
|
|
||||||
virtual bool GetDescription(std::string* _rDescription) = 0;
|
virtual bool GetDescription(std::string* _rDescription) = 0;
|
||||||
|
virtual bool GetDescription(std::wstring& _rDescription) {return false;};
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -164,6 +164,26 @@ bool CBannerLoaderWii::GetName(std::string* _rName)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CBannerLoaderWii::GetName(std::vector<std::wstring>& _rNames)
|
||||||
|
{
|
||||||
|
if (IsValid())
|
||||||
|
{
|
||||||
|
// find Banner type
|
||||||
|
SWiiBanner* pBanner = (SWiiBanner*)m_pBannerFile;
|
||||||
|
|
||||||
|
std::wstring temp;
|
||||||
|
for (int i = 0; i < WII_BANNER_COMMENT_SIZE; ++i)
|
||||||
|
{
|
||||||
|
temp.push_back(Common::swap16(pBanner->m_Comment[0][i]));
|
||||||
|
}
|
||||||
|
temp.push_back('\0');
|
||||||
|
_rNames.push_back(temp);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool CBannerLoaderWii::GetCompany(std::string& _rCompany)
|
bool CBannerLoaderWii::GetCompany(std::string& _rCompany)
|
||||||
{
|
{
|
||||||
_rCompany = "N/A";
|
_rCompany = "N/A";
|
||||||
|
@ -190,6 +210,24 @@ bool CBannerLoaderWii::GetDescription(std::string* _rDescription)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CBannerLoaderWii::GetDescription(std::wstring& _rDescription)
|
||||||
|
{
|
||||||
|
if (IsValid())
|
||||||
|
{
|
||||||
|
// find Banner type
|
||||||
|
SWiiBanner* pBanner = (SWiiBanner*)m_pBannerFile;
|
||||||
|
|
||||||
|
std::wstring description;
|
||||||
|
for (int i = 0; i < WII_BANNER_COMMENT_SIZE; ++i)
|
||||||
|
description.push_back(Common::swap16(pBanner->m_Comment[1][i]));
|
||||||
|
|
||||||
|
description.push_back('\0');
|
||||||
|
_rDescription = description;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void CBannerLoaderWii::decode5A3image(u32* dst, u16* src, int width, int height)
|
void CBannerLoaderWii::decode5A3image(u32* dst, u16* src, int width, int height)
|
||||||
{
|
{
|
||||||
for (int y = 0; y < height; y += 4)
|
for (int y = 0; y < height; y += 4)
|
||||||
|
|
|
@ -37,10 +37,13 @@ class CBannerLoaderWii
|
||||||
|
|
||||||
virtual bool GetName(std::string* _rName);
|
virtual bool GetName(std::string* _rName);
|
||||||
|
|
||||||
|
bool GetName(std::vector<std::wstring>& _rNames);
|
||||||
|
|
||||||
virtual bool GetCompany(std::string& _rCompany);
|
virtual bool GetCompany(std::string& _rCompany);
|
||||||
|
|
||||||
virtual bool GetDescription(std::string* _rDescription);
|
virtual bool GetDescription(std::string* _rDescription);
|
||||||
|
|
||||||
|
bool GetDescription(std::wstring& _rDescription);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue