summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/DirectoryBlob.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2017-06-10 13:06:39 +0200
committerJosJuice <josjuice@gmail.com>2017-08-01 11:36:40 +0200
commit2ea0a1a08657835657dda07c7bd1ee37d7a408c3 (patch)
tree745e7967eaec3ff1caeedf8503ac89232af34f07 /Source/Core/DiscIO/DirectoryBlob.cpp
parent0d4ad0e39e633d911cced0ecb13b90d873c78271 (diff)
DirectoryBlob: Make some constants local
Diffstat (limited to 'Source/Core/DiscIO/DirectoryBlob.cpp')
-rw-r--r--Source/Core/DiscIO/DirectoryBlob.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/Source/Core/DiscIO/DirectoryBlob.cpp b/Source/Core/DiscIO/DirectoryBlob.cpp
index be540b30ef..6433c87822 100644
--- a/Source/Core/DiscIO/DirectoryBlob.cpp
+++ b/Source/Core/DiscIO/DirectoryBlob.cpp
@@ -46,14 +46,6 @@ static void ConvertUTF8NamesToSHIFTJIS(File::FSTEntry& parent_entry);
constexpr u8 ENTRY_SIZE = 0x0c;
constexpr u8 FILE_ENTRY = 0;
constexpr u8 DIRECTORY_ENTRY = 1;
-constexpr u64 DISKHEADER_ADDRESS = 0;
-constexpr u64 DISKHEADER_SIZE = 0x440;
-constexpr u64 NONPARTITION_DISKHEADER_SIZE = 0x100;
-constexpr u64 BI2_ADDRESS = 0x440;
-constexpr u64 BI2_SIZE = 0x2000;
-constexpr u64 APPLOADER_ADDRESS = 0x2440;
-constexpr u64 WII_REGION_DATA_ADDRESS = 0x4E000;
-constexpr u64 WII_REGION_DATA_SIZE = 0x20;
constexpr u64 GAME_PARTITION_ADDRESS = 0x50000;
DiscContent::DiscContent(u64 offset, u64 size, const std::string& path)
@@ -161,10 +153,12 @@ std::unique_ptr<DirectoryBlobReader> DirectoryBlobReader::Create(const std::stri
}
DirectoryBlobReader::DirectoryBlobReader(const std::string& root_directory)
- : m_root_directory(root_directory), m_disk_header(DISKHEADER_SIZE)
+ : m_root_directory(root_directory)
{
SetDiscHeaderAndDiscType();
+ constexpr u64 BI2_ADDRESS = 0x440;
+ constexpr u64 BI2_SIZE = 0x2000;
AddFileToContents(&m_virtual_disc, m_root_directory + "sys/bi2.bin", BI2_ADDRESS, BI2_SIZE);
BuildFST(SetDOL(SetApploader()));
@@ -248,6 +242,11 @@ u64 DirectoryBlobReader::GetDataSize() const
void DirectoryBlobReader::SetDiscHeaderAndDiscType()
{
+ constexpr u64 DISKHEADER_ADDRESS = 0;
+ constexpr u64 DISKHEADER_SIZE = 0x440;
+ constexpr u64 NONPARTITION_DISKHEADER_SIZE = 0x100;
+
+ m_disk_header.resize(DISKHEADER_SIZE);
const std::string boot_bin_path = m_root_directory + "sys/boot.bin";
if (ReadFileToVector(boot_bin_path, &m_disk_header) < 0x20)
ERROR_LOG(DISCIO, "%s doesn't exist or is too small", boot_bin_path.c_str());
@@ -310,6 +309,8 @@ void DirectoryBlobReader::SetWiiRegionData()
else if (bytes_read < 0x20)
ERROR_LOG(DISCIO, "Couldn't read age ratings from %s", region_bin_path.c_str());
+ constexpr u64 WII_REGION_DATA_ADDRESS = 0x4E000;
+ constexpr u64 WII_REGION_DATA_SIZE = 0x20;
m_nonpartition_contents.emplace(WII_REGION_DATA_ADDRESS, WII_REGION_DATA_SIZE,
m_wii_region_data.data());
}
@@ -358,6 +359,8 @@ u64 DirectoryBlobReader::SetApploader()
Write32(static_cast<u32>(-1), 0x10, &m_apploader);
}
+ constexpr u64 APPLOADER_ADDRESS = 0x2440;
+
m_virtual_disc.emplace(APPLOADER_ADDRESS, m_apploader.size(), m_apploader.data());
// Return DOL address, 32 byte aligned (plus 32 byte padding)