From 3677c111408fcf81a108567fadcfba3bbafdbe31 Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 20 Oct 2024 23:19:14 -0400 Subject: Document `ACTOR_FLAG_CAN_PRESS_SWITCHES` (#2275) * document switch activation * format * activate -> press * fix comment --- include/z64actor.h | 7 ++++--- include/z64bgcheck.h | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/z64actor.h b/include/z64actor.h index 6318ff942..a1df8ef7e 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -196,8 +196,9 @@ typedef struct ActorShape { // This flag allows a given actor to be an exception. #define ACTOR_FLAG_UPDATE_DURING_OCARINA (1 << 25) -// -#define ACTOR_FLAG_26 (1 << 26) +// Actor can press and hold down switches. +// See usages of `DynaPolyActor_SetSwitchPressed` and `DynaPolyActor_IsSwitchPressed` for more context on how switches work. +#define ACTOR_FLAG_CAN_PRESS_SWITCHES (1 << 26) // Player is not able to lock onto the actor. // Navi will still be able to hover over the actor, assuming `ACTOR_FLAG_ATTENTION_ENABLED` is set. @@ -311,7 +312,7 @@ if neither of the above are set : blue #define DYNA_INTERACT_ACTOR_ON_TOP (1 << 0) // There is an actor standing on the collision of the dynapoly actor #define DYNA_INTERACT_PLAYER_ON_TOP (1 << 1) // The player actor is standing on the collision of the dynapoly actor #define DYNA_INTERACT_PLAYER_ABOVE (1 << 2) // The player is directly above the collision of the dynapoly actor (any distance above) -#define DYNA_INTERACT_3 (1 << 3) // Like the ACTOR_ON_TOP flag but only actors with ACTOR_FLAG_26 +#define DYNA_INTERACT_ACTOR_SWITCH_PRESSED (1 << 3) // An actor that is capable of pressing switches is on top of the dynapoly actor typedef struct DynaPolyActor { /* 0x000 */ struct Actor actor; diff --git a/include/z64bgcheck.h b/include/z64bgcheck.h index 5dd5eeab7..641274196 100644 --- a/include/z64bgcheck.h +++ b/include/z64bgcheck.h @@ -481,11 +481,11 @@ void DynaPolyActor_UnsetAllInteractFlags(struct DynaPolyActor* dynaActor); void DynaPolyActor_SetActorOnTop(struct DynaPolyActor* dynaActor); void DynaPoly_SetPlayerOnTop(CollisionContext* colCtx, s32 floorBgId); void DynaPoly_SetPlayerAbove(CollisionContext* colCtx, s32 floorBgId); -void func_80043538(struct DynaPolyActor* dynaActor); +void DynaPolyActor_SetSwitchPressed(struct DynaPolyActor* dynaActor); s32 DynaPolyActor_IsActorOnTop(struct DynaPolyActor* dynaActor); s32 DynaPolyActor_IsPlayerOnTop(struct DynaPolyActor* dynaActor); s32 DynaPolyActor_IsPlayerAbove(struct DynaPolyActor* dynaActor); -s32 func_800435B4(struct DynaPolyActor* dynaActor); +s32 DynaPolyActor_IsSwitchPressed(struct DynaPolyActor* dynaActor); s32 func_800435D8(struct PlayState* play, struct DynaPolyActor* dynaActor, s16 arg2, s16 arg3, s16 arg4); #endif -- cgit v1.2.3