More intuitive non-unlockable handling, fixes #128

This commit is contained in:
d0k3 2017-07-25 12:44:27 +02:00
parent 748b77ad9c
commit bba9c13506

View File

@ -87,6 +87,8 @@ bool CheckWritePermissions(const char* path) {
if ((write_permissions & perm) == perm) if ((write_permissions & perm) == perm)
return true; return true;
// offer unlock if possible
if (!(perm & (PERM_CART|PERM_GAME|PERM_XORPAD))) {
// ask the user // ask the user
if (!ShowPrompt(true, "Writing to %s is locked!\nUnlock it now?", area_name)) if (!ShowPrompt(true, "Writing to %s is locked!\nUnlock it now?", area_name))
return false; return false;
@ -94,6 +96,11 @@ bool CheckWritePermissions(const char* path) {
return SetWritePermissions(perm, true); return SetWritePermissions(perm, true);
} }
// unlock not possible
ShowPrompt(false, "Unlock write permission for\n%s is not allowed.", area_name);
return false;
}
bool CheckDirWritePermissions(const char* path) { bool CheckDirWritePermissions(const char* path) {
const char* path_chk[] = { PATH_SYS_LVL3, PATH_SYS_LVL2, PATH_SYS_LVL1, PATH_EMU_LVL1 }; const char* path_chk[] = { PATH_SYS_LVL3, PATH_SYS_LVL2, PATH_SYS_LVL1, PATH_EMU_LVL1 };
for (u32 i = 0; i < sizeof(path_chk) / sizeof(char*); i++) { for (u32 i = 0; i < sizeof(path_chk) / sizeof(char*); i++) {
@ -149,18 +156,6 @@ bool SetWritePermissions(u32 perm, bool add_perm) {
if (!ShowUnlockSequence(2, "You want to enable SD data\nwriting permissions.\n \nThis enables you to modify\ninstallations, user data &\nsavegames.")) if (!ShowUnlockSequence(2, "You want to enable SD data\nwriting permissions.\n \nThis enables you to modify\ninstallations, user data &\nsavegames."))
return false; return false;
break; break;
case PERM_CART:
ShowPrompt(false, "Unlock write permission for\ngame carts is not allowed.");
return false;
break;
case PERM_GAME:
ShowPrompt(false, "Unlock write permission for\ngame images is not allowed.");
return false;
break;
case PERM_XORPAD:
ShowPrompt(false, "Unlock write permission for\nXORpad drive is not allowed.");
return false;
break;
#ifndef SAFEMODE #ifndef SAFEMODE
case PERM_SYS_LVL2: case PERM_SYS_LVL2:
if (!ShowUnlockSequence(3, "!Better be careful!\n \nYou want to enable SysNAND\nlvl2 writing permissions.\n \nThis enables you to modify\nirrecoverable system data!")) if (!ShowUnlockSequence(3, "!Better be careful!\n \nYou want to enable SysNAND\nlvl2 writing permissions.\n \nThis enables you to modify\nirrecoverable system data!"))