Document ACTOR_FLAG_CAN_PRESS_SWITCHES (#2275)

* document switch activation

* format

* activate -> press

* fix comment
This commit is contained in:
fig02
2024-10-20 23:19:14 -04:00
committed by GitHub
parent f4210323a2
commit 3677c11140
11 changed files with 23 additions and 22 deletions
+4 -3
View File
@@ -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;
+2 -2
View File
@@ -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