Merge pull request #13792 from Tilka/wii_banners

WiiSaveBanner: fall back to $userdir/Load/WiiBanners
This commit is contained in:
JMC47
2025-07-16 20:29:46 -04:00
committed by GitHub
7 changed files with 30 additions and 9 deletions

View File

@ -89,6 +89,7 @@
#define GRAPHICSMOD_DIR "GraphicMods"
#define WIISDSYNC_DIR "WiiSDSync"
#define ASSEMBLY_DIR "SavedAssembly"
#define WIIBANNERS_DIR "WiiBanners"
// This one is only used to remove it if it was present
#define SHADERCACHE_LEGACY_DIR "ShaderCache"

View File

@ -881,6 +881,7 @@ static void RebuildUserDirectories(unsigned int dir_index)
s_user_paths[D_RESOURCEPACK_IDX] = s_user_paths[D_USER_IDX] + RESOURCEPACK_DIR DIR_SEP;
s_user_paths[D_DYNAMICINPUT_IDX] = s_user_paths[D_LOAD_IDX] + DYNAMICINPUT_DIR DIR_SEP;
s_user_paths[D_GRAPHICSMOD_IDX] = s_user_paths[D_LOAD_IDX] + GRAPHICSMOD_DIR DIR_SEP;
s_user_paths[D_BANNERS_WIIROOT_IDX] = s_user_paths[D_LOAD_IDX] + WIIBANNERS_DIR DIR_SEP;
s_user_paths[D_WIISDCARDSYNCFOLDER_IDX] = s_user_paths[D_LOAD_IDX] + WIISDSYNC_DIR DIR_SEP;
s_user_paths[F_DOLPHINCONFIG_IDX] = s_user_paths[D_CONFIG_IDX] + DOLPHIN_CONFIG;
s_user_paths[F_GCPADCONFIG_IDX] = s_user_paths[D_CONFIG_IDX] + GCPAD_CONFIG;
@ -972,6 +973,7 @@ static void RebuildUserDirectories(unsigned int dir_index)
s_user_paths[D_RIIVOLUTION_IDX] = s_user_paths[D_LOAD_IDX] + RIIVOLUTION_DIR DIR_SEP;
s_user_paths[D_DYNAMICINPUT_IDX] = s_user_paths[D_LOAD_IDX] + DYNAMICINPUT_DIR DIR_SEP;
s_user_paths[D_GRAPHICSMOD_IDX] = s_user_paths[D_LOAD_IDX] + GRAPHICSMOD_DIR DIR_SEP;
s_user_paths[D_BANNERS_WIIROOT_IDX] = s_user_paths[D_LOAD_IDX] + WIIBANNERS_DIR DIR_SEP;
break;
}
}

View File

@ -76,6 +76,7 @@ enum
D_GPU_DRIVERS_HOOKS,
D_GPU_DRIVERS_FILE_REDIRECT,
D_ASM_ROOT_IDX,
D_BANNERS_WIIROOT_IDX,
FIRST_FILE_USER_PATH_IDX,
F_DOLPHINCONFIG_IDX = FIRST_FILE_USER_PATH_IDX,
F_GCPADCONFIG_IDX,

View File

@ -19,7 +19,19 @@ namespace Common
{
std::string RootUserPath(FromWhichRoot from)
{
int idx = from == FromWhichRoot::Configured ? D_WIIROOT_IDX : D_SESSION_WIIROOT_IDX;
int idx{};
switch (from)
{
case FromWhichRoot::Configured:
idx = D_WIIROOT_IDX;
break;
case FromWhichRoot::Session:
idx = D_SESSION_WIIROOT_IDX;
break;
case FromWhichRoot::Banners:
idx = D_BANNERS_WIIROOT_IDX;
break;
}
std::string dir = File::GetUserPath(idx);
dir.pop_back(); // remove trailing path separator
return dir;

View File

@ -14,6 +14,7 @@ enum class FromWhichRoot
{
Configured, // not related to currently running game - use D_WIIROOT_IDX
Session, // request from currently running game - use D_SESSION_WIIROOT_IDX
Banners, // fallback for Wii savegame banners - use D_BANNERS_WIIROOT_IDX
};
std::string RootUserPath(FromWhichRoot from);