4#include "sprite/player.h"
6#include "sprite/npc/Goompa.h"
7#include "sprite/npc/BattleGoombario.h"
8#include "sprite/npc/BattleKooper.h"
9#include "sprite/npc/BattleBombette.h"
10#include "sprite/npc/BattleParakarry.h"
11#include "sprite/npc/BattleBow.h"
12#include "sprite/npc/BattleWatt.h"
13#include "sprite/npc/BattleSushie.h"
14#include "sprite/npc/BattleLakilester.h"
15#include "sprite/npc/Twink.h"
188 MSG_Menus_ChangeMember,
190 MSG_Menus_Strategies,
191 MSG_Menus_StarSpirits,
198 MSG_Menus_Jump_Centered,
199 MSG_Menus_Hammer_Centered,
200 MSG_Menus_Items_Centered,
201 MSG_Menus_RunAway_Centered,
202 MSG_Menus_Defense_Centered,
203 MSG_Menus_ChangeMember_Centered,
204 MSG_Menus_Abilities_Centered,
205 MSG_Menus_Strategies_Centered,
206 MSG_Menus_StarSpirits_Centered,
207 MSG_Menus_DoNothing_Centered,
208 MSG_Menus_ActLater_Centered,
209 MSG_Menus_Focus_Centered,
260 [
PARTNER_GOOMBARIO] { &
HES_Goombario, &
HES_GoombarioDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
261 [
PARTNER_KOOPER] { &
HES_Kooper, &
HES_KooperDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
262 [
PARTNER_BOMBETTE] { &
HES_Bombette, &
HES_BombetteDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
263 [
PARTNER_PARAKARRY] { &
HES_Parakarry, &
HES_ParakarryDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
264 [
PARTNER_GOOMPA] { &
HES_Partner0, &
HES_Partner0Disabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
265 [
PARTNER_WATT] { &
HES_Watt, &
HES_WattDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
266 [
PARTNER_SUSHIE] { &
HES_Sushie, &
HES_SushieDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
267 [
PARTNER_LAKILESTER] { &
HES_Lakilester, &
HES_LakilesterDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
268 [
PARTNER_BOW] { &
HES_Bow, &
HES_BowDisabled, &
HES_MoveDiamond, &
HES_MoveDiamond_disabled, &
HES_MoveBlueOrb, &
HES_MoveBlueOrbDisabled, &
HES_MoveGreenOrb, &
HES_MoveGreenOrbDisabled, &
HES_MoveRedOrb, &
HES_MoveRedOrbDisabled },
274 MSG_Menus_Focus_Centered,
280 MSG_Menus_Dash_Centered,
285 MSG_Menus_Party_Goombario,
286 MSG_Menus_Party_Kooper,
287 MSG_Menus_Party_Bombette,
288 MSG_Menus_Party_Parakarry,
289 MSG_Menus_Party_Goompa,
290 MSG_Menus_Party_Watt,
291 MSG_Menus_Party_Sushie,
292 MSG_Menus_Party_Lakilester,
294 MSG_Menus_Party_Goombaria,
295 MSG_Menus_Party_Twink,
296 MSG_Menus_Party_Peach,
809 if (theta == 56.0f && cond == TRUE) {
987 s32* moveOptionIconIDs;
988 s32* moveOptionCostUnitIconIDs;
1027 s32* moveOptionIconIDs;
1028 s32* moveOptionCostUnitIconIDs;
1401 msgID = MSG_Menus_Battle_CantSelectNow;
1404 msgID = MSG_Menus_NotEnoughFP;
1406 msgID = MSG_Menus_NotEnoughStarPower;
1474 temp_f6 = (yPos - var_t0) * 0.5;
1521 if (v0 != 0 && num <= 0) {
1573 yRenderPos = yPos + 7;
1583 yRenderPos = yPos + 7;
1661 msgID = MSG_Menus_Abilities;
1667 msgID = MSG_Menus_StarSpirits;
1708 msgID = MSG_Menus_Battle_CantSelectNow;
1710 msgID = MSG_Menus_NotEnoughFP;
1712 msgID = MSG_Menus_NotEnoughStarPower;
1978 msgID = MSG_Menus_Battle_CantSwitch2;
1981 msgID = MSG_Menus_Battle_CantRunAway;
1984 msgID = MSG_Menus_Battle_CantRunAway;
2035 temp_f6 = (yPos - var_t0) * 0.5;
2046 gDPSetScissor(
gMainGfxPos++, G_SC_NON_INTERLACE, xPos, yPos, x + 142, var_t0);
2079 temp_f6 = (yPos - var_t0) * 1.0;
2135 msgID = MSG_Menus_Battle_CantSwitch2;
2138 msgID = MSG_Menus_Battle_CantRunAway;
2141 msgID = MSG_Menus_Battle_CantRunAway;
2154 s8 debuff = player->
debuff;
2155 s32 playerCantMove = FALSE;
2158 playerCantMove = TRUE;
2161 playerCantMove = FALSE;
2164 playerCantMove = FALSE;
2167 playerCantMove = TRUE;
2170 playerCantMove = TRUE;
2173 playerCantMove = TRUE;
2176 playerCantMove = TRUE;
2179 playerCantMove = TRUE;
2182 playerCantMove = TRUE;
2185 playerCantMove = TRUE;
2188 playerCantMove = TRUE;
2190 return !playerCantMove;
2200 s32 partnerCantMove;
2206 partnerDebuff = partner->
debuff;
2207 partnerCantMove = FALSE;
2210 partnerCantMove = TRUE;
2213 partnerCantMove = FALSE;
2216 partnerCantMove = FALSE;
2219 partnerCantMove = TRUE;
2222 partnerCantMove = TRUE;
2225 partnerCantMove = TRUE;
2228 partnerCantMove = TRUE;
2231 partnerCantMove = TRUE;
2234 partnerCantMove = TRUE;
2236 return !partnerCantMove;
2246 s32 entryIdx, initialPos;
2249 s32 jumpTargetCount, hammerTargetCount, jumpChance;
2253 s32 currentSubmenu2;
2304 battleStatus->
flags1 &= ~BS_FLAGS1_PLAYER_IN_BACK;
2312 playerActor->
flags &= ~ACTOR_FLAG_USING_IDLE_ANIM;
2314 if (partnerActor != NULL) {
2348 initialPos = entryIdx;
2378 initialPos = entryIdx;
2406 initialPos = entryIdx;
2432 initialPos = entryIdx;
2450 initialPos = entryIdx;
2496 if (submenuResult == 0) {
2514 if (playerData->
invItems[i] == ITEM_NONE) {
2530 s32 cost = moveData->
costFP;
2538 if (playerData->
curFP < cost) {
2546 if (entryIdx == 1) {
2576 battleStatus->
submenuMoves[entryIdx] = MOVE_REFRESH + i;
2586 if (playerData->
starPower / SP_PER_BAR < moveData->costFP) {
2595 if (starBeamLevel == 1) {
2607 if (playerData->
starPower / SP_PER_BAR < moveData->costFP) {
2617 battleStatus->
submenuMoves[entryIdx] = MOVE_PEACH_BEAM;
2627 if (playerData->
starPower / SP_PER_BAR < moveData->costFP) {
2749 if (submenuResult == -1) {
2751 }
else if (submenuResult == 0) {
2752 }
else if (submenuResult == 255) {
2771 if (battleStatus->
curSubmenu == currentSubmenu2) {
2799 switch (currentSubmenu) {
2866 }
else if (submenuResult != 0) {
2914 if (playerData->
invItems[i] == ITEM_NONE) {
2928 popup->
enabled[entryIdx] = TRUE;
3018 if (playerData->
invItems[i] == ITEM_NONE) {
3153 if (submenuResult == -1) {
3155 }
else if (submenuResult == 0) {
3156 }
else if (submenuResult == 255) {
3217 if (playerData->
invItems[i] == ITEM_NONE) {
3232 popup->
enabled[entryIdx] = TRUE;
3237 popup->
enabled[entryIdx] = FALSE;
3241 if (entryIdx == 0) {
3316 jumpTargetCount = 0;
3324 hammerTargetCount = 0;
3327 if (jumpTargetCount <= 0 && hammerTargetCount <= 0) {
3333 if (jumpTargetCount <= 0) {
3336 if (hammerTargetCount <= 0) {
3365 D_802AD6C0[entryIdx] = MSG_Menus_Action_ChangePartner;
3379 D_802AD6C0[entryIdx] = MSG_Menus_Action_DoNothing;
3387 D_802AD6C0[entryIdx] = MSG_Menus_Action_RunAway;
3406 if (submenuResult == -1) {
3408 }
else if (submenuResult == 0) {
3409 }
else if (submenuResult == 255) {
3712 partnerActor->
flags &= ~ACTOR_FLAG_USING_IDLE_ANIM;
3737 initialPos = entryIdx;
3757 initialPos = entryIdx;
3774 initialPos = entryIdx;
3816 }
else if (entryIdx != 0) {
3854 if (entryIdx != 0) {
3946 if (entryIdx == -1) {
3948 }
else if (entryIdx != 0) {
3949 if (entryIdx == 255) {
3957 battleStatus->
unk_4B = entryIdx - 1;
4005 if (playerData->
invItems[i] == ITEM_NONE) {
4014 popupMenu->
ptrIcon[popupIndex] = hudScript[0];
4016 popupMenu->
enabled[popupIndex] = TRUE;
4088 popupMenu->
userIndex[popupIndex] = partnerId;
4089 popupMenu->
enabled[popupIndex] = 1;
4094 popupMenu->
enabled[popupIndex] = 0;
4202 if (entryIdx != 0) {
4203 if (entryIdx == 255) {
4260 D_802AD6C0[popupIndex] = MSG_Menus_Action_ChangePartner;
4274 D_802AD6C0[popupIndex] = MSG_Menus_Action_DoNothing;
4288 if (entryIdx == 0) {
4289 }
else if (entryIdx == 255) {
4365 popupMenu->
userIndex[popupIndex] = partnerId;
4366 popupMenu->
enabled[popupIndex] = 1;
4371 popupMenu->
enabled[popupIndex] = 0;
4576 player->
flags &= ~ACTOR_FLAG_USING_IDLE_ANIM;
4578 if (partner != NULL) {
4620 if (selectedOption != 0) {
4636 battleStatus->
moveArgument = STAR_POWER_INDEX(MOVE_PEACH_FOCUS);
4710 shouldSkipTurn = FALSE;
4712 shouldSkipTurn = TRUE;
4715 shouldSkipTurn = TRUE;
4718 shouldSkipTurn = TRUE;
4721 shouldSkipTurn = TRUE;
4724 shouldSkipTurn = TRUE;
4727 shouldSkipTurn = TRUE;
4730 shouldSkipTurn = TRUE;
4733 shouldSkipTurn = TRUE;
4736 if (shouldSkipTurn) {
4782 player->
flags &= ~ACTOR_FLAG_USING_IDLE_ANIM;
4784 if (partner != NULL) {
4826 if (selection != 0) {
4899 s32 targetListLength;
4900 s32 selectedTargetIndex;
4902 s8* targetIndexList;
4914 actor->
flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS;
4927 if (actionTip >= 0) {
4938 for (i = 0; i < targetListLength; i++) {
4939 target = &actor->
targetData[targetIndexList[i]];
4970 if (targetListLength == 0) {
4992 for (i = 0; i < targetListLength; i++) {
5030 s32 oldSelectedTargetIndex = selectedTargetIndex;
5033 selectedTargetIndex--;
5036 selectedTargetIndex++;
5038 if (selectedTargetIndex < 0) {
5039 selectedTargetIndex = targetListLength - 1;
5041 if (selectedTargetIndex >= targetListLength) {
5042 selectedTargetIndex = 0;
5044 if (selectedTargetIndex != oldSelectedTargetIndex) {
5047 target = &actor->
targetData[targetIndexList[selectedTargetIndex]];
5068 for (i = 0; i < targetListLength; i++) {
5093 for (i = 0; i < targetListLength; i++) {
5135 s32 targetListLength;
5139 Actor* choosingActor;
5144 s32 xOffset, yOffset;
5145 f32 targetX, targetY, targetZ;
5146 s32 screenX, screenY, screenZ;
5147 s32 selectedTargetIndex;
5148 s8* targetIndexList;
5164 if (targetListLength == 0) {
5170 target = &choosingActor->
targetData[targetIndexList[selectedTargetIndex]];
5196 for (i = 0; i < targetListLength; i++) {
5197 target = &choosingActor->
targetData[targetIndexList[i]];
5236 nameWidth =
get_msg_width(MSG_Menus_Battle_TargetMario, 0) + 10;
5240 target = &choosingActor->
targetData[targetIndexList[selectedTargetIndex]];
5243 if (msgID == MSG_NONE) {
5249 target = &choosingActor->
targetData[targetIndexList[selectedTargetIndex]];
5252 nameWidth =
get_msg_width(MSG_Menus_Battle_TargetMario, 0) + 10;
5256 nameWidth =
get_msg_width(MSG_Menus_Battle_TargetAllEnemies, 0) + 10;
5262 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL,
SCREEN_WIDTH,
SCREEN_HEIGHT, NULL);
5274 target = &choosingActor->
targetData[targetIndexList[selectedTargetIndex]];
5277 if (msgID == MSG_NONE) {
5283 target = &choosingActor->
targetData[targetIndexList[selectedTargetIndex]];
PartnerPopupProperties gPartnerPopupProperties[]
@ ACTION_COMMAND_MODE_TUTORIAL
ActorPartBlueprint * staticData
struct SelectableTarget targetData[24]
@ DRAW_NUMBER_STYLE_ALIGN_RIGHT
drawn to the left of posX
@ DRAW_NUMBER_STYLE_MONOSPACE
@ BTL_MENU_STATE_SHOW_DISABLED_POPUP
@ BTL_MENU_STATE_ACCEPT_INPUT
@ BTL_MENU_STATE_OPENED_SUBMENU
@ BTL_MENU_STATE_AWAIT_DISABLED_POPUP
@ BS_FLAGS1_TUTORIAL_BATTLE
@ BS_FLAGS1_PLAYER_IN_BACK
@ BS_FLAGS1_PARTNER_ACTING
@ BTL_MSG_CANT_SELECT_NOW
@ BTL_MSG_CANT_SELECT_NOW_ALT
@ BTL_MSG_NO_HAMMER_TARGET
@ BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING
@ POPUP_MENU_SWITCH_PARTNER
@ WINDOW_UPDATE_TRANSPARENT
@ BTL_SUBMENU_STRATS_STATE_ERROR_INIT
@ BTL_SUBMENU_STRATS_STATE_CANCEL
@ BTL_SUBMENU_STRATS_STATE_UNK_20
@ BTL_SUBMENU_STRATS_STATE_SELECT
@ BTL_SUBMENU_STRATS_STATE_UNK_30
@ BTL_SUBMENU_STRATS_STATE_INIT
@ BTL_SUBMENU_STRATS_STATE_ERROR_SHOW
@ BTL_SUBMENU_STRATS_STATE_UNK_10
@ BTL_SUBMENU_STRATS_STATE_ERROR_DONE
@ BTL_SUBMENU_STRATS_STATE_CHOOSE
@ BTL_SUBMENU_STRATS_STATE_UNK_11
@ BTL_MENU_TYPE_CHANGE_PARTNER
@ BTL_MENU_TYPE_STAR_POWERS
@ BTL_MENU_TYPE_ACT_LATER
@ BTL_MENU_TYPE_PARTNER_FOCUS
@ BTL_MENU_TYPE_STRATEGIES
@ BTL_MENU_TYPE_DO_NOTHING
@ BS_FLAGS2_PLAYER_TURN_USED
@ BS_FLAGS2_NO_TARGET_AVAILABLE
@ BS_FLAGS2_PARTNER_TURN_USED
@ DRAW_NUMBER_CHARSET_THIN
@ BTL_SUBMENU_MOVES_STATE_UNK_2A
@ BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_ONE
@ BTL_SUBMENU_MOVES_STATE_UNK_14
@ BTL_SUBMENU_MOVES_STATE_UNK_1
@ BTL_SUBMENU_MOVES_STATE_UNK_0
@ BTL_SUBMENU_MOVES_STATE_UNK_B
@ BTL_SUBMENU_MOVES_STATE_UNK_1E
@ BTL_SUBMENU_MOVES_STATE_UNK_28
@ BTL_SUBMENU_MOVES_STATE_UNK_A
@ BTL_SUBMENU_MOVES_STATE_UNK_29
@ BTL_SUBMENU_MOVES_STATE_UNK_NEGATIVE_TWO
@ ITEM_TYPE_FLAG_BATTLE_USABLE
@ TARGET_FLAG_PRIMARY_ONLY
@ BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_5
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_2
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_SHOW_CANT_SWAP
@ BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_2
@ BTL_SUBSTATE_PARTNER_MENU_ABILITIES_6
@ BTL_SUBSTATE_PARTNER_MENU_ITEMS_3
@ BTL_SUBSTATE_PARTNER_MENU_NONE
@ BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_5
@ BTL_SUBSTATE_PARTNER_MENU_ABILITIES_2
@ BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_3
@ BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_3
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_AWAIT_CANT_SWAP
@ BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_1
@ BTL_SUBSTATE_PARTNER_MENU_FOCUS_4
@ BTL_SUBSTATE_PARTNER_MENU_FOCUS_5
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_3
@ BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_1
@ BTL_SUBSTATE_PARTNER_MENU_FOCUS_3
@ BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_7
@ BTL_SUBSTATE_PARTNER_MENU_ITEMS_2
@ BTL_SUBSTATE_PARTNER_MENU_ABILITIES_1
@ BTL_SUBSTATE_PARTNER_MENU_ITEMS_4
@ BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_5
@ BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_4
@ BTL_SUBSTATE_PARTNER_MENU_FOCUS_2
@ BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_2
@ BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_1
@ BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_6
@ BTL_SUBSTATE_PARTNER_MENU_ABILITIES_4
@ BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_7
@ BTL_SUBSTATE_PARTNER_MENU_FOCUS_6
@ BTL_SUBSTATE_PARTNER_MENU_ABILITIES_3
@ BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_4
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_4
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_6
@ BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_4
@ BTL_SUBSTATE_PARTNER_MENU_CHANGE_PARTNER_6
@ BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_2
@ BTL_SUBSTATE_PARTNER_MENU_12D
@ BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_6
@ BTL_SUBSTATE_PARTNER_MENU_FOCUS_1
@ BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_3
@ BTL_SUBSTATE_PARTNER_MENU_INIT_MENU
@ BTL_SUBSTATE_PARTNER_MENU_ABILITIES_5
@ BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_5
@ BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_4
@ BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_3
@ BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_5
@ BTL_SUBSTATE_PARTNER_MENU_ITEMS_6
@ BTL_SUBSTATE_PARTNER_MENU_UNKNOWN_2
@ BTL_SUBSTATE_PARTNER_MENU_ABILITIES_7
@ BTL_SUBSTATE_PARTNER_MENU_ITEMS_1
@ BTL_SUBSTATE_PARTNER_MENU_UNUSED_CHANGE_PARTNER_1
@ BTL_SUBSTATE_PARTNER_MENU_ITEMS_5
@ BTL_SUBSTATE_TWINK_MENU_CREATE_MAIN_MENU
@ BTL_SUBSTATE_PEACH_MENU_TARGET_CHOSEN
@ BTL_SUBSTATE_PEACH_MENU_TARGET_CANCEL
@ BTL_SUBSTATE_PEACH_MENU_UNUSED_6
@ BTL_SUBSTATE_SELECT_TARGET_INIT
@ BTL_SUBSTATE_TWINK_MENU_AWAIT_CANT_SWITCH_POPUP
@ BTL_SUBSTATE_PEACH_MENU_UNUSED_7
@ BTL_SUBSTATE_TWINK_MENU_TARGET_CANCEL
@ BTL_SUBSTATE_PEACH_MENU_CHOOSE_CATEGORY
@ BTL_SUBSTATE_SELECT_TARGET_CHOOSE
@ BTL_SUBSTATE_PEACH_CREATE_MAIN_MENU
@ BTL_SUBSTATE_PEACH_MENU_UNUSED_3
@ BTL_SUBSTATE_TWINK_MENU_UNUSED_3
@ BTL_SUBSTATE_TWINK_MENU_INIT
@ BTL_SUBSTATE_PEACH_MENU_SHOW_CANT_SWITCH
@ BTL_SUBSTATE_PEACH_MENU_PERFORM_SWAP
@ BTL_SUBSTATE_SELECT_TARGET_DONE
@ BTL_SUBSTATE_TWINK_MENU_PERFORM_SWAP
@ BTL_SUBSTATE_SELECT_TARGET_CANCEL
@ BTL_SUBSTATE_TWINK_MENU_CHOOSE_TARGET
@ BTL_SUBSTATE_TWINK_MENU_UNUSED_6
@ BTL_SUBSTATE_PEACH_MENU_AWAIT_CANT_SWITCH_POPUP
@ BTL_SUBSTATE_PEACH_MENU_CHOOSE_TARGET
@ BTL_SUBSTATE_TWINK_MENU_UNUSED_7
@ BTL_SUBSTATE_TWINK_MENU_TARGET_CHOSEN
@ BTL_SUBSTATE_TWINK_MENU_CHOOSE_CATEGORY
@ BTL_SUBSTATE_PEACH_MENU_INIT
@ BTL_SUBSTATE_TWINK_MENU_SHOW_CANT_SWITCH
@ BATTLE_STATE_SWITCH_TO_PARTNER
@ BATTLE_STATE_PLAYER_MENU
@ BATTLE_STATE_PLAYER_MOVE
@ BATTLE_STATE_SWITCH_TO_PLAYER
@ BATTLE_STATE_END_PARTNER_TURN
@ BATTLE_STATE_END_PLAYER_TURN
@ BATTLE_STATE_PARTNER_MOVE
@ BATTLE_STATE_PARTNER_MENU
@ BATTLE_STATE_SELECT_TARGET
@ BATTLE_STATE_CHANGE_PARTNER
@ SOUND_PARTNER_SWAP_BATTLE_POS
@ SOUND_MENU_CHANGE_SELECTION
@ BTL_MENU_ENABLED_PARTNER_FOCUS
@ BTL_MENU_ENABLED_STAR_POWERS
@ BTL_MENU_ENABLED_ABILITIES
@ BTL_MENU_ENABLED_STRATEGIES
@ ACTOR_FLAG_SHOW_STATUS_ICONS
@ ACTOR_FLAG_UPSIDE_DOWN
HP bar offset below actor (e.g. Swooper when upside-down).
@ ACTOR_FLAG_NO_ATTACK
Skip attack turn.
@ ACTOR_FLAG_USING_IDLE_ANIM
@ BTL_MENU_IDX_PARTNER_ITEM
@ BTL_MENU_IDX_STAR_POWER
@ ACTOR_PART_FLAG_DEFAULT_TARGET
@ BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_4
@ BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_3
@ BTL_SUBSTATE_PLAYER_MENU_ITEMS_5
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_SHOW_CANT_SWAP
@ BTL_SUBSTATE_PLAYER_MENU_BERSERKER_CHOOSE
@ BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_2
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_5
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_AWAIT_CANT_SWAP
@ BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_7
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_TARGET_CANCEL
@ BTL_SUBSTATE_PLAYER_MENU_ITEMS_1
@ BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_4
@ BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_2
@ BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_3
@ BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_4
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_4
@ BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY
@ BTL_SUBSTATE_PLAYER_MENU_ITEMS_4
@ BTL_SUBSTATE_PLAYER_MENU_CREATE_MAIN_MENU
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_10
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_TARGET_CHOSEN
@ BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_1
@ BTL_SUBSTATE_PLAYER_MENU_MOVE_TARGET_CHOSEN
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_13
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_3
@ BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_6
@ BTL_SUBSTATE_PLAYER_MENU_MOVE_CHOOSE_TARGET
@ BTL_SUBSTATE_PLAYER_MENU_PERFORM_SWAP
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_2
@ BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_4
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_7
@ BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_2
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_CHOOSE_TARGET
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_2
@ BTL_SUBSTATE_PLAYER_MENU_ITEMS_6
@ BTL_SUBSTATE_PLAYER_MENU_UNKNOWN_1
@ BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_3
@ BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_7
@ BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_5
@ BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_6
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_4
@ BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_8
@ BTL_SUBSTATE_PLAYER_MENU_MOVE_TARGET_CANCEL
@ BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_6
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_12
@ BTL_SUBSTATE_PLAYER_MENU_BUILD_STRATEGIES
@ BTL_SUBSTATE_PLAYER_MENU_INIT
@ BTL_SUBSTATE_PLAYER_MENU_CHANGE_MEMBER_5
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_1
@ BTL_SUBSTATE_PLAYER_MENU_STRATEGIES_5
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_14
@ BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_11
@ BTL_SUBSTATE_PLAYER_MENU_ITEMS_3
@ BTL_SUBSTATE_PLAYER_MENU_DIPPING_6
@ BTL_SUBSTATE_PLAYER_MENU_ITEMS_2
@ BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_1
@ BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_3
void btl_show_variable_battle_message(s32, s32, s32)
s32 is_ability_active(s32 arg0)
s32 player_team_is_ability_active(Actor *actor, s32 ability)
void get_screen_coords(s32 camID, f32 x, f32 y, f32 z, s32 *screenX, s32 *screenY, s32 *screenZ)
void hide_popup_menu(void)
void set_window_update(s32 panelID, s32)
void status_bar_start_blinking_fp(void)
void status_bar_stop_blinking_sp(void)
void destroy_popup_menu(void)
void btl_cam_use_preset(s32)
ActorPart * get_actor_part(Actor *actor, s32 partID)
void set_actor_anim(s32 actorID, s32 partID, AnimID animID)
Actor * get_actor(s32 actorID)
void status_bar_stop_blinking_fp(void)
void btl_show_battle_message(s32 messageIndex, s32 duration)
void btl_draw_prim_quad(u8 r, u8 g, u8 b, u8 a, u16 left, u16 top, u16 arg6, u16 arg7)
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, u8, void *drawContents, void *drawContentsArg, s8 parent)
void btl_set_state(s32 battleState)
s32 btl_is_popup_displayed(void)
void create_current_pos_target_list(Actor *actor)
void add_vec2D_polar(f32 *x, f32 *y, f32 r, f32 theta)
void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, u16 style)
s32 get_msg_lines(s32 messageID)
void status_bar_start_blinking_sp_bars(s32 numBarsToBlink)
HudScript HES_AnimatedHandPointer
void func_80144238(s32 id)
void hud_element_set_scale(s32 index, f32 scale)
void hud_element_set_alpha(s32 id, s32 opacity)
void hud_element_draw_without_clipping(s32 id)
void hud_element_set_script(s32 id, HudScript *anim)
void hud_element_set_render_depth(s32 id, s32 z)
void hud_element_create_transform_B(s32 id)
HudScript * hud_element_get_script(s32 id)
void hud_element_set_transform_pos(s32 id, f32 x, f32 y, f32 z)
void hud_element_set_tint(s32 id, s32 r, s32 g, s32 b)
void hud_element_set_transform_rotation(s32 id, f32 x, f32 y, f32 z)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
void hud_element_set_transform_rotation_pivot(s32 id, s32 dx, s32 dy)
s32 hud_element_create(HudScript *anim)
Creates a new HUD element and returns its ID.
void hud_element_set_flags(s32 id, s32 flags)
Turns on the given flags.
void hud_element_clear_flags(s32 id, s32 flags)
Turns off the given flags.
void hud_element_draw_clipped(s32 id)
void hud_element_set_transform_scale(s32 id, f32 x, f32 y, f32 z)
void hud_element_free(s32 id)
void func_80144218(s32 id)
@ HUD_ELEMENT_FLAG_DISABLED
@ HUD_ELEMENT_FLAG_DROP_SHADOW
@ HUD_ELEMENT_FLAG_FILTER_TEX
void sfx_play_sound(s32 soundID)
s8 moveCategory
0 = jump, 1 = hammer, 5 = partner, ...
s8 lastPlayerMenuSelection[16]
struct Actor * partnerActor
s16 cancelTargetMenuSubstate
struct Actor * playerActor
s8 lastPartnerMenuSelection[16]
s8 menuStatus[4]
-1 = automatically pick the first move, 0 = disabled, 1 = enabled
s32 enabledStarPowersFlags
s16 acceptTargetMenuSubstate
s32 PartnerIDFromMenuIndex[12]
GameStatus * gGameStatusPtr
BattleStatus gBattleStatus