identity -> position
This commit is contained in:
+70
-70
@@ -2517,7 +2517,7 @@ static void sub_8039A48(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankIdentity(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data[3] << 8);
|
||||
u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankPosition(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data[3] << 8);
|
||||
|
||||
for (i = 0; i < 0x100; i++)
|
||||
*(dst++) = 0;
|
||||
@@ -3116,7 +3116,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
|
||||
gBattleMons[gActiveBank].status2 = 0;
|
||||
}
|
||||
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
|
||||
{
|
||||
EmitDrawTrainerPic(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -3124,7 +3124,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
|
||||
{
|
||||
EmitDrawTrainerPic(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -3159,15 +3159,15 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2
|
||||
|| GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_RIGHT
|
||||
|| GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
EmitDrawTrainerPic(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
EmitDrawTrainerPic(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -3203,7 +3203,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
|
||||
}
|
||||
}
|
||||
gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gActiveBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
|
||||
@@ -3221,7 +3221,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
|
||||
}
|
||||
}
|
||||
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
|
||||
@@ -3257,7 +3257,7 @@ static void BattleIntroPrintTrainerWantsToBattle(void)
|
||||
{
|
||||
if (gBattleExecBuffer == 0)
|
||||
{
|
||||
gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gActiveBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
PrepareStringBattle(STRINGID_INTROMSG, gActiveBank);
|
||||
gBattleMainFunc = BattleIntroPrintOpponentSendsOut;
|
||||
}
|
||||
@@ -3280,16 +3280,16 @@ static void BattleIntroPrintOpponentSendsOut(void)
|
||||
return;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
else
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
}
|
||||
else
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
|
||||
gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation;
|
||||
@@ -3300,20 +3300,20 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void)
|
||||
u32 identity;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
|
||||
identity = IDENTITY_OPPONENT_MON2;
|
||||
identity = B_POSITION_OPPONENT_RIGHT;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
|
||||
identity = IDENTITY_OPPONENT_MON2;
|
||||
identity = B_POSITION_OPPONENT_RIGHT;
|
||||
else
|
||||
identity = IDENTITY_PLAYER_MON2;
|
||||
identity = B_POSITION_PLAYER_RIGHT;
|
||||
}
|
||||
else
|
||||
identity = IDENTITY_OPPONENT_MON2;
|
||||
identity = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == identity)
|
||||
if (GetBankPosition(gActiveBank) == identity)
|
||||
{
|
||||
EmitIntroTrainerBallThrow(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -3329,23 +3329,23 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void)
|
||||
u32 identity;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
else
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
}
|
||||
else
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
if (gBattleExecBuffer)
|
||||
return;
|
||||
|
||||
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == identity)
|
||||
if (GetBankPosition(gActiveBank) == identity)
|
||||
{
|
||||
EmitIntroTrainerBallThrow(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -3408,7 +3408,7 @@ _0803B29A:\n\
|
||||
adds r6, r4, 0\n\
|
||||
_0803B2B2:\n\
|
||||
ldrb r0, [r4]\n\
|
||||
bl GetBankIdentity\n\
|
||||
bl GetBankPosition\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r0, 24\n\
|
||||
cmp r0, r5\n\
|
||||
@@ -3482,16 +3482,16 @@ static void BattleIntroPrintPlayerSendsOut(void)
|
||||
u8 identity;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
else
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
}
|
||||
else
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
|
||||
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
|
||||
@@ -3505,20 +3505,20 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void)
|
||||
u32 identity;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
|
||||
identity = IDENTITY_PLAYER_MON2;
|
||||
identity = B_POSITION_PLAYER_RIGHT;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
|
||||
identity = IDENTITY_PLAYER_MON2;
|
||||
identity = B_POSITION_PLAYER_RIGHT;
|
||||
else
|
||||
identity = IDENTITY_OPPONENT_MON2;
|
||||
identity = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
else
|
||||
identity = IDENTITY_PLAYER_MON2;
|
||||
identity = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == identity)
|
||||
if (GetBankPosition(gActiveBank) == identity)
|
||||
{
|
||||
EmitIntroTrainerBallThrow(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -3537,23 +3537,23 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void)
|
||||
u32 identity;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x80000000)
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
else
|
||||
identity = IDENTITY_OPPONENT_MON1;
|
||||
identity = B_POSITION_OPPONENT_LEFT;
|
||||
}
|
||||
else
|
||||
identity = IDENTITY_PLAYER_MON1;
|
||||
identity = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
if (gBattleExecBuffer)
|
||||
return;
|
||||
|
||||
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == identity)
|
||||
if (GetBankPosition(gActiveBank) == identity)
|
||||
{
|
||||
EmitIntroTrainerBallThrow(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -3891,7 +3891,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
gBattleCommunication[ACTIONS_CONFIRMED_COUNT] = 0;
|
||||
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
|
||||
{
|
||||
u8 identity = GetBankIdentity(gActiveBank);
|
||||
u8 identity = GetBankPosition(gActiveBank);
|
||||
switch (gBattleCommunication[gActiveBank])
|
||||
{
|
||||
case STATE_TURN_START_RECORD: // recorded battle related on start of every turn
|
||||
@@ -4041,38 +4041,38 @@ static void HandleTurnActionSelectionState(void)
|
||||
break;
|
||||
case ACTION_CANCEL_PARTNER:
|
||||
gBattleCommunication[gActiveBank] = 7;
|
||||
gBattleCommunication[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] = 1;
|
||||
gBattleCommunication[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] = 1;
|
||||
RecordedBattle_ClearBankAction(gActiveBank, 1);
|
||||
if (gBattleMons[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].status2 & STATUS2_MULTIPLETURNS
|
||||
|| gBattleMons[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].status2 & STATUS2_RECHARGE)
|
||||
if (gBattleMons[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_MULTIPLETURNS
|
||||
|| gBattleMons[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_RECHARGE)
|
||||
{
|
||||
EmitCmd50(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
return;
|
||||
}
|
||||
else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_SWITCH)
|
||||
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_SWITCH)
|
||||
{
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 2);
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 2);
|
||||
}
|
||||
else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_RUN)
|
||||
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_RUN)
|
||||
{
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1);
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
|
||||
}
|
||||
else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE
|
||||
&& (gProtectStructs[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].onlyStruggle
|
||||
|| gDisableStructs[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].encoredMove))
|
||||
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE
|
||||
&& (gProtectStructs[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].onlyStruggle
|
||||
|| gDisableStructs[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].encoredMove))
|
||||
{
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1);
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_PALACE
|
||||
&& gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE)
|
||||
&& gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE)
|
||||
{
|
||||
gRngValue = gBattlePalaceMoveSelectionRngValue;
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1);
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 3);
|
||||
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 3);
|
||||
}
|
||||
EmitCmd50(0);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
@@ -4727,7 +4727,7 @@ static void HandleEndTurn_BattleWon(void)
|
||||
{
|
||||
gSpecialVar_Result = gBattleOutcome;
|
||||
gBattleTextBuff1[0] = gBattleOutcome;
|
||||
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
|
||||
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
|
||||
}
|
||||
@@ -4800,7 +4800,7 @@ static void HandleEndTurn_BattleLost(void)
|
||||
else
|
||||
{
|
||||
gBattleTextBuff1[0] = gBattleOutcome;
|
||||
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
|
||||
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
|
||||
}
|
||||
@@ -5127,16 +5127,16 @@ static void HandleAction_UseMove(void)
|
||||
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
|
||||
{
|
||||
if (Random() & 1)
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
else
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Random() & 1)
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
else
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -5148,13 +5148,13 @@ static void HandleAction_UseMove(void)
|
||||
{
|
||||
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
|
||||
if (gAbsentBankFlags & gBitTable[gBankTarget])
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5172,22 +5172,22 @@ static void HandleAction_UseMove(void)
|
||||
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
|
||||
{
|
||||
if (Random() & 1)
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
else
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Random() & 1)
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
else
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
}
|
||||
|
||||
if (gAbsentBankFlags & gBitTable[gBankTarget]
|
||||
&& GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -5197,13 +5197,13 @@ static void HandleAction_UseMove(void)
|
||||
{
|
||||
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
|
||||
if (gAbsentBankFlags & gBitTable[gBankTarget])
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1316,7 +1316,7 @@ static void BattleAICmd_count_usable_party_mons(void)
|
||||
{
|
||||
u32 identity;
|
||||
bankOnField1 = gBattlePartyID[bank];
|
||||
identity = GetBankIdentity(bank) ^ BIT_MON;
|
||||
identity = GetBankPosition(bank) ^ BIT_MON;
|
||||
bankOnField2 = gBattlePartyID[GetBankByIdentity(identity)];
|
||||
}
|
||||
else // in singles there's only one bank by side
|
||||
|
||||
@@ -60,7 +60,7 @@ static bool8 ShouldSwitchIfWonderGuard(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
return FALSE;
|
||||
|
||||
opposingIdentity = GetBankIdentity(gActiveBank) ^ BIT_SIDE;
|
||||
opposingIdentity = GetBankPosition(gActiveBank) ^ BIT_SIDE;
|
||||
|
||||
if (gBattleMons[GetBankByIdentity(opposingIdentity)].ability != ABILITY_WONDER_GUARD)
|
||||
return FALSE;
|
||||
@@ -151,10 +151,10 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
bankIn1 = gActiveBank;
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)])
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
|
||||
bankIn2 = gActiveBank;
|
||||
else
|
||||
bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON);
|
||||
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -273,7 +273,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
|
||||
u8 moveFlags;
|
||||
u16 move;
|
||||
|
||||
opposingIdentity = GetBankIdentity(gActiveBank) ^ BIT_SIDE;
|
||||
opposingIdentity = GetBankPosition(gActiveBank) ^ BIT_SIDE;
|
||||
opposingBank = GetBankByIdentity(opposingIdentity);
|
||||
|
||||
if (!(gAbsentBankFlags & gBitTable[opposingBank]))
|
||||
@@ -357,10 +357,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
bankIn1 = gActiveBank;
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)])
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
|
||||
bankIn2 = gActiveBank;
|
||||
else
|
||||
bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON);
|
||||
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -468,10 +468,10 @@ static bool8 ShouldSwitch(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
bankIn1 = *activeBankPtr;
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(*activeBankPtr) ^ BIT_MON)])
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(*activeBankPtr) ^ BIT_MON)])
|
||||
bankIn2 = *activeBankPtr;
|
||||
else
|
||||
bankIn2 = GetBankByIdentity(GetBankIdentity(*activeBankPtr) ^ BIT_MON);
|
||||
bankIn2 = GetBankByIdentity(GetBankPosition(*activeBankPtr) ^ BIT_MON);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -543,7 +543,7 @@ void AI_TrySwitchOrUseItem(void)
|
||||
u8 bankIn1, bankIn2;
|
||||
s32 firstId;
|
||||
s32 lastId; // + 1
|
||||
u8 bankIdentity = GetBankIdentity(gActiveBank);
|
||||
u8 bankIdentity = GetBankPosition(gActiveBank);
|
||||
|
||||
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
|
||||
party = gPlayerParty;
|
||||
@@ -659,10 +659,10 @@ u8 GetMostSuitableMonToSwitchInto(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
bankIn1 = gActiveBank;
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)])
|
||||
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
|
||||
bankIn2 = gActiveBank;
|
||||
else
|
||||
bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON);
|
||||
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
|
||||
|
||||
// UB: It considers the opponent only player's side even though it can battle alongside player;
|
||||
opposingBank = Random() & BIT_MON;
|
||||
@@ -671,7 +671,7 @@ u8 GetMostSuitableMonToSwitchInto(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
opposingBank = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_SIDE);
|
||||
opposingBank = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_SIDE);
|
||||
bankIn1 = gActiveBank;
|
||||
bankIn2 = gActiveBank;
|
||||
}
|
||||
@@ -817,7 +817,7 @@ static bool8 ShouldUseItem(void)
|
||||
u8 validMons = 0;
|
||||
bool8 shouldUse = FALSE;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankPosition(gActiveBank) == B_POSITION_PLAYER_RIGHT)
|
||||
return FALSE;
|
||||
|
||||
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
|
||||
|
||||
+19
-19
@@ -424,7 +424,7 @@ static void ScriptCmd_createsprite(void)
|
||||
if (subpriority < 3)
|
||||
subpriority = 3;
|
||||
|
||||
CreateSpriteAndAnimate(template, GetBankPosition(gAnimBankTarget, 2), GetBankPosition(gAnimBankTarget, 3), subpriority);
|
||||
CreateSpriteAndAnimate(template, GetBankCoord(gAnimBankTarget, 2), GetBankCoord(gAnimBankTarget, 3), subpriority);
|
||||
gAnimVisualTaskCount++;
|
||||
}
|
||||
|
||||
@@ -613,8 +613,8 @@ static void ScriptCmd_monbg(void)
|
||||
|
||||
if (IsAnimBankSpriteVisible(bank))
|
||||
{
|
||||
u8 identity = GetBankIdentity(bank);
|
||||
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
|
||||
u8 identity = GetBankPosition(bank);
|
||||
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
@@ -632,8 +632,8 @@ static void ScriptCmd_monbg(void)
|
||||
bank ^= BIT_MON;
|
||||
if (IsAnimBankSpriteVisible(bank))
|
||||
{
|
||||
u8 identity = GetBankIdentity(bank);
|
||||
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
|
||||
u8 identity = GetBankPosition(bank);
|
||||
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
@@ -718,7 +718,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
if (IsContest())
|
||||
bankIdentity = 0;
|
||||
else
|
||||
bankIdentity = GetBankIdentity(bank);
|
||||
bankIdentity = GetBankPosition(bank);
|
||||
|
||||
sub_8118FBC(1, 0, 0, bankIdentity, unknownStruct.unk8, unknownStruct.unk0, unknownStruct.unk4, unknownStruct.unkA);
|
||||
|
||||
@@ -750,7 +750,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
LoadPalette(&gPlttBufferUnfaded[0x100 + bank * 16], 0x90, 0x20);
|
||||
CpuCopy32(&gPlttBufferUnfaded[0x100 + bank * 16], (void*)(BG_PLTT + 0x120), 0x20);
|
||||
|
||||
sub_8118FBC(2, 0, 0, GetBankIdentity(bank), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA);
|
||||
sub_8118FBC(2, 0, 0, GetBankPosition(bank), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -893,8 +893,8 @@ static void sub_80A4980(u8 taskId)
|
||||
if (gTasks[taskId].data[1] != 1)
|
||||
{
|
||||
u8 to_BG2;
|
||||
u8 identity = GetBankIdentity(gTasks[taskId].data[2]);
|
||||
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
|
||||
u8 identity = GetBankPosition(gTasks[taskId].data[2]);
|
||||
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
to_BG2 = FALSE;
|
||||
else
|
||||
to_BG2 = TRUE;
|
||||
@@ -937,8 +937,8 @@ static void ScriptCmd_monbg_22(void)
|
||||
|
||||
if (IsAnimBankSpriteVisible(bank))
|
||||
{
|
||||
u8 identity = GetBankIdentity(bank);
|
||||
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
|
||||
u8 identity = GetBankPosition(bank);
|
||||
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
@@ -949,8 +949,8 @@ static void ScriptCmd_monbg_22(void)
|
||||
bank ^= BIT_MON;
|
||||
if (animBankId > 1 && IsAnimBankSpriteVisible(bank))
|
||||
{
|
||||
u8 identity = GetBankIdentity(bank);
|
||||
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
|
||||
u8 identity = GetBankPosition(bank);
|
||||
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
@@ -1001,8 +1001,8 @@ static void sub_80A4BB0(u8 taskId)
|
||||
{
|
||||
bool8 toBG_2;
|
||||
u8 bank = gTasks[taskId].data[2];
|
||||
u8 identity = GetBankIdentity(bank);
|
||||
if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest())
|
||||
u8 identity = GetBankPosition(bank);
|
||||
if (identity == B_POSITION_OPPONENT_LEFT || identity == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
@@ -1705,8 +1705,8 @@ static void ScriptCmd_monbgprio_28(void)
|
||||
else
|
||||
bank = gAnimBankAttacker;
|
||||
|
||||
bankIdentity = GetBankIdentity(bank);
|
||||
if (!IsContest() && (bankIdentity == IDENTITY_PLAYER_MON1 || bankIdentity == IDENTITY_OPPONENT_MON2))
|
||||
bankIdentity = GetBankPosition(bank);
|
||||
if (!IsContest() && (bankIdentity == B_POSITION_PLAYER_LEFT || bankIdentity == B_POSITION_OPPONENT_RIGHT))
|
||||
{
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
|
||||
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
|
||||
@@ -1738,8 +1738,8 @@ static void ScriptCmd_monbgprio_2A(void)
|
||||
else
|
||||
bank = gAnimBankAttacker;
|
||||
|
||||
bankIdentity = GetBankIdentity(bank);
|
||||
if (!IsContest() && (bankIdentity == IDENTITY_PLAYER_MON1 || bankIdentity == IDENTITY_OPPONENT_MON2))
|
||||
bankIdentity = GetBankPosition(bank);
|
||||
if (!IsContest() && (bankIdentity == B_POSITION_PLAYER_LEFT || bankIdentity == B_POSITION_OPPONENT_RIGHT))
|
||||
{
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
|
||||
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
|
||||
|
||||
@@ -295,7 +295,7 @@ static void sub_8064520(void)
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0;
|
||||
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
FreeSpriteTilesByTag(0x27F9);
|
||||
FreeSpritePaletteByTag(0x27F9);
|
||||
@@ -352,7 +352,7 @@ static void sub_8064734(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
|
||||
m4aMPlayContinue(&gMPlayInfo_BGM);
|
||||
}
|
||||
else
|
||||
@@ -370,7 +370,7 @@ static void sub_8064734(void)
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
|
||||
&& gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 1)
|
||||
return;
|
||||
@@ -1161,10 +1161,10 @@ static void LinkOpponentHandleLoadMonSprite(void)
|
||||
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
|
||||
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank);
|
||||
sub_806A068(species, GetBankIdentity(gActiveBank));
|
||||
sub_806A068(species, GetBankPosition(gActiveBank));
|
||||
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(gActiveBank, 2),
|
||||
GetBankCoord(gActiveBank, 2),
|
||||
GetBankSpriteDefault_Y(gActiveBank),
|
||||
sub_80A82E4(gActiveBank));
|
||||
|
||||
@@ -1194,11 +1194,11 @@ static void sub_8066494(u8 bank, bool8 dontClearSubstituteBit)
|
||||
species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
|
||||
gBankSpriteIds[bank] = CreateSprite(
|
||||
&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
@@ -1262,7 +1262,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
xPos = 152;
|
||||
else // first mon
|
||||
xPos = 200;
|
||||
@@ -1328,7 +1328,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
||||
}
|
||||
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
xPos,
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
||||
@@ -1353,7 +1353,7 @@ static void LinkOpponentHandleTrainerSlide(void)
|
||||
trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B);
|
||||
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96;
|
||||
|
||||
@@ -1047,10 +1047,10 @@ static void LinkPartnerHandleLoadMonSprite(void)
|
||||
|
||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
|
||||
sub_806A068(species, GetBankIdentity(gActiveBank));
|
||||
sub_806A068(species, GetBankPosition(gActiveBank));
|
||||
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(gActiveBank, 2),
|
||||
GetBankCoord(gActiveBank, 2),
|
||||
GetBankSpriteDefault_Y(gActiveBank),
|
||||
sub_80A82E4(gActiveBank));
|
||||
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
|
||||
@@ -1077,11 +1077,11 @@ static void sub_814CC98(u8 bank, bool8 dontClearSubstituteBit)
|
||||
gBattlePartyID[bank] = gBattleBufferA[bank][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
|
||||
gBankSpriteIds[bank] = CreateSprite(
|
||||
&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
@@ -1144,7 +1144,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
xPos = 90;
|
||||
else // first mon
|
||||
xPos = 32;
|
||||
@@ -1170,7 +1170,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
|
||||
}
|
||||
|
||||
DecompressTrainerBackPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBank));
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
|
||||
|
||||
@@ -293,7 +293,7 @@ static void sub_805F2F0(void)
|
||||
}
|
||||
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == 3)
|
||||
if (GetBankPosition(gActiveBank) == 3)
|
||||
{
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 == 0 && gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 == 0)
|
||||
{
|
||||
@@ -349,7 +349,7 @@ static void sub_805F560(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == 1)
|
||||
if (GetBankPosition(gActiveBank) == 1)
|
||||
m4aMPlayContinue(&gMPlayInfo_BGM);
|
||||
}
|
||||
else
|
||||
@@ -1149,10 +1149,10 @@ static void OpponentHandleLoadMonSprite(void)
|
||||
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
|
||||
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank);
|
||||
sub_806A068(species, GetBankIdentity(gActiveBank));
|
||||
sub_806A068(species, GetBankPosition(gActiveBank));
|
||||
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(gActiveBank, 2),
|
||||
GetBankCoord(gActiveBank, 2),
|
||||
GetBankSpriteDefault_Y(gActiveBank),
|
||||
sub_80A82E4(gActiveBank));
|
||||
|
||||
@@ -1184,10 +1184,10 @@ static void sub_80613DC(u8 bank, bool8 dontClearSubstituteBit)
|
||||
species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
@@ -1304,7 +1304,7 @@ static void OpponentHandleDrawTrainerPic(void)
|
||||
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS))
|
||||
{
|
||||
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
xPos = 152;
|
||||
else // first mon
|
||||
xPos = 200;
|
||||
@@ -1315,7 +1315,7 @@ static void OpponentHandleDrawTrainerPic(void)
|
||||
}
|
||||
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
xPos,
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
||||
@@ -1387,7 +1387,7 @@ static void OpponentHandleTrainerSlide(void)
|
||||
}
|
||||
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96;
|
||||
@@ -1588,9 +1588,9 @@ static void OpponentHandleChooseMove(void)
|
||||
gBankTarget = gActiveBank;
|
||||
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
if (gAbsentBankFlags & gBitTable[gBankTarget])
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
}
|
||||
EmitTwoReturnValues(1, 10, (chosenMoveId) | (gBankTarget << 8));
|
||||
break;
|
||||
@@ -1611,7 +1611,7 @@ static void OpponentHandleChooseMove(void)
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(Random() & 2) << 8));
|
||||
else
|
||||
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(IDENTITY_PLAYER_MON1) << 8));
|
||||
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(B_POSITION_PLAYER_LEFT) << 8));
|
||||
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
@@ -1638,12 +1638,12 @@ static void OpponentHandleChoosePokemon(void)
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
|
||||
{
|
||||
bank2 = bank1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
bank2 = bank1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
bank1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
bank2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
bank1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
bank2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000))
|
||||
|
||||
@@ -232,7 +232,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
nullsub_22
|
||||
};
|
||||
|
||||
static const u8 sTargetIdentities[] = {IDENTITY_PLAYER_MON1, IDENTITY_PLAYER_MON2, IDENTITY_OPPONENT_MON2, IDENTITY_OPPONENT_MON1};
|
||||
static const u8 sTargetIdentities[] = {B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT, B_POSITION_OPPONENT_RIGHT, B_POSITION_OPPONENT_LEFT};
|
||||
|
||||
// unknown unused data
|
||||
static const u8 sUnknown_0831C5FC[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58};
|
||||
@@ -357,8 +357,8 @@ static void HandleInputChooseAction(void)
|
||||
else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59)
|
||||
{
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
&& GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2
|
||||
&& !(gAbsentBankFlags & gBitTable[GetBankByIdentity(IDENTITY_PLAYER_MON1)])
|
||||
&& GetBankPosition(gActiveBank) == B_POSITION_PLAYER_RIGHT
|
||||
&& !(gAbsentBankFlags & gBitTable[GetBankByIdentity(B_POSITION_PLAYER_LEFT)])
|
||||
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
{
|
||||
if (gBattleBufferA[gActiveBank][1] == ACTION_USE_ITEM)
|
||||
@@ -436,7 +436,7 @@ static void HandleInputChooseTarget(void)
|
||||
|
||||
do
|
||||
{
|
||||
u8 currSelIdentity = GetBankIdentity(gMultiUsePlayerCursor);
|
||||
u8 currSelIdentity = GetBankPosition(gMultiUsePlayerCursor);
|
||||
|
||||
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
|
||||
{
|
||||
@@ -451,17 +451,17 @@ static void HandleInputChooseTarget(void)
|
||||
} while (gMultiUsePlayerCursor == gNoOfAllBanks);
|
||||
|
||||
i = 0;
|
||||
switch (GetBankIdentity(gMultiUsePlayerCursor))
|
||||
switch (GetBankPosition(gMultiUsePlayerCursor))
|
||||
{
|
||||
case IDENTITY_PLAYER_MON1:
|
||||
case IDENTITY_PLAYER_MON2:
|
||||
case B_POSITION_PLAYER_LEFT:
|
||||
case B_POSITION_PLAYER_RIGHT:
|
||||
if (gActiveBank != gMultiUsePlayerCursor)
|
||||
i++;
|
||||
else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank])].target & MOVE_TARGET_USER)
|
||||
i++;
|
||||
break;
|
||||
case IDENTITY_OPPONENT_MON1:
|
||||
case IDENTITY_OPPONENT_MON2:
|
||||
case B_POSITION_OPPONENT_LEFT:
|
||||
case B_POSITION_OPPONENT_RIGHT:
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
@@ -478,7 +478,7 @@ static void HandleInputChooseTarget(void)
|
||||
|
||||
do
|
||||
{
|
||||
u8 currSelIdentity = GetBankIdentity(gMultiUsePlayerCursor);
|
||||
u8 currSelIdentity = GetBankPosition(gMultiUsePlayerCursor);
|
||||
|
||||
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
|
||||
{
|
||||
@@ -493,17 +493,17 @@ static void HandleInputChooseTarget(void)
|
||||
} while (gMultiUsePlayerCursor == gNoOfAllBanks);
|
||||
|
||||
i = 0;
|
||||
switch (GetBankIdentity(gMultiUsePlayerCursor))
|
||||
switch (GetBankPosition(gMultiUsePlayerCursor))
|
||||
{
|
||||
case IDENTITY_PLAYER_MON1:
|
||||
case IDENTITY_PLAYER_MON2:
|
||||
case B_POSITION_PLAYER_LEFT:
|
||||
case B_POSITION_PLAYER_RIGHT:
|
||||
if (gActiveBank != gMultiUsePlayerCursor)
|
||||
i++;
|
||||
else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank])].target & MOVE_TARGET_USER)
|
||||
i++;
|
||||
break;
|
||||
case IDENTITY_OPPONENT_MON1:
|
||||
case IDENTITY_OPPONENT_MON2:
|
||||
case B_POSITION_OPPONENT_LEFT:
|
||||
case B_POSITION_OPPONENT_RIGHT:
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
@@ -545,7 +545,7 @@ static void HandleInputChooseMove(void)
|
||||
if (moveTarget & MOVE_TARGET_x10)
|
||||
gMultiUsePlayerCursor = gActiveBank;
|
||||
else
|
||||
gMultiUsePlayerCursor = GetBankByIdentity((GetBankIdentity(gActiveBank) & BIT_SIDE) ^ BIT_SIDE);
|
||||
gMultiUsePlayerCursor = GetBankByIdentity((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE);
|
||||
|
||||
if (!gBattleBufferA[gActiveBank][1]) // not a double battle
|
||||
{
|
||||
@@ -579,10 +579,10 @@ static void HandleInputChooseMove(void)
|
||||
|
||||
if (moveTarget & (MOVE_TARGET_x10 | MOVE_TARGET_USER))
|
||||
gMultiUsePlayerCursor = gActiveBank;
|
||||
else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(IDENTITY_OPPONENT_MON1)])
|
||||
gMultiUsePlayerCursor = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(B_POSITION_OPPONENT_LEFT)])
|
||||
gMultiUsePlayerCursor = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
else
|
||||
gMultiUsePlayerCursor = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gMultiUsePlayerCursor = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
|
||||
gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8;
|
||||
}
|
||||
@@ -2234,11 +2234,11 @@ static void sub_805B258(u8 bank, bool8 dontClearSubstituteBit)
|
||||
gBattlePartyID[bank] = gBattleBufferA[bank][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
|
||||
gBankSpriteIds[bank] = CreateSprite(
|
||||
&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
@@ -2326,7 +2326,7 @@ static void PlayerHandleDrawTrainerPic(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
xPos = 90;
|
||||
else // first mon
|
||||
xPos = 32;
|
||||
@@ -2353,7 +2353,7 @@ static void PlayerHandleDrawTrainerPic(void)
|
||||
{
|
||||
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A1C0(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
@@ -2368,7 +2368,7 @@ static void PlayerHandleDrawTrainerPic(void)
|
||||
else
|
||||
{
|
||||
DecompressTrainerBackPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
|
||||
@@ -2407,7 +2407,7 @@ static void PlayerHandleTrainerSlide(void)
|
||||
}
|
||||
|
||||
DecompressTrainerBackPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30);
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
|
||||
@@ -2463,7 +2463,7 @@ static void PlayerHandleSuccessBallThrowAnim(void)
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
|
||||
gDoingBattleAnim = TRUE;
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
|
||||
}
|
||||
|
||||
@@ -2473,7 +2473,7 @@ static void PlayerHandleBallThrowAnim(void)
|
||||
|
||||
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
|
||||
gDoingBattleAnim = TRUE;
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
|
||||
}
|
||||
|
||||
|
||||
@@ -1234,10 +1234,10 @@ static void PlayerPartnerHandleLoadMonSprite(void)
|
||||
|
||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
|
||||
sub_806A068(species, GetBankIdentity(gActiveBank));
|
||||
sub_806A068(species, GetBankPosition(gActiveBank));
|
||||
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(gActiveBank, 2),
|
||||
GetBankCoord(gActiveBank, 2),
|
||||
GetBankSpriteDefault_Y(gActiveBank),
|
||||
sub_80A82E4(gActiveBank));
|
||||
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
|
||||
@@ -1264,11 +1264,11 @@ static void sub_81BD0E4(u8 bank, bool8 dontClearSubstituteBit)
|
||||
gBattlePartyID[bank] = gBattleBufferA[bank][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
|
||||
gBankSpriteIds[bank] = CreateSprite(
|
||||
&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
@@ -1349,7 +1349,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
|
||||
if (gPartnerTrainerId == STEVEN_PARTNER_ID)
|
||||
{
|
||||
DecompressTrainerBackPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
|
||||
@@ -1360,7 +1360,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
|
||||
else // otherwise use front sprite
|
||||
{
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A1C0(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
@@ -1548,9 +1548,9 @@ static void PlayerPartnerHandleChooseMove(void)
|
||||
gBankTarget = gActiveBank;
|
||||
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
if (gAbsentBankFlags & gBitTable[gBankTarget])
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
|
||||
EmitTwoReturnValues(1, 10, chosenMoveId | (gBankTarget << 8));
|
||||
@@ -1568,8 +1568,8 @@ static void PlayerPartnerHandleChoosePokemon(void)
|
||||
|
||||
if (chosenMonId == 6) // just switch to the next mon
|
||||
{
|
||||
u8 playerMonIdentity = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
u8 selfIdentity = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
u8 playerMonIdentity = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
u8 selfIdentity = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
|
||||
for (chosenMonId = 3; chosenMonId < 6; chosenMonId++)
|
||||
{
|
||||
|
||||
@@ -274,7 +274,7 @@ static void sub_8186678(void)
|
||||
|
||||
if (var)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1)
|
||||
return;
|
||||
@@ -330,7 +330,7 @@ static void sub_818686C(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_OPPONENT_LEFT)
|
||||
m4aMPlayContinue(&gMPlayInfo_BGM);
|
||||
}
|
||||
else
|
||||
@@ -1146,10 +1146,10 @@ static void RecordedOpponentHandleLoadMonSprite(void)
|
||||
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
|
||||
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank);
|
||||
sub_806A068(species, GetBankIdentity(gActiveBank));
|
||||
sub_806A068(species, GetBankPosition(gActiveBank));
|
||||
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(gActiveBank, 2),
|
||||
GetBankCoord(gActiveBank, 2),
|
||||
GetBankSpriteDefault_Y(gActiveBank),
|
||||
sub_80A82E4(gActiveBank));
|
||||
|
||||
@@ -1181,10 +1181,10 @@ static void sub_81885D8(u8 bank, bool8 dontClearSubstituteBit)
|
||||
species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
@@ -1248,7 +1248,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
xPos = 152;
|
||||
else // first mon
|
||||
xPos = 200;
|
||||
@@ -1279,7 +1279,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
|
||||
}
|
||||
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
xPos,
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
||||
|
||||
@@ -245,7 +245,7 @@ static void sub_8189AA0(void)
|
||||
{
|
||||
bool32 r6 = FALSE;
|
||||
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
|
||||
{
|
||||
if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI)))
|
||||
{
|
||||
@@ -312,7 +312,7 @@ static void sub_8189D40(void)
|
||||
{
|
||||
bool32 r10 = FALSE;
|
||||
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
|
||||
@@ -353,7 +353,7 @@ static void sub_8189D40(void)
|
||||
{
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && (gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
{
|
||||
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
|
||||
if (GetBankPosition(gActiveBank) == B_POSITION_PLAYER_LEFT)
|
||||
m4aMPlayContinue(&gMPlayInfo_BGM);
|
||||
}
|
||||
else
|
||||
@@ -1132,10 +1132,10 @@ static void RecordedPlayerHandleLoadMonSprite(void)
|
||||
|
||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES);
|
||||
sub_806A068(species, GetBankIdentity(gActiveBank));
|
||||
sub_806A068(species, GetBankPosition(gActiveBank));
|
||||
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(gActiveBank, 2),
|
||||
GetBankCoord(gActiveBank, 2),
|
||||
GetBankSpriteDefault_Y(gActiveBank),
|
||||
sub_80A82E4(gActiveBank));
|
||||
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
|
||||
@@ -1162,11 +1162,11 @@ static void sub_818BA6C(u8 bank, bool8 dontClearSubstituteBit)
|
||||
gBattlePartyID[bank] = gBattleBufferA[bank][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
|
||||
gBankSpriteIds[bank] = CreateSprite(
|
||||
&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
@@ -1241,7 +1241,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
if ((GetBankPosition(gActiveBank) & BIT_MON) != 0) // second mon
|
||||
xPos = 90;
|
||||
else // first mon
|
||||
xPos = 32;
|
||||
@@ -1267,7 +1267,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
||||
{
|
||||
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
|
||||
DecompressTrainerFrontPic(trainerPicId, gActiveBank);
|
||||
sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A1C0(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
@@ -1281,7 +1281,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
||||
else
|
||||
{
|
||||
DecompressTrainerBackPic(trainerPicId, gActiveBank);
|
||||
sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(trainerPicId, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank));
|
||||
|
||||
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
|
||||
|
||||
@@ -378,7 +378,7 @@ static void SafariHandleReturnMonToBall(void)
|
||||
static void SafariHandleDrawTrainerPic(void)
|
||||
{
|
||||
DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBank);
|
||||
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(
|
||||
&gUnknown_0202499C,
|
||||
80,
|
||||
@@ -415,7 +415,7 @@ 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);
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
|
||||
}
|
||||
|
||||
@@ -425,7 +425,7 @@ static void SafariHandleBallThrowAnim(void)
|
||||
|
||||
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
|
||||
gDoingBattleAnim = TRUE;
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
|
||||
}
|
||||
|
||||
|
||||
@@ -1067,7 +1067,7 @@ static void WallyHandleReturnMonToBall(void)
|
||||
static void WallyHandleDrawTrainerPic(void)
|
||||
{
|
||||
DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBank);
|
||||
sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(BACK_PIC_WALLY, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
80,
|
||||
80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords),
|
||||
@@ -1082,7 +1082,7 @@ static void WallyHandleDrawTrainerPic(void)
|
||||
static void WallyHandleTrainerSlide(void)
|
||||
{
|
||||
DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBank);
|
||||
sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(gActiveBank));
|
||||
sub_806A12C(BACK_PIC_WALLY, GetBankPosition(gActiveBank));
|
||||
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
|
||||
80,
|
||||
80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords),
|
||||
@@ -1113,7 +1113,7 @@ static void WallyHandleSuccessBallThrowAnim(void)
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
|
||||
gDoingBattleAnim = TRUE;
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
|
||||
}
|
||||
|
||||
@@ -1123,7 +1123,7 @@ static void WallyHandleBallThrowAnim(void)
|
||||
|
||||
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
|
||||
gDoingBattleAnim = TRUE;
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
|
||||
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
|
||||
}
|
||||
|
||||
@@ -1494,9 +1494,9 @@ static void sub_816AA80(u8 bank)
|
||||
gBattlePartyID[bank] = gBattleBufferA[bank][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
|
||||
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||
sub_806A068(species, GetBankIdentity(bank));
|
||||
sub_806A068(species, GetBankPosition(bank));
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
|
||||
GetBankPosition(bank, 2),
|
||||
GetBankCoord(bank, 2),
|
||||
GetBankSpriteDefault_Y(bank),
|
||||
sub_80A82E4(bank));
|
||||
|
||||
|
||||
+70
-70
@@ -16,7 +16,7 @@ extern u32 gBattleTypeFlags;
|
||||
extern u32 gBattleExecBuffer;
|
||||
extern void (*gBattleMainFunc)(void);
|
||||
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
|
||||
extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT];
|
||||
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
|
||||
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
|
||||
extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT];
|
||||
extern u8 gNoOfAllBanks;
|
||||
@@ -79,7 +79,7 @@ void SetUpBattleVarsAndBirchZigzagoon(void)
|
||||
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
|
||||
{
|
||||
gBattleBankFunc[i] = nullsub_21;
|
||||
gBanksByIdentity[i] = 0xFF;
|
||||
gBankPositions[i] = 0xFF;
|
||||
gActionSelectionCursor[i] = 0;
|
||||
gMoveSelectionCursor[i] = 0;
|
||||
}
|
||||
@@ -146,30 +146,30 @@ static void SetControllersVariables(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
|
||||
{
|
||||
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToPlayerPartner;
|
||||
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[0] = SetControllerToPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToPlayerPartner;
|
||||
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
|
||||
gNoOfAllBanks = 4;
|
||||
@@ -195,10 +195,10 @@ static void SetControllersVariables(void)
|
||||
else
|
||||
gBattleBankFunc[0] = SetControllerToPlayer;
|
||||
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gNoOfAllBanks = 2;
|
||||
|
||||
@@ -211,20 +211,20 @@ static void SetControllersVariables(void)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToRecordedOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gNoOfAllBanks = 2;
|
||||
}
|
||||
else // see how the banks are switched
|
||||
{
|
||||
gBattleBankFunc[1] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToRecordedOpponent;
|
||||
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gNoOfAllBanks = 2;
|
||||
}
|
||||
@@ -232,10 +232,10 @@ static void SetControllersVariables(void)
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,16 +244,16 @@ static void SetControllersVariables(void)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToPlayer;
|
||||
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gNoOfAllBanks = 4;
|
||||
|
||||
@@ -264,16 +264,16 @@ static void SetControllersVariables(void)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[0] = 0;
|
||||
gBankPositions[0] = 0;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = 1;
|
||||
gBankPositions[1] = 1;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[2] = 2;
|
||||
gBankPositions[2] = 2;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToOpponent;
|
||||
gBanksByIdentity[3] = 3;
|
||||
gBankPositions[3] = 3;
|
||||
|
||||
gNoOfAllBanks = 4;
|
||||
|
||||
@@ -312,12 +312,12 @@ static void SetControllersVariables(void)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
|
||||
break;
|
||||
}
|
||||
@@ -330,12 +330,12 @@ static void SetControllersVariables(void)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
|
||||
break;
|
||||
}
|
||||
@@ -347,12 +347,12 @@ static void SetControllersVariables(void)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
|
||||
break;
|
||||
}
|
||||
@@ -362,51 +362,51 @@ static void SetControllersVariables(void)
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_WILD)
|
||||
{
|
||||
gBattleBankFunc[0] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
gBattleBankFunc[1] = SetControllerToRecordedOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToRecordedOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[1] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToRecordedPlayer;
|
||||
gBanksByIdentity[3] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[3] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
gBattleBankFunc[0] = SetControllerToRecordedOpponent;
|
||||
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToRecordedOpponent;
|
||||
gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[2] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[0] = SetControllerToOpponent;
|
||||
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToOpponent;
|
||||
gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[2] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -425,20 +425,20 @@ static void SetControllersVariablesInLinkBattle(void)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gNoOfAllBanks = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[1] = SetControllerToPlayer;
|
||||
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gNoOfAllBanks = 2;
|
||||
}
|
||||
@@ -450,32 +450,32 @@ static void SetControllersVariablesInLinkBattle(void)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToPlayer;
|
||||
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gNoOfAllBanks = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[1] = SetControllerToPlayer;
|
||||
gBanksByIdentity[1] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToPlayer;
|
||||
gBanksByIdentity[3] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[3] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[2] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gNoOfAllBanks = 4;
|
||||
}
|
||||
@@ -487,32 +487,32 @@ static void SetControllersVariablesInLinkBattle(void)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattleBankFunc[0] = SetControllerToPlayer;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToLinkPartner;
|
||||
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gNoOfAllBanks = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleBankFunc[0] = SetControllerToLinkPartner;
|
||||
gBanksByIdentity[0] = IDENTITY_PLAYER_MON1;
|
||||
gBankPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattleBankFunc[1] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1;
|
||||
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattleBankFunc[2] = SetControllerToPlayer;
|
||||
gBanksByIdentity[2] = IDENTITY_PLAYER_MON2;
|
||||
gBankPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattleBankFunc[3] = SetControllerToLinkOpponent;
|
||||
gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2;
|
||||
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gNoOfAllBanks = 4;
|
||||
}
|
||||
@@ -554,12 +554,12 @@ static void SetControllersVariablesInLinkBattle(void)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 0;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = 0;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 2;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = 2;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
|
||||
break;
|
||||
}
|
||||
@@ -574,12 +574,12 @@ static void SetControllersVariablesInLinkBattle(void)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 0;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = 0;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 2;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = 2;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
|
||||
break;
|
||||
}
|
||||
@@ -591,12 +591,12 @@ static void SetControllersVariablesInLinkBattle(void)
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 1;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = 1;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 3;
|
||||
gBankPositions[gLinkPlayers[i].lp_field_18] = 3;
|
||||
gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
|
||||
break;
|
||||
}
|
||||
|
||||
+27
-27
@@ -29,7 +29,7 @@ extern u8 gNoOfAllBanks;
|
||||
extern u16 gUnknown_020243FC;
|
||||
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
|
||||
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
|
||||
extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT];
|
||||
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
|
||||
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
|
||||
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
|
||||
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
|
||||
@@ -262,7 +262,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
|
||||
else if (var1 == MOVE_TARGET_SELECTED)
|
||||
chosenMoveId |= (BattlePalaceGetTargetRetValue());
|
||||
else
|
||||
chosenMoveId |= (GetBankByIdentity((GetBankIdentity(gActiveBank) & BIT_SIDE) ^ BIT_SIDE) << 8);
|
||||
chosenMoveId |= (GetBankByIdentity((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE) << 8);
|
||||
|
||||
return chosenMoveId;
|
||||
}
|
||||
@@ -299,13 +299,13 @@ static u16 BattlePalaceGetTargetRetValue(void)
|
||||
|
||||
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
|
||||
{
|
||||
opposing1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
opposing2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
opposing1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
opposing2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
else
|
||||
{
|
||||
opposing1 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
opposing2 = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
opposing1 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
opposing2 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
}
|
||||
|
||||
if (gBattleMons[opposing1].hp == gBattleMons[opposing2].hp)
|
||||
@@ -561,7 +561,7 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank)
|
||||
}
|
||||
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID);
|
||||
identity = GetBankIdentity(bank);
|
||||
identity = GetBankPosition(bank);
|
||||
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
|
||||
gMonSpritesGfxPtr->sprites[identity],
|
||||
species, currentPersonality);
|
||||
@@ -614,7 +614,7 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank)
|
||||
}
|
||||
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID);
|
||||
identity = GetBankIdentity(bank);
|
||||
identity = GetBankPosition(bank);
|
||||
|
||||
if (sub_80688F8(1, bank) == 1 || gBattleSpritesDataPtr->bankData[bank].transformSpecies != SPECIES_NONE)
|
||||
{
|
||||
@@ -665,7 +665,7 @@ void nullsub_24(u16 species)
|
||||
|
||||
void DecompressTrainerFrontPic(u16 frontPicId, u8 bank)
|
||||
{
|
||||
u8 identity = GetBankIdentity(bank);
|
||||
u8 identity = GetBankPosition(bank);
|
||||
DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId],
|
||||
gMonSpritesGfxPtr->sprites[identity],
|
||||
SPECIES_NONE);
|
||||
@@ -674,7 +674,7 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 bank)
|
||||
|
||||
void DecompressTrainerBackPic(u16 backPicId, u8 bank)
|
||||
{
|
||||
u8 identity = GetBankIdentity(bank);
|
||||
u8 identity = GetBankPosition(bank);
|
||||
DecompressPicFromTable_2(&gTrainerBackPicTable[backPicId],
|
||||
gMonSpritesGfxPtr->sprites[identity],
|
||||
SPECIES_NONE);
|
||||
@@ -713,7 +713,7 @@ void sub_805DFFC(void)
|
||||
numberOfBanks = 4;
|
||||
}
|
||||
for (i = 0; i < numberOfBanks; i++)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[i]]);
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[i]]);
|
||||
}
|
||||
|
||||
bool8 BattleLoadAllHealthBoxesGfx(u8 state)
|
||||
@@ -739,9 +739,9 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
|
||||
else if (state == 3)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C0D8);
|
||||
else if (state == 4)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[0]]);
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[0]]);
|
||||
else if (state == 5)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[1]]);
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[1]]);
|
||||
else
|
||||
retVal = TRUE;
|
||||
}
|
||||
@@ -756,13 +756,13 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
|
||||
else if (state == 5)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C0F0[1]);
|
||||
else if (state == 6)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[0]]);
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[0]]);
|
||||
else if (state == 7)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[1]]);
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[1]]);
|
||||
else if (state == 8)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[2]]);
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[2]]);
|
||||
else if (state == 9)
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBanksByIdentity[3]]);
|
||||
LoadCompressedObjectPic(&gUnknown_0832C108[gBankPositions[3]]);
|
||||
else
|
||||
retVal = TRUE;
|
||||
}
|
||||
@@ -815,7 +815,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *bank)
|
||||
break;
|
||||
case 4:
|
||||
SetBankHealthboxSpritePos(*bank);
|
||||
if (gBanksByIdentity[*bank] <= 1)
|
||||
if (gBankPositions[*bank] <= 1)
|
||||
DummyBattleInterfaceFunc(gHealthBoxesIds[*bank], FALSE);
|
||||
else
|
||||
DummyBattleInterfaceFunc(gHealthBoxesIds[*bank], TRUE);
|
||||
@@ -921,7 +921,7 @@ void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform)
|
||||
}
|
||||
else
|
||||
{
|
||||
identity = GetBankIdentity(bankAtk);
|
||||
identity = GetBankPosition(bankAtk);
|
||||
|
||||
if (GetBankSide(bankDef) == SIDE_OPPONENT)
|
||||
targetSpecies = GetMonData(&gEnemyParty[gBattlePartyID[bankDef]], MON_DATA_SPECIES);
|
||||
@@ -991,7 +991,7 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite)
|
||||
if (IsContest())
|
||||
identity = 0;
|
||||
else
|
||||
identity = GetBankIdentity(bank);
|
||||
identity = GetBankPosition(bank);
|
||||
|
||||
if (IsContest())
|
||||
LZDecompressVram(gSubstituteDollTilemap, gMonSpritesGfxPtr->sprites[identity]);
|
||||
@@ -1080,7 +1080,7 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank)
|
||||
|
||||
void BattleStopLowHpSound(void)
|
||||
{
|
||||
u8 playerBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
u8 playerBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
|
||||
gBattleSpritesDataPtr->bankData[playerBank].lowHpSong = 0;
|
||||
if (IsDoubleBattle())
|
||||
@@ -1101,8 +1101,8 @@ void sub_805EAE8(void)
|
||||
{
|
||||
if (gMain.inBattle)
|
||||
{
|
||||
u8 playerBank1 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
u8 playerBank2 = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
u8 playerBank1 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
u8 playerBank2 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
u8 bank1PartyId = pokemon_order_func(gBattlePartyID[playerBank1]);
|
||||
u8 bank2PartyId = pokemon_order_func(gBattlePartyID[playerBank2]);
|
||||
|
||||
@@ -1143,14 +1143,14 @@ void LoadAndCreateEnemyShadowSprites(void)
|
||||
|
||||
LoadCompressedObjectPic(&gSpriteSheet_EnemyShadow);
|
||||
|
||||
bank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankPosition(bank, 0), GetBankPosition(bank, 1) + 29, 0xC8);
|
||||
bank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankCoord(bank, 0), GetBankCoord(bank, 1) + 29, 0xC8);
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
|
||||
|
||||
if (IsDoubleBattle())
|
||||
{
|
||||
bank = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankPosition(bank, 0), GetBankPosition(bank, 1) + 29, 0xC8);
|
||||
bank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankCoord(bank, 0), GetBankCoord(bank, 1) + 29, 0xC8);
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
|
||||
}
|
||||
}
|
||||
|
||||
+13
-13
@@ -152,7 +152,7 @@ enum
|
||||
HEALTHBOX_GFX_117,
|
||||
};
|
||||
|
||||
extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT];
|
||||
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
|
||||
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
|
||||
extern u8 gNoOfAllBanks;
|
||||
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
|
||||
@@ -933,8 +933,8 @@ u8 CreateBankHealthboxSprites(u8 bank)
|
||||
{
|
||||
if (GetBankSide(bank) == SIDE_PLAYER)
|
||||
{
|
||||
healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
|
||||
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
|
||||
healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
|
||||
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
|
||||
|
||||
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
|
||||
|
||||
@@ -946,8 +946,8 @@ u8 CreateBankHealthboxSprites(u8 bank)
|
||||
}
|
||||
else
|
||||
{
|
||||
healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
|
||||
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1);
|
||||
healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
|
||||
healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBankPosition(bank) / 2], 240, 160, 1);
|
||||
|
||||
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
|
||||
|
||||
@@ -959,7 +959,7 @@ u8 CreateBankHealthboxSprites(u8 bank)
|
||||
}
|
||||
}
|
||||
|
||||
unkSpriteId = CreateSpriteAtEnd(&sUnknown_0832C1C0[gBanksByIdentity[bank]], 140, 60, 0);
|
||||
unkSpriteId = CreateSpriteAtEnd(&sUnknown_0832C1C0[gBankPositions[bank]], 140, 60, 0);
|
||||
unkSpritePtr = &gSprites[unkSpriteId];
|
||||
SetSubspriteTables(unkSpritePtr, &sUnknown_0832C28C[GetBankSide(bank)]);
|
||||
unkSpritePtr->subspriteMode = 2;
|
||||
@@ -1111,18 +1111,18 @@ void SetBankHealthboxSpritePos(u8 bank)
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (GetBankIdentity(bank))
|
||||
switch (GetBankPosition(bank))
|
||||
{
|
||||
case IDENTITY_PLAYER_MON1:
|
||||
case B_POSITION_PLAYER_LEFT:
|
||||
x = 159, y = 76;
|
||||
break;
|
||||
case IDENTITY_PLAYER_MON2:
|
||||
case B_POSITION_PLAYER_RIGHT:
|
||||
x = 171, y = 101;
|
||||
break;
|
||||
case IDENTITY_OPPONENT_MON1:
|
||||
case B_POSITION_OPPONENT_LEFT:
|
||||
x = 44, y = 19;
|
||||
break;
|
||||
case IDENTITY_OPPONENT_MON2:
|
||||
case B_POSITION_OPPONENT_RIGHT:
|
||||
x = 32, y = 44;
|
||||
break;
|
||||
}
|
||||
@@ -1353,7 +1353,7 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
u8 i, var, nature, healthboxSpriteId_2;
|
||||
|
||||
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
|
||||
barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBankIdentity(gSprites[healthboxSpriteId].data[6]) * 384)];
|
||||
barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBankPosition(gSprites[healthboxSpriteId].data[6]) * 384)];
|
||||
var = 5;
|
||||
nature = GetNature(mon);
|
||||
StringCopy(text + 6, gNatureNamePointers[nature]);
|
||||
@@ -1485,7 +1485,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
|
||||
u8 ballIconSpritesIds[6];
|
||||
u8 taskId;
|
||||
|
||||
if (!arg2 || GetBankIdentity(bank) != IDENTITY_OPPONENT_MON2)
|
||||
if (!arg2 || GetBankPosition(bank) != B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
if (GetBankSide(bank) == SIDE_PLAYER)
|
||||
{
|
||||
|
||||
@@ -1834,25 +1834,25 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
|
||||
toCpy = gStringVar3;
|
||||
break;
|
||||
case B_TXT_PLAYER_MON1_NAME: // first player poke name
|
||||
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON1)]],
|
||||
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(B_POSITION_PLAYER_LEFT)]],
|
||||
MON_DATA_NICKNAME, text);
|
||||
StringGetEnd10(text);
|
||||
toCpy = text;
|
||||
break;
|
||||
case B_TXT_OPPONENT_MON1_NAME: // first enemy poke name
|
||||
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON1)]],
|
||||
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(B_POSITION_OPPONENT_LEFT)]],
|
||||
MON_DATA_NICKNAME, text);
|
||||
StringGetEnd10(text);
|
||||
toCpy = text;
|
||||
break;
|
||||
case B_TXT_PLAYER_MON2_NAME: // second player poke name
|
||||
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON2)]],
|
||||
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(B_POSITION_PLAYER_RIGHT)]],
|
||||
MON_DATA_NICKNAME, text);
|
||||
StringGetEnd10(text);
|
||||
toCpy = text;
|
||||
break;
|
||||
case B_TXT_OPPONENT_MON2_NAME: // second enemy poke name
|
||||
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON2)]],
|
||||
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(B_POSITION_OPPONENT_RIGHT)]],
|
||||
MON_DATA_NICKNAME, text);
|
||||
StringGetEnd10(text);
|
||||
toCpy = text;
|
||||
|
||||
@@ -4661,7 +4661,7 @@ _0804BA58:\n\
|
||||
ldr r6, =gActiveBank\n\
|
||||
ldrb r0, [r6]\n\
|
||||
str r3, [sp]\n\
|
||||
bl GetBankIdentity\n\
|
||||
bl GetBankPosition\n\
|
||||
mov r1, r10\n\
|
||||
ands r1, r0\n\
|
||||
lsls r0, r1, 1\n\
|
||||
@@ -5103,7 +5103,7 @@ static void atk49_moveend(void)
|
||||
&& !gProtectStructs[gBankAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH
|
||||
&& !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
|
||||
{
|
||||
u8 bank = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
|
||||
u8 bank = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
|
||||
if (gBattleMons[bank].hp != 0)
|
||||
{
|
||||
gBankTarget = bank;
|
||||
@@ -5454,10 +5454,10 @@ static void atk4F_jumpifcantswitch(void)
|
||||
{
|
||||
if (GetBankSide(gActiveBank) == SIDE_OPPONENT)
|
||||
{
|
||||
r7 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
r7 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
compareVar = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
compareVar = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
else
|
||||
compareVar = r7;
|
||||
|
||||
@@ -5465,10 +5465,10 @@ static void atk4F_jumpifcantswitch(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
r7 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
r7 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
compareVar = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
compareVar = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
else
|
||||
compareVar = r7;
|
||||
|
||||
@@ -5763,7 +5763,7 @@ static void atk50_openpartyscreen(void)
|
||||
|
||||
gBattlescriptCurrInstr += 6;
|
||||
|
||||
if (GetBankIdentity(gActiveBank) == 0 && gBattleResults.playerSwitchesCounter < 0xFF)
|
||||
if (GetBankPosition(gActiveBank) == 0 && gBattleResults.playerSwitchesCounter < 0xFF)
|
||||
gBattleResults.playerSwitchesCounter++;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
@@ -5779,7 +5779,7 @@ static void atk50_openpartyscreen(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gActiveBank = GetBankByIdentity(GetBankIdentity(bank) ^ BIT_SIDE);
|
||||
gActiveBank = GetBankByIdentity(GetBankPosition(bank) ^ BIT_SIDE);
|
||||
if (gAbsentBankFlags & gBitTable[gActiveBank])
|
||||
gActiveBank ^= BIT_MON;
|
||||
|
||||
@@ -5976,7 +5976,7 @@ static void atk56_playfaintcry(void)
|
||||
|
||||
static void atk57(void)
|
||||
{
|
||||
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
EmitCmd55(0, gBattleOutcome);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
|
||||
@@ -6011,7 +6011,7 @@ static void atk59_handlelearnnewmove(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
|
||||
if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId
|
||||
&& !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED))
|
||||
@@ -6020,7 +6020,7 @@ static void atk59_handlelearnnewmove(void)
|
||||
}
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId
|
||||
&& !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED))
|
||||
{
|
||||
@@ -6851,7 +6851,7 @@ static void atk6D_resetsentmonsvalue(void)
|
||||
|
||||
static void atk6E_setatktoplayer0(void)
|
||||
{
|
||||
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
@@ -8309,7 +8309,7 @@ static void atk98_updatestatusicon(void)
|
||||
}
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
|
||||
{
|
||||
gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
|
||||
gActiveBank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
|
||||
if (!(gAbsentBankFlags & gBitTable[gActiveBank]))
|
||||
{
|
||||
EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2);
|
||||
@@ -8978,7 +8978,7 @@ static void atkAE_healpartystatus(void)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] |= 1;
|
||||
}
|
||||
|
||||
gActiveBank = gBattleScripting.bank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
|
||||
gActiveBank = gBattleScripting.bank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
|
||||
&& !(gAbsentBankFlags & gBitTable[gActiveBank]))
|
||||
@@ -9026,7 +9026,7 @@ static void atkAE_healpartystatus(void)
|
||||
gBattleMons[gBankAttacker].status1 = 0;
|
||||
gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
|
||||
gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
|
||||
gActiveBank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
|
||||
&& !(gAbsentBankFlags & gBitTable[gActiveBank]))
|
||||
{
|
||||
@@ -9296,16 +9296,16 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
|
||||
if (gMultiHitCounter == 1)
|
||||
{
|
||||
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
else
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
else
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
}
|
||||
|
||||
if (gActionForBanks[gBankTarget] == ACTION_USE_MOVE
|
||||
@@ -9875,7 +9875,7 @@ static void atkD0_settaunt(void)
|
||||
|
||||
static void atkD1_trysethelpinghand(void)
|
||||
{
|
||||
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
|
||||
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
|
||||
&& !(gAbsentBankFlags & gBitTable[gBankTarget])
|
||||
@@ -10544,7 +10544,7 @@ static void atkEB_settypetoterrain(void)
|
||||
|
||||
static void atkEC_pursuitrelated(void)
|
||||
{
|
||||
gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
|
||||
gActiveBank = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_MON);
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
|
||||
&& !(gAbsentBankFlags & gBitTable[gActiveBank])
|
||||
|
||||
+16
-16
@@ -104,16 +104,16 @@ u8 GetBattleBank(u8 caseId)
|
||||
case 8:
|
||||
case 9:
|
||||
case BS_GET_PLAYER1:
|
||||
ret = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
ret = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
break;
|
||||
case BS_GET_OPPONENT1:
|
||||
ret = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
ret = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
break;
|
||||
case BS_GET_PLAYER2:
|
||||
ret = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
ret = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
break;
|
||||
case BS_GET_OPPONENT2:
|
||||
ret = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
ret = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
@@ -1667,14 +1667,14 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2)
|
||||
{
|
||||
if (GetBankSide(bank) == SIDE_OPPONENT)
|
||||
{
|
||||
r7 = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
r6 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
r7 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
r6 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
party = gEnemyParty;
|
||||
}
|
||||
else
|
||||
{
|
||||
r7 = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
r6 = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
r7 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
r6 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
party = gPlayerParty;
|
||||
}
|
||||
if (r1 == 6)
|
||||
@@ -2335,7 +2335,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
|
||||
if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE))
|
||||
{
|
||||
u8 target2;
|
||||
side = (GetBankIdentity(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon
|
||||
side = (GetBankPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon
|
||||
target1 = GetBankByIdentity(side);
|
||||
target2 = GetBankByIdentity(side + BIT_MON);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
@@ -3268,7 +3268,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget)
|
||||
case MOVE_TARGET_BOTH:
|
||||
case MOVE_TARGET_FOES_AND_ALLY:
|
||||
case MOVE_TARGET_OPPONENTS_FIELD:
|
||||
targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
|
||||
targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
|
||||
if (gAbsentBankFlags & gBitTable[targetBank])
|
||||
targetBank ^= BIT_MON;
|
||||
break;
|
||||
@@ -3281,22 +3281,22 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget)
|
||||
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
|
||||
{
|
||||
if (Random() & 1)
|
||||
targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
targetBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
else
|
||||
targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
targetBank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Random() & 1)
|
||||
targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
|
||||
targetBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
|
||||
else
|
||||
targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON2);
|
||||
targetBank = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
|
||||
}
|
||||
if (gAbsentBankFlags & gBitTable[targetBank])
|
||||
targetBank ^= BIT_MON;
|
||||
}
|
||||
else
|
||||
targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
|
||||
targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE);
|
||||
break;
|
||||
case MOVE_TARGET_USER:
|
||||
case MOVE_TARGET_x10:
|
||||
@@ -3332,7 +3332,7 @@ u8 IsMonDisobedient(void)
|
||||
|
||||
if (HasObedientBitSet(gBankAttacker)) // only if species is Mew or Deoxys
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankIdentity(gBankAttacker) == 2)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankPosition(gBankAttacker) == 2)
|
||||
return 0;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
|
||||
return 0;
|
||||
|
||||
+3
-3
@@ -87,15 +87,15 @@ void AdjustFriendshipOnBattleFaint(u8 bank)
|
||||
{
|
||||
u8 opposingBank2;
|
||||
|
||||
opposingBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
opposingBank2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
opposingBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
opposingBank2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
|
||||
if (gBattleMons[opposingBank2].level > gBattleMons[opposingBank].level)
|
||||
opposingBank = opposingBank2;
|
||||
}
|
||||
else
|
||||
{
|
||||
opposingBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
opposingBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
}
|
||||
|
||||
if (gBattleMons[opposingBank].level > gBattleMons[bank].level)
|
||||
|
||||
+12
-12
@@ -384,14 +384,14 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
|
||||
gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1;
|
||||
break;
|
||||
case POKEBALL_OPPONENT_SENDOUT:
|
||||
gSprites[ballSpriteId].pos1.x = GetBankPosition(bank, BANK_X_POS);
|
||||
gSprites[ballSpriteId].pos1.y = GetBankPosition(bank, BANK_Y_POS) + 24;
|
||||
gSprites[ballSpriteId].pos1.x = GetBankCoord(bank, BANK_X_POS);
|
||||
gSprites[ballSpriteId].pos1.y = GetBankCoord(bank, BANK_Y_POS) + 24;
|
||||
gBankTarget = bank;
|
||||
gSprites[ballSpriteId].data[0] = 0;
|
||||
gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut;
|
||||
break;
|
||||
default:
|
||||
gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
notSendOut = TRUE;
|
||||
break;
|
||||
}
|
||||
@@ -405,8 +405,8 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
|
||||
|
||||
// this will perform an unused ball throw animation
|
||||
gSprites[ballSpriteId].data[0] = 0x22;
|
||||
gSprites[ballSpriteId].data[2] = GetBankPosition(gBankTarget, BANK_X_POS);
|
||||
gSprites[ballSpriteId].data[4] = GetBankPosition(gBankTarget, BANK_Y_POS) - 16;
|
||||
gSprites[ballSpriteId].data[2] = GetBankCoord(gBankTarget, BANK_X_POS);
|
||||
gSprites[ballSpriteId].data[4] = GetBankCoord(gBankTarget, BANK_Y_POS) - 16;
|
||||
gSprites[ballSpriteId].data[5] = -40;
|
||||
sub_80A68D4(&gSprites[ballSpriteId]);
|
||||
gSprites[ballSpriteId].oam.affineParam = taskId;
|
||||
@@ -767,7 +767,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
if ((bank == GetBankByIdentity(IDENTITY_PLAYER_MON1) || bank == GetBankByIdentity(IDENTITY_OPPONENT_MON1))
|
||||
if ((bank == GetBankByIdentity(B_POSITION_PLAYER_LEFT) || bank == GetBankByIdentity(B_POSITION_OPPONENT_LEFT))
|
||||
&& IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
@@ -783,7 +783,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
|
||||
|
||||
if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->field_9_x1)
|
||||
wantedCryCase = 0;
|
||||
else if (bank == GetBankByIdentity(IDENTITY_PLAYER_MON1) || bank == GetBankByIdentity(IDENTITY_OPPONENT_MON1))
|
||||
else if (bank == GetBankByIdentity(B_POSITION_PLAYER_LEFT) || bank == GetBankByIdentity(B_POSITION_OPPONENT_LEFT))
|
||||
wantedCryCase = 1;
|
||||
else
|
||||
wantedCryCase = 2;
|
||||
@@ -900,8 +900,8 @@ static void sub_80760F8(struct Sprite *sprite)
|
||||
static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 25;
|
||||
sprite->data[2] = GetBankPosition(sprite->sBank, 2);
|
||||
sprite->data[4] = GetBankPosition(sprite->sBank, 3) + 24;
|
||||
sprite->data[2] = GetBankCoord(sprite->sBank, 2);
|
||||
sprite->data[4] = GetBankCoord(sprite->sBank, 3) + 24;
|
||||
sprite->data[5] = -30;
|
||||
sprite->oam.affineParam = sprite->sBank;
|
||||
sub_80A68D4(sprite);
|
||||
@@ -956,7 +956,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
|
||||
sprite->data[0] = 0;
|
||||
|
||||
if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
|
||||
&& sprite->sBank == GetBankByIdentity(IDENTITY_PLAYER_MON2))
|
||||
&& sprite->sBank == GetBankByIdentity(B_POSITION_PLAYER_RIGHT))
|
||||
sprite->callback = SpriteCB_ReleaseMon2FromBall;
|
||||
else
|
||||
sprite->callback = SpriteCB_ReleaseMonFromBall;
|
||||
@@ -982,7 +982,7 @@ static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
|
||||
&& sprite->sBank == GetBankByIdentity(IDENTITY_OPPONENT_MON2))
|
||||
&& sprite->sBank == GetBankByIdentity(B_POSITION_OPPONENT_RIGHT))
|
||||
sprite->callback = SpriteCB_ReleaseMon2FromBall;
|
||||
else
|
||||
sprite->callback = SpriteCB_ReleaseMonFromBall;
|
||||
@@ -1198,7 +1198,7 @@ void sub_8076918(u8 bank)
|
||||
healthboxSprite->pos2.y = -healthboxSprite->pos2.y;
|
||||
}
|
||||
gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]);
|
||||
if (GetBankIdentity(bank) == IDENTITY_PLAYER_MON2)
|
||||
if (GetBankPosition(bank) == B_POSITION_PLAYER_RIGHT)
|
||||
healthboxSprite->callback = sub_80769A8;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ extern const u8 gText_EggNickname[];
|
||||
|
||||
extern u8 GetBankSide(u8 bank);
|
||||
extern u8 GetBankByIdentity(u8 bank);
|
||||
extern u8 GetBankIdentity(u8 bank);
|
||||
extern u8 GetBankPosition(u8 bank);
|
||||
|
||||
u8 CountAliveMonsInBattle(u8 caseId)
|
||||
{
|
||||
@@ -86,7 +86,7 @@ bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 bank)
|
||||
|
||||
u8 GetDefaultMoveTarget(u8 bank)
|
||||
{
|
||||
u8 status = GetBankIdentity(bank) & 1;
|
||||
u8 status = GetBankPosition(bank) & 1;
|
||||
|
||||
status ^= 1;
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
|
||||
|
||||
+10
-10
@@ -42,7 +42,7 @@ extern u8 GetBankSpriteDefault_Y(u8 bank);
|
||||
extern u8 sub_80A82E4(u8 bank);
|
||||
extern void sub_806A068(u16 species, u8 bankIdentity);
|
||||
extern void sub_806A12C(u16 backPicId, u8 bankIdentity);
|
||||
extern u8 GetBankPosition(u8 bank, u8 caseId);
|
||||
extern u8 GetBankCoord(u8 bank, u8 caseId);
|
||||
|
||||
// this file's functions
|
||||
static void CB2_ReshowBattleScreenAfterMenu(void);
|
||||
@@ -164,13 +164,13 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
|
||||
|
||||
LoadAndCreateEnemyShadowSprites();
|
||||
|
||||
opponentBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
|
||||
opponentBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
|
||||
species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
|
||||
SetBankEnemyShadowSpriteCallback(opponentBank, species);
|
||||
|
||||
if (IsDoubleBattle())
|
||||
{
|
||||
opponentBank = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
|
||||
opponentBank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
|
||||
species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
|
||||
SetBankEnemyShadowSpriteCallback(opponentBank, species);
|
||||
}
|
||||
@@ -259,8 +259,8 @@ static void CreateBankSprite(u8 bank)
|
||||
if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
|
||||
return;
|
||||
|
||||
sub_806A068(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankPosition(bank, 2), posY, sub_80A82E4(bank));
|
||||
sub_806A068(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankPosition(bank));
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankCoord(bank, 2), posY, sub_80A82E4(bank));
|
||||
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
|
||||
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBankSpriteIds[bank]].data[0] = bank;
|
||||
@@ -272,7 +272,7 @@ static void CreateBankSprite(u8 bank)
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0)
|
||||
{
|
||||
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankIdentity(IDENTITY_PLAYER_MON1));
|
||||
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankPosition(B_POSITION_PLAYER_LEFT));
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, 0x50,
|
||||
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
|
||||
sub_80A82E4(0));
|
||||
@@ -282,7 +282,7 @@ static void CreateBankSprite(u8 bank)
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0)
|
||||
{
|
||||
sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(0));
|
||||
sub_806A12C(BACK_PIC_WALLY, GetBankPosition(0));
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, 0x50,
|
||||
(8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords) * 4 + 80,
|
||||
sub_80A82E4(0));
|
||||
@@ -295,8 +295,8 @@ static void CreateBankSprite(u8 bank)
|
||||
if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
|
||||
return;
|
||||
|
||||
sub_806A068(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankPosition(bank, 2), posY, sub_80A82E4(bank));
|
||||
sub_806A068(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankPosition(bank));
|
||||
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankCoord(bank, 2), posY, sub_80A82E4(bank));
|
||||
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
|
||||
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBankSpriteIds[bank]].data[0] = bank;
|
||||
@@ -335,7 +335,7 @@ static void CreateHealthboxSprite(u8 bank)
|
||||
else
|
||||
UpdateHealthboxAttribute(gHealthBoxesIds[bank], &gPlayerParty[gBattlePartyID[bank]], HEALTHBOX_ALL);
|
||||
|
||||
if (GetBankIdentity(bank) == IDENTITY_OPPONENT_MON2 || GetBankIdentity(bank) == IDENTITY_PLAYER_MON2)
|
||||
if (GetBankPosition(bank) == B_POSITION_OPPONENT_RIGHT || GetBankPosition(bank) == B_POSITION_PLAYER_RIGHT)
|
||||
DummyBattleInterfaceFunc(gHealthBoxesIds[bank], TRUE);
|
||||
else
|
||||
DummyBattleInterfaceFunc(gHealthBoxesIds[bank], FALSE);
|
||||
|
||||
Reference in New Issue
Block a user