summaryrefslogtreecommitdiff
path: root/src/battle_controller_safari.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_controller_safari.c')
-rw-r--r--src/battle_controller_safari.c170
1 files changed, 85 insertions, 85 deletions
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 682e8333d..608d59418 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -22,21 +22,21 @@
#include "data2.h"
#include "pokeblock.h"
-extern u32 gBattleExecBuffer;
-extern u8 gActiveBank;
-extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
-extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
-extern u8 gNoOfAllBanks;
+extern u32 gBattleControllerExecFlags;
+extern u8 gActiveBattler;
+extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
+extern u8 gActionSelectionCursor[MAX_BATTLERS_COUNT];
+extern u8 gBattlersCount;
extern bool8 gDoingBattleAnim;
-extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
+extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void);
extern void (*gPreBattleCallback1)(void);
-extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
-extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
-extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
-extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
+extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
+extern u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200];
+extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200];
+extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
extern struct SpriteTemplate gUnknown_0202499C;
extern u16 gSpecialVar_ItemId;
-extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
+extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
extern u8 gBattleOutcome;
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
@@ -180,15 +180,15 @@ static void nullsub_114(void)
void SetControllerToSafari(void)
{
- gBattleBankFunc[gActiveBank] = SafariBufferRunCommand;
+ gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand;
}
static void SafariBufferRunCommand(void)
{
- if (gBattleExecBuffer & gBitTable[gActiveBank])
+ if (gBattleControllerExecFlags & gBitTable[gActiveBattler])
{
- if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sSafariBufferCommands))
- sSafariBufferCommands[gBattleBufferA[gActiveBank][0]]();
+ if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sSafariBufferCommands))
+ sSafariBufferCommands[gBattleBufferA[gActiveBattler][0]]();
else
SafariBufferExecCompleted();
}
@@ -200,68 +200,68 @@ static void HandleInputChooseAction(void)
{
PlaySE(SE_SELECT);
- switch (gActionSelectionCursor[gActiveBank])
+ switch (gActionSelectionCursor[gActiveBattler])
{
case 0:
- EmitTwoReturnValues(1, ACTION_SAFARI_ZONE_BALL, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_BALL, 0);
break;
case 1:
- EmitTwoReturnValues(1, ACTION_POKEBLOCK_CASE, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_POKEBLOCK, 0);
break;
case 2:
- EmitTwoReturnValues(1, ACTION_GO_NEAR, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_GO_NEAR, 0);
break;
case 3:
- EmitTwoReturnValues(1, ACTION_SAFARI_ZONE_RUN, 0);
+ BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_RUN, 0);
break;
}
SafariBufferExecCompleted();
}
else if (gMain.newKeys & DPAD_LEFT)
{
- if (gActionSelectionCursor[gActiveBank] & 1)
+ if (gActionSelectionCursor[gActiveBattler] & 1)
{
PlaySE(SE_SELECT);
- ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]);
- gActionSelectionCursor[gActiveBank] ^= 1;
- ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 1;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
}
}
else if (gMain.newKeys & DPAD_RIGHT)
{
- if (!(gActionSelectionCursor[gActiveBank] & 1))
+ if (!(gActionSelectionCursor[gActiveBattler] & 1))
{
PlaySE(SE_SELECT);
- ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]);
- gActionSelectionCursor[gActiveBank] ^= 1;
- ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 1;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
}
}
else if (gMain.newKeys & DPAD_UP)
{
- if (gActionSelectionCursor[gActiveBank] & 2)
+ if (gActionSelectionCursor[gActiveBattler] & 2)
{
PlaySE(SE_SELECT);
- ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]);
- gActionSelectionCursor[gActiveBank] ^= 2;
- ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 2;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
}
}
else if (gMain.newKeys & DPAD_DOWN)
{
- if (!(gActionSelectionCursor[gActiveBank] & 2))
+ if (!(gActionSelectionCursor[gActiveBattler] & 2))
{
PlaySE(SE_SELECT);
- ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]);
- gActionSelectionCursor[gActiveBank] ^= 2;
- ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0);
+ ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]);
+ gActionSelectionCursor[gActiveBattler] ^= 2;
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
}
}
}
static void CompleteOnBankSpriteCallbackDummy(void)
{
- if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy)
+ if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
SafariBufferExecCompleted();
}
@@ -273,7 +273,7 @@ static void CompleteOnInactiveTextPrinter(void)
static void CompleteOnHealthboxSpriteCallbackDummy(void)
{
- if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy)
+ if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
SafariBufferExecCompleted();
}
@@ -289,7 +289,7 @@ static void sub_81595E4(void)
static void CompleteOnSpecialAnimDone(void)
{
- if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
+ if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
SafariBufferExecCompleted();
}
@@ -297,7 +297,7 @@ static void SafariOpenPokeblockCase(void)
{
if (!gPaletteFade.active)
{
- gBattleBankFunc[gActiveBank] = CompleteWhenChosePokeblock;
+ gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChosePokeblock;
FreeAllWindowBuffers();
OpenPokeblockCaseInBattle();
}
@@ -307,36 +307,36 @@ static void CompleteWhenChosePokeblock(void)
{
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
- EmitOneReturnValue(1, gSpecialVar_ItemId);
+ BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId);
SafariBufferExecCompleted();
}
}
static void CompleteOnFinishedBattleAnimation(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive)
SafariBufferExecCompleted();
}
static void SafariBufferExecCompleted(void)
{
- gBattleBankFunc[gActiveBank] = SafariBufferRunCommand;
+ gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand;
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
u8 playerId = GetMultiplayerId();
PrepareBufferDataTransferLink(2, 4, &playerId);
- gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP;
+ gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
}
else
{
- gBattleExecBuffer &= ~gBitTable[gActiveBank];
+ gBattleControllerExecFlags &= ~gBitTable[gActiveBattler];
}
}
static void CompleteOnFinishedStatusAnimation(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive)
SafariBufferExecCompleted();
}
@@ -377,18 +377,18 @@ static void SafariHandleReturnMonToBall(void)
static void SafariHandleDrawTrainerPic(void)
{
- DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBank);
- sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankIdentity(gActiveBank));
- gBankSpriteIds[gActiveBank] = CreateSprite(
+ DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBattler);
+ sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
+ gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_0202499C,
80,
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
30);
- gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
- gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
- gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
- gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
}
static void SafariHandleTrainerSlide(void)
@@ -415,18 +415,18 @@ static void SafariHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
- InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
- gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
+ InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone;
}
static void SafariHandleBallThrowAnim(void)
{
- u8 ballThrowCaseId = gBattleBufferA[gActiveBank][1];
+ u8 ballThrowCaseId = gBattleBufferA[gActiveBattler][1];
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
- InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
- gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
+ InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone;
}
static void SafariHandlePause(void)
@@ -445,15 +445,15 @@ static void SafariHandlePrintString(void)
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
- stringId = (u16*)(&gBattleBufferA[gActiveBank][2]);
+ stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]);
BufferStringBattle(*stringId);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
- gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
}
static void SafariHandlePrintSelectionString(void)
{
- if (GetBankSide(gActiveBank) == SIDE_PLAYER)
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
SafariHandlePrintString();
else
SafariBufferExecCompleted();
@@ -465,7 +465,7 @@ static void HandleChooseActionAfterDma3(void)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 160;
- gBattleBankFunc[gActiveBank] = HandleInputChooseAction;
+ gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseAction;
}
}
@@ -473,13 +473,13 @@ static void SafariHandleChooseAction(void)
{
s32 i;
- gBattleBankFunc[gActiveBank] = HandleChooseActionAfterDma3;
+ gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3;
BattleHandleAddTextPrinter(gText_SafariZoneMenu, 2);
for (i = 0; i < 4; i++)
ActionSelectionDestroyCursorAt(i);
- ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0);
+ ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo2);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 1);
}
@@ -499,8 +499,8 @@ static void SafariHandleChooseItem(void)
s32 i;
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
- gBattleBankFunc[gActiveBank] = SafariOpenPokeblockCase;
- gBankInMenu = gActiveBank;
+ gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase;
+ gBankInMenu = gActiveBattler;
}
static void SafariHandleChoosePokemon(void)
@@ -525,7 +525,7 @@ static void SafariHandleExpUpdate(void)
static void SafariHandleStatusIconUpdate(void)
{
- UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_SAFARI_BALLS_TEXT);
+ UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_BALLS_TEXT);
SafariBufferExecCompleted();
}
@@ -613,25 +613,25 @@ static void SafariHandlePlaySE(void)
{
s8 pan;
- if (GetBankSide(gActiveBank) == SIDE_PLAYER)
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
else
pan = PAN_SIDE_OPPONENT;
- PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan);
+ PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
SafariBufferExecCompleted();
}
static void SafariHandlePlayFanfareOrBGM(void)
{
- if (gBattleBufferA[gActiveBank][3])
+ if (gBattleBufferA[gActiveBattler][3])
{
BattleStopLowHpSound();
- PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
+ PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8));
}
else
{
- PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
+ PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8));
}
SafariBufferExecCompleted();
@@ -639,7 +639,7 @@ static void SafariHandlePlayFanfareOrBGM(void)
static void SafariHandleFaintingCry(void)
{
- u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
+ u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
PlayCry1(species, 25);
SafariBufferExecCompleted();
@@ -647,17 +647,17 @@ static void SafariHandleFaintingCry(void)
static void SafariHandleIntroSlide(void)
{
- HandleIntroSlide(gBattleBufferA[gActiveBank][1]);
+ HandleIntroSlide(gBattleBufferA[gActiveBattler][1]);
gUnknown_020243FC |= 1;
SafariBufferExecCompleted();
}
static void SafariHandleIntroTrainerBallThrow(void)
{
- UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_SAFARI_ALL_TEXT);
- sub_8076918(gActiveBank);
- SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]);
- gBattleBankFunc[gActiveBank] = CompleteOnHealthboxSpriteCallbackDummy;
+ UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_ALL_TEXT);
+ sub_8076918(gActiveBattler);
+ SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthboxSpriteCallbackDummy;
}
static void SafariHandleDrawPartyStatusSummary(void)
@@ -682,13 +682,13 @@ static void SafariHandleSpriteInvisibility(void)
static void SafariHandleBattleAnimation(void)
{
- u8 animationId = gBattleBufferA[gActiveBank][1];
- u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
+ u8 animationId = gBattleBufferA[gActiveBattler][1];
+ u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8);
- if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
+ if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument))
SafariBufferExecCompleted();
else
- gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;
+ gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation;
}
static void SafariHandleLinkStandbyMsg(void)
@@ -703,12 +703,12 @@ static void SafariHandleResetActionMoveSelection(void)
static void SafariHandleCmd55(void)
{
- gBattleOutcome = gBattleBufferA[gActiveBank][1];
+ gBattleOutcome = gBattleBufferA[gActiveBattler][1];
FadeOutMapMusic(5);
BeginFastPaletteFade(3);
SafariBufferExecCompleted();
if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD))
- gBattleBankFunc[gActiveBank] = sub_81595E4;
+ gBattlerControllerFuncs[gActiveBattler] = sub_81595E4;
}
static void nullsub_115(void)