From 1394f9d16eac7d589541662f2863c27582b39226 Mon Sep 17 00:00:00 2001 From: cbartondock Date: Tue, 3 Mar 2026 10:06:14 -0800 Subject: [PATCH] elf dol id --- Source/Core/Core/ConfigManager.cpp | 17 ++++++++++++++++- Source/Core/Core/ConfigManager.h | 4 ++++ Source/Core/VideoCommon/HiresTextures.cpp | 3 +++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index 8404cfff07..14934a42ac 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -130,6 +130,12 @@ const std::string SConfig::GetGameTDBID() const return m_gametdb_id; } +const std::string SConfig::GetGameIDElfDol() const +{ + std::lock_guard lock(m_metadata_lock); + return m_game_id_elf_dol; +} + const std::string SConfig::GetTitleName() const { std::lock_guard lock(m_metadata_lock); @@ -258,6 +264,13 @@ void SConfig::SetRunningGameMetadata(const std::string& game_id, const std::stri DolphinAnalytics::Instance().ReportGameStart(); } + +void SConfig::SetElfDolID(const std::string& game_id) +{ + std::lock_guard lock(m_metadata_lock); + m_game_id_elf_dol = game_id; +} + void SConfig::OnESTitleChanged() { auto& system = Core::System::GetInstance(); @@ -357,7 +370,9 @@ struct SetGameMetadata constexpr char BACKSLASH = '\\'; constexpr char FORWARDSLASH = '/'; std::ranges::replace(executable_path, BACKSLASH, FORWARDSLASH); - config->SetRunningGameMetadata(SConfig::MakeGameID(PathToFileName(executable_path))); + std::string made_game_id = SConfig::MakeGameID(PathToFileName(executable_path)); + config->SetRunningGameMetadata(made_game_id); + config->SetElfDolID(made_game_id); Host_TitleChanged(); diff --git a/Source/Core/Core/ConfigManager.h b/Source/Core/Core/ConfigManager.h index 39dbc6d39a..0e1f87e96a 100644 --- a/Source/Core/Core/ConfigManager.h +++ b/Source/Core/Core/ConfigManager.h @@ -61,6 +61,7 @@ struct SConfig const std::string GetGameID() const; const std::string GetGameTDBID() const; + const std::string GetGameIDElfDol() const; const std::string GetTitleName() const; const std::string GetTitleDescription() const; u64 GetTitleID() const; @@ -70,6 +71,8 @@ struct SConfig void SetRunningGameMetadata(const IOS::ES::TMDReader& tmd, DiscIO::Platform platform); void SetRunningGameMetadata(const std::string& game_id); + void SetElfDolID(const std::string& game_id); + // Triggered when Dolphin loads a title directly // Reloads title-specific map files, patches, etc. static void OnTitleDirectlyBooted(const Core::CPUThreadGuard& guard); @@ -125,6 +128,7 @@ private: mutable std::recursive_mutex m_metadata_lock; std::string m_game_id; + std::string m_game_id_elf_dol; std::string m_gametdb_id; std::string m_title_name; std::string m_title_description; diff --git a/Source/Core/VideoCommon/HiresTextures.cpp b/Source/Core/VideoCommon/HiresTextures.cpp index 1e423a8aa6..ce6ea0675b 100644 --- a/Source/Core/VideoCommon/HiresTextures.cpp +++ b/Source/Core/VideoCommon/HiresTextures.cpp @@ -85,6 +85,9 @@ void HiresTexture::Update() } const std::string& game_id = SConfig::GetInstance().GetGameID(); + const std::string& game_id_elf_dol = SConfig::GetInstance().GetGameIDElfDol(); + OSD::AddMessage(fmt::format("Game ID '{}' used to load textures", game_id), 10000); + OSD::AddMessage(fmt::format("ELF/DOL Game ID '{}'", game_id_elf_dol), 10000); const std::set texture_directories = GetTextureDirectoriesWithGameId(File::GetUserPath(D_HIRESTEXTURES_IDX), game_id); constexpr auto extensions = std::to_array({".png", ".dds"});