Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
menu_partner.c File Reference

Go to the source code of this file.

Enumerations

enum  {
  BTL_SUBSTATE_MAIN_BEGIN = 2 , BTL_SUBSTATE_MAIN_CHOOSING = 3 , BTL_SUBSTATE_MAIN_HANDOVER = 4 , BTL_SUBSTATE_MAIN_REOPEN_MENU = 5 ,
  BTL_SUBSTATE_MAIN_TARGET_CANCEL = 6 , BTL_SUBSTATE_MAIN_TARGET_CHOSEN = 7 , BTL_SUBSTATE_MAIN_SHOW_CANT_SWAP = 8 , BTL_SUBSTATE_MAIN_AWAIT_CANT_SWAP = 9 ,
  BTL_SUBSTATE_ABILITIES_BUILD_MENU = 10 , BTL_SUBSTATE_ABILITIES_CHOOSING = 11 , BTL_SUBSTATE_ABILITIES_HANDOVER = 12 , BTL_SUBSTATE_ABILITIES_REOPEN_MENU = 13 ,
  BTL_SUBSTATE_ABILITIES_TARGET_CANCEL = 14 , BTL_SUBSTATE_ABILITIES_TARGET_CHOSEN = 15 , BTL_SUBSTATE_ABILITIES_SHOW_ERROR = 16 , BTL_SUBSTATE_UNKNOWN_1 = 20 ,
  BTL_SUBSTATE_UNKNOWN_2 = 21 , BTL_SUBSTATE_UNKNOWN_3 = 22 , BTL_SUBSTATE_UNKNOWN_4 = 23 , BTL_SUBSTATE_UNKNOWN_5 = 24 ,
  BTL_SUBSTATE_CHANGE_PARTNER_BUILD_MENU = 30 , BTL_SUBSTATE_CHANGE_PARTNER_CHOOSING = 31 , BTL_SUBSTATE_CHANGE_PARTNER_HANDOVER = 32 , BTL_SUBSTATE_CHANGE_PARTNER_REOPEN_MENU = 33 ,
  BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CANCEL = 34 , BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CHOSEN = 35 , BTL_SUBSTATE_CHANGE_PARTNER_ERROR = 36 , BTL_SUBSTATE_ITEMS_BUILD_MENU = 40 ,
  BTL_SUBSTATE_ITEMS_CHOOSING = 41 , BTL_SUBSTATE_ITEMS_HANDOVER = 42 , BTL_SUBSTATE_ITEMS_REOPEN_MENU = 43 , BTL_SUBSTATE_ITEMS_TARGET_CANCEL = 44 ,
  BTL_SUBSTATE_ITEMS_TARGET_CHOSEN = 45 , BTL_SUBSTATE_UNUSED_CHANGE_BUILD_MENU = 50 , BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_CHOOSING = 51 , BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_HANDOVER = 52 ,
  BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_REOPEN_MENU = 53 , BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_TARGET_CANCEL = 54 , BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_TARGET_CHOSEN = 55 , BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_SHOW_ERROR = 56 ,
  BTL_SUBSTATE_FOCUS_BUILD_MENU = 60 , BTL_SUBSTATE_FOCUS_CHOOSING = 61 , BTL_SUBSTATE_FOCUS_HANDOVER = 62 , BTL_SUBSTATE_FOCUS_REOPEN_MENU = 63 ,
  BTL_SUBSTATE_FOCUS_CANCELED = 64 , BTL_SUBSTATE_FOCUS_SELECTED = 65 , BTL_SUBSTATE_STRATEGIES_BUILD_MENU = 200 , BTL_SUBSTATE_STRATEGIES_CHOOSING = 201 ,
  BTL_SUBSTATE_STRATEGIES_HANDOVER = 202 , BTL_SUBSTATE_STRATEGIES_REOPEN_MENU = 203 , BTL_SUBSTATE_STRATEGIES_TARGET_CANCEL = 204 , BTL_SUBSTATE_STRATEGIES_TARGET_CHOSEN = 205 ,
  BTL_SUBSTATE_PERFORM_SWAP = 301 , BTL_SUBSTATE_CREATE_MAIN_MENU = 302
}
 

Functions

void btl_init_menu_partner (void)
 
void btl_state_update_partner_menu (void)
 
void btl_state_draw_partner_menu (void)
 

Variables

AnimID PartnerThinkAnims []
 
AnimID PartnerIdleAnims []
 
IconHudScriptPair PartnerMoveHudScripts [][5]
 
s32 PartnerNameMessages []
 

Enumeration Type Documentation

◆ anonymous enum

Enumerator
BTL_SUBSTATE_MAIN_BEGIN 
BTL_SUBSTATE_MAIN_CHOOSING 
BTL_SUBSTATE_MAIN_HANDOVER 
BTL_SUBSTATE_MAIN_REOPEN_MENU 
BTL_SUBSTATE_MAIN_TARGET_CANCEL 
BTL_SUBSTATE_MAIN_TARGET_CHOSEN 
BTL_SUBSTATE_MAIN_SHOW_CANT_SWAP 
BTL_SUBSTATE_MAIN_AWAIT_CANT_SWAP 
BTL_SUBSTATE_ABILITIES_BUILD_MENU 
BTL_SUBSTATE_ABILITIES_CHOOSING 
BTL_SUBSTATE_ABILITIES_HANDOVER 
BTL_SUBSTATE_ABILITIES_REOPEN_MENU 
BTL_SUBSTATE_ABILITIES_TARGET_CANCEL 
BTL_SUBSTATE_ABILITIES_TARGET_CHOSEN 
BTL_SUBSTATE_ABILITIES_SHOW_ERROR 
BTL_SUBSTATE_UNKNOWN_1 
BTL_SUBSTATE_UNKNOWN_2 
BTL_SUBSTATE_UNKNOWN_3 
BTL_SUBSTATE_UNKNOWN_4 
BTL_SUBSTATE_UNKNOWN_5 
BTL_SUBSTATE_CHANGE_PARTNER_BUILD_MENU 
BTL_SUBSTATE_CHANGE_PARTNER_CHOOSING 
BTL_SUBSTATE_CHANGE_PARTNER_HANDOVER 
BTL_SUBSTATE_CHANGE_PARTNER_REOPEN_MENU 
BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CANCEL 
BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CHOSEN 
BTL_SUBSTATE_CHANGE_PARTNER_ERROR 
BTL_SUBSTATE_ITEMS_BUILD_MENU 
BTL_SUBSTATE_ITEMS_CHOOSING 
BTL_SUBSTATE_ITEMS_HANDOVER 
BTL_SUBSTATE_ITEMS_REOPEN_MENU 
BTL_SUBSTATE_ITEMS_TARGET_CANCEL 
BTL_SUBSTATE_ITEMS_TARGET_CHOSEN 
BTL_SUBSTATE_UNUSED_CHANGE_BUILD_MENU 
BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_CHOOSING 
BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_HANDOVER 
BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_REOPEN_MENU 
BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_TARGET_CANCEL 
BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_TARGET_CHOSEN 
BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_SHOW_ERROR 
BTL_SUBSTATE_FOCUS_BUILD_MENU 
BTL_SUBSTATE_FOCUS_CHOOSING 
BTL_SUBSTATE_FOCUS_HANDOVER 
BTL_SUBSTATE_FOCUS_REOPEN_MENU 
BTL_SUBSTATE_FOCUS_CANCELED 
BTL_SUBSTATE_FOCUS_SELECTED 
BTL_SUBSTATE_STRATEGIES_BUILD_MENU 
BTL_SUBSTATE_STRATEGIES_CHOOSING 
BTL_SUBSTATE_STRATEGIES_HANDOVER 
BTL_SUBSTATE_STRATEGIES_REOPEN_MENU 
BTL_SUBSTATE_STRATEGIES_TARGET_CANCEL 
BTL_SUBSTATE_STRATEGIES_TARGET_CHOSEN 
BTL_SUBSTATE_PERFORM_SWAP 
BTL_SUBSTATE_CREATE_MAIN_MENU 

Definition at line 15 of file menu_partner.c.

15 {
16 // BTL_SUBSTATE_INIT = 0,
17
18 // Main menu
21 // these states would be used to select targets from main menu choices, but none of the main menu options
22 // actually trigger these, so they are unused
29 // Abilities
37 // Unknown, referenced only in btl_state_draw_partner_menu
38 // Matches up with the Double/Triple dip states in menu_player.
44 // Change Partner
47 BTL_SUBSTATE_CHANGE_PARTNER_HANDOVER = 32, // handle switch to change partner state
52 // Items
55 BTL_SUBSTATE_ITEMS_HANDOVER = 42, // handle switch to target selection state
59 // Switch partner (from main menu?) (unused)
60 // At one point in development, Switch Partner would have been a top-level menu option.
61 // These are the states corresponding to that.
69 // Focus
76 // Strategies
83 // initialize
86};
@ BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_TARGET_CANCEL
@ BTL_SUBSTATE_FOCUS_SELECTED
@ BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_HANDOVER
@ BTL_SUBSTATE_ABILITIES_BUILD_MENU
@ BTL_SUBSTATE_CREATE_MAIN_MENU
@ BTL_SUBSTATE_UNKNOWN_2
@ BTL_SUBSTATE_MAIN_AWAIT_CANT_SWAP
@ BTL_SUBSTATE_ABILITIES_SHOW_ERROR
@ BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_REOPEN_MENU
@ BTL_SUBSTATE_FOCUS_CANCELED
@ BTL_SUBSTATE_FOCUS_CHOOSING
@ BTL_SUBSTATE_CHANGE_PARTNER_HANDOVER
@ BTL_SUBSTATE_CHANGE_PARTNER_CHOOSING
@ BTL_SUBSTATE_CHANGE_PARTNER_REOPEN_MENU
@ BTL_SUBSTATE_UNUSED_CHANGE_BUILD_MENU
@ BTL_SUBSTATE_ABILITIES_HANDOVER
@ BTL_SUBSTATE_MAIN_CHOOSING
@ BTL_SUBSTATE_ITEMS_BUILD_MENU
@ BTL_SUBSTATE_STRATEGIES_HANDOVER
@ BTL_SUBSTATE_ABILITIES_CHOOSING
@ BTL_SUBSTATE_ITEMS_REOPEN_MENU
@ BTL_SUBSTATE_CHANGE_PARTNER_BUILD_MENU
@ BTL_SUBSTATE_STRATEGIES_TARGET_CHOSEN
@ BTL_SUBSTATE_STRATEGIES_REOPEN_MENU
@ BTL_SUBSTATE_ITEMS_TARGET_CANCEL
@ BTL_SUBSTATE_MAIN_BEGIN
@ BTL_SUBSTATE_UNKNOWN_4
@ BTL_SUBSTATE_FOCUS_BUILD_MENU
@ BTL_SUBSTATE_PERFORM_SWAP
@ BTL_SUBSTATE_CHANGE_PARTNER_ERROR
@ BTL_SUBSTATE_UNKNOWN_5
@ BTL_SUBSTATE_MAIN_TARGET_CANCEL
@ BTL_SUBSTATE_ITEMS_HANDOVER
@ BTL_SUBSTATE_ABILITIES_REOPEN_MENU
@ BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CANCEL
@ BTL_SUBSTATE_MAIN_SHOW_CANT_SWAP
@ BTL_SUBSTATE_ITEMS_CHOOSING
@ BTL_SUBSTATE_FOCUS_REOPEN_MENU
@ BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CHOSEN
@ BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_TARGET_CHOSEN
@ BTL_SUBSTATE_MAIN_TARGET_CHOSEN
@ BTL_SUBSTATE_MAIN_HANDOVER
@ BTL_SUBSTATE_FOCUS_HANDOVER
@ BTL_SUBSTATE_STRATEGIES_BUILD_MENU
@ BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_SHOW_ERROR
@ BTL_SUBSTATE_ABILITIES_TARGET_CHOSEN
@ BTL_SUBSTATE_MAIN_REOPEN_MENU
@ BTL_SUBSTATE_UNUSED_CHANGE_PARTNER_CHOOSING
@ BTL_SUBSTATE_UNKNOWN_1
@ BTL_SUBSTATE_UNKNOWN_3
@ BTL_SUBSTATE_STRATEGIES_CHOOSING
@ BTL_SUBSTATE_STRATEGIES_TARGET_CANCEL
@ BTL_SUBSTATE_ITEMS_TARGET_CHOSEN
@ BTL_SUBSTATE_ABILITIES_TARGET_CANCEL

Function Documentation

◆ btl_init_menu_partner()

void btl_init_menu_partner ( void )

Definition at line 199 of file menu_partner.c.

199 {
202 Actor* player = battleStatus->playerActor;
203 Actor* partner = battleStatus->partnerActor;
204 s32 fpCost;
205 s32 i;
207
208 for (i = 0; i < ARRAY_COUNT(battleStatus->submenuMoves); i++) {
209 battleStatus->submenuMoves[i] = MOVE_NONE;
210 }
211
212 // In the move table (enum MoveIDs), partners get move IDs set up like this:
213 //
214 // Move ID offset | Description | Goombario example
215 // ----------------+----------------------+-------------------
216 // 0 | No rank only | Headbonk
217 // 1 | Super rank only | Headbonk (2)
218 // 2 | Ultra rank only | Headbonk (3)
219 // 3 | Always unlocked | Tattle
220 // 4 | Unlocked after super | Charge
221 // 5 | Unlocked after ultra | Multibonk
222
223 battleStatus->submenuMoveCount = partner->actorBlueprint->level + 2;
224
225 // Select rank-appropriate basic move from offsets 0, 1, or 2
226 battleStatus->submenuMoves[0] =
227 (playerData->curPartner - 1) * 6
229 + partner->actorBlueprint->level;
230
231 // Add rank-unlocked special moves from offsets 3, 4, and 5
232 for (i = 1; i < battleStatus->submenuMoveCount; i++) {
233 battleStatus->submenuMoves[i] =
234 (playerData->curPartner - 1) * 6
236 + (i - 1);
237 }
238
240 for (i = 0; i < battleStatus->submenuMoveCount; i++){
241 MoveData* move = &gMoveTable[battleStatus->submenuMoves[i]];
242
243 fpCost = move->costFP;
244 if (fpCost != 0) {
247 if (fpCost < 1) {
248 fpCost = 1;
249 }
250 }
251
253 battleStatus->moveArgument = partner->actorBlueprint->level;
254 battleStatus->curTargetListFlags = move->flags;
256
257 if (partner->targetListLength != 0){
260 }
261
262 if (partner->targetListLength == 0) {
264 }
265
266 if (playerData->curFP < fpCost) {
268 }
271 }
272 }
273
274 if (!hasAnyBadgeMoves) {
275 battleStatus->menuStatus[3] = -1;
276 } else {
277 battleStatus->menuStatus[3] = 1;
278 }
279}
BSS s32 PopupMenu_SelectedIndex
struct ActorBlueprint * actorBlueprint
@ BTL_MENU_TYPE_CHANGE_PARTNER
Definition enums.h:3831
@ BS_FLAGS2_NO_TARGET_AVAILABLE
Definition enums.h:3647
@ BATTLE_SUBMENU_STATUS_ENABLED
Definition enums.h:4812
@ BATTLE_SUBMENU_STATUS_NO_TARGETS
Definition enums.h:4814
@ BATTLE_SUBMENU_STATUS_NOT_ENOUGH_FP
Definition enums.h:4813
@ BATTLE_SUBMENU_STATUS_NO_TARGETS_2
Definition enums.h:4815
@ ABILITY_FLOWER_SAVER
Definition enums.h:460
@ ABILITY_FLOWER_FANATIC
Definition enums.h:474
s32 player_team_is_ability_active(Actor *actor, s32 ability)
Definition 190B20.c:2497
void create_current_pos_target_list(Actor *actor)
Definition 190B20.c:472
#define ARRAY_COUNT(arr)
Definition macros.h:40
PlayerData gPlayerData
Definition 77480.c:39
BattleStatus gBattleStatus
Definition battle.cpp:14
MoveData gMoveTable[]

Referenced by btl_state_update_partner_menu().

◆ btl_state_update_partner_menu()

void btl_state_update_partner_menu ( void )

Definition at line 281 of file menu_partner.c.

281 {
284 Actor* playerActor = battleStatus->playerActor;
285 Actor* partnerActor = battleStatus->partnerActor;
288 s32 i;
290 s32 initialPos;
293
295 battleStatus->moveCategory = BTL_MENU_TYPE_INVALID;
296 battleStatus->selectedMoveID = MOVE_NONE;
297 battleStatus->curAttackElement = 0;
298 if (!btl_partner_can_act()) {
300 } else {
307 } else {
309 partnerActor->state.curPos.x = partnerActor->homePos.x;
310 partnerActor->state.curPos.z = partnerActor->homePos.z;
311 partnerActor->state.goalPos.x = playerActor->homePos.x;
312 partnerActor->state.goalPos.z = playerActor->homePos.z;
313 partnerActor->state.moveTime = 4;
314 partnerActor->state.angle = 0.0f;
315 }
316 }
317 }
318
320 if (partnerActor->state.moveTime != 0) {
321 partnerActor->curPos.x += (partnerActor->state.goalPos.x - partnerActor->curPos.x) / partnerActor->state.moveTime;
322 partnerActor->curPos.z += (partnerActor->state.goalPos.z - partnerActor->curPos.z) / partnerActor->state.moveTime;
323 playerActor->curPos.x += (partnerActor->state.curPos.x - playerActor->curPos.x) / partnerActor->state.moveTime;
324 playerActor->curPos.z += (partnerActor->state.curPos.z - playerActor->curPos.z) / partnerActor->state.moveTime;
325 }
326 partnerActor->curPos.z += sin_rad(DEG_TO_RAD(partnerActor->state.angle)) * 16.0f;
327 partnerActor->yaw = clamp_angle(-partnerActor->state.angle);
328 playerActor->curPos.z -= sin_rad(DEG_TO_RAD(partnerActor->state.angle)) * 16.0f;
329 playerActor->yaw = clamp_angle(-partnerActor->state.angle);
330 partnerActor->state.angle += 90.0f;
331 if (partnerActor->state.moveTime != 0) {
332 partnerActor->state.moveTime--;
333 } else {
335 partnerActor->curPos.x = partnerActor->state.goalPos.x;
336 partnerActor->curPos.z = partnerActor->state.goalPos.z;
337 playerActor->curPos.x = partnerActor->state.curPos.x;
338 playerActor->curPos.z = partnerActor->state.curPos.z;
339 partnerActor->homePos.x = partnerActor->curPos.x;
340 partnerActor->homePos.z = partnerActor->curPos.z;
341 playerActor->homePos.x = playerActor->curPos.x;
342 playerActor->homePos.z = playerActor->curPos.z;
344 }
345 }
346
347 switch (gBattleSubState) {
349 partnerActor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS;
350 partnerActor->flags &= ~ACTOR_FLAG_USING_IDLE_ANIM;
351 playerActor->flags |= ACTOR_FLAG_USING_IDLE_ANIM;
352 playerActor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS;
355
356 // default menu position is section option: abilities
357 // will be overridden by most recently selected option, if one exists
358 initialPos = 1;
359 entryIdx = 0;
360
361 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] < 0) {
362 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] = BTL_MENU_TYPE_ABILITY;
363 }
366
367 // strategies menu category
373 if (!(battleStatus->enabledMenusFlags & BTL_MENU_ENABLED_STRATEGIES)) {
377 }
378 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] == BTL_MENU_TYPE_STRATEGIES) {
379 initialPos = entryIdx;
380 }
381 entryIdx++;
382
383 // abilities menu category
388 if (battleStatus->menuStatus[3] <= 0) {
392 }
393 if (!(battleStatus->enabledMenusFlags & BTL_MENU_ENABLED_ABILITIES)) {
397 }
398 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] == BTL_MENU_TYPE_ABILITY) {
399 initialPos = entryIdx;
400 }
401 entryIdx++;
402
403 // focus menu category
404 if (playerData->maxStarPower != 0 && is_ability_active(ABILITY_GROUP_FOCUS)) {
410 if (!(battleStatus->enabledMenusFlags & BTL_MENU_ENABLED_PARTNER_FOCUS)) {
414 }
415 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] == BTL_MENU_TYPE_PARTNER_FOCUS) {
416 initialPos = entryIdx;
417 }
418 entryIdx++;
419 }
420
422 BattleMenu_PrevSelected = initialPos;
423 BattleMenu_WheelBase = 2 - initialPos;
424 if (btl_player_can_act()) {
426 } else {
428 }
433 return;
437 // fall through
440
441 if (BattleMenu_SwapDelay != 0) {
444 if (btl_player_can_act()) {
449 } else {
452 }
453 break;
454 }
455
456 if (BattleMenu_ChooseDelay != 0) {
458 break;
459 }
460
461 if (entryIdx != 0) {
463 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] = battleStatus->curPartnerSubmenu = WheelOptionSubmenu[entryIdx - 1];
464 switch (battleStatus->curPartnerSubmenu) {
469 break;
474 break;
479 break;
484 break;
489 break;
490 default:
491 battleStatus->cancelTargetMenuSubstate = BTL_SUBSTATE_MAIN_TARGET_CANCEL;
492 battleStatus->acceptTargetMenuSubstate = BTL_SUBSTATE_MAIN_TARGET_CHOSEN;
495 break;
496 }
497 }
498 break;
501 if ((battleStatus->curButtonsPressed & BUTTON_B) && entryIdx == 0) {
504 return;
505 }
506 if (entryIdx != 0) {
508 battleStatus->selectedMoveID = MOVE_FOCUS;
509 battleStatus->moveArgument = 0;
510 battleStatus->curTargetListFlags = gMoveTable[MOVE_FOCUS].flags;
512 return;
513 }
514 break;
516 if (btl_main_menu_update() != 0) {
520 }
521 break;
525 break;
528 break;
530 if (!btl_player_can_act()) {
532 } else {
534 }
537 break;
540 break;
541 }
546 break;
548 for (i = 0; i < battleStatus->submenuMoveCount; i++) {
549 moveData = &gMoveTable[battleStatus->submenuMoves[i]];
550
551 MovesOptionError[i] = 0;
552 if (battleStatus->submenuStatus[i] == 0) {
553 MovesOptionError[i] = 0;
554 }
555 if (battleStatus->submenuStatus[i] == -1) {
556 battleStatus->submenuStatus[i] = 0;
558 }
559 if (battleStatus->submenuStatus[i] == -2) {
560 battleStatus->submenuStatus[i] = 0;
562 }
564 if (battleStatus->submenuStatus[i] == 0) {
566 }
567 MovesOptionIndices[i] = battleStatus->submenuMoves[i];
568 MovesOptionEnabled[i] = battleStatus->submenuStatus[i];
569 MovesOptionNames[i] = moveData->nameMsg;
570 MovesOptionDesc[i] = moveData->shortDescMsg;
572 MovesOptionBPCosts[i] = moveData->costBP;
574
580 }
584 }
585 }
586 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_ABILITY] < 0) {
587 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_ABILITY] = 0;
588 }
590 MovesOptionCount = battleStatus->submenuMoveCount;
591 initialPos = battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_ABILITY];
592 MovesPrevSelected = initialPos;
595 break;
598 switch (entryIdx) {
600 // do nothing while player is choosing from popup menu
601 break;
604 break;
612 break;
613 default:
614 battleStatus->lastPartnerPowerSelection = entryIdx - 1;
618 break;
619 }
620 break;
623 if ((battleStatus->curButtonsPressed & BUTTON_B) && entryIdx == 0) {
627 } else if (btl_main_menu_update() != 0) {
628 battleStatus->moveCategory = BTL_MENU_TYPE_ABILITY;
629 battleStatus->selectedMoveID = MovesOptionIndices[battleStatus->lastPartnerPowerSelection];
630 battleStatus->curTargetListFlags = gMoveTable[battleStatus->selectedMoveID].flags;
631 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_ABILITY] = SelectedMovesIndex;
632 battleStatus->cancelTargetMenuSubstate = BTL_SUBSTATE_ABILITIES_TARGET_CANCEL;
633 battleStatus->acceptTargetMenuSubstate = BTL_SUBSTATE_ABILITIES_TARGET_CHOSEN;
635 }
636 break;
639 if (btl_main_menu_update() != 0) {
641 }
642 break;
647 break;
651 break;
653 if (btl_submenu_moves_update() != -1) {
655 }
656 break;
658 popupIndex = 0;
659 for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) {
660 ItemData* item;
662 if (playerData->invItems[i] == ITEM_NONE) {
663 continue;
664 }
665 item = &gItemTable[playerData->invItems[i]];
667
669 continue;
670 }
671 popupMenu->ptrIcon[popupIndex] = hudScript[0];
672 popupMenu->userIndex[popupIndex] = playerData->invItems[i];
673 popupMenu->enabled[popupIndex] = TRUE;
674 popupMenu->nameMsg[popupIndex] = item->nameMsg;
675 popupMenu->descMsg[popupIndex] = item->shortDescMsg;
676 popupIndex++;
677 }
678 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER_ITEM] < 0) {
679 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER_ITEM] = 0;
680 }
681 popupMenu->popupType = POPUP_MENU_USE_ITEM;
682 popupMenu->numEntries = popupIndex;
683 popupMenu->dipMode = 0;
684 popupMenu->titleNumber = 0;
685 initialPos = battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER_ITEM];
686 popupMenu->initialPos = initialPos;
690 break;
692 switch (popupMenu->result) {
694 // do nothing while player is choosing from menu
695 break;
703 break;
704 default: // something has been selected
705 battleStatus->cancelTargetMenuSubstate = BTL_SUBSTATE_ITEMS_TARGET_CANCEL;
706 battleStatus->acceptTargetMenuSubstate = BTL_SUBSTATE_ITEMS_TARGET_CHOSEN;
707 battleStatus->lastSelectedItem = popupMenu->userIndex[popupMenu->result - 1];
708 battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS;
709 battleStatus->moveArgument = battleStatus->lastSelectedItem;
710 battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_PRIMARY_ONLY;
711 battleStatus->curAttackElement = 0;
712 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER_ITEM] = popupMenu->result - 1;
716 break;
717 }
718 break;
720 if (btl_main_menu_update() != 0) {
722 }
723 break;
725 if ((battleStatus->curButtonsPressed & BUTTON_B) && popupMenu->result == POPUP_RESULT_CHOOSING) {
729 } else if (btl_main_menu_update() != 0) {
731 }
732 break;
737 break;
741 break;
743 popupIndex = 0;
744 for (i = 1; i < ARRAY_COUNT(PartnerIDFromMenuIndex); i++) {
746 if (playerData->partners[partnerId].enabled) {
749 popupMenu->enabled[popupIndex] = TRUE;
750 popupMenu->userIndex[popupIndex] = partnerId;
751 popupMenu->nameMsg[popupIndex] = popupProps->nameMsg;
752 popupMenu->descMsg[popupIndex] = popupProps->battleDescMsg;
753 popupMenu->value[popupIndex] = playerData->partners[partnerId].level;
754 if (playerData->curPartner == partnerId) {
756 popupMenu->enabled[popupIndex] = FALSE;
757 }
758 popupIndex++;
759 }
760 }
761 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER] < 0) {
762 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER] = 0;
763 }
765 popupMenu->numEntries = popupIndex;
766 popupMenu->initialPos = MenuIndexFromPartnerID[playerData->curPartner] - 1;
767 popupMenu->dipMode = 0;
768 popupMenu->titleNumber = 0;
772 break;
774 switch (popupMenu->result) {
776 // do nothing while player is choosing from popup menu
777 break;
780 break;
788 break;
789 default:
792 battleStatus->lastSelectedPartner = popupMenu->userIndex[popupMenu->result - 1];
794 battleStatus->selectedMoveID = MOVE_CHANGE_PARTNER;
795 battleStatus->curTargetListFlags = TARGET_FLAG_2;
796 battleStatus->moveArgument = battleStatus->lastSelectedPartner;
797 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER] = popupMenu->result - 1;
801 break;
802 }
803 break;
805 if ((battleStatus->curButtonsPressed & BUTTON_B) && (popupMenu->result == POPUP_RESULT_CHOOSING)) {
809 } else if (btl_main_menu_update() != 0) {
810 gBattleSubState = battleStatus->acceptTargetMenuSubstate;
813 }
814 break;
816 if (btl_main_menu_update() != 0) {
818 }
819 break;
824 break;
828 break;
830 if (popupMenu->result != POPUP_RESULT_INVALID) {
832 }
833 break;
835 entryIdx = 1;
836 battleStatus->submenuMoveCount = entryIdx;
837 battleStatus->submenuMoves[0] = MOVE_FOCUS;
838 battleStatus->submenuIcons[0] = ITEM_PARTNER_ATTACK;
839 battleStatus->submenuStatus[0] = 1;
840 for (i = 0; i < battleStatus->submenuMoveCount; i++) {
841 moveData = &gMoveTable[battleStatus->submenuMoves[i]];
843 if (battleStatus->submenuStatus[i] == 0) {
845 }
847 MovesOptionBPCosts[i] = moveData->costBP;
848 MovesOptionIndices[i] = i;
850 MovesOptionEnabled[i] = battleStatus->submenuStatus[i];
851 MovesOptionNames[i] = moveData->nameMsg;
852 MovesOptionDesc[i] = moveData->shortDescMsg;
855 }
856 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STAR_POWER] < 0) {
857 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STAR_POWER] = 0;
858 }
860 MovesOptionCount = battleStatus->submenuMoveCount;
861 initialPos = battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STAR_POWER];
862 MovesPrevSelected = initialPos;
865 break;
868 switch (entryIdx) {
870 // do nothing while player is choosing from popup menu
871 break;
879 break;
880 default:
881 battleStatus->lastPartnerPowerSelection = MovesOptionIndices[entryIdx - 1];
885 break;
886 }
887 break;
890 if ((battleStatus->curButtonsPressed & BUTTON_B) && (entryIdx == 0)) {
894 } else if (btl_main_menu_update() != 0) {
895 battleStatus->cancelTargetMenuSubstate = BTL_SUBSTATE_FOCUS_CANCELED;
896 battleStatus->acceptTargetMenuSubstate = BTL_SUBSTATE_FOCUS_SELECTED;
898 battleStatus->selectedMoveID = battleStatus->submenuMoves[battleStatus->lastPartnerPowerSelection];
899 battleStatus->curTargetListFlags = gMoveTable[battleStatus->submenuMoves[battleStatus->lastPartnerPowerSelection]].flags;
900 battleStatus->moveArgument = battleStatus->lastPartnerPowerSelection;
901 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STAR_POWER] = SelectedMovesIndex;
903 }
904 break;
907 if (btl_main_menu_update() != 0) {
909 }
910 break;
915 break;
919 break;
921 popupIndex = 0;
923
924 // add 'Change Member' command
925 if (battleStatus->changePartnerAllowed >= 0) {
931 if (battleStatus->changePartnerAllowed <= 0) {
935 }
936 popupIndex++;
937 }
938
939 // add 'Do Nothing' command
945 popupIndex++;
946
947 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STRATEGY] < 0) {
948 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STRATEGY] = 0;
949 }
951 initialPos = battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STRATEGY];
952 StratsPrevSelected = initialPos;
955 break;
958 switch (entryIdx) {
960 // do nothing while player is selecting an entry
961 break;
969 break;
970 default:
971 battleStatus->curPartnerSubmenu = StratsOptionMenuTypes[entryIdx - 1];
972 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STRATEGY] = entryIdx - 1;
973 if (battleStatus->curPartnerSubmenu == BTL_MENU_TYPE_CHANGE_PARTNER) {
977 } else {
981 }
982 break;
983 }
984 break;
987 if ((battleStatus->curButtonsPressed & BUTTON_B) && entryIdx == POPUP_RESULT_CHOOSING) {
991 } else if (btl_main_menu_update() != 0) {
992 battleStatus->cancelTargetMenuSubstate = BTL_SUBSTATE_STRATEGIES_TARGET_CANCEL;
993 battleStatus->acceptTargetMenuSubstate = BTL_SUBSTATE_STRATEGIES_TARGET_CHOSEN;
994 switch (battleStatus->curPartnerSubmenu) {
999 break;
1003 battleStatus->moveCategory = BTL_MENU_TYPE_RUN_AWAY;
1004 battleStatus->selectedMoveID = MOVE_RUN_AWAY;
1006 break;
1011 break;
1012 }
1013 }
1014 break;
1017 if (btl_main_menu_update() != 0) {
1021 }
1022 break;
1027 break;
1031 break;
1033 popupIndex = 0;
1034 for (i = 1; i < ARRAY_COUNT(PartnerIDFromMenuIndex); i++) {
1036 if (playerData->partners[partnerId].enabled) {
1039 popupMenu->enabled[popupIndex] = TRUE;
1040 popupMenu->userIndex[popupIndex] = partnerId;
1041 popupMenu->nameMsg[popupIndex] = popupProps->nameMsg;
1042 popupMenu->descMsg[popupIndex] = popupProps->battleDescMsg;
1043 popupMenu->value[popupIndex] = playerData->partners[partnerId].level;
1044 if (playerData->curPartner == partnerId) {
1046 popupMenu->enabled[popupIndex] = FALSE;
1047 }
1048 popupIndex++;
1049 }
1050 }
1051 if (battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER] < 0) {
1052 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER] = 0;
1053 }
1055 popupMenu->numEntries = popupIndex;
1056 popupMenu->initialPos = MenuIndexFromPartnerID[playerData->curPartner] - 1;
1057 popupMenu->dipMode = 0;
1058 popupMenu->titleNumber = 0;
1062 break;
1064 switch (popupMenu->result) {
1066 // do nothing while player is choosing from popup menu
1067 break;
1070 break;
1076 break;
1077 default:
1078 battleStatus->cancelTargetMenuSubstate = BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CANCEL;
1079 battleStatus->acceptTargetMenuSubstate = BTL_SUBSTATE_CHANGE_PARTNER_TARGET_CHOSEN;
1080 battleStatus->lastSelectedPartner = popupMenu->userIndex[popupMenu->result - 1];
1082 battleStatus->selectedMoveID = MOVE_CHANGE_PARTNER;
1083 battleStatus->curTargetListFlags = TARGET_FLAG_2;
1084 battleStatus->moveArgument = battleStatus->lastSelectedPartner;
1085 battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER] = popupMenu->result - 1;
1090 break;
1091 }
1092 break;
1094 if ((battleStatus->curButtonsPressed & BUTTON_B) && popupMenu->result == POPUP_RESULT_CHOOSING) {
1099 } else {
1101 if (btl_main_menu_update() != 0) {
1102 gBattleSubState = battleStatus->acceptTargetMenuSubstate;
1105 }
1106 }
1107 break;
1110 if (btl_main_menu_update() != 0) {
1112 }
1113 break;
1119 break;
1124 break;
1128 if (popupMenu->result != POPUP_RESULT_INVALID) {
1132 }
1133 break;
1134 }
1135}
void btl_init_menu_items(void)
Definition 190B20.c:601
void btl_check_can_change_partner(void)
Definition 190B20.c:566
s32 MenuIndexFromPartnerID[]
Definition 5B320.c:316
PartnerPopupProperties gPartnerPopupProperties[]
Definition 5B320.c:331
void create_battle_popup_menu(PopupMenu *popup)
void flush_popup_menu(void)
void show_popup_menu(void)
void btl_main_menu_resume_choose(void)
void btl_main_menu_destroy(void)
void btl_main_menu_restore_choose(void)
s8 BattleMenu_CurPos
s32 BattleMenu_ChooseDelay
IconHudScriptPair gItemHudScripts[]
s32 MovesOptionNames[24]
Definition menu_moves.c:55
s8 ShowingErrorMessage
Definition menu_strats.c:54
s32 MovesOptionCount
Definition menu_moves.c:65
s32 MovesOptionIndices[24]
Definition menu_moves.c:61
IconHudScriptPair StarPowersHudScripts
s32 btl_submenu_moves_update(void)
Definition menu_moves.c:254
s32 WheelOptionEnabled[]
s32 WheelOptionName[]
s32 MovesOptionEnabled[24]
Definition menu_moves.c:62
void btl_main_menu_init(void)
void btl_submenu_moves_destroy(void)
Definition menu_moves.c:138
s32 btl_main_menu_update(void)
s32 BattleMenu_SwapDelay
void btl_submenu_strats_restore_choose(void)
HudScript * MovesOptionHudScripts[24]
Definition menu_moves.c:52
s32 StratsOptionNames[]
Definition menu_strats.c:38
s32 MovesOptionBPCosts[24]
Definition menu_moves.c:60
s32 MovesOptionDiscounts[24]
Definition menu_moves.c:58
s32 UsingSpiritsSubmenu
Definition menu_moves.c:82
s32 WheelOptionError[]
s32 LeftJustMenuMessages[]
s32 WheelOptionSubmenu[]
s32 StratsOptionError[]
Definition menu_strats.c:42
IconHudScriptPair StrategiesHudScripts
s8 MovesOptionSortPriority[24]
Definition menu_moves.c:63
void btl_submenu_moves_restore_choose(void)
Definition menu_moves.c:207
s8 BattleMenu_HomePos
void btl_submenu_strats_restore_locked(void)
void btl_submenu_moves_hide(void)
Definition menu_moves.c:134
s32 StratsOptionMessage[]
Definition menu_strats.c:41
HudScript * StratsOptionHudScripts[]
Definition menu_strats.c:36
s32 MovesPrevSelected
Definition menu_moves.c:46
s32 MovesOptionDesc[24]
Definition menu_moves.c:56
IconHudScriptPair PartnerHudScripts[]
#define MENU_CHANGE_DELAY
Definition battle_menu.h:7
void btl_main_menu_restore_submenu(void)
s32 StratsPrevSelected
Definition menu_strats.c:34
void btl_main_menu_hide(void)
void btl_submenu_moves_init(void)
Definition menu_moves.c:94
HudScript * WheelOptionHudScript[]
b32 btl_partner_can_act(void)
void btl_submenu_strats_hide(void)
void btl_submenu_strats_destroy(void)
s32 BattleMenu_WheelBase
s32 StratsOptionEnabled[]
Definition menu_strats.c:40
IconHudScriptPair DoNothingHudScripts
s32 BattleMenu_PrevSelected
IconHudScriptPair StarPowerMovesHudScripts[]
PopupMenu BattlePopupMenu
s32 WheelOptionCount
s8 MovesOptionError[24]
Definition menu_moves.c:64
s32 StratsOptionMenuTypes[]
Definition menu_strats.c:39
b32 btl_player_can_act(void)
void btl_menu_strats_init(void)
Definition menu_strats.c:66
b32 BattleMenu_ShowSwapIcons
s32 SelectedMovesIndex
Definition menu_moves.c:83
s32 btl_submenu_strats_update(void)
s32 StratsOptionCount
Definition menu_strats.c:43
s32 MovesOptionDisplayCosts[24]
Definition menu_moves.c:57
s32 MovesOptionDiscountColors[24]
Definition menu_moves.c:59
s32 CenteredBattleMessages[]
void btl_submenu_strats_resume_choose(void)
u32 pressedButtons[4]
ActorState state
Vec3f homePos
Vec3f curPos
#define clamp_angle
@ BUTTON_B
Definition enums.h:2775
@ BUTTON_Z
Definition enums.h:2774
@ BS_FLAGS1_TUTORIAL_BATTLE
Definition enums.h:3627
@ BS_FLAGS1_PLAYER_IN_BACK
Definition enums.h:3622
@ BS_FLAGS1_MENU_OPEN
Definition enums.h:3599
@ BTL_MSG_CANT_SWITCH
Definition enums.h:3782
@ BTL_MSG_CANT_MOVE
Definition enums.h:3783
@ BTL_MSG_CANT_SELECT_NOW
Definition enums.h:3774
@ POPUP_MENU_USE_ITEM
Definition enums.h:3165
@ POPUP_MENU_SWITCH_PARTNER
Definition enums.h:3166
@ WINDOW_UPDATE_9
Definition enums.h:4904
@ WINDOW_UPDATE_HIDE
Definition enums.h:4897
@ BTL_MENU_TYPE_ABILITY
Definition enums.h:3832
@ BTL_MENU_TYPE_INVALID
Definition enums.h:3825
@ BTL_MENU_TYPE_RUN_AWAY
Definition enums.h:3829
@ BTL_MENU_TYPE_STAR_POWERS
Definition enums.h:3834
@ BTL_MENU_TYPE_ITEMS
Definition enums.h:3828
@ BTL_MENU_TYPE_ACT_LATER
Definition enums.h:3836
@ BTL_MENU_TYPE_PARTNER_FOCUS
Definition enums.h:3837
@ BTL_MENU_TYPE_STRATEGIES
Definition enums.h:3833
@ BTL_MENU_TYPE_DO_NOTHING
Definition enums.h:3835
@ ITEM_TYPE_FLAG_BATTLE_USABLE
Definition enums.h:1861
@ BTL_CAM_DEFAULT
Definition enums.h:4409
@ TARGET_FLAG_PRIMARY_ONLY
Definition enums.h:1889
@ TARGET_FLAG_2
Definition enums.h:1876
@ POPUP_RESULT_CANCEL
Definition enums.h:3212
@ POPUP_RESULT_CHOOSING
Definition enums.h:3211
@ POPUP_RESULT_INVALID
Definition enums.h:3209
@ BATTLE_STATE_RUN_AWAY
Definition enums.h:3688
@ BATTLE_STATE_SWITCH_TO_PLAYER
Definition enums.h:3674
@ BATTLE_STATE_END_PARTNER_TURN
Definition enums.h:3687
@ BATTLE_STATE_TRANSFER_TURN
Definition enums.h:3673
@ BATTLE_STATE_SELECT_TARGET
Definition enums.h:3681
@ BATTLE_STATE_CHANGE_PARTNER
Definition enums.h:3692
@ ABILITY_GROUP_FOCUS
Definition enums.h:489
@ SOUND_PARTNER_SWAP_BATTLE_POS
Definition enums.h:563
@ SOUND_MENU_ERROR
Definition enums.h:936
@ BTL_MENU_ENABLED_PARTNER_FOCUS
Definition enums.h:3847
@ BTL_MENU_ENABLED_ABILITIES
Definition enums.h:3844
@ BTL_MENU_ENABLED_STRATEGIES
Definition enums.h:3845
@ ACTOR_PARTNER
Definition enums.h:2119
@ ACTOR_FLAG_SHOW_STATUS_ICONS
Definition enums.h:3377
@ ACTOR_FLAG_USING_IDLE_ANIM
Definition enums.h:3376
@ BTL_MENU_IDX_PARTNER_ITEM
Definition enums.h:3821
@ BTL_MENU_IDX_PARTNER
Definition enums.h:3816
@ BTL_MENU_IDX_STRATEGY
Definition enums.h:3818
@ BTL_MENU_IDX_STAR_POWER
Definition enums.h:3817
@ BTL_MENU_IDX_MAIN
Definition enums.h:3811
@ BTL_MENU_IDX_ABILITY
Definition enums.h:3820
@ WIN_BTL_STRATS_MENU
Definition enums.h:4832
@ WIN_BTL_STRATS_TITLE
Definition enums.h:4833
void btl_show_variable_battle_message(s32, s32, s32)
s32 is_ability_active(s32 arg0)
Definition inventory.c:1735
void hide_popup_menu(void)
void set_window_update(s32 panelID, s32)
Definition windows.c:434
void destroy_popup_menu(void)
void btl_cam_use_preset(s32)
Definition camera.c:1919
void set_actor_anim(s32 actorID, s32 partID, AnimID animID)
Definition 190B20.c:737
f32 sin_rad(f32 x)
Definition 43F0.c:711
void btl_set_state(s32 battleState)
s32 btl_is_popup_displayed(void)
HudScript * disabled
s32 HudScript[]
Definition hud_element.h:9
HudScript * enabled
void btl_state_update_partner_menu(void)
AnimID PartnerThinkAnims[]
void btl_init_menu_partner(void)
IconHudScriptPair PartnerMoveHudScripts[][5]
AnimID PartnerIdleAnims[]
void sfx_play_sound(s32 soundID)
#define DEG_TO_RAD(deg)
Definition macros.h:146
@ BTL_SUBSTATE_INIT
Definition states.h:8
ItemData gItemTable[]
s32 PartnerIDFromMenuIndex[12]
Definition 5B320.c:300
GameStatus * gGameStatusPtr
Definition main_loop.c:31
s32 gBattleSubState
Definition battle.cpp:17

Referenced by btl_state_update_partner_menu(), btl_state_update_select_target(), and btl_update().

◆ btl_state_draw_partner_menu()

void btl_state_draw_partner_menu ( void )

Definition at line 1137 of file menu_partner.c.

1137 {
1138 switch (gBattleSubState) {
1180 break;
1181 }
1182}
void btl_main_menu_draw(void)

Referenced by btl_draw_ui().

Variable Documentation

◆ PartnerThinkAnims

AnimID PartnerThinkAnims[]
Initial value:

Definition at line 88 of file menu_partner.c.

Referenced by btl_state_update_partner_menu().

◆ PartnerIdleAnims

◆ PartnerMoveHudScripts

IconHudScriptPair PartnerMoveHudScripts[][5]

Definition at line 116 of file menu_partner.c.

116 {
123 },
130 },
137 },
144 },
151 },
152 [PARTNER_WATT] {
158 },
165 },
172 },
173 [PARTNER_BOW] {
179 },
180};
HudScript HES_BombetteDisabled
HudScript HES_Parakarry
HudScript HES_BowDisabled
HudScript HES_LakilesterDisabled
HudScript HES_SushieDisabled
HudScript HES_KooperDisabled
HudScript HES_GoombarioDisabled
HudScript HES_ParakarryDisabled
HudScript HES_Partner0Disabled
HudScript HES_WattDisabled
HudScript HES_Sushie
HudScript HES_Partner0
HudScript HES_Kooper
HudScript HES_Watt
HudScript HES_Lakilester
HudScript HES_Bow
HudScript HES_Bombette
HudScript HES_Goombario
HudScript HES_MoveGreenOrbDisabled
HudScript HES_MoveBlueOrb
HudScript HES_MoveRedOrbDisabled
HudScript HES_MoveDiamond
HudScript HES_MoveBlueOrbDisabled
HudScript HES_MoveDiamond_disabled
HudScript HES_MoveGreenOrb
HudScript HES_MoveRedOrb

Referenced by btl_state_update_partner_menu().

◆ PartnerNameMessages