mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-29 04:42:18 -05:00
Docs: Update Player/Actor Flags (#2765)
* Actor Flags update * player state1 flags; cleanup; prep for state2 and state3 * Player state2 * player state3 * Rename flags in Player tab
This commit is contained in:
parent
f544aba647
commit
71662c56b5
@ -103,34 +103,34 @@ typedef struct {
|
||||
/* 0x18 */ Vec3f feetPos[2]; // Update by using `Actor_SetFeetPos` in PostLimbDraw
|
||||
} ActorShape; // size = 0x30
|
||||
|
||||
#define ACTOR_FLAG_0 (1 << 0)
|
||||
#define ACTOR_FLAG_2 (1 << 2)
|
||||
#define ACTOR_FLAG_3 (1 << 3)
|
||||
#define ACTOR_FLAG_4 (1 << 4)
|
||||
#define ACTOR_FLAG_5 (1 << 5)
|
||||
#define ACTOR_FLAG_6 (1 << 6)
|
||||
#define ACTOR_FLAG_7 (1 << 7)
|
||||
#define ACTOR_FLAG_8 (1 << 8)
|
||||
#define ACTOR_FLAG_9 (1 << 9)
|
||||
#define ACTOR_FLAG_10 (1 << 10)
|
||||
#define ACTOR_FLAG_TARGETABLE (1 << 0)
|
||||
#define ACTOR_FLAG_HOSTILE (1 << 2)
|
||||
#define ACTOR_FLAG_FRIENDLY (1 << 3)
|
||||
#define ACTOR_FLAG_UPDATE_WHILE_CULLED (1 << 4)
|
||||
#define ACTOR_FLAG_DRAW_WHILE_CULLED (1 << 5)
|
||||
#define ACTOR_FLAG_ACTIVE (1 << 6)
|
||||
#define ACTOR_FLAG_LENS (1 << 7)
|
||||
#define ACTOR_FLAG_PLAYER_TALKED_TO (1 << 8)
|
||||
#define ACTOR_FLAG_HOOKSHOT_DRAGS (1 << 9)
|
||||
#define ACTOR_FLAG_DRAGGED_BY_HOOKSHOT (1 << 10)
|
||||
#define ACTOR_FLAG_ENKUSA_CUT (1 << 11)
|
||||
#define ACTOR_FLAG_12 (1 << 12)
|
||||
#define ACTOR_FLAG_13 (1 << 13)
|
||||
#define ACTOR_FLAG_14 (1 << 14)
|
||||
#define ACTOR_FLAG_15 (1 << 15)
|
||||
#define ACTOR_FLAG_16 (1 << 16)
|
||||
#define ACTOR_FLAG_17 (1 << 17)
|
||||
#define ACTOR_FLAG_18 (1 << 18)
|
||||
#define ACTOR_FLAG_19 (1 << 19)
|
||||
#define ACTOR_FLAG_20 (1 << 20)
|
||||
#define ACTOR_FLAG_21 (1 << 21)
|
||||
#define ACTOR_FLAG_22 (1 << 22)
|
||||
#define ACTOR_FLAG_23 (1 << 23)
|
||||
#define ACTOR_FLAG_24 (1 << 24)
|
||||
#define ACTOR_FLAG_25 (1 << 25)
|
||||
#define ACTOR_FLAG_26 (1 << 26)
|
||||
#define ACTOR_FLAG_27 (1 << 27)
|
||||
#define ACTOR_FLAG_28 (1 << 28)
|
||||
#define ACTOR_FLAG_IGNORE_QUAKE (1 << 12)
|
||||
#define ACTOR_FLAG_HOOKSHOT_ATTACHED (1 << 13)
|
||||
#define ACTOR_FLAG_ARROW_DRAGGABLE (1 << 14)
|
||||
#define ACTOR_FLAG_DRAGGED_BY_ARROW (1 << 15)
|
||||
#define ACTOR_FLAG_WILL_TALK (1 << 16)
|
||||
#define ACTOR_FLAG_PILLAR_PICKUP (1 << 17)
|
||||
#define ACTOR_FLAG_NAVI_HAS_INFO (1 << 18)
|
||||
#define ACTOR_FLAG_SFX_AT_POS (1 << 19)
|
||||
#define ACTOR_FLAG_SFX_AT_CENTER (1 << 20)
|
||||
#define ACTOR_FLAG_SFX_AT_CENTER2 (1 << 21)
|
||||
#define ACTOR_FLAG_IGNORE_POINTLIGHTS (1 << 22)
|
||||
#define ACTOR_FLAG_ALWAYS_THROWN (1 << 23)
|
||||
#define ACTOR_FLAG_PLAY_HIT_SFX (1 << 24)
|
||||
#define ACTOR_FLAG_NO_FREEZE_OCARINA (1 << 25)
|
||||
#define ACTOR_FLAG_CAN_PRESS_SWITCH (1 << 26)
|
||||
#define ACTOR_FLAG_NO_LOCKON (1 << 27)
|
||||
#define ACTOR_FLAG_SFX_AS_TIMER (1 << 28)
|
||||
|
||||
typedef struct Actor {
|
||||
/* 0x000 */ s16 id; // Actor ID
|
||||
|
@ -415,80 +415,80 @@ typedef struct {
|
||||
} PendingFlag; // size = 0x06
|
||||
// #endregion
|
||||
|
||||
#define PLAYER_STATE1_0 (1 << 0)
|
||||
#define PLAYER_STATE1_LOADING (1 << 0) //Transitioning to a new scene
|
||||
#define PLAYER_STATE1_SWINGING_BOTTLE (1 << 1)
|
||||
#define PLAYER_STATE1_2 (1 << 2)
|
||||
#define PLAYER_STATE1_3 (1 << 3)
|
||||
#define PLAYER_STATE1_4 (1 << 4)
|
||||
#define PLAYER_STATE1_5 (1 << 5)
|
||||
#define PLAYER_STATE1_6 (1 << 6)
|
||||
#define PLAYER_STATE1_7 (1 << 7)
|
||||
#define PLAYER_STATE1_8 (1 << 8)
|
||||
#define PLAYER_STATE1_9 (1 << 9)
|
||||
#define PLAYER_STATE1_10 (1 << 10)
|
||||
#define PLAYER_STATE1_11 (1 << 11)
|
||||
#define PLAYER_STATE1_12 (1 << 12)
|
||||
#define PLAYER_STATE1_13 (1 << 13)
|
||||
#define PLAYER_STATE1_14 (1 << 14)
|
||||
#define PLAYER_STATE1_15 (1 << 15)
|
||||
#define PLAYER_STATE1_16 (1 << 16)
|
||||
#define PLAYER_STATE1_17 (1 << 17)
|
||||
#define PLAYER_STATE1_18 (1 << 18)
|
||||
#define PLAYER_STATE1_19 (1 << 19)
|
||||
#define PLAYER_STATE1_20 (1 << 20)
|
||||
#define PLAYER_STATE1_21 (1 << 21)
|
||||
#define PLAYER_STATE1_22 (1 << 22)
|
||||
#define PLAYER_STATE1_23 (1 << 23)
|
||||
#define PLAYER_STATE1_24 (1 << 24)
|
||||
#define PLAYER_STATE1_25 (1 << 25)
|
||||
#define PLAYER_STATE1_26 (1 << 26)
|
||||
#define PLAYER_STATE1_27 (1 << 27)
|
||||
#define PLAYER_STATE1_28 (1 << 28)
|
||||
#define PLAYER_STATE1_29 (1 << 29)
|
||||
#define PLAYER_STATE1_30 (1 << 30)
|
||||
#define PLAYER_STATE1_31 (1 << 31)
|
||||
#define PLAYER_STATE1_HOOKSHOT_FALLING (1 << 2)
|
||||
#define PLAYER_STATE1_ITEM_IN_HAND (1 << 3)
|
||||
#define PLAYER_STATE1_ENEMY_TARGET (1 << 4)
|
||||
#define PLAYER_STATE1_INPUT_DISABLED (1 << 5)
|
||||
#define PLAYER_STATE1_TEXT_ON_SCREEN (1 << 6)
|
||||
#define PLAYER_STATE1_DEAD (1 << 7)
|
||||
#define PLAYER_STATE1_START_PUTAWAY (1 << 8)
|
||||
#define PLAYER_STATE1_READY_TO_FIRE (1 << 9)
|
||||
#define PLAYER_STATE1_GETTING_ITEM (1 << 10)
|
||||
#define PLAYER_STATE1_ITEM_OVER_HEAD (1 << 11)
|
||||
#define PLAYER_STATE1_CHARGING_SPIN_ATTACK (1 << 12)
|
||||
#define PLAYER_STATE1_HANGING_OFF_LEDGE (1 << 13)
|
||||
#define PLAYER_STATE1_CLIMBING_LEDGE (1 << 14)
|
||||
#define PLAYER_STATE1_TARGETING (1 << 15)
|
||||
#define PLAYER_STATE1_TARGET_LOCKED (1 << 16)
|
||||
#define PLAYER_STATE1_TARGET_NOTHING (1 << 17)
|
||||
#define PLAYER_STATE1_JUMPING (1 << 18)
|
||||
#define PLAYER_STATE1_FREEFALL (1 << 19)
|
||||
#define PLAYER_STATE1_FIRST_PERSON (1 << 20)
|
||||
#define PLAYER_STATE1_CLIMBING_LADDER (1 << 21)
|
||||
#define PLAYER_STATE1_SHIELDING (1 << 22)
|
||||
#define PLAYER_STATE1_ON_HORSE (1 << 23)
|
||||
#define PLAYER_STATE1_BOOMERANG_IN_HAND (1 << 24)
|
||||
#define PLAYER_STATE1_THREW_BOOMERANG (1 << 25)
|
||||
#define PLAYER_STATE1_DAMAGED (1 << 26)
|
||||
#define PLAYER_STATE1_IN_WATER (1 << 27)
|
||||
#define PLAYER_STATE1_IN_ITEM_CS (1 << 28)
|
||||
#define PLAYER_STATE1_IN_CUTSCENE (1 << 29)
|
||||
#define PLAYER_STATE1_30 (1 << 30) //Unknown, potentially target related?
|
||||
#define PLAYER_STATE1_FLOOR_DISABLED (1 << 31) //Used for grottos
|
||||
|
||||
#define PLAYER_STATE2_0 (1 << 0)
|
||||
#define PLAYER_STATE2_1 (1 << 1)
|
||||
#define PLAYER_STATE2_2 (1 << 2)
|
||||
#define PLAYER_STATE2_3 (1 << 3)
|
||||
#define PLAYER_STATE2_4 (1 << 4)
|
||||
#define PLAYER_STATE2_5 (1 << 5)
|
||||
#define PLAYER_STATE2_6 (1 << 6)
|
||||
#define PLAYER_STATE2_7 (1 << 7)
|
||||
#define PLAYER_STATE2_8 (1 << 8)
|
||||
#define PLAYER_STATE2_9 (1 << 9)
|
||||
#define PLAYER_STATE2_10 (1 << 10)
|
||||
#define PLAYER_STATE2_11 (1 << 11)
|
||||
#define PLAYER_STATE2_12 (1 << 12)
|
||||
#define PLAYER_STATE2_13 (1 << 13)
|
||||
#define PLAYER_STATE2_14 (1 << 14)
|
||||
#define PLAYER_STATE2_15 (1 << 15)
|
||||
#define PLAYER_STATE2_DO_ACTION_GRAB (1 << 0)
|
||||
#define PLAYER_STATE2_SPEAK_OR_CHECK (1 << 1)
|
||||
#define PLAYER_STATE2_DO_ACTION_CLIMB (1 << 2)
|
||||
#define PLAYER_STATE2_FOOTSTEP (1 << 3)
|
||||
#define PLAYER_STATE2_MOVING_DYNAPOLY (1 << 4)
|
||||
#define PLAYER_STATE2_DISABLE_ROTATION_Z_TARGET (1 << 5)
|
||||
#define PLAYER_STATE2_DISABLE_ROTATION_ALWAYS (1 << 6)
|
||||
#define PLAYER_STATE2_GRABBED_BY_ENEMY (1 << 7)
|
||||
#define PLAYER_STATE2_GRABBING_DYNAPOLY (1 << 8)
|
||||
#define PLAYER_STATE2_SPAWN_DUST (1 << 9)
|
||||
#define PLAYER_STATE2_UNDERWATER (1 << 10)
|
||||
#define PLAYER_STATE2_DIVING (1 << 11)
|
||||
#define PLAYER_STATE2_STATIONARY_LADDER (1 << 12)
|
||||
#define PLAYER_STATE2_SWITCH_TARGETING (1 << 13)
|
||||
#define PLAYER_STATE2_FROZEN (1 << 14)
|
||||
#define PLAYER_STATE2_PAUSE_MOST_UPDATING (1 << 15)
|
||||
#define PLAYER_STATE2_DO_ACTION_ENTER (1 << 16) // Turns on the "Enter On A" DoAction
|
||||
#define PLAYER_STATE2_17 (1 << 17)
|
||||
#define PLAYER_STATE2_SPIN_ATTACKING (1 << 17) //w/o magic
|
||||
#define PLAYER_STATE2_CRAWLING (1 << 18) // Crawling through a crawlspace
|
||||
#define PLAYER_STATE2_19 (1 << 19)
|
||||
#define PLAYER_STATE2_20 (1 << 20)
|
||||
#define PLAYER_STATE2_21 (1 << 21)
|
||||
#define PLAYER_STATE2_22 (1 << 22)
|
||||
#define PLAYER_STATE2_23 (1 << 23)
|
||||
#define PLAYER_STATE2_24 (1 << 24)
|
||||
#define PLAYER_STATE2_25 (1 << 25)
|
||||
#define PLAYER_STATE2_26 (1 << 26)
|
||||
#define PLAYER_STATE2_27 (1 << 27)
|
||||
#define PLAYER_STATE2_28 (1 << 28)
|
||||
#define PLAYER_STATE2_29 (1 << 29)
|
||||
#define PLAYER_STATE2_30 (1 << 30)
|
||||
#define PLAYER_STATE2_31 (1 << 31)
|
||||
#define PLAYER_STATE2_HOPPING (1 << 19) //Sidehop/backflip
|
||||
#define PLAYER_STATE2_NAVI_OUT (1 << 20)
|
||||
#define PLAYER_STATE2_NAVI_ALERT (1 << 21)
|
||||
#define PLAYER_STATE2_DO_ACTION_DOWN (1 << 22)
|
||||
#define PLAYER_STATE2_NEAR_OCARINA_ACTOR (1 << 23)
|
||||
#define PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR (1 << 24)
|
||||
#define PLAYER_STATE2_PLAY_FOR_ACTOR (1 << 25)
|
||||
#define PLAYER_STATE2_REFLECTION (1 << 26) //Handles Dark Link's Reflection
|
||||
#define PLAYER_STATE2_OCARINA_PLAYING (1 << 27)
|
||||
#define PLAYER_STATE2_IDLING (1 << 28)
|
||||
#define PLAYER_STATE2_DISABLE_DRAW (1 << 29)
|
||||
#define PLAYER_STATE2_SWORD_LUNGE (1 << 30)
|
||||
#define PLAYER_STATE2_FORCED_VOID_OUT (1 << 31)
|
||||
|
||||
#define PLAYER_STATE3_0 (1 << 0)
|
||||
#define PLAYER_STATE3_1 (1 << 1)
|
||||
#define PLAYER_STATE3_2 (1 << 2)
|
||||
#define PLAYER_STATE3_3 (1 << 3)
|
||||
#define PLAYER_STATE3_4 (1 << 4)
|
||||
#define PLAYER_STATE3_5 (1 << 5)
|
||||
#define PLAYER_STATE3_IGNORE_CEILING_FLOOR_WATER (1 << 0)
|
||||
#define PLAYER_STATE3_MIDAIR (1 << 1)
|
||||
#define PLAYER_STATE3_PAUSE_ACTION_FUNC (1 << 2)
|
||||
#define PLAYER_STATE3_FINISHED_ATTACKING (1 << 3)
|
||||
#define PLAYER_STATE3_CHECK_FLOOR_WATER_COLLISION (1 << 4)
|
||||
#define PLAYER_STATE3_FORCE_PULL_OCARINA (1 << 5)
|
||||
#define PLAYER_STATE3_RESTORE_NAYRUS_LOVE (1 << 6) // Set by ocarina effects actors when destroyed to signal Nayru's Love may be restored (see `ACTOROVL_ALLOC_ABSOLUTE`)
|
||||
#define PLAYER_STATE3_7 (1 << 7)
|
||||
#define PLAYER_STATE3_HOOKSHOT_TRAVELLING (1 << 7) //Travelling to target
|
||||
|
||||
typedef void (*PlayerFunc674)(struct Player*, struct PlayState*);
|
||||
typedef s32 (*PlayerFunc82C)(struct Player*, struct PlayState*);
|
||||
|
@ -1708,14 +1708,16 @@ void DrawPlayerTab() {
|
||||
ImGui::Text("Player State");
|
||||
uint8_t bit[32] = {};
|
||||
uint32_t flags[3] = { player->stateFlags1, player->stateFlags2, player->stateFlags3 };
|
||||
std::vector<std::vector<std::string>> flag_strs = { state1, state2, state3 };
|
||||
|
||||
for (int j = 0; j <= 2; j++) {
|
||||
DrawGroupWithBorder([&]() {
|
||||
ImGui::Text("State Flags %d", j + 1);
|
||||
std::vector<std::string> state = flag_strs[j];
|
||||
for (int i = 0; i <= 31; i++) {
|
||||
bit[i] = ((flags[j] >> i) & 1);
|
||||
if (bit[i] != 0) {
|
||||
ImGui::Text("Flag %d", i);
|
||||
ImGui::Text("%s", state[i].c_str());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -503,3 +503,84 @@ const std::vector<FlagTable> flagTables = {
|
||||
{ RAND_INF_GREG_FOUND, "RAND_INF_GREG_FOUND" },
|
||||
} },
|
||||
};
|
||||
|
||||
const std::vector<std::string> state1 = {
|
||||
"Loading",
|
||||
"Swinging Bottle",
|
||||
"Falling from Hookshot",
|
||||
"Hookshot/Bow in Hand",
|
||||
"Targeting Enemy",
|
||||
"Input Disabled",
|
||||
"Text on Screen",
|
||||
"Death",
|
||||
"Starting to put away",
|
||||
"Ready to Fire",
|
||||
"Get Item",
|
||||
"Item over Head",
|
||||
"Charging Spin Attack",
|
||||
"Hanging off Ledge",
|
||||
"Climbing Ledge",
|
||||
"Targeting",
|
||||
"Target Locked",
|
||||
"Targeting Nothing",
|
||||
"Jumping Forward",
|
||||
"In Freefall",
|
||||
"In First-Person View",
|
||||
"Climbing Ladder",
|
||||
"Shielding",
|
||||
"On Horse",
|
||||
"Boomerang in Hand",
|
||||
"Boomerang Thrown",
|
||||
"Damaged",
|
||||
"In Water",
|
||||
"In Item Cutscene",
|
||||
"In Cutscene",
|
||||
"30", //Unknown
|
||||
"Floor collision disabled"
|
||||
};
|
||||
|
||||
const std::vector<std::string> state2 = {
|
||||
"Grab",
|
||||
"Speak/Check",
|
||||
"Climb",
|
||||
"Footstep",
|
||||
"Moving Dynapoly",
|
||||
"Disabled Rotation on Z target",
|
||||
"Disabled Rotation",
|
||||
"Grabbed by Enemy",
|
||||
"Grabbing Dynapoly",
|
||||
"Spawning Dust",
|
||||
"Underwater",
|
||||
"Diving",
|
||||
"Stationary on Ladder",
|
||||
"Switch Targeting",
|
||||
"Frozen",
|
||||
"Pause Most Updating",
|
||||
"Enter",
|
||||
"Spin Attack w/o Magic",
|
||||
"Crawling",
|
||||
"Hopping",
|
||||
"Navi Out",
|
||||
"Navi Alert",
|
||||
"Down",
|
||||
"Near Ocarina Actor",
|
||||
"Attempt playing for Oca. Actor",
|
||||
"Playing for Oca. Actor",
|
||||
"Reflection",
|
||||
"Ocarina Playing",
|
||||
"Idling",
|
||||
"Disabled draw func",
|
||||
"Sword Lunge",
|
||||
"Void out"
|
||||
};
|
||||
|
||||
const std::vector<std::string> state3 = {
|
||||
"Ignore ceiling for Floor and Water",
|
||||
"Midair",
|
||||
"Pause Action Func",
|
||||
"Finished Attacking",
|
||||
"Check Floor Water Collision",
|
||||
"Force Pull Ocarina",
|
||||
"Restore Nayru's Love",
|
||||
"Travelling to Hook Target"
|
||||
};
|
@ -518,7 +518,7 @@ void Entrance_HandleEponaState(void) {
|
||||
Player* player = GET_PLAYER(gPlayState);
|
||||
//If Link is riding Epona but he's about to go through an entrance where she can't spawn,
|
||||
//unset the Epona flag to avoid Master glitch, and restore temp B.
|
||||
if (Randomizer_GetSettingValue(RSK_SHUFFLE_OVERWORLD_ENTRANCES) && (player->stateFlags1 & PLAYER_STATE1_23)) {
|
||||
if (Randomizer_GetSettingValue(RSK_SHUFFLE_OVERWORLD_ENTRANCES) && (player->stateFlags1 & PLAYER_STATE1_ON_HORSE)) {
|
||||
// Allow Master glitch to be performed on the Thieves Hideout entrance
|
||||
if (entrance == Entrance_GetOverride(0x0496)) { // Gerudo Fortress -> Theives Hideout
|
||||
return;
|
||||
@ -563,7 +563,7 @@ void Entrance_HandleEponaState(void) {
|
||||
|
||||
// Update Link's status to no longer be riding epona so that the next time link
|
||||
// enters an epona supported area, he isn't automatically placed on epona
|
||||
player->stateFlags1 &= ~PLAYER_STATE1_23;
|
||||
player->stateFlags1 &= ~PLAYER_STATE1_ON_HORSE;
|
||||
player->actor.parent = NULL;
|
||||
AREG(6) = 0;
|
||||
gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; //"temp B"
|
||||
|
@ -62,7 +62,7 @@ void func_80043334(CollisionContext* colCtx, Actor* actor, s32 bgId) {
|
||||
if (dynaActor != NULL) {
|
||||
func_800434A8(dynaActor);
|
||||
|
||||
if (CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_26)) {
|
||||
if (CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_CAN_PRESS_SWITCH)) {
|
||||
func_80043538(dynaActor);
|
||||
}
|
||||
}
|
||||
|
@ -525,7 +525,7 @@ void func_8002C124(TargetContext* targetCtx, PlayState* play) {
|
||||
}
|
||||
|
||||
actor = targetCtx->unk_94;
|
||||
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_27)) {
|
||||
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_NO_LOCKON)) {
|
||||
FrameInterpolation_RecordOpenChild(actor, 1);
|
||||
NaviColor* naviColor = &sNaviColorList[actor->category];
|
||||
|
||||
@ -620,7 +620,7 @@ void func_8002C7BC(TargetContext* targetCtx, Player* player, Actor* actorArg, Pl
|
||||
targetCtx->unk_48 = 0;
|
||||
}
|
||||
|
||||
lockOnSfxId = CHECK_FLAG_ALL(actorArg->flags, ACTOR_FLAG_0 | ACTOR_FLAG_2) ? NA_SE_SY_LOCK_ON
|
||||
lockOnSfxId = CHECK_FLAG_ALL(actorArg->flags, ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_HOSTILE) ? NA_SE_SY_LOCK_ON
|
||||
: NA_SE_SY_LOCK_ON_HUMAN;
|
||||
func_80078884(lockOnSfxId);
|
||||
}
|
||||
@ -1147,7 +1147,7 @@ s32 func_8002D53C(PlayState* play, TitleCardContext* titleCtx) {
|
||||
void Actor_Kill(Actor* actor) {
|
||||
actor->draw = NULL;
|
||||
actor->update = NULL;
|
||||
actor->flags &= ~ACTOR_FLAG_0;
|
||||
actor->flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
}
|
||||
|
||||
void Actor_SetWorldToHome(Actor* actor) {
|
||||
@ -1393,8 +1393,8 @@ void func_8002DE04(PlayState* play, Actor* actorA, Actor* actorB) {
|
||||
hookshot->grabbedDistDiff.x = 0.0f;
|
||||
hookshot->grabbedDistDiff.y = 0.0f;
|
||||
hookshot->grabbedDistDiff.z = 0.0f;
|
||||
actorB->flags |= ACTOR_FLAG_13;
|
||||
actorA->flags &= ~ACTOR_FLAG_13;
|
||||
actorB->flags |= ACTOR_FLAG_HOOKSHOT_ATTACHED;
|
||||
actorA->flags &= ~ACTOR_FLAG_HOOKSHOT_ATTACHED;
|
||||
}
|
||||
|
||||
void func_8002DE74(PlayState* play, Player* player) {
|
||||
@ -1829,7 +1829,7 @@ f32 func_8002EFC0(Actor* actor, Player* player, s16 arg2) {
|
||||
s16 yawTempAbs = ABS(yawTemp);
|
||||
|
||||
if (player->unk_664 != NULL) {
|
||||
if ((yawTempAbs > 0x4000) || (actor->flags & ACTOR_FLAG_27)) {
|
||||
if ((yawTempAbs > 0x4000) || (actor->flags & ACTOR_FLAG_NO_LOCKON)) {
|
||||
return FLT_MAX;
|
||||
} else {
|
||||
f32 ret =
|
||||
@ -1865,7 +1865,7 @@ u32 func_8002F090(Actor* actor, f32 arg1) {
|
||||
}
|
||||
|
||||
s32 func_8002F0C8(Actor* actor, Player* player, s32 flag) {
|
||||
if ((actor->update == NULL) || !(actor->flags & ACTOR_FLAG_0)) {
|
||||
if ((actor->update == NULL) || !(actor->flags & ACTOR_FLAG_TARGETABLE)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1887,8 +1887,8 @@ s32 func_8002F0C8(Actor* actor, Player* player, s32 flag) {
|
||||
}
|
||||
|
||||
u32 Actor_ProcessTalkRequest(Actor* actor, PlayState* play) {
|
||||
if (actor->flags & ACTOR_FLAG_8) {
|
||||
actor->flags &= ~ACTOR_FLAG_8;
|
||||
if (actor->flags & ACTOR_FLAG_PLAYER_TALKED_TO) {
|
||||
actor->flags &= ~ACTOR_FLAG_PLAYER_TALKED_TO;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1899,7 +1899,7 @@ s32 func_8002F1C4(Actor* actor, PlayState* play, f32 arg2, f32 arg3, u32 exchang
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
// This is convoluted but it seems like it must be a single if statement to match
|
||||
if ((player->actor.flags & ACTOR_FLAG_8) || ((exchangeItemId != EXCH_ITEM_NONE) && Player_InCsMode(play)) ||
|
||||
if ((player->actor.flags & ACTOR_FLAG_PLAYER_TALKED_TO) || ((exchangeItemId != EXCH_ITEM_NONE) && Player_InCsMode(play)) ||
|
||||
(!actor->isTargeted &&
|
||||
((arg3 < fabsf(actor->yDistToPlayer)) || (player->targetActorDistance < actor->xzDistToPlayer) ||
|
||||
(arg2 < actor->xzDistToPlayer)))) {
|
||||
@ -2201,30 +2201,30 @@ void func_8002F850(PlayState* play, Actor* actor) {
|
||||
|
||||
void func_8002F8F0(Actor* actor, u16 sfxId) {
|
||||
actor->sfx = sfxId;
|
||||
actor->flags |= ACTOR_FLAG_19;
|
||||
actor->flags &= ~(ACTOR_FLAG_20 | ACTOR_FLAG_21 | ACTOR_FLAG_28);
|
||||
actor->flags |= ACTOR_FLAG_SFX_AT_POS;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AT_CENTER2 | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
}
|
||||
|
||||
void func_8002F91C(Actor* actor, u16 sfxId) {
|
||||
actor->sfx = sfxId;
|
||||
actor->flags |= ACTOR_FLAG_20;
|
||||
actor->flags &= ~(ACTOR_FLAG_19 | ACTOR_FLAG_21 | ACTOR_FLAG_28);
|
||||
actor->flags |= ACTOR_FLAG_SFX_AT_CENTER;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER2 | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
}
|
||||
|
||||
void func_8002F948(Actor* actor, u16 sfxId) {
|
||||
actor->sfx = sfxId;
|
||||
actor->flags |= ACTOR_FLAG_21;
|
||||
actor->flags &= ~(ACTOR_FLAG_19 | ACTOR_FLAG_20 | ACTOR_FLAG_28);
|
||||
actor->flags |= ACTOR_FLAG_SFX_AT_CENTER2;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
}
|
||||
|
||||
void func_8002F974(Actor* actor, u16 sfxId) {
|
||||
actor->flags &= ~(ACTOR_FLAG_19 | ACTOR_FLAG_20 | ACTOR_FLAG_21 | ACTOR_FLAG_28);
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AT_CENTER2 | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
actor->sfx = sfxId;
|
||||
}
|
||||
|
||||
void func_8002F994(Actor* actor, s32 arg1) {
|
||||
actor->flags |= ACTOR_FLAG_28;
|
||||
actor->flags &= ~(ACTOR_FLAG_19 | ACTOR_FLAG_20 | ACTOR_FLAG_21);
|
||||
actor->flags |= ACTOR_FLAG_SFX_AS_TIMER;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AT_CENTER2);
|
||||
if (arg1 < 40) {
|
||||
actor->sfx = NA_SE_PL_WALK_DIRT - SFX_FLAG;
|
||||
} else if (arg1 < 100) {
|
||||
@ -2523,7 +2523,7 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) {
|
||||
sp80 = &D_80116068[0];
|
||||
|
||||
if (player->stateFlags2 & 0x8000000) {
|
||||
unkFlag = ACTOR_FLAG_25;
|
||||
unkFlag = ACTOR_FLAG_NO_FREEZE_OCARINA;
|
||||
}
|
||||
|
||||
if ((player->stateFlags1 & 0x40) && ((player->actor.textId & 0xFF00) != 0x600)) {
|
||||
@ -2571,9 +2571,9 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) {
|
||||
actor->xyzDistToPlayerSq = SQ(actor->xzDistToPlayer) + SQ(actor->yDistToPlayer);
|
||||
|
||||
actor->yawTowardsPlayer = Actor_WorldYawTowardActor(actor, &player->actor);
|
||||
actor->flags &= ~ACTOR_FLAG_24;
|
||||
actor->flags &= ~ACTOR_FLAG_PLAY_HIT_SFX;
|
||||
|
||||
if ((DECR(actor->freezeTimer) == 0) && (actor->flags & (ACTOR_FLAG_4 | ACTOR_FLAG_6))) {
|
||||
if ((DECR(actor->freezeTimer) == 0) && (actor->flags & (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_ACTIVE))) {
|
||||
if (actor == player->unk_664) {
|
||||
actor->isTargeted = true;
|
||||
} else {
|
||||
@ -2657,11 +2657,11 @@ void Actor_Draw(PlayState* play, Actor* actor) {
|
||||
|
||||
lights = LightContext_NewLights(&play->lightCtx, play->state.gfxCtx);
|
||||
|
||||
Lights_BindAll(lights, play->lightCtx.listHead, (actor->flags & ACTOR_FLAG_22) ? NULL : &actor->world.pos);
|
||||
Lights_BindAll(lights, play->lightCtx.listHead, (actor->flags & ACTOR_FLAG_IGNORE_POINTLIGHTS) ? NULL : &actor->world.pos);
|
||||
Lights_Draw(lights, play->state.gfxCtx);
|
||||
|
||||
FrameInterpolation_RecordActorPosRotMatrix();
|
||||
if (actor->flags & ACTOR_FLAG_12) {
|
||||
if (actor->flags & ACTOR_FLAG_IGNORE_QUAKE) {
|
||||
Matrix_SetTranslateRotateYXZ(
|
||||
actor->world.pos.x + play->mainCamera.skyboxOffset.x,
|
||||
actor->world.pos.y + (f32)((actor->shape.yOffset * actor->scale.y) + play->mainCamera.skyboxOffset.y),
|
||||
@ -2716,13 +2716,13 @@ void Actor_Draw(PlayState* play, Actor* actor) {
|
||||
}
|
||||
|
||||
void func_80030ED8(Actor* actor) {
|
||||
if (actor->flags & ACTOR_FLAG_19) {
|
||||
if (actor->flags & ACTOR_FLAG_SFX_AT_POS) {
|
||||
Audio_PlaySoundGeneral(actor->sfx, &actor->projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
} else if (actor->flags & ACTOR_FLAG_20) {
|
||||
} else if (actor->flags & ACTOR_FLAG_SFX_AT_CENTER) {
|
||||
func_80078884(actor->sfx);
|
||||
} else if (actor->flags & ACTOR_FLAG_21) {
|
||||
} else if (actor->flags & ACTOR_FLAG_SFX_AT_CENTER2) {
|
||||
func_800788CC(actor->sfx);
|
||||
} else if (actor->flags & ACTOR_FLAG_28) {
|
||||
} else if (actor->flags & ACTOR_FLAG_SFX_AS_TIMER) {
|
||||
func_800F4C58(&D_801333D4, NA_SE_SY_TIMER - SFX_FLAG, (s8)(actor->sfx - 1));
|
||||
} else {
|
||||
func_80078914(&actor->projectedPos, actor->sfx);
|
||||
@ -2908,17 +2908,17 @@ void func_800315AC(PlayState* play, ActorContext* actorCtx) {
|
||||
|
||||
if ((HREG(64) != 1) || ((HREG(65) != -1) && (HREG(65) != HREG(66))) || (HREG(70) == 0)) {
|
||||
if (func_800314B0(play, actor)) {
|
||||
actor->flags |= ACTOR_FLAG_6;
|
||||
actor->flags |= ACTOR_FLAG_ACTIVE;
|
||||
} else {
|
||||
actor->flags &= ~ACTOR_FLAG_6;
|
||||
actor->flags &= ~ACTOR_FLAG_ACTIVE;
|
||||
}
|
||||
}
|
||||
|
||||
actor->isDrawn = false;
|
||||
|
||||
if ((HREG(64) != 1) || ((HREG(65) != -1) && (HREG(65) != HREG(66))) || (HREG(71) == 0)) {
|
||||
if ((actor->init == NULL) && (actor->draw != NULL) && (actor->flags & (ACTOR_FLAG_5 | ACTOR_FLAG_6))) {
|
||||
if ((actor->flags & ACTOR_FLAG_7) &&
|
||||
if ((actor->init == NULL) && (actor->draw != NULL) && (actor->flags & (ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_ACTIVE))) {
|
||||
if ((actor->flags & ACTOR_FLAG_LENS) &&
|
||||
((play->roomCtx.curRoom.lensMode == LENS_MODE_HIDE_ACTORS) ||
|
||||
play->actorCtx.lensActive || (actor->room != play->roomCtx.curRoom.num))) {
|
||||
ASSERT(invisibleActorCounter < INVISIBLE_ACTOR_MAX);
|
||||
@ -3458,11 +3458,11 @@ void func_800328D4(PlayState* play, ActorContext* actorCtx, Player* player, u32
|
||||
sp84 = player->unk_664;
|
||||
|
||||
while (actor != NULL) {
|
||||
if ((actor->update != NULL) && ((Player*)actor != player) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_0)) {
|
||||
if ((actor->update != NULL) && ((Player*)actor != player) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_TARGETABLE)) {
|
||||
|
||||
// This block below is for determining the closest actor to player in determining the volume
|
||||
// used while playing enemy bgm music
|
||||
if ((actorCategory == ACTORCAT_ENEMY) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_0 | ACTOR_FLAG_2) &&
|
||||
if ((actorCategory == ACTORCAT_ENEMY) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_HOSTILE) &&
|
||||
(actor->xyzDistToPlayerSq < SQ(500.0f)) && (actor->xyzDistToPlayerSq < sbgmEnemyDistSq)) {
|
||||
actorCtx->targetCtx.bgmEnemy = actor;
|
||||
sbgmEnemyDistSq = actor->xyzDistToPlayerSq;
|
||||
@ -4510,10 +4510,10 @@ s16 func_80034DD4(Actor* actor, PlayState* play, s16 arg2, f32 arg3) {
|
||||
}
|
||||
|
||||
if (arg3 < var) {
|
||||
actor->flags &= ~ACTOR_FLAG_0;
|
||||
actor->flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
Math_SmoothStepToS(&arg2, 0, 6, 0x14, 1);
|
||||
} else {
|
||||
actor->flags |= ACTOR_FLAG_0;
|
||||
actor->flags |= ACTOR_FLAG_TARGETABLE;
|
||||
Math_SmoothStepToS(&arg2, 0xFF, 6, 0x14, 1);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include <objects/object_d_hsblock/object_d_hsblock.h>
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void EnAObj_Init(Actor* thisx, PlayState* play);
|
||||
void EnAObj_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -142,7 +142,7 @@ void EnAObj_Init(Actor* thisx, PlayState* play) {
|
||||
break;
|
||||
case A_OBJ_UNKNOWN_6:
|
||||
// clang-format off
|
||||
thisx->flags |= ACTOR_FLAG_0; this->dyna.bgId = 5; this->focusYoffset = 10.0f;
|
||||
thisx->flags |= ACTOR_FLAG_TARGETABLE; this->dyna.bgId = 5; this->focusYoffset = 10.0f;
|
||||
// clang-format on
|
||||
thisx->gravity = -2.0f;
|
||||
EnAObj_SetupWaitTalk(this, thisx->params);
|
||||
@ -156,7 +156,7 @@ void EnAObj_Init(Actor* thisx, PlayState* play) {
|
||||
case A_OBJ_SIGNPOST_ARROW:
|
||||
thisx->textId = (this->textId & 0xFF) | 0x300;
|
||||
// clang-format off
|
||||
thisx->flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; thisx->targetArrowOffset = 500.0f;
|
||||
thisx->flags |= ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY; thisx->targetArrowOffset = 500.0f;
|
||||
// clang-format on
|
||||
this->focusYoffset = 45.0f;
|
||||
EnAObj_SetupWaitTalk(this, thisx->params);
|
||||
|
@ -1642,7 +1642,7 @@ EnItem00* Item_DropCollectible(PlayState* play, Vec3f* spawnPos, s16 params) {
|
||||
(spawnedActor->actor.params != ITEM00_HEART_CONTAINER)) {
|
||||
spawnedActor->actor.room = -1;
|
||||
}
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_4;
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1676,7 +1676,7 @@ EnItem00* Item_DropCollectible2(PlayState* play, Vec3f* spawnPos, s16 params) {
|
||||
spawnedActor->actor.speedXZ = 0.0f;
|
||||
spawnedActor->actor.gravity = param4000 ? 0.0f : -0.9f;
|
||||
spawnedActor->actor.world.rot.y = Rand_CenteredFloat(65536.0f);
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_4;
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1790,7 +1790,7 @@ void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnP
|
||||
spawnedActor->actor.world.rot.y = Rand_ZeroOne() * 40000.0f;
|
||||
Actor_SetScale(&spawnedActor->actor, 0.0f);
|
||||
EnItem00_SetupAction(spawnedActor, func_8001E304);
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_4;
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
if ((spawnedActor->actor.params != ITEM00_SMALL_KEY) &&
|
||||
(spawnedActor->actor.params != ITEM00_HEART_PIECE) &&
|
||||
(spawnedActor->actor.params != ITEM00_HEART_CONTAINER)) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "global.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_25 | ACTOR_FLAG_26)
|
||||
#define FLAGS (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA | ACTOR_FLAG_CAN_PRESS_SWITCH)
|
||||
|
||||
void (*sPlayerCallInitFunc)(Actor* thisx, PlayState* play);
|
||||
void (*sPlayerCallDestroyFunc)(Actor* thisx, PlayState* play);
|
||||
|
@ -1490,7 +1490,7 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
|
||||
Matrix_Get(&sp14C);
|
||||
Matrix_MtxFToYXZRotS(&sp14C, &spB8, 0);
|
||||
|
||||
if (hookedActor->flags & ACTOR_FLAG_17) {
|
||||
if (hookedActor->flags & ACTOR_FLAG_PILLAR_PICKUP) {
|
||||
hookedActor->world.rot.x = hookedActor->shape.rot.x = spB8.x - this->unk_3BC.x;
|
||||
} else {
|
||||
hookedActor->world.rot.y = hookedActor->shape.rot.y = this->actor.shape.rot.y + this->unk_3BC.y;
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "z_arms_hook.h"
|
||||
#include "objects/object_link_boy/object_link_boy.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void ArmsHook_Init(Actor* thisx, PlayState* play);
|
||||
void ArmsHook_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -76,7 +76,7 @@ void ArmsHook_Destroy(Actor* thisx, PlayState* play) {
|
||||
ArmsHook* this = (ArmsHook*)thisx;
|
||||
|
||||
if (this->grabbed != NULL) {
|
||||
this->grabbed->flags &= ~ACTOR_FLAG_13;
|
||||
this->grabbed->flags &= ~ACTOR_FLAG_HOOKSHOT_ATTACHED;
|
||||
}
|
||||
Collider_DestroyQuad(play, &this->collider);
|
||||
}
|
||||
@ -112,7 +112,7 @@ s32 ArmsHook_AttachToPlayer(ArmsHook* this, Player* player) {
|
||||
|
||||
void ArmsHook_DetachHookFromActor(ArmsHook* this) {
|
||||
if (this->grabbed != NULL) {
|
||||
this->grabbed->flags &= ~ACTOR_FLAG_13;
|
||||
this->grabbed->flags &= ~ACTOR_FLAG_HOOKSHOT_ATTACHED;
|
||||
this->grabbed = NULL;
|
||||
}
|
||||
}
|
||||
@ -121,7 +121,7 @@ s32 ArmsHook_CheckForCancel(ArmsHook* this) {
|
||||
Player* player = (Player*)this->actor.parent;
|
||||
|
||||
if (Player_HoldsHookshot(player)) {
|
||||
if ((player->itemAction != player->heldItemAction) || (player->actor.flags & ACTOR_FLAG_8) ||
|
||||
if ((player->itemAction != player->heldItemAction) || (player->actor.flags & ACTOR_FLAG_PLAYER_TALKED_TO) ||
|
||||
((player->stateFlags1 & 0x4000080))) {
|
||||
this->timer = 0;
|
||||
ArmsHook_DetachHookFromActor(this);
|
||||
@ -133,7 +133,7 @@ s32 ArmsHook_CheckForCancel(ArmsHook* this) {
|
||||
}
|
||||
|
||||
void ArmsHook_AttachHookToActor(ArmsHook* this, Actor* actor) {
|
||||
actor->flags |= ACTOR_FLAG_13;
|
||||
actor->flags |= ACTOR_FLAG_HOOKSHOT_ATTACHED;
|
||||
this->grabbed = actor;
|
||||
Math_Vec3f_Diff(&actor->world.pos, &this->actor.world.pos, &this->grabbedDistDiff);
|
||||
}
|
||||
@ -172,10 +172,10 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
|
||||
if ((this->timer != 0) && (this->collider.base.atFlags & AT_HIT) &&
|
||||
(this->collider.info.atHitInfo->elemType != ELEMTYPE_UNK4)) {
|
||||
touchedActor = this->collider.base.at;
|
||||
if ((touchedActor->update != NULL) && (touchedActor->flags & (ACTOR_FLAG_9 | ACTOR_FLAG_10))) {
|
||||
if ((touchedActor->update != NULL) && (touchedActor->flags & (ACTOR_FLAG_HOOKSHOT_DRAGS | ACTOR_FLAG_DRAGGED_BY_HOOKSHOT))) {
|
||||
if (this->collider.info.atHitInfo->bumperFlags & BUMP_HOOKABLE) {
|
||||
ArmsHook_AttachHookToActor(this, touchedActor);
|
||||
if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_10)) {
|
||||
if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_DRAGGED_BY_HOOKSHOT)) {
|
||||
func_80865044(this);
|
||||
}
|
||||
}
|
||||
@ -186,7 +186,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
|
||||
} else if (DECR(this->timer) == 0) {
|
||||
grabbed = this->grabbed;
|
||||
if (grabbed != NULL) {
|
||||
if ((grabbed->update == NULL) || !CHECK_FLAG_ALL(grabbed->flags, ACTOR_FLAG_13)) {
|
||||
if ((grabbed->update == NULL) || !CHECK_FLAG_ALL(grabbed->flags, ACTOR_FLAG_HOOKSHOT_ATTACHED)) {
|
||||
grabbed = NULL;
|
||||
this->grabbed = NULL;
|
||||
} else if (this->actor.child != NULL) {
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_arrow_fire.h"
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_25)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
|
||||
void ArrowFire_Init(Actor* thisx, PlayState* play);
|
||||
void ArrowFire_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_25)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
|
||||
void ArrowIce_Init(Actor* thisx, PlayState* play);
|
||||
void ArrowIce_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_25)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
|
||||
void ArrowLight_Init(Actor* thisx, PlayState* play);
|
||||
void ArrowLight_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_bdan_objects.h"
|
||||
#include "objects/object_bdan_objects/object_bdan_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgBdanObjects_Init(Actor* thisx, PlayState* play);
|
||||
void BgBdanObjects_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -115,7 +115,7 @@ void BgBdanObjects_Init(Actor* thisx, PlayState* play) {
|
||||
this->switchFlag = (thisx->params >> 8) & 0x3F;
|
||||
thisx->params &= 0xFF;
|
||||
if (thisx->params == 2) {
|
||||
thisx->flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
play->colCtx.colHeader->waterBoxes[7].ySurface = thisx->world.pos.y;
|
||||
this->actionFunc = func_8086C9A8;
|
||||
return;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_bdan_switch.h"
|
||||
#include "objects/object_bdan_objects/object_bdan_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgBdanSwitch_Init(Actor* thisx, PlayState* play);
|
||||
void BgBdanSwitch_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -161,7 +161,7 @@ void BgBdanSwitch_Init(Actor* thisx, PlayState* play) {
|
||||
case YELLOW_TALL_1:
|
||||
case YELLOW_TALL_2:
|
||||
BgBdanSwitch_InitCollision(this, play);
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_0;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_TARGETABLE;
|
||||
this->dyna.actor.targetMode = 4;
|
||||
break;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "objects/object_bowl/object_bowl.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgBomGuard_Init(Actor* thisx, PlayState* play);
|
||||
void BgBomGuard_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_bombwall.h"
|
||||
#include "objects/gameplay_field_keep/gameplay_field_keep.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_22
|
||||
#define FLAGS ACTOR_FLAG_IGNORE_POINTLIGHTS
|
||||
|
||||
void BgBombwall_Init(Actor* thisx, PlayState* play);
|
||||
void BgBombwall_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "objects/object_bowl/object_bowl.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgBowlWall_Init(Actor* thisx, PlayState* play);
|
||||
void BgBowlWall_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "objects/object_bwall/object_bwall.h"
|
||||
#include "objects/object_kingdodongo/object_kingdodongo.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ CollisionHeader* colHeader;
|
||||
@ -242,7 +242,7 @@ void BgBreakwall_WaitForObject(BgBreakwall* this, PlayState* play) {
|
||||
|
||||
this->dyna.actor.objBankIndex = this->bankIndex;
|
||||
Actor_SetObjectDependency(play, &this->dyna.actor);
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.draw = BgBreakwall_Draw;
|
||||
CollisionHeader_GetVirtual(sBombableWallInfo[wallType].colHeader, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_ddan_jd.h"
|
||||
#include "objects/object_ddan_objects/object_ddan_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgDdanJd_Init(Actor* thisx, PlayState* play);
|
||||
void BgDdanJd_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_ddan_kd.h"
|
||||
#include "objects/object_ddan_objects/object_ddan_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgDdanKd_Init(Actor* thisx, PlayState* play);
|
||||
void BgDdanKd_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "scenes/indoors/daiyousei_izumi/daiyousei_izumi_scene.h"
|
||||
#include "soh/frame_interpolation.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_25)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ FAIRY_UPGRADE_MAGIC,
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
#include "soh/frame_interpolation.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ FLASH_NONE,
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_gnd_darkmeiro.h"
|
||||
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgGndDarkmeiro_Init(Actor* thisx, PlayState* play);
|
||||
void BgGndDarkmeiro_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -56,7 +56,7 @@ void BgGndDarkmeiro_Init(Actor* thisx, PlayState* play2) {
|
||||
switch (this->dyna.actor.params & 0xFF) {
|
||||
case DARKMEIRO_INVISIBLE_PATH:
|
||||
this->dyna.actor.draw = BgGndDarkmeiro_DrawInvisiblePath;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_7;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_LENS;
|
||||
break;
|
||||
case DARKMEIRO_CLEAR_BLOCK:
|
||||
CollisionHeader_GetVirtual(&gClearBlockCol, &colHeader);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_gnd_firemeiro.h"
|
||||
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgGndFiremeiro_Init(Actor* thisx, PlayState* play);
|
||||
void BgGndFiremeiro_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_gnd_iceblock.h"
|
||||
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ GNDICE_IDLE,
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_gnd_nisekabe.h"
|
||||
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgGndNisekabe_Init(Actor* thisx, PlayState* play);
|
||||
void BgGndNisekabe_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -41,9 +41,9 @@ void BgGndNisekabe_Update(Actor* thisx, PlayState* play) {
|
||||
BgGndNisekabe* this = (BgGndNisekabe*)thisx;
|
||||
|
||||
if (play->actorCtx.lensActive) {
|
||||
this->actor.flags |= ACTOR_FLAG_7;
|
||||
this->actor.flags |= ACTOR_FLAG_LENS;
|
||||
} else {
|
||||
this->actor.flags &= ~ACTOR_FLAG_7;
|
||||
this->actor.flags &= ~ACTOR_FLAG_LENS;
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,7 +56,7 @@ void BgGndNisekabe_Draw(Actor* thisx, PlayState* play) {
|
||||
BgGndNisekabe* this = (BgGndNisekabe*)thisx;
|
||||
u32 index = this->actor.params & 0xFF;
|
||||
|
||||
if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_7)) {
|
||||
if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_LENS)) {
|
||||
Gfx_DrawDListXlu(play, dLists[index]);
|
||||
} else {
|
||||
Gfx_DrawDListOpa(play, dLists[index]);
|
||||
|
@ -99,7 +99,7 @@ void BgHakaGate_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = BgHakaGate_FalseSkull;
|
||||
}
|
||||
this->vScrollTimer = Rand_ZeroOne() * 20.0f;
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
if (Flags_GetSwitch(play, this->switchFlag)) {
|
||||
this->vFlameScale = 350;
|
||||
}
|
||||
@ -126,7 +126,7 @@ void BgHakaGate_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = BgHakaGate_DoNothing;
|
||||
thisx->world.pos.y += 80.0f;
|
||||
} else {
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
Actor_SetFocus(thisx, 30.0f);
|
||||
this->actionFunc = BgHakaGate_GateWait;
|
||||
}
|
||||
@ -276,7 +276,7 @@ void BgHakaGate_GateWait(BgHakaGate* this, PlayState* play) {
|
||||
void BgHakaGate_GateOpen(BgHakaGate* this, PlayState* play) {
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 80.0f, 1.0f)) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_METALDOOR_STOP);
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->actionFunc = BgHakaGate_DoNothing;
|
||||
} else {
|
||||
func_8002F974(&this->dyna.actor, NA_SE_EV_METALDOOR_SLIDE - SFX_FLAG);
|
||||
@ -294,9 +294,9 @@ void BgHakaGate_FalseSkull(BgHakaGate* this, PlayState* play) {
|
||||
Math_StepToS(&this->vFlameScale, 350, 20);
|
||||
}
|
||||
if (play->actorCtx.lensActive) {
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_7;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_LENS;
|
||||
} else {
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_7;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_LENS;
|
||||
}
|
||||
}
|
||||
|
||||
@ -345,7 +345,7 @@ void BgHakaGate_Draw(Actor* thisx, PlayState* play) {
|
||||
BgHakaGate* this = (BgHakaGate*)thisx;
|
||||
MtxF currentMtxF;
|
||||
|
||||
if (CHECK_FLAG_ALL(thisx->flags, ACTOR_FLAG_7)) {
|
||||
if (CHECK_FLAG_ALL(thisx->flags, ACTOR_FLAG_LENS)) {
|
||||
Gfx_DrawDListXlu(play, object_haka_objects_DL_00F1B0);
|
||||
} else {
|
||||
Gfx_SetupDL_25Opa(play->state.gfxCtx);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_haka_huta.h"
|
||||
#include "objects/object_hakach_objects/object_hakach_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgHakaHuta_Init(Actor* thisx, PlayState* play);
|
||||
void BgHakaHuta_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_hakach_objects/object_hakach_objects.h"
|
||||
#include "objects/object_haka_objects/object_haka_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_7)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_LENS)
|
||||
|
||||
void BgHakaMegane_Init(Actor* thisx, PlayState* play);
|
||||
void BgHakaMegane_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -110,10 +110,10 @@ void func_8087DBF0(BgHakaMegane* this, PlayState* play) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
if (play->actorCtx.lensActive) {
|
||||
thisx->flags |= ACTOR_FLAG_7;
|
||||
thisx->flags |= ACTOR_FLAG_LENS;
|
||||
func_8003EBF8(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
} else {
|
||||
thisx->flags &= ~ACTOR_FLAG_7;
|
||||
thisx->flags &= ~ACTOR_FLAG_LENS;
|
||||
func_8003EC50(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
}
|
||||
}
|
||||
@ -130,7 +130,7 @@ void BgHakaMegane_Update(Actor* thisx, PlayState* play) {
|
||||
void BgHakaMegane_Draw(Actor* thisx, PlayState* play) {
|
||||
BgHakaMegane* this = (BgHakaMegane*)thisx;
|
||||
|
||||
if (CHECK_FLAG_ALL(thisx->flags, ACTOR_FLAG_7)) {
|
||||
if (CHECK_FLAG_ALL(thisx->flags, ACTOR_FLAG_LENS)) {
|
||||
Gfx_DrawDListXlu(play, sDLists[thisx->params]);
|
||||
} else {
|
||||
Gfx_DrawDListOpa(play, sDLists[thisx->params]);
|
||||
|
@ -65,7 +65,7 @@ void BgHakaMeganeBG_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
if (thisx->params == 2) {
|
||||
DynaPolyActor_Init(&this->dyna, DPM_UNK3);
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
CollisionHeader_GetVirtual(&object_haka_objects_Col_005334, &colHeader);
|
||||
this->actionFunc = func_8087E258;
|
||||
} else {
|
||||
@ -73,7 +73,7 @@ void BgHakaMeganeBG_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
if (thisx->params == 0) {
|
||||
CollisionHeader_GetVirtual(&object_haka_objects_Col_009168, &colHeader);
|
||||
thisx->flags |= ACTOR_FLAG_7;
|
||||
thisx->flags |= ACTOR_FLAG_LENS;
|
||||
this->unk_16A = 20;
|
||||
this->actionFunc = func_8087DFF8;
|
||||
} else if (thisx->params == 3) {
|
||||
@ -84,7 +84,7 @@ void BgHakaMeganeBG_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = func_8087E34C;
|
||||
thisx->world.pos.y = thisx->home.pos.y;
|
||||
} else {
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->actionFunc = func_8087E288;
|
||||
}
|
||||
} else {
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_haka_objects/object_haka_objects.h"
|
||||
#include "objects/object_ice_objects/object_ice_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_4)
|
||||
#define FLAGS (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_UPDATE_WHILE_CULLED)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ SCYTHE_TRAP_SHADOW_TEMPLE,
|
||||
@ -143,7 +143,7 @@ void BgHakaSgami_Init(Actor* thisx, PlayState* play) {
|
||||
thisx->params = (thisx->params >> 8) & 0xFF;
|
||||
|
||||
if (this->unk_151 != 0) {
|
||||
thisx->flags |= ACTOR_FLAG_7;
|
||||
thisx->flags |= ACTOR_FLAG_LENS;
|
||||
}
|
||||
|
||||
Collider_InitTris(play, colliderScythe);
|
||||
@ -171,7 +171,7 @@ void BgHakaSgami_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
if (thisx->params == SCYTHE_TRAP_SHADOW_TEMPLE) {
|
||||
this->requiredObjBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_HAKA_OBJECTS);
|
||||
thisx->flags &= ~ACTOR_FLAG_0;
|
||||
thisx->flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
} else {
|
||||
this->requiredObjBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_ICE_OBJECTS);
|
||||
this->colliderScytheCenter.dim.radius = 30;
|
||||
@ -201,7 +201,7 @@ void BgHakaSgami_SetupSpin(BgHakaSgami* this, PlayState* play) {
|
||||
this->actor.objBankIndex = this->requiredObjBankIndex;
|
||||
this->actor.draw = BgHakaSgami_Draw;
|
||||
this->timer = SCYTHE_SPIN_TIME;
|
||||
this->actor.flags &= ~ACTOR_FLAG_4;
|
||||
this->actor.flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->actionFunc = BgHakaSgami_Spin;
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_haka_ship.h"
|
||||
#include "objects/object_haka_objects/object_haka_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgHakaShip_Init(Actor* thisx, PlayState* play);
|
||||
void BgHakaShip_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -133,7 +133,7 @@ void BgHakaTrap_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = func_80880484;
|
||||
} else {
|
||||
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
|
||||
if (thisx->params == HAKA_TRAP_SPIKED_BOX) {
|
||||
CollisionHeader_GetVirtual(&object_haka_objects_Col_009CD0, &colHeader);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "objects/object_haka_objects/object_haka_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgHakaTubo_Init(Actor* thisx, PlayState* play);
|
||||
void BgHakaTubo_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_haka_water.h"
|
||||
#include "objects/object_hakach_objects/object_hakach_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgHakaWater_Init(Actor* thisx, PlayState* play);
|
||||
void BgHakaWater_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_hakach_objects/object_hakach_objects.h"
|
||||
#include "objects/object_haka_objects/object_haka_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ STA_GIANT_BIRD_STATUE,
|
||||
|
@ -76,7 +76,7 @@ void BgHeavyBlock_InitPiece(BgHeavyBlock* this, f32 scale) {
|
||||
void BgHeavyBlock_SetupDynapoly(BgHeavyBlock* this, PlayState* play) {
|
||||
s32 pad[2];
|
||||
CollisionHeader* colHeader = NULL;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_17;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_PILLAR_PICKUP;
|
||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
||||
CollisionHeader_GetVirtual(&gHeavyBlockCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
@ -100,7 +100,7 @@ void BgHeavyBlock_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = BgHeavyBlock_MovePiece;
|
||||
BgHeavyBlock_InitPiece(this, 1.0f);
|
||||
this->timer = 120;
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->unk_164.y = -50.0f;
|
||||
break;
|
||||
case HEAVYBLOCK_SMALL_PIECE:
|
||||
@ -108,7 +108,7 @@ void BgHeavyBlock_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = BgHeavyBlock_MovePiece;
|
||||
BgHeavyBlock_InitPiece(this, 2.0f);
|
||||
this->timer = 120;
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->unk_164.y = -20.0f;
|
||||
break;
|
||||
case HEAVYBLOCK_BREAKABLE:
|
||||
@ -478,7 +478,7 @@ void BgHeavyBlock_Land(BgHeavyBlock* this, PlayState* play) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_4 | ACTOR_FLAG_5);
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED);
|
||||
this->actionFunc = BgHeavyBlock_DoNothing;
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_hidan_curtain.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgHidanCurtain_Init(Actor* thisx, PlayState* play);
|
||||
void BgHidanCurtain_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -139,7 +139,7 @@ void BgHidanDalm_Wait(BgHidanDalm* this, PlayState* play) {
|
||||
this->dyna.actor.world.pos.z += 32.5f * Math_CosS(this->dyna.actor.world.rot.y);
|
||||
|
||||
func_8002DF54(play, &this->dyna.actor, 8);
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->actionFunc = BgHidanDalm_Shrink;
|
||||
this->dyna.actor.bgCheckFlags &= ~2;
|
||||
this->dyna.actor.bgCheckFlags &= ~8;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_hidan_fslift.h"
|
||||
#include "objects/object_hidan_objects/object_hidan_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgHidanFslift_Init(Actor* thisx, PlayState* play);
|
||||
void BgHidanFslift_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "objects/object_hidan_objects/object_hidan_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ FWBIG_MOVE,
|
||||
@ -95,7 +95,7 @@ void BgHidanFwbig_Init(Actor* thisx, PlayState* play2) {
|
||||
BgHidanFwbig_UpdatePosition(this);
|
||||
Actor_SetScale(&this->actor, 0.15f);
|
||||
this->collider.dim.height = 230;
|
||||
this->actor.flags |= ACTOR_FLAG_4;
|
||||
this->actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->moveState = FWBIG_MOVE;
|
||||
this->actionFunc = BgHidanFwbig_WaitForPlayer;
|
||||
this->actor.world.pos.y = this->actor.home.pos.y - (2400.0f * this->actor.scale.y);
|
||||
|
@ -126,7 +126,7 @@ void BgHidanHrock_Init(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
} else {
|
||||
if (thisx->params == 0) {
|
||||
thisx->flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
thisx->uncullZoneForward = 3000.0f;
|
||||
}
|
||||
this->actionFunc = func_808896B8;
|
||||
@ -185,7 +185,7 @@ void func_8088960C(BgHidanHrock* this, PlayState* play) {
|
||||
this->dyna.actor.velocity.y++;
|
||||
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, this->dyna.actor.velocity.y)) {
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_4 | ACTOR_FLAG_5);
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED);
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND);
|
||||
|
||||
if (this->dyna.actor.params == 0) {
|
||||
@ -204,7 +204,7 @@ void func_808896B8(BgHidanHrock* this, PlayState* play) {
|
||||
if (this->collider.base.acFlags & 2) {
|
||||
this->collider.base.acFlags &= ~2;
|
||||
this->actionFunc = func_808894B0;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
|
||||
if (this->dyna.actor.params == 0) {
|
||||
this->dyna.actor.room = -1;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_hidan_kousi.h"
|
||||
#include "objects/object_hidan_objects/object_hidan_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgHidanKousi_Init(Actor* thisx, PlayState* play);
|
||||
void BgHidanKousi_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -93,7 +93,7 @@ void BgHidanRock_Init(Actor* thisx, PlayState* play) {
|
||||
} else {
|
||||
this->actionFunc = func_8088B268;
|
||||
}
|
||||
thisx->flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
CollisionHeader_GetVirtual(&gFireTempleStoneBlock1Col, &colHeader);
|
||||
} else {
|
||||
CollisionHeader_GetVirtual(&gFireTempleStoneBlock2Col, &colHeader);
|
||||
@ -116,7 +116,7 @@ void BgHidanRock_Destroy(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_8088B24C(BgHidanRock* this) {
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
this->actionFunc = func_8088B990;
|
||||
}
|
||||
|
||||
@ -250,7 +250,7 @@ void func_8088B79C(BgHidanRock* this, PlayState* play) {
|
||||
} else {
|
||||
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y - 15.0f;
|
||||
this->actionFunc = func_8088B90C;
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_4 | ACTOR_FLAG_5);
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED);
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_hidan_syoku.h"
|
||||
#include "objects/object_hidan_objects/object_hidan_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgHidanSyoku_Init(Actor* thisx, PlayState* play);
|
||||
void BgHidanSyoku_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -142,7 +142,7 @@ void BgIceObjects_Idle(BgIceObjects* this, PlayState* play) {
|
||||
if ((this->dyna.unk_150 > 0.0f) && !Player_InCsMode(play)) {
|
||||
BgIceObjects_SetNextTarget(this, play);
|
||||
if (Actor_WorldDistXZToPoint(thisx, &this->targetPos) > 1.0f) {
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
func_8002DF54(play, thisx, 8);
|
||||
thisx->params = 1;
|
||||
this->actionFunc = BgIceObjects_Slide;
|
||||
@ -170,7 +170,7 @@ void BgIceObjects_Slide(BgIceObjects* this, PlayState* play) {
|
||||
this->targetPos.x = thisx->world.pos.x;
|
||||
this->targetPos.z = thisx->world.pos.z;
|
||||
if (thisx->velocity.y <= 0.0f) {
|
||||
thisx->flags &= ~ACTOR_FLAG_4;
|
||||
thisx->flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
}
|
||||
thisx->params = 0;
|
||||
func_8002DF54(play, thisx, 7);
|
||||
@ -207,7 +207,7 @@ void BgIceObjects_Reset(BgIceObjects* this, PlayState* play) {
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
if (Math_StepToF(&thisx->world.pos.y, thisx->home.pos.y, 1.0f)) {
|
||||
thisx->flags &= ~ACTOR_FLAG_4;
|
||||
thisx->flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
Math_Vec3f_Copy(&this->targetPos, &thisx->home.pos);
|
||||
this->actionFunc = BgIceObjects_Idle;
|
||||
thisx->speedXZ = 0.0f;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_ice_shutter.h"
|
||||
#include "objects/object_ice_objects/object_ice_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgIceShutter_Init(Actor* thisx, PlayState* play);
|
||||
void BgIceShutter_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_jya_1flift.h"
|
||||
#include "objects/object_jya_obj/object_jya_obj.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgJya1flift_Init(Actor* thisx, PlayState* play);
|
||||
void BgJya1flift_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_jya_bigmirror.h"
|
||||
#include "objects/object_jya_obj/object_jya_obj.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgJyaBigmirror_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaBigmirror_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "z_bg_jya_bombchuiwa.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
#include "objects/object_jya_obj/object_jya_obj.h"
|
||||
#define FLAGS ACTOR_FLAG_0
|
||||
#define FLAGS ACTOR_FLAG_TARGETABLE
|
||||
|
||||
void BgJyaBombchuiwa_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaBombchuiwa_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -163,7 +163,7 @@ void BgJyaBombchuiwa_CleanUpAfterExplosion(BgJyaBombchuiwa* this, PlayState* pla
|
||||
BgJyaBombchuiwa_SetDrawFlags(this, 4);
|
||||
this->lightRayIntensity = 0.3f;
|
||||
this->timer = 0;
|
||||
this->actor.flags &= ~ACTOR_FLAG_0;
|
||||
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
}
|
||||
|
||||
void func_808949B8(BgJyaBombchuiwa* this, PlayState* play) {
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "objects/object_jya_obj/object_jya_obj.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgJyaCobra_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaCobra_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -452,7 +452,7 @@ void func_80896950(BgJyaCobra* this, PlayState* play) {
|
||||
|
||||
if (fabsf(this->dyna.unk_150) > 0.001f) {
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
player->stateFlags2 &= ~PLAYER_STATE2_4;
|
||||
player->stateFlags2 &= ~PLAYER_STATE2_MOVING_DYNAPOLY;
|
||||
}
|
||||
}
|
||||
|
||||
@ -494,7 +494,7 @@ void func_80896ABC(BgJyaCobra* this, PlayState* play) {
|
||||
|
||||
if (Math_ScaledStepToS(&this->unk_170, this->unk_16A * 0x2000, this->unk_16E)) {
|
||||
this->unk_16C = (this->unk_16C + this->unk_16A) & 7;
|
||||
player->stateFlags2 &= ~PLAYER_STATE2_4;
|
||||
player->stateFlags2 &= ~PLAYER_STATE2_MOVING_DYNAPOLY;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
func_80896918(this, play);
|
||||
} else {
|
||||
@ -502,7 +502,7 @@ void func_80896ABC(BgJyaCobra* this, PlayState* play) {
|
||||
(this->unk_16C * 0x2000) + this->dyna.actor.home.rot.y + this->unk_170;
|
||||
}
|
||||
|
||||
if (player->stateFlags2 & PLAYER_STATE2_4) {
|
||||
if (player->stateFlags2 & PLAYER_STATE2_MOVING_DYNAPOLY) {
|
||||
if (this->unk_172) {
|
||||
func_80895BEC(this, play);
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "z_bg_jya_goroiwa.h"
|
||||
#include "objects/object_goroiwa/object_goroiwa.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgJyaGoroiwa_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaGoroiwa_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
#include "objects/object_jya_iron/object_jya_iron.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgJyaHaheniron_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaHaheniron_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_jya_lift.h"
|
||||
#include "objects/object_jya_obj/object_jya_obj.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgJyaLift_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaLift_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_jya_obj/object_jya_obj.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgJyaZurerukabe_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaZurerukabe_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_menkuri_eye.h"
|
||||
#include "objects/object_menkuri_objects/object_menkuri_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_5
|
||||
#define FLAGS ACTOR_FLAG_DRAW_WHILE_CULLED
|
||||
|
||||
void BgMenkuriEye_Init(Actor* thisx, PlayState* play);
|
||||
void BgMenkuriEye_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_menkuri_kaiten.h"
|
||||
#include "objects/object_menkuri_objects/object_menkuri_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgMenkuriKaiten_Init(Actor* thisx, PlayState* play);
|
||||
void BgMenkuriKaiten_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -42,9 +42,9 @@ void BgMenkuriNisekabe_Update(Actor* thisx, PlayState* play) {
|
||||
BgMenkuriNisekabe* this = (BgMenkuriNisekabe*)thisx;
|
||||
|
||||
if (play->actorCtx.lensActive) {
|
||||
this->actor.flags |= ACTOR_FLAG_7;
|
||||
this->actor.flags |= ACTOR_FLAG_LENS;
|
||||
} else {
|
||||
this->actor.flags &= ~ACTOR_FLAG_7;
|
||||
this->actor.flags &= ~ACTOR_FLAG_LENS;
|
||||
}
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ void BgMenkuriNisekabe_Draw(Actor* thisx, PlayState* play) {
|
||||
BgMenkuriNisekabe* this = (BgMenkuriNisekabe*)thisx;
|
||||
u32 index = this->actor.params & 0xFF;
|
||||
|
||||
if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_7)) {
|
||||
if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_LENS)) {
|
||||
Gfx_DrawDListXlu(play, sDLists[index]);
|
||||
} else {
|
||||
Gfx_DrawDListOpa(play, sDLists[index]);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.h"
|
||||
#include "objects/object_mizu_objects/object_mizu_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgMizuBwall_Init(Actor* thisx, PlayState* play);
|
||||
void BgMizuBwall_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.h"
|
||||
#include "objects/object_mizu_objects/object_mizu_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
#define MOVEBG_TYPE(params) (((u16)(params) >> 0xC) & 0xF)
|
||||
#define MOVEBG_FLAGS(params) ((u16)(params)&0x3F)
|
||||
@ -311,7 +311,7 @@ void func_8089E318(BgMizuMovebg* this, PlayState* play) {
|
||||
this->dyna.actor.child->world.pos.x = this->dyna.actor.world.pos.x + sp28.x;
|
||||
this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + sp28.y;
|
||||
this->dyna.actor.child->world.pos.z = this->dyna.actor.world.pos.z + sp28.z;
|
||||
this->dyna.actor.child->flags &= ~ACTOR_FLAG_0;
|
||||
this->dyna.actor.child->flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "z_bg_mizu_shutter.h"
|
||||
#include "objects/object_mizu_objects/object_mizu_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
#define SIZE_PARAM (((u16)this->dyna.actor.params >> 0xC) & 0xF)
|
||||
#define TIMER_PARAM (((u16)this->dyna.actor.params >> 6) & 0x3F)
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_mizu_water.h"
|
||||
#include "objects/object_mizu_objects/object_mizu_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgMizuWater_Init(Actor* thisx, PlayState* play);
|
||||
void BgMizuWater_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include "objects/object_mjin_flash/object_mjin_flash.h"
|
||||
#include "objects/object_mjin_oka/object_mjin_oka.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgMjin_Init(Actor* thisx, PlayState* play);
|
||||
void BgMjin_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -82,7 +82,7 @@ void func_808A0850(BgMjin* this, PlayState* play) {
|
||||
|
||||
if (Object_IsLoaded(&play->objectCtx, this->objBankIndex)) {
|
||||
colHeader = NULL;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.objBankIndex = this->objBankIndex;
|
||||
Actor_SetObjectDependency(play, &this->dyna.actor);
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_mori_bigst.h"
|
||||
#include "objects/object_mori_objects/object_mori_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgMoriBigst_Init(Actor* thisx, PlayState* play);
|
||||
void BgMoriBigst_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "z_bg_mori_elevator.h"
|
||||
#include "objects/object_mori_objects/object_mori_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgMoriElevator_Init(Actor* thisx, PlayState* play);
|
||||
void BgMoriElevator_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -135,7 +135,7 @@ s32 BgMoriHashigo_SpawnLadder(BgMoriHashigo* this, PlayState* play) {
|
||||
|
||||
s32 BgMoriHashigo_InitClasp(BgMoriHashigo* this, PlayState* play) {
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChainClasp);
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_0;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_TARGETABLE;
|
||||
Actor_SetFocus(&this->dyna.actor, 55.0f);
|
||||
BgMoriHashigo_InitCollider(this, play);
|
||||
if ((this->dyna.actor.params == HASHIGO_CLASP) && !BgMoriHashigo_SpawnLadder(this, play)) {
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_mori_hashira4.h"
|
||||
#include "objects/object_mori_objects/object_mori_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgMoriHashira4_Init(Actor* thisx, PlayState* play);
|
||||
void BgMoriHashira4_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include "objects/object_mori_hineri2a/object_mori_hineri2a.h"
|
||||
#include "objects/object_mori_tex/object_mori_tex.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgMoriHineri_Init(Actor* thisx, PlayState* play);
|
||||
void BgMoriHineri_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_mori_idomizu.h"
|
||||
#include "objects/object_mori_objects/object_mori_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgMoriIdomizu_Init(Actor* thisx, PlayState* play);
|
||||
void BgMoriIdomizu_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_mori_rakkatenjo.h"
|
||||
#include "objects/object_mori_objects/object_mori_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgMoriRakkatenjo_Init(Actor* thisx, PlayState* play);
|
||||
void BgMoriRakkatenjo_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -156,7 +156,7 @@ void BgPoEvent_InitBlocks(BgPoEvent* this, PlayState* play) {
|
||||
CollisionHeader* colHeader = NULL;
|
||||
s32 bgId;
|
||||
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
CollisionHeader_GetVirtual(&gPoSistersAmyBlockCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
if ((this->type == 0) && (this->index != 3)) {
|
||||
@ -309,7 +309,7 @@ void BgPoEvent_BlockFall(BgPoEvent* this, PlayState* play) {
|
||||
|
||||
this->dyna.actor.velocity.y++;
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, 433.0f, this->dyna.actor.velocity.y)) {
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_5;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
sBgPoEventBlocksAtRest++;
|
||||
if (this->type != 1) {
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_relay_objects.h"
|
||||
#include "objects/object_relay_objects/object_relay_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ WINDMILL_ROTATING_GEAR,
|
||||
@ -64,7 +64,7 @@ void BgRelayObjects_Init(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
func_800F5718();
|
||||
thisx->room = -1;
|
||||
thisx->flags |= ACTOR_FLAG_5;
|
||||
thisx->flags |= ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
if (D_808A9508 & 2) {
|
||||
thisx->params = 0xFF;
|
||||
Actor_Kill(thisx);
|
||||
@ -156,7 +156,7 @@ void func_808A9234(BgRelayObjects* this, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
Flags_UnsetSwitch(play, this->switchFlag);
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
if (play->roomCtx.curRoom.num == 4) {
|
||||
gSaveContext.timer1State = 0xF;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "soh/frame_interpolation.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ DT_DRAWBRIDGE = -1,
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot01_fusya.h"
|
||||
#include "objects/object_spot01_objects/object_spot01_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgSpot01Fusya_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot01Fusya_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_spot01_objects/object_spot01_objects.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgSpot01Idohashira_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot01Idohashira_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot01_idomizu.h"
|
||||
#include "objects/object_spot01_objects/object_spot01_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_5
|
||||
#define FLAGS ACTOR_FLAG_DRAW_WHILE_CULLED
|
||||
|
||||
void BgSpot01Idomizu_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot01Idomizu_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot01_idosoko.h"
|
||||
#include "objects/object_spot01_matoya/object_spot01_matoya.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgSpot01Idosoko_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot01Idosoko_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_spot01_matoya/object_spot01_matoya.h"
|
||||
#include "objects/object_spot01_matoyab/object_spot01_matoyab.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgSpot01Objects2_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot01Objects2_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot02_objects.h"
|
||||
#include "objects/object_spot02_objects/object_spot02_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgSpot02Objects_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot02Objects_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -75,7 +75,7 @@ void BgSpot02Objects_Init(Actor* thisx, PlayState* play) {
|
||||
} else if (thisx->params == 1) {
|
||||
this->actionFunc = func_808AC8FC;
|
||||
CollisionHeader_GetVirtual(&object_spot02_objects_Col_0128D8, &colHeader);
|
||||
thisx->flags |= ACTOR_FLAG_22;
|
||||
thisx->flags |= ACTOR_FLAG_IGNORE_POINTLIGHTS;
|
||||
} else {
|
||||
if (play->sceneNum == SCENE_SPOT02) {
|
||||
this->actionFunc = func_808AC908;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot03_taki.h"
|
||||
#include "objects/object_spot03_object/object_spot03_object.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgSpot03Taki_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot03Taki_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -62,7 +62,7 @@ void BgSpot05Soko_Init(Actor* thisx, PlayState* play) {
|
||||
Actor_Kill(thisx);
|
||||
} else {
|
||||
this->actionFunc = func_808AE5B4;
|
||||
thisx->flags |= ACTOR_FLAG_4;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
}
|
||||
}
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_spot06_objects/object_spot06_objects.h"
|
||||
#include "soh/Enhancements/custom-message/CustomMessageTypes.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_9
|
||||
#define FLAGS ACTOR_FLAG_HOOKSHOT_DRAGS
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ LHO_WATER_TEMPLE_ENTRACE_GATE,
|
||||
@ -152,7 +152,7 @@ void BgSpot06Objects_Init(Actor* thisx, PlayState* play) {
|
||||
break;
|
||||
case LHO_WATER_PLANE:
|
||||
Actor_ProcessInitChain(thisx, sInitChainWaterPlane);
|
||||
thisx->flags = ACTOR_FLAG_4 | ACTOR_FLAG_5;
|
||||
thisx->flags = ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
|
||||
if (LINK_IS_ADULT && !(Flags_GetEventChkInf(EVENTCHKINF_RAISED_LAKE_HYLIA_WATER))) {
|
||||
if (gSaveContext.sceneSetupIndex < 4) {
|
||||
@ -320,7 +320,7 @@ void BgSpot06Objects_LockWait(BgSpot06Objects* this, PlayState* play) {
|
||||
|
||||
if (this->collider.base.acFlags & 2) {
|
||||
this->timer = 130;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
sin = Math_SinS(this->dyna.actor.world.rot.y);
|
||||
cos = Math_CosS(this->dyna.actor.world.rot.y);
|
||||
this->dyna.actor.world.pos.x += (3.0f * sin);
|
||||
@ -363,7 +363,7 @@ void BgSpot06Objects_LockPullOutward(BgSpot06Objects* this, PlayState* play) {
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->dyna.actor.velocity.y = 0.5f;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_13;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_HOOKSHOT_ATTACHED;
|
||||
|
||||
this->actionFunc = BgSpot06Objects_LockSwimToSurface;
|
||||
}
|
||||
@ -393,7 +393,7 @@ void BgSpot06Objects_LockSwimToSurface(BgSpot06Objects* this, PlayState* play) {
|
||||
this->dyna.actor.world.pos.z - (Math_CosS(this->dyna.actor.shape.rot.y) * 16.0f);
|
||||
this->dyna.actor.world.pos.y = -1993.0f;
|
||||
this->timer = 32;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->collider.elements[0].dim.worldSphere.radius = this->collider.elements[0].dim.modelSphere.radius * 2;
|
||||
this->actionFunc = BgSpot06Objects_LockFloat;
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot07_taki.h"
|
||||
#include "objects/object_spot07_object/object_spot07_object.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgSpot07Taki_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot07Taki_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
#include "objects/gameplay_field_keep/gameplay_field_keep.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_22
|
||||
#define FLAGS ACTOR_FLAG_IGNORE_POINTLIGHTS
|
||||
|
||||
void BgSpot08Bakudankabe_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot08Bakudankabe_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "objects/object_spot11_obj/object_spot11_obj.h"
|
||||
#include "objects/gameplay_field_keep/gameplay_field_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgSpot11Bakudankabe_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot11Bakudankabe_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
|
||||
#include "objects/object_spot11_obj/object_spot11_obj.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgSpot11Oasis_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot11Oasis_Update(Actor* thisx, PlayState* play);
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "overlays/actors/ovl_En_Bombf/z_en_bombf.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgSpot16Bombstone_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot16Bombstone_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot17_funen.h"
|
||||
#include "objects/object_spot17_obj/object_spot17_obj.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgSpot17Funen_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot17Funen_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include "objects/object_spot18_obj/object_spot18_obj.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgSpot18Basket_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot18Basket_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_spot18_shutter.h"
|
||||
#include "objects/object_spot18_obj/object_spot18_obj.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgSpot18Shutter_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot18Shutter_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_sst_floor.h"
|
||||
#include "objects/object_sst/object_sst.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgSstFloor_Init(BgSstFloor* this, PlayState* play);
|
||||
void BgSstFloor_Destroy(BgSstFloor* this, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_toki_hikari.h"
|
||||
#include "objects/object_toki_objects/object_toki_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_5
|
||||
#define FLAGS ACTOR_FLAG_DRAW_WHILE_CULLED
|
||||
|
||||
void BgTokiHikari_Init(Actor* thisx, PlayState* play);
|
||||
void BgTokiHikari_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_toki_swd.h"
|
||||
#include "objects/object_toki_objects/object_toki_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
|
||||
void BgTokiSwd_Init(Actor* thisx, PlayState* play);
|
||||
void BgTokiSwd_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_spot04_objects/object_spot04_objects.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgTreemouth_Init(Actor* thisx, PlayState* play);
|
||||
void BgTreemouth_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -147,9 +147,9 @@ void func_808BC8B8(BgTreemouth* this, PlayState* play) {
|
||||
if (!LINK_IS_ADULT) {
|
||||
if (Flags_GetEventChkInf(0xC)) {
|
||||
if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 1658.0f, 0x7530)) {
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_0;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_TARGETABLE;
|
||||
if (this->dyna.actor.isTargeted) {
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_0;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
play->csCtx.segment = D_808BD2A0;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
BgTreemouth_SetupAction(this, func_808BC9EC);
|
||||
|
@ -46,7 +46,7 @@ void BgUmaJump_Init(Actor* thisx, PlayState* play) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_ydan_hasi.h"
|
||||
#include "objects/object_ydan_objects/object_ydan_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
|
||||
void BgYdanHasi_Init(Actor* thisx, PlayState* play);
|
||||
void BgYdanHasi_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -297,7 +297,7 @@ void BgYdanSp_FloorWebIdle(BgYdanSp* this, PlayState* play) {
|
||||
if (this->dyna.actor.xzDistToPlayer < 80.0f) {
|
||||
this->unk_16C = 200.0f;
|
||||
this->dyna.actor.room = -1;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_4;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->timer = 40;
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WEB_BROKEN);
|
||||
this->actionFunc = BgYdanSp_FloorWebBreaking;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user