diff options
Diffstat (limited to 'Source/Core/DiscIO/VolumeDirectory.cpp')
| -rw-r--r-- | Source/Core/DiscIO/VolumeDirectory.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Source/Core/DiscIO/VolumeDirectory.cpp b/Source/Core/DiscIO/VolumeDirectory.cpp index fb60dd1535..b7fe30aed5 100644 --- a/Source/Core/DiscIO/VolumeDirectory.cpp +++ b/Source/Core/DiscIO/VolumeDirectory.cpp @@ -339,7 +339,7 @@ void CVolumeDirectory::BuildFST() File::FSTEntry rootEntry; // read data from physical disk to rootEntry - u32 totalEntries = AddDirectoryEntries(m_rootDirectory, rootEntry) + 1; + u64 totalEntries = AddDirectoryEntries(m_rootDirectory, rootEntry) + 1; m_fstNameOffset = totalEntries * ENTRY_SIZE; // offset in FST nameTable m_FSTData.resize(m_fstNameOffset + m_totalNameSize); @@ -423,7 +423,7 @@ void CVolumeDirectory::Write32(u32 data, u32 offset, std::vector<u8>* const buff (*buffer)[offset] = (data) & 0xff; } -void CVolumeDirectory::WriteEntryData(u32& entryOffset, u8 type, u32 nameOffset, u64 dataOffset, u32 length) +void CVolumeDirectory::WriteEntryData(u32& entryOffset, u8 type, u32 nameOffset, u64 dataOffset, u64 length) { m_FSTData[entryOffset++] = type; @@ -451,7 +451,7 @@ void CVolumeDirectory::WriteEntry(const File::FSTEntry& entry, u32& fstOffset, u { u32 myOffset = fstOffset; u32 myEntryNum = myOffset / ENTRY_SIZE; - WriteEntryData(fstOffset, DIRECTORY_ENTRY, nameOffset, parentEntryNum, (u32)(myEntryNum + entry.size + 1)); + WriteEntryData(fstOffset, DIRECTORY_ENTRY, nameOffset, parentEntryNum, myEntryNum + entry.size + 1); WriteEntryName(nameOffset, entry.virtualName); for (const auto& child : entry.children) @@ -462,7 +462,7 @@ void CVolumeDirectory::WriteEntry(const File::FSTEntry& entry, u32& fstOffset, u else { // put entry in FST - WriteEntryData(fstOffset, FILE_ENTRY, nameOffset, dataOffset, (u32)entry.size); + WriteEntryData(fstOffset, FILE_ENTRY, nameOffset, dataOffset, entry.size); WriteEntryName(nameOffset, entry.virtualName); // write entry to virtual disk @@ -490,11 +490,11 @@ static u32 ComputeNameSize(const File::FSTEntry& parentEntry) return nameSize; } -u32 CVolumeDirectory::AddDirectoryEntries(const std::string& _Directory, File::FSTEntry& parentEntry) +u64 CVolumeDirectory::AddDirectoryEntries(const std::string& _Directory, File::FSTEntry& parentEntry) { - u32 foundEntries = ScanDirectoryTree(_Directory, parentEntry); + parentEntry = File::ScanDirectoryTree(_Directory, true); m_totalNameSize += ComputeNameSize(parentEntry); - return foundEntries; + return parentEntry.size; } } // namespace |
