mirror of https://github.com/zeldaret/mm.git
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:
parent
44d593f5f1
commit
b9267f0550
|
@ -362,6 +362,8 @@ static MsgScript sMsgScriptGoronMedigoron[] = {
|
||||||
/* 0x0014 0x01 */ MSCRIPT_CMD_DONE(),
|
/* 0x0014 0x01 */ MSCRIPT_CMD_DONE(),
|
||||||
|
|
||||||
/* 0x0015 0x05 */ MSCRIPT_CMD_CHECK_WEEK_EVENT_REG(WEEKEVENTREG_18_40, 0x0037 - 0x001A),
|
/* 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),
|
/* 0x001A 0x03 */ MSCRIPT_CMD_BEGIN_TEXT(0x0C80),
|
||||||
/* 0x001D 0x01 */ MSCRIPT_CMD_AWAIT_TEXT(),
|
/* 0x001D 0x01 */ MSCRIPT_CMD_AWAIT_TEXT(),
|
||||||
/* 0x001E 0x03 */ MSCRIPT_CMD_SET_WEEK_EVENT_REG(WEEKEVENTREG_18_40),
|
/* 0x001E 0x03 */ MSCRIPT_CMD_SET_WEEK_EVENT_REG(WEEKEVENTREG_18_40),
|
||||||
|
|
|
@ -639,6 +639,9 @@ void EnPr_Draw(Actor* thisx, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->drawDmgEffAlpha != 0) {
|
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;
|
f32 drawDmgEffAlpha = this->drawDmgEffAlpha * 0.05f;
|
||||||
|
|
||||||
this->unk_238 = 0.8f;
|
this->unk_238 = 0.8f;
|
||||||
|
|
|
@ -803,6 +803,8 @@ void EnRr_Update(Actor* thisx, PlayState* play) {
|
||||||
this->actionFunc(this, play);
|
this->actionFunc(this, play);
|
||||||
|
|
||||||
if (this->actor.params == LIKE_LIKE_PARAM_2) {
|
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;
|
this->actor.speed = 0.0f;
|
||||||
} else {
|
} else {
|
||||||
Math_StepToF(&this->actor.speed, 0.0f, 0.1f);
|
Math_StepToF(&this->actor.speed, 0.0f, 0.1f);
|
||||||
|
|
|
@ -153,6 +153,11 @@ void EnSb_SetupOpen(EnSb* this) {
|
||||||
ANIMMODE_ONCE, 0.0f);
|
ANIMMODE_ONCE, 0.0f);
|
||||||
this->state = SHELLBLADE_OPEN;
|
this->state = SHELLBLADE_OPEN;
|
||||||
this->actionFunc = EnSb_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);
|
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);
|
Animation_Change(&this->skelAnime, &object_sb_Anim_000124, playbackSpeed, 0.0f, endFrame, ANIMMODE_ONCE, 0);
|
||||||
this->state = SHELLBLADE_LUNGE;
|
this->state = SHELLBLADE_LUNGE;
|
||||||
this->actionFunc = EnSb_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);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_KUSAMUSHI_VIBE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,7 +351,12 @@ void EnSb_UpdateDamage(EnSb* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
this->isDead = true;
|
this->isDead = true;
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
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;
|
return;
|
||||||
}
|
}
|
||||||
hitPoint.x = this->collider.elem.acDmgInfo.hitPos.x;
|
hitPoint.x = this->collider.elem.acDmgInfo.hitPos.x;
|
||||||
|
|
|
@ -269,11 +269,12 @@ void EnTuboTrap_FlyAtPlayer(EnTuboTrap* this, PlayState* play) {
|
||||||
f32 dY = this->originPos.y - this->actor.world.pos.y;
|
f32 dY = this->originPos.y - this->actor.world.pos.y;
|
||||||
f32 dZ = this->originPos.z - this->actor.world.pos.z;
|
f32 dZ = this->originPos.z - this->actor.world.pos.z;
|
||||||
|
|
||||||
//! @bug should be NA_SE_EN_TUBOOCK_FLY - SFX_FLAG
|
//! @bug Incorrect sfx
|
||||||
// In OoT, NA_SE_EN_TUBOOCK_FLY is the value 0x3837
|
//! This should be NA_SE_EN_TUBOOCK_FLY - SFX_FLAG
|
||||||
// But in MM, certain sfxIds got reordered and devs forgot to update:
|
//! In OoT, NA_SE_EN_TUBOOCK_FLY is the value 0x3837
|
||||||
// In MM, NA_SE_EN_MIZUBABA2_ATTACK is the old value 0x3837
|
//! But in MM, certain sfxIds got reordered this was not updated:
|
||||||
// In MM, NA_SE_EN_TUBOOCK_FLY is the new value 0x3AE0
|
//! 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);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_MIZUBABA2_ATTACK - SFX_FLAG);
|
||||||
|
|
||||||
if ((SQ(dX) + SQ(dY) + SQ(dZ) > SQ(240.0f))) {
|
if ((SQ(dX) + SQ(dY) + SQ(dZ) > SQ(240.0f))) {
|
||||||
|
|
Loading…
Reference in New Issue