papermario/src/world/area_dgb/dgb_15/main.c

108 lines
2.9 KiB
C

#include "dgb_15.h"
s32 N(KeyList)[] = {
ITEM_TUBBA_CASTLE_KEY,
ITEM_NONE
};
EvtScript N(EVS_ExitDoors_dgb_14_1) = {
SetGroup(EVT_GROUP_EXIT_MAP)
Call(DisablePlayerInput, TRUE)
Call(UseDoorSounds, DOOR_SOUNDS_CREAKY)
Set(LVar0, dgb_15_ENTRY_0)
Set(LVar1, COLLIDER_deilittw)
Set(LVar2, MODEL_o135)
Set(LVar3, MODEL_o136)
Exec(ExitDoubleDoor)
Wait(17)
Call(GotoMap, Ref("dgb_14"), dgb_14_ENTRY_1)
Wait(100)
Return
End
};
EvtScript N(EVS_ExitDoors_dgb_17_0) = {
SetGroup(EVT_GROUP_EXIT_MAP)
Call(DisablePlayerInput, TRUE)
Call(UseDoorSounds, DOOR_SOUNDS_CREAKY)
Set(LVar0, dgb_15_ENTRY_1)
Set(LVar1, COLLIDER_deilitte)
Set(LVar2, MODEL_o102)
Set(LVar3, MODEL_o101)
Exec(ExitDoubleDoor)
Wait(17)
Call(GotoMap, Ref("dgb_17"), dgb_17_ENTRY_0)
Wait(100)
Return
End
};
EvtScript N(EVS_ExitDoors_dgb_16_0) = {
SetGroup(EVT_GROUP_EXIT_MAP)
Call(DisablePlayerInput, TRUE)
Call(UseDoorSounds, DOOR_SOUNDS_BASIC)
Set(LVar0, dgb_15_ENTRY_2)
Set(LVar1, COLLIDER_deilittne)
Set(LVar2, MODEL_o123)
Set(LVar3, DOOR_SWING_OUT)
Exec(ExitSingleDoor)
Wait(17)
Call(GotoMap, Ref("dgb_16"), dgb_16_ENTRY_0)
Wait(100)
Return
End
};
MAP_RODATA_PAD(1, strings);
EvtScript N(EVS_BindExitTriggers) = {
BindTrigger(Ref(N(EVS_ExitDoors_dgb_14_1)), TRIGGER_WALL_PRESS_A, COLLIDER_deilittw, 1, 0)
BindTrigger(Ref(N(EVS_ExitDoors_dgb_16_0)), TRIGGER_WALL_PRESS_A, COLLIDER_deilittne, 1, 0)
IfEq(GF_DGB15_UnlockedUpperFoyer, FALSE)
BindPadlock(Ref(N(EVS_UnlockPrompt_Door)), TRIGGER_WALL_PRESS_A, EVT_ENTITY_INDEX(0), Ref(N(KeyList)), 0, 1)
Else
BindTrigger(Ref(N(EVS_ExitDoors_dgb_17_0)), TRIGGER_WALL_PRESS_A, COLLIDER_deilitte, 1, 0)
EndIf
Return
End
};
EvtScript N(EVS_EnterMap) = {
Call(GetEntryID, LVar0)
Switch(LVar0)
CaseEq(dgb_15_ENTRY_0)
Call(UseDoorSounds, DOOR_SOUNDS_CREAKY)
Set(LVar2, MODEL_o135)
Set(LVar3, MODEL_o136)
ExecWait(EnterDoubleDoor)
CaseEq(dgb_15_ENTRY_1)
Call(UseDoorSounds, DOOR_SOUNDS_CREAKY)
Set(LVar2, MODEL_o102)
Set(LVar3, MODEL_o101)
ExecWait(EnterDoubleDoor)
CaseEq(dgb_15_ENTRY_2)
Call(UseDoorSounds, DOOR_SOUNDS_BASIC)
Set(LVar2, MODEL_o123)
Set(LVar3, DOOR_SWING_OUT)
ExecWait(EnterSingleDoor)
EndSwitch
Exec(N(EVS_BindExitTriggers))
Return
End
};
EvtScript N(EVS_Main) = {
Set(GB_WorldLocation, LOCATION_TUBBAS_MANOR)
Call(SetSpriteShading, SHADING_NONE)
Set(AF_DGB_01, FALSE)
SetUP_CAMERA_NO_LEAD()
IfEq(GF_DGB16_EscapedFromTubba, FALSE)
Call(MakeNpcs, TRUE, Ref(N(DefaultNPCs)))
EndIf
ExecWait(N(EVS_MakeEntities))
Exec(N(EVS_SetupMusic))
Exec(N(EVS_EnterMap))
Return
End
};