diff options
| author | engineer124 <47598039+engineer124@users.noreply.github.com> | 2024-11-28 04:33:13 +1100 |
|---|---|---|
| committer | Eblo <7004497+Eblo@users.noreply.github.com> | 2025-09-16 13:55:34 -0400 |
| commit | 0ce6bdf73e3d7a8dbb5e6f213b9bb761132367ed (patch) | |
| tree | f3980d2dbc73d23235fb9fb9a67fe74deabf7a76 /mm/include | |
| parent | e08aa4e53b5ce6a8c092af37d7b1485d16172651 (diff) | |
Name Remaining Hookshot Actor Flags (#1746)
* hookshot attachment
* period
* hookshot flags
* fix ordering
* comment, fix ordering
---------
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Diffstat (limited to 'mm/include')
| -rw-r--r-- | mm/include/z64actor.h | 20 | ||||
| -rw-r--r-- | mm/include/z64player.h | 6 |
2 files changed, 16 insertions, 10 deletions
diff --git a/mm/include/z64actor.h b/mm/include/z64actor.h index fbc6f6c07..f2c239227 100644 --- a/mm/include/z64actor.h +++ b/mm/include/z64actor.h @@ -526,6 +526,7 @@ typedef enum DoorLockType { // Note that this flag doesn't have any effect on either the actor, or Player's behavior. // What actually matters is the presence or lack of `ACTOR_FLAG_HOSTILE`. #define ACTOR_FLAG_FRIENDLY (1 << 3) + // #define ACTOR_FLAG_10 (1 << 4) // @@ -540,18 +541,21 @@ typedef enum DoorLockType { // Player will retain this flag until the player is finished talking // Actor will retain this flag until `Actor_TalkOfferAccepted` is called or manually turned off by the actor #define ACTOR_FLAG_TALK (1 << 8) -// -#define ACTOR_FLAG_200 (1 << 9) -// -#define ACTOR_FLAG_400 (1 << 10) -// -#define ACTOR_FLAG_800 (1 << 11) + +// When the hookshot attaches to this actor, the actor will be pulled back as the hookshot retracts. +#define ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR (1 << 9) + +// When the hookshot attaches to this actor, Player will be pulled by the hookshot and fly to the actor. +#define ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER (1 << 10) + +// This is likely `ACTOR_FLAG_GRASS_DESTROYED` from OoT, however this flag is unused in this game. +#define ACTOR_FLAG_800 (1 << 11) // Actor will not shake when a quake occurs #define ACTOR_FLAG_IGNORE_QUAKE (1 << 12) // The hookshot is currently attached to this actor. -// The behavior that occurs after attachment is determined by `ACTOR_FLAG_200` and `ACTOR_FLAG_400`. +// The behavior that occurs after attachment is determined by `ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR` and `ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER`. // If neither of those flags are set attachment cannot occur, and the hookshot will simply act as a damage source. // // This flag is also reused to indicate that an actor is attached to the Zora boomerang. @@ -582,6 +586,7 @@ typedef enum DoorLockType { // Also allows for the next lock-on actor to be the focus actor again. // When chosen as the next lock-on actor, this flag is unset. #define ACTOR_FLAG_FOCUS_ACTOR_REFINDABLE (1 << 19) + // #define ACTOR_FLAG_100000 (1 << 20) // @@ -608,6 +613,7 @@ typedef enum DoorLockType { // Player is not able to lock onto the actor. // Tatl will still be able to hover over the actor, assuming `ACTOR_FLAG_ATTENTION_ENABLED` is set. #define ACTOR_FLAG_LOCK_ON_DISABLED (1 << 27) + // #define ACTOR_FLAG_10000000 (1 << 28) // diff --git a/mm/include/z64player.h b/mm/include/z64player.h index 8bbee9622..1f958e67a 100644 --- a/mm/include/z64player.h +++ b/mm/include/z64player.h @@ -1051,8 +1051,8 @@ typedef enum PlayerCueId { #define PLAYER_STATE3_20 (1 << 5) // #define PLAYER_STATE3_40 (1 << 6) -// -#define PLAYER_STATE3_80 (1 << 7) +// Flying in the air with the hookshot as it pulls Player toward its destination +#define PLAYER_STATE3_FLYING_WITH_HOOKSHOT (1 << 7) // Deku flower dive #define PLAYER_STATE3_100 (1 << 8) // @@ -1097,7 +1097,7 @@ typedef enum PlayerCueId { #define PLAYER_STATE3_10000000 (1 << 28) // breman mask march? #define PLAYER_STATE3_20000000 (1 << 29) -// +// Item change process has begun #define PLAYER_STATE3_START_CHANGING_HELD_ITEM (1 << 30) // Currently locked onto a hostile actor. Triggers a "battle" variant of many actions. #define PLAYER_STATE3_HOSTILE_LOCK_ON (1 << 31) |
