From 9d633307e31e41545c975072dd866f0e454e29e5 Mon Sep 17 00:00:00 2001 From: Dwayne Slater Date: Mon, 13 Mar 2017 13:29:45 -0400 Subject: [PATCH] VolumeDirectory: Shift parent_entry_index by m_address_shift Parent entrys were written correctly for GameCube (since the address shift is 0), but not for Wii (since the address shift is 2). --- Source/Core/DiscIO/VolumeDirectory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/DiscIO/VolumeDirectory.cpp b/Source/Core/DiscIO/VolumeDirectory.cpp index b2ffe7f98d..ea9462c423 100644 --- a/Source/Core/DiscIO/VolumeDirectory.cpp +++ b/Source/Core/DiscIO/VolumeDirectory.cpp @@ -465,8 +465,8 @@ void CVolumeDirectory::WriteDirectory(const File::FSTEntry& parent_entry, u32* f if (entry.isDirectory) { u32 entry_index = *fst_offset / ENTRY_SIZE; - WriteEntryData(fst_offset, DIRECTORY_ENTRY, *name_offset, parent_entry_index, - entry_index + entry.size + 1); + WriteEntryData(fst_offset, DIRECTORY_ENTRY, *name_offset, + parent_entry_index << m_address_shift, entry_index + entry.size + 1); WriteEntryName(name_offset, entry.virtualName); WriteDirectory(entry, fst_offset, name_offset, data_offset, entry_index);