1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-04 16:55:56 +00:00

Document func_80034DD4 @ z_actor.c

new name: `Actor_SmoothStep_Attention`
This commit is contained in:
feacur 2024-11-06 12:42:12 +01:00
parent 151d4bee13
commit b86fa44591
4 changed files with 11 additions and 11 deletions

View file

@ -916,7 +916,7 @@ void func_80034BA0(struct PlayState* play, SkelAnime* skelAnime, OverrideLimbDra
PostLimbDraw postLimbDraw, Actor* actor, s16 alpha); PostLimbDraw postLimbDraw, Actor* actor, s16 alpha);
void func_80034CC4(struct PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, void func_80034CC4(struct PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw,
PostLimbDraw postLimbDraw, Actor* actor, s16 alpha); PostLimbDraw postLimbDraw, Actor* actor, s16 alpha);
s16 func_80034DD4(Actor* actor, struct PlayState* play, s16 arg2, f32 arg3); s16 Actor_SmoothStep_Attention(Actor* actor, struct PlayState* play, s16 alpha, f32 threshold);
void func_80034F54(struct PlayState* play, s16* arg1, s16* arg2, s32 arg3); void func_80034F54(struct PlayState* play, s16* arg1, s16* arg2, s32 arg3);
void Actor_Noop(Actor* actor, struct PlayState* play); void Actor_Noop(Actor* actor, struct PlayState* play);

View file

@ -4396,25 +4396,25 @@ void func_80034CC4(PlayState* play, SkelAnime* skelAnime, OverrideLimbDraw overr
CLOSE_DISPS(play->state.gfxCtx, "../z_actor.c", 8904); CLOSE_DISPS(play->state.gfxCtx, "../z_actor.c", 8904);
} }
s16 func_80034DD4(Actor* actor, PlayState* play, s16 arg2, f32 arg3) { s16 Actor_SmoothStep_Attention(Actor* actor, PlayState* play, s16 alpha, f32 threshold) {
Player* player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
f32 var; f32 distance;
if ((play->csCtx.state != CS_STATE_IDLE) || gDebugCamEnabled) { if ((play->csCtx.state != CS_STATE_IDLE) || gDebugCamEnabled) {
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 { } 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 (threshold < distance) {
actor->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED; actor->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Math_SmoothStepToS(&arg2, 0, 6, 0x14, 1); Math_SmoothStepToS(&alpha, 0, 6, 0x14, 1);
} else { } else {
actor->flags |= ACTOR_FLAG_ATTENTION_ENABLED; actor->flags |= ACTOR_FLAG_ATTENTION_ENABLED;
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) { void Animation_ChangeByInfo(SkelAnime* skelAnime, AnimationInfo* animationInfo, s32 index) {

View file

@ -658,7 +658,7 @@ void func_80AAB5A4(EnMd* this, PlayState* play) {
(play->sceneId == SCENE_KOKIRI_FOREST)) (play->sceneId == SCENE_KOKIRI_FOREST))
? 100.0f ? 100.0f
: 400.0f; : 400.0f;
this->alpha = func_80034DD4(&this->actor, play, this->alpha, temp); this->alpha = Actor_SmoothStep_Attention(&this->actor, play, this->alpha, temp);
this->actor.shape.shadowAlpha = this->alpha; this->actor.shape.shadowAlpha = this->alpha;
} else { } else {
this->alpha = 255; this->alpha = 255;

View file

@ -738,7 +738,7 @@ void EnSa_Update(Actor* thisx, PlayState* play) {
} }
if (this->actionFunc != func_80AF68E4) { if (this->actionFunc != func_80AF68E4) {
this->alpha = func_80034DD4(&this->actor, play, this->alpha, 400.0f); this->alpha = Actor_SmoothStep_Attention(&this->actor, play, this->alpha, 400.0f);
} else { } else {
this->alpha = 255; this->alpha = 255;
} }