From 618d31e833f9c8a96ff00035f33c3c349a8ba84d Mon Sep 17 00:00:00 2001 From: DaMarkov <35939509+DaMarkov@users.noreply.github.com> Date: Wed, 2 Mar 2022 06:57:31 +0100 Subject: [PATCH] Fixed the Zelda Power effect. (#192) Co-authored-by: DaMarkov --- src/overlays/actors/ovl_En_Zl3/z_en_zl3.cpp | 4 ++-- src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.cpp b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.cpp index ea2d8ee52..60356093f 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.cpp +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.cpp @@ -1558,7 +1558,7 @@ void func_80B56D44(EnZl3* pthis, GlobalContext* globalCtx) { func_80B564A8(pthis, globalCtx); } -void func_80B56DA4(EnZl3* pthis) { +void EnZl3_PlayPowerSfx(EnZl3* pthis) { Common_PlaySfx2(NA_SE_EV_ZELDA_POWER); } @@ -1838,7 +1838,7 @@ void func_80B57754(EnZl3* pthis, GlobalContext* globalCtx) { if (gSaveContext.unk_13F0 == 0) { Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_OCEFF_WIPE4, pthis->actor.world.pos.x, pthis->actor.world.pos.y, pthis->actor.world.pos.z, 0, 0, 0, 1); - func_80B56DA4(pthis); + EnZl3_PlayPowerSfx(pthis); } } diff --git a/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.cpp b/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.cpp index 56603891f..b9df35a36 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.cpp +++ b/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.cpp @@ -3,7 +3,7 @@ /* * File: z_oceff_wipe4.c * Overlay: ovl_Oceff_Wipe4 - * Description: Scarecrow's Song and an unused Ocarina Effect + * Description: Scarecrow's Song and an unused Ocarina Effect and used for Zelda during escape */ #include "z_oceff_wipe4.h" @@ -14,6 +14,7 @@ #include "def/z_lib.h" #include "def/z_parameter.h" #include "def/z_rcp.h" +#include "gfx_align.h" #define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_25) @@ -98,7 +99,8 @@ void OceffWipe4_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D84(globalCtx->state.gfxCtx); Matrix_Translate(eye.x + vec.x, eye.y + vec.y, eye.z + vec.z, MTXMODE_NEW); - Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY); + const float correction_factor = (gfx_width() * 3.0f) / (gfx_height() * 4.0f); // Should be 1 on a 4:3 display + Matrix_Scale(0.1f * correction_factor, 0.1f, 0.1f, MTXMODE_APPLY); func_800D1FD4(&globalCtx->billboardMtxF); Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);