mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-21 14:31:17 +00:00
Some doc on actor overlays alloc types (#1266)
* Some doc on actor overlays alloc types * Line breaks between defines at the top of actor.h * plain english * `ACTOR_ALLOC_` -> `ACTOROVL_ALLOC_` * More line breaks * `ACTOR_OVERLAY_ABSOLUTE_SPACE_SIZE` -> `ACTOROVL_ABSOLUTE_SPACE_SIZE` * Document bug about Scarecrow's Song not setting the flag to restore Nayru's Love * Try to document the check for needing to actor_kill to leave the absolute space being too broad * "which overlay uses" (bad english) -> simplify to "which uses" * Run formatter
This commit is contained in:
parent
b602276fef
commit
017a3aaf5c
18 changed files with 539 additions and 463 deletions
|
@ -99,10 +99,14 @@ void MagicFire_UpdateBeforeCast(Actor* thisx, PlayState* play) {
|
|||
MagicFire* this = (MagicFire*)thisx;
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
// See `ACTOROVL_ALLOC_ABSOLUTE`
|
||||
//! @bug This condition is too broad, the actor will also be killed by warp songs. But warp songs do not use an
|
||||
//! actor which uses `ACTOROVL_ALLOC_ABSOLUTE`. There is no reason to kill the actor in this case.
|
||||
if ((play->msgCtx.msgMode == MSGMODE_OCARINA_CORRECT_PLAYBACK) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->actionTimer > 0) {
|
||||
this->actionTimer--;
|
||||
} else {
|
||||
|
@ -119,10 +123,15 @@ void MagicFire_Update(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (1) {}
|
||||
this->actor.world.pos = player->actor.world.pos;
|
||||
|
||||
// See `ACTOROVL_ALLOC_ABSOLUTE`
|
||||
//! @bug This condition is too broad, the actor will also be killed by warp songs. But warp songs do not use an
|
||||
//! actor which uses `ACTOROVL_ALLOC_ABSOLUTE`. There is no reason to kill the actor in this case.
|
||||
if ((play->msgCtx.msgMode == MSGMODE_OCARINA_CORRECT_PLAYBACK) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->action == DF_ACTION_EXPAND_SLOWLY) {
|
||||
this->collider.info.toucher.damage = this->actionTimer + 25;
|
||||
} else if (this->action == DF_ACTION_STOP_EXPANDING) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue