GCC Testing Vanilla bugs (#1789)

* 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
This commit is contained in:
Derek Hensley 2025-01-27 06:35:50 -08:00 committed by GitHub
parent 44d593f5f1
commit b9267f0550
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 29 additions and 6 deletions

View File

@ -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),

View File

@ -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;

View File

@ -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);

View File

@ -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);
}
@ -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);
}
@ -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;

View File

@ -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))) {