diff --git a/include/enums.h b/include/enums.h index cb271c0dc7..9a3454b624 100644 --- a/include/enums.h +++ b/include/enums.h @@ -2414,9 +2414,7 @@ enum DoorSounds { DOOR_SOUNDS_UNUSED = 6, }; -#if VERSION_US || VERSION_PAL || VERSION_IQUE #include "sprite/sprite_shading_profiles.h" -#endif enum LightSourceFlags { LIGHT_SOURCE_DISABLED = 0, diff --git a/src/evt/demo_api.c b/src/evt/demo_api.c index 42f63de298..0784f9564a 100644 --- a/src/evt/demo_api.c +++ b/src/evt/demo_api.c @@ -1,11 +1,6 @@ #include "common.h" #include "ld_addrs.h" -#if VERSION_JP // TODO remove once this part is split -#define SHADING_NONE 0xFFFFFFFF -extern Addr sprite_shading_profiles_ROM_START; -#endif - // TODO: not sure where these go u8 ReflectWallPrevAlpha = 254; u8 ReflectFloorPrevAlpha = 254; diff --git a/src/menu_hud_scripts.c b/src/menu_hud_scripts.c index 5b474c7422..f2a534f4ed 100644 --- a/src/menu_hud_scripts.c +++ b/src/menu_hud_scripts.c @@ -56,6 +56,11 @@ HudScript HES_FilenameCaret = { HudScript HES_FilenameSpace = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_files_filename_space, 8, 8); +#if VERSION_JP +HudScript HES_HeaderStats = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pause_label_spirits, 32, 16); + +HudScript HES_HeaderBadges = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pause_label_map, 32, 16); +#else HudScript HES_HeaderStats = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pause_label_stats, 48, 16); HudScript HES_HeaderBadges = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pause_label_badges, 48, 16); @@ -67,6 +72,7 @@ HudScript HES_HeaderParty = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pause_label_party, 48 HudScript HES_HeaderSpirits = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pause_label_spirits, 48, 16); HudScript HES_HeaderMap = HES_TEMPLATE_CI_CUSTOM_SIZE(ui_pause_label_map, 48, 16); +#endif #if VERSION_PAL HudScript HES_HeaderStats_de = HES_TEMPLATE_CI_CUSTOM_SIZE(de_ui_pause_label_stats, 48, 16); diff --git a/src/world/actions.c b/src/world/actions.c index c409103ae7..09c7e1f1a6 100644 --- a/src/world/actions.c +++ b/src/world/actions.c @@ -38,7 +38,6 @@ void action_update_use_tweester(void); void action_update_state_23(void); #if VERSION_JP // TODO remove once segments are split -extern Addr world_use_item_VRAM; extern Addr world_action_idle_ROM_START; extern Addr world_action_idle_ROM_END; extern Addr world_action_walk_ROM_START; diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index ad9d4ce21e..ca6bd7261d 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -255,10 +255,20 @@ API_CALLABLE(N(SelectTattleMsg)) { switch (script->USE_STATE) { case USE_TATTLE_INIT: +#if VERSION_JP + if (!(goombario->flags & NPC_FLAG_GROUNDED)) { + return ApiStatus_DONE2; + } + if (playerStatus->inputDisabledCount != 0) { + script->VAR_MSG = -1; + return ApiStatus_DONE2; + } +#else if (!(goombario->flags & NPC_FLAG_GROUNDED) || playerStatus->inputDisabledCount != 0) { script->VAR_MSG = -1; return ApiStatus_DONE2; } +#endif script->functionTemp[1] = 3; disable_player_input(); N(IsTattleActive) = TRUE; diff --git a/src/world/partner/lakilester.c b/src/world/partner/lakilester.c index b9e2b2588a..2883a764ca 100644 --- a/src/world/partner/lakilester.c +++ b/src/world/partner/lakilester.c @@ -278,6 +278,7 @@ s32 N(can_dismount)(void) { return canDismount; } +#if !VERSION_JP s32 N(test_mounting_height_adjustment)(Npc* lakilester, f32 height, f32 dist) { f32 x = gPlayerStatus.pos.x; f32 y = gPlayerStatus.pos.y + height; @@ -306,6 +307,7 @@ s32 N(test_mounting_height_adjustment)(Npc* lakilester, f32 height, f32 dist) { } return FALSE; } +#endif void N(apply_riding_static_collisions)(Npc* lakilester) { f32 radius = lakilester->collisionDiameter * 0.8f; @@ -543,6 +545,37 @@ void N(update_riding_physics)(Npc* lakilester) { } } +#if VERSION_JP +s32 N(test_mounting_height_adjustment)(Npc* lakilester, f32 height, f32 dist) { + f32 x = gPlayerStatus.pos.x; + f32 y = gPlayerStatus.pos.y + height; + f32 z = gPlayerStatus.pos.z; + f32 depth = dist; + f32 hitRx, hitRz; + f32 hitDirX, hitDirZ; + f32 deltaY; + + N(MountingDeltaY) = 0; + + if (npc_raycast_down_around(0, &x, &y, &z, &depth, + lakilester->yaw, lakilester->collisionDiameter)) + { + deltaY = y - lakilester->moveToPos.y; + if (deltaY != 0.0f) { + if (fabs(deltaY) < 10.0) { + N(MountingDeltaY) = deltaY; + lakilester->moveToPos.y = y; + return TRUE; + } else { + return FALSE; + } + } + return TRUE; + } + return FALSE; +} +#endif + s32 N(test_dismount_height)(f32* posY) { f32 colliderHeight = gPlayerStatus.colliderHeight; f32 hitDirX, hitDirZ; @@ -643,7 +676,11 @@ API_CALLABLE(N(UseAbility)) { switch (N(AbilityState)) { case RIDE_STATE_BEGIN: +#if VERSION_JP + if (playerStatus->inputDisabledCount != 0) { +#else if (playerStatus->flags & PS_FLAG_HIT_FIRE || playerStatus->inputDisabledCount != 0) { +#endif playerStatus->flags &= ~PS_FLAG_PAUSE_DISABLED; return ApiStatus_DONE2; } @@ -653,6 +690,7 @@ API_CALLABLE(N(UseAbility)) { N(AbilityState)++; // RIDE_STATE_DELAY break; case RIDE_STATE_DELAY: +#if !VERSION_JP if (playerStatus->flags & PS_FLAG_HIT_FIRE) { playerStatus->flags &= ~PS_FLAG_PAUSE_DISABLED; if (N(LockingPlayerInput)) { @@ -661,6 +699,7 @@ API_CALLABLE(N(UseAbility)) { } return ApiStatus_DONE2; } +#endif if (playerStatus->animFlags & PA_FLAG_CHANGING_MAP) { if (script->functionTemp[2] < playerStatus->inputDisabledCount) { @@ -733,7 +772,9 @@ API_CALLABLE(N(UseAbility)) { N(AbilityState)++; // fallthrough case RIDE_STATE_MOUNT_4: +#if !VERSION_JP if (!(playerStatus->flags & PS_FLAG_HIT_FIRE)) { +#endif lakilester->pos.x += (lakilester->moveToPos.x - lakilester->pos.x) / lakilester->duration; lakilester->pos.z += (lakilester->moveToPos.z - lakilester->pos.z) / lakilester->duration; lakilester->pos.y += (lakilester->moveToPos.y - lakilester->pos.y) / lakilester->duration; @@ -773,17 +814,27 @@ API_CALLABLE(N(UseAbility)) { N(AbilityState) = RIDE_STATE_START_RIDING; playerStatus->animFlags |= PA_FLAG_RIDING_PARTNER; } +#if !VERSION_JP } else { N(AbilityState) = RIDE_STATE_FINISH_1; } +#endif break; case RIDE_STATE_START_RIDING: +#if !VERSION_JP if (playerStatus->flags & PS_FLAG_HIT_FIRE) { N(AbilityState) = RIDE_STATE_FINISH_1; break; } +#endif lakilester->duration--; if (lakilester->duration != 0) { +#if VERSION_JP + if (playerStatus->flags & PS_FLAG_HIT_FIRE) { + N(AbilityState) = RIDE_STATE_FINISH_1; + break; + } +#endif if (partnerStatus->pressedButtons & (BUTTON_B | D_CBUTTONS)) { if (N(can_dismount)()) { N(AbilityState) = RIDE_STATE_DISMOUNT_1; diff --git a/src/world/partner/sushie.c b/src/world/partner/sushie.c index bcf605244b..74ed071292 100644 --- a/src/world/partner/sushie.c +++ b/src/world/partner/sushie.c @@ -299,7 +299,11 @@ void N(update_riding_physics)(Npc* sushie) { z = sushie->pos.z; depth = (sushie->collisionHeight * 0.5f) + playerStatus->colliderHeight; if (npc_raycast_up_corners(sushie->collisionChannel, &x, &y, &z, &depth, sushie->yaw, sushie->collisionDiameter * 0.3f) > NO_COLLIDER) { +#if VERSION_JP + sushie->moveToPos.y = y; +#else sushie->moveToPos.y += (((sushie->moveToPos.y - y) + depth) - ((sushie->collisionHeight * 0.5f) + playerStatus->colliderHeight)) * 0.2f; +#endif if (N(DiveTime) % 9 == 0) { fx_rising_bubble(0, sushie->pos.x, sushie->moveToPos.y + (sushie->collisionHeight * 0.5f), sushie->pos.z, (N(WaterSurfaceY) - sushie->moveToPos.y) - (sushie->collisionHeight * 0.5f)); diff --git a/src/world/partner/watt.c b/src/world/partner/watt.c index e0a5995b37..acee400b25 100644 --- a/src/world/partner/watt.c +++ b/src/world/partner/watt.c @@ -341,6 +341,42 @@ API_CALLABLE(N(UseAbility)) { break; case SHINING_STATE_HOLDING: N(sync_held_position)(); +#if VERSION_JP + // wait for begin holding cooldown + if (script->functionTemp[1] != 0) { + script->functionTemp[1]--; + break; + } + if (playerStatus->actionState == ACTION_STATE_USE_SPINNING_FLOWER) { + break; + } + // allow stop-holding input + actionState = playerStatus->actionState; + if ((actionState == ACTION_STATE_IDLE + || actionState == ACTION_STATE_WALK + || actionState == ACTION_STATE_RUN + || actionState == ACTION_STATE_LAND) + && partnerStatus->pressedButtons & BUTTON_B + || playerStatus->flags & PS_FLAG_HIT_FIRE + ) { + case SHINING_STATE_RELEASE: + playerStatus->animFlags &= ~(PA_FLAG_WATT_IN_HANDS | PA_FLAG_USING_WATT); + npc->curAnim = ANIM_WorldWatt_Idle; + partner_clear_player_tracking(npc); + N(IsPlayerHolding) = FALSE; + partnerStatus->actingPartner = PARTNER_NONE; + partnerStatus->partnerActionState = PARTNER_ACTION_NONE; + gGameStatusPtr->keepUsingPartnerOnMapChange = FALSE; + N(AbilityState) = SHINING_STATE_BEGIN; + npc_set_palswap_mode_A(npc, NPC_PAL_ADJUST_NONE); + if (!(playerStatus->flags & PS_FLAG_HIT_FIRE)) { + set_action_state(ACTION_STATE_IDLE); + } else { + set_action_state(ACTION_STATE_HIT_LAVA); + } + return ApiStatus_DONE1; + } +#else // immediately cancel state on touching fire if ((playerStatus->flags & PS_FLAG_HIT_FIRE)) { N(AbilityState) = SHINING_STATE_RELEASE; @@ -364,9 +400,11 @@ API_CALLABLE(N(UseAbility)) { ) { N(AbilityState) = SHINING_STATE_RELEASE; } +#endif break; } +#if !VERSION_JP if (N(AbilityState) == SHINING_STATE_RELEASE) { playerStatus->animFlags &= ~(PA_FLAG_WATT_IN_HANDS | PA_FLAG_USING_WATT); npc->curAnim = ANIM_WorldWatt_Idle; @@ -382,6 +420,7 @@ API_CALLABLE(N(UseAbility)) { } return ApiStatus_DONE1; } +#endif if (N(StaticEffect) != NULL) { N(StaticEffect)->data.staticStatus->pos.x = npc->pos.x; diff --git a/src/world/partners.c b/src/world/partners.c index 92e8740afd..23ebf56efc 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -113,45 +113,6 @@ extern HudScript HES_StatusSPIncrement7; extern EvtScript EVS_World_UseItem; -#if VERSION_JP // TODO remove once segments are split -extern Addr world_use_item_ROM_START; -extern Addr world_use_item_ROM_END; -extern Addr world_use_item_VRAM; -extern Addr world_partner_goombario_ROM_START; -extern Addr world_partner_goombario_ROM_END; -extern Addr world_partner_goombario_VRAM; -extern Addr world_partner_kooper_ROM_START; -extern Addr world_partner_kooper_ROM_END; -extern Addr world_partner_kooper_VRAM; -extern Addr world_partner_bombette_ROM_START; -extern Addr world_partner_bombette_ROM_END; -extern Addr world_partner_bombette_VRAM; -extern Addr world_partner_parakarry_ROM_START; -extern Addr world_partner_parakarry_ROM_END; -extern Addr world_partner_parakarry_VRAM; -extern Addr world_partner_goompa_ROM_START; -extern Addr world_partner_goompa_ROM_END; -extern Addr world_partner_goompa_VRAM; -extern Addr world_partner_watt_ROM_START; -extern Addr world_partner_watt_ROM_END; -extern Addr world_partner_watt_VRAM; -extern Addr world_partner_sushie_ROM_START; -extern Addr world_partner_sushie_ROM_END; -extern Addr world_partner_sushie_VRAM; -extern Addr world_partner_lakilester_ROM_START; -extern Addr world_partner_lakilester_ROM_END; -extern Addr world_partner_lakilester_VRAM; -extern Addr world_partner_bow_ROM_START; -extern Addr world_partner_bow_ROM_END; -extern Addr world_partner_bow_VRAM; -extern Addr world_partner_goombaria_ROM_START; -extern Addr world_partner_goombaria_ROM_END; -extern Addr world_partner_goombaria_VRAM; -extern Addr world_partner_twink_ROM_START; -extern Addr world_partner_twink_ROM_END; -extern Addr world_partner_twink_VRAM; -#endif - s32 partner_is_idle(Npc* partner); s32 world_partner_can_open_menus_default(Npc* partner); void _use_partner_ability(void); diff --git a/src/world/script_api/shops.c b/src/world/script_api/shops.c index 5a30a99b5a..5518c4d1bb 100644 --- a/src/world/script_api/shops.c +++ b/src/world/script_api/shops.c @@ -4,8 +4,10 @@ #include "model.h" #include "pause/pause_common.h" +#if !VERSION_JP extern u8 MessagePlural[]; extern u8 MessageSingular[]; +#endif extern HudScript HES_Item_Coin; s32 shop_get_sell_price(s32 itemID); @@ -98,6 +100,7 @@ s32 shop_owner_buy_dialog(s32 messageIndex, s32 itemName, s32 coinCost, s32 bpCo if (bpCost > 0) { set_message_int_var(bpCost, 2); +#if !VERSION_JP } else { if (coinCost == 1) { suffix = MessageSingular; @@ -105,6 +108,7 @@ s32 shop_owner_buy_dialog(s32 messageIndex, s32 itemName, s32 coinCost, s32 bpCo suffix = MessagePlural; } set_message_text_var((s32) suffix, 2); +#endif } script = start_script(&EVS_ShopBeginSpeech, EVT_PRIORITY_1, 0); @@ -137,6 +141,7 @@ s32 shop_owner_continue_speech_with_quantity(s32 messageIndex, s32 amount) { set_message_int_var(amount, 0); +#if !VERSION_JP if (amount == 1) { suffixMsg = MessageSingular; } else { @@ -144,6 +149,7 @@ s32 shop_owner_continue_speech_with_quantity(s32 messageIndex, s32 amount) { } set_message_text_var((s32) suffixMsg, 1); +#endif script = start_script(&EVS_ShopContinueSpeech, EVT_PRIORITY_1, 0); script->varTable[0] = shopMsgID; @@ -944,7 +950,11 @@ API_CALLABLE(MakeShop) { hud_element_clear_flags(shop->costIconID, HUD_ELEMENT_FLAG_FILTER_TEX); get_worker(create_worker_frontUI(NULL, draw_shop_items)); set_window_properties(WINDOW_ID_ITEM_INFO_NAME, 100, 66, 120, 28, WINDOW_PRIORITY_0, shop_draw_item_name, NULL, -1); +#if VERSION_JP + set_window_properties(WINDOW_ID_ITEM_INFO_DESC, 39, 184, 242, 32, WINDOW_PRIORITY_1, shop_draw_item_desc, NULL, -1); +#else set_window_properties(WINDOW_ID_ITEM_INFO_DESC, 32, 184, 256, 32, WINDOW_PRIORITY_1, shop_draw_item_desc, NULL, -1); +#endif gWindowStyles[10].defaultStyleID = WINDOW_STYLE_9; gWindowStyles[11].defaultStyleID = WINDOW_STYLE_3; shop->curItemSlot = 0; diff --git a/src/world_use_item.c b/src/world_use_item.c index 3b0a2b3bc5..862e490071 100644 --- a/src/world_use_item.c +++ b/src/world_use_item.c @@ -69,13 +69,17 @@ API_CALLABLE(WorldItem_RestoreFP) { API_CALLABLE(WorldItem_PauseTime) { set_time_freeze_mode(TIME_FREEZE_FULL); +#if !VERSION_JP gOverrideFlags |= GLOBAL_OVERRIDES_CANT_PICK_UP_ITEMS; +#endif return ApiStatus_DONE2; } API_CALLABLE(WorldItem_UnpauseTime) { set_time_freeze_mode(TIME_FREEZE_NORMAL); +#if !VERSION_JP gOverrideFlags &= ~GLOBAL_OVERRIDES_CANT_PICK_UP_ITEMS; +#endif return ApiStatus_DONE2; } diff --git a/tools/splat_ext/msg_jp.yaml b/tools/splat_ext/msg_jp.yaml index 70f7e30493..bf36d2b66f 100644 --- a/tools/splat_ext/msg_jp.yaml +++ b/tools/splat_ext/msg_jp.yaml @@ -1,6 +1,46 @@ # This file describes what to name messages when splitting. - [0x00, 0x0000, NONE] +- [0x0B, 0x00BA, CH0_00BA] +- [0x13, 0x0096, CH8_0096] +- [0x1D, 0x0000, EntityTattle_HammerBlock1_CanBreak] +- [0x1D, 0x0001, EntityTattle_HammerBlock2_CantBreak] +- [0x1D, 0x0002, EntityTattle_HammerBlock2_CanBreak] +- [0x1D, 0x0003, EntityTattle_HammerBlock3_CantBreak] +- [0x1D, 0x0004, EntityTattle_HammerBlock3_CanBreak] +- [0x1D, 0x0005, EntityTattle_BrickBlock] +- [0x1D, 0x0006, EntityTattle_ItemBlock] +- [0x1D, 0x0007, EntityTattle_InertBlock] +- [0x1D, 0x0008, EntityTattle_PushBlock] +- [0x1D, 0x0009, EntityTattle_BadgeBlock] +- [0x1D, 0x000A, EntityTattle_Spring] +- [0x1D, 0x000B, EntityTattle_Switch] +- [0x1D, 0x000C, EntityTattle_BigSwitch_SpinJump] +- [0x1D, 0x000D, EntityTattle_BigSwitch_TornadoJump] +- [0x1D, 0x000E, EntityTattle_FloorSwitch_SpinJump] +- [0x1D, 0x000F, EntityTattle_FloorSwitch_TornadoJump] +- [0x1D, 0x0010, EntityTattle_Pipe] +- [0x1D, 0x0011, EntityTattle_PadLock] +- [0x1D, 0x0012, EntityTattle_SignPost] +- [0x1D, 0x0013, EntityTattle_ArrowSign] +- [0x1D, 0x0014, EntityTattle_BombableRock] +- [0x1D, 0x0015, EntityTattle_Chest] +- [0x1D, 0x0016, EntityTattle_EmptyChest] +- [0x1D, 0x0017, EntityTattle_WoodenCrate_CantBreak] +- [0x1D, 0x0018, EntityTattle_WoodenCrate_SpinJump] +- [0x1D, 0x0019, EntityTattle_WoodenCrate_TornadoJump] +- [0x1D, 0x001A, EntityTattle_BoardedFloor_CantBreak] +- [0x1D, 0x001B, EntityTattle_BoardedFloor_SpinJump] +- [0x1D, 0x001C, EntityTattle_BoardedFloor_TornadoJump] +- [0x1D, 0x001D, EntityTattle_JackInTheBox_SpinJump] +- [0x1D, 0x001E, EntityTattle_JackInTheBox_TornadoJump] +- [0x1D, 0x001F, EntityTattle_BellbellPlant] +- [0x1D, 0x0020, EntityTattle_TrumpetPlant] +- [0x1D, 0x0021, EntityTattle_CymbalBush] +- [0x1D, 0x0022, EntityTattle_Munchlesia] +- [0x1D, 0x0023, EntityTattle_SpinningFlower] +- [0x1D, 0x0024, EntityTattle_BulbBush] +- [0x1D, 0x0025, EntityTattle_Interact] - [0x20, 0x0000, Menus_Tutorial_SaveBlock] - [0x20, 0x0001, Menus_Tutorial_HeartBlock] - [0x20, 0x0002, Menus_Tutorial_GotItem] @@ -85,6 +125,11 @@ - [0x20, 0x00EA, Menus_00D0] - [0x20, 0x00F0, Menus_00D6] - [0x20, 0x00F1, Menus_00D7] +- [0x21, 0x0002, Choice_0001] +- [0x21, 0x0003, Choice_0002] +- [0x21, 0x0004, Choice_0003] +- [0x21, 0x0005, Choice_0004] +- [0x21, 0x0006, Choice_0005] - [0x21, 0x000A, Choice_000A] - [0x21, 0x001D, Choice_001D] - [0x22, 0x0001, MenuTip_0032] diff --git a/ver/jp/splat.yaml b/ver/jp/splat.yaml index 56153f6110..b45015e59c 100644 --- a/ver/jp/splat.yaml +++ b/ver/jp/splat.yaml @@ -1039,8 +1039,157 @@ segments: - [0x1381B0, ci8, letter_content_12, 70, 95] - [0x139BB0, linker_offset, letter_content_12_pal] - [0x139BB0, palette, letter_content_12] - - [0x139DB0] - - [0x139DB0, bin] + - [0x139DB0, bin] + - name: ui_images_filemenu_pause + type: code + start: 0x139DC0 + vram: 0x8023E000 + subsegments: + - [auto, ci4, ui/pause/unused_badge_points, 24, 24] + - [auto, palette, ui/pause/unused_badge_points] + - [auto, palette, ui/pause/unused_badge_points.disabled] + - [auto, ci4, ui/pause/unused_compass, 24, 24] + - [auto, palette, ui/pause/unused_compass] + - [auto, palette, ui/pause/unused_compass.disabled] + - [auto, ci4, ui/pause/cursor_hand, 16, 16] + - [auto, palette, ui/pause/cursor_hand] + - [auto, ci4, ui/files/filename_caret, 16, 16] + - [auto, palette, ui/files/filename_caret] + - [auto, ci4, ui/files/filename_space, 8, 8] + - [auto, palette, ui/files/filename_space] + - [auto, ci4, ui/pause/label_spirits, 32, 16] + - [auto, palette, ui/pause/label_spirits] + - [auto, ci4, ui/pause/label_map, 32, 16] + - [auto, palette, ui/pause/label_map] + - [auto, ci4, ui/pause/small_digit_0, 8, 8] + - [auto, palette, ui/pause/small_digit_0] + - [auto, ci4, ui/pause/small_digit_1, 8, 8] + - [auto, palette, ui/pause/small_digit_1] + - [auto, ci4, ui/pause/small_digit_2, 8, 8] + - [auto, palette, ui/pause/small_digit_2] + - [auto, ci4, ui/pause/small_digit_3, 8, 8] + - [auto, palette, ui/pause/small_digit_3] + - [auto, ci4, ui/pause/small_digit_4, 8, 8] + - [auto, palette, ui/pause/small_digit_4] + - [auto, ci4, ui/pause/small_digit_5, 8, 8] + - [auto, palette, ui/pause/small_digit_5] + - [auto, ci4, ui/pause/small_digit_6, 8, 8] + - [auto, palette, ui/pause/small_digit_6] + - [auto, ci4, ui/pause/small_digit_7, 8, 8] + - [auto, palette, ui/pause/small_digit_7] + - [auto, ci4, ui/pause/small_digit_8, 8, 8] + - [auto, palette, ui/pause/small_digit_8] + - [auto, ci4, ui/pause/small_digit_9, 8, 8] + - [auto, palette, ui/pause/small_digit_9] + - [auto, ci4, ui/pause/small_text_bp, 8, 8] + - [auto, palette, ui/pause/small_text_bp] + - [auto, ci4, ui/pause/label_jp_file, 32, 16] + - [auto, palette, ui/pause/label_jp_file] + - [auto, ci4, ui/pause/label_jp_file_disabled, 32, 16] + - [auto, palette, ui/pause/label_jp_file_disabled] + - [auto, ci4, ui/files/option_mono_on, 64, 16] + - [auto, palette, ui/files/option_mono_on] + - [auto, ci4, ui/files/option_mono_off, 64, 16] + - [auto, palette, ui/files/option_mono_off] + - [auto, ci4, ui/files/option_stereo_on, 64, 16] + - [auto, palette, ui/files/option_stereo_on] + - [auto, ci4, ui/files/option_stereo_off, 64, 16] + - [auto, palette, ui/files/option_stereo_off] + - [auto, ci4, ui/files/eldstar, 16, 16] + - [auto, palette, ui/files/eldstar] + - [auto, ci4, ui/files/eldstar_silhouette, 16, 16] + - [auto, palette, ui/files/eldstar_silhouette] + - [auto, ci4, ui/files/mamar, 16, 16] + - [auto, palette, ui/files/mamar] + - [auto, ci4, ui/files/mamar_silhouette, 16, 16] + - [auto, palette, ui/files/mamar_silhouette] + - [auto, ci4, ui/files/skolar, 16, 16] + - [auto, palette, ui/files/skolar] + - [auto, ci4, ui/files/skolar_silhouette, 16, 16] + - [auto, palette, ui/files/skolar_silhouette] + - [auto, ci4, ui/files/muskular, 16, 16] + - [auto, palette, ui/files/muskular] + - [auto, ci4, ui/files/muskular_silhouette, 16, 16] + - [auto, palette, ui/files/muskular_silhouette] + - [auto, ci4, ui/files/misstar, 16, 16] + - [auto, palette, ui/files/misstar] + - [auto, ci4, ui/files/misstar_silhouette, 16, 16] + - [auto, palette, ui/files/misstar_silhouette] + - [auto, ci4, ui/files/klevar, 16, 16] + - [auto, palette, ui/files/klevar] + - [auto, ci4, ui/files/klevar_silhouette, 16, 16] + - [auto, palette, ui/files/klevar_silhouette] + - [auto, ci4, ui/files/kalmar, 16, 16] + - [auto, palette, ui/files/kalmar] + - [auto, ci4, ui/files/kalmar_silhouette, 16, 16] + - [auto, palette, ui/files/kalmar_silhouette] + - [auto, ci4, ui/pause/map_walk0, 24, 24] + - [auto, palette, ui/pause/map_walk0] + - [auto, ci4, ui/pause/map_walk1, 24, 24] + - [auto, palette, ui/pause/map_walk1] + - [auto, ci4, ui/pause/map_walk2, 24, 24] + - [auto, palette, ui/pause/map_walk2] + - [auto, ci4, ui/pause/jp_super, 40, 16] + - [auto, palette, ui/pause/jp_super] + - [auto, ci4, ui/pause/jp_ultra, 40, 16] + - [auto, palette, ui/pause/jp_ultra] + - [auto, ci4, ui/pause/list_prev_page, 16, 16] + - [auto, palette, ui/pause/list_prev_page] + - [auto, ci4, ui/pause/list_next_page, 16, 16] + - [auto, palette, ui/pause/list_next_page] + - [auto, ci4, ui/pause/unused_z_up_arrow, 16, 16] + - [auto, palette, ui/pause/unused_z_up_arrow] + - [auto, ci4, ui/pause/unused_r_down_arrow, 16, 16] + - [auto, palette, ui/pause/unused_r_down_arrow] + - [auto, ci4, ui/pause/desc_msg_prev, 16, 16] + - [auto, palette, ui/pause/desc_msg_prev] + - [auto, ci4, ui/pause/desc_msg_next, 16, 16] + - [auto, palette, ui/pause/desc_msg_next] + - [auto, ci4, ui/pause/bp_needed, 48, 8] + - [auto, palette, ui/pause/bp_needed] + - [auto, ci4, ui/pause/mario_large, 32, 32] + - [auto, palette, ui/pause/mario_large] + - [auto, ci4, ui/pause/dash, 16, 8] + - [auto, palette, ui/pause/dash] + - [auto, ci4, ui/pause/stat_bp, 16, 16] + - [auto, palette, ui/pause/stat_bp] + - [auto, ci4, ui/pause/stat_mario, 16, 16] + - [auto, palette, ui/pause/stat_mario] + - [auto, ci4, ui/pause/stat_time, 16, 16] + - [auto, palette, ui/pause/stat_time] + - [auto, ci4, ui/pause/stat_star_piece0, 16, 16] + - [auto, palette, ui/pause/stat_star_piece0] + - [auto, ci4, ui/pause/stat_star_piece1, 16, 16] + - [auto, palette, ui/pause/stat_star_piece1] + - [auto, ci4, ui/pause/stat_star_piece2, 16, 16] + - [auto, palette, ui/pause/stat_star_piece2] + - [auto, ci4, ui/pause/stat_fp, 16, 16] + - [auto, palette, ui/pause/stat_fp] + - [auto, ci4, ui/pause/stat_times, 8, 8] + - [auto, palette, ui/pause/stat_times] + - [auto, ci4, ui/pause/stat_boots0, 16, 16] + - [auto, palette, ui/pause/stat_boots0] + - [auto, ci4, ui/pause/stat_boots1, 16, 16] + - [auto, palette, ui/pause/stat_boots1] + - [auto, ci4, ui/pause/stat_boots2, 16, 16] + - [auto, palette, ui/pause/stat_boots2] + - [auto, ci4, ui/pause/stat_boots3, 16, 16] + - [auto, palette, ui/pause/stat_boots3] + - [auto, ci4, ui/pause/stat_hammer0, 16, 16] + - [auto, palette, ui/pause/stat_hammer0] + - [auto, ci4, ui/pause/stat_hammer1, 16, 16] + - [auto, palette, ui/pause/stat_hammer1] + - [auto, ci4, ui/pause/stat_hammer2, 16, 16] + - [auto, palette, ui/pause/stat_hammer2] + - [auto, ci4, ui/pause/stat_hammer3, 16, 16] + - [auto, palette, ui/pause/stat_hammer3] + - [auto, ci4, ui/pause/partner_rank, 16, 16] + - [auto, palette, ui/pause/partner_rank] + - [auto, ci4, ui/pause/unused_bubble, 56, 16] + - [auto, palette, ui/pause/unused_bubble] + - [auto, .data, menu_hud_scripts] + + - [0x13E130, bin] - name: battle_code type: bin @@ -1048,12 +1197,136 @@ segments: vram: 0x8023E000 - [0x1D4720, pm_icons, icon] - - - name: logos - type: bin + - dir: logos + type: code start: 0x2065C0 + subsegments: + - [auto, rgba16, logo_n64, 128, 112] + - [auto, rgba16, logo_is, 256, 112] + - [auto, rgba16, logo_nintendo, 256, 48] + - [0x2215C0, ci8, title/bg_1, 264, 162] + - [0x22BCD0, palette, title/bg_1] + - [0x22BED0, ci8, title/bg_2, 264, 162] + - [0x2365E0, palette, title/bg_2] + - [0x2367E0, ci8, title/bg_3, 264, 162] + - [0x240EF0, palette, title/bg_3] + - [0x2410F0, ci8, title/bg_4, 264, 162] + - [0x24B800, palette, title/bg_4] + - [0x24BA00, ia8, title/tape, 128, 128] + - [0x24FA00, ci8, title/bowser_silhouette, 128, 128] + - [0x253A00, palette, title/bowser_silhouette] + - start: 0x253C00 + type: pm_imgfx_data + name: imgfx_data + vram: 0 + animations: + - ["shock", 0x14358] + - ["shiver", 0x18200] + - ["vertical_pipe_curl", 0x1A858] + - ["horizontal_pipe_curl", 0x1E830] + - ["startle", 0x29458] + - ["flutter_down", 0x314E0] + - ["unfurl", 0x33498] + - ["get_in_bed", 0x38988] + - ["spirit_capture", 0x39228] + - ["unused_1", 0x5B7A8] + - ["unused_2", 0x7CF10] + - ["unused_3", 0x86490] + - ["tutankoopa_gather", 0x96258] + - ["tutankoopa_swirl_2", 0xA1820] + - ["tutankoopa_swirl_1", 0xACDE8] + - ["shuffle_cards", 0xBBF68] + - ["flip_card_1", 0xC0490] + - ["flip_card_2", 0xC49B8] + - ["flip_card_3", 0xC6150] + - ["cymbal_crush", 0xCA380] + - [0x31DF90, pm_sprite_shading_profiles, sprite_shading_profiles] - - [0x2215C0, bin] + - [0x31EE00, bin] + + - type: code + dir: world/partner + name: world_partner_goombario + start: 0x31F430 + vram: 0x802BD100 + subsegments: + - [auto, c, goombario] + - type: code + dir: world/partner + name: world_partner_bombette + start: 0x320260 + vram: 0x802BD100 + subsegments: + - [auto, c, bombette] + - type: code + dir: world/partner + name: world_partner_parakarry + start: 0x321A80 + vram: 0x802BD100 + subsegments: + - [auto, c, parakarry] + - type: code + dir: world/partner + name: world_partner_kooper + start: 0x323530 + vram: 0x802BD100 + subsegments: + - [auto, c, kooper] + - type: code + dir: world/partner + name: world_partner_watt + start: 0x325080 + vram: 0x802BD100 + subsegments: + - [auto, c, watt] + - type: code + dir: world/partner + name: world_partner_sushie + start: 0x326270 + vram: 0x802BD100 + subsegments: + - [auto, c, sushie] + - type: code + dir: world/partner + name: world_partner_lakilester + start: 0x328FF0 + vram: 0x802BD100 + subsegments: + - [auto, c, lakilester] + - type: code + dir: world/partner + name: world_partner_bow + start: 0x32BD80 + vram: 0x802BD100 + subsegments: + - [auto, c, bow] + - type: code + dir: world/partner + name: world_partner_goompa + start: 0x32CD40 + vram: 0x802BD100 + subsegments: + - [auto, c, goompa] + - type: code + dir: world/partner + name: world_partner_goombaria + start: 0x32D240 + vram: 0x802BD100 + subsegments: + - [auto, c, goombaria] + - type: code + dir: world/partner + name: world_partner_twink + start: 0x32D3A0 + vram: 0x802BD100 + subsegments: + - [auto, c, twink] + - type: code + name: world_use_item + start: 0x32D500 + vram: 0x802C0000 + subsegments: + - [auto, c, world_use_item] ############### ### Effects ### @@ -1906,8 +2179,218 @@ segments: - name: effect_gfx_effect_86 type: bin start: 0x41CA20 + +####################### +### Action Commands ### +####################### - [0x41D750, bin] + - type: code + start: 0x429330 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_jump + subsegments: + - [auto, c, jump] + - type: code + start: 0x429940 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_hammer + subsegments: + - [auto, c, hammer] + - type: code + start: 0x42A410 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_flee + subsegments: + - [auto, c, flee] + - type: code + start: 0x42AD30 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_break_free + subsegments: + - [auto, c, break_free] + - type: code + start: 0x42B5B0 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_whirlwind + subsegments: + - [auto, c, whirlwind] + - start: 0x42BE90 + type: .data + name: whirlwind + subsegments: + - [0x42BE90, ci4, whirlwind_1, 24, 24] + - [0x42BFB0, palette, whirlwind_1] + - [0x42BFD0, ci4, whirlwind_2, 24, 24] + - [0x42C0F0, palette, whirlwind_2] + - [0x42C110, ci4, whirlwind_3, 24, 24] + - [0x42C230, palette, whirlwind_3] + - [0x42C250, ci4, whirlwind_4, 24, 24] + - [0x42C370, palette, whirlwind_4] + - [0x42C390, ci4, whirlwind_5, 24, 24] + - [0x42C4B0, palette, whirlwind_5] + - [0x42C4D0, ci4, whirlwind_6, 24, 24] + - [0x42C5F0, palette, whirlwind_6] + - [0x42C610, ci4, whirlwind_7, 24, 24] + - [0x42C730, palette, whirlwind_7] + - [0x42C750, ci4, whirlwind_bubble, 56, 48] + - [0x42CC90, palette, whirlwind_bubble] + - [0x42CCB0] + - [0x42CE90] + - type: code + start: 0x42CED0 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_stop_leech + subsegments: + - [auto, c, stop_leech] + - type: code + start: 0x42D490 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_07 + subsegments: + - [auto, c, "07"] + - type: code + start: 0x42DAB0 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_dizzy_shell + subsegments: + - [auto, c, dizzy_shell] + - type: code + start: 0x42E310 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_fire_shell + subsegments: + - [auto, c, fire_shell] + - type: code + start: 0x42ECF0 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_0A + subsegments: + - [auto, c, 0A] + - type: code + start: 0x42F3B0 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_bomb + subsegments: + - [auto, c, bomb] + - type: code + start: 0x42FC20 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_body_slam + subsegments: + - [auto, c, body_slam] + - type: code + start: 0x4303B0 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_air_lift + subsegments: + - [auto, c, air_lift] + - type: code + start: 0x430C60 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_air_raid + subsegments: + - [auto, c, air_raid] + - type: code + start: 0x431660 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_squirt + subsegments: + - [auto, c, squirt] + - type: code + start: 0x431E30 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_water_block + subsegments: + - [auto, c, water_block] + - start: 0x432F90 + type: .data + name: water_block + subsegments: + - [0x432F90, ci4, water_block_1, 24, 24] + - [0x4330B0, palette, water_block_1] + - [0x4330D0, ci4, water_block_2, 24, 24] + - [0x4331F0, palette, water_block_2] + - [0x433210, ci4, water_block_3, 24, 24] + - [0x433330, palette, water_block_3] + - [0x433350, ci4, water_block_0, 24, 24] + - [0x433470, palette, water_block_0] + - [0x433490, ci4, water_block_block, 32, 32] + - [0x433690, palette, water_block_block] + - [0x4336B0, ci4, water_block_circle, 40, 40] + - [0x4339D0, palette, water_block_circle] + - [0x4339F0, ci4, water_block_cloud, 40, 40] + - [0x433D10, palette, water_block_cloud] + - [0x433D30, ci4, water_block_4, 24, 24] + - [0x433E50, palette, water_block_4] + - [0x433E70] + - [0x434030] + - type: code + start: 0x434030 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_tidal_wave + subsegments: + - [auto, c, tidal_wave] + - type: code + start: 0x434850 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_power_shock + subsegments: + - [auto, c, power_shock] + - type: code + start: 0x435350 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_mega_shock + subsegments: + - [auto, c, mega_shock] + - type: code + start: 0x435CE0 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_smack + subsegments: + - [auto, c, smack] + - type: code + start: 0x436760 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_spiny_surge + subsegments: + - [auto, c, spiny_surge] + - type: code + start: 0x437020 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_hurricane + subsegments: + - [auto, c, hurricane] + - type: code + start: 0x437960 + vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_spook + subsegments: + - [auto, c, spook] + #################### ### Battle Areas ### #################### @@ -2096,12 +2579,992 @@ segments: start: 0x006E5700 vram: 0x80218000 - - [0x006F8470, bin] +####################### +### Battle Partners ### +####################### + - name: battle_partner_goompa + dir: battle/partner + type: code + start: 0x6F8470 + vram: 0x80238000 + subsegments: + - [auto, c, goompa] + - name: battle_partner_goombario + dir: battle/partner + type: code + start: 0x6F8A20 + vram: 0x80238000 + subsegments: + - [auto, c, goombario] + - name: battle_partner_kooper + dir: battle/partner + type: code + start: 0x6FD7C0 + vram: 0x80238000 + subsegments: + - [auto, c, kooper] + - name: battle_partner_bombette + dir: battle/partner + type: code + start: 0x702650 + vram: 0x80238000 + subsegments: + - [auto, c, bombette] + - name: battle_partner_parakarry + dir: battle/partner + type: code + start: 0x7076C0 + vram: 0x80238000 + subsegments: + - [auto, c, parakarry] + - name: battle_partner_watt + dir: battle/partner + type: code + start: 0x70B430 + vram: 0x80238000 + subsegments: + - [auto, c, watt] + - name: battle_partner_sushie + dir: battle/partner + type: code + start: 0x70F5E0 + vram: 0x80238000 + subsegments: + - [auto, c, sushie] + - name: battle_partner_lakilester + dir: battle/partner + type: code + start: 0x713650 + vram: 0x80238000 + subsegments: + - [auto, c, lakilester] + - name: battle_partner_bow + dir: battle/partner + type: code + start: 0x718830 + vram: 0x80238000 + subsegments: + - [auto, c, bow] + - name: battle_partner_twink + dir: battle/partner + type: code + start: 0x71C630 + vram: 0x80238000 + subsegments: + - [auto, c, twink] - - type: bin - name: world_script_api +#################### +### Battle Items ### +#################### + - name: mushroom + dir: battle/move/item + type: code + start: 0x71D190 + vram: 0x802A1000 + subsegments: + - [auto, c, mushroom] + - name: fire_flower + dir: battle/move/item + type: code + start: 0x71E5A0 + vram: 0x802A1000 + subsegments: + - [auto, c, fire_flower] + - name: dusty_hammer + dir: battle/move/item + type: code + start: 0x71F310 + vram: 0x802A1000 + subsegments: + - [auto, c, dusty_hammer] + - start: 0x71F550 + type: .data + name: dusty_hammer + subsegments: + - [0x71FB10, ci4, dusty_hammer, 32, 32] + - [0x71FD10, palette, dusty_hammer] + - [0x71FD30] + - name: pow_block + dir: battle/move/item + type: code + start: 0x720190 + vram: 0x802A1000 + subsegments: + - [auto, c, pow_block] + - name: pebble + dir: battle/move/item + type: code + start: 0x7212B0 + vram: 0x802A1000 + subsegments: + - [auto, c, pebble] + - start: 0x7214F0 + type: .data + name: pebble + subsegments: + - [0x721AB0, ci4, pebble, 32, 32] + - [0x721CB0, palette, pebble] + - [0x721CD0] + - name: volt_shroom + dir: battle/move/item + type: code + start: 0x722130 + vram: 0x802A1000 + subsegments: + - [auto, c, volt_shroom] + - name: thunder_rage + dir: battle/move/item + type: code + start: 0x722AE0 + vram: 0x802A1000 + subsegments: + - [auto, c, thunder_rage] + - name: snowman_doll + dir: battle/move/item + type: code + start: 0x723770 + vram: 0x802A1000 + subsegments: + - [auto, c, snowman_doll] + - name: dried_shroom + dir: battle/move/item + type: code + start: 0x724620 + vram: 0x802A1000 + subsegments: + - [auto, c, dried_shroom] + - name: shooting_star + dir: battle/move/item + type: code + start: 0x7250B0 + vram: 0x802A1000 + subsegments: + - [auto, c, shooting_star] + - name: sleepy_sheep + dir: battle/move/item + type: code + start: 0x725F90 + vram: 0x802A1000 + subsegments: + - [auto, c, sleepy_sheep] + - start: 0x726900 + type: .data + name: sleepy_sheep + subsegments: + - [0x726900] + - [0x726EC0, ci4, sleepy_sheep1, 56, 48] + - [0x727400, palette, sleepy_sheep1] + - [0x727420, ci4, sleepy_sheep2, 56, 48] + - [0x727960, palette, sleepy_sheep2] + - [0x727980, ci4, sleepy_sheep3, 56, 48] + - [0x727EC0, palette, sleepy_sheep3] + - [0x727EE0] + - name: stone_cap + dir: battle/move/item + type: code + start: 0x728EE0 + vram: 0x802A1000 + subsegments: + - [auto, c, stone_cap] + - name: tasty_tonic + dir: battle/move/item + type: code + start: 0x729940 + vram: 0x802A1000 + subsegments: + - [auto, c, tasty_tonic] + - name: thunder_bolt + dir: battle/move/item + type: code + start: 0x72A480 + vram: 0x802A1000 + subsegments: + - [auto, c, thunder_bolt] + - name: ultra_shroom + dir: battle/move/item + type: code + start: 0x72B0C0 + vram: 0x802A1000 + subsegments: + - [auto, c, ultra_shroom] + - name: unknown_item + dir: battle/move/item + type: code + start: 0x72BB80 + vram: 0x802A1000 + subsegments: + - [auto, c, unknown_item] + - name: super_soda + dir: battle/move/item + type: code + start: 0x72C620 + vram: 0x802A1000 + subsegments: + - [auto, c, super_soda] + - name: hustle_drink + dir: battle/move/item + type: code + start: 0x72D8A0 + vram: 0x802A1000 + subsegments: + - [auto, c, hustle_drink] + - name: stop_watch + dir: battle/move/item + type: code + start: 0x72E710 + vram: 0x802A1000 + subsegments: + - [auto, c, stop_watch] + - name: dizzy_dial + dir: battle/move/item + type: code + start: 0x72F250 + vram: 0x802A1000 + subsegments: + - [auto, c, dizzy_dial] + - name: please_come_back + dir: battle/move/item + type: code + start: 0x72FF20 + vram: 0x802A1000 + subsegments: + - [auto, c, please_come_back] + - name: egg_missile + dir: battle/move/item + type: code + start: 0x730800 + vram: 0x802A1000 + subsegments: + - [auto, c, egg_missile] + - start: 0x730B10 + type: .data + name: egg_missile + subsegments: + - [0x730B10] + - [0x7310D0, ci4, egg_missile1, 32, 32] + - [0x7312D0, palette, egg_missile1] + - [0x7312F0, ci4, egg_missile2, 32, 32] + - [0x7314F0, palette, egg_missile2] + - [0x731510, ci4, egg_missile3, 32, 32] + - [0x731710, palette, egg_missile3] + - [0x731730, ci4, egg_missile4, 32, 32] + - [0x731930, palette, egg_missile4] + - [0x731950] + - name: insecticide_herb + dir: battle/move/item + type: code + start: 0x732090 + vram: 0x802A1000 + subsegments: + - [auto, c, insecticide_herb] + - start: 0x7324B0 + type: .data + name: insecticide_herb + subsegments: + - [0x7324B0] + - [0x732A70, ci4, insecticide_herb, 32, 32] + - [0x732C70, palette, insecticide_herb] + - [0x732C90] + - name: fright_jar + dir: battle/move/item + type: code + start: 0x733250 + vram: 0x802A1000 + subsegments: + - [auto, c, fright_jar] + - name: mystery + dir: battle/move/item + type: code + start: 0x733EF0 + vram: 0x802A1000 + subsegments: + - [auto, c, mystery] + - start: 0x734840 + type: .data + name: mystery + subsegments: + - [0x734840] + - [0x734E00, ci4, mystery, 32, 32] + - [0x735000, palette, mystery] + - [0x735020] + - name: repel_gel + dir: battle/move/item + type: code + start: 0x7354B0 + vram: 0x802A1000 + subsegments: + - [auto, c, repel_gel] + - name: life_shroom + dir: battle/move/item + type: code + start: 0x735E70 + vram: 0x802A1000 + subsegments: + - [auto, c, life_shroom] + - name: coconut + dir: battle/move/item + type: code + start: 0x737060 + vram: 0x802A1000 + subsegments: + - [auto, c, coconut] + - start: 0x7372A0 + type: .data + name: coconut + subsegments: + - [0x7372A0] + - [0x737860, ci4, coconut, 32, 32] + - [0x737A60, palette, coconut] + - [0x737A80] + - name: electro_pop + dir: battle/move/item + type: code + start: 0x737EE0 + vram: 0x802A1000 + subsegments: + - [auto, c, electro_pop] + - name: strange_cake + dir: battle/move/item + type: code + start: 0x738C40 + vram: 0x802A1000 + subsegments: + - [auto, c, strange_cake] + - start: 0x7397E0 + type: .data + name: strange_cake + subsegments: + - [0x7397E0] + - [0x739DB0, ci4, strange_cake1, 32, 32] + - [0x739FB0, palette, strange_cake1] + - [0x739FD0, ci4, strange_cake2, 32, 32] + - [0x73A1D0, palette, strange_cake2] + - [0x73A1F0, ci4, strange_cake3, 32, 32] + - [0x73A3F0, palette, strange_cake3] + - [0x73A410] + - name: food + dir: battle/move/item + type: code + start: 0x73AA10 + vram: 0x802A1000 + subsegments: + - [auto, c, food] + +#################### +### Battle Moves ### +#################### + - name: battle_move_hammer_attack + dir: battle/move/hammer + type: code + start: 0x73BEE0 + vram: 0x802A1000 + subsegments: + - [auto, c, attack] + - name: battle_move_spin_smash + dir: battle/move/hammer + type: code + start: 0x73F1D0 + vram: 0x802A1000 + subsegments: + - [auto, c, spin_smash] + - name: battle_move_quake_hammer + dir: battle/move/hammer + type: code + start: 0x742810 + vram: 0x802A1000 + subsegments: + - [auto, c, quake_hammer] + - name: battle_move_jump_attack + dir: battle/move/jump + type: code + start: 0x7451A0 + vram: 0x802A1000 + subsegments: + - [auto, c, attack] + - name: battle_move_multibounce + dir: battle/move/jump + type: code + start: 0x748600 + vram: 0x802A1000 + subsegments: + - [auto, c, multibounce] + - name: battle_move_power_bounce + dir: battle/move/jump + type: code + start: 0x74B730 + vram: 0x802A1000 + subsegments: + - [auto, c, power_bounce] + - name: battle_move_sleep_stomp + dir: battle/move/jump + type: code + start: 0x74E750 + vram: 0x802A1000 + subsegments: + - [auto, c, sleep_stomp] + - name: battle_move_dizzy_stomp + dir: battle/move/jump + type: code + start: 0x750710 + vram: 0x802A1000 + subsegments: + - [auto, c, dizzy_stomp] + - name: battle_move_d_down_pound + dir: battle/move/hammer + type: code + start: 0x7526D0 + vram: 0x802A1000 + subsegments: + - [auto, c, d_down_pound] + - name: battle_move_jump_charge_0 + dir: battle/move/jump + type: code + start: 0x754EB0 + vram: 0x802A1000 + subsegments: + - [auto, c, jump_charge_0] + - name: battle_move_hammer_charge_0 + dir: battle/move/hammer + type: code + start: 0x756A70 + vram: 0x802A1000 + subsegments: + - [auto, c, hammer_charge_0] + - name: battle_move_hammer_throw + dir: battle/move/hammer + type: code + start: 0x759D90 + vram: 0x802A1000 + subsegments: + - [auto, c, hammer_throw] + - start: 0x759E40 + type: .data + name: hammer_throw + subsegments: + - [0x759E40] + - [0x75BDD8, ci4, dusty_hammer, 32, 32] + - [0x75BFD8, palette, dusty_hammer] + - [0x75BFF8, ci4, basic_hammer, 32, 32] + - [0x75C1F8, palette, basic_hammer] + - [0x75C218, ci4, super_hammer, 32, 32] + - [0x75C418, palette, super_hammer] + - [0x75C438, ci4, ultra_hammer, 32, 32] + - [0x75C638, palette, ultra_hammer] + - [0x75C658, vtx, hammer_throw] + - [0x75C698, gfx, dusty_hammer] + - [0x75C788, gfx, basic_hammer] + - [0x75C878, gfx, super_hammer] + - [0x75C968, gfx, ultra_hammer] + - [0x75CA58] + - name: battle_move_mega_quake + dir: battle/move/hammer + type: code + start: 0x75E0C0 + vram: 0x802A1000 + subsegments: + - [auto, c, mega_quake] + - name: battle_move_hammer_charge_1 + dir: battle/move/hammer + type: code + start: 0x760EF0 + vram: 0x802A1000 + subsegments: + - [auto, c, hammer_charge_1] + - name: battle_move_jump_charge_1 + dir: battle/move/jump + type: code + start: 0x7642C0 + vram: 0x802A1000 + subsegments: + - [auto, c, jump_charge_1] + - name: battle_move_hammer_charge_2 + dir: battle/move/hammer + type: code + start: 0x765F10 + vram: 0x802A1000 + subsegments: + - [auto, c, hammer_charge_2] + - name: battle_move_jump_charge_2 + dir: battle/move/jump + type: code + start: 0x769260 + vram: 0x802A1000 + subsegments: + - [auto, c, jump_charge_2] + - name: battle_move_auto_smash + dir: battle/move/hammer + type: code + start: 0x76AE80 + vram: 0x802A1000 + subsegments: + - [auto, c, auto_smash] + - name: battle_move_auto_jump + dir: battle/move/jump + type: code + start: 0x76D560 + vram: 0x802A1000 + subsegments: + - [auto, c, auto_jump] + - name: battle_move_power_quake + dir: battle/move/hammer + type: code + start: 0x76F5D0 + vram: 0x802A1000 + subsegments: + - [auto, c, power_quake] + - name: battle_move_auto_multibounce + dir: battle/move/jump + type: code + start: 0x772170 + vram: 0x802A1000 + subsegments: + - [auto, c, auto_multibounce] + - name: battle_move_power_jump + dir: battle/move/jump + type: code + start: 0x7750A0 + vram: 0x802A1000 + subsegments: + - [auto, c, power_jump] + - name: battle_move_super_jump + dir: battle/move/jump + type: code + start: 0x776C70 + vram: 0x802A1000 + subsegments: + - [auto, c, super_jump] + - name: battle_move_mega_jump + dir: battle/move/jump + type: code + start: 0x778870 + vram: 0x802A1000 + subsegments: + - [auto, c, mega_jump] + - name: battle_move_power_smash + dir: battle/move/hammer + type: code + start: 0x77A4E0 + vram: 0x802A1000 + subsegments: + - [auto, c, power_smash] + - name: battle_move_super_smash + dir: battle/move/hammer + type: code + start: 0x77CA40 + vram: 0x802A1000 + subsegments: + - [auto, c, super_smash] + - name: battle_move_mega_smash + dir: battle/move/hammer + type: code + start: 0x77EFD0 + vram: 0x802A1000 + subsegments: + - [auto, c, mega_smash] + - name: battle_move_demo_power_bounce + dir: battle/move/jump + type: code + start: 0x7815D0 + vram: 0x802A1000 + subsegments: + - [auto, c, demo_power_bounce] + - name: battle_move_shrink_smash + dir: battle/move/hammer + type: code + start: 0x7844C0 + vram: 0x802A1000 + subsegments: + - [auto, c, shrink_smash] + - name: battle_move_shell_crack + dir: battle/move/hammer + type: code + start: 0x786B80 + vram: 0x802A1000 + subsegments: + - [auto, c, shell_crack] + - name: battle_move_d_down_jump + dir: battle/move/jump + type: code + start: 0x789260 + vram: 0x802A1000 + subsegments: + - [auto, c, d_down_jump] + - name: battle_move_shrink_stomp + dir: battle/move/jump + type: code + start: 0x78B4E0 + vram: 0x802A1000 + subsegments: + - [auto, c, shrink_stomp] + - name: battle_move_earthquake_jump + dir: battle/move/jump + type: code + start: 0x78D460 + vram: 0x802A1000 + subsegments: + - [auto, c, earthquake_jump] + - name: battle_move_focus + dir: battle/move/star_power + type: code + start: 0x7917A0 + vram: 0x802A1000 + subsegments: + - [auto, c, focus] + - name: battle_move_refresh + dir: battle/move/star_power + type: code + start: 0x792F40 + vram: 0x802A1000 + subsegments: + - [auto, c, refresh] + - name: battle_move_lullaby + dir: battle/move/star_power + type: code + start: 0x794A90 + vram: 0x802A1000 + subsegments: + - [auto, c, lullaby] + - name: battle_move_star_storm + dir: battle/move/star_power + type: code + start: 0x796110 + vram: 0x802A1000 + subsegments: + - [auto, c, star_storm] + - name: battle_move_chill_out + dir: battle/move/star_power + type: code + start: 0x797A10 + vram: 0x802A1000 + subsegments: + - [auto, c, chill_out] + - name: battle_move_smooch + dir: battle/move/star_power + type: code + start: 0x7996D0 + vram: 0x802A1000 + subsegments: + - [auto, c, smooch] + - name: battle_move_time_out + dir: battle/move/star_power + type: code + start: 0x79B660 + vram: 0x802A1000 + subsegments: + - [auto, c, time_out] + - name: battle_move_up_and_away + dir: battle/move/star_power + type: code + start: 0x79CC20 + vram: 0x802A1000 + subsegments: + - [auto, c, up_and_away] + - name: battle_move_star_beam + dir: battle/move/star_power + type: code + start: 0x79E900 + vram: 0x802A1000 + subsegments: + - [auto, c, star_beam] + - name: battle_move_peach_beam + dir: battle/move/star_power + type: code + start: 0x7A10F0 + vram: 0x802A1000 + subsegments: + - [auto, c, peach_beam] + - name: battle_move_peach_focus + dir: battle/move/star_power + type: code + start: 0x7A38E0 + vram: 0x802A1000 + subsegments: + - [auto, c, peach_focus] + - name: battle_move_peach_focus_alt + dir: battle/move/star_power + type: code + start: 0x7A51E0 + vram: 0x802A1000 + subsegments: + - [auto, c, peach_focus_alt] + + - [0x7A6880, bin] + + - name: world_model_anim_kzn_01 + dir: world/model_anim/kzn + type: code + start: 0x7BD2F0 + vram: 0x80234000 + subsegments: + - [auto, c, "01"] + - name: world_model_anim_kzn_00 + dir: world/model_anim/kzn + type: code + start: 0x7BE020 + vram: 0x80234000 + subsegments: + - [auto, c, "00"] + - name: world_model_anim_kzn_04 + dir: world/model_anim/kzn + type: code + start: 0x7BEA70 + vram: 0x80234000 + subsegments: + - [auto, c, "04"] + - name: world_model_anim_kzn_05 + dir: world/model_anim/kzn + type: code + start: 0x7BF9C0 + vram: 0x80234000 + subsegments: + - [auto, c, "05"] + - name: world_model_anim_kzn_06 + dir: world/model_anim/kzn + type: code + start: 0x7C06C0 + vram: 0x80234000 + subsegments: + - [auto, c, "06"] + - name: world_model_anim_kzn_07 + dir: world/model_anim/kzn + type: code + start: 0x7C1170 + vram: 0x80234000 + subsegments: + - [auto, c, "07"] + - name: world_model_anim_kzn_08 + dir: world/model_anim/kzn + type: code + start: 0x7C1C10 + vram: 0x80234000 + subsegments: + - [auto, c, "08"] + - name: world_model_anim_kzn_09 + dir: world/model_anim/kzn + type: code + start: 0x7C29E0 + vram: 0x80234000 + subsegments: + - [auto, c, "09"] + - name: world_model_anim_kzn_0A + dir: world/model_anim/kzn + type: code + start: 0x7C3710 + vram: 0x80234000 + subsegments: + - [auto, c, "0A"] + - name: world_model_anim_kzn_0B + dir: world/model_anim/kzn + type: code + start: 0x7C6760 + vram: 0x80234000 + subsegments: + - [auto, c, "0B"] + - name: world_model_anim_kzn_0C + dir: world/model_anim/kzn + type: code + start: 0x7C9050 + vram: 0x80234000 + subsegments: + - [auto, c, "0C"] + - name: world_model_anim_kzn_0D + dir: world/model_anim/kzn + type: code + start: 0x7CB390 + vram: 0x80234000 + subsegments: + - [auto, c, "0D"] + - name: world_model_anim_kzn_0E + dir: world/model_anim/kzn + type: code + start: 0x7CBE60 + vram: 0x80234000 + subsegments: + - [auto, c, "0E"] + - name: world_model_anim_kzn_02 + dir: world/model_anim/kzn + type: code + start: 0x7CC8E0 + vram: 0x80234000 + subsegments: + - [auto, c, "02"] + - name: world_model_anim_kzn_03 + dir: world/model_anim/kzn + type: code + start: 0x7CEDA0 + vram: 0x80234000 + subsegments: + - [auto, c, "03"] + - name: world_model_anim_kzn_0F + dir: world/model_anim/kzn + type: code + start: 0x7CF7E0 + vram: 0x80234000 + subsegments: + - [auto, c, "0F"] + - name: world_model_anim_kzn_10 + dir: world/model_anim/kzn + type: code + start: 0x7D21E0 + vram: 0x80234000 + subsegments: + - [auto, c, "10"] + - name: world_model_anim_kzn_11 + dir: world/model_anim/kzn + type: code + start: 0x7D4F80 + vram: 0x80234000 + subsegments: + - [auto, c, "11"] + - name: world_model_anim_kzn_12 + dir: world/model_anim/kzn + type: code + start: 0x7D54C0 + vram: 0x80234000 + subsegments: + - [auto, c, "12"] + - name: world_model_anim_kzn_13 + dir: world/model_anim/kzn + type: code + start: 0x7D6980 + vram: 0x80234000 + subsegments: + - [auto, c, "13"] + - name: world_model_anim_kzn_14 + dir: world/model_anim/kzn + type: code + start: 0x7D7650 + vram: 0x80234000 + subsegments: + - [auto, c, "14"] + - name: world_model_anim_kzn_15 + dir: world/model_anim/kzn + type: code + start: 0x7D81F0 + vram: 0x80234000 + subsegments: + - [auto, c, "15"] + - name: world_model_anim_kzn_16 + dir: world/model_anim/kzn + type: code + start: 0x7D8E70 + vram: 0x80234000 + subsegments: + - [auto, c, "16"] + - name: world_model_anim_kzn_17 + dir: world/model_anim/kzn + type: code + start: 0x7D9A10 + vram: 0x80234000 + subsegments: + - [auto, c, "17"] + - name: world_model_anim_kzn_18 + dir: world/model_anim/kzn + type: code + start: 0x7DA2F0 + vram: 0x80234000 + subsegments: + - [auto, c, "18"] + - name: world_model_anim_kzn_19 + dir: world/model_anim/kzn + type: code + start: 0x7DABF0 + vram: 0x80234000 + subsegments: + - [auto, c, "19"] + - name: world_model_anim_kzn_1A + dir: world/model_anim/kzn + type: code + start: 0x7DCF00 + vram: 0x80234000 + subsegments: + - [auto, c, "1A"] + - name: world_model_anim_kzn_1B + dir: world/model_anim/kzn + type: code + start: 0x7DE910 + vram: 0x80234000 + subsegments: + - [auto, c, "1B"] + - name: world_model_anim_kzn_1C + dir: world/model_anim/kzn + type: code + start: 0x7DF040 + vram: 0x80234000 + subsegments: + - [auto, c, "1C"] + - name: world_model_anim_kzn_1D + dir: world/model_anim/kzn + type: code + start: 0x7E0980 + vram: 0x80234000 + subsegments: + - [auto, c, "1D"] + - name: world_model_anim_kzn_1E + dir: world/model_anim/kzn + type: code + start: 0x7E1070 + vram: 0x80234000 + subsegments: + - [auto, c, "1E"] + - name: world_model_anim_kzn_1F + dir: world/model_anim/kzn + type: code + start: 0x7E1270 + vram: 0x80234000 + subsegments: + - [auto, c, "1F"] + - name: world_model_anim_kzn_20 + dir: world/model_anim/kzn + type: code + start: 0x7E1AD0 + vram: 0x80234000 + subsegments: + - [auto, c, "20"] + - name: world_model_anim_kzn_21 + dir: world/model_anim/kzn + type: code + start: 0x7E3B10 + vram: 0x80234000 + subsegments: + - [auto, c, "21"] + - name: world_model_anim_kzn_22 + dir: world/model_anim/kzn + type: code + start: 0x7E6300 + vram: 0x80234000 + subsegments: + - [auto, c, "22"] + - name: world_model_anim_kzn_23 + dir: world/model_anim/kzn + type: code + start: 0x7E6C40 + vram: 0x80234000 + subsegments: + - [auto, c, "23"] + - name: world_model_anim_kzn_24 + dir: world/model_anim/kzn + type: code + start: 0x7E7D40 + vram: 0x80234000 + subsegments: + - [auto, c, "24"] + - name: world_script_api + dir: world/script_api + type: code start: 0x7E8810 vram: 0x80280000 + subsegments: + - [auto, c, shops] + - [auto, c, rooms] + - [auto, c, push_blocks] + - [auto, c, enter_exit] + - name: texture_memory + type: code + start: 0x7EECD0 + vram: 0x8028E000 + subsegments: + - [auto, c, texture_memory] ############ ### Maps ### diff --git a/ver/jp/symbol_addrs.txt b/ver/jp/symbol_addrs.txt index 410036585b..6e1c1fe80a 100644 --- a/ver/jp/symbol_addrs.txt +++ b/ver/jp/symbol_addrs.txt @@ -3002,3 +3002,32 @@ MsgCharWidthKana = 0x802E6380; // rom:0x10CC20 MsgCharWidthLatin = 0x802E6448; // rom:0x10CCE8 MsgCharWidthKanji = 0x802E6464; // rom:0x10CD04 MsgCharWidthButtons = 0x802E64E0; // rom:0x10CD80 + +battle_action_cmd_whirlwind_bubble_png = 0x802AA1A0; // rom:0x42C7D0 + +battle_item_dusty_hammer_png = 0x802A1800; // rom:0x71FB10 +battle_item_pebble_png = 0x802A1800; // rom:0x7212B0 +battle_item_sleepy_sheep1_png = 0x802A1F30; // rom:0x726EC0 +battle_item_sleepy_sheep2_png = 0x802A2490; // rom:0x727420 +battle_item_sleepy_sheep3_png = 0x802A29F0; // rom:0x727980 +battle_item_egg_missile1_png = 0x802A18D0; // rom:0x7310D0 +battle_item_egg_missile2_png = 0x802A1AF0; // rom:0x7312F0 +battle_item_egg_missile3_png = 0x802A1D10; // rom:0x731510 +battle_item_egg_missile4_png = 0x802A1F30; // rom:0x731730 +battle_item_insecticide_herb_png = 0x802A19E0; // rom:0x732A70 +battle_item_mystery_png = 0x802A1F10; // rom:0x734E00 +battle_item_coconut_png = 0x802A1800; // rom:0x737860 + +battle_move_hammer_throw_dusty_hammer_png = 0x802A3048; // rom:0x75BDD8 +battle_move_hammer_throw_dusty_hammer_pal = 0x802A3248; // rom:0x75BFD8 +battle_move_hammer_throw_basic_hammer_png = 0x802A3268; // rom:0x75BFF8 +battle_move_hammer_throw_basic_hammer_pal = 0x802A3468; // rom:0x75C1F8 +battle_move_hammer_throw_super_hammer_png = 0x802A3488; // rom:0x75C218 +battle_move_hammer_throw_super_hammer_pal = 0x802A3688; // rom:0x75C418 +battle_move_hammer_throw_ultra_hammer_png = 0x802A36A8; // rom:0x75C438 +battle_move_hammer_throw_ultra_hammer_pal = 0x802A38A8; // rom:0x75C638 +battle_move_hammer_throw_vtx = 0x802A38C8; // rom:0x75C658 size:0x40 +battle_move_hammer_throw_dusty_hammer_gfx = 0x802A3908; // rom:0x75C698 +battle_move_hammer_throw_basic_hammer_gfx = 0x802A39F8; // rom:0x75C788 +battle_move_hammer_throw_super_hammer_gfx = 0x802A3AE8; // rom:0x75C878 +battle_move_hammer_throw_ultra_hammer_gfx = 0x802A3BD8; // rom:0x75C968 diff --git a/ver/jp/undefined_syms.txt b/ver/jp/undefined_syms.txt index 7025b55d8f..66f7cda033 100644 --- a/ver/jp/undefined_syms.txt +++ b/ver/jp/undefined_syms.txt @@ -782,17 +782,14 @@ pulse_stone_ROM_END = 0xE2B440; i_spy_ROM_START = 0xE2B440; i_spy_ROM_END = 0xE2C0F0; -WorldTattleInteractionID = 0x802BDF60; interact_inspect_setup = 0x802B70B4; appendGfx_interact_prompt = 0x802B71E8; ispy_notification_setup = 0x802b72c0; -world_watt_sync_held_position = 0x802BE06C; appendGfx_speech_bubble = 0x802B71C8; interact_speech_setup = 0x802B70B4; appendGfx_pulse_stone_icon = 0x802B71D4; appendGfx_ispy_icon = 0x802b7000; pulse_stone_notification_setup = 0x802B7140; -world_lakilester_can_dismount = 0x802BD7DC; action_update_idle = 0x802B6000; world_action_idle_ROM_START = 0xE2C0F0; @@ -861,133 +858,7 @@ action_update_ride = 0x802B6000; action_update_step_up = 0x802B6000; action_update_state_23 = 0x802B609C; -world_use_item_ROM_START = 0x32d500; -world_use_item_ROM_END = 0x32ddd0; -world_use_item_VRAM = 0x802C0000; -EVS_World_UseItem = 0x802C059C; - -world_partner_goombario_ROM_START = 0x31F430; -world_partner_goombario_ROM_END = 0x320260; -world_partner_goombario_VRAM = 0x802BD100; -world_goombario_init = 0x802BD174; -EVS_WorldGoombario_TakeOut = 0x802BDD6C; -EVS_WorldGoombario_Update = 0x802BDD8C; -EVS_WorldGoombario_UseAbility = 0x802BDDA8; -EVS_WorldGoombario_PutAway = 0x802BDE60; -world_goombario_can_open_menus = 0x802BD5A8; -world_goombario_pre_battle = 0x802BDBC0; - -world_partner_kooper_ROM_START = 0x323530; -world_partner_kooper_ROM_END = 0x325080; -world_partner_kooper_VRAM = 0x802BD100; -world_kooper_init = 0x802BD200; -EVS_WorldKooper_TakeOut = 0x802BEB44; -EVS_WorldKooper_Update = 0x802BEB64; -EVS_WorldKooper_UseAbility = 0x802BEB80; -EVS_WorldKooper_PutAway = 0x802BEB9C; -world_kooper_test_first_strike = 0x802BE818; -world_kooper_pre_battle = 0x802BEA24; -world_kooper_post_battle = 0x802BEB10; - -world_partner_bombette_ROM_START = 0x320260; -world_partner_bombette_ROM_END = 0x321a80; -world_partner_bombette_VRAM = 0x802BD100; -world_bombette_init = 0x802BD2D8; -EVS_WorldBombette_TakeOut = 0x802BE880; -EVS_WorldBombette_Update = 0x802BE8A0; -EVS_WorldBombette_UseAbility = 0x802BE8BC; -EVS_WorldBombette_PutAway = 0x802BE8D8; -world_bombette_test_first_strike = 0x802BE520; -world_bombette_can_use_ability = 0x802BD720; -world_bombette_can_open_menus = 0x802BD748; -world_bombette_pre_battle = 0x802BE6E8; - -world_partner_parakarry_ROM_START = 0x321a80; -world_partner_parakarry_ROM_END = 0x323530; -world_partner_parakarry_VRAM = 0x802BD100; -world_parakarry_init = 0x802BD100; -EVS_WorldParakarry_TakeOut = 0x802BEA90; -EVS_WorldParakarry_Update = 0x802BEAB0; -EVS_WorldParakarry_UseAbility = 0x802BEACC; -EVS_WorldParakarry_PutAway = 0x802BEAE8; -world_parakarry_pre_battle = 0x802BE90C; -world_parakarry_post_battle = 0x802BE9D0; - -world_partner_goompa_ROM_START = 0x32cd40; -world_partner_goompa_ROM_END = 0x32d240; -world_partner_goompa_VRAM = 0x802BD100; -world_goompa_init = 0x802BD100; -EVS_WorldGoompa_TakeOut = 0x802BD570; -EVS_WorldGoompa_Update = 0x802BD590; -EVS_WorldGoompa_UseAbility = 0x802BD5AC; -EVS_WorldGoompa_PutAway = 0x802BD5C8; - -world_partner_watt_ROM_START = 0x325080; -world_partner_watt_ROM_END = 0x326270; -world_partner_watt_VRAM = 0x802BD100; -world_watt_init = 0x802BD23C; -EVS_WorldWatt_TakeOut = 0x802BE248; -EVS_WorldWatt_Update = 0x802BE26C; -EVS_WorldWatt_UseAbility = 0x802BE288; -EVS_WorldWatt_PutAway = 0x802BE2A4; -world_watt_pre_battle = 0x802BDD98; -world_watt_post_battle = 0x802BDE0C; -EVS_WorldWatt_EnterMap = 0x802BE2C0; - -world_partner_sushie_ROM_START = 0x326270; -world_partner_sushie_ROM_END = 0x328FF0; -world_partner_sushie_VRAM = 0x802BD100; -world_sushie_init = 0x802BF4C4; -EVS_WorldSushie_TakeOut = 0x802BFD7C; -EVS_WorldSushie_Update = 0x802BFD9C; -EVS_WorldSushie_UseAbility = 0x802BFD60; -EVS_WorldSushie_PutAway = 0x802BFDB8; -world_sushie_pre_battle = 0x802BF95C; -world_sushie_post_battle = 0x802BF9FC; -EVS_WorldSushie_EnterMap = 0x802BFDD4; - -world_partner_lakilester_ROM_START = 0x328FF0; -world_partner_lakilester_ROM_END = 0x32BD80; -world_partner_lakilester_VRAM = 0x802BD100; -world_lakilester_init = 0x802BD21C; -EVS_WorldLakilester_TakeOut = 0x802BFDF0; -EVS_WorldLakilester_Update = 0x802BFE10; -EVS_WorldLakilester_UseAbility = 0x802BFE2C; -EVS_WorldLakilester_PutAway = 0x802BFE48; -world_lakilester_pre_battle = 0x802BF998; -world_lakilester_post_battle = 0x802BFA40; -EVS_WorldLakilester_EnterMap = 0x802BFE64; - -world_partner_bow_ROM_START = 0x32BD80; -world_partner_bow_ROM_END = 0x32CD40; -world_partner_bow_VRAM = 0x802BD100; -world_bow_init = 0x802BD100; -EVS_WorldBow_TakeOut = 0x802BDFE0; -EVS_WorldBow_Update = 0x802BE000; -EVS_WorldBow_UseAbility = 0x802BE01C; -EVS_WorldBow_PutAway = 0x802BE038; -world_bow_pre_battle = 0x802BDF64; - -world_partner_goombaria_ROM_START = 0x32D240; -world_partner_goombaria_ROM_END = 0x32D3A0; -world_partner_goombaria_VRAM = 0x802BD100; -world_goombaria_init = 0x802BD100; -EVS_WorldGoombaria_TakeOut = 0x802BD1F0; -EVS_WorldGoombaria_Update = 0x802BD20C; -EVS_WorldGoombaria_UseAbility = 0x802BD228; -EVS_WorldGoombaria_PutAway = 0x802BD244; - -world_partner_twink_ROM_START = 0x32D3A0; -world_partner_twink_ROM_END = 0x32D500; -world_partner_twink_VRAM = 0x802BD100; -world_twink_init = 0x802BD100; -EVS_WorldTwink_TakeOut = 0x802BD1F0; -EVS_WorldTwink_Update = 0x802BD20C; -EVS_WorldTwink_UseAbility = 0x802BD228; -EVS_WorldTwink_PutAway = 0x802BD244; - heap_spriteHead = 0x8034F800; -sprite_shading_profiles_ROM_START = 0x0031DF90; Entity_UltraBlockContent_Render = 0x0A000800; entity_model_SimpleSpring_gfx_ROM_END = 0x00E72BD0; Entity_SaveBlock_RenderNone = 0x0A003508; @@ -1163,3 +1034,269 @@ cymbal_crush_header = 0x000CA380; startle_header = 0x00029458; get_in_bed_header = 0x00038988; shiver_header = 0x00018200; + +// battle +btl_cam_use_preset = 0x8024E40C; +btl_cam_move = 0x8024E4D8; +UseBattleCamPreset = 0x8024E61C; +UseBattleCamPresetImmediately = 0x8024E664; +SetBattleCamTarget = 0x8024E90C; +MoveBattleCamOver = 0x8024EC08; +SetBattleCamZoom = 0x8024EC6C; +AddBattleCamZoom = 0x8024ECAC; +ShowMessageBox = 0x80251440; +WaitForMessageBoxDone = 0x80251558; +ItemDamageEnemy = 0x802528A8; +ItemCheckHit = 0x80252EC0; +ActorSpeak = 0x802530B0; +EnableBattleStatusBar = 0x80253734; +PlaySoundAtActor = 0x802539DC; +SetForegroundModelsVisible = 0x80253C6C; +StartRumble = 0x80254398; +set_actor_anim = 0x80263E7C; +get_actor_part = 0x802645DC; +btl_update_ko_status = 0x802678FC; +get_actor = 0x80269EEC; +SetGoalToHome = 0x8026A044; +SetGoalToTarget = 0x8026A528; +SetGoalPos = 0x8026A690; +GetGoalPos = 0x8026A9A0; +GetActorPos = 0x8026AC28; +SetActorPos = 0x8026AFC0; +SetAnimation = 0x8026B330; +SetActorYaw = 0x8026B4D8; +SetActorJumpGravity = 0x8026B6DC; +SetActorSpeed = 0x8026B7D4; +SetJumpAnimations = 0x8026BA0C; +GetActorVar = 0x8026C134; +SetActorVar = 0x8026C1C4; +SetActorRotationOffset = 0x8026C62C; +SetActorScale = 0x8026CA84; +SetActorScaleModifier = 0x8026CB44; +SetBattleFlagBits = 0x8026CEBC; +SetActorFlagBits = 0x8026D00C; +GetOwnerID = 0x8026DF80; +InitTargetIterator = 0x8026E4D4; +ChooseNextTarget = 0x8026E594; +GetOwnerTarget = 0x8026EA2C; +ModifyActorDecoration = 0x8026F170; +func_80273444 = 0x802735C0; +PlayerRunToGoal = 0x80273DE0; +PlayerDamageEnemy = 0x802743DC; +PlayerYieldTurn = 0x80277078; +dispatch_damage_event_actor_0 = 0x80278A78; +RunToGoal = 0x80279FE4; +RemoveActor = 0x8027C930; +DispatchEvent = 0x8027D3E4; +PartnerYieldTurn = 0x80280998; +EMS_StarIcon = 0x802841E8; +PartnerWishAnims = 0x8029CB90; +CheckButtonPress = 0x8026E218; +SetGoalToFirstTarget = 0x8026A61C; +CancelablePlayerRunToGoal = 0x80274078; +func_802693F0 = 0x80269570; +AddGoalPos = 0x8026A8C8; +EnablePlayerBlur = 0x80274AF4; +PlayerLandJump = 0x80273C80; +LoadActionCommand = 0x80268340; +func_80274A18 = 0x80274B94; +func_802752AC = 0x80275428; +GetPlayerActionSuccess = 0x80277030; +SetActionDifficultyTable = 0x8026931C; +func_80275F00 = 0x8027607C; +CloseActionCommandInfo = 0x80269590; +SetActorRotation = 0x8026C52C; +SetActorDispOffset = 0x8026BB84; +ShowActionHud = 0x80269624; +GetMenuSelection = 0x80273540; +PlayerTestEnemy = 0x8027486C; +SetActorSounds = 0x8026F8C0; +GetTargetListLength = 0x8026E9E4; +GetActionResult = 0x802696A4; +GetCommandAutoSuccess = 0x802694F0; +SetActionResult = 0x802696D0; +SetDamageSource = 0x8026A02C; +CheckButtonDown = 0x8026E288; +SetBattleCamOffsetZ = 0x8024EA58; +SetActionQuality = 0x80269754; +GetActionQuality = 0x80269728; +GetActionCommandMode = 0x80269498; +GetActionSuccess = 0x80269414; +SetActionCommandMode = 0x8026946C; +PlayerPowerBounceEnemy = 0x8027461C; +GetActionSuccessCopy = 0x80269678; +UseIdleAnimation = 0x8026F26C; +ShowVariableMessageBox = 0x80251498; +IsMessageBoxDisplayed = 0x80251510; +GetBattleFlags2 = 0x8026CF20; +player_team_is_ability_active = 0x8026742C; +dispatch_event_partner = 0x8027E000; +inflict_status = 0x802660C0; +EVS_PlaySleepHitFX = 0x802948E0; +ItemSpookEnemy = 0x80252AA4; +BattleCamTargetActor = 0x8024EB24; +MakeStatusField = 0x80253D14; +ItemAfflictEnemy = 0x80252CBC; +func_8024ECF8 = 0x8024ECF8; +MultiplyByActorScale = 0x8025415C; +ApplyShrinkFromOwner = 0x80254318; +MultiplyVec3ByActorScale = 0x8025425C; +SetOwnerTarget = 0x8026E528; +dispatch_event_actor = 0x802772E0; +EVS_UseMystery = 0x80294140; +SetTargetActor = 0x8027C6C8; +DispatchDamagePlayerEvent = 0x80274A98; +HES_ProjectorSpot = 0x80294F00; +HES_ProjectorReel = 0x80292ED8; +HES_ProjectorBeam = 0x80292F28; +HES_SwapBackground = 0x80292FF4; +HES_SwapZ = 0x80292F50; +HES_SwapArrowLeft = 0x80292F7C; +HES_SwapArrowRight = 0x80292FB8; +actionCmdTableSpook = 0x80294740; +gActionCommandStatus = 0x8029FED0; +action_command_init_status = 0x802689D8; +HES_100pct = 0x80292C74; +adjust_action_command_difficulty = 0x802683A4; +func_80269118 = 0x80269298; +btl_set_popup_duration = 0x8024FAB4; +func_80269160 = 0x802692E0; +action_command_free = 0x80268E1C; +draw_mash_meter_multicolor = 0x802688F0; +draw_mash_meter_blink = 0x8026898C; +actionCmdTableHurricane = 0x80294720; +HES_BButton = 0x8029261C; +HES_MashBButton1 = 0x80292674; +draw_mash_meter_multicolor_with_divisor = 0x80268918; +draw_mash_meter_blink_with_divisor = 0x802689B4; +HES_PressBButton = 0x802926B0; +HES_PressCDownButton = 0x802929C4; +HES_BButtonHeld = 0x80292648; +HES_CDownButtonHeld = 0x8029295C; +HES_TimingBar3Chances = 0x80292DFC; +HES_TimingWait = 0x80292A5C; +HES_TimingOK = 0x80292E54; +HES_TimingCharge4c = 0x80292BA0; +HES_TimingCharge4b = 0x80292B48; +HES_TimingCharge3 = 0x80292BCC; +HES_TimingCharge2 = 0x80292B74; +HES_TimingReady = 0x80292A88; +HES_TimingMiss = 0x80292E80; +actionCmdTableTidalWave = 0x802947A0; +actionCmdTableSpinySurge = 0x80294700; +actionCmdTableSmack = 0x802946E0; +actionCmdTableMegaShock = 0x802946C0; +actionCmdTablePowerShock = 0x802946A0; +actionCmdTableWaterBlock = 0x80294760; +actionCmdTableSquirt = 0x80294680; +draw_mash_meter_mode_with_divisor = 0x80268964; +actionCmdTableDizzyShell = 0x802945A0; +actionCmdTableFireShell = 0x802945C0; +actionCmdTable0A = 0x802945E0; +actionCmdTableBomb = 0x80294600; +actionCmdTableBodySlam = 0x80294620; +HES_FillGaugeResult = 0x80292EAC; +actionCmdTableAirLift = 0x80294640; +actionCmdTableAirRaid = 0x80294660; +actionCmdTable07 = 0x80294580; +btl_message_unlock_box_pos = 0x8024FAEC; +actionCmdTableStopLeech = 0x80294560; +HES_RunningAway = 0x80292BF8; +actionCmdTableBreakFree = 0x80294520; +actionCmdTableHammer = 0x802944E0; +HES_TimingBar1Chance = 0x802925F0; +HES_TimingCharge4a = 0x80292AF0; +HES_TimingCharge1 = 0x80292B1C; +actionCmdTableFlee = 0x80294500; +HES_RightOn = 0x80292D2C; +actionCmdTableJump = 0x802944C0; +actionCmdTableWhirlwind = 0x80294540; +BindTakeTurn = 0x80278AB0; +BindIdle = 0x80278C14; +BindHandleEvent = 0x80278DA0; +BindHandlePhase = 0x80278E14; +AddActorDecoration = 0x8026F008; +GetLastEvent = 0x8027C660; +EVS_Enemy_Hit = 0x80299344; +EVS_Enemy_NoDamageHit = 0x8029AF70; +GetBattlePhase = 0x80269FA8; +EVS_Partner_Celebrate = 0x80294A20; +EVS_Partner_RunAway = 0x80294DFC; +EnableIdleScript = 0x80278CCC; +FlyToGoal = 0x8027B7A4; +EnableActorBlur = 0x8027D6FC; +PartnerDamageEnemy = 0x8027FF34; +EVS_Partner_SpikeContact = 0x802952E4; +EVS_Partner_BurnContact = 0x80294F68; +EVS_Partner_Recover = 0x802961C4; +bActorTattles = 0x80282D18; +bActorOffsets = 0x80283068; +EVS_Partner_Hit = 0x80297ABC; +EVS_Partner_Drop = 0x80296314; +EVS_Partner_NoDamageHit = 0x80297B14; +EVS_Partner_BurnHit = 0x8029651C; +EVS_Partner_ShockHit = 0x80295A44; +LoadStarPowerScript = 0x80280AD0; +LoadItemScript = 0x80268050; +JumpToGoal = 0x80278E88; +PartnerTestEnemy = 0x80280650; +GetPartnerActionSuccess = 0x80280950; +PartnerPowerBounceEnemy = 0x802803F0; +ResetActorSounds = 0x8026F9B8; +RemoveActorDecoration = 0x8026F0CC; +GetActorLevel = 0x8027FEC8; +SetupMashMeter = 0x80269348; +PartnerAfflictEnemy = 0x80280184; +SetActorPaletteEffect = 0x8026EBFC; +SetActorPaletteSwapParams = 0x8026ED78; +EnableActorPaletteEffects = 0x8026EEA0; +EVS_Partner_BombetteSpikeContact = 0x80295650; +ShowShockEffect = 0x8026FD30; +add_xz_vec3f = 0x802642A8; +play_movement_dust_effects = 0x80264470; +save_tattle_flags = 0x80253E90; +lookup_status_chance = 0x80266018; +HES_AimMarkerF = 0x80293314; +HES_AimMarkerE = 0x8029327C; +HES_AimMarkerD = 0x802931E4; +HES_AimMarkerC = 0x8029314C; +HES_AimMarkerB = 0x802930B4; +HES_AimMarkerA = 0x8029301C; +HES_AimReticle = 0x8029399C; +HES_AimShimmerF = 0x802937D4; +HES_AimShimmerE = 0x8029373C; +HES_AimShimmerD = 0x802936A4; +HES_AimShimmerC = 0x8029360C; +HES_AimShimmerB = 0x80293574; +HES_AimShimmerA = 0x802934DC; +HES_AimTarget = 0x802939D4; +set_goal_pos_to_part = 0x802698D4; +JumpWithBounce = 0x802798A8; +SetActionHudPrepareTime = 0x802694C4; +GetDistanceToGoal = 0x8026EB7C; +SetAnimationRate = 0x8026B450; +PlayLoopingSoundAtActor = 0x80253AF4; +StopLoopingSoundAtActor = 0x80253B98; +GetActorFlags = 0x8026D0A0; +GetStatusFlags = 0x8026F3B0; +LandJump = 0x80279C54; +GetActorScale = 0x8026CC04; +EVS_Partner_LakilesterHit = 0x802979E8; +HES_AimBlinkA = 0x80293A0C; +SetPartPos = 0x8026B098; +SetPartFlagBits = 0x8026D190; +SetPartDispOffset = 0x8026BDB8; +SetPartJumpGravity = 0x8026B8CC; +JumpPartTo = 0x8027A664; +LandJumpPart = 0x8027ACDC; +func_8024EDA4 = 0x8024EDA4; +PlayerFallToGoal = 0x80273A10; +FallToGoal = 0x80279D6C; +bMarioHideAnims = 0x802834F0; +bMarioIdleAnims = 0x802833B8; +SetPartAlpha = 0x8026F5F0; +func_80269600 = 0x80269780; +SetBattleCamParam = 0x8024E748; + +// speech_bubble +SpeechBubblePtr = 0x802B79A8;