dyna switches (#1731)

This commit is contained in:
engineer124
2024-10-23 12:48:01 +11:00
committed by GitHub
parent 961899ca91
commit 19495ba8e9
15 changed files with 43 additions and 39 deletions
+4 -4
View File
@@ -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);
}
}
}
+6 -6
View File
@@ -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;
+1 -1
View File
@@ -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;