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

This commit is contained in:
mrshigure 2024-09-23 17:15:58 -07:00 committed by GitHub
parent 5e2487fde2
commit 405cb281e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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, TRUE)
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)