From 6823b6990b62d421f98aba2dc5ed9b8051b16d9d Mon Sep 17 00:00:00 2001 From: Jordan Longstaff Date: Mon, 9 Dec 2024 21:23:14 -0500 Subject: [PATCH] Name alpha-distance update function from decomp (#4658) --- soh/include/functions.h | 2 +- soh/src/code/z_actor.c | 16 ++++++++-------- soh/src/overlays/actors/ovl_En_Md/z_en_md.c | 2 +- soh/src/overlays/actors/ovl_En_Sa/z_en_sa.c | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/soh/include/functions.h b/soh/include/functions.h index 97e3be4d9..f6480e499 100644 --- a/soh/include/functions.h +++ b/soh/include/functions.h @@ -537,7 +537,7 @@ void func_80034BA0(PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overr PostLimbDraw postLimbDraw, Actor* actor, s16 alpha); void func_80034CC4(PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s16 alpha); -s16 func_80034DD4(Actor* actor, PlayState* play, s16 arg2, f32 arg3); +s16 Actor_UpdateAlphaByDistance(Actor* actor, PlayState* play, s16 arg2, f32 arg3); void Animation_ChangeByInfo(SkelAnime* skelAnime, AnimationInfo* animationInfo, s32 index); void func_80034F54(PlayState* play, s16* arg1, s16* arg2, s32 arg3); void Actor_Noop(Actor* actor, PlayState* play); diff --git a/soh/src/code/z_actor.c b/soh/src/code/z_actor.c index 4cd4d7584..be846b173 100644 --- a/soh/src/code/z_actor.c +++ b/soh/src/code/z_actor.c @@ -4547,25 +4547,25 @@ void func_80034CC4(PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overr CLOSE_DISPS(play->state.gfxCtx); } -s16 func_80034DD4(Actor* actor, PlayState* play, s16 arg2, f32 arg3) { +s16 Actor_UpdateAlphaByDistance(Actor* actor, PlayState* play, s16 alpha, f32 radius) { Player* player = GET_PLAYER(play); - f32 var; + f32 distance; if ((play->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) { - var = Math_Vec3f_DistXYZ(&actor->world.pos, &play->view.eye) * 0.25f; + distance = Math_Vec3f_DistXYZ(&actor->world.pos, &play->view.eye) * 0.25f; } else { - var = Math_Vec3f_DistXYZ(&actor->world.pos, &player->actor.world.pos); + distance = Math_Vec3f_DistXYZ(&actor->world.pos, &player->actor.world.pos); } - if (arg3 < var) { + if (radius < distance) { actor->flags &= ~ACTOR_FLAG_TARGETABLE; - Math_SmoothStepToS(&arg2, 0, 6, 0x14, 1); + Math_SmoothStepToS(&alpha, 0, 6, 0x14, 1); } else { actor->flags |= ACTOR_FLAG_TARGETABLE; - Math_SmoothStepToS(&arg2, 0xFF, 6, 0x14, 1); + Math_SmoothStepToS(&alpha, 0xFF, 6, 0x14, 1); } - return arg2; + return alpha; } void Animation_ChangeByInfo(SkelAnime* skelAnime, AnimationInfo* animationInfo, s32 index) { diff --git a/soh/src/overlays/actors/ovl_En_Md/z_en_md.c b/soh/src/overlays/actors/ovl_En_Md/z_en_md.c index 7902b1bb8..b808afa4b 100644 --- a/soh/src/overlays/actors/ovl_En_Md/z_en_md.c +++ b/soh/src/overlays/actors/ovl_En_Md/z_en_md.c @@ -629,7 +629,7 @@ void func_80AAB5A4(EnMd* this, PlayState* play) { : 400.0f; } - this->alpha = func_80034DD4(&this->actor, play, this->alpha, temp); + this->alpha = Actor_UpdateAlphaByDistance(&this->actor, play, this->alpha, temp); this->actor.shape.shadowAlpha = this->alpha; } else { this->alpha = 255; diff --git a/soh/src/overlays/actors/ovl_En_Sa/z_en_sa.c b/soh/src/overlays/actors/ovl_En_Sa/z_en_sa.c index ed09470a0..a50872d41 100644 --- a/soh/src/overlays/actors/ovl_En_Sa/z_en_sa.c +++ b/soh/src/overlays/actors/ovl_En_Sa/z_en_sa.c @@ -742,10 +742,10 @@ void EnSa_Update(Actor* thisx, PlayState* play) { if (this->actionFunc != func_80AF68E4) { if (CVarGetInteger(CVAR_ENHANCEMENT("DisableKokiriDrawDistance"), 0) != 0) { - this->alpha = func_80034DD4(&this->actor, play, this->alpha, 32767); + this->alpha = Actor_UpdateAlphaByDistance(&this->actor, play, this->alpha, 32767); } else { - this->alpha = func_80034DD4(&this->actor, play, this->alpha, 400.0f); + this->alpha = Actor_UpdateAlphaByDistance(&this->actor, play, this->alpha, 400.0f); } } else { this->alpha = 255;