diff options
| author | briaguya <briaguya@alice> | 2022-12-06 21:29:27 -0500 |
|---|---|---|
| committer | briaguya <briaguya@alice> | 2022-12-06 21:29:27 -0500 |
| commit | 4f109178ffdebbf4824a32ff9b8b9fa0159cf3ce (patch) | |
| tree | e1d17ce453354147e1fc6cbc60cd62e9f78b699c /soh/src | |
| parent | d9f3844b2db80f74fc233391164981cf0b59f1f7 (diff) | |
| parent | 00cbd347b2ae8c50dfca1336e9eb7ff45a506784 (diff) | |
Merge branch 'develop-flynn' into flynn-to-dev
Diffstat (limited to 'soh/src')
| -rw-r--r-- | soh/src/code/z_parameter.c | 9 | ||||
| -rw-r--r-- | soh/src/code/z_play.c | 2 | ||||
| -rw-r--r-- | soh/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c | 7 | ||||
| -rw-r--r-- | soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c | 10 | ||||
| -rw-r--r-- | soh/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c | 2 | ||||
| -rw-r--r-- | soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c | 2 |
6 files changed, 22 insertions, 10 deletions
diff --git a/soh/src/code/z_parameter.c b/soh/src/code/z_parameter.c index 1d4e59f07..537d185bd 100644 --- a/soh/src/code/z_parameter.c +++ b/soh/src/code/z_parameter.c @@ -2704,7 +2704,7 @@ u8 Item_CheckObtainability(u8 item) { } void PerformAutosave(PlayState* play, u8 item) { - if (CVar_GetS32("gAutosave", 0)) { + if (CVar_GetS32("gAutosave", 0) && (play->sceneNum != SCENE_KENJYANOMA)) { if (CVar_GetS32("gAutosaveAllItems", 0)) { Play_PerformSave(play); } else if (CVar_GetS32("gAutosaveMajorItems", 1)) { @@ -2745,6 +2745,13 @@ void PerformAutosave(PlayState* play, u8 item) { if (play->sceneNum == SCENE_GANON_DEMO) { break; } + case ITEM_BOMBCHU: + case ITEM_BOMBCHUS_5: + case ITEM_BOMBCHUS_20: + if (!CVar_GetS32("gBombchuDrops", 0)) { + Play_PerformSave(play); + } + break; default: Play_PerformSave(play); break; diff --git a/soh/src/code/z_play.c b/soh/src/code/z_play.c index b08f9cee4..dab5411b9 100644 --- a/soh/src/code/z_play.c +++ b/soh/src/code/z_play.c @@ -870,7 +870,7 @@ void Play_Update(PlayState* play) { // Don't autosave in grottos or cutscenes // Also don't save when you first load a file if (CVar_GetS32("gAutosave", 0) && (gSaveContext.cutsceneIndex == 0) && (play->gameplayFrames > 60) && - (play->sceneNum != SCENE_YOUSEI_IZUMI_TATE) && (play->sceneNum != SCENE_KAKUSIANA)) { + (play->sceneNum != SCENE_YOUSEI_IZUMI_TATE) && (play->sceneNum != SCENE_KAKUSIANA) && (play->sceneNum != SCENE_KENJYANOMA)) { Play_PerformSave(play); } } diff --git a/soh/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c b/soh/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c index 0bbbe58c5..b1774251b 100644 --- a/soh/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c +++ b/soh/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c @@ -257,6 +257,10 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { sp60.x = this->unk_1F4.x - (this->unk_1E8.x - this->unk_1F4.x); sp60.y = this->unk_1F4.y - (this->unk_1E8.y - this->unk_1F4.y); sp60.z = this->unk_1F4.z - (this->unk_1E8.z - this->unk_1F4.z); + u16 buttonsToCheck = BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN; + if (CVar_GetS32("gDpadEquips", 0) != 0) { + buttonsToCheck |= BTN_DUP | BTN_DDOWN | BTN_DLEFT | BTN_DRIGHT; + } if (BgCheck_EntityLineTest1(&play->colCtx, &sp60, &this->unk_1E8, &sp78, &poly, true, true, true, true, &bgId) && !func_8002F9EC(play, &this->actor, poly, bgId, &sp78)) { @@ -281,8 +285,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { Audio_PlaySoundGeneral(NA_SE_IT_HOOKSHOT_REFLECT, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8); } - } else if (CHECK_BTN_ANY(play->state.input[0].press.button, - (BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN))) { + } else if (CHECK_BTN_ANY(play->state.input[0].press.button, (buttonsToCheck))) { this->timer = 0; } } diff --git a/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c index b85ec62c1..7e08cbb0f 100644 --- a/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c +++ b/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c @@ -1082,7 +1082,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) { if (!(gSaveContext.eventChkInf[7] & 0x100)) { TitleCard_InitBossName(play, &play->actorCtx.titleCtx, - SEGMENTED_TO_VIRTUAL(gGanondorfTitleCardTex), 160, 180, 128, 40, false); + SEGMENTED_TO_VIRTUAL(gGanondorfTitleCardTex), 160, 180, 128, 40, true); } gSaveContext.eventChkInf[7] |= 0x100; @@ -1197,8 +1197,8 @@ void BossGanon_SetupTowerCutscene(BossGanon* this, PlayState* play) { void BossGanon_ShatterWindows(u8 windowShatterState) { s16 i; - u8* tex1 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ganon_boss_sceneTex_006C18)); - u8* tex2 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ganon_boss_sceneTex_007418)); + u8* tex1 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ResourceMgr_GetName(ganon_boss_sceneTex_006C18))); + u8* tex2 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ResourceMgr_GetName(ganon_boss_sceneTex_007418))); u8* templateTex = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(gGanondorfWindowShatterTemplateTex)); for (i = 0; i < 2048; i++) { @@ -3820,8 +3820,8 @@ void BossGanon_Draw(Actor* thisx, PlayState* play) { // Invalidate textures if they have changed if (this->windowShatterState != GDF_WINDOW_SHATTER_OFF) { - gSPInvalidateTexCache(POLY_OPA_DISP++, ganon_boss_sceneTex_006C18); - gSPInvalidateTexCache(POLY_OPA_DISP++, ganon_boss_sceneTex_007418); + gSPInvalidateTexCache(POLY_OPA_DISP++, ResourceMgr_GetName(ganon_boss_sceneTex_006C18)); + gSPInvalidateTexCache(POLY_OPA_DISP++, ResourceMgr_GetName(ganon_boss_sceneTex_007418)); } Gfx_SetupDL_25Opa(play->state.gfxCtx); diff --git a/soh/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c b/soh/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c index c7ea77f38..599055594 100644 --- a/soh/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/soh/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -843,6 +843,8 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) { if (gSaveContext.n64ddFlag) { play->nextEntranceIndex = 0x60C; gSaveContext.nextCutsceneIndex = 0; + // Set "raised lake hylia water" since we aren't warping to the cutscene + gSaveContext.eventChkInf[6] |= 0x200; } else { Item_Give(play, ITEM_MEDALLION_WATER); play->nextEntranceIndex = 0x6B; diff --git a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c index 7d6661696..fa0545977 100644 --- a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -1980,7 +1980,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { } else {//baguettes PosX = 98; } - s16 PosY = 200; //General Pos of C button icon + s16 PosY = 200 - pauseCtx->infoPanelOffsetY; //General Pos of C button icon s16 icon_w = 46; // Original texture size s16 icon_h = 16; s32 icon_x_offset; |
