mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-21 05:43:42 -07:00
Enhancement: Better Farore's Wind (#2374)
* Updated SaveManager, SaveContext; lifted restriction from gtg and ganon's castle; disabled clearing fw during master sword lift; added checkbox * increment load version (whoops); clear age fw after use * beef up fw console handler (for testing) * Simplify better FW (2 copies > 1 copy) * Apply suggestions * whoops
This commit is contained in:
parent
21ae445548
commit
6d6c1c8c32
7 changed files with 94 additions and 11 deletions
|
@ -616,8 +616,14 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
|||
play->fadeTransition = 11;
|
||||
break;
|
||||
case 8:
|
||||
gSaveContext.fw.set = 0;
|
||||
gSaveContext.respawn[RESPAWN_MODE_TOP].data = 0;
|
||||
if (CVarGetInteger("gBetterFW", 0)) {
|
||||
FaroresWindData tempFW = gSaveContext.backupFW;
|
||||
gSaveContext.backupFW = gSaveContext.fw;
|
||||
gSaveContext.fw = tempFW;
|
||||
} else {
|
||||
gSaveContext.fw.set = 0;
|
||||
gSaveContext.respawn[RESPAWN_MODE_TOP].data = 0;
|
||||
}
|
||||
if (!(gSaveContext.eventChkInf[4] & 0x20)) {
|
||||
gSaveContext.eventChkInf[4] |= 0x20;
|
||||
play->nextEntranceIndex = 0x00A0;
|
||||
|
|
|
@ -1371,6 +1371,11 @@ void Interface_SetSceneRestrictions(PlayState* play) {
|
|||
interfaceCtx->restrictions.farores, interfaceCtx->restrictions.dinsNayrus,
|
||||
interfaceCtx->restrictions.all);
|
||||
osSyncPrintf(VT_RST);
|
||||
if (CVarGetInteger("gBetterFW", 0)) {
|
||||
if (currentScene == SCENE_MEN || currentScene == SCENE_GANONTIKA) {
|
||||
interfaceCtx->restrictions.farores = 0;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
|
|
|
@ -13716,7 +13716,7 @@ void func_8085063C(Player* this, PlayState* play) {
|
|||
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) {
|
||||
s32 respawnData = gSaveContext.respawn[RESPAWN_MODE_TOP].data;
|
||||
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
if (play->msgCtx.choiceIndex == 0) { //Returns to FW
|
||||
gSaveContext.respawnFlag = 3;
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_TOP].entranceIndex;
|
||||
|
@ -13725,7 +13725,7 @@ void func_8085063C(Player* this, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (play->msgCtx.choiceIndex == 1) {
|
||||
if (play->msgCtx.choiceIndex == 1) { //Unsets FW
|
||||
gSaveContext.respawn[RESPAWN_MODE_TOP].data = -respawnData;
|
||||
gSaveContext.fw.set = 0;
|
||||
func_80078914(&gSaveContext.respawn[RESPAWN_MODE_TOP].pos, NA_SE_PL_MAGIC_WIND_VANISH);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue