From 595f142b273757ec8572f9b666b7a35a39fba353 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Sun, 26 Mar 2023 19:03:19 +0200 Subject: [PATCH] Pal battle (#989) * world partners Co-authored-by: Unnunu * battle partners * battle items * Update src/battle/common/move/ItemRefund.inc.c Co-authored-by: Alex Bates <16batesa@gmail.com> * add LANGUAGE enum * Move extern variable declarations * Remove temp var * Update scripts * remove post * Fix n64img version This reverts commit f5a2c592bdc3e26dc4e8031c1b77f4217e85570f. * unfix n64img --------- Co-authored-by: Unnunu Co-authored-by: Alex Bates <16batesa@gmail.com> --- include/enums.h | 9 + include/variables.h | 4 + src/battle/common/actor/slot_machine.inc.c | 2 +- src/battle/common/move/ItemRefund.inc.c | 20 + src/battle/move/item/electro_pop.c | 8 + src/battle/move/item/strange_cake.c | 4 + src/battle/partner/bombette.c | 33 +- src/battle/partner/bow.c | 12 +- src/battle/partner/kooper.c | 76 ++-- src/battle/partner/lakilester.c | 30 +- src/battle/partner/parakarry.c | 12 +- src/battle/partner/sushie.c | 6 +- src/battle/partner/watt.c | 28 +- src/hud_element.h | 5 + src/world/area_gv/gv_01/gv_01_1_main.c | 2 +- src/world/area_omo/omo_03/omo_03_2_main.c | 2 +- src/world/area_omo/omo_06/omo_06_2_main.c | 2 +- src/world/area_omo/omo_08/omo_08_2_main.c | 2 +- src/world/area_omo/omo_09/omo_09_2_main.c | 4 +- src/world/area_omo/omo_10/omo_10_2_main.c | 2 +- src/world/common/complete/Quizmo.inc.c | 2 +- src/world/partner/kooper.c | 7 + tools/splat_ext/msg_pal_en.yaml | 6 +- ver/pal/splat.yaml | 503 ++++++++++++++++++++- ver/pal/symbol_addrs.txt | 30 ++ ver/pal/undefined_syms.txt | 215 ++++++++- 26 files changed, 920 insertions(+), 106 deletions(-) diff --git a/include/enums.h b/include/enums.h index 884b3b569c..96a9b79e14 100644 --- a/include/enums.h +++ b/include/enums.h @@ -6835,4 +6835,13 @@ enum WindowStyles { WINDOW_STYLE_MAX = 22, }; +#if VERSION_PAL +enum Language { + LANGUAGE_EN = 0, + LANGUAGE_DE = 1, + LANGUAGE_FR = 2, + LANGUAGE_ES = 3, +}; +#endif + #endif diff --git a/include/variables.h b/include/variables.h index 2bb07fb43f..2da03c1d4f 100644 --- a/include/variables.h +++ b/include/variables.h @@ -263,4 +263,8 @@ extern PlayerStatus gPlayerStatus; extern PlayerSpinState gPlayerSpinState; extern PlayerData gPlayerData; +#if VERSION_PAL +extern s32 gCurrentLanguage; +#endif + #endif diff --git a/src/battle/common/actor/slot_machine.inc.c b/src/battle/common/actor/slot_machine.inc.c index 16caee2f78..d0344efdc8 100644 --- a/src/battle/common/actor/slot_machine.inc.c +++ b/src/battle/common/actor/slot_machine.inc.c @@ -121,7 +121,7 @@ API_CALLABLE(N(Add1Coin)) { EvtScript N(init) = { #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) - EVT_IF_EQ(LVar0, 3) + EVT_IF_EQ(LVar0, LANGUAGE_ES) EVT_SET(LVar0, 2) EVT_END_IF EVT_CALL(SetModelTexVariant, 28, LVar0) diff --git a/src/battle/common/move/ItemRefund.inc.c b/src/battle/common/move/ItemRefund.inc.c index 720eeec31d..39fae85e93 100644 --- a/src/battle/common/move/ItemRefund.inc.c +++ b/src/battle/common/move/ItemRefund.inc.c @@ -13,6 +13,7 @@ API_CALLABLE(N(GiveRefund)) { f32 posZ; f32 facingAngleSign = 0.0f; s32 sleepTime = 0; + s32 tempIcon; if (player_team_is_ability_active(player, ABILITY_REFUND) && sellValue > 0) { s32 iconX; @@ -40,8 +41,27 @@ API_CALLABLE(N(GiveRefund)) { posZ = player->currentPos.z; get_screen_coords(gCurrentCameraID, posX, posY, posZ, &iconX, &iconY, &iconZ); + +#if VERSION_PAL + switch (gCurrentLanguage) { + case LANGUAGE_EN: + itemIcon = tempIcon = hud_element_create(&HES_Refund); + break; + case LANGUAGE_DE: + itemIcon = tempIcon = hud_element_create(&HES_Refund_de); + break; + case LANGUAGE_FR: + itemIcon = tempIcon = hud_element_create(&HES_Refund_fr); + break; + case LANGUAGE_ES: + itemIcon = tempIcon = hud_element_create(&HES_Refund_es); + break; + } + hud_element_set_render_pos(tempIcon, iconX + 36, iconY - 63); +#else itemIcon = hud_element_create(&HES_Refund); hud_element_set_render_pos(itemIcon, iconX + 36, iconY - 63); +#endif } script->varTable[0] = sleepTime; diff --git a/src/battle/move/item/electro_pop.c b/src/battle/move/item/electro_pop.c index d117379540..57bb532296 100644 --- a/src/battle/move/item/electro_pop.c +++ b/src/battle/move/item/electro_pop.c @@ -40,6 +40,7 @@ API_CALLABLE(N(ShowFlowerRecoveryFX)) { return ApiStatus_DONE2; } +#if !VERSION_PAL #include "common/AddHP.inc.c" API_CALLABLE(N(func_802A1450_7309F0)) { @@ -71,12 +72,17 @@ API_CALLABLE(N(AddFP)) { return ApiStatus_DONE2; } +#endif API_CALLABLE(N(func_802A14F0_730A90)) { ItemData* item = &gItemTable[ITEM_ELECTRO_POP]; PlayerData* playerData = &gPlayerData; +#if VERSION_PAL + playerData->curFP += item->potencyB; +#else playerData->curFP += item->potencyA; +#endif if (playerData->curFP > playerData->curMaxFP) { playerData->curFP = playerData->curMaxFP; } @@ -107,7 +113,9 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 25) EVT_CALL(ShowStartRecoveryShimmer, LVar0, LVar1, LVar2, LVar3) +#if !VERSION_PAL EVT_CALL(N(AddFP), LVar3) +#endif EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_ThumbsUp) EVT_WAIT(30) diff --git a/src/battle/move/item/strange_cake.c b/src/battle/move/item/strange_cake.c index 0646a55e2e..ef4dcc264a 100644 --- a/src/battle/move/item/strange_cake.c +++ b/src/battle/move/item/strange_cake.c @@ -198,6 +198,7 @@ API_CALLABLE(N(ShowFlowerRecoveryFX)) { return ApiStatus_DONE2; } +#if !VERSION_PAL #include "common/AddHP.inc.c" #include "common/AddFP.inc.c" @@ -214,6 +215,7 @@ API_CALLABLE(N(func_802A1A40_731D40)) { return ApiStatus_DONE2; } +#endif API_CALLABLE(N(func_802A1A8C_731D8C)) { ItemData* item = &gItemTable[ITEM_KOOKY_COOKIE]; @@ -280,7 +282,9 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 25) EVT_CALL(ShowStartRecoveryShimmer, LVar0, LVar1, LVar2, LVar3) +#if !VERSION_PAL EVT_CALL(N(AddFP), LVar3) +#endif EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_ThumbsUp) EVT_WAIT(30) diff --git a/src/battle/partner/bombette.c b/src/battle/partner/bombette.c index a63b3b401b..e4434b7536 100644 --- a/src/battle/partner/bombette.c +++ b/src/battle/partner/bombette.c @@ -1054,15 +1054,20 @@ EvtScript N(bomb) = { EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(AddGoalPos, ACTOR_PARTNER, -40, 0, 0) EVT_END_SWITCH - EVT_CALL(MoveBattleCamOver, 60) + EVT_CALL(MoveBattleCamOver, 60 * DT) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BOMB) - EVT_CALL(action_command_bomb_start, 0, 57, 3, 0) + EVT_CALL(action_command_bomb_start, 0, 57 * DT, 3, 0) EVT_CASE_EQ(MOVE_POWER_BOMB) - EVT_CALL(action_command_bomb_start, 0, 72, 3, 1) +#if VERSION_PAL + // 72 * DT = 60 + EVT_CALL(action_command_bomb_start, 0, 59, 3, 1) +#else + EVT_CALL(action_command_bomb_start, 0, 72 * DT, 3, 1) +#endif EVT_CASE_EQ(MOVE_MEGA_BOMB) - EVT_CALL(action_command_bomb_start, 0, 87, 3, 2) + EVT_CALL(action_command_bomb_start, 0, 87 * DT, 3, 2) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_287) EVT_CHILD_THREAD @@ -1071,23 +1076,23 @@ EvtScript N(bomb) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BOMB) - EVT_SET(LVar0, 45) + EVT_SET(LVar0, 45 * DT) EVT_CASE_EQ(MOVE_POWER_BOMB) - EVT_SET(LVar0, 50) + EVT_SET(LVar0, 50 * DT) EVT_CASE_EQ(MOVE_MEGA_BOMB) - EVT_SET(LVar0, 50) + EVT_SET(LVar0, 50 * DT) EVT_END_SWITCH - EVT_CALL(RunToGoal, ACTOR_PARTNER, 45) + EVT_CALL(RunToGoal, ACTOR_PARTNER, 45 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBombette_AboutToExplode) EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0) EVT_END_CHILD_THREAD EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BOMB) - EVT_SET(LVar0, 45) + EVT_SET(LVar0, 45 * DT) EVT_CASE_EQ(MOVE_POWER_BOMB) - EVT_SET(LVar0, 50) + EVT_SET(LVar0, 50 * DT) EVT_CASE_EQ(MOVE_MEGA_BOMB) - EVT_SET(LVar0, 50) + EVT_SET(LVar0, 50 * DT) EVT_END_SWITCH EVT_WAIT(LVar0) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -1098,11 +1103,11 @@ EvtScript N(bomb) = { EVT_CALL(StopSound, SOUND_287) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BOMB) - EVT_SET(LVar0, 7) + EVT_SET(LVar0, 6 * DT + 1) EVT_CASE_EQ(MOVE_POWER_BOMB) - EVT_SET(LVar0, 12) + EVT_SET(LVar0, 12 * DT) EVT_CASE_EQ(MOVE_MEGA_BOMB) - EVT_SET(LVar0, 20) + EVT_SET(LVar0, 20 * DT) EVT_END_SWITCH EVT_LOOP(LVar0) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, EVT_FLOAT(0.5), 0, 0) diff --git a/src/battle/partner/bow.c b/src/battle/partner/bow.c index 405338a821..0571d79153 100644 --- a/src/battle/partner/bow.c +++ b/src/battle/partner/bow.c @@ -468,15 +468,15 @@ EvtScript N(smack) = { EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_SMACK1) EVT_CALL(SetupMashMeter, 4, 40, 70, 99, 100, 0) - EVT_SET(LVarB, 60) + EVT_SET(LVarB, 60 * DT) EVT_SET(LVarC, 1) EVT_CASE_EQ(MOVE_SMACK2) EVT_CALL(SetupMashMeter, 5, 35, 60, 80, 99, 100) - EVT_SET(LVarB, 60) + EVT_SET(LVarB, 60 * DT) EVT_SET(LVarC, 1) EVT_CASE_EQ(MOVE_SMACK3) EVT_CALL(SetupMashMeter, 5, 35, 60, 80, 99, 100) - EVT_SET(LVarB, 60) + EVT_SET(LVarB, 60 * DT) EVT_SET(LVarC, 1) EVT_END_SWITCH EVT_WAIT(10) @@ -790,12 +790,12 @@ EvtScript N(spook) = { EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 0, 0) EVT_END_THREAD EVT_CALL(N(AverageSpookChance)) - EVT_CALL(action_command_spook_start, 0, 87, 3, LVar0) + EVT_CALL(action_command_spook_start, 0, 87 * DT, 3, LVar0) EVT_CALL(GetActionResult, LVar1) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Conceal) EVT_SET(LVar1, 0) EVT_SET(LVar2, 0) - EVT_LOOP(90) + EVT_LOOP(90 * DT) EVT_SWITCH(LVar1) EVT_CASE_GT(80) EVT_IF_EQ(LVar2, 7) @@ -989,7 +989,7 @@ EvtScript N(fanSmack) = { EVT_CALL(action_command_smack_init) EVT_CALL(SetActionHudPrepareTime, 0) EVT_CALL(SetupMashMeter, 5, 35, 60, 80, 99, 100) - EVT_SET(LVarB, 90) + EVT_SET(LVarB, 90 * DT) EVT_SET(LVarC, 2) EVT_WAIT(10) EVT_THREAD diff --git a/src/battle/partner/kooper.c b/src/battle/partner/kooper.c index 4f2af0d15f..a5e67bedfa 100644 --- a/src/battle/partner/kooper.c +++ b/src/battle/partner/kooper.c @@ -553,34 +553,34 @@ EvtScript N(shellToss) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(action_command_hammer_start, 0, 47, 3) + EVT_CALL(action_command_hammer_start, 0, 50 * DT - 3, 3) EVT_CALL(SetActionResult, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_200C) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_59) EVT_SET(LVar9, 0) EVT_SET(LVar1, 0) - EVT_LOOP(50) + EVT_LOOP(50 * DT) EVT_WAIT(1) EVT_SWITCH(LVar9) - EVT_CASE_LT(20) + EVT_CASE_LT(20 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) - EVT_CASE_EQ(20) + EVT_CASE_EQ(20 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) - EVT_CASE_LT(30) + EVT_CASE_LT(30 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlower) - EVT_CASE_EQ(30) + EVT_CASE_EQ(30 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) - EVT_CASE_LT(40) + EVT_CASE_LT(40 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFaster) - EVT_CASE_EQ(40) + EVT_CASE_EQ(40 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) - EVT_CASE_LT(50) + EVT_CASE_LT(50 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFastest) - EVT_CASE_EQ(50) + EVT_CASE_EQ(50 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_END_SWITCH @@ -600,16 +600,16 @@ EvtScript N(shellToss) = { EVT_WAIT(1) EVT_SETF(LVarA, EVT_FLOAT(8.0)) EVT_SWITCH(LVar9) - EVT_CASE_LT(20) + EVT_CASE_LT(20 * DT) EVT_SETF(LVarA, EVT_FLOAT(10.0)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) - EVT_CASE_LT(30) + EVT_CASE_LT(30 * DT) EVT_SETF(LVarA, EVT_FLOAT(12.0)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlower) - EVT_CASE_LT(40) + EVT_CASE_LT(40 * DT) EVT_SETF(LVarA, EVT_FLOAT(14.0)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFaster) - EVT_CASE_LT(50) + EVT_CASE_LT(50 * DT) EVT_SETF(LVarA, EVT_FLOAT(16.0)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFastest) EVT_END_SWITCH @@ -884,8 +884,8 @@ EvtScript N(dizzyShell) = { EVT_WAIT(15) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_59) - EVT_CALL(MoveBattleCamOver, 75) - EVT_SET(LVarD, 75) + EVT_CALL(MoveBattleCamOver, 75 * DT) + EVT_SET(LVarD, 75 * DT) EVT_SET(LVarA, LVarD) EVT_ADD(LVarA, -3) EVT_CALL(battle_partner_kooper_AverageTargetDizzyChance) @@ -903,13 +903,13 @@ EvtScript N(dizzyShell) = { EVT_WAIT(1) EVT_CALL(GetActionResult, LVar0) EVT_SWITCH(LVar0) - EVT_CASE_LT(20) + EVT_CASE_LT(20 * DT) EVT_SET(LVarA, EVT_FLOAT(10.0)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) - EVT_CASE_LT(40) + EVT_CASE_LT(40 * DT) EVT_SET(LVarA, EVT_FLOAT(12.0)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlower) - EVT_CASE_LT(60) + EVT_CASE_LT(60 * DT) EVT_SET(LVarA, EVT_FLOAT(14.0)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFaster) EVT_CASE_DEFAULT @@ -917,16 +917,16 @@ EvtScript N(dizzyShell) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFastest) EVT_END_SWITCH EVT_SWITCH(LVarD) - EVT_CASE_EQ(10) + EVT_CASE_EQ(10 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) - EVT_CASE_EQ(20) + EVT_CASE_EQ(20 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) - EVT_CASE_EQ(40) + EVT_CASE_EQ(40 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) - EVT_CASE_EQ(60) + EVT_CASE_EQ(60 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar4, LVar5, LVar6) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar4, LVar5, LVar6, 32, 4, 0, 10, 0) EVT_END_SWITCH @@ -1056,8 +1056,8 @@ EvtScript N(fireShell) = { EVT_WAIT(15) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_59) - EVT_CALL(MoveBattleCamOver, 75) - EVT_SET(LVarD, 75) + EVT_CALL(MoveBattleCamOver, 75 * DT) + EVT_SET(LVarD, 75 * DT) EVT_SET(LVarC, LVarD) EVT_ADD(LVarC, -3) EVT_CALL(action_command_fire_shell_start, 0, LVarC, 3) @@ -1081,36 +1081,36 @@ EvtScript N(fireShell) = { EVT_WAIT(1) EVT_CALL(GetActionResult, LVar0) EVT_SWITCH(LVar0) - EVT_CASE_GE(80) + EVT_CASE_GE(80 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFastest) - EVT_SET(LVar9, 80) + EVT_SET(LVar9, 80 * DT) EVT_SET(LVar7, 8) EVT_IF_NE(LVar6, LVar7) EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF - EVT_CASE_GE(60) + EVT_CASE_GE(60 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinFaster) - EVT_SET(LVar9, 60) + EVT_SET(LVar9, 60 * DT) EVT_SET(LVar7, 7) EVT_IF_NE(LVar6, LVar7) EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF - EVT_CASE_GE(40) + EVT_CASE_GE(40 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlower) - EVT_SET(LVar9, 40) + EVT_SET(LVar9, 40 * DT) EVT_SET(LVar7, 6) EVT_IF_NE(LVar6, LVar7) EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) EVT_CALL(func_8026EBF8, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF - EVT_CASE_GE(20) + EVT_CASE_GE(20 * DT) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) - EVT_SET(LVar9, 35) + EVT_SET(LVar9, 35 * DT) EVT_SET(LVar7, 5) EVT_IF_NE(LVar6, LVar7) EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) @@ -1119,7 +1119,7 @@ EvtScript N(fireShell) = { EVT_END_IF EVT_CASE_DEFAULT EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ShellSpinSlowest) - EVT_SET(LVar9, 30) + EVT_SET(LVar9, 30 * DT) EVT_SET(LVar7, 0) EVT_IF_NE(LVar6, LVar7) EVT_CALL(func_8026EA7C, ACTOR_PARTNER, -1, 15) @@ -1135,16 +1135,16 @@ EvtScript N(fireShell) = { EVT_END_IF EVT_CALL(ModifyActorDecoration, ACTOR_PARTNER, -1, 0, LVar8, LVar8, 255, 0) EVT_SWITCH(LVarD) - EVT_CASE_EQ(10) + EVT_CASE_EQ(10 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar3, LVar4, LVar5, 32, 4, 0, 10, 0) - EVT_CASE_EQ(20) + EVT_CASE_EQ(20 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar3, LVar4, LVar5, 32, 4, 0, 10, 0) - EVT_CASE_EQ(40) + EVT_CASE_EQ(40 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar3, LVar4, LVar5, 32, 4, 0, 10, 0) - EVT_CASE_EQ(60) + EVT_CASE_EQ(60 * DT) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar3, LVar4, LVar5, 32, 4, 0, 10, 0) EVT_END_SWITCH diff --git a/src/battle/partner/lakilester.c b/src/battle/partner/lakilester.c index 6871194bb2..13def90327 100644 --- a/src/battle/partner/lakilester.c +++ b/src/battle/partner/lakilester.c @@ -459,7 +459,7 @@ API_CALLABLE(N(SpinyFlipActionCommand)) { if (sAimingTimer != 0) { sAimingTimer--; } else { - sAimingTimer = 80; + sAimingTimer = (s32)(80 * DT); hud_element_set_script(hudStick, &HES_StickTapRight); sfx_play_sound_at_position(SOUND_312, SOUND_SPACE_MODE_0, 0.0f, 0.0f, 0.0f); script->functionTemp[0] = 2; @@ -846,10 +846,10 @@ EvtScript N(spinyFlip) = { EVT_ADD(LVar0, 8) EVT_ADD(LVar1, 40) EVT_ADD(LVar2, 5) - EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 80, 0) + EVT_PLAY_EFFECT(EFFECT_ENERGY_IN_OUT, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 80 * DT, 0) EVT_CALL(SetActorVar, ACTOR_PARTNER, 0, 1) EVT_THREAD - EVT_LOOP(40) + EVT_LOOP(40 * DT) EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 1, 0, 0) EVT_CALL(SetPartDispOffset, ACTOR_PARTNER, 2, 1, 0, 0) EVT_WAIT(1) @@ -968,11 +968,11 @@ EvtScript N(spinySurge) = { EVT_CALL(GetActorLevel, ACTOR_PARTNER, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(0) - EVT_SET(LVarA, 60) + EVT_SET(LVarA, 60 * DT) EVT_CASE_EQ(1) - EVT_SET(LVarA, 60) + EVT_SET(LVarA, 60 * DT) EVT_CASE_EQ(2) - EVT_SET(LVarA, 60) + EVT_SET(LVarA, 60 * DT) EVT_END_SWITCH EVT_SET(LVarB, LVarA) EVT_ADD(LVarB, -3) @@ -1336,6 +1336,14 @@ enum { STATE_EXHALE = 1, }; +#if VERSION_PAL +#define CONST_1 140 +#define CONST_2 152 +#else +#define CONST_1 165 +#define CONST_2 177 +#endif + API_CALLABLE(N(ProcessHurricane)) { BattleStatus* battleStatus = &gBattleStatus; Actor* partner = battleStatus->partnerActor; @@ -1367,7 +1375,7 @@ API_CALLABLE(N(ProcessHurricane)) { switch (script->functionTemp[0]) { case 0: partner->state.angle = 0.0f; - partner->state.moveTime = 165; + partner->state.moveTime = CONST_1; partner->state.moveArcAmplitude = 0; sIsHurricaneActive = TRUE; D_8023D338 = 255; @@ -1381,7 +1389,7 @@ API_CALLABLE(N(ProcessHurricane)) { effect->data.huffPuffBreath->envG = 240; effect->data.huffPuffBreath->envB = 240; - hurricaneState->unk_54 = 177; + hurricaneState->unk_54 = CONST_2; hurricaneState->breathSizeIncrease = 0; hurricaneState->unk_46 = 0; hurricaneState->state = 0; @@ -1700,21 +1708,21 @@ EvtScript N(hurricane) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleLakilester_Idle) EVT_WAIT(15) EVT_CALL(N(InitHurricane)) - EVT_CALL(action_command_hurricane_start, 0, 147, 3, LVar0) + EVT_CALL(action_command_hurricane_start, 0, 147 * DT, 3, LVar0) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) EVT_CALL(SetActorRotationOffset, ACTOR_PARTNER, 0, 20, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, 35, 54, 0) EVT_CALL(SetBattleCamOffsetZ, 0) EVT_CALL(SetBattleCamZoom, 430) - EVT_CALL(MoveBattleCamOver, 150) + EVT_CALL(MoveBattleCamOver, 150 * DT) EVT_CALL(func_8024ECF8, 0, 0, 1) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_288) EVT_THREAD EVT_CALL(N(ProcessHurricane)) EVT_END_THREAD EVT_WAIT(2) - EVT_LOOP(150) + EVT_LOOP(150 * DT) EVT_CALL(N(IsHurricaneActive)) EVT_IF_EQ(LVar0, 0) EVT_BREAK_LOOP diff --git a/src/battle/partner/parakarry.c b/src/battle/partner/parakarry.c index 63cb6e33e9..b2499fbaff 100644 --- a/src/battle/partner/parakarry.c +++ b/src/battle/partner/parakarry.c @@ -187,7 +187,11 @@ API_CALLABLE(N(ShellShotActionCommand)) { state->angle = state->unk_18.x + rand_int(state->unk_18.y - state->unk_18.x - 2.0f); hudTargetRotation = 0; shellShotTimer = 90; +#if VERSION_PAL + state->velocity = 4.0f; +#else state->velocity = 3.0f; +#endif battleStatus->unk_86 = 0; action_command_init_status(); func_80269118(); @@ -1140,14 +1144,14 @@ EvtScript N(airLift) = { EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_AIR_LIFT, SUPPRESS_EVENT_SPIKY_FRONT, 0, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(N(AirLiftChance)) EVT_IF_NE(LVar0, -1) - EVT_CALL(action_command_air_lift_start, 0, 87, 3, 0) + EVT_CALL(action_command_air_lift_start, 0, 87 * DT, 3, 0) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) EVT_CHILD_THREAD EVT_WAIT(1) EVT_CALL(GetActionResult, LVar1) EVT_DIV(LVar1, 10) EVT_ADD(LVar1, 1) - EVT_LOOP(88) + EVT_LOOP(88 * DT) EVT_CALL(GetActionResult, LVar0) EVT_SET(LVar2, LVar1) EVT_MUL(LVar2, 10) @@ -1160,7 +1164,7 @@ EvtScript N(airLift) = { EVT_WAIT(1) EVT_END_LOOP EVT_END_CHILD_THREAD - EVT_WAIT(90) + EVT_WAIT(90 * DT) EVT_CALL(GetActionSuccessCopy, LVar0) EVT_ELSE EVT_CALL(CloseActionCommandInfo) @@ -1213,7 +1217,7 @@ EvtScript N(airRaid) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleParakarry_Run) EVT_CALL(FlyToGoal, ACTOR_PARTNER, 15, -2, EASING_LINEAR) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleParakarry_Idle) - EVT_CALL(action_command_air_raid_start, 0, 90, 3) + EVT_CALL(action_command_air_raid_start, 0, 90 * DT, 3) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) EVT_WAIT(2) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleParakarry_PreDive) diff --git a/src/battle/partner/sushie.c b/src/battle/partner/sushie.c index 18963da118..08ce6baeb3 100644 --- a/src/battle/partner/sushie.c +++ b/src/battle/partner/sushie.c @@ -958,9 +958,9 @@ EvtScript N(squirt) = { EVT_CALL(N(SetSquirtAngle)) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleSushie_Inhale) EVT_CALL(AddBattleCamZoom, -80) - EVT_CALL(MoveBattleCamOver, 90) - EVT_CALL(action_command_squirt_start, 0, 87, 3) - EVT_LOOP(90) + EVT_CALL(MoveBattleCamOver, 90 * DT) + EVT_CALL(action_command_squirt_start, 0, 87 * DT, 3) + EVT_LOOP(90 * DT) EVT_CALL(GetActionResult, LVar0) EVT_IF_EQ(LVar0, 0) EVT_CALL(GetActorScale, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/partner/watt.c b/src/battle/partner/watt.c index 4b1156a83f..1ee3828dda 100644 --- a/src/battle/partner/watt.c +++ b/src/battle/partner/watt.c @@ -983,23 +983,23 @@ EvtScript N(powerShock) = { EVT_CALL(MoveBattleCamOver, 80) EVT_CALL(N(WattFXDisable)) EVT_CALL(N(TargetParalyzeChance)) - EVT_CALL(action_command_power_shock_start, 0, 72, 3, LVar0) + EVT_CALL(action_command_power_shock_start, 0, 75 * DT - 3, 3, LVar0) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 15) EVT_ADD(LVar2, 5) - EVT_PLAY_EFFECT(EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 75, 0) + EVT_PLAY_EFFECT(EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 75 * DT, 0) EVT_CALL(N(UnkBackgroundFunc3)) EVT_SET(LVar9, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_StrainBigger) EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 10) EVT_THREAD - EVT_LOOP(75) + EVT_LOOP(75 * DT) EVT_ADD(LVar9, 3) EVT_CALL(N(SetBackgroundAlpha), LVar9) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_WAIT(75) + EVT_WAIT(75 * DT) EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 9) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_28A) EVT_THREAD @@ -1106,9 +1106,9 @@ EvtScript N(8023AE8C) = { EVT_WAIT(1) EVT_CALL(SetActorYaw, ACTOR_PARTNER, 180) EVT_WAIT(10) - EVT_CALL(action_command_water_block_start, 0, 100, 3) + EVT_CALL(action_command_water_block_start, 0, 100 * DT, 3) EVT_CALL(AddBattleCamZoom, -75) - EVT_CALL(MoveBattleCamOver, 100) + EVT_CALL(MoveBattleCamOver, 100 * DT) EVT_CALL(func_8024ECF8, 0, 0, 1) EVT_THREAD EVT_CALL(EnableActorBlur, ACTOR_PARTNER, 1) @@ -1189,9 +1189,9 @@ EvtScript N(8023B450) = { EVT_WAIT(1) EVT_CALL(SetActorYaw, ACTOR_PARTNER, 180) EVT_WAIT(10) - EVT_CALL(action_command_water_block_start, 0, 100, 3) + EVT_CALL(action_command_water_block_start, 0, 100 * DT, 3) EVT_CALL(AddBattleCamZoom, -100) - EVT_CALL(MoveBattleCamOver, 100) + EVT_CALL(MoveBattleCamOver, 100 * DT) EVT_CALL(func_8024ECF8, 0, 0, 1) EVT_THREAD EVT_CALL(EnableActorBlur, ACTOR_PARTNER, 1) @@ -1270,29 +1270,29 @@ EvtScript N(megaShock) = { EVT_CALL(N(UnkBackgroundFunc3)) EVT_SET(LVar9, 0) EVT_THREAD - EVT_LOOP(75) + EVT_LOOP(75 * DT) EVT_ADD(LVar9, 3) EVT_CALL(N(SetBackgroundAlpha), LVar9) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD EVT_CALL(N(AverageTargetParalyzeChance)) - EVT_CALL(action_command_mega_shock_start, 0, 87, 3, LVar0) + EVT_CALL(action_command_mega_shock_start, 0, 87 * DT, 3, LVar0) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 15) EVT_ADD(LVar2, 5) - EVT_PLAY_EFFECT(EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 90, 0) + EVT_PLAY_EFFECT(EFFECT_SNAKING_STATIC, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 90 * DT, 0) EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 12) - EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 8, LVar0, LVar1, LVar2, EVT_FLOAT(1.3), 90, 0) + EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 8, LVar0, LVar1, LVar2, EVT_FLOAT(1.3), 90 * DT, 0) EVT_CALL(AddBattleCamZoom, -100) - EVT_CALL(MoveBattleCamOver, 90) + EVT_CALL(MoveBattleCamOver, 90 * DT) EVT_CALL(func_8024ECF8, 0, 0, 1) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_StrainBigger) EVT_CALL(func_8026EA7C, ACTOR_SELF, 1, 10) EVT_CALL(N(WattFXDisable)) EVT_CALL(GetActionResult, LVar1) - EVT_WAIT(90) + EVT_WAIT(90 * DT) EVT_CALL(N(SetBackgroundAlpha), 0) EVT_THREAD EVT_SET(LVar9, 60) diff --git a/src/hud_element.h b/src/hud_element.h index 6be656c558..2f19ce018e 100644 --- a/src/hud_element.h +++ b/src/hud_element.h @@ -210,6 +210,11 @@ typedef HudElement* HudElementList[320]; extern HudScript HES_AnimatedHandPointer; extern HudScript HES_StatusCoin; extern HudScript HES_Refund; +#if VERSION_PAL +extern HudScript HES_Refund_de; +extern HudScript HES_Refund_fr; +extern HudScript HES_Refund_es; +#endif extern HudScript HES_MenuTimes; typedef struct PartnerPopupProperties { diff --git a/src/world/area_gv/gv_01/gv_01_1_main.c b/src/world/area_gv/gv_01/gv_01_1_main.c index 68b3381ab7..085b3c8025 100644 --- a/src/world/area_gv/gv_01/gv_01_1_main.c +++ b/src/world/area_gv/gv_01/gv_01_1_main.c @@ -192,7 +192,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(SetMotionBlurParams, 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 128, 10) #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) - EVT_IF_EQ(LVar0, 3) + EVT_IF_EQ(LVar0, LANGUAGE_ES) EVT_EXEC(N(EVS_E8CA04)) EVT_ELSE EVT_EXEC(N(EVS_E8C6F8)) diff --git a/src/world/area_omo/omo_03/omo_03_2_main.c b/src/world/area_omo/omo_03/omo_03_2_main.c index 20fa0c1234..76828c8b84 100644 --- a/src/world/area_omo/omo_03/omo_03_2_main.c +++ b/src/world/area_omo/omo_03/omo_03_2_main.c @@ -50,7 +50,7 @@ EvtScript N(EVS_Main) = { #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) EVT_SWITCH(LVar0) - EVT_IF_GE(LVar0, 2) + EVT_IF_GE(LVar0, LANGUAGE_FR) // or LANGUAGE_ES EVT_SUB(LVar0, 2) EVT_END_IF EVT_CALL(SetModelTexVariant, MODEL_s, LVar0) diff --git a/src/world/area_omo/omo_06/omo_06_2_main.c b/src/world/area_omo/omo_06/omo_06_2_main.c index c8bcd13058..497de6514d 100644 --- a/src/world/area_omo/omo_06/omo_06_2_main.c +++ b/src/world/area_omo/omo_06/omo_06_2_main.c @@ -40,7 +40,7 @@ EvtScript N(EVS_Main) = { #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) EVT_SWITCH(LVar0) - EVT_IF_GE(LVar0, 2) + EVT_IF_GE(LVar0, LANGUAGE_FR) // or LANGUAGE_ES EVT_SUB(LVar0, 2) EVT_END_IF EVT_CALL(SetModelTexVariant, MODEL_s, LVar0) diff --git a/src/world/area_omo/omo_08/omo_08_2_main.c b/src/world/area_omo/omo_08/omo_08_2_main.c index 8b9bd82a34..335cc12157 100644 --- a/src/world/area_omo/omo_08/omo_08_2_main.c +++ b/src/world/area_omo/omo_08/omo_08_2_main.c @@ -35,7 +35,7 @@ EvtScript N(EVS_Main) = { #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) EVT_SWITCH(LVar0) - EVT_IF_GE(LVar0, 2) + EVT_IF_GE(LVar0, LANGUAGE_FR) // or LANGUAGE_ES EVT_SUB(LVar0, 2) EVT_END_IF EVT_CALL(SetModelTexVariant, MODEL_s, LVar0) diff --git a/src/world/area_omo/omo_09/omo_09_2_main.c b/src/world/area_omo/omo_09/omo_09_2_main.c index 8000b0d45d..80c3c6dd43 100644 --- a/src/world/area_omo/omo_09/omo_09_2_main.c +++ b/src/world/area_omo/omo_09/omo_09_2_main.c @@ -19,8 +19,8 @@ EvtScript N(EVS_Main) = { EVT_SETUP_CAMERA_DEFAULT() #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) - EVT_IF_EQ(LVar0, 3) - EVT_SET(LVar0, 2) + EVT_IF_EQ(LVar0, LANGUAGE_ES) + EVT_SET(LVar0, LANGUAGE_FR) EVT_END_IF EVT_CALL(SetModelTexVariant, MODEL_s1, LVar0) EVT_CALL(SetModelTexVariant, MODEL_s2, LVar0) diff --git a/src/world/area_omo/omo_10/omo_10_2_main.c b/src/world/area_omo/omo_10/omo_10_2_main.c index 5d5f18ce31..7476741dca 100644 --- a/src/world/area_omo/omo_10/omo_10_2_main.c +++ b/src/world/area_omo/omo_10/omo_10_2_main.c @@ -38,7 +38,7 @@ EvtScript N(EVS_Main) = { #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) EVT_SWITCH(LVar0) - EVT_IF_GE(LVar0, 2) + EVT_IF_GE(LVar0, LANGUAGE_FR) // or LANGUAGE_ES EVT_SUB(LVar0, 2) EVT_END_IF EVT_CALL(SetModelTexVariant, MODEL_s, LVar0) diff --git a/src/world/common/complete/Quizmo.inc.c b/src/world/common/complete/Quizmo.inc.c index 0c624bf7ee..63912436e5 100644 --- a/src/world/common/complete/Quizmo.inc.c +++ b/src/world/common/complete/Quizmo.inc.c @@ -1118,7 +1118,7 @@ EvtScript N(EVS_Quizmo_QuizMain) = { EVT_ELSE #if VERSION_PAL EVT_CALL(GetLanguage, LVar0) - EVT_IF_EQ(LVar0, 1) + EVT_IF_EQ(LVar0, LANGUAGE_DE) EVT_CALL(SetMessageText, EVT_PTR(MessagePlural_de), 1) EVT_ELSE EVT_CALL(SetMessageText, EVT_PTR(MessagePlural), 1) diff --git a/src/world/partner/kooper.c b/src/world/partner/kooper.c index c1212fcbb2..9f6d539edd 100644 --- a/src/world/partner/kooper.c +++ b/src/world/partner/kooper.c @@ -330,6 +330,13 @@ API_CALLABLE(N(UseAbility)) { playerStatus->flags |= PS_FLAG_JUMPING; gCameras[CAM_DEFAULT].moveFlags |= CAMERA_MOVE_IGNORE_PLAYER_Y; +#if VERSION_PAL + playerStatus->gravityIntegrator[0] = 0; + playerStatus->gravityIntegrator[1] = 0; + playerStatus->gravityIntegrator[2] = 0; + playerStatus->gravityIntegrator[3] = 0; +#endif + suggest_player_anim_allow_backward(ANIM_Mario1_Jump); N(ShellTossKickFalling) = FALSE; sfx_play_sound_at_npc(SOUND_JUMP_2081, SOUND_SPACE_MODE_0, NPC_PARTNER); diff --git a/tools/splat_ext/msg_pal_en.yaml b/tools/splat_ext/msg_pal_en.yaml index 290e52f09f..4efd2b15e4 100644 --- a/tools/splat_ext/msg_pal_en.yaml +++ b/tools/splat_ext/msg_pal_en.yaml @@ -5111,8 +5111,8 @@ - [0x1B, 0x000F, EntityTattle_FloorSwitch_TornadoJump] - [0x1B, 0x0010, EntityTattle_Pipe] - [0x1B, 0x0011, EntityTattle_PadLock] -- [0x1B, 0x0012, EntityTattle_0012] -- [0x1B, 0x0013, EntityTattle_Sign] +- [0x1B, 0x0012, EntityTattle_SignPost] +- [0x1B, 0x0013, EntityTattle_ArrowSign] - [0x1B, 0x0014, EntityTattle_BombableRock] - [0x1B, 0x0015, EntityTattle_Chest] - [0x1B, 0x0016, EntityTattle_EmptyChest] @@ -5130,7 +5130,7 @@ - [0x1B, 0x0022, EntityTattle_Munchlesia] - [0x1B, 0x0023, EntityTattle_SpinningFlower] - [0x1B, 0x0024, EntityTattle_BulbBush] -- [0x1B, 0x0025, EntityTattle_25] +- [0x1B, 0x0025, EntityTattle_Interact] - [0x1C, 0x0000, EnemyTattle_Goomba] - [0x1C, 0x0001, EnemyTattle_SpikedGoomba] - [0x1C, 0x0002, EnemyTattle_Paragoomba] diff --git a/ver/pal/splat.yaml b/ver/pal/splat.yaml index b42e7b39ee..b47468ad1d 100644 --- a/ver/pal/splat.yaml +++ b/ver/pal/splat.yaml @@ -118,6 +118,101 @@ segments: - [0x231990, bin] + - type: code + dir: world/partner + name: world_partner_goombario + start: 0x33FDD0 + vram: 0x802BD100 + subsegments: + - [0x33FDD0, c, goombario] + - [0x340910] + - type: code + dir: world/partner + name: world_partner_bombette + start: 0x340C00 + vram: 0x802BD100 + subsegments: + - [0x340C00, c, bombette] + - [0x342380] + - type: code + dir: world/partner + name: world_partner_parakarry + start: 0x342420 + vram: 0x802BD100 + subsegments: + - [0x342420, c, parakarry] + - [0x343DB0] + - type: code + dir: world/partner + name: world_partner_kooper + start: 0x343ED0 + vram: 0x802BD100 + subsegments: + - [0x343ED0, c, kooper] + - [0x345920] + - type: code + dir: world/partner + name: world_partner_watt + start: 0x345A30 + vram: 0x802BD100 + subsegments: + - [0x345A30, c, watt] + - [0x346B80] + - type: code + dir: world/partner + name: world_partner_sushie + start: 0x346C30 + vram: 0x802BD100 + subsegments: + - [0x346C30, c, sushie] + - [0x3498E0] + - type: code + dir: world/partner + name: world_partner_lakilester + start: 0x349A10 + vram: 0x802BD100 + subsegments: + - [0x349A10, c, lakilester] + - [0x34C770] + - type: code + dir: world/partner + name: world_partner_bow + start: 0x34C810 + vram: 0x802BD100 + subsegments: + - [0x34C810, c, bow] + - [0x34D6F0] + - type: code + dir: world/partner + name: world_partner_goompa + start: 0x34D7D0 + vram: 0x802BD100 + subsegments: + - [0x34D7D0, c, goompa] + - [0x34DC40] + - type: code + dir: world/partner + name: world_partner_goombaria + start: 0x34DCD0 + vram: 0x802BD100 + subsegments: + - [0x34DCD0, c, goombaria] + - [0x34DDC0] + - type: code + dir: world/partner + name: world_partner_twink + start: 0x34DE30 + vram: 0x802BD100 + subsegments: + - [0x34DE30, c, twink] + - [0x34DF20] + - type: code + start: 0x34DF90 + name: world_use_item + vram: 0x802C0000 + subsegments: + - [0x34DF90, c, world_use_item] + - [0x34E3A0] ############### ### Effects ### @@ -5080,7 +5175,413 @@ segments: - [0x7314E0, c, script/dig_05] - [0x731500] - - [0x743A60, bin] +####################### +### Battle Partners ### +####################### + - name: battle_partner_goompa + dir: battle/partner + type: code + start: 0x743A60 + vram: 0x80238000 + subsegments: + - [0x743A60, c, goompa] + - [0x743A60] + - name: battle_partner_goombario + dir: battle/partner + type: code + start: 0x744010 + vram: 0x80238000 + subsegments: + - [0x744010, c, goombario] + - [0x7451C0] + - name: battle_partner_kooper + dir: battle/partner + type: code + start: 0x748DB0 + vram: 0x80238000 + subsegments: + - [0x748DB0, c, kooper] + - [0x7491E0] + - name: battle_partner_bombette + dir: battle/partner + type: code + start: 0x74DC40 + vram: 0x80238000 + subsegments: + - [0x74DC40, c, bombette] + - [0x74E280] + - name: battle_partner_parakarry + dir: battle/partner + type: code + start: 0x752CB0 + vram: 0x80238000 + subsegments: + - [0x752CB0, c, parakarry] + - [0x7544C0] + - name: battle_partner_watt + dir: battle/partner + type: code + start: 0x756A20 + vram: 0x80238000 + subsegments: + - [0x756A20, c, watt] + - [0x7579B0, .data, watt] + - name: battle_partner_sushie + dir: battle/partner + type: code + start: 0x75ABD0 + vram: 0x80238000 + subsegments: + - [0x75ABD0, c, sushie] + - [0x75BAA0] + - name: battle_partner_lakilester + dir: battle/partner + type: code + start: 0x75EC40 + vram: 0x80238000 + subsegments: + - [0x75EC40, c, lakilester] + - [0x760E10] + - name: battle_partner_bow + dir: battle/partner + type: code + start: 0x763E20 + vram: 0x80238000 + subsegments: + - [0x763E20, c, bow] + - [0x764120] + - name: battle_partner_twink + dir: battle/partner + type: code + start: 0x767C20 + vram: 0x80238000 + subsegments: + - [0x767C20, c, twink] + - [0x767CF0] + +#################### +### Battle Items ### +#################### + - name: mushroom + dir: battle/move/item + type: code + start: 0x768780 + vram: 0x802A1000 + subsegments: + - [0x768780, c, mushroom] + - [0x768E00] + - name: fire_flower + dir: battle/move/item + type: code + start: 0x769C10 + vram: 0x802A1000 + subsegments: + - [0x769C10, c, fire_flower] + - [0x76A090] + - name: dusty_hammer + dir: battle/move/item + type: code + start: 0x76AA00 + vram: 0x802A1000 + subsegments: + - [0x76AA00, c, dusty_hammer] + - start: 0x76ACC0 + type: .data + name: dusty_hammer + subsegments: + - [0x76ACC0] + - [0x76B280, ci4, dusty_hammer, 32, 32] + - [0x76B480, palette, dusty_hammer] + - [0x76B4A0] + - name: pow_block + dir: battle/move/item + type: code + start: 0x76B900 + vram: 0x802A1000 + subsegments: + - [0x76B900, c, pow_block] + - [0x76BD20] + - name: pebble + dir: battle/move/item + type: code + start: 0x76CAA0 + vram: 0x802A1000 + subsegments: + - [0x76CAA0, c, pebble] + - start: 0x76CD60 + type: .data + name: pebble + subsegments: + - [0x76CD60] + - [0x76D320, ci4, pebble, 32, 32] + - [0x76D520, palette, pebble] + - [0x76D540] + - name: volt_shroom + dir: battle/move/item + type: code + start: 0x76D9A0 + vram: 0x802A1000 + subsegments: + - [0x76D9A0, c, volt_shroom] + - [0x76DCA0] + - name: thunder_rage + dir: battle/move/item + type: code + start: 0x76E3D0 + vram: 0x802A1000 + subsegments: + - [0x76E3D0, c, thunder_rage] + - [0x76E8F0] + - name: snowman_doll + dir: battle/move/item + type: code + start: 0x76F0E0 + vram: 0x802A1000 + subsegments: + - [0x76F0E0, c, snowman_doll] + - [0x76F5A0] + - name: dried_shroom + dir: battle/move/item + type: code + start: 0x770010 + vram: 0x802A1000 + subsegments: + - [0x770010, c, dried_shroom] + - [0x7703D0] + - name: shooting_star + dir: battle/move/item + type: code + start: 0x770B20 + vram: 0x802A1000 + subsegments: + - [0x770B20, c, shooting_star] + - [0x7710F0] + - name: sleepy_sheep + dir: battle/move/item + type: code + start: 0x771A80 + vram: 0x802A1000 + subsegments: + - [0x771A80, c, sleepy_sheep] + - start: 0x772470 + type: .data + name: sleepy_sheep + subsegments: + - [0x772470] + - [0x772A30, ci4, sleepy_sheep1, 56, 48] + - [0x772F70, palette, sleepy_sheep1] + - [0x772F90, ci4, sleepy_sheep2, 56, 48] + - [0x7734D0, palette, sleepy_sheep2] + - [0x7734F0, ci4, sleepy_sheep3, 56, 48] + - [0x773A30, palette, sleepy_sheep3] + - [0x773A50] + - name: stone_cap + dir: battle/move/item + type: code + start: 0x774A50 + vram: 0x802A1000 + subsegments: + - [0x774A50, c, stone_cap] + - [0x774EA0] + - name: tasty_tonic + dir: battle/move/item + type: code + start: 0x775530 + vram: 0x802A1000 + subsegments: + - [0x775530, c, tasty_tonic] + - [0x775890] + - name: thunder_bolt + dir: battle/move/item + type: code + start: 0x7760F0 + vram: 0x802A1000 + subsegments: + - [0x7760F0, c, thunder_bolt] + - [0x776610] + - name: ultra_shroom + dir: battle/move/item + type: code + start: 0x776DB0 + vram: 0x802A1000 + subsegments: + - [0x776DB0, c, ultra_shroom] + - [0x777170] + - name: unknown_item + dir: battle/move/item + type: code + start: 0x7778F0 + vram: 0x802A1000 + subsegments: + - [0x7778F0, c, unknown_item] + - [0x777CB0] + - name: super_soda + dir: battle/move/item + type: code + start: 0x778410 + vram: 0x802A1000 + subsegments: + - [0x778410, c, super_soda] + - [0x7789C0] + - name: hustle_drink + dir: battle/move/item + type: code + start: 0x779710 + vram: 0x802A1000 + subsegments: + - [0x779710, c, hustle_drink] + - [0x779A70] + - name: stop_watch + dir: battle/move/item + type: code + start: 0x77A600 + vram: 0x802A1000 + subsegments: + - [0x77A600, c, stop_watch] + - [0x77A9E0] + - name: dizzy_dial + dir: battle/move/item + type: code + start: 0x77B1C0 + vram: 0x802A1000 + subsegments: + - [0x77B1C0, c, dizzy_dial] + - [0x77B610] + - name: please_come_back + dir: battle/move/item + type: code + start: 0x77BF10 + vram: 0x802A1000 + subsegments: + - [0x77BF10, c, please_come_back] + - [0x77C1D0] + - name: egg_missile + dir: battle/move/item + type: code + start: 0x77C870 + vram: 0x802A1000 + subsegments: + - [0x77C870, c, egg_missile] + - start: 0x77CC00 + type: .data + name: egg_missile + subsegments: + - [0x77CC00] + - [0x77D1C0, ci4, egg_missile1, 32, 32] + - [0x77D3C0, palette, egg_missile1] + - [0x77D3E0, ci4, egg_missile2, 32, 32] + - [0x77D5E0, palette, egg_missile2] + - [0x77D600, ci4, egg_missile3, 32, 32] + - [0x77D800, palette, egg_missile3] + - [0x77D820, ci4, egg_missile4, 32, 32] + - [0x77DA20, palette, egg_missile4] + - [0x77DA40] + - name: insecticide_herb + dir: battle/move/item + type: code + start: 0x77E180 + vram: 0x802A1000 + subsegments: + - [0x77E180, c, insecticide_herb] + - start: 0x77E620 + type: .data + name: insecticide_herb + subsegments: + - [0x77E620] + - [0x77EBE0, ci4, insecticide_herb, 32, 32] + - [0x77EDE0, palette, insecticide_herb] + - [0x77EE00] + - name: fright_jar + dir: battle/move/item + type: code + start: 0x77F3C0 + vram: 0x802A1000 + subsegments: + - [0x77F3C0, c, fright_jar] + - [0x77F7A0] + - name: mystery + dir: battle/move/item + type: code + start: 0x7800E0 + vram: 0x802A1000 + subsegments: + - [0x7800E0, c, mystery] + - start: 0x780AB0 + type: .data + name: mystery + subsegments: + - [0x780AB0] + - [0x781070, ci4, mystery, 32, 32] + - [0x781270, palette, mystery] + - [0x781290] + - name: repel_gel + dir: battle/move/item + type: code + start: 0x781720 + vram: 0x802A1000 + subsegments: + - [0x781720, c, repel_gel] + - [0x781A40] + - name: life_shroom + dir: battle/move/item + type: code + start: 0x782160 + vram: 0x802A1000 + subsegments: + - [0x782160, c, life_shroom] + - [0x7826E0] + - name: coconut + dir: battle/move/item + type: code + start: 0x7833D0 + vram: 0x802A1000 + subsegments: + - [0x7833D0, c, coconut] + - start: 0x783690 + type: .data + name: coconut + subsegments: + - [0x783690] + - [0x783C50, ci4, coconut, 32, 32] + - [0x783E50, palette, coconut] + - [0x783E70] + - name: electro_pop + dir: battle/move/item + type: code + start: 0x7842D0 + vram: 0x802A1000 + subsegments: + - [0x7842D0, c, electro_pop] + - [0x7847A0] + - name: strange_cake + dir: battle/move/item + type: code + start: 0x784FB0 + vram: 0x802A1000 + subsegments: + - [0x784FB0, c, strange_cake] + - start: 0x785AE0 + type: .data + name: strange_cake + subsegments: + - [0x785AE0] + - [0x7860A0, ci4, strange_cake1, 32, 32] + - [0x7862A0, palette, strange_cake1] + - [0x7862C0, ci4, strange_cake2, 32, 32] + - [0x7864C0, palette, strange_cake2] + - [0x7864E0, ci4, strange_cake3, 32, 32] + - [0x7866E0, palette, strange_cake3] + - [0x786700] + - name: food + dir: battle/move/item + type: code + start: 0x786CF0 + vram: 0x802A1000 + subsegments: + - [0x786CF0, c, food] + - [0x7873A0] + + - [0x788240, bin] - name: world_model_anim_kzn_01 dir: world/model_anim/kzn diff --git a/ver/pal/symbol_addrs.txt b/ver/pal/symbol_addrs.txt index 732bd8e3bd..8fc5153491 100644 --- a/ver/pal/symbol_addrs.txt +++ b/ver/pal/symbol_addrs.txt @@ -1700,6 +1700,36 @@ D_8021CF40_5A3620 = 0x8021CF40; // rom:0x5F64B0 monstar_bubbles = 0x80223680; // rom:0x69B6F0 battle_area_sam2_actor_img_png = 0x8021A098; // rom:0x692108 battle_area_sam2_actor_img_pal = 0x8021A298; // rom:0x692308 +battle_item_dusty_hammer_png = 0x802A1880; // rom:0x76B280 +battle_item_dusty_hammer_pal = 0x802A1A80; // rom:0x76B480 +battle_item_pebble_png = 0x802A1880; // rom:0x76D320 +battle_item_pebble_pal = 0x802A1A80; // rom:0x76D520 +battle_item_sleepy_sheep1_png = 0x802A1FB0; // rom:0x772A30 +battle_item_sleepy_sheep1_pal = 0x802A24F0; // rom:0x772F70 +battle_item_sleepy_sheep2_png = 0x802A2510; // rom:0x772F90 +battle_item_sleepy_sheep2_pal = 0x802A2A50; // rom:0x7734D0 +battle_item_sleepy_sheep3_png = 0x802A2A70; // rom:0x7734F0 +battle_item_sleepy_sheep3_pal = 0x802A2FB0; // rom:0x773A30 +battle_item_egg_missile1_png = 0x802A1950; // rom:0x77D1C0 +battle_item_egg_missile1_pal = 0x802A1B50; // rom:0x77D3C0 +battle_item_egg_missile2_png = 0x802A1B70; // rom:0x77D3E0 +battle_item_egg_missile2_pal = 0x802A1D70; // rom:0x77D5E0 +battle_item_egg_missile3_png = 0x802A1D90; // rom:0x77D600 +battle_item_egg_missile3_pal = 0x802A1F90; // rom:0x77D800 +battle_item_egg_missile4_png = 0x802A1FB0; // rom:0x77D820 +battle_item_egg_missile4_pal = 0x802A21B0; // rom:0x77DA20 +battle_item_insecticide_herb_png = 0x802A1A60; // rom:0x77EBE0 +battle_item_insecticide_herb_pal = 0x802A1C60; // rom:0x77EDE0 +battle_item_mystery_png = 0x802A1F90; // rom:0x781070 +battle_item_mystery_pal = 0x802A2190; // rom:0x781270 +battle_item_coconut_png = 0x802A1880; // rom:0x783C50 +battle_item_coconut_pal = 0x802A1A80; // rom:0x783E50 +battle_item_strange_cake1_png = 0x802A20F0; // rom:0x7860A0 +battle_item_strange_cake1_pal = 0x802A22F0; // rom:0x7862A0 +battle_item_strange_cake2_png = 0x802A2310; // rom:0x7862C0 +battle_item_strange_cake2_pal = 0x802A2510; // rom:0x7864C0 +battle_item_strange_cake3_png = 0x802A2530; // rom:0x7864E0 +battle_item_strange_cake3_pal = 0x802A2730; // rom:0x7866E0 mac_01_toad_house_blanket_vtx = 0x8024B5F0; // rom:0x877F80 size:0x15E0 mac_01_toad_house_blanket_gfx = 0x8024CBD0; // rom:0x879560 mac_01_toad_house_blanket_img = 0x8024CD38; // rom:0x8796C8 diff --git a/ver/pal/undefined_syms.txt b/ver/pal/undefined_syms.txt index 15d396a31b..03093aacb8 100644 --- a/ver/pal/undefined_syms.txt +++ b/ver/pal/undefined_syms.txt @@ -1,5 +1,6 @@ Entity_ScriptSpring_AnimLaunch = 0x1E4; Entity_SimpleSpring_AnimLaunch = 0x1E4; +set_time_freeze_mode = 0x80027008; get_time_freeze_mode = 0x80027110; start_rumble = 0x80028E88; length2D = 0x80028F70; @@ -16,9 +17,11 @@ signF = 0x800299FC; clamp_angle = 0x80029AA4; get_clamped_angle_diff = 0x80029BA8; atan2 = 0x80029C00; +get_player_normal_pitch = 0x80029DD0; dist2D = 0x80029E54; dist3D = 0x80029EAC; add_vec2D_polar = 0x80029F1C; +sin_cos_rad = 0x8002A034; sin_rad = 0x8002A0EC; cos_rad = 0x8002A150; sin_cos_deg = 0x8002A1B4; @@ -47,6 +50,8 @@ create_basic_npc = 0x80038D34; create_standard_npc = 0x80038D54; free_npc = 0x80038EBC; get_npc_by_index = 0x80038FCC; +npc_do_other_npc_collision = 0x800394FC; +npc_try_snap_to_ground = 0x80039CD8; npc_get_render_yaw = 0x8003A294; npc_move_heading = 0x8003AF44; get_npc_unsafe = 0x8003AFDC; @@ -54,17 +59,18 @@ get_npc_safe = 0x8003B038; enable_npc_shadow = 0x8003B090; disable_npc_shadow = 0x8003B0EC; enable_npc_blur = 0x8003B214; +disable_npc_blur = 0x8003B29C; set_npc_yaw = 0x8003B830; npc_set_palswap_mode_A = 0x8003B8C0; npc_set_palswap_1 = 0x8003B93C; npc_set_palswap_2 = 0x8003B954; func_8003D624 = 0x8003DB14; spawn_surface_effects = 0x8003DB50; -spawn_surface_effects = 0x8003DB50; init_encounter_status = 0x8003E828; kill_enemy = 0x8003EC9C; get_enemy = 0x8003F1D8; get_enemy_safe = 0x8003F258; +is_starting_conversation = 0x80044644; SetEncounterStatusFlags = 0x80044670; IsStartingConversation = 0x800446E0; func_80044238 = 0x80044728; @@ -106,6 +112,8 @@ func_80045838 = 0x80045D28; func_800458CC = 0x80045DBC; OnPlayerFled = 0x80045DF0; SetTattleMessage = 0x80045F48; +remove_status_debuff = 0x80047D88; +remove_status_static = 0x80047E90; remove_status_chill_out = 0x80048074; spawn_drops = 0x80048860; is_point_within_region = 0x800495B4; @@ -144,8 +152,9 @@ get_map_IDs_by_name = 0x8005B318; load_asset_by_name = 0x8005B408; initialize_collision = 0x8005B6B4; update_collider_transform = 0x8005C144; -update_collider_transform = 0x8005C144; +get_collider_flags = 0x8005C4C8; get_collider_center = 0x8005C530; +test_ray_colliders = 0x8005D3F0; npc_follow_init = 0x8005E5EC; npc_update_npc_tracking = 0x8005E6F4; npc_follow_npc = 0x8005E84C; @@ -212,19 +221,37 @@ wMapBgName = 0x800D5DD8; gBattleStatus = 0x800D87E0; npc_raycast_down_around = 0x800D8EE8; npc_raycast_down_sides = 0x800D92EC; +npc_raycast_up = 0x800D95E0; +npc_raycast_up_corners = 0x800D9998; npc_test_move_taller_with_slipping = 0x800DA254; npc_test_move_simple_with_slipping = 0x800DA3B4; npc_test_move_simple_without_slipping = 0x800DA45C; +npc_test_move_complex_with_slipping = 0x800DA504; player_raycast_below_cam_relative = 0x800DABDC; +player_raycast_up_corners = 0x800DAF54; +player_test_lateral_overlap = 0x800DB374; clear_player_status = 0x800DC3C0; suggest_player_anim_allow_backward = 0x800DC66C; +force_player_anim = 0x800DC6C0; +suggest_player_anim_always_forward = 0x800DC6E8; get_xz_dist_to_player = 0x800DC7F8; +enable_player_shadow = 0x800DC820; +disable_player_shadow = 0x800DC854; +disable_player_static_collisions = 0x800DC884; +enable_player_static_collisions = 0x800DC8B0; disable_player_input = 0x800DC8E8; enable_player_input = 0x800DC914; +move_player = 0x800DEEE8; +gravity_use_fall_parms = 0x800DF7DC; player_fall_distance = 0x800DFC48; player_check_collision_below = 0x800DFC84; +phys_main_collision_below = 0x800E0EB4; +func_800E4AD8 = 0x800E1248; +phys_adjust_cam_on_landing = 0x800E1CA0; phys_get_spin_history = 0x800E20A8; set_action_state = 0x800E2514; +start_falling = 0x800E2740; +start_bounce_b = 0x800E27FC; peach_force_disguise_action = 0x800E2B14; clear_player_data = 0x800E3B10; get_player_data = 0x800E3CD4; @@ -253,17 +280,33 @@ add_coins = 0x800E6918; increment_max_SP = 0x800E6A0C; set_max_SP = 0x800E6A30; subtract_hp = 0x800E6B8C; +remove_consumable = 0x800E6CCC; +func_800EA52C = 0x800E6D7C; switch_to_partner = 0x800E79B8; func_800EB2A4 = 0x800E7AF4; +partner_use_ability = 0x800E7B64; partner_get_enter_map_script = 0x800E7E88; +partner_kill_ability_script = 0x800E801C; partner_suspend_ability_script = 0x800E8068; partner_resume_ability_script = 0x800E80B0; +partner_walking_enable = 0x800E80F8; +partner_walking_update_player_tracking = 0x800E828C; +partner_walking_update_motion = 0x800E8390; +partner_flying_enable = 0x800E9B60; +partner_flying_update_player_tracking = 0x800E9D08; +partner_flying_update_motion = 0x800E9E20; +partner_init_put_away = 0x800EB1E4; +partner_put_away = 0x800EB208; +partner_init_get_out = 0x800EB514; +partner_get_out = 0x800EB538; func_800EF300 = 0x800EBB50; +enable_partner_ai = 0x800EBB78; partner_set_tether_distance = 0x800EBBE4; partner_reset_tether_distance = 0x800EBBF4; partner_set_goal_pos = 0x800EBC10; func_800EF3D4 = 0x800EBC24; partner_clear_player_tracking = 0x800EBCAC; +partner_force_player_flip_done = 0x800EBD30; partner_enable_input = 0x800EBE50; partner_disable_input = 0x800EBE78; hide_popup_menu = 0x800EDC00; @@ -275,21 +318,32 @@ wPartnerHudScripts = 0x800F4330; wDisabledPartnerHudScripts = 0x800F4370; HES_AnimatedHandPointer = 0x80102D18; HES_StatusCoin = 0x80106D58; +HES_Refund = 0x80107264; +HES_Refund_de = 0x8010739C; +HES_Refund_fr = 0x801074D4; +HES_Refund_es = 0x8010760C; HES_BlueMeter = 0x801076A4; HES_AButton = 0x801076D0; HES_MashAButton = 0x80107728; HES_SlowlyMashAButton = 0x801077DC; +HES_StickNeutral = 0x801079C4; +HES_StickHoldLeft = 0x801079F0; +HES_StickTapRight = 0x80107D8C; HES_RunAwayOK = 0x80107DEC; ui_box_corners5_png = 0x80109D00; wPartnerNpc = 0x8010B420; +TweesterTouchingPartner = 0x8010B444; NpcHitQueryColliderID = 0x8010B468; gPartnerStatus = 0x8010D6B0; gPlayerStatus = 0x8010DAC8; gPlayerData = 0x8010DD90; +update_entities = 0x8010E1D0; exec_entity_commandlist = 0x8010E868; get_entity_by_index = 0x8010F0E8; get_shadow_by_index = 0x8010F104; +get_entity_type = 0x8010F1A4; delete_entity = 0x8010F1D0; +entity_try_partner_interaction_trigger = 0x8010F4DC; clear_entity_data = 0x8010F7B8; create_entity = 0x801103C4; MakeEntity = 0x80110838; @@ -366,9 +420,12 @@ msg_get_glyph = 0x8012D480; draw_ci_image_with_clipping = 0x8012D540; get_item_entity = 0x8012FAF8; clear_item_entity_data = 0x8012FB90; +make_item_entity = 0x8012FF94; make_item_entity_nodelay = 0x80130634; +test_item_entity_position = 0x80132B68; set_item_entity_flags = 0x80132CE8; clear_item_entity_flags = 0x80132D28; +auto_collect_item_entity = 0x80132D50; set_item_entity_position = 0x80132DAC; set_screen_overlay_params_front = 0x80136928; set_screen_overlay_params_back = 0x80136944; @@ -388,6 +445,7 @@ fold_appendGfx_component = 0x80139B10; hud_element_clear_cache = 0x8013FCA0; hud_element_create = 0x80140054; hud_element_draw_clipped = 0x80143358; +hud_element_draw_without_clipping = 0x80143390; hud_element_set_script = 0x801433AC; hud_element_free = 0x801434A4; hud_element_set_render_pos = 0x80143534; @@ -398,10 +456,13 @@ hud_element_clear_flags = 0x801435DC; hud_element_set_scale = 0x801437D0; hud_element_set_alpha = 0x80143A60; hud_element_set_tint = 0x80143AAC; +hud_element_create_transform_A = 0x80143AD8; +hud_element_set_transform_rotation = 0x80143DD4; clear_saved_variables = 0x80143ED0; set_global_byte = 0x801440D0; get_global_byte = 0x801440E8; clear_trigger_data = 0x80144230; +get_trigger_by_id = 0x80144880; reset_background_settings = 0x801449A8; enable_background_wave = 0x80145DBC; basic_window_update = 0x80146024; @@ -415,6 +476,7 @@ sfx_play_sound_with_params = 0x80148668; sfx_stop_sound = 0x8014881C; sfx_play_sound = 0x80148864; sfx_play_sound_at_player = 0x80148888; +sfx_play_sound_at_npc = 0x801488B8; sfx_play_sound_at_position = 0x8014890C; sfx_get_spatialized_sound_params = 0x801489B4; bgm_set_song = 0x801494C8; @@ -440,6 +502,7 @@ gBackgroundImage = 0x80200000; interp_value_with_easing = 0x802410E4; UseBattleCamPreset = 0x8024E5BC; UseBattleCamPresetImmediately = 0x8024E604; +SetBattleCamParam = 0x8024E6E8; SetBattleCamTarget = 0x8024E8AC; SetBattleCamOffsetZ = 0x8024E9F8; SetBattleCamYaw = 0x8024EA84; @@ -450,8 +513,17 @@ SetBattleCamZoom = 0x8024EC0C; AddBattleCamZoom = 0x8024EC4C; func_8024ECF8 = 0x8024EC98; FreezeBattleCam = 0x8024ED18; +func_8024EDA4 = 0x8024ED44; +btl_set_popup_duration = 0x8024FA64; ShowMessageBox = 0x80251474; +ShowVariableMessageBox = 0x802514CC; +IsMessageBoxDisplayed = 0x80251544; +WaitForMessageBoxDone = 0x8025158C; SetMessageBoxDuration = 0x802515C8; +ItemDamageEnemy = 0x802528E8; +ItemSpookEnemy = 0x80252AE4; +ItemAfflictEnemy = 0x80252CFC; +ItemCheckHit = 0x80252F00; ActorSpeak = 0x802530F0; EndActorSpeech = 0x80253490; ShowBattleChoice = 0x802536F8; @@ -465,7 +537,12 @@ PlaySoundAtActor = 0x80253A1C; PlaySoundAtPart = 0x80253A90; PlayLoopingSoundAtActor = 0x80253B34; StopLoopingSoundAtActor = 0x80253BD8; +MakeStatusField = 0x80253D54; +save_tattle_flags = 0x80253ED0; load_tattle_flags = 0x80254038; +MultiplyByActorScale = 0x8025419C; +MultiplyVec3ByActorScale = 0x8025429C; +ApplyShrinkFromOwner = 0x80254358; StartRumble = 0x802543D8; player_create_target_list = 0x80263424; set_animation = 0x802640F4; @@ -473,19 +550,34 @@ add_xz_vec3f = 0x80264520; play_movement_dust_effects = 0x802646E8; get_actor_part = 0x80264854; lookup_defense = 0x8026623C; +lookup_status_chance = 0x80266290; +inflict_status = 0x80266338; +player_team_is_ability_active = 0x802676A4; +btl_update_ko_status = 0x80267B74; +LoadItemScript = 0x802682C0; LoadActionCommand = 0x802685B0; +action_command_init_status = 0x80268C48; +func_80269118 = 0x80269508; +func_80269160 = 0x80269550; +SetActionDifficultyTable = 0x8026958C; SetupMashMeter = 0x802695B8; +GetActionSuccess = 0x80269684; SetActionSuccess = 0x802696B0; SetActionCommandMode = 0x802696DC; GetActionCommandMode = 0x80269708; +SetActionHudPrepareTime = 0x80269734; SetCommandAutoSuccess = 0x8026978C; CloseActionCommandInfo = 0x80269800; func_80269470 = 0x80269860; ShowActionHud = 0x80269894; GetActionSuccessCopy = 0x802698E8; func_80269524 = 0x80269914; +func_80269550 = 0x80269940; GetBlockResult = 0x8026996C; GetActionResult = 0x80269998; +SetActionResult = 0x802699C4; +func_80269600 = 0x802699F0; +set_goal_pos_to_part = 0x80269B44; get_actor = 0x8026A15C; LoadBattleSection = 0x8026A1D4; GetBattlePhase = 0x8026A218; @@ -501,6 +593,7 @@ CountPlayerTargets = 0x8026A53C; ForceHomePos = 0x8026A5DC; SetHomePos = 0x8026A6C0; SetGoalToTarget = 0x8026A798; +SetGoalToFirstTarget = 0x8026A88C; SetGoalPos = 0x8026A900; SetIdleGoal = 0x8026AA1C; AddGoalPos = 0x8026AB38; @@ -600,6 +693,7 @@ SetActorSounds = 0x8026FB30; ResetActorSounds = 0x8026FC28; SetPartSounds = 0x8026FDF0; SetActorType = 0x8026FF10; +ShowShockEffect = 0x8026FFA0; GetActorAttackBoost = 0x8026FFF4; GetActorDefenseBoost = 0x8027005C; BoostAttack = 0x802700C4; @@ -612,9 +706,12 @@ CopyBuffs = 0x80271550; GetMenuSelection = 0x802737B4; func_80273444 = 0x80273834; PlayerFallToGoal = 0x80273C84; +PlayerRunToGoal = 0x80274054; GetPlayerHP = 0x80274624; +DispatchDamagePlayerEvent = 0x80274D0C; EnablePlayerBlur = 0x80274D68; DispatchEventPlayer = 0x8027730C; +dispatch_event_actor = 0x80277550; BindTakeTurn = 0x80278D20; PauseTakeTurn = 0x80278D94; ResumeTakeTurn = 0x80278E0C; @@ -631,6 +728,7 @@ RunToGoal = 0x8027A254; IdleRunToGoal = 0x8027A654; JumpPartTo = 0x8027A8D4; FallPartTo = 0x8027AC44; +LandJumpPart = 0x8027AF4C; RunPartTo = 0x8027B09C; FlyToGoal = 0x8027BA14; IdleFlyToGoal = 0x8027BFA8; @@ -668,17 +766,31 @@ EnableActorGlow = 0x8027DF94; WasStatusInflicted = 0x8027E058; CopyStatusEffects = 0x8027E0AC; ClearStatusEffects = 0x8027E190; +dispatch_event_partner = 0x8027E270; +GetActorLevel = 0x80280138; +PartnerDamageEnemy = 0x802801A4; +PartnerAfflictEnemy = 0x802803F4; +PartnerPowerBounceEnemy = 0x80280660; +PartnerTestEnemy = 0x802808C0; +GetActionCommandResult = 0x80280BC0; +PartnerYieldTurn = 0x80280C08; GetDamageIntensity = 0x80280C30; +LoadStarPowerScript = 0x80280D40; DemoBattleBeginDelay = 0x80280DE8; MakeShop = 0x80281878; MakeShopOwner = 0x80281BF0; CreateMapRoom = 0x80281CBC; +bActorTattles = 0x80282F88; +bActorOffsets = 0x802832D8; CreatePushBlockGrid = 0x802832F0; SetPushBlock = 0x8028348C; GetPushBlock = 0x802835D0; +bMarioIdleAnims = 0x80283628; GetGridIndexFromPos = 0x802836C8; +bMarioHideAnims = 0x80283760; SetPushBlockFallEffect = 0x802837BC; ItemShopInteract = 0x80284064; +D_80283EE8 = 0x802843A8; EnterWalk = 0x80285970; EnterWalkShort = 0x80285A70; EnterPostPipe = 0x80285C60; @@ -694,6 +806,35 @@ ExitSplitDoubleDoor = 0x80285EAC; EnterSplitDoubleDoor = 0x80285ED4; BaseExitDoor = 0x80285EFC; BaseEnterDoor = 0x802861C0; +HES_AimMarkerA = 0x802933FC; +HES_AimMarkerB = 0x80293494; +HES_AimMarkerC = 0x8029352C; +HES_AimMarkerD = 0x802935C4; +HES_AimMarkerE = 0x8029365C; +HES_AimMarkerF = 0x802936F4; +HES_AimShimmerA = 0x802938BC; +HES_AimShimmerB = 0x80293954; +HES_AimShimmerC = 0x802939EC; +HES_AimShimmerD = 0x80293A84; +HES_AimShimmerE = 0x80293B1C; +HES_AimShimmerF = 0x80293BB4; +HES_AimReticle = 0x80293D7C; +HES_AimTarget = 0x80293DB4; +HES_AimBlinkA = 0x80293DEC; +UseMystery = 0x80294490; +DoSleepHit = 0x80294C30; +D_80294720 = 0x80294D70; +DoPartnerRunAway = 0x8029514C; +DoPartnerBurnContact = 0x802952B8; +DoPartnerSpikeContact = 0x80295634; +D_80295350 = 0x802959A0; +D_80295744 = 0x80295D94; +DoPartnerRecover = 0x80296514; +DoPartnerHit = 0x80296664; +DoPartnerBurn = 0x8029686C; +D_802976E8 = 0x80297D38; +D_802977BC = 0x80297E0C; +DoPartnerBlock = 0x80297E64; ForceNextTarget = 0x80299240; DoNormalHit = 0x80299694; DoBurnHit = 0x8029A720; @@ -712,13 +853,47 @@ D_8029C0A4 = 0x8029C6F4; D_8029C12C = 0x8029C77C; DoAirLift = 0x8029C9CC; DoBlowAway = 0x8029CAF8; +gActionCommandStatus = 0x802A0230; +action_command_air_lift_init = 0x802A9000; +action_command_air_raid_init = 0x802A9000; +action_command_body_slam_init = 0x802A9000; +action_command_bomb_init = 0x802A9000; +action_command_dizzy_shell_init = 0x802A9000; +action_command_fire_shell_init = 0x802A9000; +action_command_hammer_init = 0x802A9000; +action_command_hurricane_init = 0x802A9000; action_command_jump_init = 0x802A9000; +action_command_mega_shock_init = 0x802A9000; +action_command_power_shock_init = 0x802A9000; +action_command_smack_init = 0x802A9000; +action_command_spiny_surge_init = 0x802A9000; +action_command_spook_init = 0x802A9000; +action_command_squirt_init = 0x802A9000; action_command_stop_leech_init = 0x802A9000; +action_command_tidal_wave_init = 0x802A9000; +action_command_water_block_init = 0x802A9000; action_command_whirlwind_init = 0x802A9000; action_command_stop_leech_start = 0x802A9110; +action_command_squirt_start = 0x802A911C; action_command_jump_start = 0x802A9120; +action_command_tidal_wave_start = 0x802A9138; +action_command_spiny_surge_start = 0x802A916C; +action_command_bomb_start = 0x802A9170; +action_command_dizzy_shell_start = 0x802A9170; +action_command_air_raid_start = 0x802A9178; +action_command_fire_shell_start = 0x802A9178; +action_command_smack_start = 0x802A917C; +action_command_spook_start = 0x802A917C; +action_command_air_lift_start = 0x802A9184; +action_command_hurricane_start = 0x802A91A0; +action_command_mega_shock_start = 0x802A91A0; action_command_break_free_start = 0x802A91B0; +action_command_body_slam_start = 0x802A91B8; action_command_whirlwind_start = 0x802A91E0; +action_command_power_shock_start = 0x802A9210; +action_command_hammer_start = 0x802A9258; +action_command_water_block_start = 0x802A9398; +SpeechBubblePtr = 0x802B79A8; Entity_CymbalPlant = 0x802BC788; Entity_PinkFlower = 0x802BC7AC; Entity_SpinningFlower = 0x802BC7F4; @@ -881,6 +1056,7 @@ SwitchMessage = 0x802D3AFC; ShowChoice = 0x802D3B6C; CloseChoice = 0x802D3BF8; CancelMessage = 0x802D3C20; +cancel_current_message = 0x802D3C48; SetMessageText = 0x802D3CEC; SetMessageValue = 0x802D3D44; HidePlayerShadow = 0x802D3DA0; @@ -924,6 +1100,21 @@ Disable8bitMario = 0x802D5B88; func_802D2C14 = 0x802D5C14; PlaySoundAtPlayer = 0x802D5CD8; InitVirtualEntityList = 0x802D6398; +CreateVirtualEntity = 0x802D6474; +DeleteVirtualEntity = 0x802D6624; +SetVirtualEntityPosition = 0x802D66E0; +GetVirtualEntityPosition = 0x802D678C; +SetVirtualEntityRotation = 0x802D6840; +SetVirtualEntityScale = 0x802D68EC; +SetVirtualEntityMoveSpeed = 0x802D6998; +SetVirtualEntityJumpGravity = 0x802D69FC; +VirtualEntityMoveTo = 0x802D6A60; +VirtualEntityJumpTo = 0x802D6C58; +SetVirtualEntityFlags = 0x802D6F74; +virtual_entity_create = 0x802D720C; +virtual_entity_set_pos = 0x802D7364; +virtual_entity_set_scale = 0x802D73AC; +virtual_entity_delete_by_index = 0x802D73F4; MakeLerp = 0x802D75B0; UpdateLerp = 0x802D762C; RandInt = 0x802D76B0; @@ -986,9 +1177,12 @@ SetItemFlags = 0x802DA1B4; SetItemAlpha = 0x802DA23C; AddCoin = 0x802DA298; AddStarPieces = 0x802DA310; +GetItemPower = 0x802DA34C; ShowGotItem = 0x802DA3C4; show_start_recovery_shimmer = 0x802DA480; show_recovery_shimmer = 0x802DA4E0; +ShowStartRecoveryShimmer = 0x802DA540; +ShowRecoveryShimmer = 0x802DA5F8; ShowEmote = 0x802DA8C0; RemoveEffect = 0x802DAB04; func_802D7B10 = 0x802DAB30; @@ -996,7 +1190,6 @@ func_802D7B44 = 0x802DAB64; SetMotionBlurParams = 0x802DAD18; ShowSweat = 0x802DAE28; ShowSleepBubble = 0x802DB048; -ShowSleepBubble = 0x802DB048; SetSleepBubbleTimeLeft = 0x802DB268; PlayEffect = 0x802DB2BC; SetSpriteShading = 0x802DC720; @@ -1012,6 +1205,7 @@ fx_emote = 0x802DD2C0; fx_sparkles = 0x802DD320; fx_shape_spell = 0x802DD380; fx_gather_energy_pink = 0x802DD3E0; +fx_smoke_ring = 0x802DD560; fx_damage_stars = 0x802DD5C0; fx_explosion = 0x802DD620; fx_lens_flare = 0x802DD680; @@ -1023,8 +1217,13 @@ fx_sweat = 0x802DDBC0; fx_sleep_bubble = 0x802DDC20; fx_stars_orbiting = 0x802DDE60; fx_radial_shimmer = 0x802DDFE0; +fx_ending_decals = 0x802DE040; +fx_lightning = 0x802DE100; fx_fire_breath = 0x802DE160; +fx_bulb_glow = 0x802DE340; fx_3D = 0x802DE3A0; +fx_fire_flower = 0x802DE460; +fx_recover = 0x802DE4C0; fx_snowfall = 0x802DE6A0; fx_46 = 0x802DE700; fx_floating_rock = 0x802DE940; @@ -1033,15 +1232,25 @@ fx_quizmo_answer = 0x802DEAC0; fx_motion_blur_flame = 0x802DEB20; fx_energy_orb_wave = 0x802DEB80; fx_quizmo_audience = 0x802DEC40; +fx_stat_change = 0x802DED00; fx_snaking_static = 0x802DED60; +fx_thunderbolt_ring = 0x802DEDC0; +fx_squirt = 0x802DEE20; +fx_water_block = 0x802DEE80; fx_water_fountain = 0x802DEF40; +fx_underwater = 0x802DEFA0; fx_lightning_bolt = 0x802DF000; +fx_water_splash = 0x802DF060; +fx_throw_spiny = 0x802DF240; +fx_65 = 0x802DF2A0; +fx_floating_cloud_puff = 0x802DF420; fx_energy_in_out = 0x802DF4E0; fx_tattle_window = 0x802DF540; fx_huff_puff_breath = 0x802DF600; fx_cold_breath = 0x802DF660; fx_misc_particles = 0x802DF780; fx_static_status = 0x802DF7E0; +fx_moving_cloud = 0x802DF840; fx_chapter_change = 0x802DFA20; fx_ice_shard = 0x802DFA80; fx_spirit_card = 0x802DFAE0;