Skip to content

Commit

Permalink
GCC Testing Vanilla bugs (#1789)
Browse files Browse the repository at this point in the history
* doc desbreko draw damage effect bug

* doc like like sfx bug

* doc shellblade incorrect sfx id

* document powder keg text incorrect sfx

* Doc more sfx bugs with shellblade
  • Loading branch information
hensldm authored Jan 27, 2025
1 parent 44d593f commit b9267f0
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 6 deletions.
2 changes: 2 additions & 0 deletions src/overlays/actors/ovl_En_Go/z_en_go.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,8 @@ static MsgScript sMsgScriptGoronMedigoron[] = {
/* 0x0014 0x01 */ MSCRIPT_CMD_DONE(),

/* 0x0015 0x05 */ MSCRIPT_CMD_CHECK_WEEK_EVENT_REG(WEEKEVENTREG_18_40, 0x0037 - 0x001A),
//! @bug Incorrect sfx
//! The text associated with 0x0C80 makes use of an incorrect pop sound (`NA_SE_EN_SLIME_BREAK`)
/* 0x001A 0x03 */ MSCRIPT_CMD_BEGIN_TEXT(0x0C80),
/* 0x001D 0x01 */ MSCRIPT_CMD_AWAIT_TEXT(),
/* 0x001E 0x03 */ MSCRIPT_CMD_SET_WEEK_EVENT_REG(WEEKEVENTREG_18_40),
Expand Down
3 changes: 3 additions & 0 deletions src/overlays/actors/ovl_En_Pr/z_en_pr.c
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,9 @@ void EnPr_Draw(Actor* thisx, PlayState* play) {
}

if (this->drawDmgEffAlpha != 0) {
//! @bug: `this->drawDmgEffAlpha` is not decremented, so once active; the damage effect will remain until the
//! actor is killed. This only affects zora barrier as the only other damage effect, light arrows, kills in one
//! hit.
f32 drawDmgEffAlpha = this->drawDmgEffAlpha * 0.05f;

this->unk_238 = 0.8f;
Expand Down
2 changes: 2 additions & 0 deletions src/overlays/actors/ovl_En_Rr/z_en_rr.c
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,8 @@ void EnRr_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);

if (this->actor.params == LIKE_LIKE_PARAM_2) {
//! @bug: Actor will constantly play an SFX every frame when player is close enough.
//! In `func_808FAF94` the check is if the actor has zero speed.
this->actor.speed = 0.0f;
} else {
Math_StepToF(&this->actor.speed, 0.0f, 0.1f);
Expand Down
17 changes: 16 additions & 1 deletion src/overlays/actors/ovl_En_Sb/z_en_sb.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,11 @@ void EnSb_SetupOpen(EnSb* this) {
ANIMMODE_ONCE, 0.0f);
this->state = SHELLBLADE_OPEN;
this->actionFunc = EnSb_Open;
//! @bug Incorrect sfx
//! In OoT, NA_SE_EN_SHELL_MOUTH is the value 0x3849
//! But in MM, certain sfxIds got reordered this was not updated:
//! In MM, NA_SE_EN_KUSAMUSHI_VIBE is the old value 0x3849
//! In MM, NA_SE_EN_SHELL_MOUTH does not exist
Actor_PlaySfx(&this->actor, NA_SE_EN_KUSAMUSHI_VIBE);
}

Expand All @@ -170,6 +175,11 @@ void EnSb_SetupLunge(EnSb* this) {
Animation_Change(&this->skelAnime, &object_sb_Anim_000124, playbackSpeed, 0.0f, endFrame, ANIMMODE_ONCE, 0);
this->state = SHELLBLADE_LUNGE;
this->actionFunc = EnSb_Lunge;
//! @bug Incorrect sfx
//! In OoT, NA_SE_EN_SHELL_MOUTH is the value 0x3849
//! But in MM, certain sfxIds got reordered this was not updated:
//! In MM, NA_SE_EN_KUSAMUSHI_VIBE is the old value 0x3849
//! In MM, NA_SE_EN_SHELL_MOUTH does not exist
Actor_PlaySfx(&this->actor, NA_SE_EN_KUSAMUSHI_VIBE);
}

Expand Down Expand Up @@ -341,7 +351,12 @@ void EnSb_UpdateDamage(EnSb* this, PlayState* play) {
}
this->isDead = true;
Enemy_StartFinishingBlow(play, &this->actor);
SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 0x28, NA_SE_EN_BEE_FLY);
//! @bug Incorrect sfx
//! In OoT, NA_SE_EN_SHELL_DEAD is the value 0x384A
//! But in MM, certain sfxIds got reordered this was not updated:
//! In MM, NA_SE_EN_BEE_FLY is the old value 0x384A
//! In MM, NA_SE_EN_SHELL_DEAD does not exist
SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 40, NA_SE_EN_BEE_FLY);
return;
}
hitPoint.x = this->collider.elem.acDmgInfo.hitPos.x;
Expand Down
11 changes: 6 additions & 5 deletions src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c
Original file line number Diff line number Diff line change
Expand Up @@ -269,11 +269,12 @@ void EnTuboTrap_FlyAtPlayer(EnTuboTrap* this, PlayState* play) {
f32 dY = this->originPos.y - this->actor.world.pos.y;
f32 dZ = this->originPos.z - this->actor.world.pos.z;

//! @bug should be NA_SE_EN_TUBOOCK_FLY - SFX_FLAG
// In OoT, NA_SE_EN_TUBOOCK_FLY is the value 0x3837
// But in MM, certain sfxIds got reordered and devs forgot to update:
// In MM, NA_SE_EN_MIZUBABA2_ATTACK is the old value 0x3837
// In MM, NA_SE_EN_TUBOOCK_FLY is the new value 0x3AE0
//! @bug Incorrect sfx
//! This should be NA_SE_EN_TUBOOCK_FLY - SFX_FLAG
//! In OoT, NA_SE_EN_TUBOOCK_FLY is the value 0x3837
//! But in MM, certain sfxIds got reordered this was not updated:
//! In MM, NA_SE_EN_MIZUBABA2_ATTACK is the old value 0x3837
//! In MM, NA_SE_EN_TUBOOCK_FLY is the new value 0x3AE0
Actor_PlaySfx(&this->actor, NA_SE_EN_MIZUBABA2_ATTACK - SFX_FLAG);

if ((SQ(dX) + SQ(dY) + SQ(dZ) > SQ(240.0f))) {
Expand Down

0 comments on commit b9267f0

Please sign in to comment.