summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/Src/NANDContentLoader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DiscIO/Src/NANDContentLoader.cpp')
-rw-r--r--Source/Core/DiscIO/Src/NANDContentLoader.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/Source/Core/DiscIO/Src/NANDContentLoader.cpp b/Source/Core/DiscIO/Src/NANDContentLoader.cpp
index b60e5ae94a..36e1e959f5 100644
--- a/Source/Core/DiscIO/Src/NANDContentLoader.cpp
+++ b/Source/Core/DiscIO/Src/NANDContentLoader.cpp
@@ -260,17 +260,18 @@ bool CNANDContentLoader::Initialize(const std::string& _rName)
rContent.m_Size= (u32)Common::swap64(pTMD + 0x01ec + 0x24*i);
memcpy(rContent.m_SHA1Hash, pTMD + 0x01f4 + 0x24*i, 20);
memcpy(rContent.m_Header, pTMD + 0x01e4 + 0x24*i, 36);
+
if (m_isWAD)
{
- u32 RoundedSize = ROUND_UP(rContent.m_Size, 0x40);
- rContent.m_pData = new u8[RoundedSize];
+ u32 RoundedSize = ROUND_UP(rContent.m_Size, 0x40);
+ rContent.m_pData = new u8[RoundedSize];
- memset(IV, 0, sizeof IV);
- memcpy(IV, pTMD + 0x01e8 + 0x24*i, 2);
- AESDecode(DecryptTitleKey, IV, pDataApp, RoundedSize, rContent.m_pData);
+ memset(IV, 0, sizeof IV);
+ memcpy(IV, pTMD + 0x01e8 + 0x24*i, 2);
+ AESDecode(DecryptTitleKey, IV, pDataApp, RoundedSize, rContent.m_pData);
- pDataApp += RoundedSize;
- continue;
+ pDataApp += RoundedSize;
+ continue;
}
rContent.m_pData = NULL;
@@ -282,7 +283,9 @@ bool CNANDContentLoader::Initialize(const std::string& _rName)
strcpy(szFilename, Filename.c_str());
}
else
+ {
sprintf(szFilename, "%s/%08x.app", m_Path.c_str(), rContent.m_ContentID);
+ }
INFO_LOG(DISCIO, "NANDContentLoader: load %s", szFilename);