diff options
| author | sl1nk3.s <sl1nk3.s@gmail.com> | 2009-07-28 23:38:49 +0000 |
|---|---|---|
| committer | sl1nk3.s <sl1nk3.s@gmail.com> | 2009-07-28 23:38:49 +0000 |
| commit | caf152fdd09fe7eda2b797f41b3a18db87a6071d (patch) | |
| tree | 192efc6b13567a88e24595503206fd14e2f68136 /Source/Core/DiscIO | |
| parent | c86d2e5129fc0ecffa647db457aa99d13230ea29 (diff) | |
Fix screenshot offset as well as screenshot aspect ratio, also use PNG instead of BMP thanks to issue 1186.
Fix for opening.bnr containing bad chars where the loop would stop when encountering one (fixes Rogue Leader description, which was using 0x0d and 0x0a)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3899 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DiscIO')
| -rw-r--r-- | Source/Core/DiscIO/Src/BannerLoader.cpp | 21 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Src/BannerLoader.h | 2 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Src/BannerLoaderGC.cpp | 17 |
3 files changed, 13 insertions, 27 deletions
diff --git a/Source/Core/DiscIO/Src/BannerLoader.cpp b/Source/Core/DiscIO/Src/BannerLoader.cpp index 3288e1e848..b18fc61dc8 100644 --- a/Source/Core/DiscIO/Src/BannerLoader.cpp +++ b/Source/Core/DiscIO/Src/BannerLoader.cpp @@ -30,14 +30,14 @@ namespace DiscIO { -bool IBannerLoader::CopyToStringAndCheck(std::string& _rDestination, const char* _src) +void IBannerLoader::CopyToStringAndCheck(std::string& _rDestination, const char* _src) { static bool bValidChars[256]; static bool bInitialized = false; if (!bInitialized) { - for (int i = 0; i < 256; i++) + for (int i = 0; i < 0x20; i++) { bValidChars[i] = false; } @@ -55,7 +55,6 @@ bool IBannerLoader::CopyToStringAndCheck(std::string& _rDestination, const char* bInitialized = true; } - bool bResult = true; char destBuffer[2048] = {0}; char* dest = destBuffer; const char* src = _src; @@ -69,8 +68,8 @@ bool IBannerLoader::CopyToStringAndCheck(std::string& _rDestination, const char* if (bValidChars[c] == false) { - bResult = false; - break; + src++; + continue; } *dest = c; @@ -79,19 +78,9 @@ bool IBannerLoader::CopyToStringAndCheck(std::string& _rDestination, const char* } // finalize the string - if (bResult) - { - *dest = 0x00; - } - else - { - dest[0] = ' '; - dest[1] = 0x00; - } + *dest = 0x00; _rDestination = destBuffer; - - return(bResult); } bool IBannerLoader::CopyBeUnicodeToString( std::string& _rDestination, const u16* _src, int length ) diff --git a/Source/Core/DiscIO/Src/BannerLoader.h b/Source/Core/DiscIO/Src/BannerLoader.h index 40f48b7135..02d60858e4 100644 --- a/Source/Core/DiscIO/Src/BannerLoader.h +++ b/Source/Core/DiscIO/Src/BannerLoader.h @@ -47,7 +47,7 @@ class IBannerLoader protected: - bool CopyToStringAndCheck(std::string& _rDestination, const char* _src); + void CopyToStringAndCheck(std::string& _rDestination, const char* _src); bool CopyBeUnicodeToString(std::string& _rDestination, const u16* _src, int length); private: diff --git a/Source/Core/DiscIO/Src/BannerLoaderGC.cpp b/Source/Core/DiscIO/Src/BannerLoaderGC.cpp index 459a082093..2270c91ce0 100644 --- a/Source/Core/DiscIO/Src/BannerLoaderGC.cpp +++ b/Source/Core/DiscIO/Src/BannerLoaderGC.cpp @@ -57,7 +57,7 @@ CBannerLoaderGC::~CBannerLoaderGC() bool CBannerLoaderGC::IsValid() { - return(m_IsValid); + return m_IsValid; } @@ -66,13 +66,13 @@ CBannerLoaderGC::GetBanner(u32* _pBannerImage) { if (!IsValid()) { - return(false); + return false; } DVDBanner2* pBanner = (DVDBanner2*)m_pBannerFile; decode5A3image(_pBannerImage, pBanner->image, DVD_BANNER_WIDTH, DVD_BANNER_HEIGHT); - return(true); + return true; } @@ -83,7 +83,7 @@ CBannerLoaderGC::GetName(std::string _rName[]) if (!IsValid()) { - return(false); + return false; } // find Banner type @@ -151,12 +151,9 @@ CBannerLoaderGC::GetCompany(std::string& _rCompany) DVDBanner2* pBanner = (DVDBanner2*)m_pBannerFile; - if (!CopyToStringAndCheck(_rCompany, pBanner->comment[0].shortMaker)) - { - return(false); - } + CopyToStringAndCheck(_rCompany, pBanner->comment[0].shortMaker); - return(true); + return true; } @@ -167,7 +164,7 @@ CBannerLoaderGC::GetDescription(std::string* _rDescription) if (!IsValid()) { - return(false); + return false; } // find Banner type |
