mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
DirectoryBlob: Prepare more for supporting multiple partitions
This commit is contained in:
@ -5,6 +5,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstddef>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <set>
|
||||
@ -55,6 +56,7 @@ private:
|
||||
class DirectoryBlobPartition
|
||||
{
|
||||
public:
|
||||
DirectoryBlobPartition() = default;
|
||||
DirectoryBlobPartition(const std::string& root_directory, std::optional<bool> is_wii);
|
||||
|
||||
// We do not allow copying, because it might mess up the pointers inside DiscContents
|
||||
@ -90,9 +92,9 @@ private:
|
||||
std::vector<u8> m_fst_data;
|
||||
|
||||
std::string m_root_directory;
|
||||
bool m_is_wii;
|
||||
bool m_is_wii = false;
|
||||
// GameCube has no shift, Wii has 2 bit shift
|
||||
u32 m_address_shift;
|
||||
u32 m_address_shift = 0;
|
||||
};
|
||||
|
||||
class DirectoryBlobReader : public BlobReader
|
||||
@ -126,8 +128,12 @@ private:
|
||||
|
||||
std::string m_root_directory;
|
||||
|
||||
DirectoryBlobPartition m_game_partition;
|
||||
// For GameCube:
|
||||
DirectoryBlobPartition m_gamecube_pseudopartition;
|
||||
|
||||
// For Wii:
|
||||
std::set<DiscContent> m_nonpartition_contents;
|
||||
std::map<u64, DirectoryBlobPartition> m_partitions;
|
||||
|
||||
bool m_is_wii;
|
||||
|
||||
|
Reference in New Issue
Block a user