[JP] World Areas (dro, isk, trd, nok, hos, kpa, osr, kkj, tst, jan, mim, obk, arn)

This commit is contained in:
mrshigure 2024-09-07 23:37:02 -07:00
parent 41e7f56f0e
commit e4090a883c
61 changed files with 4698 additions and 609 deletions

View File

@ -1,3 +1,9 @@
#if VERSION_JP
#define COLLIDER_o90 0x12
#define COLLIDER_o19 0x10
#define COLLIDER_ttw 0x6
#define COLLIDER_deilie 0x0
#else
#define COLLIDER_Root 0x13
#define COLLIDER_move2 0x12
#define COLLIDER_o90 0x11
@ -18,6 +24,7 @@
#define COLLIDER_ne 0x2
#define COLLIDER_deilite 0x1
#define COLLIDER_deilie 0x0
#endif
#define ZONE_Root 0x4
#define ZONE_g14 0x3

View File

@ -1,3 +1,10 @@
#if VERSION_JP
#define COLLIDER_o106 0x13
#define COLLIDER_o19 0x11
#define COLLIDER_tte 0x7
#define COLLIDER_deilie 0x5
#define COLLIDER_ttw 0x2
#else
#define COLLIDER_Root 0x14
#define COLLIDER_move2 0x13
#define COLLIDER_o106 0x12
@ -19,6 +26,7 @@
#define COLLIDER_ttw 0x2
#define COLLIDER_deilitw 0x1
#define COLLIDER_deiliw 0x0
#endif
#define ZONE_Root 0x4
#define ZONE_g14 0x3

View File

@ -1,3 +1,9 @@
#if VERSION_JP
#define MODEL_o455 0x13
#define MODEL_o454 0x11
#define MODEL_o11 0xF
#define MODEL_o9 0xD
#else
#define MODEL_Root 0xB5
#define MODEL_g128 0xB4
#define MODEL_o464 0xB3
@ -180,4 +186,5 @@
#define MODEL_ew_hisi 0x2
#define MODEL_ew_sai 0x1
#define MODEL_ew_yuka 0x0
#endif

View File

@ -1,3 +1,9 @@
#if VERSION_JP
#define COLLIDER_deili4 0x1C
#define COLLIDER_deili3 0x17
#define COLLIDER_deilie 0x12
#define COLLIDER_deiliw 0xD
#else
#define COLLIDER_Root 0x1F
#define COLLIDER_exit4 0x1E
#define COLLIDER_tt4 0x1D
@ -30,6 +36,7 @@
#define COLLIDER_kaidann 0x2
#define COLLIDER_k_sokumen2 0x1
#define COLLIDER_k_sokumen 0x0
#endif
#define ZONE_Root 0x4
#define ZONE_yuka 0x3

View File

@ -1,3 +1,8 @@
#if VERSION_JP
#define COLLIDER_tte 0xF
#define COLLIDER_ttw 0xA
#define COLLIDER_deiliw 0x9
#else
#define COLLIDER_Root 0x11
#define COLLIDER_exit 0x10
#define COLLIDER_e2 0xF
@ -16,6 +21,7 @@
#define COLLIDER_1_isi 0x2
#define COLLIDER_e1_sai 0x1
#define COLLIDER_e2_sai 0x0
#endif
#define ZONE_Root 0x5
#define ZONE_exit 0x4

View File

@ -1,3 +1,8 @@
#if VERSION_JP
#define COLLIDER_tte2 0x1A
#define COLLIDER_ttw 0x15
#define COLLIDER_tte1 0x10
#else
#define COLLIDER_Root 0x1C
#define COLLIDER_exit3 0x1B
#define COLLIDER_ne2 0x1A
@ -27,6 +32,7 @@
#define COLLIDER_kaidann 0x2
#define COLLIDER_o159 0x1
#define COLLIDER_o158 0x0
#endif
#define ZONE_Root 0x4
#define ZONE_g9 0x3

View File

@ -164,8 +164,8 @@ s32 BattleMessages[] = {
[BTL_MSG_NO_HAMMER_TARGET] MSG_Menus_Battle_NoTarget_Hammer,
[BTL_MSG_NO_ITEM_TARGET] MSG_Menus_Battle_NoTarget_Item,
#if VERSION_JP
[BTL_MSG_46] MSG_MENUS_00DB,
[BTL_MSG_47] MSG_MENUS_00DC,
[BTL_MSG_46] MSG_Menus_JP_00DB,
[BTL_MSG_47] MSG_Menus_JP_00DC,
#else
[BTL_MSG_46] MSG_NONE,
[BTL_MSG_47] MSG_NONE,

View File

@ -126,7 +126,11 @@ EvtScript N(EVS_Starfall_Directed) = {
#define LV_Dz LVarC
#define LV_Time LVarD
#define LV_SoundDelay LVarE
#if VERSION_JP
SetGroup(EVT_GROUP_00)
#else
SetGroup(EVT_GROUP_0B)
#endif
Set(LV_Time, 0)
Set(LV_SoundDelay, 0)
Label(0)

View File

@ -86,11 +86,15 @@ void N(UpdateIntroMessages)(IntroMessage** introMessageLists) {
if (opacity > 0) {
messageID = N(CurMessageList)->messageID;
if (messageID != 0) {
#if VERSION_JP
draw_msg(N(CurMessageList)->messageID, 0, 200, opacity, -1, 0);
#else
yOffset = 0;
if (get_msg_lines(messageID) >= 2) {
yOffset = -7;
}
draw_msg(N(CurMessageList)->messageID, 0, yOffset + 196, opacity, -1, 0);
#endif
}
}
}

View File

@ -134,7 +134,11 @@ EvtScript N(EVS_ControlTwink) = {
Call(SetNpcAnimation, NPC_Twink, ANIM_Twink_Back)
Call(SetNpcYaw, NPC_Twink, 180)
Call(N(AnimateBoomLengthPostHeist))
#if VERSION_JP
Wait(30 * DT)
#else
Wait(15 * DT)
#endif
Thread
Wait(10 * DT)
Call(InterpNpcYaw, NPC_Twink, 0, 0)
@ -189,6 +193,9 @@ EvtScript N(EVS_Intro_PreHeist_Unused) = {
End
};
// TODO: this has moved to starship.c in JP. This is a possible indication that
// file spitting in other versions might be off.
#if !VERSION_JP
#include "world/common/npc/StarSpirit.inc.c"
#include "world/common/npc/Twink.h"
@ -212,3 +219,4 @@ NpcGroupList N(DefaultNPCs) = {
NPC_GROUP(N(NpcData_Twink)),
{}
};
#endif

View File

@ -1,7 +1,21 @@
#include "hos_04.h"
EvtScript N(EVS_ExitWalk_hos_03_1) = EVT_EXIT_WALK(60, hos_04_ENTRY_0, "hos_03", hos_03_ENTRY_1);
#if VERSION_JP
EvtScript N(EVS_ExitWalk_hos_05_0) = {
SetGroup(EVT_GROUP_1B)
Call(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o162, COLLIDER_FLAGS_UPPER_MASK)
Call(UseExitHeading, 60, hos_04_ENTRY_1)
Exec(ExitWalk)
Call(GotoMap, Ref("hos_05"), hos_05_ENTRY_0)
Wait(100)
Return
End
};
#else
EvtScript N(EVS_ExitWalk_hos_05_0) = EVT_EXIT_WALK(60, hos_04_ENTRY_1, "hos_05", hos_05_ENTRY_0);
#endif
EvtScript N(EVS_BindExitTriggers) = {
BindTrigger(Ref(N(EVS_ExitWalk_hos_03_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilinw, 1, 0)
@ -17,8 +31,13 @@ EvtScript N(EVS_EnterMap) = {
CaseEq(hos_04_ENTRY_0)
Call(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilitnw, COLLIDER_FLAGS_UPPER_MASK)
IfEq(GF_HOS04_Visited, FALSE)
#if VERSION_JP
Call(SetPlayerPos, -630, 0, 0)
Call(SetNpcPos, NPC_PARTNER, -630, 0, 0)
#endif
Thread
Call(DisablePlayerInput, TRUE)
#if !VERSION_JP
Call(SetPlayerPos, -630, 0, 0)
Call(GetPartnerInUse, LVar0)
IfEq(LVar0, PARTNER_NONE)
@ -27,6 +46,7 @@ EvtScript N(EVS_EnterMap) = {
Wait(1)
Call(EnablePartnerAI)
EndIf
#endif
Call(UseSettingsFrom, CAM_DEFAULT, -565, 0, 0)
Call(SetPanTarget, CAM_DEFAULT, -565, 0, 0)
Call(SetCamDistance, CAM_DEFAULT, 1350)

View File

@ -5,11 +5,51 @@
#if VERSION_PAL
#define DURATION_INTRO_MSG (35)
#define DURATION_BLANK (73)
#elif VERSION_JP
#define DURATION_INTRO_MSG (50)
#define DURATION_BLANK (95)
#else
#define DURATION_INTRO_MSG (44)
#define DURATION_BLANK (89)
#endif
#if VERSION_JP
IntroMessage N(D_80241EFC_A321EC)[] = {
{ MSG_Intro_JP_0022, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0023, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0024, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage N(D_80241F1C_A3220C)[] = {
{ MSG_Intro_JP_0035, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0036, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0037, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage N(D_80241F3C_A3222C)[] = {
{ MSG_Intro_JP_0048, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0049, DURATION_INTRO_MSG },
{ MSG_Intro_JP_004A, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage N(D_80241F5C_A3224C)[] = {
{ MSG_Intro_JP_005B, DURATION_INTRO_MSG },
{ MSG_Intro_JP_005C, DURATION_INTRO_MSG },
{ MSG_Intro_JP_005D, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage* N(func_80241F7C_A3226C)[] = {
N(D_80241EFC_A321EC),
N(D_80241F1C_A3220C),
N(D_80241F3C_A3222C),
N(D_80241F5C_A3224C)
};
#endif
IntroMessage N(HeistMessageList)[] = {
{ INTRO_MSG_BLANK, DURATION_BLANK },
{ MSG_Intro_001B, DURATION_INTRO_MSG },
@ -25,6 +65,12 @@ IntroMessage* N(IntroMessages)[] = {
N(HeistMessageList),
};
#if VERSION_JP
void N(func_80240DC8_A310B8)(void) {
N(UpdateIntroMessages)(N(func_80241F7C_A3226C));
}
#endif
void N(curtain_callback_narration)(void) {
N(UpdateIntroMessages)(N(IntroMessages));
}
@ -32,6 +78,10 @@ void N(curtain_callback_narration)(void) {
EvtScript N(EVS_SetupNarrator) = {
Call(GetEntryID, LVar0)
Switch(LVar0)
#if VERSION_JP
CaseEq(hos_04_ENTRY_3)
Call(N(SetCurtainCallback), Ref(N(func_80240DC8_A310B8)))
#endif
CaseEq(hos_04_ENTRY_4)
Call(N(SetCurtainCallback), Ref(N(curtain_callback_narration)))
EndSwitch

View File

@ -20,6 +20,37 @@ API_CALLABLE(N(ScreenOverlayFadeIn)) {
}
}
// TODO: this was moved from the end of intro.c. This is a possible indication that
// file spitting in other versions might be off.
#if VERSION_JP
#include "world/common/npc/StarSpirit.inc.c"
#include "world/common/npc/Twink.h"
EvtScript N(EVS_NpcInit_Twink) = {
Return
End
};
NpcData N(NpcData_Twink) = {
.id = NPC_Twink,
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.init = &N(EVS_NpcInit_Twink),
.settings = &N(NpcSettings_StarSpirit),
.flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_FLYING,
.drops = NO_DROPS,
.animations = TWINK_ANIMS,
};
NpcGroupList N(DefaultNPCs) = {
NPC_GROUP(N(NpcData_Twink)),
{}
};
// TODO: required. File splitting?
u8 N(D_802422CC)[4] = { 0 };
#endif
EvtScript N(EVS_Starship_FlyingAway) = {
Call(DisablePlayerInput, TRUE)
Call(DisablePlayerPhysics, TRUE)

View File

@ -2046,7 +2046,9 @@ EvtScript N(EVS_Scene_IntroStory) = {
Call(SetNpcRotation, NPC_Bowser_Body, 0, LVar0, 0)
Wait(1)
EndLoop
#if !VERSION_JP
Call(SetNpcRotation, NPC_Bowser_Body, 0, 0, 0)
#endif
Call(InterpNpcYaw, NPC_Bowser_Body, 90, 0)
EndThread
Thread
@ -2519,7 +2521,11 @@ EvtScript N(EVS_Scene_IntroStory) = {
EndThread
Wait(10 * DT)
Call(N(AnimKammy_FlyOff))
#if VERSION_JP
Wait(28 * DT)
#else
Wait(20 * DT)
#endif
Call(N(ResumeIntro))
Return
End

View File

@ -196,11 +196,15 @@ EvtScript N(EVS_NpcInteract_Merlow) = {
Call(SetMessageText, LVar4, 0)
Call(SetMessageValue, LVar1, 1)
Call(SetMessageValue, LVar5, 2)
#if VERSION_JP
Call(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0052)
#else
IfEq(LVar1, 1)
Call(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0053)
Else
Call(SpeakToPlayer, NPC_Merlow, ANIM_Merlow_Talk, ANIM_Merlow_Idle, 0, MSG_HOS_0052)
EndIf
#endif
Set(LVar3, LVar0)
Call(ShowChoice, MSG_Choice_000D)
IfEq(LVar0, 1)

View File

@ -37,5 +37,8 @@ extern EvtScript N(EVS_Scene_SpiritsFlyingAway);
extern EvtScript N(EVS_Scene_RisingAboveClouds);
extern EvtScript N(EVS_Scene_UnusedWhiteScreen);
extern EvtScript N(EVS_Scene_PreTitle);
#if VERSION_JP
extern EvtScript N(EVS_SetupNarrator);
#endif
extern NpcGroupList N(NpcGroup_Descent);
extern NpcGroupList N(NpcGroup_FlyAway);

View File

@ -34,6 +34,9 @@ EvtScript N(EVS_Main) = {
Wait(30)
Exec(N(EVS_Scene_PreTitle))
EndSwitch
#if VERSION_JP
Exec(N(EVS_SetupNarrator))
#endif
Return
End
};

View File

@ -0,0 +1,70 @@
#include "hos_10.h"
#include "../common/Narrator.inc.c"
#define DURATION_INTRO_MSG (50)
IntroMessage N(D_80244BDC)[] = {
{ INTRO_MSG_BLANK, 155 },
{ MSG_Intro_JP_001E, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 5 },
{ MSG_Intro_JP_001F, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 30 },
{ MSG_Intro_JP_0020, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0021, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage N(D_80244C1C)[] = {
{ MSG_Intro_JP_006A, 155 },
{ MSG_Intro_JP_0031, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 5 },
{ MSG_Intro_JP_0032, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 30 },
{ MSG_Intro_JP_0033, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0034, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage N(D_80244C5C)[] = {
{ MSG_Intro_JP_006A, 155 },
{ MSG_Intro_JP_0044, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 5 },
{ MSG_Intro_JP_0045, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 30 },
{ MSG_Intro_JP_0046, DURATION_INTRO_MSG },
{ MSG_Intro_JP_0047, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage N(D_80244C9C)[] = {
{ MSG_Intro_JP_006A, 155 },
{ MSG_Intro_JP_0057, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 5 },
{ MSG_Intro_JP_0058, DURATION_INTRO_MSG },
{ MSG_Intro_JP_006A, 30 },
{ MSG_Intro_JP_0059, DURATION_INTRO_MSG },
{ MSG_Intro_JP_005A, DURATION_INTRO_MSG },
{}, // end of list
};
IntroMessage* N(IntroMessages)[] = {
N(D_80244BDC),
N(D_80244C1C),
N(D_80244C5C),
N(D_80244C9C)
};
void N(func_80240DEC)(void) {
N(UpdateIntroMessages)(N(IntroMessages));
}
EvtScript N(EVS_SetupNarrator) = {
Call(GetEntryID, LVar0)
Switch(LVar0)
CaseEq(hos_10_ENTRY_3)
Call(N(SetCurtainCallback), Ref(N(func_80240DEC)))
EndSwitch
Return
End
};

View File

@ -48,7 +48,7 @@ EvtScript N(EVS_UnkJP00) = {
End
};
EvtScript N(EVS_UnkJP01) = {
EvtScript N(EVS_Chest_ShowGotItem) = {
SetGroup(EVT_GROUP_00)
Call(SetTimeFreezeMode, TIME_FREEZE_FULL)
Wait(40)

View File

@ -9,7 +9,7 @@
#if VERSION_JP
#include "world/common/todo/SomeItemEntityFunc.inc.c"
#include "world/common/todo/IsItemBadge.inc.c"
#include "world/common/todo/UnkScriptJP00.inc.c"
#include "world/area_iwa/common/UnkScriptJP00.inc.c"
#endif
API_CALLABLE(N(func_80240118_90CD58)) {

View File

@ -9,7 +9,7 @@
#if VERSION_JP
#include "world/common/todo/SomeItemEntityFunc.inc.c"
#include "world/common/todo/IsItemBadge.inc.c"
#include "world/common/todo/UnkScriptJP00.inc.c"
#include "world/area_iwa/common/UnkScriptJP00.inc.c"
#endif
NpcData N(NpcData_Cleft_01) = {

View File

@ -8,7 +8,7 @@
#if VERSION_JP
#include "world/common/todo/SomeItemEntityFunc.inc.c"
#include "world/common/todo/IsItemBadge.inc.c"
#include "world/common/todo/UnkScriptJP00.inc.c"
#include "world/area_iwa/common/UnkScriptJP00.inc.c"
#endif
EvtScript N(EVS_NpcInteract_TrainToad_01) = {

View File

@ -377,7 +377,11 @@ EvtScript N(EVS_NpcInteract_Yoshi_03) = {
EvtScript N(EVS_NpcIdle_Yoshi_03) = {
Loop(0)
#if VERSION_JP
Call(NpcMoveTo, NPC_SELF, -100, -80, 50)
#else
Call(NpcMoveTo, NPC_SELF, -105, -20, 50)
#endif
Call(NpcMoveTo, NPC_SELF, -190, -80, 50)
EndLoop
Return
@ -548,7 +552,11 @@ EvtScript N(EVS_NpcInit_YoshiKid_04) = {
Call(RemoveNpc, NPC_SELF)
Return
Else
#if VERSION_JP
Call(SetNpcPos, NPC_SELF, -120, 0, -110)
#else
Call(SetNpcPos, NPC_SELF, -135, 0, -70)
#endif
Call(InterpNpcYaw, NPC_SELF, 270, 0)
Call(BindNpcIdle, NPC_SELF, Ref(N(EVS_NpcIdle_YoshiKid_04)))
EndIf
@ -1048,6 +1056,9 @@ NpcData N(NpcData_Ravens)[] = {
.flags = COMMON_PASSIVE_FLAGS | ENEMY_FLAG_NO_SHADOW_RAYCAST | ENEMY_FLAG_400000,
.drops = NO_DROPS,
.animations = RAVEN_ANIMS,
#if VERSION_JP
.tattle = MSG_NpcTattle_0121,
#endif
},
{
.id = NPC_Raven_03,

View File

@ -83,10 +83,15 @@ EvtScript N(EVS_Scene_Epilogue) = {
Call(SetNpcAnimation, NPC_YoshiKid_01, ANIM_YoshiKid_Green_Talk)
Call(SetNpcFlagBits, NPC_YoshiKid_03, NPC_FLAG_GRAVITY, TRUE)
Call(SetNpcPos, NPC_YoshiKid_03, -350, 0, 15)
#if VERSION_JP
Call(SetNpcSpeed, NPC_YoshiKid_03, Float(3.0))
Call(NpcMoveTo, NPC_YoshiKid_03, -100, 0, 15)
#else
Call(SetNpcAnimation, NPC_YoshiKid_03, ANIM_YoshiKid_Blue_Run)
Call(SetNpcSpeed, NPC_YoshiKid_03, Float(5.0))
Call(NpcMoveTo, NPC_YoshiKid_03, -100, 0, 0)
Call(SetNpcAnimation, NPC_YoshiKid_03, ANIM_YoshiKid_Blue_Idle)
#endif
ChildThread
Wait(20)
Call(SetNpcJumpscale, NPC_YoshiKid_03, Float(2.0))

View File

@ -147,7 +147,7 @@ EvtScript N(EVS_NpcIdle_PutridPiranha) = {
#if VERSION_PAL
Call(SetSelfEnemyFlagBits, ENEMY_FLAG_IGNORE_TOUCH, 1)
Call(SetSelfEnemyFlagBits, ENEMY_FLAG_IGNORE_PARTNER, 1)
#else
#elif VERSION_US || VERSION_IQUE
ChildThread
Loop(0)
Call(GetPlayerPos, LVar0, LVar1, LVar2)

View File

@ -305,7 +305,11 @@ NpcData N(NpcData_RaphaelRaven)[] = {
.anim_E = ANIM_Raven_Idle,
.anim_F = ANIM_Raven_Idle,
},
#if VERSION_JP
.tattle = MSG_NpcTattle_0121,
#else
.tattle = MSG_NpcTattle_RavenB,
#endif
},
{
.id = NPC_Raven_03,

View File

@ -1525,6 +1525,9 @@ NpcData N(NpcData_RaphaelRaven)[] = {
.flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION,
.drops = NO_DROPS,
.animations = RAVEN_ANIMS,
#if VERSION_JP
.tattle = MSG_NpcTattle_0121,
#endif
},
{
.id = NPC_Raven_03,

View File

@ -621,6 +621,9 @@ NpcData N(NpcData_Ravens)[] = {
.flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION,
.drops = NO_DROPS,
.animations = RAVEN_ANIMS,
#if VERSION_JP
.tattle = MSG_NpcTattle_0121,
#endif
},
{
.id = NPC_Raven_03,

View File

@ -142,6 +142,9 @@ EvtScript N(EVS_Scene_MarioConfrontsBowser) = {
Call(SetNpcVar, NPC_Bowser_Body, 0, 1)
Wait(10)
Thread
#if VERSION_JP
Call(DisablePartnerAI, 0)
#endif
Call(PlayerMoveTo, 580, 0, 25)
EndThread
Thread
@ -244,6 +247,7 @@ EvtScript N(EVS_Scene_BowserDefeated) = {
Call(DisablePartnerAI, 1)
Call(EnableGroup, MODEL_g153, FALSE)
Call(SetPlayerPos, 525, 0, 0)
#if !VERSION_JP
Call(PartnerIsFlying, LVar0)
IfEq(LVar0, FALSE)
Set(LVar1, 10)
@ -252,6 +256,7 @@ EvtScript N(EVS_Scene_BowserDefeated) = {
EndIf
Call(SetNpcPos, NPC_PARTNER, 490, LVar1, 0)
Call(SetNpcYaw, NPC_PARTNER, 90)
#endif
Call(SetNpcPos, NPC_Bowser_Body, 675, 0, 0)
Call(AdjustCam, CAM_DEFAULT, Float(90.0), 75, 450, Float(17.0), Float(-7.0))
Call(SetNpcAnimation, NPC_Bowser_Body, ANIM_WorldBowser_Tantrum)

View File

@ -125,8 +125,13 @@ MenuWindowBP N(IngredientWindows)[] = {
},
{
.windowID = WINDOW_ID_ITEM_INFO_DESC,
#if VERSION_JP
.pos = { 39, 184 },
.width = 242,
#else
.pos = { 32, 184 },
.width = 256,
#endif
.height = 32,
.priority = WINDOW_PRIORITY_0,
.fpDrawContents = &N(draw_content_ingredient_desc),

View File

@ -15,6 +15,9 @@ EvtScript N(EVS_EnterMap) = {
IfEq(GF_KKJ25_Visited, FALSE)
Call(DisablePlayerInput, TRUE)
Call(SetPlayerPos, -645, 0, 0)
#if VERSION_JP
Call(SetNpcPos, NPC_PARTNER, -645, 0, 0)
#else
Call(GetPartnerInUse, LVar0)
IfEq(LVar0, 0)
Call(DisablePartnerAI, 0)
@ -22,6 +25,7 @@ EvtScript N(EVS_EnterMap) = {
Wait(1)
Call(EnablePartnerAI)
EndIf
#endif
Wait(150)
Call(PlaySoundAtCollider, COLLIDER_ttw, SOUND_LARGE_DOOR_OPEN, 0)
Call(MakeLerp, 0, 80, 10, EASING_LINEAR)
@ -35,6 +39,9 @@ EvtScript N(EVS_EnterMap) = {
EndIf
EndLoop
Call(SetPlayerPos, -605, 0, 0)
#if VERSION_JP
Call(SetNpcPos, NPC_PARTNER, -605, 0, 0)
#endif
Call(DisablePlayerInput, FALSE)
Call(SetZoneEnabled, ZONE_o15, FALSE)
Call(ResetCam, CAM_DEFAULT, Float(90.0))

View File

@ -9,4 +9,7 @@ MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
#if VERSION_JP
.tattle = { MSG_MapTattle_018A },
#endif
};

View File

@ -8,4 +8,7 @@ MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
#if VERSION_JP
.tattle = { MSG_MapTattle_018B },
#endif
};

View File

@ -8,4 +8,7 @@ MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
#if VERSION_JP
.tattle = { MSG_MapTattle_018B },
#endif
};

View File

@ -5,11 +5,13 @@
EvtScript N(EVS_PushStatue_Impl) = {
Loop(20)
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar9, 0)
Return
EndIf
#endif
Call(N(UnkFunc11), 25)
IfEq(LVar0, 0)
Set(LVar9, 0)
@ -19,11 +21,13 @@ EvtScript N(EVS_PushStatue_Impl) = {
EndIf
Wait(1)
EndLoop
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar9, 0)
Return
EndIf
#endif
Call(DisablePlayerInput, TRUE)
Call(PlaySoundAtCollider, COLLIDER_o160, SOUND_LOOP_MOVE_STATUE, SOUND_SPACE_DEFAULT)
Thread
@ -48,7 +52,11 @@ EvtScript N(EVS_PushStatue_Impl) = {
Call(SetPlayerActionState, ACTION_STATE_PUSHING_BLOCK)
Call(GetPlayerPos, LVar0, LVar1, LVar2)
Set(LVar1, LVar0)
#if VERSION_JP
Add(LVar1, LVarA)
#else
Add(LVar1, LVarB)
#endif
Call(MakeLerp, LVar0, LVar1, 100, EASING_LINEAR)
Loop(0)
Call(SetPlayerActionState, ACTION_STATE_PUSHING_BLOCK)
@ -62,7 +70,11 @@ EvtScript N(EVS_PushStatue_Impl) = {
Call(SetPlayerActionState, ACTION_STATE_IDLE)
Call(DisablePlayerInput, FALSE)
EndThread
#if VERSION_JP
Call(MakeLerp, 0, LVarA, 100, EASING_LINEAR)
#else
Call(MakeLerp, 0, LVarB, 100, EASING_LINEAR)
#endif
Loop(0)
Call(UpdateLerp)
Call(TranslateGroup, MODEL_g20, LVar0, 0, 0)
@ -93,11 +105,19 @@ EvtScript N(EVS_PushStatue_FromRight) = {
EndIf
IfGe(LVar0, 0)
Set(LVar9, 1)
#if VERSION_JP
Set(LVarA, -50)
#else
Set(LVarB, -50)
#endif
ExecWait(N(EVS_PushStatue_Impl))
Else
Set(LVar9, 2)
#if VERSION_JP
Set(LVarA, 50)
#else
Set(LVarB, 50)
#endif
ExecWait(N(EVS_PushStatue_Impl))
EndIf
Set(GB_KPA04_StatuePosition, LVar9)

View File

@ -27,7 +27,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, -50, 0, 15, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 15, 100)
Call(N(ElevatePlayer), COLLIDER_o19, 100)
Call(TranslateGroup, MODEL_move, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o19)
Wait(1)
@ -40,7 +40,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, 0, -50, 20, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 15, 100)
Call(N(ElevatePlayer), COLLIDER_o19, 100)
Call(TranslateGroup, MODEL_move, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o19)
Wait(1)
@ -56,7 +56,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, -99, 0, 15, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 17, 100)
Call(N(ElevatePlayer), COLLIDER_o90, 100)
Call(TranslateGroup, MODEL_move2, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o90)
Wait(1)
@ -70,7 +70,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, 0, -99, 15, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 17, 100)
Call(N(ElevatePlayer), COLLIDER_o90, 100)
Call(TranslateGroup, MODEL_move2, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o90)
Wait(1)

View File

@ -27,7 +27,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, -50, 0, 15, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 16, 100)
Call(N(ElevatePlayer), COLLIDER_o19, 100)
Call(TranslateGroup, MODEL_move, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o19)
Wait(1)
@ -40,7 +40,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, 0, -50, 15, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 16, 100)
Call(N(ElevatePlayer), COLLIDER_o19, 100)
Call(TranslateGroup, MODEL_move, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o19)
Wait(1)
@ -57,7 +57,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, -50, 0, 15, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 18, 100)
Call(N(ElevatePlayer), COLLIDER_o106, 100)
Call(TranslateGroup, MODEL_move2, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o106)
Wait(1)
@ -71,7 +71,7 @@ EvtScript N(EVS_ActivateSwitch) = {
Call(MakeLerp, 0, -50, 15, EASING_COS_IN_OUT)
Loop(0)
Call(UpdateLerp)
Call(N(ElevatePlayer), 18, 100)
Call(N(ElevatePlayer), COLLIDER_o106, 100)
Call(TranslateGroup, MODEL_move2, 0, LVar0, 0)
Call(UpdateColliderTransform, COLLIDER_o106)
Wait(1)

View File

@ -5,7 +5,11 @@
NpcData N(NpcData_Prisoners)[] = {
{
.id = NPC_Toad_01,
#if VERSION_JP
.pos = { 840.0f, 30.0f, -260.0f },
#else
.pos = { 845.0f, 30.0f, -285.0f },
#endif
.yaw = 0,
.settings = &N(NpcSettings_Toad_Stationary),
.flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_FLYING | ENEMY_FLAG_NO_SHADOW_RAYCAST,
@ -15,7 +19,11 @@ NpcData N(NpcData_Prisoners)[] = {
},
{
.id = NPC_Toad_02,
#if VERSION_JP
.pos = { 870.0f, 30.0f, -310.0f },
#else
.pos = { 872.0f, 30.0f, -315.0f },
#endif
.yaw = 0,
.settings = &N(NpcSettings_Toad_Stationary),
.flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_FLYING | ENEMY_FLAG_NO_SHADOW_RAYCAST,
@ -25,7 +33,11 @@ NpcData N(NpcData_Prisoners)[] = {
},
{
.id = NPC_ToadGuard,
#if VERSION_JP
.pos = { 900.0f, 30.0f, -260.0f },
#else
.pos = { 900.0f, 30.0f, -285.0f },
#endif
.yaw = 0,
.settings = &N(NpcSettings_Toad_Stationary),
.flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | ENEMY_FLAG_FLYING | ENEMY_FLAG_NO_SHADOW_RAYCAST,

View File

@ -64,7 +64,11 @@ EvtScript N(EVS_NpcInit_Prisoner) = {
NpcData N(NpcData_Prisoners)[] = {
{
.id = NPC_Toad_01,
#if VERSION_JP
.pos = { 840.0f, 30.0f, -260.0f },
#else
.pos = { 845.0f, 30.0f, -285.0f },
#endif
.yaw = 0,
.init = &N(EVS_NpcInit_Prisoner),
.settings = &N(NpcSettings_Toad_Stationary),
@ -75,7 +79,11 @@ NpcData N(NpcData_Prisoners)[] = {
},
{
.id = NPC_Toad_02,
#if VERSION_JP
.pos = { 870.0f, 30.0f, -310.0f },
#else
.pos = { 872.0f, 30.0f, -315.0f },
#endif
.yaw = 0,
.init = &N(EVS_NpcInit_Prisoner),
.settings = &N(NpcSettings_Toad_Stationary),
@ -86,7 +94,11 @@ NpcData N(NpcData_Prisoners)[] = {
},
{
.id = NPC_ToadGuard,
#if VERSION_JP
.pos = { 900.0f, 30.0f, -260.0f },
#else
.pos = { 900.0f, 30.0f, -285.0f },
#endif
.yaw = 0,
.init = &N(EVS_NpcInit_Prisoner),
.settings = &N(NpcSettings_Toad_Stationary),

View File

@ -4,13 +4,17 @@
#include "world/common/todo/UnkFunc12.inc.c"
EvtScript N(EVS_PushRightStatue_Impl) = {
#if !VERSION_JP
SetGroup(EVT_GROUP_00)
#endif
Loop(20)
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar8, -1)
Return
EndIf
#endif
Call(N(UnkFunc11), LVar9)
IfEq(LVar0, 0)
Set(LVar8, -1)
@ -20,11 +24,13 @@ EvtScript N(EVS_PushRightStatue_Impl) = {
EndIf
Wait(1)
EndLoop
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar8, -1)
Return
EndIf
#endif
Call(DisablePlayerInput, TRUE)
Thread
Call(ShakeCam, CAM_DEFAULT, 0, 100, Float(0.6))

View File

@ -4,13 +4,17 @@
#include "world/common/todo/UnkFunc12.inc.c"
EvtScript N(EVS_PushLeftStatue_Impl) = {
#if !VERSION_JP
SetGroup(EVT_GROUP_00)
#endif
Loop(20)
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar8, -1)
Return
EndIf
#endif
Call(N(UnkFunc11), LVar9)
IfEq(LVar0, 0)
Set(LVar8, -1)
@ -20,11 +24,13 @@ EvtScript N(EVS_PushLeftStatue_Impl) = {
EndIf
Wait(1)
EndLoop
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar8, -1)
Return
EndIf
#endif
Call(DisablePlayerInput, TRUE)
Call(SetPlayerActionState, ACTION_STATE_PUSHING_BLOCK)
Thread

View File

@ -4,13 +4,17 @@
#include "world/common/todo/UnkFunc12.inc.c"
EvtScript N(EVS_PushMiddleStatue_Impl) = {
#if !VERSION_JP
SetGroup(EVT_GROUP_00)
#endif
Loop(20)
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar8, -1)
Return
EndIf
#endif
Call(N(UnkFunc11), LVar9)
IfEq(LVar0, 0)
Set(LVar8, -1)
@ -20,11 +24,13 @@ EvtScript N(EVS_PushMiddleStatue_Impl) = {
EndIf
Wait(1)
EndLoop
#if !VERSION_JP
Call(GetPartnerInUse, LVarA)
IfNe(LVarA, 0)
Set(LVar8, -1)
Return
EndIf
#endif
Call(DisablePlayerInput, TRUE)
Thread
Call(ShakeCam, CAM_DEFAULT, 0, 100, Float(0.6))

View File

@ -119,8 +119,10 @@ EvtScript N(EVS_SetupPlatforms) = {
Wait(1)
Goto(12)
EndIf
#if !VERSION_JP
Wait(20)
Call(ShakeCam, CAM_DEFAULT, 0, 30, Float(0.5))
#endif
Set(GF_KPA13_BlueSwitchB, TRUE)
EndIf
Set(LVar0, 75)

View File

@ -1,5 +1,15 @@
#include "kpa_15.h"
#if VERSION_JP
s32 N(get_tattle)(void) {
if (!evt_get_variable(NULL, GF_KPA16_ShutOffLava)) {
return MSG_MapTattle_kpa_15_before;
} else {
return MSG_MapTattle_kpa_15_after;
}
}
#endif
EntryList N(Entrances) = {
[kpa_15_ENTRY_0] { 12.0, 0.0, -97.0, 90.0 },
};
@ -8,5 +18,9 @@ MapSettings N(settings) = {
.main = &N(EVS_Main),
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
#if VERSION_JP
.tattle = { .get = &N(get_tattle) },
#else
.tattle = { MSG_MapTattle_kpa_15 },
#endif
};

View File

@ -101,7 +101,9 @@ EvtScript N(EVS_NpcIdle_Door) = {
Goto(100)
EndIf
Call(DisablePlayerInput, TRUE)
#if !VERSION_JP
ExecWait(N(EVS_EnsurePartnerNeutral))
#endif
Call(SpeakToPlayer, NPC_SELF, ANIM_Toad_Red_Idle, ANIM_Toad_Red_Idle, 0, MSG_CH8_0004)
Call(DisablePlayerInput, FALSE)
Call(AwaitPlayerApproach, 120, 150, 30)
@ -115,7 +117,9 @@ EvtScript N(EVS_NpcIdle_Door) = {
EndIf
Label(2)
Call(DisablePlayerInput, TRUE)
#if !VERSION_JP
ExecWait(N(EVS_EnsurePartnerNeutral))
#endif
Call(SpeakToPlayer, NPC_SELF, ANIM_Toad_Red_Idle, ANIM_Toad_Red_Idle, 0, MSG_CH8_0001)
Call(ShowChoice, MSG_Choice_0013)
IfEq(LVar0, 0)

View File

@ -162,6 +162,15 @@ EvtScript N(EVS_SetCam_ViewRoom) = {
};
EvtScript N(EVS_SetCam_BeforeBattle) = {
#if VERSION_JP
Call(UseSettingsFrom, CAM_DEFAULT, LVar3, LVar4, LVar5)
Call(SetCamSpeed, CAM_DEFAULT, LVar6)
Call(SetCamPitch, CAM_DEFAULT, Float(16.5), Float(-9.0))
Call(SetCamDistance, CAM_DEFAULT, Float(445.0))
Call(SetPanTarget, CAM_DEFAULT, LVar3, LVar4, LVar5)
Call(WaitForCam, CAM_DEFAULT, Float(1.0))
Wait(20)
#else
Call(SetCamType, CAM_DEFAULT, 4, FALSE)
Call(SetCamSpeed, CAM_DEFAULT, LVar6)
Call(SetCamDistance, CAM_DEFAULT, Float(470.0))
@ -171,6 +180,7 @@ EvtScript N(EVS_SetCam_BeforeBattle) = {
Call(SetCamPosC, CAM_DEFAULT, Float(0.0), Float(0.0))
Call(PanToTarget, CAM_DEFAULT, 0, 1)
Call(WaitForCam, CAM_DEFAULT, Float(1.0))
#endif
Return
End
};

View File

@ -66,11 +66,13 @@ EvtScript N(EVS_NpcIdle_JrTroopa) = {
Goto(10)
EndIf
Call(DisablePlayerInput, TRUE)
#if !VERSION_JP
Call(GetPartnerInUse, LVar0)
IfNe(LVar0, PARTNER_NONE)
Call(InterruptUsePartner)
Wait(20)
EndIf
#endif
ExecWait(N(EVS_JrTroopaMusic))
Call(GetPlayerPos, LVar1, LVar2, LVar3)
Call(GetEntryID, LVar0)

View File

@ -39,6 +39,7 @@ enum {
AF_NOK_11 = AreaFlag(17),
AF_NOK_12 = AreaFlag(18),
AF_NOK_13 = AreaFlag(19),
AF_NOK_14 = AreaFlag(20),
AF_NOK_15 = AreaFlag(21),
};

View File

@ -405,6 +405,10 @@ EvtScript N(EVS_NpcInteract_RelaxedKoopa) = {
Call(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0026)
CaseEq(3)
Call(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0027)
#if VERSION_JP
CaseEq(4)
Call(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0137)
#endif
EndSwitch
Return
End

View File

@ -1,5 +1,15 @@
#include "nok_02.h"
#if VERSION_JP
EvtScript N(EVS_80246E20_9E7260) = {
Call(DisablePlayerInput, TRUE)
Call(ShowMessageAtScreenPos, MSG_CH1_0138, 160, 40)
Call(DisablePlayerInput, FALSE)
Return
End
};
#endif
EvtScript N(EVS_Setup_Bookshelf) = {
Call(DisablePlayerInput, TRUE)
Call(ShowMessageAtScreenPos, MSG_CH1_00A1, 160, 40)

View File

@ -296,7 +296,15 @@ EvtScript N(EVS_NpcIdle_KentCKoopa_01) = {
Else
Set(LVar0, -20)
EndIf
#if VERSION_JP
IfEq(AF_NOK_14, 0)
Call(SpeakToPlayer, NPC_KentCKoopa_02, ANIM_KentCKoopa_Anim02, ANIM_KentCKoopa_Anim01, 0, MSG_CH1_0136)
Else
Call(SpeakToPlayer, NPC_KentCKoopa_02, ANIM_KentCKoopa_Anim02, ANIM_KentCKoopa_Anim01, 0, MSG_CH1_0139)
EndIf
#else
Call(SpeakToPlayer, NPC_KentCKoopa_02, ANIM_KentCKoopa_Anim02, ANIM_KentCKoopa_Anim01, 0, MSG_CH1_0136)
#endif
Call(SetNpcAnimation, NPC_KentCKoopa_02, ANIM_KentCKoopa_Anim05)
IfEq(AB_NOK_2, 0)
Set(LVar0, 90)

View File

@ -1112,6 +1112,14 @@ EvtScript N(EVS_NpcInteract_GuardBoo) = {
Else
Call(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0038)
EndIf
#if VERSION_JP
CaseEq(STORY_CH3_GOT_WEIGHT)
Call(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0105)
ExecWait(N(EVS_GuardBooVanish))
CaseGe(STORY_CH3_WEIGHED_DOWN_CHANDELIER)
Call(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0106)
ExecWait(N(EVS_GuardBooVanish))
#endif
EndSwitch
Return
End

View File

@ -13,4 +13,7 @@ MapSettings N(settings) = {
.entryList = &N(Entrances),
.entryCount = ENTRY_COUNT(N(Entrances)),
.background = &gBackgroundImage,
#if VERSION_JP
.tattle = { MSG_MapTattle_0189 },
#endif
};

View File

@ -45,7 +45,9 @@ BombTrigger N(BombPos_CellWall) = {
};
EvtScript N(EVS_BombWall_Cell) = {
#if !VERSION_JP
Call(SetPlayerFlagBits, PS_FLAG_NO_CHANGE_PARTNER | PS_FLAG_NO_PARTNER_USAGE, TRUE)
#endif
PlayEffect(EFFECT_BOMBETTE_BREAKING, 0, 19, 19, 1, 10, 30)
Call(SetGroupVisibility, MODEL_ana, MODEL_GROUP_VISIBLE)
Loop(10)
@ -93,7 +95,9 @@ EvtScript N(EVS_BombWall_Cell) = {
Call(InterpNpcYaw, NPC_PARTNER, 270, 0)
Wait(10 * DT)
Call(SpeakToPlayer, NPC_PARTNER, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, MSG_CH1_00E3)
#if !VERSION_JP
Call(SetPlayerFlagBits, PS_FLAG_NO_CHANGE_PARTNER | PS_FLAG_NO_PARTNER_USAGE, FALSE)
#endif
Call(EnablePartnerAI)
Call(DisablePlayerInput, FALSE)
Thread

View File

@ -228,6 +228,30 @@ EvtScript N(EVS_NpcDefeat_KoopaTroopa) = {
Set(GB_StoryProgress, STORY_CH1_DEFEATED_DUNGEON_GUARDS)
Call(DoNpcDefeat)
CaseEq(OUTCOME_PLAYER_LOST)
#if VERSION_JP
CaseEq(OUTCOME_PLAYER_FLED)
Call(DisablePlayerInput, TRUE)
Call(SetPlayerAnimation, ANIM_Mario1_Run)
Call(PlayerMoveTo, 82, 264, 20)
Call(SetPlayerAnimation, ANIM_Mario1_Idle)
Call(SpeakToPlayer, NPC_Jailer_KoopaTroopa, ANIM_KoopaTroopa_Run, ANIM_KoopaTroopa_Idle, 0, MSG_CH1_013A)
Thread
Label(10)
Call(GetPlayerPos, LVar0, LVar1, LVar2)
Wait(1)
IfLt(LVar2, 200)
Goto(10)
EndIf
IfGt(LVar0, -120)
Goto(10)
EndIf
Call(DisablePlayerInput, TRUE)
Call(SpeakToPlayer, NPC_Jailer_KoopaTroopa, ANIM_KoopaTroopa_Run, ANIM_KoopaTroopa_Idle, 0, MSG_CH1_013B)
Call(DisablePlayerInput, FALSE)
Call(StartBossBattle, SONG_SPECIAL_BATTLE)
EndThread
Call(DisablePlayerInput, FALSE)
#endif
EndSwitch
Return
End

View File

@ -25,7 +25,9 @@ NpcSettings N(NpcSettings_KoopaWithoutShell_Patrol) = {
.actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER,
};
s32 N(missing_80246F94_6F94)[] = {
0x00000000, 0x002A0018, 0x00000000, 0x00000000, 0x80246F48, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00630000,
NpcSettings N(missing_80246F94_6F94) = {
.height = 42,
.radius = 24,
.level = ACTOR_LEVEL_NONE,
.ai = &N(EVS_NpcAI_KoopaWithoutShell_Patrol),
};

View File

@ -6,8 +6,12 @@ API_CALLABLE(N(UnkFunc11)) {
PlayerStatus* playerStatus = &gPlayerStatus;
CollisionStatus* collisionStatus = &gCollisionStatus;
#if VERSION_JP
if (collisionStatus->pushingAgainstWall != pushableColliderID && playerStatus->actionState == ACTION_STATE_PUSHING_BLOCK) {
#else
if ((collisionStatus->pushingAgainstWall != pushableColliderID && playerStatus->actionState == ACTION_STATE_PUSHING_BLOCK) ||
playerStatus->enableCollisionOverlapsCheck || playerStatus->inputDisabledCount != 0) {
#endif
set_action_state(ACTION_STATE_IDLE);
script->varTable[0] = 0;
return ApiStatus_DONE2;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4744,6 +4744,15 @@ D_80241D00 = 0x80241D00; // rom:0x909690
kmr_22_lava_piranha_vine_gfx = 0x80241F00; // rom:0x909890
iwa_01_splash_img = 0x802439C0; // type:func rom:0x91B910
iwa_01_splash_gfx = 0x80243E00; // type:func rom:0x91BD50
dro_02_card = 0x802475A0; // segment:dro_02 rom:0x979AA0
dro_02_card_pal = 0x802477A0; // segment:dro_02 rom:0x979CA0
dro_02_card_1_vtx = 0x802477C0; // segment:dro_02 rom:0x979CC0 size:0x80
dro_02_card_2_vtx = 0x80247840; // segment:dro_02 rom:0x979D40 size:0x40
dro_02_card_setup_gfx = 0x80247880; // rom:0x979D80
dro_02_card_1_gfx = 0x80247970; // rom:0x979E70
dro_02_card_2_gfx = 0x802479F0; // rom:0x979EF0
tst_13_shockwave_vtx = 0x802422B0; // rom:0xB28EA0 segment:tst_13 size:0x5B0
tst_13_shockwave_gfx = 0x80242860; // rom:0xB29450 segment:tst_13
inspect_icon_img = 0x802B7A20; // rom:0xE299C0
inspect_icon_gfx = 0x802B7C40; // rom:0xE29BE0

View File

@ -1,3 +1,5 @@
fx_sun_undeclared = fx_sun;
// boot
D_A0000000 = 0xA0000000;
D_A4000000 = 0xA4000000;
@ -75,216 +77,6 @@ gFrameBuf1 = 0x803B5000;
heap_battleHead = 0x803DA800;
gFrameBuf2 = 0x803DA800;
dro_01_settings = 0x80243B70; // segment:dro_01
dro_02_settings = 0x80243AB0; // segment:dro_02
isk_01_settings = 0x80240020; // segment:isk_01
isk_02_settings = 0x80240140; // segment:isk_02
isk_03_settings = 0x80240030; // segment:isk_03
isk_04_settings = 0x80240AD0; // segment:isk_04
isk_05_settings = 0x80241ED0; // segment:isk_05
isk_06_settings = 0x80240020; // segment:isk_06
isk_07_settings = 0x80240130; // segment:isk_07
isk_08_settings = 0x80240930; // segment:isk_08
isk_09_settings = 0x80240340; // segment:isk_09
isk_10_settings = 0x80240DE0; // segment:isk_10
isk_11_settings = 0x802401A0; // segment:isk_11
isk_12_settings = 0x80240040; // segment:isk_12
isk_13_settings = 0x80242080; // segment:isk_13
isk_14_settings = 0x80241D70; // segment:isk_14
isk_16_settings = 0x80240B20; // segment:isk_16
isk_18_settings = 0x80240910; // segment:isk_18
isk_19_settings = 0x80240020; // segment:isk_19
trd_00_settings = 0x80240690; // segment:trd_00
trd_01_settings = 0x80241700; // segment:trd_01
trd_02_settings = 0x80241AA0; // segment:trd_02
trd_03_settings = 0x80240A40; // segment:trd_03
trd_04_settings = 0x80243900; // segment:trd_04
trd_05_settings = 0x802407B0; // segment:trd_05
trd_06_settings = 0x80240D60; // segment:trd_06
trd_07_settings = 0x80242910; // segment:trd_07
trd_08_settings = 0x80240A30; // segment:trd_08
trd_09_settings = 0x80240200; // segment:trd_09
trd_10_settings = 0x80240870; // segment:trd_10
nok_01_settings = 0x80242B90; // segment:nok_01
nok_02_settings = 0x802445F0; // segment:nok_02
nok_03_settings = 0x80240E40; // segment:nok_03
nok_04_settings = 0x80240F40; // segment:nok_04
nok_11_settings = 0x80241F70; // segment:nok_11
nok_12_settings = 0x80242100; // segment:nok_12
nok_13_settings = 0x802414C0; // segment:nok_13
nok_14_settings = 0x80242440; // segment:nok_14
nok_15_settings = 0x802427D0; // segment:nok_15
hos_00_settings = 0x80240D50; // segment:hos_00
hos_00_map_init = 0x80240000; // segment:hos_00
hos_01_settings = 0x80240E40; // segment:hos_01
hos_02_settings = 0x80242B90; // segment:hos_02
hos_03_settings = 0x802435F0; // segment:hos_03
hos_04_settings = 0x80240ED0; // segment:hos_04
hos_05_settings = 0x802458D0; // segment:hos_05
hos_06_settings = 0x80242570; // segment:hos_06
hos_10_settings = 0x80240F70; // segment:hos_10
hos_10_map_init = 0x80240000; // segment:hos_10
hos_20_settings = 0x80240390; // segment:hos_20
kpa_01_settings = 0x80240A70; // segment:kpa_01
kpa_03_settings = 0x80241EE0; // segment:kpa_03
kpa_04_settings = 0x80240170; // segment:kpa_04
kpa_08_settings = 0x802414C0; // segment:kpa_08
kpa_09_settings = 0x80241310; // segment:kpa_09
kpa_10_settings = 0x80240360; // segment:kpa_10
kpa_11_settings = 0x80240B40; // segment:kpa_11
kpa_12_settings = 0x802404A0; // segment:kpa_12
kpa_13_settings = 0x802404A0; // segment:kpa_13
kpa_14_settings = 0x802408A0; // segment:kpa_14
kpa_15_settings = 0x80240620; // segment:kpa_15
kpa_16_settings = 0x802403B0; // segment:kpa_16
kpa_17_settings = 0x80240020; // segment:kpa_17
kpa_32_settings = 0x80240350; // segment:kpa_32
kpa_33_settings = 0x80240350; // segment:kpa_33
kpa_40_settings = 0x80240040; // segment:kpa_40
kpa_41_settings = 0x80240040; // segment:kpa_41
kpa_50_settings = 0x80241A40; // segment:kpa_50
kpa_51_settings = 0x80241C40; // segment:kpa_51
kpa_51_map_init = 0x80240000; // segment:kpa_51
kpa_52_settings = 0x80241360; // segment:kpa_52
kpa_53_settings = 0x80240190; // segment:kpa_53
kpa_53_map_init = 0x80240000; // segment:kpa_53
kpa_60_settings = 0x80240450; // segment:kpa_60
kpa_61_settings = 0x80242360; // segment:kpa_61
kpa_62_settings = 0x80240430; // segment:kpa_62
kpa_63_settings = 0x802401B0; // segment:kpa_63
kpa_70_settings = 0x80240B10; // segment:kpa_70
kpa_81_settings = 0x80240480; // segment:kpa_81
kpa_81_map_init = 0x80240000; // segment:kpa_81
kpa_82_settings = 0x80240460; // segment:kpa_82
kpa_82_map_init = 0x80240000; // segment:kpa_82
kpa_83_settings = 0x80240090; // segment:kpa_83
kpa_83_map_init = 0x80240000; // segment:kpa_83
kpa_90_settings = 0x80240020; // segment:kpa_90
kpa_91_settings = 0x80241920; // segment:kpa_91
kpa_94_settings = 0x80240020; // segment:kpa_94
kpa_95_settings = 0x80241920; // segment:kpa_95
kpa_96_settings = 0x80240040; // segment:kpa_96
kpa_100_settings = 0x80240060; // segment:kpa_100
kpa_100_map_init = 0x80240000; // segment:kpa_100
kpa_101_settings = 0x80240060; // segment:kpa_101
kpa_101_map_init = 0x80240000; // segment:kpa_101
kpa_102_settings = 0x802435B0; // segment:kpa_102
kpa_111_settings = 0x802413C0; // segment:kpa_111
kpa_112_settings = 0x80240020; // segment:kpa_112
kpa_113_settings = 0x80240AB0; // segment:kpa_113
kpa_114_settings = 0x80240070; // segment:kpa_114
kpa_114_map_init = 0x80240000; // segment:kpa_114
kpa_115_settings = 0x802413D0; // segment:kpa_115
kpa_116_settings = 0x80240020; // segment:kpa_116
kpa_117_settings = 0x80240010; // segment:kpa_117
kpa_118_settings = 0x80240020; // segment:kpa_118
kpa_119_settings = 0x80240010; // segment:kpa_119
kpa_121_settings = 0x80240020; // segment:kpa_121
kpa_130_settings = 0x80240760; // segment:kpa_130
kpa_133_settings = 0x802404B0; // segment:kpa_133
kpa_134_settings = 0x80240740; // segment:kpa_134
osr_00_settings = 0x802407E0; // segment:osr_00
osr_01_settings = 0x80240B00; // segment:osr_01
osr_01_map_init = 0x80240000; // segment:osr_01
osr_02_settings = 0x80240170; // segment:osr_02
osr_02_map_init = 0x80240000; // segment:osr_02
osr_03_settings = 0x802403F0; // segment:osr_03
osr_03_map_init = 0x80240000; // segment:osr_03
osr_04_settings = 0x802400D0; // segment:osr_04
osr_04_map_init = 0x80240000; // segment:osr_04
kkj_00_settings = 0x80241030; // segment:kkj_00
kkj_00_map_init = 0x80240000; // segment:kkj_00
kkj_01_settings = 0x80240F10; // segment:kkj_01
kkj_02_settings = 0x80240030; // segment:kkj_02
kkj_03_settings = 0x80240360; // segment:kkj_03
kkj_03_map_init = 0x80240000; // segment:kkj_03
kkj_10_settings = 0x80241120; // segment:kkj_10
kkj_11_settings = 0x80241160; // segment:kkj_11
kkj_12_settings = 0x802408D0; // segment:kkj_12
kkj_13_settings = 0x802407A0; // segment:kkj_13
kkj_13_map_init = 0x80240000; // segment:kkj_13
kkj_14_settings = 0x80240580; // segment:kkj_14
kkj_14_map_init = 0x80240000; // segment:kkj_14
kkj_15_settings = 0x80240640; // segment:kkj_15
kkj_16_settings = 0x80241090; // segment:kkj_16
kkj_17_settings = 0x802405B0; // segment:kkj_17
kkj_18_settings = 0x80240830; // segment:kkj_18
kkj_19_settings = 0x80240D20; // segment:kkj_19
kkj_20_settings = 0x80240600; // segment:kkj_20
kkj_21_settings = 0x80240010; // segment:kkj_21
kkj_22_settings = 0x80240020; // segment:kkj_22
kkj_23_settings = 0x802409F0; // segment:kkj_23
kkj_23_map_init = 0x80240000; // segment:kkj_23
kkj_24_settings = 0x80240040; // segment:kkj_24
kkj_25_settings = 0x80240F50; // segment:kkj_25
kkj_25_map_init = 0x80240000; // segment:kkj_25
kkj_26_settings = 0x80240070; // segment:kkj_26
kkj_27_settings = 0x802404C0; // segment:kkj_27
kkj_28_settings = 0x80240010; // segment:kkj_28
kkj_29_settings = 0x80240080; // segment:kkj_29
tst_01_settings = 0x802400B0; // segment:tst_01
tst_02_settings = 0x802400B0; // segment:tst_02
tst_03_settings = 0x802400B0; // segment:tst_03
tst_04_settings = 0x80240740; // segment:tst_04
tst_10_settings = 0x80240040; // segment:tst_10
tst_11_settings = 0x80240780; // segment:tst_11
tst_12_settings = 0x80240010; // segment:tst_12
tst_13_settings = 0x802403D0; // segment:tst_13
tst_20_settings = 0x80240010; // segment:tst_20
jan_00_settings = 0x80241BD0; // segment:jan_00
jan_01_settings = 0x802413F0; // segment:jan_01
jan_02_settings = 0x80242940; // segment:jan_02
jan_03_settings = 0x802432D0; // segment:jan_03
jan_04_settings = 0x80241140; // segment:jan_04
jan_05_settings = 0x80242710; // segment:jan_05
jan_06_settings = 0x80242620; // segment:jan_06
jan_07_settings = 0x80241230; // segment:jan_07
jan_08_settings = 0x80242460; // segment:jan_08
jan_09_settings = 0x80241960; // segment:jan_09
jan_10_settings = 0x80241750; // segment:jan_10
jan_11_settings = 0x80240810; // segment:jan_11
jan_12_settings = 0x80241280; // segment:jan_12
jan_13_settings = 0x802405F0; // segment:jan_13
jan_14_settings = 0x80241300; // segment:jan_14
jan_15_settings = 0x80240320; // segment:jan_15
jan_16_settings = 0x80240590; // segment:jan_16
jan_17_settings = 0x80240040; // segment:jan_17
jan_18_settings = 0x80240020; // segment:jan_18
jan_19_settings = 0x80240040; // segment:jan_19
jan_22_settings = 0x802419A0; // segment:jan_22
jan_23_settings = 0x80240010; // segment:jan_23
mim_01_settings = 0x80241EF0; // segment:mim_01
mim_02_settings = 0x80241220; // segment:mim_02
mim_03_settings = 0x80240570; // segment:mim_03
mim_04_settings = 0x80241170; // segment:mim_04
mim_05_settings = 0x80241A60; // segment:mim_05
mim_06_settings = 0x80242D70; // segment:mim_06
mim_07_settings = 0x802410D0; // segment:mim_07
mim_08_settings = 0x80242F80; // segment:mim_08
mim_09_settings = 0x80240F00; // segment:mim_09
mim_10_settings = 0x802401B0; // segment:mim_10
mim_11_settings = 0x80240C20; // segment:mim_11
mim_12_settings = 0x80240600; // segment:mim_12
obk_01_settings = 0x802411B0; // segment:obk_01
obk_02_settings = 0x802402E0; // segment:obk_02
obk_03_settings = 0x80241020; // segment:obk_03
obk_04_settings = 0x80240E90; // segment:obk_04
obk_05_settings = 0x802409F0; // segment:obk_05
obk_06_settings = 0x80240020; // segment:obk_06
obk_07_settings = 0x80241BA0; // segment:obk_07
obk_08_settings = 0x802417B0; // segment:obk_08
obk_09_settings = 0x80240460; // segment:obk_09
arn_02_settings = 0x80241000; // segment:arn_02
arn_03_settings = 0x80241740; // segment:arn_03
arn_04_settings = 0x80243390; // segment:arn_04
arn_05_settings = 0x80241320; // segment:arn_05
arn_07_settings = 0x80241ED0; // segment:arn_07
arn_08_settings = 0x802402C0; // segment:arn_08
arn_09_settings = 0x80240060; // segment:arn_09
arn_10_settings = 0x80240020; // segment:arn_10
arn_11_settings = 0x80240010; // segment:arn_11
arn_12_settings = 0x80240020; // segment:arn_12
arn_13_settings = 0x80240020; // segment:arn_13
dgb_00_settings = 0x802400D0; // segment:dgb_00
dgb_00_map_init = 0x80240000; // segment:dgb_00
dgb_01_settings = 0x80243460; // segment:dgb_01