mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-01-30 23:10:14 -05:00
Update Actor Flags to decomp (#4822)
This commit is contained in:
parent
88a432aac5
commit
47fdaabd1b
@ -94,34 +94,120 @@ typedef struct {
|
||||
/* 0x18 */ Vec3f feetPos[2]; // Update by using `Actor_SetFeetPos` in PostLimbDraw
|
||||
} ActorShape; // size = 0x30
|
||||
|
||||
#define ACTOR_FLAG_TARGETABLE (1 << 0)
|
||||
// Actor is discoverable by the Attention System. This enables Navi to hover over the actor when it is in range.
|
||||
// The actor can also be locked onto (as long as `ACTOR_FLAG_LOCK_ON_DISABLED` is not set).
|
||||
#define ACTOR_FLAG_ATTENTION_ENABLED (1 << 0)
|
||||
|
||||
// Actor is hostile toward the Player. Player has specific "battle" behavior when locked onto hostile actors.
|
||||
// Enemy background music will also be played when the player is close enough to a hostile actor.
|
||||
// Note: This must be paired with `ACTOR_FLAG_ATTENTION_ENABLED` to have any effect
|
||||
#define ACTOR_FLAG_HOSTILE (1 << 2)
|
||||
|
||||
// Actor is considered "friendly"; Opposite flag of `ACTOR_FLAG_HOSTILE`.
|
||||
// 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_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)
|
||||
|
||||
// Culling of the actor's update process is disabled.
|
||||
// In other words, the actor will keep updating even if the actor is outside its own culling volume.
|
||||
// See `Actor_CullingCheck` for more information about culling.
|
||||
// See `Actor_CullingVolumeTest` for more information on the test used to determine if an actor should be culled.
|
||||
#define ACTOR_FLAG_UPDATE_CULLING_DISABLED (1 << 4)
|
||||
|
||||
// Culling of the actor's draw process is disabled.
|
||||
// In other words, the actor will keep drawing even if the actor is outside its own culling volume.
|
||||
// See `Actor_CullingCheck` for more information about culling.
|
||||
// See `Actor_CullingVolumeTest` for more information on the test used to determine if an actor should be culled.
|
||||
// (The original name for this flag is `NO_CULL_DRAW`, known from the Majora's Mask Debug ROM)
|
||||
#define ACTOR_FLAG_DRAW_CULLING_DISABLED (1 << 5)
|
||||
|
||||
// Set if the actor is currently within the bounds of its culling volume.
|
||||
// In most cases, this flag can be used to determine whether or not an actor is currently culled.
|
||||
// However this flag still updates even if `ACTOR_FLAG_UPDATE_CULLING_DISABLED` or `ACTOR_FLAG_DRAW_CULLING_DISABLED`
|
||||
// are set. Meaning, the flag can still have a value of "false" even if it is not actually culled.
|
||||
// (The original name for this flag is `NO_CULL_FLAG`, known from the Majora's Mask Debug ROM)
|
||||
#define ACTOR_FLAG_INSIDE_CULLING_VOLUME (1 << 6)
|
||||
|
||||
// hidden or revealed by Lens of Truth (depending on room lensMode)
|
||||
#define ACTOR_FLAG_REACT_TO_LENS (1 << 7)
|
||||
|
||||
// Signals that player has accepted an offer to talk to an actor
|
||||
// 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)
|
||||
|
||||
// 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)
|
||||
|
||||
// A clump of grass (EN_KUSA) has been destroyed.
|
||||
// This flag is used to communicate with the spawner actor (OBJ_MURE).
|
||||
#define ACTOR_FLAG_GRASS_DESTROYED (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_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 boomerang.
|
||||
// This only has an effect for Gold Skulltula Tokens (EN_SI) which has overlapping behavior for hookshot and boomerang.
|
||||
#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)
|
||||
|
||||
// When hit by an arrow, the actor will be able to attach to the arrow and fly with it in the air
|
||||
#define ACTOR_FLAG_CAN_ATTACH_TO_ARROW (1 << 14)
|
||||
|
||||
// Actor is currently attached to an arrow and flying with it in the air
|
||||
#define ACTOR_FLAG_ATTACHED_TO_ARROW (1 << 15)
|
||||
|
||||
// Player automatically accepts a Talk Offer without needing to press the A button.
|
||||
// Player still has to meet all conditions to be able to receive a talk offer (for example, being in range).
|
||||
#define ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED (1 << 16)
|
||||
|
||||
// Actor will be influenced by the pitch (x rot) of Player's left hand when being carried,
|
||||
// instead of Player's yaw which is the default actor carry behavior.
|
||||
// This flag is helpful for something like the `BG_HEAVY_BLOCK` actor which Player carries underhanded.
|
||||
#define ACTOR_FLAG_CARRY_X_ROT_INFLUENCE (1 << 17)
|
||||
|
||||
// When locked onto an actor with this flag set, the C-Up button can be used to talk to this actor.
|
||||
// A C-Up button labeled "Navi" will appear on the HUD when locked on which indicates the actor can be checked with Navi.
|
||||
// With this flag Player talks directly to the actor with C-Up. It is expected that the resulting dialog should appear
|
||||
// to be coming from Navi, even though she is not involved at all with this interaction.
|
||||
#define ACTOR_FLAG_TALK_WITH_C_UP (1 << 18)
|
||||
|
||||
// Flags controlling the use of `Actor.sfx`. Do not use directly.
|
||||
#define ACTOR_FLAG_SFX_ACTOR_POS_2 (1 << 19)
|
||||
#define ACTOR_AUDIO_FLAG_SFX_CENTERED_1 (1 << 20)
|
||||
#define ACTOR_AUDIO_FLAG_SFX_CENTERED_2 (1 << 21)
|
||||
|
||||
// ignores point lights but not directional lights (such as environment lights)
|
||||
#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)
|
||||
|
||||
// When Player is carrying this actor, it can only be thrown, not dropped/placed.
|
||||
// Typically an actor can only be thrown when moving, but this allows an actor to be thrown when standing still.
|
||||
#define ACTOR_FLAG_THROW_ONLY (1 << 23)
|
||||
|
||||
// When colliding with Player's body AC collider, a "thump" sound will play indicating his body has been hit
|
||||
#define ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT (1 << 24)
|
||||
|
||||
// Actor can update even if Player is currently using the ocarina.
|
||||
// Typically an actor will halt while the ocarina is active (depending on category).
|
||||
// This flag allows a given actor to be an exception.
|
||||
#define ACTOR_FLAG_UPDATE_DURING_OCARINA (1 << 25)
|
||||
|
||||
// Actor can press and hold down switches.
|
||||
// See usages of `DynaPolyActor_SetSwitchPressed` and `DynaPolyActor_IsSwitchPressed` for more context on how switches work.
|
||||
#define ACTOR_FLAG_CAN_PRESS_SWITCHES (1 << 26)
|
||||
|
||||
// Player is not able to lock onto the actor.
|
||||
// Navi will still be able to hover over the actor, assuming `ACTOR_FLAG_ATTENTION_ENABLED` is set.
|
||||
#define ACTOR_FLAG_LOCK_ON_DISABLED (1 << 27)
|
||||
|
||||
// Flag controlling the use of `Actor.sfx`. Do not use directly. See Actor_PlaySfx_FlaggedTimer
|
||||
#define ACTOR_FLAG_SFX_TIMER (1 << 28)
|
||||
|
||||
typedef struct Actor {
|
||||
/* 0x000 */ s16 id; // Actor ID
|
||||
|
@ -598,7 +598,7 @@ static ActorDBInit EnPartnerInit = {
|
||||
"En_Partner",
|
||||
"Ivan",
|
||||
ACTORCAT_ITEMACTION,
|
||||
(ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_DRAGGED_BY_HOOKSHOT | ACTOR_FLAG_CAN_PRESS_SWITCH),
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER | ACTOR_FLAG_CAN_PRESS_SWITCHES),
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(EnPartner),
|
||||
(ActorFunc)EnPartner_Init,
|
||||
|
@ -85,7 +85,7 @@ void SkipChildRutoInteractions_Register() {
|
||||
if (enRu1->action == 22) {
|
||||
enRu1->action = 27;
|
||||
enRu1->drawConfig = 1;
|
||||
enRu1->actor.flags |= ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY;
|
||||
enRu1->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY;
|
||||
Animation_Change(&enRu1->skelAnime, (AnimationHeader*)&gRutoChildSittingAnim, 1.0f, 0.0f,
|
||||
Animation_GetLastFrame((void*)&gRutoChildSittingAnim), ANIMMODE_LOOP, 0.0f);
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ void MessageDebug_StartTextBox(const char* tableId, uint16_t textId, uint8_t lan
|
||||
PlayState* play = gPlayState;
|
||||
static int16_t messageStaticIndices[] = { 0, 1, 3, 2 };
|
||||
const auto player = GET_PLAYER(gPlayState);
|
||||
player->actor.flags |= ACTOR_FLAG_PLAYER_TALKED_TO;
|
||||
player->actor.flags |= ACTOR_FLAG_TALK;
|
||||
MessageContext* msgCtx = &play->msgCtx;
|
||||
msgCtx->ocarinaAction = 0xFFFF;
|
||||
Font* font = &msgCtx->font;
|
||||
|
@ -83,7 +83,7 @@ void DrawNameTag(PlayState* play, const NameTag* nameTag) {
|
||||
|
||||
// Prefer the highest between world position and focus position if targetable
|
||||
float posY = nameTag->actor->world.pos.y;
|
||||
if (nameTag->actor->flags & ACTOR_FLAG_TARGETABLE) {
|
||||
if (nameTag->actor->flags & ACTOR_FLAG_ATTENTION_ENABLED) {
|
||||
posY = std::max(posY, nameTag->actor->focus.pos.y);
|
||||
}
|
||||
|
||||
|
@ -440,7 +440,7 @@ namespace Rando {
|
||||
|
||||
// Reset fish group counter when the group gets culled
|
||||
if (actor->id == ACTOR_OBJ_MURE && gPlayState->sceneNum == SCENE_ZORAS_DOMAIN && fishGroupCounter > 0 &&
|
||||
!(actor->flags & ACTOR_FLAG_UPDATE_WHILE_CULLED) && fs->GetOverworldFishShuffled()) {
|
||||
!(actor->flags & ACTOR_FLAG_UPDATE_CULLING_DISABLED) && fs->GetOverworldFishShuffled()) {
|
||||
fishGroupCounter = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1113,7 +1113,7 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_l
|
||||
enJs->actor.parent = NULL;
|
||||
enJs->actor.textId = TEXT_CARPET_SALESMAN_ARMS_DEALER;
|
||||
enJs->actionFunc = (EnJsActionFunc)func_80A890C0;
|
||||
enJs->actor.flags |= ACTOR_FLAG_WILL_TALK;
|
||||
enJs->actor.flags |= ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
|
||||
Flags_SetRandomizerInf(RAND_INF_MERCHANTS_CARPET_SALESMAN);
|
||||
*should = true;
|
||||
}
|
||||
@ -1196,7 +1196,7 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_l
|
||||
Flags_SetItemGetInf(ITEMGETINF_30);
|
||||
granny->actor.textId = 0x504F;
|
||||
granny->actionFunc = (EnDsActionFunc)EnDs_TalkAfterGiveOddPotion;
|
||||
granny->actor.flags &= ~ACTOR_FLAG_PLAYER_TALKED_TO;
|
||||
granny->actor.flags &= ~ACTOR_FLAG_TALK;
|
||||
*should = false;
|
||||
break;
|
||||
}
|
||||
@ -1586,7 +1586,7 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_l
|
||||
case VB_TRADE_TIMER_EYEDROPS:{
|
||||
EnMk* enMk = va_arg(args, EnMk*);
|
||||
Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_LH_TRADE_FROG);
|
||||
enMk->actor.flags &= ~ACTOR_FLAG_WILL_TALK;
|
||||
enMk->actor.flags &= ~ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
|
||||
enMk->actionFunc = EnMk_Wait;
|
||||
enMk->flags |= 1;
|
||||
*should = false;
|
||||
|
@ -50,7 +50,7 @@ void EnMa1_EndTeachSong(EnMa1* enMa1, PlayState* play) {
|
||||
if (Message_GetState(&gPlayState->msgCtx) == TEXT_STATE_CLOSING) {
|
||||
Flags_SetRandomizerInf(RAND_INF_LEARNED_EPONA_SONG);
|
||||
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
|
||||
enMa1->actor.flags &= ~ACTOR_FLAG_WILL_TALK;
|
||||
enMa1->actor.flags &= ~ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
|
||||
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
|
||||
enMa1->actionFunc = func_80AA0D88;
|
||||
enMa1->unk_1E0 = 1;
|
||||
@ -63,7 +63,7 @@ void EnFu_EndTeachSong(EnFu* enFu, PlayState* play) {
|
||||
if (Message_GetState(&gPlayState->msgCtx) == TEXT_STATE_CLOSING) {
|
||||
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
|
||||
enFu->actionFunc = EnFu_WaitAdult;
|
||||
enFu->actor.flags &= ~ACTOR_FLAG_WILL_TALK;
|
||||
enFu->actor.flags &= ~ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
|
||||
|
||||
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
|
||||
Flags_SetEventChkInf(EVENTCHKINF_PLAYED_SONG_OF_STORMS_IN_WINDMILL);
|
||||
|
@ -62,7 +62,7 @@ void func_80043334(CollisionContext* colCtx, Actor* actor, s32 bgId) {
|
||||
if (dynaActor != NULL) {
|
||||
DynaPolyActor_SetActorOnTop(dynaActor);
|
||||
|
||||
if (CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_CAN_PRESS_SWITCH)) {
|
||||
if (CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_CAN_PRESS_SWITCHES)) {
|
||||
DynaPolyActor_SetSwitchPressed(dynaActor);
|
||||
}
|
||||
}
|
||||
|
@ -529,7 +529,7 @@ void func_8002C124(TargetContext* targetCtx, PlayState* play) {
|
||||
}
|
||||
|
||||
actor = targetCtx->unk_94;
|
||||
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_NO_LOCKON)) {
|
||||
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_LOCK_ON_DISABLED)) {
|
||||
FrameInterpolation_RecordOpenChild(actor, 1);
|
||||
NaviColor* naviColor = &sNaviColorList[actor->category];
|
||||
|
||||
@ -624,7 +624,7 @@ void func_8002C7BC(TargetContext* targetCtx, Player* player, Actor* actorArg, Pl
|
||||
targetCtx->unk_48 = 0;
|
||||
}
|
||||
|
||||
lockOnSfxId = CHECK_FLAG_ALL(actorArg->flags, ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_HOSTILE) ? NA_SE_SY_LOCK_ON
|
||||
lockOnSfxId = CHECK_FLAG_ALL(actorArg->flags, ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE) ? NA_SE_SY_LOCK_ON
|
||||
: NA_SE_SY_LOCK_ON_HUMAN;
|
||||
Sfx_PlaySfxCentered(lockOnSfxId);
|
||||
}
|
||||
@ -1178,7 +1178,7 @@ void Actor_Kill(Actor* actor) {
|
||||
GameInteractor_ExecuteOnActorKill(actor);
|
||||
actor->draw = NULL;
|
||||
actor->update = NULL;
|
||||
actor->flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
actor->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
}
|
||||
|
||||
void Actor_SetWorldToHome(Actor* actor) {
|
||||
@ -1854,7 +1854,7 @@ f32 func_8002EFC0(Actor* actor, Player* player, s16 arg2) {
|
||||
s16 yawTempAbs = ABS(yawTemp);
|
||||
|
||||
if (player->focusActor != NULL) {
|
||||
if ((yawTempAbs > 0x4000) || (actor->flags & ACTOR_FLAG_NO_LOCKON)) {
|
||||
if ((yawTempAbs > 0x4000) || (actor->flags & ACTOR_FLAG_LOCK_ON_DISABLED)) {
|
||||
return FLT_MAX;
|
||||
} else {
|
||||
f32 ret =
|
||||
@ -1890,7 +1890,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_TARGETABLE)) {
|
||||
if ((actor->update == NULL) || !(actor->flags & ACTOR_FLAG_ATTENTION_ENABLED)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1912,8 +1912,8 @@ s32 func_8002F0C8(Actor* actor, Player* player, s32 flag) {
|
||||
}
|
||||
|
||||
u32 Actor_ProcessTalkRequest(Actor* actor, PlayState* play) {
|
||||
if (actor->flags & ACTOR_FLAG_PLAYER_TALKED_TO) {
|
||||
actor->flags &= ~ACTOR_FLAG_PLAYER_TALKED_TO;
|
||||
if (actor->flags & ACTOR_FLAG_TALK) {
|
||||
actor->flags &= ~ACTOR_FLAG_TALK;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1924,7 +1924,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_PLAYER_TALKED_TO) || ((exchangeItemId != EXCH_ITEM_NONE) && Player_InCsMode(play)) ||
|
||||
if ((player->actor.flags & ACTOR_FLAG_TALK) || ((exchangeItemId != EXCH_ITEM_NONE) && Player_InCsMode(play)) ||
|
||||
(!actor->isTargeted &&
|
||||
((arg3 < fabsf(actor->yDistToPlayer)) || (player->talkActorDistance < actor->xzDistToPlayer) ||
|
||||
(arg2 < actor->xzDistToPlayer)))) {
|
||||
@ -2235,30 +2235,30 @@ void func_8002F850(PlayState* play, Actor* actor) {
|
||||
|
||||
void func_8002F8F0(Actor* actor, u16 sfxId) {
|
||||
actor->sfx = sfxId;
|
||||
actor->flags |= ACTOR_FLAG_SFX_AT_POS;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AT_CENTER2 | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
actor->flags |= ACTOR_FLAG_SFX_ACTOR_POS_2;
|
||||
actor->flags &= ~(ACTOR_AUDIO_FLAG_SFX_CENTERED_1 | ACTOR_AUDIO_FLAG_SFX_CENTERED_2 | ACTOR_FLAG_SFX_TIMER);
|
||||
}
|
||||
|
||||
void func_8002F91C(Actor* actor, u16 sfxId) {
|
||||
actor->sfx = sfxId;
|
||||
actor->flags |= ACTOR_FLAG_SFX_AT_CENTER;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER2 | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
actor->flags |= ACTOR_AUDIO_FLAG_SFX_CENTERED_1;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_ACTOR_POS_2 | ACTOR_AUDIO_FLAG_SFX_CENTERED_2 | ACTOR_FLAG_SFX_TIMER);
|
||||
}
|
||||
|
||||
void func_8002F948(Actor* actor, u16 sfxId) {
|
||||
actor->sfx = sfxId;
|
||||
actor->flags |= ACTOR_FLAG_SFX_AT_CENTER2;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
actor->flags |= ACTOR_AUDIO_FLAG_SFX_CENTERED_2;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_ACTOR_POS_2 | ACTOR_AUDIO_FLAG_SFX_CENTERED_1 | ACTOR_FLAG_SFX_TIMER);
|
||||
}
|
||||
|
||||
void func_8002F974(Actor* actor, u16 sfxId) {
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AT_CENTER2 | ACTOR_FLAG_SFX_AS_TIMER);
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_ACTOR_POS_2 | ACTOR_AUDIO_FLAG_SFX_CENTERED_1 | ACTOR_AUDIO_FLAG_SFX_CENTERED_2 | ACTOR_FLAG_SFX_TIMER);
|
||||
actor->sfx = sfxId;
|
||||
}
|
||||
|
||||
void func_8002F994(Actor* actor, s32 arg1) {
|
||||
actor->flags |= ACTOR_FLAG_SFX_AS_TIMER;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_AT_POS | ACTOR_FLAG_SFX_AT_CENTER | ACTOR_FLAG_SFX_AT_CENTER2);
|
||||
actor->flags |= ACTOR_FLAG_SFX_TIMER;
|
||||
actor->flags &= ~(ACTOR_FLAG_SFX_ACTOR_POS_2 | ACTOR_AUDIO_FLAG_SFX_CENTERED_1 | ACTOR_AUDIO_FLAG_SFX_CENTERED_2);
|
||||
if (arg1 < 40) {
|
||||
actor->sfx = NA_SE_PL_WALK_DIRT - SFX_FLAG;
|
||||
} else if (arg1 < 100) {
|
||||
@ -2567,7 +2567,7 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) {
|
||||
sp80 = &D_80116068[0];
|
||||
|
||||
if (player->stateFlags2 & PLAYER_STATE2_OCARINA_PLAYING) {
|
||||
unkFlag = ACTOR_FLAG_NO_FREEZE_OCARINA;
|
||||
unkFlag = ACTOR_FLAG_UPDATE_DURING_OCARINA;
|
||||
}
|
||||
|
||||
if ((player->stateFlags1 & PLAYER_STATE1_TALKING) && ((player->actor.textId & 0xFF00) != 0x600)) {
|
||||
@ -2622,9 +2622,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_PLAY_HIT_SFX;
|
||||
actor->flags &= ~ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT;
|
||||
|
||||
if ((DECR(actor->freezeTimer) == 0) && (actor->flags & (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_ACTIVE))) {
|
||||
if ((DECR(actor->freezeTimer) == 0) && (actor->flags & (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_INSIDE_CULLING_VOLUME))) {
|
||||
if (actor == player->focusActor) {
|
||||
actor->isTargeted = true;
|
||||
} else {
|
||||
@ -2766,13 +2766,13 @@ void Actor_Draw(PlayState* play, Actor* actor) {
|
||||
}
|
||||
|
||||
void func_80030ED8(Actor* actor) {
|
||||
if (actor->flags & ACTOR_FLAG_SFX_AT_POS) {
|
||||
if (actor->flags & ACTOR_FLAG_SFX_ACTOR_POS_2) {
|
||||
Audio_PlaySoundGeneral(actor->sfx, &actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
} else if (actor->flags & ACTOR_FLAG_SFX_AT_CENTER) {
|
||||
} else if (actor->flags & ACTOR_AUDIO_FLAG_SFX_CENTERED_1) {
|
||||
Sfx_PlaySfxCentered(actor->sfx);
|
||||
} else if (actor->flags & ACTOR_FLAG_SFX_AT_CENTER2) {
|
||||
} else if (actor->flags & ACTOR_AUDIO_FLAG_SFX_CENTERED_2) {
|
||||
Sfx_PlaySfxCentered2(actor->sfx);
|
||||
} else if (actor->flags & ACTOR_FLAG_SFX_AS_TIMER) {
|
||||
} else if (actor->flags & ACTOR_FLAG_SFX_TIMER) {
|
||||
func_800F4C58(&gSfxDefaultPos, NA_SE_SY_TIMER - SFX_FLAG, (s8)(actor->sfx - 1));
|
||||
} else {
|
||||
Sfx_PlaySfxAtPos(&actor->projectedPos, actor->sfx);
|
||||
@ -3032,15 +3032,15 @@ void func_800315AC(PlayState* play, ActorContext* actorCtx) {
|
||||
&shipShouldUpdate);
|
||||
|
||||
if (shipShouldUpdate) {
|
||||
actor->flags |= ACTOR_FLAG_ACTIVE;
|
||||
actor->flags |= ACTOR_FLAG_INSIDE_CULLING_VOLUME;
|
||||
} else {
|
||||
actor->flags &= ~ACTOR_FLAG_ACTIVE;
|
||||
actor->flags &= ~ACTOR_FLAG_INSIDE_CULLING_VOLUME;
|
||||
}
|
||||
} else {
|
||||
if (func_800314B0(play, actor)) {
|
||||
actor->flags |= ACTOR_FLAG_ACTIVE;
|
||||
actor->flags |= ACTOR_FLAG_INSIDE_CULLING_VOLUME;
|
||||
} else {
|
||||
actor->flags &= ~ACTOR_FLAG_ACTIVE;
|
||||
actor->flags &= ~ACTOR_FLAG_INSIDE_CULLING_VOLUME;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3049,9 +3049,9 @@ void func_800315AC(PlayState* play, ActorContext* actorCtx) {
|
||||
|
||||
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_DRAW_WHILE_CULLED | ACTOR_FLAG_ACTIVE)) || shipShouldDraw)) {
|
||||
((actor->flags & (ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_INSIDE_CULLING_VOLUME)) || shipShouldDraw)) {
|
||||
// #endregion
|
||||
if ((actor->flags & ACTOR_FLAG_LENS) &&
|
||||
if ((actor->flags & ACTOR_FLAG_REACT_TO_LENS) &&
|
||||
((play->roomCtx.curRoom.lensMode == LENS_MODE_HIDE_ACTORS) ||
|
||||
play->actorCtx.lensActive || (actor->room != play->roomCtx.curRoom.num))) {
|
||||
assert(invisibleActorCounter < INVISIBLE_ACTOR_MAX);
|
||||
@ -3499,11 +3499,11 @@ void func_800328D4(PlayState* play, ActorContext* actorCtx, Player* player, u32
|
||||
sp84 = player->focusActor;
|
||||
|
||||
while (actor != NULL) {
|
||||
if ((actor->update != NULL) && ((Player*)actor != player) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_TARGETABLE)) {
|
||||
if ((actor->update != NULL) && ((Player*)actor != player) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_ATTENTION_ENABLED)) {
|
||||
|
||||
// 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_TARGETABLE | ACTOR_FLAG_HOSTILE) &&
|
||||
if ((actorCategory == ACTORCAT_ENEMY) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE) &&
|
||||
(actor->xyzDistToPlayerSq < SQ(500.0f)) && (actor->xyzDistToPlayerSq < sbgmEnemyDistSq)) {
|
||||
actorCtx->targetCtx.bgmEnemy = actor;
|
||||
sbgmEnemyDistSq = actor->xyzDistToPlayerSq;
|
||||
@ -4557,10 +4557,10 @@ s16 Actor_UpdateAlphaByDistance(Actor* actor, PlayState* play, s16 alpha, f32 ra
|
||||
}
|
||||
|
||||
if (radius < distance) {
|
||||
actor->flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
actor->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
Math_SmoothStepToS(&alpha, 0, 6, 0x14, 1);
|
||||
} else {
|
||||
actor->flags |= ACTOR_FLAG_TARGETABLE;
|
||||
actor->flags |= ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
Math_SmoothStepToS(&alpha, 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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_TARGETABLE; this->dyna.bgId = 5; this->focusYoffset = 10.0f;
|
||||
thisx->flags |= ACTOR_FLAG_ATTENTION_ENABLED; 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_TARGETABLE | ACTOR_FLAG_FRIENDLY; thisx->targetArrowOffset = 500.0f;
|
||||
thisx->flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY; thisx->targetArrowOffset = 500.0f;
|
||||
// clang-format on
|
||||
this->focusYoffset = 45.0f;
|
||||
EnAObj_SetupWaitTalk(this, thisx->params);
|
||||
|
@ -1618,7 +1618,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_UPDATE_WHILE_CULLED;
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1652,7 +1652,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_UPDATE_WHILE_CULLED;
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1766,7 +1766,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_UPDATE_WHILE_CULLED;
|
||||
spawnedActor->actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_TARGETABLE | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA | ACTOR_FLAG_CAN_PRESS_SWITCH)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_CAN_PRESS_SWITCHES)
|
||||
|
||||
void (*sPlayerCallInitFunc)(Actor* thisx, PlayState* play);
|
||||
void (*sPlayerCallDestroyFunc)(Actor* thisx, PlayState* play);
|
||||
|
@ -1876,7 +1876,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve
|
||||
Matrix_Get(&sp14C);
|
||||
Matrix_MtxFToYXZRotS(&sp14C, &spB8, 0);
|
||||
|
||||
if (hookedActor->flags & ACTOR_FLAG_PILLAR_PICKUP) {
|
||||
if (hookedActor->flags & ACTOR_FLAG_CARRY_X_ROT_INFLUENCE) {
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void ArmsHook_Init(Actor* thisx, PlayState* play);
|
||||
void ArmsHook_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -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_PLAYER_TALKED_TO) ||
|
||||
if ((player->itemAction != player->heldItemAction) || (player->actor.flags & ACTOR_FLAG_TALK) ||
|
||||
((player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_DAMAGED)))) {
|
||||
this->timer = 0;
|
||||
ArmsHook_DetachHookFromActor(this);
|
||||
@ -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_HOOKSHOT_DRAGS | ACTOR_FLAG_DRAGGED_BY_HOOKSHOT))) {
|
||||
if ((touchedActor->update != NULL) && (touchedActor->flags & (ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR | ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER))) {
|
||||
if (this->collider.info.atHitInfo->bumperFlags & BUMP_HOOKABLE) {
|
||||
ArmsHook_AttachHookToActor(this, touchedActor);
|
||||
if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_DRAGGED_BY_HOOKSHOT)) {
|
||||
if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_HOOKSHOT_PULLS_PLAYER)) {
|
||||
func_80865044(this);
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_arrow_fire.h"
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_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_UPDATE_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_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_UPDATE_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
play->colCtx.colHeader->waterBoxes[7].ySurface = thisx->world.pos.y;
|
||||
this->actionFunc = func_8086C9A8;
|
||||
return;
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_bdan_objects/object_bdan_objects.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
void BgBdanSwitch_Init(Actor* thisx, PlayState* play);
|
||||
void BgBdanSwitch_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -162,7 +162,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_TARGETABLE;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
this->dyna.actor.targetMode = 4;
|
||||
break;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "objects/object_bowl/object_bowl.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
void BgBomGuard_Init(Actor* thisx, PlayState* play);
|
||||
void BgBomGuard_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "objects/object_bowl/object_bowl.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void BgBowlWall_Init(Actor* thisx, PlayState* play);
|
||||
void BgBowlWall_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ CollisionHeader* colHeader;
|
||||
@ -245,7 +245,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_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
void BgDdanKd_Init(Actor* thisx, PlayState* play);
|
||||
void BgDdanKd_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include "soh/ResourceManagerHelpers.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_NO_FREEZE_OCARINA)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ FAIRY_UPGRADE_MAGIC,
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
#include "soh/frame_interpolation.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_LENS;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_REACT_TO_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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void BgGndFiremeiro_Init(Actor* thisx, PlayState* play);
|
||||
void BgGndFiremeiro_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
|
||||
#include <assert.h>
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_LENS;
|
||||
this->actor.flags |= ACTOR_FLAG_REACT_TO_LENS;
|
||||
} else {
|
||||
this->actor.flags &= ~ACTOR_FLAG_LENS;
|
||||
this->actor.flags &= ~ACTOR_FLAG_REACT_TO_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_LENS)) {
|
||||
if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_REACT_TO_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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_LENS;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_REACT_TO_LENS;
|
||||
} else {
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_LENS;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_REACT_TO_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_LENS)) {
|
||||
if (CHECK_FLAG_ALL(thisx->flags, ACTOR_FLAG_REACT_TO_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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_LENS)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_REACT_TO_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_LENS;
|
||||
thisx->flags |= ACTOR_FLAG_REACT_TO_LENS;
|
||||
func_8003EBF8(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
} else {
|
||||
thisx->flags &= ~ACTOR_FLAG_LENS;
|
||||
thisx->flags &= ~ACTOR_FLAG_REACT_TO_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_LENS)) {
|
||||
if (CHECK_FLAG_ALL(thisx->flags, ACTOR_FLAG_REACT_TO_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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_LENS;
|
||||
thisx->flags |= ACTOR_FLAG_REACT_TO_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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_TARGETABLE | ACTOR_FLAG_UPDATE_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_CULLING_DISABLED)
|
||||
|
||||
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_LENS;
|
||||
thisx->flags |= ACTOR_FLAG_REACT_TO_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_TARGETABLE;
|
||||
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
} 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_UPDATE_WHILE_CULLED;
|
||||
this->actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ STA_GIANT_BIRD_STATUE,
|
||||
|
@ -77,7 +77,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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED | ACTOR_FLAG_PILLAR_PICKUP;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_CARRY_X_ROT_INFLUENCE;
|
||||
DynaPolyActor_Init(&this->dyna, DPM_UNK);
|
||||
CollisionHeader_GetVirtual(&gHeavyBlockCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
@ -101,7 +101,7 @@ void BgHeavyBlock_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = BgHeavyBlock_MovePiece;
|
||||
BgHeavyBlock_InitPiece(this, 1.0f);
|
||||
this->timer = 120;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
this->unk_164.y = -50.0f;
|
||||
break;
|
||||
case HEAVYBLOCK_SMALL_PIECE:
|
||||
@ -109,7 +109,7 @@ void BgHeavyBlock_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = BgHeavyBlock_MovePiece;
|
||||
BgHeavyBlock_InitPiece(this, 2.0f);
|
||||
this->timer = 120;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
this->unk_164.y = -20.0f;
|
||||
break;
|
||||
case HEAVYBLOCK_BREAKABLE:
|
||||
@ -474,7 +474,7 @@ void BgHeavyBlock_Land(BgHeavyBlock* this, PlayState* play) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED);
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED);
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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);
|
||||
|
||||
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, 8);
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
this->actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED);
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED);
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED);
|
||||
this->dyna.actor.flags &= ~(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED);
|
||||
}
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
Player_SetCsActionWithHaltedActors(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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
}
|
||||
thisx->params = 0;
|
||||
Player_SetCsActionWithHaltedActors(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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_TARGETABLE
|
||||
#define FLAGS ACTOR_FLAG_ATTENTION_ENABLED
|
||||
|
||||
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_TARGETABLE;
|
||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
}
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
void BgJyaCobra_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaCobra_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "z_bg_jya_goroiwa.h"
|
||||
#include "objects/object_goroiwa/object_goroiwa.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
void BgJyaHaheniron_Init(Actor* thisx, PlayState* play);
|
||||
void BgJyaHaheniron_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_jya_obj/object_jya_obj.h"
|
||||
#include "soh/OTRGlobals.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_DRAW_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_DRAW_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_LENS;
|
||||
this->actor.flags |= ACTOR_FLAG_REACT_TO_LENS;
|
||||
} else {
|
||||
this->actor.flags &= ~ACTOR_FLAG_LENS;
|
||||
this->actor.flags &= ~ACTOR_FLAG_REACT_TO_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_LENS)) {
|
||||
if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_REACT_TO_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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
#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_TARGETABLE;
|
||||
this->dyna.actor.child->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "z_bg_mizu_shutter.h"
|
||||
#include "objects/object_mizu_objects/object_mizu_objects.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
#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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
this->dyna.actor.objBankIndex = this->objBankIndex;
|
||||
Actor_SetObjectDependency(play, &this->dyna.actor);
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_TARGETABLE;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
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_DRAW_WHILE_CULLED;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_DRAW_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_DRAW_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_DRAW_CULLING_DISABLED
|
||||
|
||||
void BgSpot01Idomizu_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot01Idomizu_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_spot01_matoya/object_spot01_matoya.h"
|
||||
#include "soh/OTRGlobals.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
void BgSpot01Objects2_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot01Objects2_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_spot02_objects/object_spot02_objects.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void BgSpot02Objects_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot02Objects_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_spot03_object/object_spot03_object.h"
|
||||
#include "soh/ResourceManagerHelpers.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED;
|
||||
thisx->flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
}
|
||||
}
|
||||
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_HOOKSHOT_DRAGS
|
||||
#define FLAGS ACTOR_FLAG_HOOKSHOT_PULLS_ACTOR
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ LHO_WATER_TEMPLE_ENTRACE_GATE,
|
||||
@ -154,7 +154,7 @@ void BgSpot06Objects_Init(Actor* thisx, PlayState* play) {
|
||||
break;
|
||||
case LHO_WATER_PLANE:
|
||||
Actor_ProcessInitChain(thisx, sInitChainWaterPlane);
|
||||
thisx->flags = ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
thisx->flags = ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
|
||||
if (LINK_IS_ADULT && !Flags_GetEventChkInf(EVENTCHKINF_RAISED_LAKE_HYLIA_WATER)) {
|
||||
if (gSaveContext.sceneSetupIndex < 4) {
|
||||
@ -322,7 +322,7 @@ void BgSpot06Objects_LockWait(BgSpot06Objects* this, PlayState* play) {
|
||||
|
||||
if (this->collider.base.acFlags & 2) {
|
||||
this->timer = 130;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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);
|
||||
@ -395,7 +395,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_UPDATE_WHILE_CULLED;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void BgSpot07Taki_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot07Taki_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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void BgSpot18Shutter_Init(Actor* thisx, PlayState* play);
|
||||
void BgSpot18Shutter_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "objects/object_sst/object_sst.h"
|
||||
#include "soh/ResourceManagerHelpers.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
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_DRAW_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_DRAW_CULLING_DISABLED
|
||||
|
||||
void BgTokiHikari_Init(Actor* thisx, PlayState* play);
|
||||
void BgTokiHikari_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "soh/OTRGlobals.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_WHILE_CULLED
|
||||
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
|
||||
|
||||
void BgTokiSwd_Init(Actor* thisx, PlayState* play);
|
||||
void BgTokiSwd_Destroy(Actor* thisx, PlayState* play);
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "soh/OTRGlobals.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void BgTreemouth_Init(Actor* thisx, PlayState* play);
|
||||
void BgTreemouth_Destroy(Actor* thisx, PlayState* play);
|
||||
@ -145,9 +145,9 @@ void func_808BC8B8(BgTreemouth* this, PlayState* play) {
|
||||
if (!LINK_IS_ADULT) {
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_MET_DEKU_TREE)) {
|
||||
if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 1658.0f, 0x7530)) {
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_TARGETABLE;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
if (this->dyna.actor.isTargeted) {
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
this->dyna.actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
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_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "z_bg_ydan_hasi.h"
|
||||
#include "objects/object_ydan_objects/object_ydan_objects.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_WHILE_CULLED | ACTOR_FLAG_DRAW_WHILE_CULLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)
|
||||
|
||||
void BgYdanHasi_Init(Actor* thisx, PlayState* play);
|
||||
void BgYdanHasi_Destroy(Actor* thisx, PlayState* play);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user