mirror of
https://github.com/zeldaret/mm.git
synced 2026-06-11 05:08:00 -04:00
dyna switches (#1731)
This commit is contained in:
@@ -72,11 +72,11 @@ void DynaPolyActor_AttachCarriedActor(CollisionContext* colCtx, Actor* carriedAc
|
||||
if (dynaActor != NULL) {
|
||||
DynaPolyActor_SetActorOnTop(dynaActor);
|
||||
|
||||
if (CHECK_FLAG_ALL(carriedActor->flags, ACTOR_FLAG_CAN_PRESS_SWITCH)) {
|
||||
DynaPolyActor_SetActorOnSwitch(dynaActor);
|
||||
if (CHECK_FLAG_ALL(carriedActor->flags, ACTOR_FLAG_CAN_PRESS_SWITCHES)) {
|
||||
DynaPolyActor_SetSwitchPressed(dynaActor);
|
||||
}
|
||||
if (CHECK_FLAG_ALL(carriedActor->flags, ACTOR_FLAG_CAN_PRESS_HEAVY_SWITCH)) {
|
||||
DynaPolyActor_SetActorOnHeavySwitch(dynaActor);
|
||||
if (CHECK_FLAG_ALL(carriedActor->flags, ACTOR_FLAG_CAN_PRESS_HEAVY_SWITCHES)) {
|
||||
DynaPolyActor_SetHeavySwitchPressed(dynaActor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,12 +51,12 @@ void DynaPoly_SetPlayerAbove(CollisionContext* colCtx, s32 bgId) {
|
||||
}
|
||||
}
|
||||
|
||||
void DynaPolyActor_SetActorOnSwitch(DynaPolyActor* dynaActor) {
|
||||
dynaActor->interactFlags |= DYNA_INTERACT_ACTOR_ON_SWITCH;
|
||||
void DynaPolyActor_SetSwitchPressed(DynaPolyActor* dynaActor) {
|
||||
dynaActor->interactFlags |= DYNA_INTERACT_ACTOR_SWITCH_PRESSED;
|
||||
}
|
||||
|
||||
void DynaPolyActor_SetActorOnHeavySwitch(DynaPolyActor* dynaActor) {
|
||||
dynaActor->interactFlags |= DYNA_INTERACT_ACTOR_ON_HEAVY_SWITCH;
|
||||
void DynaPolyActor_SetHeavySwitchPressed(DynaPolyActor* dynaActor) {
|
||||
dynaActor->interactFlags |= DYNA_INTERACT_ACTOR_HEAVY_SWITCH_PRESSED;
|
||||
}
|
||||
|
||||
s32 DynaPolyActor_IsActorOnTop(DynaPolyActor* dynaActor) {
|
||||
@@ -84,7 +84,7 @@ s32 DynaPolyActor_IsPlayerAbove(DynaPolyActor* dynaActor) {
|
||||
}
|
||||
|
||||
s32 DynaPolyActor_IsSwitchPressed(DynaPolyActor* dynaActor) {
|
||||
if (dynaActor->interactFlags & DYNA_INTERACT_ACTOR_ON_SWITCH) {
|
||||
if (dynaActor->interactFlags & DYNA_INTERACT_ACTOR_SWITCH_PRESSED) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@@ -92,7 +92,7 @@ s32 DynaPolyActor_IsSwitchPressed(DynaPolyActor* dynaActor) {
|
||||
}
|
||||
|
||||
s32 DynaPolyActor_IsHeavySwitchPressed(DynaPolyActor* dynaActor) {
|
||||
if (dynaActor->interactFlags & DYNA_INTERACT_ACTOR_ON_HEAVY_SWITCH) {
|
||||
if (dynaActor->interactFlags & DYNA_INTERACT_ACTOR_HEAVY_SWITCH_PRESSED) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_200000 | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_CAN_PRESS_SWITCH | ACTOR_FLAG_80000000)
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_CAN_PRESS_SWITCHES | ACTOR_FLAG_80000000)
|
||||
|
||||
ActorFunc sPlayerCallInitFunc;
|
||||
ActorFunc sPlayerCallDestroyFunc;
|
||||
|
||||
Reference in New Issue
Block a user