summaryrefslogtreecommitdiff
path: root/mm/include
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2024-11-28 04:33:13 +1100
committerEblo <7004497+Eblo@users.noreply.github.com>2025-09-16 13:55:34 -0400
commit0ce6bdf73e3d7a8dbb5e6f213b9bb761132367ed (patch)
treef3980d2dbc73d23235fb9fb9a67fe74deabf7a76 /mm/include
parente08aa4e53b5ce6a8c092af37d7b1485d16172651 (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.h20
-rw-r--r--mm/include/z64player.h6
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)