Name Remaining Hookshot Actor Flags (#1746)

* hookshot attachment

* period

* hookshot flags

* fix ordering

* comment, fix ordering

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
This commit is contained in:
engineer124
2024-11-28 04:33:13 +11:00
committed by GitHub
parent 2f1f0bdaef
commit b84e27c732
45 changed files with 156 additions and 126 deletions
+13 -7
View File
@@ -479,6 +479,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)
//
@@ -493,18 +494,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.
@@ -535,6 +539,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)
//
@@ -561,6 +566,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)
//
+3 -3
View File
@@ -1048,8 +1048,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)
//
@@ -1094,7 +1094,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)