fix multi-game disc support for /app_home#1075
fix multi-game disc support for /app_home#1075aldostools merged 1 commit intoaldostools:masterfrom bibarub:master
Conversation
|
I think line 929 should be changed back to So PS3_GM01 will be always the first folder mounted and PS3_GAME will be the last. Your current code will mount PS3_GAME only for the first game. After that all games will follow the behavior described above. |
|
Or maybe this code: void map_app_home(const char *path)
{
unmap_app_home();
// remap app_home for multi-game discs
char *mpath = (char *)malloc(strlen(path) + sizeof("/PS3_GAME") + 1);
if(mpath)
{
sprintf(mpath, "%s/PS3_GM%02i", path, gm);
if(not_exists(mpath))
{
sys_map_path("/app_home", path);
sprintf(mpath, "%s/PS3_GM01", path);
gm = isDir(mpath) ? 01 : 00; // reset gm to 00 if the game is not a multi-game disc
}
else
{
sys_map_path(APP_HOME_DIR, mpath); gm++;
}
free(mpath);
}
} |
PS3_GAME -> PS3_GM01 -> PS3_GM.. is the order the XMB uses for multi-game discs, so i don't think it should be changed (correct me if i'm wrong, i'm new to C) |
|
Yes your code does it right for the first game. After that the variable gm never return to 00. The code above fixes this behavior, except when the new game is also a multi-game disc. |
|
why should it return to 0? if GMXX doesn't exist, it will simply follow the "if(not_exists(mpath))" condition and mount /app_home to /dev_bdvd. adding another check just creates redundancy imo |
|
oh, i think i finally understand what you mean |
set_bdvd_as_app_home() was removed because it's redundant (check line 1748)