mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-08 13:26:14 -04:00
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:
+13
-7
@@ -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
@@ -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)
|
||||
|
||||
@@ -647,7 +647,7 @@ bool Player_InBlockingCsMode(PlayState* play, Player* player) {
|
||||
return (player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_20000000)) ||
|
||||
(player->csAction != PLAYER_CSACTION_NONE) || (play->transitionTrigger == TRANS_TRIGGER_START) ||
|
||||
(play->transitionMode != TRANS_MODE_OFF) || (player->stateFlags1 & PLAYER_STATE1_1) ||
|
||||
(player->stateFlags3 & PLAYER_STATE3_80) || play->actorCtx.isOverrideInputOn;
|
||||
(player->stateFlags3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT) || play->actorCtx.isOverrideInputOn;
|
||||
}
|
||||
|
||||
bool Player_InCsMode(PlayState* play) {
|
||||
|
||||
@@ -83,7 +83,12 @@ void ArmsHook_Wait(ArmsHook* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_808C1154(ArmsHook* this) {
|
||||
/**
|
||||
* Start pulling Player so he flies toward the hookshot's current location.
|
||||
* Setting Player's parent pointer indicates that he should begin flying.
|
||||
* See `Player_UpdateUpperBody` and `Player_Action_HookshotFly` for Player's side of the interation.
|
||||
*/
|
||||
void ArmsHook_PullPlayer(ArmsHook* this) {
|
||||
this->actor.child = this->actor.parent;
|
||||
this->actor.parent->parent = &this->actor;
|
||||
}
|
||||
@@ -142,11 +147,12 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
|
||||
(this->collider.elem.atHitElem->elemMaterial != ELEM_MATERIAL_UNK4)) {
|
||||
Actor* touchedActor = this->collider.base.at;
|
||||
|
||||
if ((touchedActor->update != NULL) && (touchedActor->flags & (ACTOR_FLAG_200 | ACTOR_FLAG_400))) {
|
||||
if ((touchedActor->update != NULL) &&
|
||||
(touchedActor->flags & (ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER))) {
|
||||
if (this->collider.elem.atHitElem->acElemFlags & ACELEM_HOOKABLE) {
|
||||
ArmsHook_AttachToActor(this, touchedActor);
|
||||
if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_400)) {
|
||||
func_808C1154(this);
|
||||
if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)) {
|
||||
ArmsHook_PullPlayer(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -216,14 +222,17 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (this->actor.child == NULL) {
|
||||
// Not pulling Player
|
||||
Math_Vec3f_Sum(&player->rightHandWorld.pos, &newPos, &this->actor.world.pos);
|
||||
if (attachedActor != NULL) {
|
||||
Math_Vec3f_Sum(&this->actor.world.pos, &this->attachPointOffset, &attachedActor->world.pos);
|
||||
}
|
||||
} else {
|
||||
// Pulling Player
|
||||
Math_Vec3f_Diff(&bodyDistDiffVec, &newPos, &player->actor.velocity);
|
||||
player->actor.world.rot.x = Math_Atan2S_XY(sqrtf(SQXZ(bodyDistDiffVec)), -bodyDistDiffVec.y);
|
||||
}
|
||||
|
||||
if (phi_f16 < 50.0f) {
|
||||
ArmsHook_DetachFromActor(this);
|
||||
if (phi_f16 == 0.0f) {
|
||||
@@ -269,7 +278,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
|
||||
ArmsHook_AttachToActor(this, &dynaPolyActor->actor);
|
||||
}
|
||||
}
|
||||
func_808C1154(this);
|
||||
ArmsHook_PullPlayer(this);
|
||||
Audio_PlaySfx_AtPos(&this->actor.projectedPos, NA_SE_IT_HOOKSHOT_STICK_OBJ);
|
||||
} else {
|
||||
CollisionCheck_SpawnShieldParticlesMetal(play, &this->actor.world.pos);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "assets/objects/object_numa_obj/object_numa_obj.h"
|
||||
#include "assets/objects/object_syokudai/object_syokudai.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((BgNumaHana*)thisx)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "overlays/actors/ovl_En_Bombf/z_en_bombf.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_400 | ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnAm*)thisx)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_200)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnBb*)thisx)
|
||||
|
||||
@@ -173,7 +173,7 @@ void EnBb_Freeze(EnBb* this) {
|
||||
this->drawDmgEffFrozenSteamScale = 0.6f;
|
||||
this->timer = 80;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ void EnBb_Thaw(EnBb* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, BUBBLE_BODYPART_MAX, 2, 0.2f, 0.15f);
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_200)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnBbfall*)thisx)
|
||||
|
||||
@@ -178,7 +178,7 @@ void EnBbfall_Freeze(EnBbfall* this) {
|
||||
this->drawDmgEffFrozenSteamScale = 0.6f;
|
||||
this->timer = 80;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ void EnBbfall_Thaw(EnBbfall* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, BUBBLE_BODYPART_MAX, 2, 0.2f, 0.15f);
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,9 @@
|
||||
#include "overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_400)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | \
|
||||
ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnBigpamet*)thisx)
|
||||
|
||||
|
||||
@@ -9,8 +9,9 @@
|
||||
#include "assets/objects/object_bigpo/object_bigpo.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_200 | ACTOR_FLAG_IGNORE_QUAKE)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | \
|
||||
ACTOR_FLAG_IGNORE_QUAKE)
|
||||
|
||||
#define THIS ((EnBigpo*)thisx)
|
||||
|
||||
|
||||
@@ -12,7 +12,9 @@
|
||||
#include "assets/objects/object_bigslime/object_bigslime.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_200)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | \
|
||||
ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnBigslime*)thisx)
|
||||
|
||||
@@ -765,8 +767,8 @@ void EnBigslime_BreakIntoMinislime(EnBigslime* this, PlayState* play) {
|
||||
EnBigslime_SetPlayerParams(this, play);
|
||||
EnBigslime_EndCutscene(this, play);
|
||||
this->actor.colChkInfo.mass = 50;
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_400);
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER);
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
this->actor.hintId = TATL_HINT_ID_GEKKO_GIANT_SLIME;
|
||||
this->gekkoRot.x = 0;
|
||||
this->gekkoRot.y = 0;
|
||||
@@ -914,7 +916,7 @@ void EnBigslime_GekkoFreeze(EnBigslime* this) {
|
||||
this->gekkoDrawDmgEffScale = 0.75f;
|
||||
this->gekkoDrawDmgEffFrozenSteamScale = 1.125f;
|
||||
this->gekkoDrawDmgEffAlpha = 1.0f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
|
||||
void EnBigslime_GekkoThaw(EnBigslime* this, PlayState* play) {
|
||||
@@ -924,7 +926,7 @@ void EnBigslime_GekkoThaw(EnBigslime* this, PlayState* play) {
|
||||
this->gekkoCollider.elem.elemMaterial = ELEM_MATERIAL_UNK1;
|
||||
this->gekkoDrawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->gekkoBodyPartsPos, GEKKO_BODYPART_MAX, 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1031,7 +1033,7 @@ void EnBigslime_SetupMoveOnCeiling(EnBigslime* this) {
|
||||
this->wavySurfaceTimer = 0;
|
||||
this->bigslimeCollider[0].base.acFlags |= AC_ON;
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
this->actionFunc = EnBigslime_MoveOnCeiling;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnDekubaba*)thisx)
|
||||
|
||||
@@ -292,7 +292,7 @@ void EnDekubaba_SetFrozenEffects(EnDekubaba* this) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX;
|
||||
this->collider.base.colMaterial = COL_MATERIAL_HIT3;
|
||||
this->timer = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -303,7 +303,7 @@ void EnDekubaba_SpawnIceEffects(EnDekubaba* this, PlayState* play) {
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, DEKUBABA_BODYPART_MAX, 4, this->size * 0.3f,
|
||||
this->size * 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
#include "z_en_dinofos.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_400)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | \
|
||||
ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnDinofos*)thisx)
|
||||
|
||||
@@ -405,7 +407,7 @@ void EnDinofos_Freeze(EnDinofos* this) {
|
||||
this->drawDmgEffFrozenSteamScale = 825.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->stunTimer = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -415,7 +417,7 @@ void EnDinofos_ThawIfFrozen(EnDinofos* this, PlayState* play) {
|
||||
this->bodyAndFireCollider.base.colMaterial = COL_MATERIAL_HIT0;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, DINOFOS_BODYPART_MAX, 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnDodongo*)thisx)
|
||||
|
||||
@@ -432,7 +432,7 @@ void func_80876CAC(EnDodongo* this) {
|
||||
this->drawDmgEffFrozenSteamScale = 1.125f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->timer = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -445,7 +445,7 @@ void func_80876D28(EnDodongo* this, PlayState* play) {
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, DODONGO_BODYPART_MAX, 2, this->unk_334 * 0.3f,
|
||||
this->unk_334 * 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
#include "z_en_fg.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_200 | ACTOR_FLAG_CAN_ATTACH_TO_ARROW)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | \
|
||||
ACTOR_FLAG_CAN_ATTACH_TO_ARROW)
|
||||
|
||||
#define THIS ((EnFg*)thisx)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "z_en_floormas.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnFloormas*)thisx)
|
||||
|
||||
@@ -228,7 +228,7 @@ void func_808D09CC(EnFloormas* this) {
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->collider.base.colMaterial = COL_MATERIAL_HIT3;
|
||||
this->unk_18E = 80;
|
||||
this->actor.flags &= ~(ACTOR_FLAG_200 | ACTOR_FLAG_400);
|
||||
this->actor.flags &= ~(ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER);
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -240,9 +240,9 @@ void func_808D0A48(EnFloormas* this, PlayState* play) {
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, ENFLOORMAS_BODYPART_MAX, 2,
|
||||
this->actor.scale.x * (30000.0f * 0.001f), this->actor.scale.x * 20.0f);
|
||||
if (this->actor.scale.x > 0.009f) {
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
} else {
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -562,8 +562,8 @@ void func_808D19D4(EnFloormas* this) {
|
||||
ANIMMODE_ONCE, 0.0f);
|
||||
this->collider.dim.radius = sCylinderInit.dim.radius * 0.6f;
|
||||
this->collider.dim.height = sCylinderInit.dim.height * 0.6f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
this->actor.colChkInfo.health = 1;
|
||||
this->actor.speed = 4.0f;
|
||||
this->actor.velocity.y = 7.0f;
|
||||
@@ -871,8 +871,8 @@ void func_808D2764(EnFloormas* this, PlayState* play) {
|
||||
this->actor.flags &= ~ACTOR_FLAG_10;
|
||||
func_808D0908(this);
|
||||
this->actor.params = ENFLOORMAS_GET_7FFF_0;
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
this->actor.colChkInfo.health = sColChkInfoInit.health;
|
||||
func_808D0C14(this);
|
||||
} else if (this->unk_18E == 0) {
|
||||
|
||||
@@ -279,7 +279,7 @@ void EnGrasshopper_Init(Actor* thisx, PlayState* play) {
|
||||
this->collider.elements[0].dim.modelSphere.center.z = this->collider.elements[1].dim.modelSphere.center.y =
|
||||
this->collider.elements[1].dim.modelSphere.center.z = 0;
|
||||
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 1.0f);
|
||||
this->actor.colChkInfo.damageTable = &sDamageTable;
|
||||
Math_Vec3f_Copy(&this->flyingHomePos, &this->actor.home.pos);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "z64rumble.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnIk*)thisx)
|
||||
|
||||
@@ -310,7 +310,7 @@ void EnIk_Freeze(EnIk* this) {
|
||||
this->drawDmgEffFrozenSteamScale = 97.5f * 0.01f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->timer = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -319,7 +319,7 @@ void EnIk_Thaw(EnIk* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, IRON_KNUCKLE_BODYPART_MAX, 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2086,7 +2086,7 @@ void EnInvadepoh_Romani_Init(EnInvadepoh* this, PlayState* play) {
|
||||
this->actor.update = EnInvadepoh_AbductedRomani_WaitForObject;
|
||||
} else if (type == EN_INVADEPOH_TYPE_ROMANI_SILENT) {
|
||||
this->actor.update = EnInvadepoh_SilentRomani_WaitForObject;
|
||||
this->actor.flags = ACTOR_FLAG_10 | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
this->actor.flags = ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10;
|
||||
} else if (type == EN_INVADEPOH_TYPE_ROMANI_NIGHT_1) {
|
||||
this->actor.update = EnInvadepoh_Night1Romani_WaitForObject;
|
||||
} else if (type == EN_INVADEPOH_TYPE_ROMANI_BARN) {
|
||||
|
||||
@@ -304,7 +304,7 @@ void EnKaizoku_Init(Actor* thisx, PlayState* play) {
|
||||
this->csId = this->picto.actor.csId;
|
||||
this->picto.actor.world.pos.y = player->actor.world.pos.y + 160.0f;
|
||||
this->picto.validationFunc = EnKaizoku_ValidatePictograph;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_400;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
func_80B85F48(this);
|
||||
}
|
||||
|
||||
@@ -1615,7 +1615,7 @@ void func_80B89280(EnKaizoku* this, PlayState* play) {
|
||||
Actor_SpawnIceEffects(play, &this->picto.actor, this->bodyPartsPos, KAIZOKU_BODYPART_MAX, 2, 0.7f, 0.4f);
|
||||
this->unk_2B8 = 0;
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_400;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1637,7 +1637,7 @@ void func_80B893CC(EnKaizoku* this, PlayState* play) {
|
||||
Actor_SpawnIceEffects(play, &this->picto.actor, this->bodyPartsPos, KAIZOKU_BODYPART_MAX, 2, 0.7f, 0.4f);
|
||||
this->unk_2B8 = 0;
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_400;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
|
||||
Actor_PlaySfx(&this->picto.actor, NA_SE_EN_PIRATE_DAMAGE);
|
||||
@@ -1689,7 +1689,7 @@ void func_80B8960C(EnKaizoku* this, PlayState* play) {
|
||||
Actor_PlaySfx(&this->picto.actor, NA_SE_EN_PIRATE_DEAD);
|
||||
this->picto.actor.flags |= ACTOR_FLAG_LOCK_ON_DISABLED;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
this->unk_598 = 0;
|
||||
this->unk_59C = 0;
|
||||
this->action = KAIZOKU_ACTION_15;
|
||||
@@ -1890,7 +1890,7 @@ void func_80B89A08(EnKaizoku* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_SFX;
|
||||
this->drawDmgEffScale = 0.0f;
|
||||
this->drawDmgEffFrozenSteamScale = 1.5f;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
if (this->picto.actor.colChkInfo.health <= 0) {
|
||||
func_80B8960C(this, play);
|
||||
} else {
|
||||
|
||||
@@ -181,7 +181,7 @@ void EnKakasi_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
this->aboveGroundStatus = KAKASI_GET_ABOVE_GROUND(&this->picto.actor);
|
||||
this->picto.actor.world.rot.x = 0;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_400;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
this->picto.actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
Actor_SetScale(&this->picto.actor, 0.01f);
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "z_en_kame.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnKame*)thisx)
|
||||
|
||||
@@ -197,7 +197,7 @@ void EnKame_Freeze(EnKame* this) {
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->collider.base.colMaterial = COL_MATERIAL_HIT3;
|
||||
this->stunTimer = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -207,7 +207,7 @@ void EnKame_Thaw(EnKame* this, PlayState* play) {
|
||||
this->collider.base.colMaterial = COL_MATERIAL_HIT6;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, SNAPPER_BODYPART_MAX, 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -561,7 +561,7 @@ void EnKnight_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.colChkInfo.damageTable = &sDamageTableStanding;
|
||||
this->bodyAlpha = 255.0f;
|
||||
this->randTimer = Rand_ZeroFloat(1000.0f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
|
||||
if (this->actor.params == EN_KNIGHT_PARAM_IGOS_HEAD) {
|
||||
// Flying head init
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
#include "z_en_minislime.h"
|
||||
#include "overlays/actors/ovl_En_Bigslime/z_en_bigslime.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_200)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | \
|
||||
ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnMinislime*)thisx)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "attributes.h"
|
||||
#include "assets/objects/object_rb/object_rb.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_200)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnNeoReeba*)thisx)
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ void EnPoSisters_Init(Actor* thisx, PlayState* play) {
|
||||
EnPoSisters_SpawnMegClones(this, play);
|
||||
EnPoSisters_SetupSpawnPo(this);
|
||||
} else {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_200 | ACTOR_FLAG_CAN_ATTACH_TO_ARROW);
|
||||
this->actor.flags &= ~(ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | ACTOR_FLAG_CAN_ATTACH_TO_ARROW);
|
||||
this->collider.elem.elemMaterial = ELEM_MATERIAL_UNK4;
|
||||
this->collider.elem.acDmgInfo.dmgFlags |= (0x40000 | 0x1);
|
||||
this->collider.base.ocFlags1 = OC1_NONE;
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
#include "z_en_poh.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_200 | ACTOR_FLAG_IGNORE_QUAKE)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | ACTOR_FLAG_IGNORE_QUAKE)
|
||||
|
||||
#define THIS ((EnPoh*)thisx)
|
||||
|
||||
|
||||
@@ -1250,9 +1250,9 @@ void EnPp_UpdateDamage(EnPp* this, PlayState* play) {
|
||||
|
||||
if (EN_PP_GET_TYPE(&this->actor) == EN_PP_TYPE_MASKED) {
|
||||
if ((yawDiff < (BREG(2) + 0x4A9C)) || (EN_PP_GET_TYPE(&this->actor) > EN_PP_TYPE_MASKED)) {
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
} else {
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "z64rumble.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnRailgibud*)thisx)
|
||||
|
||||
@@ -939,7 +939,7 @@ void EnRailgibud_CheckForGibdoMask(EnRailgibud* this, PlayState* play) {
|
||||
if (CHECK_FLAG_ALL(this->actor.flags, (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE))) {
|
||||
if (Player_GetMask(play) == PLAYER_MASK_GIBDO) {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
this->actor.flags |= (ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_ATTENTION_ENABLED);
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.hintId = TATL_HINT_ID_NONE;
|
||||
this->actor.textId = 0;
|
||||
if ((this->actionFunc != EnRailgibud_WalkInCircles) && (this->actionFunc != EnRailgibud_WalkToHome)) {
|
||||
@@ -947,7 +947,7 @@ void EnRailgibud_CheckForGibdoMask(EnRailgibud* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
} else if (Player_GetMask(play) != PLAYER_MASK_GIBDO) {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_ATTENTION_ENABLED);
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
if (this->type == EN_RAILGIBUD_TYPE_REDEAD) {
|
||||
this->actor.hintId = TATL_HINT_ID_REDEAD;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_200)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnRat*)thisx)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "assets/objects/object_rd/object_rd.h"
|
||||
#include "overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnRd*)thisx)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "assets/objects/object_rr/object_rr.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnRr*)thisx)
|
||||
|
||||
@@ -197,7 +197,7 @@ void func_808FA11C(EnRr* this) {
|
||||
this->drawDmgEffScale = 0.85f;
|
||||
this->drawDmgEffFrozenSteamScale = 1275.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ void func_808FA19C(EnRr* this, PlayState* play) {
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, LIKE_LIKE_BODYPART_MAX, 2,
|
||||
this->actor.scale.y * 23.333334f, this->actor.scale.y * 20.000002f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include "z_en_si.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_200)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnSi*)thisx)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "z_en_slime.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_200)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnSlime*)thisx)
|
||||
|
||||
@@ -231,7 +231,7 @@ void EnSlime_Freeze(EnSlime* this) {
|
||||
this->drawDmgEffFrozenSteamScale = 0.6f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->timer = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_XLU, 80);
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ void EnSlime_Thaw(EnSlime* this, PlayState* play) {
|
||||
this->collider.base.colMaterial = COL_MATERIAL_NONE;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, EN_SLIME_BODYPART_MAX, 2, 0.2f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ void EnSnowman_Init(Actor* thisx, PlayState* play) {
|
||||
CollisionCheck_SetInfo(&thisx->colChkInfo, &sDamageTable, &sColChkInfoInit);
|
||||
Collider_InitAndSetCylinder(play, &this->collider, thisx, &sEenoCylinderInit);
|
||||
if (EN_SNOWMAN_GET_TYPE(thisx) == EN_SNOWMAN_TYPE_LARGE) {
|
||||
thisx->flags |= ACTOR_FLAG_400;
|
||||
thisx->flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SpawnAsChild(&play->actorCtx, thisx, play, ACTOR_EN_SNOWMAN, thisx->world.pos.x, thisx->world.pos.y,
|
||||
thisx->world.pos.z, 0, 0, 0, EN_SNOWMAN_TYPE_SPLIT);
|
||||
thisx->parent = Actor_SpawnAsChildAndCutscene(&play->actorCtx, play, ACTOR_EN_SNOWMAN, thisx->world.pos.x,
|
||||
@@ -837,7 +837,7 @@ void EnSnowman_CreateSplitEeno(EnSnowman* this, Vec3f* basePos, s32 yRot) {
|
||||
this->actor.world.pos.z = (Math_CosS(yRot) * 40.0f) + basePos->z;
|
||||
this->combineTimer = 600;
|
||||
this->actor.params = EN_SNOWMAN_TYPE_SPLIT;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
this->collider.base.ocFlags1 |= OC1_ON;
|
||||
this->collider.base.acFlags &= ~AC_ON;
|
||||
EnSnowman_SetupMoveSnowPile(this);
|
||||
@@ -955,7 +955,7 @@ void EnSnowman_Combine(EnSnowman* this, PlayState* play) {
|
||||
} else if (this->fwork.targetScaleDuringCombine > 0.018f) {
|
||||
Actor_SetScale(&this->actor, 0.02f);
|
||||
this->actor.params = EN_SNOWMAN_TYPE_LARGE;
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
this->collider.base.ocFlags1 |= OC1_ON;
|
||||
this->combineState = EN_SNOWMAN_COMBINE_STATE_BEING_ABSORBED_OR_DONE;
|
||||
this->eenoScale = 2.0f;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "z_en_talk_gibud.h"
|
||||
#include "z64rumble.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnTalkGibud*)thisx)
|
||||
|
||||
@@ -569,7 +569,7 @@ void EnTalkGibud_Damage(EnTalkGibud* this, PlayState* play) {
|
||||
if ((this->drawDmgEffTimer > 0) && (this->drawDmgEffType == ACTOR_DRAW_DMGEFF_FIRE) &&
|
||||
(this->type == EN_TALK_GIBUD_TYPE_GIBDO)) {
|
||||
this->actor.hintId = TATL_HINT_ID_REDEAD;
|
||||
this->actor.flags &= ~(ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_ATTENTION_ENABLED);
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gRedeadSkel, NULL, this->jointTable, this->morphTable,
|
||||
GIBDO_LIMB_MAX);
|
||||
@@ -935,13 +935,13 @@ void EnTalkGibud_CheckForGibdoMask(EnTalkGibud* this, PlayState* play) {
|
||||
if (this->actionFunc != EnTalkGibud_PassiveIdle) {
|
||||
if (Player_GetMask(play) == PLAYER_MASK_GIBDO) {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
this->actor.flags |= (ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_ATTENTION_ENABLED);
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.hintId = TATL_HINT_ID_NONE;
|
||||
this->actor.textId = 0;
|
||||
EnTalkGibud_SetupPassiveIdle(this);
|
||||
}
|
||||
} else if (Player_GetMask(play) != PLAYER_MASK_GIBDO) {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_ATTENTION_ENABLED);
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
if (this->type == EN_TALK_GIBUD_TYPE_REDEAD) {
|
||||
this->actor.hintId = TATL_HINT_ID_REDEAD;
|
||||
|
||||
@@ -130,7 +130,7 @@ void EnTanron2_Init(Actor* thisx, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
Actor_SetScale(&this->actor, 1.0f);
|
||||
|
||||
this->actor.draw = NULL;
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
#include "z_en_thiefbird.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_200 | ACTOR_FLAG_IGNORE_QUAKE | \
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | ACTOR_FLAG_IGNORE_QUAKE | \
|
||||
ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
|
||||
#define THIS ((EnThiefbird*)thisx)
|
||||
@@ -462,7 +462,7 @@ void func_80C11454(EnThiefbird* this) {
|
||||
this->drawDmgEffScale = 0.5f;
|
||||
this->drawDmgEffFrozenSteamScale = 0.75f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -471,7 +471,7 @@ void func_80C114C0(EnThiefbird* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, EN_THIEFBIRD_BODYPART_MAX, 2, 0.2f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "z_en_tite.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_200)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR)
|
||||
|
||||
#define THIS ((EnTite*)thisx)
|
||||
|
||||
@@ -272,7 +272,7 @@ void func_80893DD4(EnTite* this) {
|
||||
this->drawDmgEffFrozenSteamScale = 0.75f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
this->actor.flags &= ~ACTOR_FLAG_200;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
|
||||
void func_80893E54(EnTite* this, PlayState* play) {
|
||||
@@ -281,7 +281,7 @@ void func_80893E54(EnTite* this, PlayState* play) {
|
||||
this->collider.base.colMaterial = COL_MATERIAL_HIT6;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, ENTITE_BODYPART_MAX, 2, 0.2f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_200;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnVm*)thisx)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnWallmas*)thisx)
|
||||
|
||||
@@ -204,7 +204,7 @@ void EnWallmas_Freeze(EnWallmas* this) {
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->collider.base.colMaterial = COL_MATERIAL_HIT3;
|
||||
this->timer = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -214,7 +214,7 @@ void EnWallmas_ThawIfFrozen(EnWallmas* this, PlayState* play) {
|
||||
this->collider.base.colMaterial = COL_MATERIAL_HIT0;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, WALLMASTER_BODYPART_MAX, 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((EnWf*)thisx)
|
||||
|
||||
@@ -366,7 +366,7 @@ void func_809907D4(EnWf* this) {
|
||||
this->collider2.base.colMaterial = COL_MATERIAL_HIT3;
|
||||
this->collider3.base.colMaterial = COL_MATERIAL_HIT3;
|
||||
this->unk_2A0 = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
this->actor.flags &= ~ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
}
|
||||
|
||||
@@ -377,7 +377,7 @@ void func_80990854(EnWf* this, PlayState* play) {
|
||||
this->collider3.base.colMaterial = COL_MATERIAL_HIT5;
|
||||
this->drawDmgEffAlpha = 0.0f;
|
||||
Actor_SpawnIceEffects(play, &this->actor, this->bodyPartsPos, WOLFOS_BODYPART_MAX, 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= ACTOR_FLAG_400;
|
||||
this->actor.flags |= ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
#include "assets/objects/object_syokudai/object_syokudai.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_400)
|
||||
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)
|
||||
|
||||
#define THIS ((ObjSyokudai*)thisx)
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ void Player_Action_88(Player* this, PlayState* play);
|
||||
void Player_Action_89(Player* this, PlayState* play);
|
||||
void Player_Action_90(Player* this, PlayState* play);
|
||||
void Player_Action_91(Player* this, PlayState* play);
|
||||
void Player_Action_92(Player* this, PlayState* play);
|
||||
void Player_Action_HookshotFly(Player* this, PlayState* play);
|
||||
void Player_Action_93(Player* this, PlayState* play);
|
||||
void Player_Action_94(Player* this, PlayState* play);
|
||||
void Player_Action_95(Player* this, PlayState* play);
|
||||
@@ -4407,9 +4407,9 @@ s32 Player_SetAction(PlayState* play, Player* this, PlayerActionFunc actionFunc,
|
||||
this->stateFlags2 &= ~(PLAYER_STATE2_80000 | PLAYER_STATE2_800000 | PLAYER_STATE2_2000000 |
|
||||
PLAYER_STATE2_USING_OCARINA | PLAYER_STATE2_IDLE_FIDGET);
|
||||
this->stateFlags3 &=
|
||||
~(PLAYER_STATE3_2 | PLAYER_STATE3_8 | PLAYER_STATE3_80 | PLAYER_STATE3_200 | PLAYER_STATE3_2000 |
|
||||
PLAYER_STATE3_8000 | PLAYER_STATE3_10000 | PLAYER_STATE3_20000 | PLAYER_STATE3_40000 | PLAYER_STATE3_80000 |
|
||||
PLAYER_STATE3_200000 | PLAYER_STATE3_1000000 | PLAYER_STATE3_20000000);
|
||||
~(PLAYER_STATE3_2 | PLAYER_STATE3_8 | PLAYER_STATE3_FLYING_WITH_HOOKSHOT | PLAYER_STATE3_200 |
|
||||
PLAYER_STATE3_2000 | PLAYER_STATE3_8000 | PLAYER_STATE3_10000 | PLAYER_STATE3_20000 | PLAYER_STATE3_40000 |
|
||||
PLAYER_STATE3_80000 | PLAYER_STATE3_200000 | PLAYER_STATE3_1000000 | PLAYER_STATE3_20000000);
|
||||
|
||||
this->av1.actionVar1 = 0;
|
||||
this->av2.actionVar2 = 0;
|
||||
@@ -4673,8 +4673,8 @@ bool func_8083213C(Player* this) {
|
||||
|
||||
bool Player_UpdateUpperBody(Player* this, PlayState* play) {
|
||||
if (!(this->stateFlags1 & PLAYER_STATE1_800000) && (this->actor.parent != NULL) && Player_IsHoldingHookshot(this)) {
|
||||
Player_SetAction(play, this, Player_Action_92, 1);
|
||||
this->stateFlags3 |= PLAYER_STATE3_80;
|
||||
Player_SetAction(play, this, Player_Action_HookshotFly, 1);
|
||||
this->stateFlags3 |= PLAYER_STATE3_FLYING_WITH_HOOKSHOT;
|
||||
Player_Anim_PlayOnce(play, this, &gPlayerAnim_link_hook_fly_start);
|
||||
Player_AnimReplace_Setup(play, this,
|
||||
(ANIM_FLAG_1 | ANIM_FLAG_UPDATE_Y | ANIM_FLAG_8 | ANIM_FLAG_NOMOVE | ANIM_FLAG_80));
|
||||
@@ -4914,7 +4914,8 @@ void Player_UpdateZTargeting(Player* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if ((play->csCtx.state != CS_STATE_IDLE) || (this->csAction != PLAYER_CSACTION_NONE) ||
|
||||
(this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_20000000)) || (this->stateFlags3 & PLAYER_STATE3_80)) {
|
||||
(this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_20000000)) ||
|
||||
(this->stateFlags3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT)) {
|
||||
// Don't allow Z-Targeting in various states
|
||||
this->zTargetActiveTimer = 0;
|
||||
} else if (zButtonHeld || (this->stateFlags2 & PLAYER_STATE2_LOCK_ON_WITH_SWITCH) ||
|
||||
@@ -8294,7 +8295,8 @@ void func_80839E74(Player* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80839ED0(Player* this, PlayState* play) {
|
||||
if (!(this->stateFlags3 & PLAYER_STATE3_80) && (Player_Action_64 != this->actionFunc) && !func_8083213C(this)) {
|
||||
if (!(this->stateFlags3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT) && (Player_Action_64 != this->actionFunc) &&
|
||||
!func_8083213C(this)) {
|
||||
func_80836D8C(this);
|
||||
if (!(this->stateFlags1 & PLAYER_STATE1_TALKING)) {
|
||||
if (func_801242B4(this)) {
|
||||
@@ -11115,11 +11117,11 @@ void Player_Init(Actor* thisx, PlayState* play) {
|
||||
this->stateFlags1 &= ~(PLAYER_STATE1_8 | PLAYER_STATE1_CHARGING_SPIN_ATTACK |
|
||||
PLAYER_STATE1_USING_ZORA_BOOMERANG | PLAYER_STATE1_ZORA_BOOMERANG_THROWN);
|
||||
this->stateFlags2 &= ~(PLAYER_STATE2_20000 | PLAYER_STATE2_1000000 | PLAYER_STATE2_40000000);
|
||||
this->stateFlags3 &=
|
||||
~(PLAYER_STATE3_8 | PLAYER_STATE3_40 | PLAYER_STATE3_80 | PLAYER_STATE3_100 | PLAYER_STATE3_200 |
|
||||
PLAYER_STATE3_800 | PLAYER_STATE3_1000 | PLAYER_STATE3_2000 | PLAYER_STATE3_8000 | PLAYER_STATE3_10000 |
|
||||
PLAYER_STATE3_40000 | PLAYER_STATE3_80000 | PLAYER_STATE3_100000 | PLAYER_STATE3_200000 |
|
||||
PLAYER_STATE3_ZORA_BOOMERANG_CAUGHT | PLAYER_STATE3_1000000 | PLAYER_STATE3_2000000);
|
||||
this->stateFlags3 &= ~(PLAYER_STATE3_8 | PLAYER_STATE3_40 | PLAYER_STATE3_FLYING_WITH_HOOKSHOT |
|
||||
PLAYER_STATE3_100 | PLAYER_STATE3_200 | PLAYER_STATE3_800 | PLAYER_STATE3_1000 |
|
||||
PLAYER_STATE3_2000 | PLAYER_STATE3_8000 | PLAYER_STATE3_10000 | PLAYER_STATE3_40000 |
|
||||
PLAYER_STATE3_80000 | PLAYER_STATE3_100000 | PLAYER_STATE3_200000 |
|
||||
PLAYER_STATE3_ZORA_BOOMERANG_CAUGHT | PLAYER_STATE3_1000000 | PLAYER_STATE3_2000000);
|
||||
this->unk_B08 = 0.0f;
|
||||
this->unk_B0C = 0.0f;
|
||||
}
|
||||
@@ -11922,7 +11924,7 @@ void Player_UpdateCamAndSeqModes(PlayState* play, Player* this) {
|
||||
} else {
|
||||
camera = (this->actor.id == ACTOR_PLAYER) ? Play_GetCamera(play, CAM_ID_MAIN)
|
||||
: Play_GetCamera(play, ((EnTest3*)this)->subCamId);
|
||||
if ((this->actor.parent != NULL) && (this->stateFlags3 & PLAYER_STATE3_80)) {
|
||||
if ((this->actor.parent != NULL) && (this->stateFlags3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT)) {
|
||||
camMode = CAM_MODE_HOOKSHOT;
|
||||
Camera_SetViewParam(camera, CAM_VIEW_TARGET, this->actor.parent);
|
||||
} else if (Player_Action_21 == this->actionFunc) {
|
||||
@@ -12548,7 +12550,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) {
|
||||
Math_StepToF(&this->pushedSpeed, 0.0f, (this->stateFlags1 & PLAYER_STATE1_8000000) ? 0.5f : 2.0f);
|
||||
}
|
||||
if (!(this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_20000000)) &&
|
||||
!(this->stateFlags3 & PLAYER_STATE3_80) && (Player_Action_80 != this->actionFunc)) {
|
||||
!(this->stateFlags3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT) && (Player_Action_80 != this->actionFunc)) {
|
||||
func_8083BB4C(play, this);
|
||||
if (!Play_InCsMode(play)) {
|
||||
if ((this->actor.id == ACTOR_PLAYER) && !(this->stateFlags1 & PLAYER_STATE1_80000000) &&
|
||||
@@ -18744,7 +18746,7 @@ void Player_Action_91(Player* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
void Player_Action_92(Player* this, PlayState* play) {
|
||||
void Player_Action_HookshotFly(Player* this, PlayState* play) {
|
||||
this->stateFlags2 |= PLAYER_STATE2_20;
|
||||
|
||||
if (PlayerAnimation_Update(play, &this->skelAnime)) {
|
||||
@@ -18752,6 +18754,7 @@ void Player_Action_92(Player* this, PlayState* play) {
|
||||
}
|
||||
|
||||
Math_Vec3f_Sum(&this->actor.world.pos, &this->actor.velocity, &this->actor.world.pos);
|
||||
|
||||
if (func_80831124(play, this)) {
|
||||
f32 var_fv0;
|
||||
|
||||
@@ -20979,7 +20982,7 @@ s32 Player_GrabPlayer(PlayState* play, Player* this) {
|
||||
if (!Player_InBlockingCsMode(play, this) && (this->invincibilityTimer >= 0) && !func_801240DC(this)) {
|
||||
if (!(this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_100000 |
|
||||
PLAYER_STATE1_200000 | PLAYER_STATE1_800000))) {
|
||||
if (!(this->stateFlags2 & PLAYER_STATE2_80) && !(this->stateFlags3 & PLAYER_STATE3_80)) {
|
||||
if (!(this->stateFlags2 & PLAYER_STATE2_80) && !(this->stateFlags3 & PLAYER_STATE3_FLYING_WITH_HOOKSHOT)) {
|
||||
func_8085B170(play, this);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -4775,7 +4775,7 @@
|
||||
0x80855AF4:("Player_Action_89",),
|
||||
0x80855B9C:("Player_Action_90",),
|
||||
0x80855C28:("Player_Action_91",),
|
||||
0x80855E08:("Player_Action_92",),
|
||||
0x80855E08:("Player_Action_HookshotFly",),
|
||||
0x80855F9C:("func_80855F9C",),
|
||||
0x80856000:("func_80856000",),
|
||||
0x80856074:("func_80856074",),
|
||||
@@ -6103,7 +6103,7 @@
|
||||
0x808C103C:("ArmsHook_Init",),
|
||||
0x808C10B0:("ArmsHook_Destroy",),
|
||||
0x808C10F8:("ArmsHook_Wait",),
|
||||
0x808C1154:("func_808C1154",),
|
||||
0x808C1154:("ArmsHook_PullPlayer",),
|
||||
0x808C1168:("ArmsHook_AttachToPlayer",),
|
||||
0x808C1198:("ArmsHook_DetachFromActor",),
|
||||
0x808C11C0:("ArmsHook_CheckForCancel",),
|
||||
|
||||
Reference in New Issue
Block a user