Core: properly distinguish between ES title switches (Wii titles) and normal loading (GC, also called for Wii..); update config for ES title change, generate textures for both situations

This commit is contained in:
iwubcode
2025-01-26 16:37:21 -06:00
parent d03f9032c1
commit e18d98d4fc
7 changed files with 56 additions and 20 deletions

View File

@ -73,9 +73,15 @@ struct SConfig
void SetRunningGameMetadata(const DiscIO::Volume& volume, const DiscIO::Partition& partition);
void SetRunningGameMetadata(const IOS::ES::TMDReader& tmd, DiscIO::Platform platform);
void SetRunningGameMetadata(const std::string& game_id);
// Reloads title-specific map files, patches, custom textures, etc.
// This should only be called after the new title has been loaded into memory.
static void OnNewTitleLoad(const Core::CPUThreadGuard& guard);
// Triggered when Dolphin loads a title directly
// Reloads title-specific map files, patches, etc.
static void OnTitleDirectlyBooted(const Core::CPUThreadGuard& guard);
// Direct title change from ES (Wii system)
// Wii titles will still hit OnTitleDirectlyBooted
// but GC titles will never see this call
static void OnESTitleChanged();
void LoadDefaults();
static std::string MakeGameID(std::string_view file_name);
@ -112,6 +118,8 @@ private:
SConfig();
~SConfig();
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);