1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-21 06:21:16 +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:
Dragorn421 2022-06-20 13:17:09 -07:00 committed by GitHub
parent b602276fef
commit 017a3aaf5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 539 additions and 463 deletions

View file

@ -179,11 +179,15 @@ void ArrowLight_Fly(ArrowLight* this, PlayState* play) {
void ArrowLight_Update(Actor* thisx, PlayState* play) {
ArrowLight* this = (ArrowLight*)thisx;
if (play->msgCtx.msgMode == MSGMODE_OCARINA_CORRECT_PLAYBACK || play->msgCtx.msgMode == MSGMODE_SONG_PLAYED) {
// 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);
} else {
this->actionFunc(this, play);
return;
}
this->actionFunc(this, play);
}
void ArrowLight_Draw(Actor* thisx, PlayState* play) {