if(!ShowPrompt(true,"Writing to %s is locked!\nUnlock it now?",area_name))
returnfalse;
returnSetWritePermissions(perm,true);
}
boolSetWritePermissions(u32perm,booladd_perm){
if((write_permissions&perm)==perm){// write permissions already given
if(!add_perm)write_permissions=perm;
returntrue;
}
switch(perm){
casePERM_BASE:
if(!ShowUnlockSequence(1,"You want to enable base\nwriting permissions."))
returnfalse;
break;
casePERM_SDCARD:
if(!ShowUnlockSequence(1,"You want to enable SD card\nwriting permissions."))
returnfalse;
break;
casePERM_RAMDRIVE:
if(!ShowUnlockSequence(1,"You want to enable RAM drive\nwriting permissions."))
returnfalse;
casePERM_EMUNAND:
if(!ShowUnlockSequence(2,"You want to enable EmuNAND\nwriting permissions."))
returnfalse;
break;
casePERM_IMAGE:
if(!ShowUnlockSequence(2,"You want to enable image\nwriting permissions."))
returnfalse;
break;
casePERM_GAME:
ShowPrompt(false,"Unlock write permission for\ngame images is not allowed.");
returnfalse;
break;
casePERM_XORPAD:
ShowPrompt(false,"Unlock write permission for\nXORpad drive is not allowed.");
returnfalse;
break;
#ifndef SAFEMODE
casePERM_SYSNAND:
if(!ShowUnlockSequence(3,"!Better be careful!\n\nYou want to enable SysNAND\nwriting permissions.\nThis enables you to do some\nreally dangerous stuff!"))
returnfalse;
break;
casePERM_A9LH:
if(!ShowUnlockSequence(5,"!THIS IS YOUR ONLY WARNING!\n\nYou want to enable A9LH area\nwriting permissions.\nThis enables you to OVERWRITE\nyour A9LH installation!"))
returnfalse;
break;
casePERM_MEMORY:
if(!ShowUnlockSequence(4,"!Better be careful!\n\nYou want to enable memory\nwriting permissions.\nWriting to certain areas may\nlead to unexpected results."))
returnfalse;
break;
casePERM_SDDATA:
if(!ShowUnlockSequence(2,"You want to enable SD data\nwriting permissions."))
returnfalse;
break;
casePERM_ALL:
if(!ShowUnlockSequence(3,"!Better be careful!\n\nYou want to enable ALL\nwriting permissions.\nThis enables you to do some\nreally dangerous stuff!"))
returnfalse;
break;
default:
ShowPrompt(false,"Unlock write permission is not allowed.");
returnfalse;
break;
#else
casePERM_ALL:
perm&=~(PERM_SYSNAND|PERM_MEMORY);
if(!ShowUnlockSequence(2,"You want to enable EmuNAND &\nimage writing permissions.\nKeep backups, just in case."))