mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-08-06 20:30:27 -05:00
Core: Add SConfig::GetSimulatedMemorySize().
This makes the simulated memory size of the running game accessible via the `SConfig` singleton.
This commit is contained in:
parent
24ad562871
commit
ebcbb79f70
|
|
@ -154,27 +154,35 @@ u16 SConfig::GetRevision() const
|
|||
return m_revision;
|
||||
}
|
||||
|
||||
u32 SConfig::GetSimulatedMemorySize() const
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(m_metadata_lock);
|
||||
return m_simulated_memory_size;
|
||||
}
|
||||
|
||||
void SConfig::ResetRunningGameMetadata()
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(m_metadata_lock);
|
||||
SetRunningGameMetadata("00000000", "", 0, 0, DiscIO::Region::Unknown);
|
||||
SetRunningGameMetadata("00000000", "", 0, 0, DiscIO::Region::Unknown, 0);
|
||||
}
|
||||
|
||||
void SConfig::SetRunningGameMetadata(const DiscIO::Volume& volume,
|
||||
const DiscIO::Partition& partition)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(m_metadata_lock);
|
||||
|
||||
if (partition == volume.GetGamePartition())
|
||||
{
|
||||
SetRunningGameMetadata(volume.GetGameID(), volume.GetGameTDBID(),
|
||||
volume.GetTitleID().value_or(0), volume.GetRevision().value_or(0),
|
||||
volume.GetRegion());
|
||||
volume.GetRegion(), volume.GetSimulatedMemorySize());
|
||||
}
|
||||
else
|
||||
{
|
||||
SetRunningGameMetadata(volume.GetGameID(partition), volume.GetGameTDBID(partition),
|
||||
volume.GetTitleID(partition).value_or(0),
|
||||
volume.GetRevision(partition).value_or(0), volume.GetRegion());
|
||||
volume.GetRevision(partition).value_or(0), volume.GetRegion(),
|
||||
volume.GetSimulatedMemorySize());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -192,26 +200,29 @@ void SConfig::SetRunningGameMetadata(const IOS::ES::TMDReader& tmd, DiscIO::Plat
|
|||
{
|
||||
// If not launching a disc game, just read everything from the TMD.
|
||||
SetRunningGameMetadata(tmd.GetGameID(), tmd.GetGameTDBID(), tmd_title_id, tmd.GetTitleVersion(),
|
||||
tmd.GetRegion());
|
||||
tmd.GetRegion(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
void SConfig::SetRunningGameMetadata(const std::string& game_id)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(m_metadata_lock);
|
||||
SetRunningGameMetadata(game_id, "", 0, 0, DiscIO::Region::Unknown);
|
||||
SetRunningGameMetadata(game_id, "", 0, 0, DiscIO::Region::Unknown, 0);
|
||||
}
|
||||
|
||||
void SConfig::SetRunningGameMetadata(const std::string& game_id, const std::string& gametdb_id,
|
||||
u64 title_id, u16 revision, DiscIO::Region region)
|
||||
u64 title_id, u16 revision, DiscIO::Region region,
|
||||
u32 simulated_memory_size)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(m_metadata_lock);
|
||||
const bool was_changed = m_game_id != game_id || m_gametdb_id != gametdb_id ||
|
||||
m_title_id != title_id || m_revision != revision;
|
||||
m_title_id != title_id || m_revision != revision ||
|
||||
m_simulated_memory_size != simulated_memory_size;
|
||||
m_game_id = game_id;
|
||||
m_gametdb_id = gametdb_id;
|
||||
m_title_id = title_id;
|
||||
m_revision = revision;
|
||||
m_simulated_memory_size = simulated_memory_size;
|
||||
|
||||
if (game_id.length() == 6)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ struct SConfig
|
|||
const std::string GetTitleDescription() const;
|
||||
u64 GetTitleID() const;
|
||||
u16 GetRevision() const;
|
||||
u32 GetSimulatedMemorySize() const;
|
||||
void ResetRunningGameMetadata();
|
||||
void SetRunningGameMetadata(const DiscIO::Volume& volume, const DiscIO::Partition& partition);
|
||||
void SetRunningGameMetadata(const IOS::ES::TMDReader& tmd, DiscIO::Platform platform);
|
||||
|
|
@ -119,7 +120,8 @@ private:
|
|||
static void ReloadTextures(Core::System& system);
|
||||
|
||||
void SetRunningGameMetadata(const std::string& game_id, const std::string& gametdb_id,
|
||||
u64 title_id, u16 revision, DiscIO::Region region);
|
||||
u64 title_id, u16 revision, DiscIO::Region region,
|
||||
u32 simulated_memory_size);
|
||||
|
||||
static SConfig* m_Instance;
|
||||
mutable std::recursive_mutex m_metadata_lock;
|
||||
|
|
@ -130,4 +132,6 @@ private:
|
|||
std::string m_title_description;
|
||||
u64 m_title_id;
|
||||
u16 m_revision;
|
||||
// Memory size requested by game's header.
|
||||
u32 m_simulated_memory_size;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user