diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-04-06 18:18:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-06 18:18:35 -0700 |
commit | be66a5cfefe578a0efb42d47fe8ed1a08e7fe30a (patch) | |
tree | 137e905d499c0b3cabae75db88df52233604adc0 /src | |
parent | 18a6fb5c3fcdc852a8ee805ba02b2807938e1de8 (diff) | |
parent | 3571cb1d142090b59a9161a6bada11f0caf53b8c (diff) |
Merge pull request #590 from huderlem/battle_9
Decompile battle_9
Diffstat (limited to 'src')
123 files changed, 5457 insertions, 4449 deletions
diff --git a/src/battle/anim/alert.c b/src/battle/anim/alert.c index 7cd42c17b..72f8ec947 100644 --- a/src/battle/anim/alert.c +++ b/src/battle/anim/alert.c @@ -16,7 +16,7 @@ void sub_80CF610(struct Sprite* sprite) sub_8078650(sprite); sub_807867C(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->hFlip = 1; if (gBattleAnimArgs[2] != 0) diff --git a/src/battle/anim/anger.c b/src/battle/anim/anger.c index 011aa68ce..4ea56636b 100644 --- a/src/battle/anim/anger.c +++ b/src/battle/anim/anger.c @@ -19,13 +19,13 @@ void sub_80D09C0(struct Sprite* sprite) else bank = gAnimBankTarget; - if (GetBankSide(bank) == 1) + if (GetBattlerSide(bank) == 1) { gBattleAnimArgs[1] *= -1; } - sprite->pos1.x = GetBankPosition(bank, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(bank, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(bank, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[2]; if (sprite->pos1.y <= 7) sprite->pos1.y = 8; diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c index b24809264..de145d6a4 100644 --- a/src/battle/anim/aurora.c +++ b/src/battle/anim/aurora.c @@ -17,15 +17,15 @@ void sub_80D33B4(struct Sprite *sprite) s16 r6; InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) r6 = -gBattleAnimArgs[2]; else r6 = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r6; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + r6; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D344C; sprite->affineAnimPaused = TRUE; diff --git a/src/battle/anim/battle_intro.c b/src/battle/anim/battle_intro.c index 01f823fa7..d96dc7ea8 100644 --- a/src/battle/anim/battle_intro.c +++ b/src/battle/anim/battle_intro.c @@ -466,7 +466,7 @@ void sub_80E4EF8(u8 left, u8 top, u8 c, u8 paletteNum, u16 e, u8 bgMap, u8 g) u32 tileNum; s32 x; s32 y; - u8 bank = GetBankByIdentity(c); + u8 bank = GetBattlerAtPosition(c); DmaCopy16(3, gUnknown_081FAF4C[c] + gBattleMonForms[bank] * 0x800, (void *)(VRAM + e), 0x800); tileNum = e / 32 - g * 512; diff --git a/src/battle/anim/beta_beat_up.c b/src/battle/anim/beta_beat_up.c index 3af6dd926..ee889492c 100644 --- a/src/battle/anim/beta_beat_up.c +++ b/src/battle/anim/beta_beat_up.c @@ -13,7 +13,7 @@ static void sub_80D6278(struct Sprite *); void sub_80D6234(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/blow_kiss.c b/src/battle/anim/blow_kiss.c index f585b74bc..6d762bc7f 100644 --- a/src/battle/anim/blow_kiss.c +++ b/src/battle/anim/blow_kiss.c @@ -18,9 +18,9 @@ void sub_80D1F58(struct Sprite* sprite) InitAnimSpritePos(sprite, 1); sprite->data[0] = 0x5F; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D1FA4; } diff --git a/src/battle/anim/bottle.c b/src/battle/anim/bottle.c index 5485bcf5d..0d5a54e18 100644 --- a/src/battle/anim/bottle.c +++ b/src/battle/anim/bottle.c @@ -16,8 +16,8 @@ static void sub_80CD0CC(struct Sprite* sprite, int unk1, int unk2); void sub_80CCF04(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + 0xFFE8; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + 0xFFE8; sprite->data[0] = 0; sprite->data[1] = 0; sprite->data[2] = 0; diff --git a/src/battle/anim/brace.c b/src/battle/anim/brace.c index 19ea4297b..a81af73ac 100644 --- a/src/battle/anim/brace.c +++ b/src/battle/anim/brace.c @@ -17,13 +17,13 @@ void sub_80CDF0C(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[2]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[2]; } sprite->data[0] = 0; diff --git a/src/battle/anim/breath.c b/src/battle/anim/breath.c index 831b222ad..58b5066c0 100644 --- a/src/battle/anim/breath.c +++ b/src/battle/anim/breath.c @@ -13,20 +13,20 @@ extern u8 gAnimBankTarget; void sub_80D0930(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { StartSpriteAnim(sprite, 0); - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + 32; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + 32; sprite->data[1] = 0x40; } else { StartSpriteAnim(sprite, 1); - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) - 32; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) - 32; sprite->data[1] = -0x40; } - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = 0x34; sprite->data[2] = 0; sprite->data[3] = 0; diff --git a/src/battle/anim/bubble.c b/src/battle/anim/bubble.c index d6ec06be9..27791eedf 100644 --- a/src/battle/anim/bubble.c +++ b/src/battle/anim/bubble.c @@ -19,29 +19,29 @@ void sub_80D31C8(struct Sprite* sprite) { u8 newSpriteId; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) - gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) - gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; } sprite->animPaused = 1; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data[0] = gBattleAnimArgs[6]; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index d57a1046e..245e45774 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -24,7 +24,7 @@ void sub_80DC824(struct Sprite *sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; } - else if (!GetBankSide(gAnimBankTarget)) + else if (!GetBattlerSide(gAnimBankTarget)) { StartSpriteAffineAnim(sprite, 1); gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -37,8 +37,8 @@ void sub_80DC824(struct Sprite *sprite) sprite->pos1.y = sub_8077EE4(gAnimBankTarget, 3) + gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); @@ -52,7 +52,7 @@ void sub_80DC8F4(struct Sprite *sprite) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; StartSpriteAffineAnim(sprite, 2); } - else if (!GetBankSide(gAnimBankTarget)) + else if (!GetBattlerSide(gAnimBankTarget)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -62,8 +62,8 @@ void sub_80DC8F4(struct Sprite *sprite) sprite->pos1.y = sub_8077EE4(gAnimBankTarget, 3) + gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); @@ -83,8 +83,8 @@ void sub_80DC9A0(struct Sprite *sprite) if (!gBattleAnimArgs[4]) { - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); } else { @@ -112,13 +112,13 @@ static void sub_80DCA38(struct Sprite *sprite) void sub_80DCA70(struct Sprite *sprite) { SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; - if (!GetBankSide(gAnimBankTarget)) + if (!GetBattlerSide(gAnimBankTarget)) sprite->pos1.y += 8; sprite->callback = sub_80DCAEC; @@ -193,7 +193,7 @@ void AnimTranslateStinger(struct Sprite *sprite) } else { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -203,9 +203,9 @@ void AnimTranslateStinger(struct Sprite *sprite) if (!IsContest()) { - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { - if (GetBankIdentity(gAnimBankTarget) == 0 || GetBankIdentity(gAnimBankTarget) == 1) + if (GetBattlerPosition(gAnimBankTarget) == 0 || GetBattlerPosition(gAnimBankTarget) == 1) { s16 temp1, temp2; @@ -220,8 +220,8 @@ void AnimTranslateStinger(struct Sprite *sprite) InitAnimSpritePos(sprite, 1); - lVarX = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - lVarY = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + lVarX = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + lVarY = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y); rot += 0xC000; sub_8078FDC(sprite, FALSE, 0x100, 0x100, rot); @@ -247,12 +247,12 @@ void AnimMissileArc(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); @@ -301,13 +301,13 @@ void sub_80DCE40(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + 18; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + 18; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + 18; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + 18; } StoreSpriteCallbackInData(sprite, move_anim_8074EE0); diff --git a/src/battle/anim/bullet.c b/src/battle/anim/bullet.c index 1dca0b886..035adf394 100644 --- a/src/battle/anim/bullet.c +++ b/src/battle/anim/bullet.c @@ -19,8 +19,8 @@ void sub_80CFFD8(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); sprite->data[0] = 20; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; sprite->affineAnimPaused = 1; StoreSpriteCallbackInData(sprite, sub_80D0030); diff --git a/src/battle/anim/copy_orb.c b/src/battle/anim/copy_orb.c index 4fa8ea163..ac60d2c2b 100644 --- a/src/battle/anim/copy_orb.c +++ b/src/battle/anim/copy_orb.c @@ -16,14 +16,14 @@ void sub_80CB4CC(struct Sprite* sprite) { case 0: { - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) { s16 a = gBattleAnimArgs[0]; gBattleAnimArgs[0] = -a; } - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[1]; sprite->invisible = 1; sprite->data[0]++; break; @@ -35,8 +35,8 @@ void sub_80CB4CC(struct Sprite* sprite) { ChangeSpriteAffineAnim(sprite, 1); sprite->data[0] = 25; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = sub_8078CC0; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); break; diff --git a/src/battle/anim/cube.c b/src/battle/anim/cube.c index 9adf46e32..6fef2de69 100644 --- a/src/battle/anim/cube.c +++ b/src/battle/anim/cube.c @@ -16,8 +16,8 @@ static void sub_80CE000(struct Sprite* sprite); void sub_80CDFB0(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) - 12; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) - 12; sprite->data[0] = 0; sprite->data[1] = 2; sprite->data[2] = 0; diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c index fed3598fc..bc7478053 100644 --- a/src/battle/anim/cutter.c +++ b/src/battle/anim/cutter.c @@ -24,7 +24,7 @@ static void AnimMoveTwisterParticleStep(struct Sprite* sprite); void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } @@ -32,8 +32,8 @@ void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[4]; if (!gBattleAnimArgs[6]) { - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; } else { @@ -44,7 +44,7 @@ void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { sprite->data[0] = 1; } diff --git a/src/battle/anim/cyclone.c b/src/battle/anim/cyclone.c index b1210bc54..9bfa95e92 100644 --- a/src/battle/anim/cyclone.c +++ b/src/battle/anim/cyclone.c @@ -14,7 +14,7 @@ extern u8 gAnimBankTarget; void sub_80D0118(struct Sprite* sprite) { InitAnimSpritePos(sprite, 0); - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) sprite->pos1.y += 16; sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 055cf5802..9a1d0842b 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -21,7 +21,7 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gAnimMoveTurn; extern const u8 gUnknown_08D1D574[]; @@ -49,7 +49,7 @@ void sub_80DFC24(u8 taskId) bank = gAnimBankAttacker; gTasks[taskId].data[1] = 16; REG_BLDALPHA = 16; - if (GetBankIdentity_permutated(bank) == 1) + if (GetBattlerPosition_permutated(bank) == 1) REG_BLDCNT = 0x3F42; else REG_BLDCNT = 0x3F44; @@ -112,7 +112,7 @@ void sub_80DFD58(u8 taskId) void sub_80DFDC0(u8 taskId) { REG_BLDALPHA = 0x1000; - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) REG_BLDCNT = 0x3F42; else REG_BLDCNT = 0x3F44; @@ -123,10 +123,10 @@ void sub_80DFDC0(u8 taskId) void sub_80DFE14(struct Sprite *sprite) { - sprite->data[1] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[3] = GetBankPosition(gAnimBankTarget, 3); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[1] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[3] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = 0x7E; InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = -sprite->data[1]; @@ -257,22 +257,22 @@ void sub_80E00EC(u8 taskId) int var0; struct Task *task = &gTasks[taskId]; - task->data[7] = GetBankPosition(gAnimBankAttacker, 1) + 31; + task->data[7] = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + 31; task->data[6] = sub_807A100(gAnimBankAttacker, 2) - 7; task->data[5] = task->data[7]; task->data[4] = task->data[6]; task->data[13] = (task->data[7] - task->data[6]) << 8; - pos = GetBankPosition(gAnimBankAttacker, 0); + pos = GetBattlerSpriteCoord(gAnimBankAttacker, 0); task->data[14] = pos - 32; task->data[15] = pos + 32; - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) task->data[8] = -12; else task->data[8] = -64; - task->data[3] = GetBankIdentity_permutated(gAnimBankAttacker); + task->data[3] = GetBattlerPosition_permutated(gAnimBankAttacker); if (task->data[3] == 1) { sub_8078914(&subStruct); @@ -403,7 +403,7 @@ void sub_80E03BC(u8 taskId) } else { - task->data[3] = GetBankIdentity_permutated(gAnimBankTarget); + task->data[3] = GetBattlerPosition_permutated(gAnimBankTarget); if (task->data[3] == 1) { REG_BLDCNT = 0x3F42; @@ -435,14 +435,14 @@ void sub_80E03BC(u8 taskId) task->data[0]++; break; case 2: - task->data[7] = GetBankPosition(gAnimBankTarget, 1) + 31; + task->data[7] = GetBattlerSpriteCoord(gAnimBankTarget, 1) + 31; task->data[6] = sub_807A100(gAnimBankTarget, 2) - 7; task->data[13] = (task->data[7] - task->data[6]) << 8; - pos = GetBankPosition(gAnimBankTarget, 0); + pos = GetBattlerSpriteCoord(gAnimBankTarget, 0); task->data[14] = pos - 4; task->data[15] = pos + 4; - if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_PLAYER) task->data[8] = -12; else task->data[8] = -64; @@ -783,7 +783,7 @@ static void sub_80E08CC(u8 priority) for (i = 0; i < 4; i++) { - u8 spriteId = GetAnimBankSpriteId(i); + u8 spriteId = GetAnimBattlerSpriteId(i); if (spriteId != 0xFF) gSprites[spriteId].oam.priority = priority; } @@ -791,7 +791,7 @@ static void sub_80E08CC(u8 priority) void sub_80E0918(u8 taskId) { - u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; + u8 toBG2 = GetBattlerPosition_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; MoveBattlerSpriteToBG(gAnimBankAttacker, toBG2); gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible = 0; @@ -806,7 +806,7 @@ void sub_80E0918(u8 taskId) void sub_80E09C4(u8 taskId) { - u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; + u8 toBG2 = GetBattlerPosition_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; sub_8076464(toBG2); if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) @@ -847,7 +847,7 @@ void sub_80E0A4C(u8 taskId) if (IsDoubleBattle() && !IsContest()) { - if (GetBankIdentity(gAnimBankAttacker) == 3 || GetBankIdentity(gAnimBankAttacker) == 0) + if (GetBattlerPosition(gAnimBankAttacker) == 3 || GetBattlerPosition(gAnimBankAttacker) == 0) { if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2) == TRUE) { @@ -864,13 +864,13 @@ void sub_80E0A4C(u8 taskId) } else { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES); + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES); } - spriteId = GetAnimBankSpriteId(0); + spriteId = GetAnimBattlerSpriteId(0); newSpriteId = sub_807A4A0(gAnimBankAttacker, spriteId, species); sub_8078914(&subStruct); @@ -926,7 +926,7 @@ static void sub_80E0CD0(u8 taskId) REG_BLDCNT = 0; REG_BLDALPHA = 0; - spriteId = GetAnimBankSpriteId(0); + spriteId = GetAnimBattlerSpriteId(0); paletteNum = 16 + gSprites[spriteId].oam.paletteNum; if (gTasks[taskIdCopy].data[1] == 0) sub_8079108(paletteNum, 1); @@ -958,22 +958,22 @@ void sub_80E0E24(u8 taskId) case 1: case 2: case 3: - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); break; case 4: - identity = IDENTITY_PLAYER_MON1; + identity = B_POSITION_PLAYER_LEFT; calcSpriteId = TRUE; break; case 5: - identity = IDENTITY_PLAYER_MON2; + identity = B_POSITION_PLAYER_RIGHT; calcSpriteId = TRUE; break; case 6: - identity = IDENTITY_OPPONENT_MON1; + identity = B_POSITION_OPPONENT_LEFT; calcSpriteId = TRUE; break; case 7: - identity = IDENTITY_OPPONENT_MON2; + identity = B_POSITION_OPPONENT_RIGHT; calcSpriteId = TRUE; break; default: @@ -983,7 +983,7 @@ void sub_80E0E24(u8 taskId) if (calcSpriteId) { - bank = GetBankByIdentity(identity); + bank = GetBattlerAtPosition(identity); if (IsAnimBankSpriteVisible(bank)) spriteId = gBankSpriteIds[bank]; else diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c index dc2c0bc50..4c8448636 100644 --- a/src/battle/anim/dragon.c +++ b/src/battle/anim/dragon.c @@ -25,9 +25,9 @@ extern u8 gBankSpriteIds[]; void sub_80DF5A0(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (GetBankSide(gAnimBankAttacker)) + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; @@ -50,9 +50,9 @@ void sub_80DF5A0(struct Sprite *sprite) void sub_80DF63C(struct Sprite *sprite) { sub_8078650(sprite); - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - if (GetBankSide(gAnimBankAttacker)) + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[1]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -78,13 +78,13 @@ void sub_80DF6F0(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); } sub_807867C(sprite, gBattleAnimArgs[1]); sprite->pos1.y += gBattleAnimArgs[2]; @@ -96,7 +96,7 @@ void sub_80DF6F0(struct Sprite *sprite) void sub_80DF760(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) StartSpriteAffineAnim(sprite, 1); sub_80DF63C(sprite); } @@ -107,8 +107,8 @@ void sub_80DF78C(struct Sprite *sprite) { u16 r5; u16 r0; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[4] = 0; sprite->data[5] = 1; sprite->data[6] = gBattleAnimArgs[0]; @@ -169,7 +169,7 @@ void sub_80DF924(u8 taskId) struct Task *task = &gTasks[taskId]; u16 i; u8 r1; - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) { sp.dmaDest = ®_BG1HOFS; task->data[2] = gBattle_BG1_X; @@ -252,8 +252,8 @@ void sub_80DFB28(struct Sprite *sprite) { int r6 = (gBattleAnimArgs[2] * 3) / 5; int i; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[4]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[4]; sprite->data[1] = Cos(gBattleAnimArgs[1], gBattleAnimArgs[2]); sprite->data[2] = Sin(gBattleAnimArgs[1], r6); sprite->pos1.x += sprite->data[1] * gBattleAnimArgs[0]; diff --git a/src/battle/anim/draw.c b/src/battle/anim/draw.c index be3a280af..9eea43220 100644 --- a/src/battle/anim/draw.c +++ b/src/battle/anim/draw.c @@ -32,7 +32,7 @@ void sub_80D0C88(u8 taskId) task->data[5] = 0; task->data[15] = sub_807A100(gAnimBankTarget, 0); - if (GetBankIdentity_permutated(gAnimBankTarget) == 1) + if (GetBattlerPosition_permutated(gAnimBankTarget) == 1) { task->data[6] = gBattle_BG1_X; params.dmaDest = (u16 *)REG_ADDR_BG1HOFS; @@ -108,7 +108,7 @@ void sub_80D0D68(u8 taskId) void sub_80D0E30(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) - 16; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) - 16; sprite->pos1.y = sub_8077FC0(gAnimBankTarget) + 16; sprite->data[0] = 0; sprite->data[1] = 0; diff --git a/src/battle/anim/drum.c b/src/battle/anim/drum.c index 7937d040a..8dea7e608 100644 --- a/src/battle/anim/drum.c +++ b/src/battle/anim/drum.c @@ -24,8 +24,8 @@ void sub_80CEDF0(struct Sprite* sprite) a = -16; } - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + a; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + 8; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + a; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + 8; sprite->data[0] = 8; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); diff --git a/src/battle/anim/egg.c b/src/battle/anim/egg.c index b3de1dbb1..44ff484f2 100644 --- a/src/battle/anim/egg.c +++ b/src/battle/anim/egg.c @@ -23,7 +23,7 @@ void sub_80D1368(struct Sprite* sprite) { s16 r1; InitAnimSpritePos(sprite, 0); - r1 = (GetBankSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; + r1 = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; sprite->data[0] = 0x380; sprite->data[1] = r1; sprite->data[7] = gBattleAnimArgs[2]; @@ -36,7 +36,7 @@ void sub_80D13AC(struct Sprite* sprite) sprite->pos2.y -= (sprite->data[0] >> 8); sprite->pos2.x = sprite->data[1] >> 8; sprite->data[0] -= 32; - add = (GetBankSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; + add = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; sprite->data[1] += add; if (sprite->pos2.y > 0) { diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c index 8111f70a3..7980c7b34 100644 --- a/src/battle/anim/energy_wave.c +++ b/src/battle/anim/energy_wave.c @@ -24,9 +24,9 @@ void sub_80D3554(struct Sprite *sprite) sprite->data[0] = 30; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); @@ -86,15 +86,15 @@ void sub_80D3698(struct Sprite *sprite) { u8 subpriority; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); sprite->pos2.y = -10; subpriority = sub_8079E90(gAnimBankAttacker); if (!IsContest()) { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos2.x = 10; sprite->subpriority = subpriority + 2; @@ -126,11 +126,11 @@ void sub_80D3728(struct Sprite *sprite) { int var1, var2; - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { gBattleAnimArgs[0] *= -1; - if (GetBankIdentity(gAnimBankAttacker) == 0 || GetBankIdentity(gAnimBankAttacker) == 1) + if (GetBattlerPosition(gAnimBankAttacker) == 0 || GetBattlerPosition(gAnimBankAttacker) == 1) { gBattleAnimArgs[0] *= -1; } @@ -149,14 +149,14 @@ void sub_80D3728(struct Sprite *sprite) InitAnimSpritePos(sprite, var1); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, var2) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, var2) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/battle/anim/espeed.c b/src/battle/anim/espeed.c index 469522092..2e80afff7 100644 --- a/src/battle/anim/espeed.c +++ b/src/battle/anim/espeed.c @@ -25,7 +25,7 @@ static void sub_80D1930(u8 taskId); void sub_80D15A4(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; sub_80798F4(task, spriteId, &gUnknown_083D79BC); task->func = sub_80D15E0; @@ -51,7 +51,7 @@ void sub_80D1638(u8 taskId) task->data[2] = 0; task->data[3] = 0; task->data[12] = 3; - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) { task->data[13] = 0xFFFF; task->data[14] = 8; @@ -62,7 +62,7 @@ void sub_80D1638(u8 taskId) task->data[14] = -8; } - task->data[15] = GetAnimBankSpriteId(1); + task->data[15] = GetAnimBattlerSpriteId(1); task->func = sub_80D16A0; } @@ -123,7 +123,7 @@ void sub_80D17C4(u8 taskId) task->data[4] = 1; task->data[13] = 14; task->data[14] = 2; - task->data[15] = GetAnimBankSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(0); task->func = sub_80D1808; } @@ -169,8 +169,8 @@ void sub_80D18D4(u8 taskId) task->data[7] = 0; task->data[8] = 0; task->data[13] = 0; - task->data[14] = GetBankPosition(gAnimBankAttacker, 0); - task->data[15] = GetBankPosition(gAnimBankAttacker, 1); + task->data[14] = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + task->data[15] = GetBattlerSpriteCoord(gAnimBankAttacker, 1); task->func = sub_80D1930; } diff --git a/src/battle/anim/evasion.c b/src/battle/anim/evasion.c index ded8428d4..e7387a52a 100644 --- a/src/battle/anim/evasion.c +++ b/src/battle/anim/evasion.c @@ -23,7 +23,7 @@ void sub_80CE7E0(u8 taskId) u16 r3; u16 r4; struct Task* task = &gTasks[taskId]; - task->data[0] = GetAnimBankSpriteId(0); + task->data[0] = GetAnimBattlerSpriteId(0); task->data[1] = AllocSpritePalette(0x2771); r3 = (task->data[1] * 16) + 0x100; r4 = (gSprites[task->data[0]].oam.paletteNum + 16) << 4; @@ -47,7 +47,7 @@ void sub_80CE7E0(u8 taskId) } task->func = sub_80CE910; - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) { REG_DISPCNT &= 0xFDFF; } @@ -62,7 +62,7 @@ void sub_80CE910(u8 taskId) struct Task* task = &gTasks[taskId]; if (!task->data[3]) { - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) REG_DISPCNT |= 0x200; else REG_DISPCNT |= 0x400; diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 0f46187f2..5e25d664a 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -21,7 +21,7 @@ extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gAnimMoveTurn; extern struct SpriteTemplate gBasicHitSplatSpriteTemplate; @@ -50,7 +50,7 @@ void sub_080B08A0(struct Sprite *sprite) void sub_80D902C(struct Sprite *sprite) { - if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (gBattleAnimArgs[7] == 1 && GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; @@ -108,8 +108,8 @@ void sub_80D90F4(struct Sprite *sprite) gBattleAnimArgs[2] = Random() % 5; StartSpriteAnim(sprite, gBattleAnimArgs[2]); - sprite->pos1.x = GetBankPosition(bank, 2); - sprite->pos1.y = GetBankPosition(bank, 3); + sprite->pos1.x = GetBattlerSpriteCoord(bank, 2); + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3); xMod = sub_807A100(bank, 1) / 2; yMod = sub_807A100(bank, 0) / 4; @@ -196,12 +196,12 @@ static void sub_80D9328(struct Sprite *sprite) void sub_80D9378(struct Sprite *sprite) { - if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBankIdentity(gAnimBankTarget) < 2) + if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBattlerPosition(gAnimBankTarget) < 2) gBattleAnimArgs[0] *= -1; sub_8078764(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[3]; @@ -275,8 +275,8 @@ static void AnimStompFootStep(struct Sprite *sprite) if (--sprite->data[0] == -1) { sprite->data[0] = 6; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, AnimStompFootEnd); @@ -319,13 +319,13 @@ void sub_80D95D0(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); } sprite->pos1.x += gBattleAnimArgs[1]; @@ -372,13 +372,13 @@ void sub_80D96B8(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[3]; } sprite->oam.tileNum += gBattleAnimArgs[1] * 16; @@ -423,8 +423,8 @@ void sub_80D97CC(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBankAttacker, 3); sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); sprite->data[7] = gAnimBankTarget; } @@ -448,9 +448,9 @@ static void sub_80D986C(struct Sprite *sprite) sprite->data[0] = 16; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(sprite->data[7], 2); + sprite->data[2] = GetBattlerSpriteCoord(sprite->data[7], 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(sprite->data[7], 3); + sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3); InitAnimSpriteTranslationDeltas(sprite); StoreSpriteCallbackInData(sprite, move_anim_8074EE0); @@ -491,10 +491,10 @@ static void sub_80D9934(struct Sprite *sprite) } else { - s16 pos0 = GetBankPosition(gAnimBankAttacker, 2); - s16 pos1 = GetBankPosition(gAnimBankAttacker, 3); - s16 pos2 = GetBankPosition(gAnimBankTarget, 2); - s16 pos3 = GetBankPosition(gAnimBankTarget, 3); + s16 pos0 = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + s16 pos1 = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + s16 pos2 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + s16 pos3 = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->data[0] = pos2 - pos0; sprite->data[1] = pos3 - pos1; @@ -525,8 +525,8 @@ void sub_80D9A38(struct Sprite *sprite) if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBankAttacker, 3); bank = gAnimBankTarget; sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); } @@ -538,14 +538,14 @@ void sub_80D9A38(struct Sprite *sprite) if (IsContest()) sprite->oam.matrixNum |= 0x8; - else if (GetBankSide(bank) == SIDE_PLAYER) + else if (GetBattlerSide(bank) == B_SIDE_PLAYER) sprite->oam.matrixNum |= 0x18; sprite->data[0] = 16; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(bank, 2); + sprite->data[2] = GetBattlerSpriteCoord(bank, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(bank, 3); + sprite->data[4] = GetBattlerSpriteCoord(bank, 3); InitAnimSpriteTranslationDeltas(sprite); StoreSpriteCallbackInData(sprite, DestroyAnimSprite); @@ -564,15 +564,15 @@ void sub_80D9B48(struct Sprite *sprite) { u8 turn; - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = gBattleAnimArgs[0]; sprite->data[3] = gBattleAnimArgs[1]; sprite->data[4] = gBattleAnimArgs[2]; turn = gAnimMoveTurn; - if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_PLAYER) turn++; if (turn & 1) @@ -598,7 +598,7 @@ void sub_80D9BD4(struct Sprite *sprite) { StartSpriteAnim(sprite, 2); } - else if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + else if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { StartSpriteAnim(sprite, 1); } @@ -644,7 +644,7 @@ void sub_80D9C80(u8 taskId) task->data[10] += 2816; - if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_PLAYER) gBattle_BG3_X += task->data[9] >> 8; else gBattle_BG3_X -= task->data[9] >> 8; diff --git a/src/battle/anim/fire.c b/src/battle/anim/fire.c index 253236805..0939c938c 100644 --- a/src/battle/anim/fire.c +++ b/src/battle/anim/fire.c @@ -40,7 +40,7 @@ void sub_80D4F5C(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -62,7 +62,7 @@ void sub_80D4F5C(struct Sprite *sprite) void sub_80D4FCC(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -98,7 +98,7 @@ void sub_80D5074(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index f9c9b6d3b..97ac2e933 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -33,9 +33,9 @@ void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3); // arg 6: ? (todo: something related to which mon the pixel offsets are based on) void AnimEmberFlare(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget) - && (gAnimBankAttacker == GetBankByIdentity(IDENTITY_PLAYER_MON2) - || gAnimBankAttacker == GetBankByIdentity(IDENTITY_OPPONENT_MON2))) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget) + && (gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) + || gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->callback = sub_8079534; @@ -76,9 +76,9 @@ static void AnimFireRingStep1(struct Sprite *sprite) { sprite->data[0] = 0x19; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); @@ -92,8 +92,8 @@ static void AnimFireRingStep2(struct Sprite *sprite) { sprite->data[0] = 0; - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->pos2.y = 0; sprite->pos2.x = 0; @@ -184,14 +184,14 @@ void sub_80D5470(u8 taskId) // initialize animation task for Move_ERUPTION? { struct Task *task = &gTasks[taskId]; - task->data[15] = GetAnimBankSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(0); task->data[0] = 0; task->data[1] = 0; task->data[2] = 0; task->data[3] = 0; task->data[4] = gSprites[task->data[15]].pos1.y; - task->data[5] = GetBankSide(gAnimBankAttacker); + task->data[5] = GetBattlerSide(gAnimBankAttacker); task->data[6] = 0; sub_8078E70(task->data[15], 0); @@ -317,7 +317,7 @@ void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3) u16 y = sub_80D5940(spriteId); u16 x = gSprites[spriteId].pos1.x; - if(!GetBankSide(gAnimBankAttacker)) + if(!GetBattlerSide(gAnimBankAttacker)) { x -= 0xC; sign = 1; diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c index 70c418afc..5e9de8cb1 100644 --- a/src/battle/anim/flying_path.c +++ b/src/battle/anim/flying_path.c @@ -23,11 +23,11 @@ void sub_80CBDF4(u8 taskId) struct Task *task = &gTasks[taskId]; task->data[4] = sub_8079E90(gAnimBankTarget) - 1; - task->data[6] = GetBankPosition(gAnimBankTarget, 2); - task->data[7] = GetBankPosition(gAnimBankTarget, 3); + task->data[6] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + task->data[7] = GetBattlerSpriteCoord(gAnimBankTarget, 3); task->data[10] = sub_807A100(gAnimBankTarget, 1); task->data[11] = sub_807A100(gAnimBankTarget, 0); - task->data[5] = (GetBankSide(gAnimBankTarget) == 1) ? 1 : -1; + task->data[5] = (GetBattlerSide(gAnimBankTarget) == 1) ? 1 : -1; task->data[9] = 0x38 - (task->data[5] * 64); task->data[8] = task->data[7] - task->data[9] + task->data[6]; task->data[2] = CreateSprite(&gSpriteTemplate_83D6884, task->data[8], task->data[9], task->data[4]); diff --git a/src/battle/anim/flying_petals.c b/src/battle/anim/flying_petals.c index 4eeaa5215..c7a596b56 100644 --- a/src/battle/anim/flying_petals.c +++ b/src/battle/anim/flying_petals.c @@ -21,7 +21,7 @@ void sub_80CC474(struct Sprite* sprite) else bank = gAnimBankTarget; - if (GetBankSide(bank) != 0) + if (GetBattlerSide(bank) != 0) { sprite->data[4] = 0; sprite->data[2] = gBattleAnimArgs[3]; @@ -48,12 +48,12 @@ void sub_80CC474(struct Sprite* sprite) sprite->oam.priority = sub_8079ED4(bank) + 1; break; case 2: - sprite->pos1.y = GetBankPosition(bank, 3) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[0]; sprite->oam.priority = sub_8079ED4(bank); break; case 3: - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[0]; - GetAnimBankSpriteId(1); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[0]; + GetAnimBattlerSpriteId(1); sprite->oam.priority = sub_8079ED4(bank) + 1; break; } diff --git a/src/battle/anim/glitter.c b/src/battle/anim/glitter.c index e6c101de3..d73b46bbd 100644 --- a/src/battle/anim/glitter.c +++ b/src/battle/anim/glitter.c @@ -43,13 +43,13 @@ void sub_80CD190(struct Sprite* sprite) { if (!gBattleAnimArgs[6]) { - sprite->pos1.x = GetBankPosition(bank, 0); - sprite->pos1.y = GetBankPosition(bank, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(bank, 0); + sprite->pos1.y = GetBattlerSpriteCoord(bank, 1) + gBattleAnimArgs[1]; } else { - sprite->pos1.x = GetBankPosition(bank, 2); - sprite->pos1.y = GetBankPosition(bank, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(bank, 2); + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[1]; } sub_807867C(sprite, gBattleAnimArgs[0]); diff --git a/src/battle/anim/grip.c b/src/battle/anim/grip.c index dbf7a1562..a56a02d82 100644 --- a/src/battle/anim/grip.c +++ b/src/battle/anim/grip.c @@ -31,8 +31,8 @@ void sub_80D0178(struct Sprite* sprite) sprite->pos1.x += r7; sprite->pos1.y += r4; sprite->data[0] = 6; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r8; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + r8; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + r6; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80D020C); } diff --git a/src/battle/anim/grow.c b/src/battle/anim/grow.c index 8788b32fe..924629048 100644 --- a/src/battle/anim/grow.c +++ b/src/battle/anim/grow.c @@ -18,7 +18,7 @@ static void sub_80D0904(u8 taskId); void sub_80D08C8(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); sub_80798F4(task, spriteId, &gUnknown_083D7714); task->func = sub_80D0904; } diff --git a/src/battle/anim/guard.c b/src/battle/anim/guard.c index 211e0e841..d54fa4abc 100644 --- a/src/battle/anim/guard.c +++ b/src/battle/anim/guard.c @@ -22,8 +22,8 @@ void sub_80D3014(struct Sprite *sprite) } else { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + 40; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + 40; } sprite->data[0] = 13; diff --git a/src/battle/anim/guillotine.c b/src/battle/anim/guillotine.c index 15279d5e2..0768e8334 100644 --- a/src/battle/anim/guillotine.c +++ b/src/battle/anim/guillotine.c @@ -34,9 +34,9 @@ void sub_80D0228(struct Sprite* sprite) sprite->pos1.y += r4; sprite->data[0] = 6; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r9; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + r9; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + r6; InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[0]; sprite->data[6] = sprite->data[0]; diff --git a/src/battle/anim/heated_rock.c b/src/battle/anim/heated_rock.c index 055960f40..6f1a1344a 100644 --- a/src/battle/anim/heated_rock.c +++ b/src/battle/anim/heated_rock.c @@ -28,7 +28,7 @@ u16 sub_80D5940(u8 spriteId) { u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY; - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { var1 = ((var1 << 16) + 0x4A0000) >> 16; } diff --git a/src/battle/anim/homing.c b/src/battle/anim/homing.c index 208d3b831..b24fcf4b1 100644 --- a/src/battle/anim/homing.c +++ b/src/battle/anim/homing.c @@ -29,13 +29,13 @@ void sub_80CC6CC(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - a = GetBankPosition(gAnimBankAttacker, 2); - b = GetBankPosition(gAnimBankAttacker, 3); + a = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + b = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } else { - a = GetBankPosition(gAnimBankTarget, 2); - b = GetBankPosition(gAnimBankTarget, 3); + a = GetBattlerSpriteCoord(gAnimBankTarget, 2); + b = GetBattlerSpriteCoord(gAnimBankTarget, 3); } sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c index 0697e83a0..7d1b2fd01 100644 --- a/src/battle/anim/hop.c +++ b/src/battle/anim/hop.c @@ -92,8 +92,8 @@ void sub_80CB94C(struct Sprite* sprite) s16 e1; s16 e2; InitAnimSpritePos(sprite, 0); - e1 = GetBankPosition(gAnimBankTarget, 0); - e2 = GetBankPosition(gAnimBankTarget, 1); + e1 = GetBattlerSpriteCoord(gAnimBankTarget, 0); + e2 = GetBattlerSpriteCoord(gAnimBankTarget, 1); if ((gAnimBankAttacker ^ 2) == gAnimBankTarget) { sprite->data[6] = e1; @@ -135,8 +135,8 @@ void sub_80CB9C4(struct Sprite* sprite) void sub_80CBA28(struct Sprite* sprite) { - s16 e = GetBankPosition(gAnimBankTarget, 1); - if (GetBankSide(gAnimBankTarget) == 0) + s16 e = GetBattlerSpriteCoord(gAnimBankTarget, 1); + if (GetBattlerSide(gAnimBankTarget) == 0) { sprite->data[6] = 0; sprite->data[7] = e + 10; diff --git a/src/battle/anim/hop_2.c b/src/battle/anim/hop_2.c index 1bc3f46af..861f428da 100644 --- a/src/battle/anim/hop_2.c +++ b/src/battle/anim/hop_2.c @@ -22,8 +22,8 @@ void sub_80CBAE8(struct Sprite* sprite) s16 p1; s16 p2; sub_8078764(sprite, 0); - p1 = GetBankPosition(gAnimBankAttacker, 0); - p2 = GetBankPosition(gAnimBankAttacker, 1); + p1 = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + p2 = GetBattlerSpriteCoord(gAnimBankAttacker, 1); if ((gAnimBankTarget ^ 2) == gAnimBankAttacker) { sprite->data[6] = p1; diff --git a/src/battle/anim/leaf.c b/src/battle/anim/leaf.c index 676734717..ca2af257d 100644 --- a/src/battle/anim/leaf.c +++ b/src/battle/anim/leaf.c @@ -15,8 +15,8 @@ static void sub_80CAF6C(struct Sprite* sprite); void sub_80CAED8(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; @@ -51,7 +51,7 @@ void sub_80CAF20(struct Sprite* sprite) void sub_80CAF6C(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos2.x = -Sin(sprite->data[0], 0x19); } diff --git a/src/battle/anim/lunge_1.c b/src/battle/anim/lunge_1.c index a3b5f19c5..949fb89f4 100644 --- a/src/battle/anim/lunge_1.c +++ b/src/battle/anim/lunge_1.c @@ -44,7 +44,7 @@ void sub_80CD774(struct Sprite* sprite) void sub_80CD7CC(struct Sprite* sprite) { sprite->data[0] = 6; - sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? 2 : -2; + sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? 2 : -2; sprite->data[2] = 0; sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD81C); @@ -57,7 +57,7 @@ void sub_80CD81C(struct Sprite* sprite) { sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; sub_8078E70(sprite->data[3], 0); - sprite->data[4] = (sprite->data[6] = GetBankSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00; + sprite->data[4] = (sprite->data[6] = GetBattlerSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00; sprite->data[5] = 0; } @@ -74,7 +74,7 @@ void sub_80CD81C(struct Sprite* sprite) void sub_80CD8A8(struct Sprite* sprite) { sprite->data[0] = 4; - sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? -3 : 3; + sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? -3 : 3; sprite->data[2] = 0; sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD9B8); @@ -95,8 +95,8 @@ void sub_80CD91C(struct Sprite* sprite) if (sprite->data[0] == 0) { sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; - sprite->data[6] = GetBankSide(gAnimBankAttacker); - if (GetBankSide(gAnimBankAttacker)) + sprite->data[6] = GetBattlerSide(gAnimBankAttacker); + if (GetBattlerSide(gAnimBankAttacker)) { sprite->data[4] = 0xFC00; sprite->data[5] = 0xC00; diff --git a/src/battle/anim/lunge_2.c b/src/battle/anim/lunge_2.c index f222b291d..c0100922c 100644 --- a/src/battle/anim/lunge_2.c +++ b/src/battle/anim/lunge_2.c @@ -21,7 +21,7 @@ void sub_80CDAC8(u8 taskId) u8 a; gTasks[taskId].data[0] = gBankSpriteIds[gAnimBankAttacker]; - a = GetBankSide(gAnimBankAttacker); + a = GetBattlerSide(gAnimBankAttacker); gTasks[taskId].data[1] = a; gTasks[taskId].data[2] = 0; switch (gBattleAnimArgs[0]) diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c index c3d130750..1407e8cd7 100644 --- a/src/battle/anim/money.c +++ b/src/battle/anim/money.c @@ -20,9 +20,9 @@ void sub_80CFE9C(struct Sprite* sprite) u16 var; InitAnimSpritePos(sprite, 1); - r6 = GetBankPosition(gAnimBankTarget, 2); - r7 = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - if (GetBankSide(gAnimBankAttacker) != 0) + r6 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + r7 = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + if (GetBattlerSide(gAnimBankAttacker) != 0) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; r6 += gBattleAnimArgs[2]; @@ -47,7 +47,7 @@ void sub_80CFF68(struct Sprite* sprite) { sprite->data[0] += 0x80; sprite->pos2.x = sprite->data[0] >> 8; - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) sprite->pos2.x = -sprite->pos2.x; sprite->pos2.y = Sin(sprite->data[1], sprite->data[2]); diff --git a/src/battle/anim/noise.c b/src/battle/anim/noise.c index 369650d82..0b6498318 100644 --- a/src/battle/anim/noise.c +++ b/src/battle/anim/noise.c @@ -16,13 +16,13 @@ void sub_80D2D68(struct Sprite* sprite) int var1; u8 slot = gBattleAnimArgs[0] == 0 ? gAnimBankAttacker : gAnimBankTarget; - if (GetBankSide(slot) == 1) + if (GetBattlerSide(slot) == 1) { gBattleAnimArgs[1] *= -1; } - sprite->pos1.x = GetBankPosition(slot, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(slot, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(slot, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(slot, 3) + gBattleAnimArgs[2]; sprite->data[0] = 0; sprite->data[1] = (u16)sprite->pos1.x << 3; sprite->data[2] = (u16)sprite->pos1.y << 3; diff --git a/src/battle/anim/note_rain.c b/src/battle/anim/note_rain.c index 44817b0a0..4e12c7e1a 100644 --- a/src/battle/anim/note_rain.c +++ b/src/battle/anim/note_rain.c @@ -25,12 +25,12 @@ void sub_80D1BA8(struct Sprite* sprite, u8 a, u8 b) void sub_80D1C08(struct Sprite* sprite) { InitAnimSpritePos(sprite, 0); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); sub_80D1BA8(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); diff --git a/src/battle/anim/note_scatter.c b/src/battle/anim/note_scatter.c index 8564c58fe..53afa7d78 100644 --- a/src/battle/anim/note_scatter.c +++ b/src/battle/anim/note_scatter.c @@ -16,14 +16,14 @@ static void sub_80CED78(struct Sprite* sprite); void sub_80CECE8(struct Sprite* sprite) { int a; - if (GetBankSide(gAnimBankAttacker) == 1) + if (GetBattlerSide(gAnimBankAttacker) == 1) { a = gBattleAnimArgs[1]; (u16)gBattleAnimArgs[1] = -a; } - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; StartSpriteAnim(sprite, gBattleAnimArgs[0]); sprite->data[2] = 0; sprite->data[3] = 0; diff --git a/src/battle/anim/note_wave.c b/src/battle/anim/note_wave.c index 80ed2256f..1f3db8c56 100644 --- a/src/battle/anim/note_wave.c +++ b/src/battle/anim/note_wave.c @@ -81,8 +81,8 @@ void sub_80CEB0C(struct Sprite* sprite) } else { - a = GetBankPosition(gAnimBankTarget, 2); - b = GetBankPosition(gAnimBankTarget, 3); + a = GetBattlerSpriteCoord(gAnimBankTarget, 2); + b = GetBattlerSpriteCoord(gAnimBankTarget, 3); } sprite->data[4] = sprite->pos1.x << 4; diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c index e7dd0df49..b4a641cc2 100644 --- a/src/battle/anim/orbit.c +++ b/src/battle/anim/orbit.c @@ -64,7 +64,7 @@ void sub_80CACEC(u8 taskId) } else { - if (GetBankIdentity_permutated(gAnimBankTarget) == 1) + if (GetBattlerPosition_permutated(gAnimBankTarget) == 1) { REG_BG2CNT_BITFIELD.priority = 3; } @@ -84,7 +84,7 @@ void sub_80CAD54(struct Sprite* sprite) sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CADA8; @@ -121,7 +121,7 @@ void sub_80CAE20(struct Sprite* sprite) sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CAE74; diff --git a/src/battle/anim/orbit_fast.c b/src/battle/anim/orbit_fast.c index 71303b03c..67a59583f 100644 --- a/src/battle/anim/orbit_fast.c +++ b/src/battle/anim/orbit_fast.c @@ -16,8 +16,8 @@ static void AnimOrbitFastStep(struct Sprite* sprite); // arg 1: initial wave offset void AnimOrbitFast(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->affineAnimPaused = 1; sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; diff --git a/src/battle/anim/orbit_scatter.c b/src/battle/anim/orbit_scatter.c index cda09a729..bd03ee78c 100644 --- a/src/battle/anim/orbit_scatter.c +++ b/src/battle/anim/orbit_scatter.c @@ -15,8 +15,8 @@ static void AnimOrbitScatterStep(struct Sprite* sprite); // arg 0: initial wave offset void AnimOrbitScatter(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = Sin(gBattleAnimArgs[0], 10); sprite->data[1] = Cos(gBattleAnimArgs[0], 7); sprite->callback = AnimOrbitScatterStep; diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c index 6f1bba9c3..53c16d8d7 100644 --- a/src/battle/anim/orbs.c +++ b/src/battle/anim/orbs.c @@ -21,8 +21,8 @@ void sub_80CA7B0(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); } @@ -32,8 +32,8 @@ void sub_80CA800(struct Sprite* sprite) InitAnimSpritePos(sprite, 1); StartSpriteAnim(sprite, gBattleAnimArgs[3]); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -43,9 +43,9 @@ void sub_80CA858(struct Sprite* sprite) InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[3]; sprite->callback = sub_80CA8B4; @@ -96,8 +96,8 @@ void sub_80CA9A8(struct Sprite* sprite) { sub_8078764(sprite, 1); sprite->data[0] = gBattleAnimArgs[3]; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[5] = gBattleAnimArgs[2]; InitAnimSpriteTranslationOverDuration(sprite); sprite->callback = sub_80CA9F8; @@ -115,9 +115,9 @@ void sub_80CAA14(struct Sprite* sprite) u16 b; StartSpriteAnim(sprite, a & 7); - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (GetBankSide(gAnimBankAttacker)) + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= 20; } @@ -129,9 +129,9 @@ void sub_80CAA14(struct Sprite* sprite) b = Random(); sprite->data[0] = (b & 31) + 64; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sub_8078D60(sprite); sprite->data[5] = Random() & 0xFF; sprite->data[6] = sprite->subpriority; diff --git a/src/battle/anim/osmose.c b/src/battle/anim/osmose.c index 1140aa34a..cca7af76e 100644 --- a/src/battle/anim/osmose.c +++ b/src/battle/anim/osmose.c @@ -14,8 +14,8 @@ void sub_80CB768(struct Sprite* sprite) { if (!sprite->data[0]) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[3]; sprite->data[3] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c index 3a7477a57..2cc104c07 100644 --- a/src/battle/anim/poison.c +++ b/src/battle/anim/poison.c @@ -20,8 +20,8 @@ void sub_80D9D70(struct Sprite *sprite) InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->data[5] = -30; InitAnimSpriteTranslationOverDuration(sprite); @@ -44,7 +44,7 @@ void sub_80D9DF0(struct Sprite *sprite) InitAnimSpritePos(sprite, 1); SetAverageBattlerPositions(gAnimBankTarget, 1, &l1, &l2); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[4] = -gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[2]; @@ -94,7 +94,7 @@ void sub_80D9F14(struct Sprite *sprite) { SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; sprite->pos1.x += gBattleAnimArgs[0]; @@ -124,7 +124,7 @@ void AnimBubbleEffect(struct Sprite *sprite) { SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; sprite->pos1.x += gBattleAnimArgs[0]; diff --git a/src/battle/anim/powder.c b/src/battle/anim/powder.c index 5d67311dc..88339522e 100644 --- a/src/battle/anim/powder.c +++ b/src/battle/anim/powder.c @@ -23,7 +23,7 @@ void AnimMovePowderParticle(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->data[3] = -gBattleAnimArgs[4]; } diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 42f396870..4a48d1ecf 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -38,7 +38,7 @@ void sub_80DC5F4(u8 taskId); void sub_80DB74C(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER || IsContest()) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER || IsContest()) { sprite->oam.priority = 2; sprite->subpriority = 200; @@ -47,8 +47,8 @@ void sub_80DB74C(struct Sprite *sprite) if (!IsContest()) { u8 bankCopy; - u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - u8 identity = GetBankIdentity_permutated(bank); + u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + u8 identity = GetBattlerPosition_permutated(bank); int var0 = 1; u8 toBG_2 = (identity ^ var0) != 0; @@ -62,7 +62,7 @@ void sub_80DB74C(struct Sprite *sprite) if (!IsContest() && IsDoubleBattle()) { - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) { sprite->pos1.x = 72; sprite->pos1.y = 80; @@ -75,11 +75,11 @@ void sub_80DB74C(struct Sprite *sprite) } else { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; } if (IsContest()) @@ -131,7 +131,7 @@ static void sub_80DB92C(struct Sprite *sprite) if (!IsContest()) { u8 bankCopy; - u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); if (IsAnimBankSpriteVisible(bank)) gSprites[gBankSpriteIds[bank]].invisible = 0; @@ -151,8 +151,8 @@ static void sub_80DB9E4(struct Sprite *sprite) if (!IsContest()) { u8 bankCopy; - u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - u8 identity = GetBankIdentity_permutated(bank); + u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + u8 identity = GetBattlerPosition_permutated(bank); int var0 = 1; u8 toBG_2 = (identity ^ var0) != 0; @@ -178,7 +178,7 @@ void sub_80DBA4C(struct Sprite *sprite) if (!IsContest() && IsDoubleBattle()) { - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) { sprite->pos1.x = 72 - gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1] + 80; @@ -208,10 +208,10 @@ void sub_80DBA4C(struct Sprite *sprite) void sub_80DBAF4(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { StartSpriteAnim(sprite, 1); sprite->pos1.x -= 40; @@ -234,13 +234,13 @@ void sub_80DBB70(struct Sprite *sprite) s16 x = sub_807A100(gAnimBankAttacker, 1) / 2; s16 y = sub_807A100(gAnimBankAttacker, 0) / -2; - if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_OPPONENT) { x = -x; } - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + x; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + y; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + x; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + y; if (sprite->pos1.y < 16) { @@ -285,7 +285,7 @@ static void sub_80DBC34(struct Sprite *sprite) void sub_80DBC94(u8 taskId) { struct Task *task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; sub_80798F4(task, spriteId, &gUnknown_083DA8A4); task->func = sub_80DBCD0; @@ -302,11 +302,11 @@ static void sub_80DBCD0(u8 taskId) void sub_80DBCFC(u8 taskId) { struct Task *task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; task->data[1] = 0; task->data[2] = 0; - task->data[3] = GetBankSide(gAnimBankAttacker) != SIDE_PLAYER ? 4 : 8; + task->data[3] = GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER ? 4 : 8; sub_80798F4(task, task->data[0], &gUnknown_083DA8C4); task->func = sub_80DBD58; @@ -348,8 +348,8 @@ void sub_80DBE00(u8 taskId) task->data[3] = 16; task->data[4] = 0; - task->data[13] = GetBankPosition(gAnimBankAttacker, 2); - task->data[14] = GetBankPosition(gAnimBankAttacker, 3); + task->data[13] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + task->data[14] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); var0 = sub_807A100(gAnimBankAttacker, 1) / 3; var1 = sub_807A100(gAnimBankAttacker, 0) / 3; @@ -448,8 +448,8 @@ void sub_80DC068(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } sprite->data[0] = gBattleAnimArgs[1]; @@ -581,7 +581,7 @@ void sub_80DC2D4(u8 taskId) if (task->data[14] < 0) task->data[14] = 0; - if (GetBankIdentity_permutated(gAnimBankTarget) == 1) + if (GetBattlerPosition_permutated(gAnimBankTarget) == 1) { task->data[10] = gBattle_BG1_X; scanlineParams.dmaDest = ®_BG1HOFS; @@ -684,7 +684,7 @@ void sub_80DC4F4(u8 taskId) obj_id_set_rotscale(spriteId, 256, 256, 0); CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); - task->data[13] = GetAnimBankSpriteId(gBattleAnimArgs[0]); + task->data[13] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); task->data[14] = matrixNum; task->data[15] = spriteId; task->func = sub_80DC5F4; @@ -789,7 +789,7 @@ _080DC554:\n\ bl CalcCenterToCornerVec\n\ ldr r1, _080DC5EC @ =gBattleAnimArgs\n\ ldrb r0, [r1]\n\ - bl GetAnimBankSpriteId\n\ + bl GetAnimBattlerSpriteId\n\ lsls r0, 24\n\ lsrs r0, 24\n\ strh r0, [r7, 0x22]\n\ @@ -854,8 +854,8 @@ void sub_80DC700(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); if (IsContest()) sprite->pos1.y += 12; diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c index 86b2c4659..b317cdaed 100644 --- a/src/battle/anim/ring.c +++ b/src/battle/anim/ring.c @@ -34,11 +34,11 @@ void sub_80D0FD8(struct Sprite* sprite) { SetAverageBattlerPositions(bank, r4, &sp0, &sp1); if (r4 == 0) - r4 = GetBankPosition(bank, 0); + r4 = GetBattlerSpriteCoord(bank, 0); else - r4 = GetBankPosition(bank, 2); + r4 = GetBattlerSpriteCoord(bank, 2); - if (GetBankSide(bank) != 0) + if (GetBattlerSide(bank) != 0) gBattleAnimArgs[0] -= (sp0 - r4) - gBattleAnimArgs[0]; // This is weird. else gBattleAnimArgs[0] = sp0 - r4; @@ -90,9 +90,9 @@ void sub_80D10B8(struct Sprite* sprite) sp4 = 3; } - if (GetBankSide(bankr7) != 0) + if (GetBattlerSide(bankr7) != 0) { - r9 = GetBankPosition(bankr7, r10) + gBattleAnimArgs[0]; + r9 = GetBattlerSpriteCoord(bankr7, r10) + gBattleAnimArgs[0]; if (IsAnimBankSpriteVisible(bankr8 ^ 2)) sprite->subpriority = gSprites[gBankSpriteIds[bankr8 ^ 2]].subpriority - 1; else @@ -100,7 +100,7 @@ void sub_80D10B8(struct Sprite* sprite) } else { - r9 = GetBankPosition(bankr7, r10) - gBattleAnimArgs[0]; + r9 = GetBattlerSpriteCoord(bankr7, r10) - gBattleAnimArgs[0]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr7 ^ 2)) { if (gSprites[gBankSpriteIds[bankr7]].pos1.x < gSprites[gBankSpriteIds[bankr7 ^ 2]].pos1.x) @@ -115,18 +115,18 @@ void sub_80D10B8(struct Sprite* sprite) } - r6 = GetBankPosition(bankr7, sp4) + gBattleAnimArgs[1]; + r6 = GetBattlerSpriteCoord(bankr7, sp4) + gBattleAnimArgs[1]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr8 ^ 2)) { SetAverageBattlerPositions(bankr8, gBattleAnimArgs[6], &sp0, &sp1); } else { - sp0 = GetBankPosition(bankr8, r10); - sp1 = GetBankPosition(bankr8, sp4); + sp0 = GetBattlerSpriteCoord(bankr8, r10); + sp1 = GetBattlerSpriteCoord(bankr8, sp4); } - if (GetBankSide(bankr8)) + if (GetBattlerSide(bankr8)) sp0 += gBattleAnimArgs[3]; else sp0 -= gBattleAnimArgs[3]; diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index 6fbe065b8..73be7c42b 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -78,7 +78,7 @@ void sub_80DCF60(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[5]); AnimateSprite(sprite); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; @@ -154,7 +154,7 @@ void do_boulder_dust(u8 taskId) if (IsContest()) sub_80763FC(subStruct.field_8, (u16 *)subStruct.field_4, 0, 0); - if (gBattleAnimArgs[0] != 0 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (gBattleAnimArgs[0] != 0 && GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) var0 = 1; gTasks[taskId].data[0] = var0; @@ -231,7 +231,7 @@ void sub_80DD3AC(struct Sprite *sprite) { if (sprite->data[0] == 0) { - if (gBattleAnimArgs[3] != 0 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { sprite->pos1.x = 304; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -295,10 +295,10 @@ void sub_80DD4D4(u8 taskId) task = &gTasks[taskId]; - var0 = GetBankPosition(gAnimBankAttacker, 2); - var1 = GetBankPosition(gAnimBankAttacker, 1) + 24; - var2 = GetBankPosition(gAnimBankTarget, 2); - var3 = GetBankPosition(gAnimBankTarget, 1) + 24; + var0 = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + var1 = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + 24; + var2 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + var3 = GetBattlerSpriteCoord(gAnimBankTarget, 1) + 24; if ((gAnimBankAttacker ^ 2) == gAnimBankTarget) var3 = var1; @@ -333,7 +333,7 @@ void sub_80DD4D4(u8 taskId) task->data[13] = pan1; task->data[14] = (pan2 - pan1) / task->data[8]; task->data[1] = var4; - task->data[15] = GetAnimBankSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(0); task->func = sub_80DD604; } @@ -514,7 +514,7 @@ static void sub_80DD928(struct Sprite *sprite) void sub_80DD978(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(sprite, 1); TranslateAnimSpriteToTargetMonLocation(sprite); @@ -522,8 +522,8 @@ void sub_80DD978(struct Sprite *sprite) void sub_80DD9A4(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/battle/anim/roots.c b/src/battle/anim/roots.c index 68f8a3e2f..30c2d9652 100644 --- a/src/battle/anim/roots.c +++ b/src/battle/anim/roots.c @@ -18,8 +18,8 @@ void sub_80CB59C(struct Sprite* sprite) { if (!sprite->data[0]) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); sprite->pos2.x = gBattleAnimArgs[0]; sprite->pos2.y = gBattleAnimArgs[1]; sprite->subpriority = gBattleAnimArgs[2] + 30; @@ -36,10 +36,10 @@ void sub_80CB59C(struct Sprite* sprite) void sub_80CB620(struct Sprite *sprite) { - s16 p1 = GetBankPosition(gAnimBankAttacker, 2); - s16 p2 = GetBankPosition(gAnimBankAttacker, 3); - s16 e1 = GetBankPosition(gAnimBankTarget, 2); - s16 e2 = GetBankPosition(gAnimBankTarget, 3); + s16 p1 = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + s16 p2 = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + s16 e1 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + s16 e2 = GetBattlerSpriteCoord(gAnimBankTarget, 3); e1 -= p1; e2 -= p2; diff --git a/src/battle/anim/scan.c b/src/battle/anim/scan.c index 403894cc8..abd54cef3 100644 --- a/src/battle/anim/scan.c +++ b/src/battle/anim/scan.c @@ -110,8 +110,8 @@ void sub_80CD4EC(struct Sprite* sprite) sprite->pos2.y = 0; sprite->pos2.x = 0; sprite->data[0] = 6; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + a; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + b; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + a; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + b; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80CD654); } diff --git a/src/battle/anim/scary_face.c b/src/battle/anim/scary_face.c index 8bc7bbd07..5a2c52825 100644 --- a/src/battle/anim/scary_face.c +++ b/src/battle/anim/scary_face.c @@ -43,7 +43,7 @@ void sub_80D23B4(u8 taskId) DmaFill32Defvars(3, 0, subStruct.field_4, 0x1000); if (IsContest()) LZDecompressVram(&gBattleAnimBackgroundTilemap_ScaryFaceContest, subStruct.field_4); - else if (GetBankSide(gAnimBankTarget) == 1) + else if (GetBattlerSide(gAnimBankTarget) == 1) LZDecompressVram(&gBattleAnimBackgroundTilemap_ScaryFacePlayer, subStruct.field_4); else LZDecompressVram(&gBattleAnimBackgroundTilemap_ScaryFaceOpponent, subStruct.field_4); diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c index 7f8154504..d7c56e7a8 100644 --- a/src/battle/anim/seed.c +++ b/src/battle/anim/seed.c @@ -21,14 +21,14 @@ static void AnimLeechSeedSprouts(struct Sprite* sprite); void AnimLeechSeed(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); sprite->callback = AnimLeechSeedStep; diff --git a/src/battle/anim/sfx.c b/src/battle/anim/sfx.c index 10ef1681e..6d47f0b46 100644 --- a/src/battle/anim/sfx.c +++ b/src/battle/anim/sfx.c @@ -9,7 +9,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u16 gAnimSpeciesByBanks[]; extern u8 gUnknown_0202F7D2; @@ -175,10 +175,10 @@ void sub_812B18C(u8 taskId) } } - if (GetBankSide(bank)) - species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], 0xB); + if (GetBattlerSide(bank)) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], 0xB); else - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], 0xB); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], 0xB); } if (species != 0) diff --git a/src/battle/anim/shadow_enlarge.c b/src/battle/anim/shadow_enlarge.c index 399cf1ba4..7662583ac 100644 --- a/src/battle/anim/shadow_enlarge.c +++ b/src/battle/anim/shadow_enlarge.c @@ -15,7 +15,7 @@ static void sub_80D0428(u8 taskId); void sub_80D03C4(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); sub_8078E70(spriteId, 1); obj_id_set_rotscale(spriteId, 0xD0, 0xD0, 0); sub_8079108(gSprites[spriteId].oam.paletteNum + 16, 0); @@ -27,7 +27,7 @@ void sub_80D0428(u8 taskId) { if (--gTasks[taskId].data[0] == -1) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); sub_8078F40(spriteId); sub_8079108(gSprites[spriteId].oam.paletteNum + 16, 1); DestroyAnimVisualTask(taskId); diff --git a/src/battle/anim/shadow_minimize.c b/src/battle/anim/shadow_minimize.c index 61645bc59..b4e18eb51 100644 --- a/src/battle/anim/shadow_minimize.c +++ b/src/battle/anim/shadow_minimize.c @@ -18,7 +18,7 @@ void sub_80D0704(struct Sprite* sprite); void sub_80D0488(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; sub_8078E70(spriteId, 0); task->data[1] = 0; diff --git a/src/battle/anim/shield.c b/src/battle/anim/shield.c index 676318545..323df4ab2 100644 --- a/src/battle/anim/shield.c +++ b/src/battle/anim/shield.c @@ -23,7 +23,7 @@ void sub_80CCD24(struct Sprite* sprite) sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; - if (GetBankSide(gAnimBankAttacker) == 0 || IsContest()) + if (GetBattlerSide(gAnimBankAttacker) == 0 || IsContest()) sprite->oam.priority = sub_8079ED4(gAnimBankAttacker) + 1; else sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); diff --git a/src/battle/anim/shock.c b/src/battle/anim/shock.c index 16e04c9db..19e4d0fb2 100644 --- a/src/battle/anim/shock.c +++ b/src/battle/anim/shock.c @@ -15,10 +15,10 @@ extern void sub_80DA48C(struct Sprite *); void sub_80D6294(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y -= gBattleAnimArgs[1]; @@ -77,13 +77,13 @@ void sub_80D6328(struct Sprite *sprite) if (gBattleAnimArgs[5] == 0) { - sprite->pos1.x = GetBankPosition(slot, 0); - sprite->pos1.y = GetBankPosition(slot, 1); + sprite->pos1.x = GetBattlerSpriteCoord(slot, 0); + sprite->pos1.y = GetBattlerSpriteCoord(slot, 1); } else { - sprite->pos1.x = GetBankPosition(slot, 2); - sprite->pos1.y = GetBankPosition(slot, 3); + sprite->pos1.x = GetBattlerSpriteCoord(slot, 2); + sprite->pos1.y = GetBattlerSpriteCoord(slot, 3); } sprite->pos2.x = (gSineTable[gBattleAnimArgs[0]] * gBattleAnimArgs[1]) >> 8; diff --git a/src/battle/anim/silhouette.c b/src/battle/anim/silhouette.c index a3147f598..00bb24762 100644 --- a/src/battle/anim/silhouette.c +++ b/src/battle/anim/silhouette.c @@ -15,7 +15,7 @@ static void sub_80CB438(u8 taskId); void sub_80CB340(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); if (gSprites[spriteId].invisible) { DestroyAnimVisualTask(taskId); @@ -32,10 +32,10 @@ void sub_80CB340(u8 taskId) void sub_80CB3A8(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); gTasks[taskId].data[10] += gTasks[taskId].data[0]; gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8; - if (GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankTarget)) { gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x; } @@ -57,7 +57,7 @@ void sub_80CB438(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); sub_8078F40(spriteId); gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; diff --git a/src/battle/anim/slash.c b/src/battle/anim/slash.c index 306968111..68a1b81ef 100644 --- a/src/battle/anim/slash.c +++ b/src/battle/anim/slash.c @@ -19,13 +19,13 @@ void sub_80CDD74(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[2]; } sprite->data[0] = 0; @@ -36,16 +36,16 @@ void sub_80CDD74(struct Sprite* sprite) void sub_80CDDDC(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + 0xFFD0; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + 0xFFD0; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); StoreSpriteCallbackInData(sprite, sub_80CDE78); sprite->callback = sub_8078600; } void sub_80CDE24(struct Sprite* sprite) { - sprite->pos1.x = sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); StartSpriteAnim(sprite, 1); sprite->data[0] = 0; sprite->data[1] = 0; diff --git a/src/battle/anim/sleep.c b/src/battle/anim/sleep.c index 0f0e54f80..cc3518395 100644 --- a/src/battle/anim/sleep.c +++ b/src/battle/anim/sleep.c @@ -16,7 +16,7 @@ static void sub_80CD394(struct Sprite* sprite); void sub_80CD328(struct Sprite* sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/battle/anim/slice.c b/src/battle/anim/slice.c index 80c58dddf..8e7f35f46 100644 --- a/src/battle/anim/slice.c +++ b/src/battle/anim/slice.c @@ -17,9 +17,9 @@ static void AnimSliceStep(struct Sprite* sprite); // arg 2: slice direction; 0 = right-to-left, 1 = left-to-right void AnimCuttingSlice(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); - if (GetBankSide(gAnimBankTarget) == 0) + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); + if (GetBattlerSide(gAnimBankTarget) == 0) sprite->pos1.y += 8; sprite->callback = AnimSliceStep; @@ -48,28 +48,28 @@ void sub_80CC9BC(struct Sprite* sprite) switch (gBattleAnimArgs[3]) { case 1: - a = GetBankPosition(gAnimBankTarget ^ 2, 0); - b = GetBankPosition(gAnimBankTarget ^ 2, 1); + a = GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 0); + b = GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 1); break; case 2: - a = GetBankPosition(gAnimBankTarget, 0); - b = GetBankPosition(gAnimBankTarget, 1); + a = GetBattlerSpriteCoord(gAnimBankTarget, 0); + b = GetBattlerSpriteCoord(gAnimBankTarget, 1); if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { - a = (GetBankPosition(gAnimBankTarget ^ 2, 0) + a) / 2; - b = (GetBankPosition(gAnimBankTarget ^ 2, 1) + b) / 2; + a = (GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 0) + a) / 2; + b = (GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 1) + b) / 2; } break; case 0: default: - a = GetBankPosition(gAnimBankTarget, 0); - b = GetBankPosition(gAnimBankTarget, 1); + a = GetBattlerSpriteCoord(gAnimBankTarget, 0); + b = GetBattlerSpriteCoord(gAnimBankTarget, 1); break; } sprite->pos1.x = a; sprite->pos1.y = b; - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) sprite->pos1.y += 8; sprite->callback = AnimSliceStep; diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c index 1501f51f1..a882be73c 100644 --- a/src/battle/anim/sonic.c +++ b/src/battle/anim/sonic.c @@ -26,7 +26,7 @@ void AnimSonicBoomProjectile(struct Sprite* sprite) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } - else if (GetBankSide(gAnimBankAttacker) != 0) + else if (GetBattlerSide(gAnimBankAttacker) != 0) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -34,8 +34,8 @@ void AnimSonicBoomProjectile(struct Sprite* sprite) } InitAnimSpritePos(sprite, 1); - targetXPos = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - targetYPos = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + targetXPos = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + targetYPos = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; rotation = ArcTan2Neg(targetXPos - sprite->pos1.x, targetYPos - sprite->pos1.y); rotation += 0xF000; if (IsContest()) diff --git a/src/battle/anim/sonic_task.c b/src/battle/anim/sonic_task.c index 260ae544c..dc5d60efa 100644 --- a/src/battle/anim/sonic_task.c +++ b/src/battle/anim/sonic_task.c @@ -82,8 +82,8 @@ void sub_80CFB04(u8 taskId) gBattleAnimArgs[2] |= 1; } } - r6 = gTasks[taskId].data[9] = GetBankPosition(gAnimBankAttacker, 0); - r9 = gTasks[taskId].data[10] = GetBankPosition(gAnimBankAttacker, 1); + r6 = gTasks[taskId].data[9] = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + r9 = gTasks[taskId].data[10] = GetBattlerSpriteCoord(gAnimBankAttacker, 1); if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { @@ -91,8 +91,8 @@ void sub_80CFB04(u8 taskId) } else { - sp1 = GetBankPosition(gAnimBankTarget, 0); - sp2 = GetBankPosition(gAnimBankTarget, 1); + sp1 = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sp2 = GetBattlerSpriteCoord(gAnimBankTarget, 1); } sp1 = gTasks[taskId].data[11] = sp1 + gBattleAnimArgs[0]; diff --git a/src/battle/anim/spin_finger.c b/src/battle/anim/spin_finger.c index 8eb060358..1ce3aa0d0 100644 --- a/src/battle/anim/spin_finger.c +++ b/src/battle/anim/spin_finger.c @@ -23,7 +23,7 @@ void sub_80CF0BC(struct Sprite* sprite) else bank = gAnimBankTarget; - sprite->pos1.x = GetBankPosition(bank, 0); + sprite->pos1.x = GetBattlerSpriteCoord(bank, 0); sprite->pos1.y = sub_807A100(bank, 2); if (sprite->pos1.y <= 9) sprite->pos1.y = 10; diff --git a/src/battle/anim/spit.c b/src/battle/anim/spit.c index 1e65ba53e..36fcb788c 100644 --- a/src/battle/anim/spit.c +++ b/src/battle/anim/spit.c @@ -21,8 +21,8 @@ void sub_80D287C(struct Sprite* sprite) void sub_80D28AC(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = Sin(gBattleAnimArgs[0], 10); sprite->data[1] = Cos(gBattleAnimArgs[0], 7); sprite->data[2] = gBattleAnimArgs[1]; diff --git a/src/battle/anim/splash.c b/src/battle/anim/splash.c index 570ef0dca..d6caaf0f6 100644 --- a/src/battle/anim/splash.c +++ b/src/battle/anim/splash.c @@ -24,7 +24,7 @@ void sub_80D074C(u8 taskId) } else { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); task->data[0] = spriteId; task->data[1] = 0; task->data[2] = gBattleAnimArgs[1]; diff --git a/src/battle/anim/startle.c b/src/battle/anim/startle.c index 50e78af37..95462bd9f 100644 --- a/src/battle/anim/startle.c +++ b/src/battle/anim/startle.c @@ -16,10 +16,10 @@ extern struct AffineAnimFrameCmd gUnknown_083D7A98; // opponent void sub_80D1E38(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); if (++gTasks[taskId].data[0] == 1) { - sub_80798F4(&gTasks[taskId], GetAnimBankSpriteId(1), &gUnknown_083D7A98); + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(1), &gUnknown_083D7A98); gSprites[spriteId].pos2.x = 4; } else @@ -37,10 +37,10 @@ void sub_80D1E38(u8 taskId) // player void sub_80D1EC8(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); if (++gTasks[taskId].data[0] == 1) { - sub_80798F4(&gTasks[taskId], GetAnimBankSpriteId(0), &gUnknown_083D7A98); + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_083D7A98); gSprites[spriteId].pos2.x = 4; } else diff --git a/src/battle/anim/strike.c b/src/battle/anim/strike.c index bfa1dc4f7..775485a79 100644 --- a/src/battle/anim/strike.c +++ b/src/battle/anim/strike.c @@ -23,8 +23,8 @@ void sub_80CE670(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = gBattleAnimArgs[2]; - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[1]; sprite->data[6] = sprite->pos1.x; sprite->data[7] = sprite->pos1.y; if (IsContest() != 0) @@ -37,7 +37,7 @@ void sub_80CE670(struct Sprite* sprite) sprite->data[4] = sprite->pos1.y << 7; sprite->data[5] = -0xA00 / sprite->data[1]; } - else if (GetBankSide(gAnimBankAttacker) == 0) + else if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos1.x -= 40; sprite->pos1.y += 20; diff --git a/src/battle/anim/struggle.c b/src/battle/anim/struggle.c index 20dbaf2dc..6a1355e1b 100644 --- a/src/battle/anim/struggle.c +++ b/src/battle/anim/struggle.c @@ -19,13 +19,13 @@ void sub_80D2C38(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); } if (gBattleAnimArgs[1] == 0) diff --git a/src/battle/anim/taunt_finger.c b/src/battle/anim/taunt_finger.c index 023e14e45..c512f8cf4 100644 --- a/src/battle/anim/taunt_finger.c +++ b/src/battle/anim/taunt_finger.c @@ -24,7 +24,7 @@ void sub_80CF1C8(struct Sprite* sprite) bank = gAnimBankTarget; sub_80CEF44(bank, sprite); - if (GetBankSide(bank) == 0) + if (GetBattlerSide(bank) == 0) { StartSpriteAnim(sprite, 0); sprite->data[0] = 2; diff --git a/src/battle/anim/tendrils.c b/src/battle/anim/tendrils.c index 9f57ffd45..4ef704f3a 100644 --- a/src/battle/anim/tendrils.c +++ b/src/battle/anim/tendrils.c @@ -28,7 +28,7 @@ void sub_80CB298(struct Sprite* sprite) if ((u16)gBattleAnimArgs[7] == 0xFFFF) { sprite->affineAnimPaused = 0; - GetAnimBankSpriteId(1); + GetAnimBattlerSpriteId(1); sprite->data[0] = 0x100; sprite->callback = sub_80CB2D4; } @@ -36,7 +36,7 @@ void sub_80CB298(struct Sprite* sprite) void sub_80CB2D4(struct Sprite* sprite) { - GetAnimBankSpriteId(1); + GetAnimBattlerSpriteId(1); if (!sprite->data[2]) { sprite->data[0] += 11; diff --git a/src/battle/anim/thought.c b/src/battle/anim/thought.c index c3ab6f82c..5163cbfad 100644 --- a/src/battle/anim/thought.c +++ b/src/battle/anim/thought.c @@ -15,12 +15,12 @@ static void sub_80CF008(struct Sprite* sprite); void sub_80CEF44(u8 bank, struct Sprite* sprite) { - if (GetBankSide(bank) == 0) + if (GetBattlerSide(bank) == 0) sprite->pos1.x = sub_807A100(bank, 5) + 8; else sprite->pos1.x = sub_807A100(bank, 4) - 8; - sprite->pos1.y = GetBankPosition(bank, 3) - (s16)sub_807A100(bank, 0) / 4; + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) - (s16)sub_807A100(bank, 0) / 4; } void sub_80CEF9C(struct Sprite* sprite) @@ -33,7 +33,7 @@ void sub_80CEF9C(struct Sprite* sprite) bank = gAnimBankTarget; sub_80CEF44(bank, sprite); - a = (GetBankSide(bank) == 0) ? 0 : 1; + a = (GetBattlerSide(bank) == 0) ? 0 : 1; sprite->data[0] = gBattleAnimArgs[1]; sprite->data[1] = a + 2; StartSpriteAnim(sprite, a); diff --git a/src/battle/anim/thrashing.c b/src/battle/anim/thrashing.c index 3fde815ae..bc1fc4842 100644 --- a/src/battle/anim/thrashing.c +++ b/src/battle/anim/thrashing.c @@ -20,7 +20,7 @@ static void sub_80D0B3C(u8 taskId); void sub_80D0A4C(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; task->data[1] = 0; sub_80798F4(task, spriteId, &gUnknown_083D77B0); @@ -38,7 +38,7 @@ void sub_80D0A8C(u8 taskId) void sub_80D0AB8(u8 taskId) { struct Task* task = &gTasks[taskId]; - task->data[0] = GetAnimBankSpriteId(0); + task->data[0] = GetAnimBattlerSpriteId(0); task->data[1] = 0; task->data[2] = 4; task->data[3] = 7; @@ -48,7 +48,7 @@ void sub_80D0AB8(u8 taskId) task->data[7] = 0; task->data[8] = 0; task->data[9] = 2; - if (GetBankSide(gAnimBankAttacker) == 1) + if (GetBattlerSide(gAnimBankAttacker) == 1) task->data[2] *= -1; task->func = sub_80D0B3C; diff --git a/src/battle/anim/thunder.c b/src/battle/anim/thunder.c index 2ed073221..70d4dc232 100644 --- a/src/battle/anim/thunder.c +++ b/src/battle/anim/thunder.c @@ -14,7 +14,7 @@ static void sub_80D6218(struct Sprite *); void sub_80D61C8(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/tile_in.c b/src/battle/anim/tile_in.c index a4a544a0c..b1d804317 100644 --- a/src/battle/anim/tile_in.c +++ b/src/battle/anim/tile_in.c @@ -15,8 +15,8 @@ void sub_80CE09C(struct Sprite* sprite) { if (sprite->data[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; if (IsContest()) sprite->pos1.y += 10; sprite->data[0]++; diff --git a/src/battle/anim/tile_out.c b/src/battle/anim/tile_out.c index 39d4ff01f..04f51e556 100644 --- a/src/battle/anim/tile_out.c +++ b/src/battle/anim/tile_out.c @@ -9,7 +9,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u8 gHealthboxIDs[]; static void sub_80CE1AC(struct Sprite* sprite); @@ -35,8 +35,8 @@ void sub_80CE1AC(struct Sprite* sprite) { sprite->animPaused = 0; sprite->data[0] = 30; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -57,12 +57,12 @@ void sub_80CE210(u8 taskId) void unref_sub_80CE260(u8 taskId) { u8 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBattleAnimArgs[0] == 1 && GetBankSide(i) == 0) + if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == 0) sub_8043DB0(gHealthboxIDs[i]); - if (gBattleAnimArgs[1] == 1 && GetBankSide(i) == 1) + if (gBattleAnimArgs[1] == 1 && GetBattlerSide(i) == 1) sub_8043DB0(gHealthboxIDs[i]); } @@ -72,7 +72,7 @@ void unref_sub_80CE260(u8 taskId) void unref_sub_80CE2D4(u8 taskId) { u8 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { sub_8043DFC(gHealthboxIDs[i]); } diff --git a/src/battle/anim/twinkle.c b/src/battle/anim/twinkle.c index e26669f63..34082cc2f 100644 --- a/src/battle/anim/twinkle.c +++ b/src/battle/anim/twinkle.c @@ -15,7 +15,7 @@ static void sub_80CE3B0(struct Sprite* sprite); void sub_80CE36C(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; sprite->data[0] = 0; sprite->data[1] = 0; diff --git a/src/battle/anim/unused_2.c b/src/battle/anim/unused_2.c index 122f39e02..71e5e92d7 100644 --- a/src/battle/anim/unused_2.c +++ b/src/battle/anim/unused_2.c @@ -49,7 +49,7 @@ void unref_sub_80CCB6C(struct Sprite* sprite) void sub_80CCC50(struct Sprite* sprite) { sprite->data[0] = gBattleAnimArgs[2]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; diff --git a/src/battle/anim/unused_3.c b/src/battle/anim/unused_3.c index 6dbcbfefe..a89ed0246 100644 --- a/src/battle/anim/unused_3.c +++ b/src/battle/anim/unused_3.c @@ -16,7 +16,7 @@ static void sub_80CD2D4(struct Sprite* sprite); void sub_80CD274(struct Sprite* sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/battle/anim/unused_4.c b/src/battle/anim/unused_4.c index 50ffaba4a..63940f3e1 100644 --- a/src/battle/anim/unused_4.c +++ b/src/battle/anim/unused_4.c @@ -28,7 +28,7 @@ void sub_80CD9D4(struct Sprite* sprite) case 0: sprite->data[1] = 0; sprite->data[2] = gBankSpriteIds[gAnimBankAttacker]; - sprite->data[3] = GetBankSide(gAnimBankAttacker); + sprite->data[3] = GetBattlerSide(gAnimBankAttacker); sprite->data[4] = (sprite->data[3] != 0) ? 0x200 : -0x200; sprite->data[5] = 0; sub_8078E70(sprite->data[2], 0); diff --git a/src/battle/anim/unused_7.c b/src/battle/anim/unused_7.c index 5a2de33c3..a2f00db31 100644 --- a/src/battle/anim/unused_7.c +++ b/src/battle/anim/unused_7.c @@ -30,10 +30,10 @@ void sub_80CF374(struct Sprite* sprite) void sub_80CF3C4(struct Sprite* sprite) { u8 a; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); a = gBankSpriteIds[gAnimBankTarget]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/uproar.c b/src/battle/anim/uproar.c index 03cc65bc0..538ca9b20 100644 --- a/src/battle/anim/uproar.c +++ b/src/battle/anim/uproar.c @@ -12,7 +12,7 @@ void sub_80D2D3C(u8); void sub_80D2CF8(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); sub_80798F4(&gTasks[taskId], spriteId, gUnknown_083D7CA8); gTasks[taskId].func = sub_80D2D3C; diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c index e6945f9b2..2700bfd27 100644 --- a/src/battle/anim/water.c +++ b/src/battle/anim/water.c @@ -153,7 +153,7 @@ _080D3920:\n\ strb r0, [r2]\n\ ldr r0, _080D39A0 @ =gAnimBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -276,7 +276,7 @@ _080D3A90: .4byte gBattle_BG1_Y\n\ _080D3A94:\n\ ldr r0, _080D3AC4 @ =gAnimBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r1, r0, 24\n\ cmp r1, 0x1\n\ diff --git a/src/battle/anim/whip.c b/src/battle/anim/whip.c index cb3ce327e..08b24369d 100644 --- a/src/battle/anim/whip.c +++ b/src/battle/anim/whip.c @@ -20,7 +20,7 @@ void sub_80CC810(struct Sprite* sprite) // unused, beta effect for diagonal sprite movement? void sub_80CC82C(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -37,7 +37,7 @@ void sub_80CC82C(struct Sprite* sprite) void sub_80CC884(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) StartSpriteAnim(sprite, 1); sprite->callback = sub_80CC810; diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c index 24cecb60c..5a51986c7 100644 --- a/src/battle/anim/wisp_fire.c +++ b/src/battle/anim/wisp_fire.c @@ -58,10 +58,10 @@ void sub_80D5DDC(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[12] = !GetBankSide(gAnimBankAttacker) ? 1 : -1; + task->data[12] = !GetBattlerSide(gAnimBankAttacker) ? 1 : -1; task->data[13] = IsAnimBankSpriteVisible(gAnimBankTarget ^ 2) + 1; - task->data[14] = GetAnimBankSpriteId(1); - task->data[15] = GetAnimBankSpriteId(3); + task->data[14] = GetAnimBattlerSpriteId(1); + task->data[15] = GetAnimBattlerSpriteId(3); task->func = sub_80D5E4C; } diff --git a/src/battle/anim/wisp_orb.c b/src/battle/anim/wisp_orb.c index 7c22b7f13..90b90acb7 100644 --- a/src/battle/anim/wisp_orb.c +++ b/src/battle/anim/wisp_orb.c @@ -25,7 +25,7 @@ void sub_80D5B0C(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[7] = gBattleAnimArgs[2]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->data[4] = 4; } @@ -39,7 +39,7 @@ void sub_80D5B0C(struct Sprite *sprite) break; case 1: sprite->data[1] += 192; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos2.y = -(sprite->data[1] >> 8); } @@ -70,9 +70,9 @@ void sub_80D5B0C(struct Sprite *sprite) sprite->data[0] = 256; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sub_8078BD4(sprite); sprite->callback = sub_80D5C5C; diff --git a/src/battle/anim/withdraw.c b/src/battle/anim/withdraw.c index 933c97fa9..baf5d9b94 100644 --- a/src/battle/anim/withdraw.c +++ b/src/battle/anim/withdraw.c @@ -25,7 +25,7 @@ void sub_80CF514(u8 taskId) { u8 a = gBankSpriteIds[gAnimBankAttacker]; s16 b; - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { b = -gTasks[taskId].data[0]; } diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index e966111bd..096bd878f 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -84,10 +84,10 @@ extern u8 gStatStageRatios[][2]; extern u8 gActionsByTurnOrder[4]; extern struct UnknownPokemonStruct2 gMultiPartnerParty[]; extern u8 gBattleBufferB[][0x200]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[]; extern u8 gCurrentActionFuncId; extern u8 gBanksByTurnOrder[]; extern struct UnknownStruct12 gUnknown_02024AD0[]; @@ -95,7 +95,7 @@ extern u8 gBankSpriteIds[]; extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID. extern u8 gLastUsedAbility; extern u8 gStringBank; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gActionForBanks[]; extern u16 gUnknown_02024C2C[]; @@ -104,7 +104,7 @@ extern u16 gLastLandedMoves[]; extern u16 gLastHitByType[]; extern u16 gUnknown_02024C4C[]; extern u16 gLockedMoves[]; -extern u8 gUnknown_02024C5C[]; +extern u8 gLastHitBy[]; extern u16 gChosenMovesByBanks[]; extern u32 gHitMarker; extern u8 gUnknown_02024C70[]; @@ -152,9 +152,9 @@ extern u8 gBattleMonForms[]; extern u8 gBankAttacker; extern u8 gBankTarget; extern u16 gBattleWeather; -extern u32 gBattleMoveDamage; +extern s32 gBattleMoveDamage; extern struct BattlePokemon gBattleMons[]; -extern u8 gBattleMoveFlags; +extern u8 gMoveResultFlags; extern u8 BattleScript_FocusPunchSetUp[]; extern u16 gDynamicBasePower; extern u8 gCurrentTurnActionNumber; @@ -3347,11 +3347,11 @@ void sub_8010384(struct Sprite *sprite) else species = sprite->data[2]; - GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY); // Unused return value + GetMonData(&gEnemyParty[gBattlerPartyIndexes[r6]], MON_DATA_PERSONALITY); // Unused return value if (species == SPECIES_UNOWN) { - u32 personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY); + u32 personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r6]], MON_DATA_PERSONALITY); u16 unownForm = ((((personalityValue & 0x3000000) >> 18) | ((personalityValue & 0x30000) >> 12) | ((personalityValue & 0x300) >> 6) | (personalityValue & 3)) % 0x1C); u16 unownSpecies; @@ -3399,7 +3399,7 @@ void sub_8010494(struct Sprite *sprite) else { // this should use a MEMSET_ALT, but *(dst++) wont match with it. - dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data[0])] + (gBattleMonForms[sprite->data[0]] << 11) + (sprite->data[3] << 8); + dst = (u8 *)gUnknown_081FAF4C[GetBattlerPosition(sprite->data[0])] + (gBattleMonForms[sprite->data[0]] << 11) + (sprite->data[3] << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; StartSpriteAnim(sprite, gBattleMonForms[sprite->data[0]]); @@ -3558,12 +3558,12 @@ void sub_8010800(void) #if DEBUG void debug_sub_80138CC(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { switch (gSharedMem[0x160FD]) { case 0: - if (gBattleBankFunc[gActiveBank] == sub_802C098) + if (gBattleBankFunc[gActiveBattler] == sub_802C098) gSharedMem[0x160FD]++; break; case 1: @@ -3604,18 +3604,18 @@ void sub_8010824(void) #if DEBUG if (gUnknown_02023A14_50 & 0x80) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) debug_sub_80138CC(); gBattleMainFunc(); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - gBattleBankFunc[gActiveBank](); + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + gBattleBankFunc[gActiveBattler](); } else #endif { gBattleMainFunc(); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - gBattleBankFunc[gActiveBank](); + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + gBattleBankFunc[gActiveBattler](); } } @@ -3639,7 +3639,7 @@ void sub_8010874(void) gLastLandedMoves[i] = 0; gLastHitByType[i] = 0; gUnknown_02024C4C[i] = 0; - gUnknown_02024C5C[i] = 0xFF; + gLastHitBy[i] = 0xFF; gLockedMoves[i] = 0; gUnknown_02024C2C[i] = 0; eFlashFireArr.arr[i] = 0; @@ -3675,7 +3675,7 @@ void sub_8010874(void) ewram16002 = 0; ewram160A1 = 0; gLeveledUpInBattle = 0; - gAbsentBankFlags = 0; + gAbsentBattlerFlags = 0; ewram16078 = 0; ewram16086 = 0; ewram16087 = 0; @@ -3727,21 +3727,21 @@ void sub_8010874(void) void SwitchInClearSetData(void) { - struct DisableStruct sp0 = gDisableStructs[gActiveBank]; + struct DisableStruct sp0 = gDisableStructs[gActiveBattler]; s32 i; u8 *ptr; if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS) { for (i = 0; i < 8; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - for (i = 0; i < gNoOfAllBanks; i++) + gBattleMons[gActiveBattler].statStages[i] = 6; + for (i = 0; i < gBattlersCount; i++) { struct UnknownStruct12 *sp20 = &gUnknown_02024AD0[i]; - if ((sp20->unk0 & 0x04000000) && gDisableStructs[i].bankPreventingEscape == gActiveBank) + if ((sp20->unk0 & 0x04000000) && gDisableStructs[i].bankPreventingEscape == gActiveBattler) sp20->unk0 &= ~0x04000000; - if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].bankWithSureHit == gActiveBank) + if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].bankWithSureHit == gActiveBattler) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; gDisableStructs[i].bankWithSureHit = 0; @@ -3750,14 +3750,14 @@ void SwitchInClearSetData(void) } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { - gBattleMons[gActiveBank].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); - gStatuses3[gActiveBank] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); + gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); + gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(gActiveBank) != GetBankSide(i) + if (GetBattlerSide(gActiveBattler) != GetBattlerSide(i) && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 - && (gDisableStructs[i].bankWithSureHit == gActiveBank)) + && (gDisableStructs[i].bankWithSureHit == gActiveBattler)) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; gStatuses3[i] |= 0x10; @@ -3766,49 +3766,49 @@ void SwitchInClearSetData(void) } else { - gBattleMons[gActiveBank].status2 = 0; - gStatuses3[gActiveBank] = 0; + gBattleMons[gActiveBattler].status2 = 0; + gStatuses3[gActiveBattler] = 0; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBank] << 16)) - gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBank] << 16); - if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram16020arr(i) == gActiveBank) + if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBattler] << 16)) + gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBattler] << 16); + if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram16020arr(i) == gActiveBattler) gUnknown_02024AD0[i].unk0 &= ~0xE000; } - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; - MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); + MEMSET_ALT(&gDisableStructs[gActiveBattler], 0, 0x1C, i, ptr); if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { - gDisableStructs[gActiveBank].substituteHP = sp0.substituteHP; - gDisableStructs[gActiveBank].bankWithSureHit = sp0.bankWithSureHit; - gDisableStructs[gActiveBank].perishSong1 = sp0.perishSong1; - gDisableStructs[gActiveBank].perishSong2 = sp0.perishSong2; + gDisableStructs[gActiveBattler].substituteHP = sp0.substituteHP; + gDisableStructs[gActiveBattler].bankWithSureHit = sp0.bankWithSureHit; + gDisableStructs[gActiveBattler].perishSongTimer1 = sp0.perishSongTimer1; + gDisableStructs[gActiveBattler].perishSongTimer2 = sp0.perishSongTimer2; } - gDisableStructs[gActiveBank].isFirstTurn= 2; - gLastUsedMove[gActiveBank] = 0; - gLastLandedMoves[gActiveBank] = 0; - gLastHitByType[gActiveBank] = 0; - gUnknown_02024C4C[gActiveBank] = 0; - gUnknown_02024C2C[gActiveBank] = 0; - gUnknown_02024C5C[gActiveBank] = 0xFF; + gDisableStructs[gActiveBattler].isFirstTurn= 2; + gLastUsedMove[gActiveBattler] = 0; + gLastLandedMoves[gActiveBattler] = 0; + gLastHitByType[gActiveBattler] = 0; + gUnknown_02024C4C[gActiveBattler] = 0; + gUnknown_02024C2C[gActiveBattler] = 0; + gLastHitBy[gActiveBattler] = 0xFF; - ewram160ACarr2(0, gActiveBank) = 0; - ewram160ACarr2(1, gActiveBank) = 0; - ewram16100arr2(0, gActiveBank) = 0; - ewram16100arr2(1, gActiveBank) = 0; - ewram16100arr2(2, gActiveBank) = 0; - ewram16100arr2(3, gActiveBank) = 0; - ewram160E8arr2(0, gActiveBank) = 0; - ewram160E8arr2(1, gActiveBank) = 0; + ewram160ACarr2(0, gActiveBattler) = 0; + ewram160ACarr2(1, gActiveBattler) = 0; + ewram16100arr2(0, gActiveBattler) = 0; + ewram16100arr2(1, gActiveBattler) = 0; + ewram16100arr2(2, gActiveBattler) = 0; + ewram16100arr2(3, gActiveBattler) = 0; + ewram160E8arr2(0, gActiveBattler) = 0; + ewram160E8arr2(1, gActiveBattler) = 0; - eFlashFireArr.arr[gActiveBank] = 0; + eFlashFireArr.arr[gActiveBattler] = 0; gCurrentMove = 0; } @@ -3819,63 +3819,63 @@ void UndoEffectsAfterFainting(void) u8 *ptr; for (i = 0; i < 8; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - gBattleMons[gActiveBank].status2 = 0; - gStatuses3[gActiveBank] = 0; - for (i = 0; i < gNoOfAllBanks; i++) + gBattleMons[gActiveBattler].statStages[i] = 6; + gBattleMons[gActiveBattler].status2 = 0; + gStatuses3[gActiveBattler] = 0; + for (i = 0; i < gBattlersCount; i++) { - if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBank) + if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBattler) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; - if (gBattleMons[i].status2 & (gBitTable[gActiveBank] << 16)) - gBattleMons[i].status2 &= ~(gBitTable[gActiveBank] << 16); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && ewram16020arr(i) == gActiveBank) + if (gBattleMons[i].status2 & (gBitTable[gActiveBattler] << 16)) + gBattleMons[i].status2 &= ~(gBitTable[gActiveBattler] << 16); + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && ewram16020arr(i) == gActiveBattler) gBattleMons[i].status2 &= ~STATUS2_WRAPPED; } - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; - - MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); - gProtectStructs[gActiveBank].protected = 0; - gProtectStructs[gActiveBank].endured = 0; - gProtectStructs[gActiveBank].onlyStruggle = 0; - gProtectStructs[gActiveBank].helpingHand = 0; - gProtectStructs[gActiveBank].bounceMove = 0; - gProtectStructs[gActiveBank].stealMove = 0; - gProtectStructs[gActiveBank].flag0Unknown = 0; - gProtectStructs[gActiveBank].prlzImmobility = 0; - gProtectStructs[gActiveBank].confusionSelfDmg = 0; - gProtectStructs[gActiveBank].notEffective = 0; - gProtectStructs[gActiveBank].chargingTurn = 0; - gProtectStructs[gActiveBank].fleeFlag = 0; - gProtectStructs[gActiveBank].usedImprisionedMove = 0; - gProtectStructs[gActiveBank].loveImmobility = 0; - gProtectStructs[gActiveBank].usedDisabledMove = 0; - gProtectStructs[gActiveBank].usedTauntedMove = 0; - gProtectStructs[gActiveBank].flag2Unknown = 0; - gProtectStructs[gActiveBank].flinchImmobility = 0; - gProtectStructs[gActiveBank].notFirstStrike = 0; - - gDisableStructs[gActiveBank].isFirstTurn= 2; - gLastUsedMove[gActiveBank] = 0; - gLastLandedMoves[gActiveBank] = 0; - gLastHitByType[gActiveBank] = 0; - gUnknown_02024C4C[gActiveBank] = 0; - gUnknown_02024C2C[gActiveBank] = 0; - gUnknown_02024C5C[gActiveBank] = 0xFF; - - ewram160E8arr2(0, gActiveBank) = 0; - ewram160E8arr2(1, gActiveBank) = 0; - ewram160ACarr2(0, gActiveBank) = 0; - ewram160ACarr2(1, gActiveBank) = 0; - ewram16100arr2(0, gActiveBank) = 0; - ewram16100arr2(1, gActiveBank) = 0; - ewram16100arr2(2, gActiveBank) = 0; - ewram16100arr2(3, gActiveBank) = 0; - - eFlashFireArr.arr[gActiveBank] = 0; - - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; + + MEMSET_ALT(&gDisableStructs[gActiveBattler], 0, 0x1C, i, ptr); + gProtectStructs[gActiveBattler].protected = 0; + gProtectStructs[gActiveBattler].endured = 0; + gProtectStructs[gActiveBattler].onlyStruggle = 0; + gProtectStructs[gActiveBattler].helpingHand = 0; + gProtectStructs[gActiveBattler].bounceMove = 0; + gProtectStructs[gActiveBattler].stealMove = 0; + gProtectStructs[gActiveBattler].flag0Unknown = 0; + gProtectStructs[gActiveBattler].prlzImmobility = 0; + gProtectStructs[gActiveBattler].confusionSelfDmg = 0; + gProtectStructs[gActiveBattler].notEffective = 0; + gProtectStructs[gActiveBattler].chargingTurn = 0; + gProtectStructs[gActiveBattler].fleeFlag = 0; + gProtectStructs[gActiveBattler].usedImprisionedMove = 0; + gProtectStructs[gActiveBattler].loveImmobility = 0; + gProtectStructs[gActiveBattler].usedDisabledMove = 0; + gProtectStructs[gActiveBattler].usedTauntedMove = 0; + gProtectStructs[gActiveBattler].flag2Unknown = 0; + gProtectStructs[gActiveBattler].flinchImmobility = 0; + gProtectStructs[gActiveBattler].notFirstStrike = 0; + + gDisableStructs[gActiveBattler].isFirstTurn= 2; + gLastUsedMove[gActiveBattler] = 0; + gLastLandedMoves[gActiveBattler] = 0; + gLastHitByType[gActiveBattler] = 0; + gUnknown_02024C4C[gActiveBattler] = 0; + gUnknown_02024C2C[gActiveBattler] = 0; + gLastHitBy[gActiveBattler] = 0xFF; + + ewram160E8arr2(0, gActiveBattler) = 0; + ewram160E8arr2(1, gActiveBattler) = 0; + ewram160ACarr2(0, gActiveBattler) = 0; + ewram160ACarr2(1, gActiveBattler) = 0; + ewram16100arr2(0, gActiveBattler) = 0; + ewram16100arr2(1, gActiveBattler) = 0; + ewram16100arr2(2, gActiveBattler) = 0; + ewram16100arr2(3, gActiveBattler) = 0; + + eFlashFireArr.arr[gActiveBattler] = 0; + + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; } void bc_8012FAC(void) @@ -3883,16 +3883,16 @@ void bc_8012FAC(void) switch (gBattleCommunication[0]) { case 0: - gActiveBank = gBattleCommunication[1]; + gActiveBattler = gBattleCommunication[1]; EmitGetAttributes(0, 0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleCommunication[0]++; break; case 1: if (gBattleExecBuffer == 0) { gBattleCommunication[1]++; - if (gBattleCommunication[1] == gNoOfAllBanks) + if (gBattleCommunication[1] == gBattlersCount) gBattleMainFunc = BattlePrepIntroSlide; else gBattleCommunication[0] = 0; @@ -3905,9 +3905,9 @@ static void BattlePrepIntroSlide(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); EmitIntroSlide(0, gBattleTerrain); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleMainFunc = sub_8011384; gBattleCommunication[0] = 0; gBattleCommunication[1] = 0; @@ -3921,63 +3921,63 @@ void sub_8011384(void) if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) - && GetBankSide(gActiveBank) == 0) + && GetBattlerSide(gActiveBattler) == 0) { - MEMSET_ALT(&gBattleMons[gActiveBank], 0, 0x58, i, ptr); + MEMSET_ALT(&gBattleMons[gActiveBattler], 0, 0x58, i, ptr); } else { u8 r0; - MEMSET_ALT(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr); - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; - gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); - r0 = GetBankSide(gActiveBank); - ewram160BC[r0] = gBattleMons[gActiveBank].hp; + MEMSET_ALT(&gBattleMons[gActiveBattler], gBattleBufferB[gActiveBattler][4 + i], 0x58, i, ptr); + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); + r0 = GetBattlerSide(gActiveBattler); + ewram160BC[r0] = gBattleMons[gActiveBattler].hp; for (i = 0; i < 8; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - gBattleMons[gActiveBank].status2 = 0; + gBattleMons[gActiveBattler].statStages[i] = 6; + gBattleMons[gActiveBattler].status2 = 0; } - if (GetBankIdentity(gActiveBank) == 0) + if (GetBattlerPosition(gActiveBattler) == 0) { EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) { EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } - if (GetBankSide(gActiveBank) == 1 + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } else { - if (GetBankSide(gActiveBank) == 1 + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); EmitLoadPokeSprite(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) == 2 - || GetBankIdentity(gActiveBank) == 3) + if (GetBattlerPosition(gActiveBattler) == 2 + || GetBattlerPosition(gActiveBattler) == 3) { EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } } @@ -4009,9 +4009,9 @@ void bc_801333C(void) hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); } } - gActiveBank = GetBankByIdentity(1); + gActiveBattler = GetBattlerAtPosition(1); EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); for (i = 0; i < 6; i++) { @@ -4027,9 +4027,9 @@ void bc_801333C(void) hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleMainFunc = bc_battle_begin_message; } @@ -4062,8 +4062,8 @@ void bc_battle_begin_message(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBankByIdentity(1); - PrepareStringBattle(0, gActiveBank); + gActiveBattler = GetBattlerAtPosition(1); + PrepareStringBattle(0, gActiveBattler); gBattleMainFunc = sub_8011800; } } @@ -4081,7 +4081,7 @@ void sub_8011800(void) { if (gBattleExecBuffer == 0) { - PrepareStringBattle(1, GetBankByIdentity(1)); + PrepareStringBattle(1, GetBattlerAtPosition(1)); gBattleMainFunc = sub_8011834; } } @@ -4090,18 +4090,18 @@ void sub_8011834(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && GetBankIdentity(gActiveBank) == 3) + && GetBattlerPosition(gActiveBattler) == 3) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } gBattleMainFunc = bc_801362C; @@ -4112,11 +4112,11 @@ void bc_801362C(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (GetBankSide(gActiveBank) == 1 + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } gBattleMainFunc = sub_8011970; } @@ -4133,7 +4133,7 @@ void sub_8011970(void) if (gBattleExecBuffer == 0) { if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) - PrepareStringBattle(1, GetBankByIdentity(0)); + PrepareStringBattle(1, GetBattlerAtPosition(0)); gBattleMainFunc = sub_80119B4; } } @@ -4142,18 +4142,18 @@ void sub_80119B4(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (GetBankIdentity(gActiveBank) == 0) + if (GetBattlerPosition(gActiveBattler) == 0) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && GetBankIdentity(gActiveBank) == 2) + && GetBattlerPosition(gActiveBattler) == 2) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } ewram16058 = 0; @@ -4167,12 +4167,12 @@ void unref_sub_8011A68(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { - EmitSendOutPoke(0, gBattlePartyID[gActiveBank], 0); - MarkBufferBankForExecution(gActiveBank); + EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], 0); + MarkBufferBankForExecution(gActiveBattler); } } ewram16058 = 0; @@ -4192,11 +4192,11 @@ void BattleBeginFirstTurn(void) { if (ewram16058 == 0) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBanksByTurnOrder[i] = i; - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattlersCount; j++) { if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 1) != 0) SwapTurnOrder(i, j); @@ -4208,7 +4208,7 @@ void BattleBeginFirstTurn(void) ewram160E6 = 1; return; } - while (ewram16058 < gNoOfAllBanks) + while (ewram16058 < gBattlersCount) { if (AbilityBattleEffects(0, gBanksByTurnOrder[ewram16058], 0, 0, 0) != 0) r9++; @@ -4220,7 +4220,7 @@ void BattleBeginFirstTurn(void) return; if (AbilityBattleEffects(11, 0, 0, 0, 0) != 0) return; - while (ewram160F9 < gNoOfAllBanks) + while (ewram160F9 < gBattlersCount) { if (ItemBattleEffects(0, gBanksByTurnOrder[ewram160F9], 0) != 0) r9++; @@ -4229,7 +4229,7 @@ void BattleBeginFirstTurn(void) return; } // Absolutely pointless for-loop that somehow doesn't get optimized out - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) ; for (i = 0; i < 4; i++) { @@ -4239,12 +4239,12 @@ void BattleBeginFirstTurn(void) } TurnValuesCleanUp(0); SpecialStatusesClear(); - ewram160A6 = gAbsentBankFlags; + ewram160A6 = gAbsentBattlerFlags; gBattleMainFunc = sub_8012324; ResetSentPokesToOpponentValue(); for (i = 0; i < 8; i++) gBattleCommunication[i] = 0; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBattleMons[i].status2 &= ~8; ewram16000 = 0; ewram16001 = 0; @@ -4253,7 +4253,7 @@ void BattleBeginFirstTurn(void) ewram1600C = 0; ewram16059 = 0; ewram1600E = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gRandomTurnNumber = Random(); } } @@ -4267,7 +4267,7 @@ void bc_8013B1C(void) gBattleMainFunc = BattleTurnPassed; for (i = 0; i < 8; i++) gBattleCommunication[i] = 0; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gBattleMons[i].status2 &= ~8; if ((gBattleMons[i].status1 & 7) && (gBattleMons[i].status2 & 0x1000)) @@ -4278,7 +4278,7 @@ void bc_8013B1C(void) ewram16110 = 0; ewram16111 = 0; ewram1600E = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; } } @@ -4308,7 +4308,7 @@ void BattleTurnPassed(void) ewram160A1 = 0; ewram1600C = 0; gBattleMoveDamage = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; for (i = 0; i < 5; i++) gBattleCommunication[i] = 0; if (gBattleOutcome != 0) @@ -4319,14 +4319,14 @@ void BattleTurnPassed(void) } if (gBattleResults.battleTurnCounter < 0xFF) gBattleResults.battleTurnCounter++; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gActionForBanks[i] = 0xFF; gChosenMovesByBanks[i] = 0; } for (i = 0; i < 4; i++) ewram16068arr(i) = 6; - ewram160A6 = gAbsentBankFlags; + ewram160A6 = gAbsentBattlerFlags; gBattleMainFunc = sub_8012324; gRandomTurnNumber = Random(); } @@ -4337,21 +4337,21 @@ u8 CanRunFromBattle(void) u8 r6; s32 i; - if (gBattleMons[gActiveBank].item == ITEM_ENIGMA_BERRY) - r2 = gEnigmaBerries[gActiveBank].holdEffect; + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) + r2 = gEnigmaBerries[gActiveBattler].holdEffect; else - r2 = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); - gStringBank = gActiveBank; + r2 = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + gStringBank = gActiveBattler; if (r2 == HOLD_EFFECT_CAN_ALWAYS_RUN) return 0; if (gBattleTypeFlags & BATTLE_TYPE_LINK) return 0; - if (gBattleMons[gActiveBank].ability == ABILITY_RUN_AWAY) + if (gBattleMons[gActiveBattler].ability == ABILITY_RUN_AWAY) return 0; - r6 = GetBankSide(gActiveBank); - for (i = 0; i < gNoOfAllBanks; i++) + r6 = GetBattlerSide(gActiveBattler); + for (i = 0; i < gBattlersCount; i++) { - if (r6 != GetBankSide(i) + if (r6 != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_SHADOW_TAG) { ewram16003 = i; @@ -4359,10 +4359,10 @@ u8 CanRunFromBattle(void) gBattleCommunication[5] = 2; return 2; } - if (r6 != GetBankSide(i) - && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE - && gBattleMons[gActiveBank].type1 != 2 - && gBattleMons[gActiveBank].type2 != 2 + if (r6 != GetBattlerSide(i) + && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE + && gBattleMons[gActiveBattler].type1 != 2 + && gBattleMons[gActiveBattler].type2 != 2 && gBattleMons[i].ability == ABILITY_ARENA_TRAP) { ewram16003 = i; @@ -4371,15 +4371,15 @@ u8 CanRunFromBattle(void) return 2; } } - i = AbilityBattleEffects(15, gActiveBank, ABILITY_MAGNET_PULL, 0, 0); - if (i != 0 && (gBattleMons[gActiveBank].type1 == 8 || gBattleMons[gActiveBank].type2 == 8)) + i = AbilityBattleEffects(15, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0); + if (i != 0 && (gBattleMons[gActiveBattler].type1 == 8 || gBattleMons[gActiveBattler].type2 == 8)) { ewram16003 = i - 1; gLastUsedAbility = gBattleMons[i - 1].ability; gBattleCommunication[5] = 2; return 2; } - if ((gBattleMons[gActiveBank].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) || (gStatuses3[gActiveBank] & STATUS3_ROOTED)) + if ((gBattleMons[gActiveBattler].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) || (gStatuses3[gActiveBattler] & STATUS3_ROOTED)) { gBattleCommunication[5] = 0; return 1; @@ -4400,7 +4400,7 @@ void sub_8012258(u8 a) for (i = 0; i < 3; i++) gUnknown_02038470[i] = ewram1606Carr(i, a); - r4 = pokemon_order_func(gBattlePartyID[a]); + r4 = pokemon_order_func(gBattlerPartyIndexes[a]); r1 = pokemon_order_func(ewram16068arr(a)); sub_8094C98(r4, r1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -4428,41 +4428,41 @@ void sub_8012324(void) gBattleCommunication[4] = 0; // inverted loop //_0801234C - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - r5 = GetBankIdentity(gActiveBank); - switch (gBattleCommunication[gActiveBank]) + r5 = GetBattlerPosition(gActiveBattler); + switch (gBattleCommunication[gActiveBattler]) { case 0: - ewram16068arr(gActiveBank) = 6; + ewram16068arr(gActiveBattler) = 6; if (!(gBattleTypeFlags & 0x40) && (r5 & 2) - && !(ewram160A6 & gBitTable[GetBankByIdentity(r5 ^ 2)]) - && gBattleCommunication[GetBankByIdentity(r5)] != 4) + && !(ewram160A6 & gBitTable[GetBattlerAtPosition(r5 ^ 2)]) + && gBattleCommunication[GetBattlerAtPosition(r5)] != 4) break; //_080123F8 - if (ewram160A6 & gBitTable[gActiveBank]) + if (ewram160A6 & gBitTable[gActiveBattler]) { - gActionForBanks[gActiveBank] = 13; + gActionForBanks[gActiveBattler] = 13; if (!(gBattleTypeFlags & 0x40)) - gBattleCommunication[gActiveBank] = 4; + gBattleCommunication[gActiveBattler] = 4; //_08012454 else - gBattleCommunication[gActiveBank] = 3; + gBattleCommunication[gActiveBattler] = 3; break; } //_08012468 - if ((gBattleMons[gActiveBank].status2 & 0x1000) - || (gBattleMons[gActiveBank].status2 & 0x10000000)) + if ((gBattleMons[gActiveBattler].status2 & 0x1000) + || (gBattleMons[gActiveBattler].status2 & 0x10000000)) { - gActionForBanks[gActiveBank] = 0; - gBattleCommunication[gActiveBank] = 3; + gActionForBanks[gActiveBattler] = 0; + gBattleCommunication[gActiveBattler] = 3; } else { Emitcmd18(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); - MarkBufferBankForExecution(gActiveBank); - gBattleCommunication[gActiveBank]++; + MarkBufferBankForExecution(gActiveBattler); + gBattleCommunication[gActiveBattler]++; } break; case 1: @@ -4483,18 +4483,18 @@ void sub_8012324(void) ldr r0, _08012340 @ =gBattleCommunication\n\ movs r1, 0\n\ strb r1, [r0, 0x4]\n\ - ldr r0, _08012344 @ =gActiveBank\n\ + ldr r0, _08012344 @ =gActiveBattler\n\ strb r1, [r0]\n\ - ldr r0, _08012348 @ =gNoOfAllBanks\n\ + ldr r0, _08012348 @ =gBattlersCount\n\ bl _08012F74\n\ .align 2, 0\n\ _08012340: .4byte gBattleCommunication\n\ -_08012344: .4byte gActiveBank\n\ -_08012348: .4byte gNoOfAllBanks\n\ +_08012344: .4byte gActiveBattler\n\ +_08012348: .4byte gBattlersCount\n\ _0801234C:\n\ - ldr r4, _08012374 @ =gActiveBank\n\ + ldr r4, _08012374 @ =gActiveBattler\n\ ldrb r0, [r4]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ lsrs r5, r0, 24\n\ ldr r1, _08012378 @ =gBattleCommunication\n\ @@ -4511,7 +4511,7 @@ _08012368:\n\ ldr r0, [r0]\n\ mov pc, r0\n\ .align 2, 0\n\ -_08012374: .4byte gActiveBank\n\ +_08012374: .4byte gActiveBattler\n\ _08012378: .4byte gBattleCommunication\n\ _0801237C: .4byte _08012380\n\ .align 2, 0\n\ @@ -4525,7 +4525,7 @@ _08012380:\n\ .4byte _08012F38\n\ _0801239C:\n\ ldr r4, _08012434 @ =gSharedMem\n\ - ldr r0, _08012438 @ =gActiveBank\n\ + ldr r0, _08012438 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ ldr r1, _0801243C @ =0x00016068\n\ adds r0, r1\n\ @@ -4545,7 +4545,7 @@ _0801239C:\n\ beq _080123F8\n\ eors r5, r1\n\ adds r0, r5, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r2, _08012444 @ =0x000160a6\n\ adds r1, r4, r2\n\ ldrb r1, [r1]\n\ @@ -4559,7 +4559,7 @@ _0801239C:\n\ bne _080123F8\n\ ldr r4, _0801244C @ =gBattleCommunication\n\ adds r0, r5, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ adds r0, r4\n\ @@ -4573,7 +4573,7 @@ _080123F8:\n\ adds r0, r3\n\ ldrb r3, [r0]\n\ ldr r1, _08012448 @ =gBitTable\n\ - ldr r4, _08012438 @ =gActiveBank\n\ + ldr r4, _08012438 @ =gActiveBattler\n\ ldrb r2, [r4]\n\ lsls r0, r2, 2\n\ adds r0, r1\n\ @@ -4599,7 +4599,7 @@ _080123F8:\n\ bl _08012F66\n\ .align 2, 0\n\ _08012434: .4byte gSharedMem\n\ -_08012438: .4byte gActiveBank\n\ +_08012438: .4byte gActiveBattler\n\ _0801243C: .4byte 0x00016068\n\ _08012440: .4byte gBattleTypeFlags\n\ _08012444: .4byte 0x000160a6\n\ @@ -4663,7 +4663,7 @@ _080124C4: .4byte gBattleBufferB\n\ _080124C8:\n\ ldr r4, _08012520 @ =gBattleExecBuffer\n\ ldr r1, _08012524 @ =gBitTable\n\ - ldr r3, _08012528 @ =gActiveBank\n\ + ldr r3, _08012528 @ =gActiveBattler\n\ ldrb r5, [r3]\n\ lsls r0, r5, 2\n\ adds r0, r1\n\ @@ -4708,7 +4708,7 @@ _08012514:\n\ .align 2, 0\n\ _08012520: .4byte gBattleExecBuffer\n\ _08012524: .4byte gBitTable\n\ -_08012528: .4byte gActiveBank\n\ +_08012528: .4byte gActiveBattler\n\ _0801252C: .4byte gActionForBanks\n\ _08012530: .4byte gBattleBufferB\n\ _08012534: .4byte _08012538\n\ @@ -4733,7 +4733,7 @@ _0801256C:\n\ cmp r0, 0\n\ beq _080125D0\n\ ldr r0, _080125B4 @ =gBattleCommunication\n\ - ldr r2, _080125B8 @ =gActiveBank\n\ + ldr r2, _080125B8 @ =gActiveBattler\n\ ldrb r1, [r2]\n\ adds r1, r0\n\ movs r4, 0\n\ @@ -4764,7 +4764,7 @@ _0801256C:\n\ bl _08012F90\n\ .align 2, 0\n\ _080125B4: .4byte gBattleCommunication\n\ -_080125B8: .4byte gActiveBank\n\ +_080125B8: .4byte gActiveBattler\n\ _080125BC: .4byte gSharedMem\n\ _080125C0: .4byte 0x00016060\n\ _080125C4: .4byte 0x00016094\n\ @@ -4772,7 +4772,7 @@ _080125C8: .4byte 0x00016010\n\ _080125CC: .4byte gBattleBufferB\n\ _080125D0:\n\ ldr r1, _080125FC @ =gDisableStructs\n\ - ldr r5, _08012600 @ =gActiveBank\n\ + ldr r5, _08012600 @ =gActiveBattler\n\ ldrb r4, [r5]\n\ lsls r0, r4, 3\n\ subs r0, r4\n\ @@ -4793,7 +4793,7 @@ _080125D0:\n\ bl _08012F90\n\ .align 2, 0\n\ _080125FC: .4byte gDisableStructs\n\ -_08012600: .4byte gActiveBank\n\ +_08012600: .4byte gActiveBattler\n\ _08012604: .4byte gChosenMovesByBanks\n\ _08012608: .4byte gBattleCommunication\n\ _0801260C:\n\ @@ -4902,12 +4902,12 @@ _080126D8: .4byte gUnknown_02024C1C\n\ _080126DC: .4byte BattleScript_ActionSelectionItemsCantBeUsed\n\ _080126E0:\n\ ldr r3, _08012738 @ =gSharedMem\n\ - ldr r5, _0801273C @ =gActiveBank\n\ + ldr r5, _0801273C @ =gActiveBattler\n\ ldrb r0, [r5]\n\ ldr r4, _08012740 @ =0x00016064\n\ adds r1, r0, r4\n\ adds r1, r3\n\ - ldr r2, _08012744 @ =gBattlePartyID\n\ + ldr r2, _08012744 @ =gBattlerPartyIndexes\n\ lsls r0, 1\n\ adds r0, r2\n\ ldrh r0, [r0]\n\ @@ -4947,9 +4947,9 @@ _08012722:\n\ b _0801286C\n\ .align 2, 0\n\ _08012738: .4byte gSharedMem\n\ -_0801273C: .4byte gActiveBank\n\ +_0801273C: .4byte gActiveBattler\n\ _08012740: .4byte 0x00016064\n\ -_08012744: .4byte gBattlePartyID\n\ +_08012744: .4byte gBattlerPartyIndexes\n\ _08012748: .4byte gBattleMons\n\ _0801274C: .4byte 0x0400e000\n\ _08012750: .4byte gStatuses3\n\ @@ -4994,7 +4994,7 @@ _08012758:\n\ cmp r0, 0x1A\n\ bne _080127E0\n\ _080127A8:\n\ - ldr r5, _08012808 @ =gActiveBank\n\ + ldr r5, _08012808 @ =gActiveBattler\n\ ldrb r1, [r5]\n\ movs r0, 0\n\ str r0, [sp]\n\ @@ -5030,7 +5030,7 @@ _080127E0:\n\ lsrs r1, 24\n\ ldr r0, _08012810 @ =gLastUsedAbility\n\ ldrb r3, [r0]\n\ - ldr r0, _08012808 @ =gActiveBank\n\ + ldr r0, _08012808 @ =gActiveBattler\n\ ldrb r2, [r0]\n\ lsls r0, r2, 1\n\ adds r0, r2\n\ @@ -5042,12 +5042,12 @@ _080127E0:\n\ bl EmitChoosePokemon\n\ b _0801289E\n\ .align 2, 0\n\ -_08012808: .4byte gActiveBank\n\ +_08012808: .4byte gActiveBattler\n\ _0801280C: .4byte gBattleMons\n\ _08012810: .4byte gLastUsedAbility\n\ _08012814: .4byte gSharedMem + 0x1606C\n\ _08012818:\n\ - ldr r0, _08012830 @ =gActiveBank\n\ + ldr r0, _08012830 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ mov r8, r0\n\ cmp r1, 0x2\n\ @@ -5060,7 +5060,7 @@ _08012818:\n\ ldr r4, _0801283C @ =0x00016068\n\ b _08012854\n\ .align 2, 0\n\ -_08012830: .4byte gActiveBank\n\ +_08012830: .4byte gActiveBattler\n\ _08012834: .4byte gActionForBanks\n\ _08012838: .4byte gSharedMem\n\ _0801283C: .4byte 0x00016068\n\ @@ -5098,7 +5098,7 @@ _08012878: .4byte gSharedMem\n\ _0801287C: .4byte 0x00016069\n\ _08012880: .4byte 0x0001606c\n\ _08012884:\n\ - ldr r0, _080128A8 @ =gActiveBank\n\ + ldr r0, _080128A8 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ lsls r0, r1, 1\n\ adds r0, r1\n\ @@ -5111,12 +5111,12 @@ _08012884:\n\ movs r3, 0\n\ bl EmitChoosePokemon\n\ _0801289E:\n\ - ldr r0, _080128A8 @ =gActiveBank\n\ + ldr r0, _080128A8 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ b _08012968\n\ .align 2, 0\n\ -_080128A8: .4byte gActiveBank\n\ +_080128A8: .4byte gActiveBattler\n\ _080128AC: .4byte gSharedMem + 0x1606C\n\ _080128B0:\n\ bl PlayerPartyAndPokemonStorageFull\n\ @@ -5124,7 +5124,7 @@ _080128B0:\n\ cmp r0, 0\n\ beq _08012968\n\ ldr r1, _080128EC @ =gUnknown_02024C1C\n\ - ldr r2, _080128F0 @ =gActiveBank\n\ + ldr r2, _080128F0 @ =gActiveBattler\n\ ldrb r0, [r2]\n\ lsls r0, 2\n\ adds r0, r1\n\ @@ -5150,14 +5150,14 @@ _080128B0:\n\ b _08012F90\n\ .align 2, 0\n\ _080128EC: .4byte gUnknown_02024C1C\n\ -_080128F0: .4byte gActiveBank\n\ +_080128F0: .4byte gActiveBattler\n\ _080128F4: .4byte BattleScript_PrintFullBox\n\ _080128F8: .4byte gBattleCommunication\n\ _080128FC: .4byte gSharedMem\n\ _08012900: .4byte 0x00016060\n\ _08012904: .4byte 0x00016094\n\ _08012908:\n\ - ldr r4, _08012924 @ =gActiveBank\n\ + ldr r4, _08012924 @ =gActiveBattler\n\ ldrb r0, [r4]\n\ lsls r1, r0, 1\n\ adds r1, r0\n\ @@ -5169,7 +5169,7 @@ _08012908:\n\ bl MarkBufferBankForExecution\n\ b _08012968\n\ .align 2, 0\n\ -_08012924: .4byte gActiveBank\n\ +_08012924: .4byte gActiveBattler\n\ _08012928: .4byte gSharedMem + 0x1606C\n\ _0801292C:\n\ ldr r4, _08012964 @ =gBattleCommunication\n\ @@ -5180,12 +5180,12 @@ _0801292C:\n\ movs r0, 0x6\n\ strb r0, [r1]\n\ ldrb r0, [r3]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x2\n\ eors r0, r1\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ adds r0, r4\n\ @@ -5206,7 +5206,7 @@ _08012968:\n\ cmp r0, 0x8\n\ bne _080129A8\n\ ldr r0, _08012998 @ =gBattleBufferB\n\ - ldr r4, _0801299C @ =gActiveBank\n\ + ldr r4, _0801299C @ =gActiveBattler\n\ ldrb r1, [r4]\n\ lsls r1, 9\n\ adds r0, 0x1\n\ @@ -5223,7 +5223,7 @@ _08012968:\n\ .align 2, 0\n\ _08012994: .4byte gBattleTypeFlags\n\ _08012998: .4byte gBattleBufferB\n\ -_0801299C: .4byte gActiveBank\n\ +_0801299C: .4byte gActiveBattler\n\ _080129A0: .4byte BattleScript_PrintCantRunFromTrainer\n\ _080129A4: .4byte gBattleCommunication\n\ _080129A8:\n\ @@ -5232,7 +5232,7 @@ _080129A8:\n\ cmp r0, 0\n\ beq _08012A14\n\ ldr r0, _080129F4 @ =gBattleBufferB\n\ - ldr r3, _080129F8 @ =gActiveBank\n\ + ldr r3, _080129F8 @ =gActiveBattler\n\ ldrb r2, [r3]\n\ lsls r1, r2, 9\n\ adds r0, 0x1\n\ @@ -5266,7 +5266,7 @@ _080129CC:\n\ b _08012F90\n\ .align 2, 0\n\ _080129F4: .4byte gBattleBufferB\n\ -_080129F8: .4byte gActiveBank\n\ +_080129F8: .4byte gActiveBattler\n\ _080129FC: .4byte gUnknown_02024C1C\n\ _08012A00: .4byte BattleScript_PrintCantEscapeFromBattle\n\ _08012A04: .4byte gBattleCommunication\n\ @@ -5275,17 +5275,17 @@ _08012A0C: .4byte 0x00016060\n\ _08012A10: .4byte 0x00016094\n\ _08012A14:\n\ ldr r2, _08012A20 @ =gBattleCommunication\n\ - ldr r0, _08012A24 @ =gActiveBank\n\ + ldr r0, _08012A24 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012A20: .4byte gBattleCommunication\n\ -_08012A24: .4byte gActiveBank\n\ +_08012A24: .4byte gActiveBattler\n\ _08012A28:\n\ ldr r4, _08012A6C @ =gBattleExecBuffer\n\ ldr r1, _08012A70 @ =gBitTable\n\ - ldr r3, _08012A74 @ =gActiveBank\n\ + ldr r3, _08012A74 @ =gActiveBattler\n\ ldrb r5, [r3]\n\ lsls r0, r5, 2\n\ adds r0, r1\n\ @@ -5322,7 +5322,7 @@ _08012A62:\n\ .align 2, 0\n\ _08012A6C: .4byte gBattleExecBuffer\n\ _08012A70: .4byte gBitTable\n\ -_08012A74: .4byte gActiveBank\n\ +_08012A74: .4byte gActiveBattler\n\ _08012A78: .4byte gActionForBanks\n\ _08012A7C: .4byte _08012A80\n\ .align 2, 0\n\ @@ -5462,7 +5462,7 @@ _08012BA8: .4byte 0x00016010\n\ _08012BAC: .4byte gBattleCommunication\n\ _08012BB0:\n\ ldr r2, _08012BD8 @ =gBattleBufferB\n\ - ldr r5, _08012BDC @ =gActiveBank\n\ + ldr r5, _08012BDC @ =gActiveBattler\n\ ldrb r4, [r5]\n\ lsls r1, r4, 9\n\ adds r0, r2, 0x1\n\ @@ -5484,12 +5484,12 @@ _08012BCE:\n\ b _08012E3C\n\ .align 2, 0\n\ _08012BD8: .4byte gBattleBufferB\n\ -_08012BDC: .4byte gActiveBank\n\ +_08012BDC: .4byte gActiveBattler\n\ _08012BE0: .4byte gLastUsedItem\n\ _08012BE4: .4byte gBattleCommunication\n\ _08012BE8:\n\ ldr r4, _08012C04 @ =gBattleBufferB\n\ - ldr r7, _08012C08 @ =gActiveBank\n\ + ldr r7, _08012C08 @ =gActiveBattler\n\ ldrb r2, [r7]\n\ lsls r0, r2, 9\n\ adds r1, r4, 0x1\n\ @@ -5505,7 +5505,7 @@ _08012BFE:\n\ b _08012F66\n\ .align 2, 0\n\ _08012C04: .4byte gBattleBufferB\n\ -_08012C08: .4byte gActiveBank\n\ +_08012C08: .4byte gActiveBattler\n\ _08012C0C: .4byte gBattleCommunication\n\ _08012C10:\n\ ldr r0, _08012CC4 @ =gSharedMem\n\ @@ -5615,35 +5615,35 @@ _08012CE0:\n\ orrs r0, r1\n\ str r0, [r2]\n\ ldr r2, _08012CFC @ =gBattleCommunication\n\ - ldr r0, _08012D00 @ =gActiveBank\n\ + ldr r0, _08012D00 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012CF8: .4byte gHitMarker\n\ _08012CFC: .4byte gBattleCommunication\n\ -_08012D00: .4byte gActiveBank\n\ +_08012D00: .4byte gActiveBattler\n\ _08012D04:\n\ ldr r2, _08012D10 @ =gBattleCommunication\n\ - ldr r0, _08012D14 @ =gActiveBank\n\ + ldr r0, _08012D14 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D10: .4byte gBattleCommunication\n\ -_08012D14: .4byte gActiveBank\n\ +_08012D14: .4byte gActiveBattler\n\ _08012D18:\n\ ldr r2, _08012D24 @ =gBattleCommunication\n\ - ldr r0, _08012D28 @ =gActiveBank\n\ + ldr r0, _08012D28 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D24: .4byte gBattleCommunication\n\ -_08012D28: .4byte gActiveBank\n\ +_08012D28: .4byte gActiveBattler\n\ _08012D2C:\n\ ldr r2, _08012D50 @ =gBattleBufferB\n\ - ldr r0, _08012D54 @ =gActiveBank\n\ + ldr r0, _08012D54 @ =gActiveBattler\n\ ldrb r4, [r0]\n\ lsls r1, r4, 9\n\ adds r0, r2, 0x1\n\ @@ -5663,17 +5663,17 @@ _08012D4A:\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D50: .4byte gBattleBufferB\n\ -_08012D54: .4byte gActiveBank\n\ +_08012D54: .4byte gActiveBattler\n\ _08012D58: .4byte gBattleCommunication\n\ _08012D5C:\n\ ldr r2, _08012D68 @ =gBattleCommunication\n\ - ldr r0, _08012D6C @ =gActiveBank\n\ + ldr r0, _08012D6C @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D68: .4byte gBattleCommunication\n\ -_08012D6C: .4byte gActiveBank\n\ +_08012D6C: .4byte gActiveBattler\n\ _08012D70:\n\ ldr r2, _08012D88 @ =gHitMarker\n\ ldr r0, [r2]\n\ @@ -5682,27 +5682,27 @@ _08012D70:\n\ orrs r0, r1\n\ str r0, [r2]\n\ ldr r2, _08012D8C @ =gBattleCommunication\n\ - ldr r0, _08012D90 @ =gActiveBank\n\ + ldr r0, _08012D90 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D88: .4byte gHitMarker\n\ _08012D8C: .4byte gBattleCommunication\n\ -_08012D90: .4byte gActiveBank\n\ +_08012D90: .4byte gActiveBattler\n\ _08012D94:\n\ ldr r2, _08012DA0 @ =gBattleCommunication\n\ - ldr r0, _08012DA4 @ =gActiveBank\n\ + ldr r0, _08012DA4 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012DA0: .4byte gBattleCommunication\n\ -_08012DA4: .4byte gActiveBank\n\ +_08012DA4: .4byte gActiveBattler\n\ _08012DA8:\n\ ldr r3, _08012E10 @ =gBattleExecBuffer\n\ ldr r4, _08012E14 @ =gBitTable\n\ - ldr r0, _08012E18 @ =gActiveBank\n\ + ldr r0, _08012E18 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ lsls r0, 2\n\ adds r0, r4\n\ @@ -5735,7 +5735,7 @@ _08012DD2:\n\ bne _08012E06\n\ adds r0, r5, 0\n\ eors r0, r1\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r1, _08012E20 @ =gSharedMem\n\ ldr r2, _08012E24 @ =0x000160a6\n\ adds r1, r2\n\ @@ -5755,7 +5755,7 @@ _08012E06:\n\ .align 2, 0\n\ _08012E10: .4byte gBattleExecBuffer\n\ _08012E14: .4byte gBitTable\n\ -_08012E18: .4byte gActiveBank\n\ +_08012E18: .4byte gActiveBattler\n\ _08012E1C: .4byte gBattleTypeFlags\n\ _08012E20: .4byte gSharedMem\n\ _08012E24: .4byte 0x000160a6\n\ @@ -5764,7 +5764,7 @@ _08012E28:\n\ movs r1, 0x1\n\ bl EmitLinkStandbyMsg\n\ _08012E30:\n\ - ldr r4, _08012E48 @ =gActiveBank\n\ + ldr r4, _08012E48 @ =gActiveBattler\n\ _08012E32:\n\ ldrb r0, [r4]\n\ bl MarkBufferBankForExecution\n\ @@ -5778,12 +5778,12 @@ _08012E3E:\n\ strb r0, [r1]\n\ b _08012F66\n\ .align 2, 0\n\ -_08012E48: .4byte gActiveBank\n\ +_08012E48: .4byte gActiveBattler\n\ _08012E4C: .4byte gBattleCommunication\n\ _08012E50:\n\ ldr r3, _08012E84 @ =gBattleExecBuffer\n\ ldr r1, _08012E88 @ =gBitTable\n\ - ldr r0, _08012E8C @ =gActiveBank\n\ + ldr r0, _08012E8C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ lsls r0, 2\n\ adds r0, r1\n\ @@ -5809,11 +5809,11 @@ _08012E50:\n\ .align 2, 0\n\ _08012E84: .4byte gBattleExecBuffer\n\ _08012E88: .4byte gBitTable\n\ -_08012E8C: .4byte gActiveBank\n\ +_08012E8C: .4byte gActiveBattler\n\ _08012E90: .4byte gBattleCommunication\n\ _08012E94:\n\ ldr r2, _08012EB8 @ =gSharedMem\n\ - ldr r5, _08012EBC @ =gActiveBank\n\ + ldr r5, _08012EBC @ =gActiveBattler\n\ ldrb r1, [r5]\n\ ldr r3, _08012EC0 @ =0x00016060\n\ adds r0, r1, r3\n\ @@ -5831,7 +5831,7 @@ _08012E94:\n\ b _08012F66\n\ .align 2, 0\n\ _08012EB8: .4byte gSharedMem\n\ -_08012EBC: .4byte gActiveBank\n\ +_08012EBC: .4byte gActiveBattler\n\ _08012EC0: .4byte 0x00016060\n\ _08012EC4: .4byte gBattleCommunication\n\ _08012EC8: .4byte 0x00016094\n\ @@ -5887,7 +5887,7 @@ _08012F34: .4byte gBattleScriptingCommandsTable\n\ _08012F38:\n\ ldr r3, _08012FA0 @ =gBattleExecBuffer\n\ ldr r1, _08012FA4 @ =gBitTable\n\ - ldr r0, _08012FA8 @ =gActiveBank\n\ + ldr r0, _08012FA8 @ =gActiveBattler\n\ ldrb r4, [r0]\n\ lsls r0, r4, 2\n\ adds r0, r1\n\ @@ -5910,11 +5910,11 @@ _08012F60:\n\ adds r0, r4, r0\n\ strb r3, [r0]\n\ _08012F66:\n\ - ldr r0, _08012FA8 @ =gActiveBank\n\ + ldr r0, _08012FA8 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, 0x1\n\ strb r1, [r0]\n\ - ldr r0, _08012FB0 @ =gNoOfAllBanks\n\ + ldr r0, _08012FB0 @ =gBattlersCount\n\ lsls r1, 24\n\ lsrs r1, 24\n\ _08012F74:\n\ @@ -5944,9 +5944,9 @@ _08012F90:\n\ .align 2, 0\n\ _08012FA0: .4byte gBattleExecBuffer\n\ _08012FA4: .4byte gBitTable\n\ -_08012FA8: .4byte gActiveBank\n\ +_08012FA8: .4byte gActiveBattler\n\ _08012FAC: .4byte gBattleCommunication\n\ -_08012FB0: .4byte gNoOfAllBanks\n\ +_08012FB0: .4byte gBattlersCount\n\ _08012FB4: .4byte gBattleMainFunc\n\ _08012FB8: .4byte SetActionsAndBanksTurnOrder\n\ .syntax divided\n"); @@ -6017,7 +6017,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) } // Only give badge speed boost to the player's mon. - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBankSide(bank1) == 0) + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBattlerSide(bank1) == 0) bank1AdjustedSpeed = (bank1AdjustedSpeed * 110) / 100; if (heldItemEffect == HOLD_EFFECT_MACHO_BRACE) @@ -6045,7 +6045,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) } // Only give badge speed boost to the player's mon. - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBankSide(bank2) == 0) + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBattlerSide(bank2) == 0) { bank2AdjustedSpeed = (bank2AdjustedSpeed * 110) / 100; } @@ -6117,10 +6117,10 @@ void SetActionsAndBanksTurnOrder(void) if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; + gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[var] = gActiveBattler; var++; } } @@ -6128,9 +6128,9 @@ void SetActionsAndBanksTurnOrder(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActionForBanks[gActiveBank] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == ACTION_RUN) { var = 5; break; @@ -6141,19 +6141,19 @@ void SetActionsAndBanksTurnOrder(void) { if (gActionForBanks[0] == ACTION_RUN) { - gActiveBank = 0; + gActiveBattler = 0; var = 5; } } if (var == 5) { - gActionsByTurnOrder[0] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[0] = gActiveBank; + gActionsByTurnOrder[0] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[0] = gActiveBattler; var = 1; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (i != gActiveBank) + if (i != gActiveBattler) { gActionsByTurnOrder[var] = gActionForBanks[i]; gBanksByTurnOrder[var] = i; @@ -6161,32 +6161,32 @@ void SetActionsAndBanksTurnOrder(void) } } gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; - eFocusPunchBank = 0; + eFocusPunchBattler = 0; return; } else { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActionForBanks[gActiveBank] == ACTION_USE_ITEM || gActionForBanks[gActiveBank] == ACTION_SWITCH) + if (gActionForBanks[gActiveBattler] == ACTION_USE_ITEM || gActionForBanks[gActiveBattler] == ACTION_SWITCH) { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; + gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[var] = gActiveBattler; var++; } } - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActionForBanks[gActiveBank] != ACTION_USE_ITEM && gActionForBanks[gActiveBank] != ACTION_SWITCH) + if (gActionForBanks[gActiveBattler] != ACTION_USE_ITEM && gActionForBanks[gActiveBattler] != ACTION_SWITCH) { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; + gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[var] = gActiveBattler; var++; } } - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattlersCount; j++) { u8 bank1 = gBanksByTurnOrder[i]; u8 bank2 = gBanksByTurnOrder[j]; @@ -6204,7 +6204,7 @@ void SetActionsAndBanksTurnOrder(void) } gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; - eFocusPunchBank = 0; + eFocusPunchBattler = 0; } static void TurnValuesCleanUp(bool8 var0) @@ -6212,32 +6212,32 @@ static void TurnValuesCleanUp(bool8 var0) s32 i; u8 *dataPtr; - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (var0) { - gProtectStructs[gActiveBank].protected = 0; - gProtectStructs[gActiveBank].endured = 0; + gProtectStructs[gActiveBattler].protected = 0; + gProtectStructs[gActiveBattler].endured = 0; } else { - dataPtr = (u8*)(&gProtectStructs[gActiveBank]); + dataPtr = (u8*)(&gProtectStructs[gActiveBattler]); for (i = 0; i < sizeof(struct ProtectStruct); i++) dataPtr[i] = 0; - if (gDisableStructs[gActiveBank].isFirstTurn) - gDisableStructs[gActiveBank].isFirstTurn--; + if (gDisableStructs[gActiveBattler].isFirstTurn) + gDisableStructs[gActiveBattler].isFirstTurn--; - if (gDisableStructs[gActiveBank].rechargeCounter) + if (gDisableStructs[gActiveBattler].rechargeCounter) { - gDisableStructs[gActiveBank].rechargeCounter--; - if (gDisableStructs[gActiveBank].rechargeCounter == 0) - gBattleMons[gActiveBank].status2 &= ~(STATUS2_RECHARGE); + gDisableStructs[gActiveBattler].rechargeCounter--; + if (gDisableStructs[gActiveBattler].rechargeCounter == 0) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_RECHARGE); } } - if (gDisableStructs[gActiveBank].substituteHP == 0) - gBattleMons[gActiveBank].status2 &= ~(STATUS2_SUBSTITUTE); + if (gDisableStructs[gActiveBattler].substituteHP == 0) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_SUBSTITUTE); } gSideTimers[0].followmeTimer = 0; @@ -6246,10 +6246,10 @@ static void TurnValuesCleanUp(bool8 var0) void SpecialStatusesClear(void) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { s32 i; - u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBank]); + u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBattler]); for (i = 0; i < sizeof(struct SpecialStatus); i++) dataPtr[i] = 0; @@ -6260,14 +6260,14 @@ void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) { if (!(gHitMarker & HITMARKER_RUN)) { - while (eFocusPunchBank < gNoOfAllBanks) + while (eFocusPunchBattler < gBattlersCount) { - gActiveBank = gBankAttacker = eFocusPunchBank; - eFocusPunchBank++; - if (gChosenMovesByBanks[gActiveBank] == MOVE_FOCUS_PUNCH - && !(gBattleMons[gActiveBank].status1 & STATUS_SLEEP) + gActiveBattler = gBankAttacker = eFocusPunchBattler; + eFocusPunchBattler++; + if (gChosenMovesByBanks[gActiveBattler] == MOVE_FOCUS_PUNCH + && !(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP) && !(gDisableStructs[gBankAttacker].truantCounter) - && !(gProtectStructs[gActiveBank].onlyStruggle)) + && !(gProtectStructs[gActiveBattler].onlyStruggle)) { BattleScriptExecute(BattleScript_FocusPunchSetUp); return; @@ -6300,7 +6300,7 @@ static void RunTurnActionsFunctions(void) gBattleStruct->unk16057 = gCurrentTurnActionNumber; gUnknown_081FA640[gCurrentActionFuncId](); - if (gCurrentTurnActionNumber >= gNoOfAllBanks) // everyone did their actions, turn finished + if (gCurrentTurnActionNumber >= gBattlersCount) // everyone did their actions, turn finished { gHitMarker &= ~(HITMARKER_x100000); gBattleMainFunc = gUnknown_081FA678[gBattleOutcome & 0x7F]; @@ -6322,7 +6322,7 @@ void HandleEndTurn_BattleWon(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); } @@ -6372,7 +6372,7 @@ void HandleEndTurn_BattleLost(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); } @@ -6408,7 +6408,7 @@ void HandleEndTurn_MonFled(void) { gCurrentActionFuncId = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]); + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker]); gBattlescriptCurrInstr = BattleScript_WildMonFled; gBattleMainFunc = HandleEndTurn_FinishBattle; @@ -6425,19 +6425,19 @@ void HandleEndTurn_FinishBattle(void) | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_BATTLE_TOWER))) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (gBattleResults.poke1Species == SPECIES_NONE) { - gBattleResults.poke1Species = gBattleMons[gActiveBank].species; - StringCopy(gBattleResults.pokeString1, gBattleMons[gActiveBank].nickname); + gBattleResults.poke1Species = gBattleMons[gActiveBattler].species; + StringCopy(gBattleResults.pokeString1, gBattleMons[gActiveBattler].nickname); } else { - gBattleResults.opponentSpecies = gBattleMons[gActiveBank].species; - StringCopy(gBattleResults.pokeString2, gBattleMons[gActiveBank].nickname); + gBattleResults.opponentSpecies = gBattleMons[gActiveBattler].species; + StringCopy(gBattleResults.pokeString2, gBattleMons[gActiveBattler].nickname); } } } @@ -6572,7 +6572,7 @@ void HandleAction_UseMove(void) gCritMultiplier = 1; eDmgMultiplier = 1; ewram160E7 = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gMultiHitCounter = 0; gBattleCommunication[6] = 0; gCurrMovePos = gUnknown_02024BE5 = ewram1608Carr(gBankAttacker); @@ -6618,16 +6618,16 @@ void HandleAction_UseMove(void) gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; } - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) gBattleResults.lastUsedMove = gCurrentMove; else gBattleResults.opponentMove = gCurrentMove; // choose target - side = GetBankSide(gBankAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBankAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer != 0 && gBattleMoves[gCurrentMove].target == MOVE_TARGET_SELECTED - && GetBankSide(gBankAttacker) != GetBankSide(gSideTimers[side].followmeTarget) + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget) && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) { gBankTarget = gSideTimers[side].followmeTarget; @@ -6639,34 +6639,34 @@ void HandleAction_UseMove(void) && gBattleMons[ewram16010arr(gBankAttacker)].ability != ABILITY_LIGHTNING_ROD && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) { - side = GetBankSide(gBankAttacker); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + side = GetBattlerSide(gBankAttacker); + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (side != GetBankSide(gActiveBank) - && ewram16010arr(gBankAttacker) != gActiveBank - && gBattleMons[gActiveBank].ability == ABILITY_LIGHTNING_ROD - && BankGetTurnOrder(gActiveBank) < var) + if (side != GetBattlerSide(gActiveBattler) + && ewram16010arr(gBankAttacker) != gActiveBattler + && gBattleMons[gActiveBattler].ability == ABILITY_LIGHTNING_ROD + && BankGetTurnOrder(gActiveBattler) < var) { - var = BankGetTurnOrder(gActiveBank); + var = BankGetTurnOrder(gActiveBattler); } } if (var == 4) { if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } } else @@ -6674,66 +6674,66 @@ void HandleAction_UseMove(void) gBankTarget = ewram16010arr(gBankAttacker); } - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) { - if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) + if (GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } else { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } } } else { - gActiveBank = gBanksByTurnOrder[var]; - RecordAbilityBattle(gActiveBank, gBattleMons[gActiveBank].ability); - gSpecialStatuses[gActiveBank].lightningRodRedirected = 1; - gBankTarget = gActiveBank; + gActiveBattler = gBanksByTurnOrder[var]; + RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + gSpecialStatuses[gActiveBattler].lightningRodRedirected = 1; + gBankTarget = gActiveBattler; } } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (gAbsentBankFlags & gBitTable[gBankTarget] - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) + if (gAbsentBattlerFlags & gBitTable[gBankTarget] + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } } else { gBankTarget = ewram16010arr(gBankAttacker); - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) { - if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) + if (GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } else { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } } } @@ -6777,7 +6777,7 @@ void HandleAction_UseItem(void) { gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; } - else if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + else if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0]; } @@ -6919,7 +6919,7 @@ _08014844: .4byte gBattlescriptCurrInstr\n\ _08014848: .4byte gBattlescriptsForRunningByItem\n\ _0801484C:\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0801486C\n\ @@ -7255,7 +7255,7 @@ bool8 TryRunFromBattle(u8 bank) if (effect) { - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = BATTLE_RAN; } @@ -7268,18 +7268,18 @@ void HandleAction_Run(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - if (gActionForBanks[gActiveBank] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == ACTION_RUN) gBattleOutcome |= BATTLE_LOST; } else { - if (gActionForBanks[gActiveBank] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == ACTION_RUN) gBattleOutcome |= BATTLE_WON; } } @@ -7288,7 +7288,7 @@ void HandleAction_Run(void) } else { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { if (!TryRunFromBattle(gBankAttacker)) // failed to run away { @@ -7308,7 +7308,7 @@ void HandleAction_Run(void) } else { - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = BATTLE_POKE_FLED; } } @@ -7388,7 +7388,7 @@ void HandleAction_SafriZoneRun(void) { gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; PlaySE(SE_NIGERU); - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = BATTLE_RAN; } @@ -7398,7 +7398,7 @@ void HandleAction_Action9(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker]) gBattlescriptCurrInstr = gBattlescriptsForSafariActions[3]; gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index f10cd2506..8f5ea7cae 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -98,23 +98,23 @@ enum extern u8 gUnknown_02023A14_50; extern u8 gCritMultiplier; extern s32 gBattleMoveDamage; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; extern u16 gBattleTypeFlags; extern const struct BaseStats gBaseStats[]; -extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u8 gActiveBank; +extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; +extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; -extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT]; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; +extern u8 gBanksByTurnOrder[MAX_BATTLERS_COUNT]; +extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT]; extern u16 gCurrentMove; extern u8 gLastUsedAbility; extern u16 gBattleWeather; extern u8 gStringBank; extern u8 gEffectBank; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u16 gLastUsedMove[4]; extern u16 gLockedMoves[4]; @@ -132,7 +132,7 @@ extern const u8* gBattlescriptCurrInstr; extern u8 gCurrMovePos; extern u8 gCurrentActionFuncId; extern u32 gHitMarker; -extern u8 gBattleMoveFlags; +extern u8 gMoveResultFlags; extern u8 gBattleCommunication[]; extern u16 gLastLandedMoves[4]; extern u16 gLastHitByType[4]; @@ -142,8 +142,8 @@ extern const u8 gTypeEffectiveness[]; extern u16 gLastUsedItem; extern u16 gBattleMovePower; extern s32 gHpDealt; -extern s32 gTakenDmg[BATTLE_BANKS_COUNT]; -extern u8 gTakenDmgBanks[BATTLE_BANKS_COUNT]; +extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; +extern u8 gTakenDmgBanks[MAX_BATTLERS_COUNT]; extern const u16 gMissStringIds[]; extern u8 gSentPokesToOpponent[2]; extern u8 gBank1; @@ -192,8 +192,8 @@ void RecordItemBattle(u8 bank, u8 holdEffect); static bool8 IsTwoTurnsMove(u16 move); static void TrySetDestinyBondToHappen(void); static void CheckWonderGuardAndLevitate(void); -u8 GetBankIdentity(u8 bank); -u8 GetBankSide(u8 bank); +u8 GetBattlerPosition(u8 bank); +u8 GetBattlerSide(u8 bank); u8 GetBattleBank(u8 bankValue); s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 bank_atk, u8 bank_def); static u8 AttacksThisTurn(u8 bank, u16 move); //Note: returns 1 if it's a charging turn, otherwise 2 @@ -212,7 +212,7 @@ u8 GetSetPokedexFlag(u16 nationalNum, u8 caseID); u16 SpeciesToNationalPokedexNum(u16 species); u8 sub_803FC34(u8 bank); u16 sub_803FBFC(u8 a); -u8 GetBankByIdentity(u8 ID); +u8 GetBattlerAtPosition(u8 ID); void sub_8012258(u8); //MonTryLearningNewMove teach poke a move u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move); @@ -1119,7 +1119,7 @@ static void atk00_attackcanceler(void) && !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) { gBattlescriptCurrInstr = BattleScript_NoPPForMove; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; return; } @@ -1136,7 +1136,7 @@ static void atk00_attackcanceler(void) gHitMarker |= HITMARKER_OBEYS; return; default: - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; return; } } @@ -1152,7 +1152,7 @@ static void atk00_attackcanceler(void) return; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if ((gProtectStructs[gBanksByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) { @@ -1178,7 +1178,7 @@ static void atk00_attackcanceler(void) && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)))) { CancelMultiTurnMoves(gBankAttacker); - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = 1; @@ -1193,7 +1193,7 @@ static void atk00_attackcanceler(void) static void JumpIfMoveFailed(u8 adder, u16 move) { const u8 *BS_ptr = gBattlescriptCurrInstr + adder; - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; @@ -1212,7 +1212,7 @@ static void atk40_jumpifaffectedbyprotect(void) { if (TARGET_PROTECT_AFFECTED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(5, 0); gBattleCommunication[6] = 1; } @@ -1227,7 +1227,7 @@ static bool8 JumpIfMoveAffectedByProtect(u16 move) bool8 affected = FALSE; if (TARGET_PROTECT_AFFECTED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); gBattleCommunication[6] = 1; affected = TRUE; @@ -1245,7 +1245,7 @@ static bool8 AccuracyCalcHelper(u16 move) if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBankTarget] & STATUS3_ON_AIR) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } @@ -1254,7 +1254,7 @@ static bool8 AccuracyCalcHelper(u16 move) if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBankTarget] & STATUS3_UNDERGROUND) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } @@ -1263,7 +1263,7 @@ static bool8 AccuracyCalcHelper(u16 move) if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBankTarget] & STATUS3_UNDERWATER) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } @@ -1359,7 +1359,7 @@ static void atk01_accuracycheck(void) // final calculation if ((Random() % 100 + 1) > calc) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && (gBattleMoves[move].target == 0x8 || gBattleMoves[move].target == 0x20)) gBattleCommunication[6] = 2; @@ -1421,7 +1421,7 @@ static void atk03_ppreduce(void) if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) && !((gDisableStructs[gBankAttacker].unk18_b) & gBitTable[gCurrMovePos])) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBankAttacker].pp[gCurrMovePos]); MarkBufferBankForExecution(gBankAttacker); } @@ -1470,7 +1470,7 @@ static void atk04_critcalc(void) static void atk05_damagecalc(void) { - u16 side_hword = gSideAffecting[GetBankIdentity(gBankTarget) & 1]; + u16 side_hword = gSideAffecting[GetBattlerPosition(gBankTarget) & 1]; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, side_hword, gDynamicBasePower, gBattleStruct->dynamicMoveType, gBankAttacker, gBankTarget); @@ -1486,7 +1486,7 @@ static void atk05_damagecalc(void) void AI_CalcDmg(u8 BankAtk, u8 BankDef) { - u16 side_hword = gSideAffecting[GetBankIdentity(BankDef) & 1]; + u16 side_hword = gSideAffecting[GetBattlerPosition(BankDef) & 1]; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[BankAtk], &gBattleMons[BankDef], gCurrentMove, side_hword, gDynamicBasePower, gBattleStruct->dynamicMoveType, BankAtk, BankDef); @@ -1508,26 +1508,26 @@ static void ModulateDmgByType(u8 multiplier) switch (multiplier) { case 0: //no effect - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; - gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE; - gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; + gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE; break; case 5: //not very effecting - if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) - gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE; + if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) + gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE; else - gBattleMoveFlags |= MOVESTATUS_NOTVERYEFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } break; case 20: //super effective - if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) - gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE; + if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) + gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; else - gBattleMoveFlags |= MOVESTATUS_SUPEREFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_SUPER_EFFECTIVE; } break; } @@ -1554,7 +1554,7 @@ static void atk06_typecalc(void) if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { gLastUsedAbility = gBattleMons[gBankTarget].ability; - gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = move_type; @@ -1587,17 +1587,17 @@ static void atk06_typecalc(void) } if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 - && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + && (!(gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) || ((gMoveResultFlags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[gCurrentMove].power) { gLastUsedAbility = ABILITY_WONDER_GUARD; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = 3; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) gProtectStructs[gBankAttacker].notEffective = 1; } gBattlescriptCurrInstr++; @@ -1637,14 +1637,14 @@ static void CheckWonderGuardAndLevitate(void) //check no effect if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; gProtectStructs[gBankAttacker].notEffective = 1; } if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; gProtectStructs[gBankAttacker].notEffective = 1; } @@ -1685,26 +1685,26 @@ static void ModulateDmgByType2(u8 multiplier, u16 move, u8* flags) //a literal c switch (multiplier) { case 0: //no effect - *flags |= MOVESTATUS_NOTAFFECTED; - *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE; - *flags &= ~MOVESTATUS_SUPEREFFECTIVE; + *flags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; + *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE; break; case 5: //not very effecting - if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT)) { - if (*flags & MOVESTATUS_SUPEREFFECTIVE) - *flags &= ~MOVESTATUS_SUPEREFFECTIVE; + if (*flags & MOVE_RESULT_SUPER_EFFECTIVE) + *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE; else - *flags |= MOVESTATUS_NOTVERYEFFECTIVE; + *flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } break; case 20: //super effective - if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT)) { - if (*flags & MOVESTATUS_NOTVERYEFFECTIVE) - *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE; + if (*flags & MOVE_RESULT_NOT_VERY_EFFECTIVE) + *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; else - *flags |= MOVESTATUS_SUPEREFFECTIVE; + *flags |= MOVE_RESULT_SUPER_EFFECTIVE; } break; } @@ -1730,7 +1730,7 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) if (gBattleMons[bank_def].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { - flags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + flags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); } else { @@ -1758,12 +1758,12 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) } } - if (gBattleMons[bank_def].ability == ABILITY_WONDER_GUARD && !(flags & MOVESTATUS_MISSED) && + if (gBattleMons[bank_def].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_MISSED) && AttacksThisTurn(bank_atk, move) == 2 && - (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) && + (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[move].power) { - flags |= MOVESTATUS_MISSED; + flags |= MOVE_RESULT_MISSED; } return flags; } @@ -1780,7 +1780,7 @@ u8 AI_TypeCalc(u16 move, u16 species, u8 ability) move_type = gBattleMoves[move].type; if (ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) - flags = MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED; + flags = MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE; else { while (gTypeEffectiveness[i]!= TYPE_ENDTABLE) @@ -1803,9 +1803,9 @@ u8 AI_TypeCalc(u16 move, u16 species, u8 ability) } } if (ability == ABILITY_WONDER_GUARD - && (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + && (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[move].power) - flags |= MOVESTATUS_NOTAFFECTED; + flags |= MOVE_RESULT_DOESNT_AFFECT_FOE; return flags; } @@ -1863,12 +1863,12 @@ static void atk07_adjustnormaldamage(void) if (gProtectStructs[gBankTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } if (gSpecialStatuses[gBankTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; gLastUsedItem = gBattleMons[gBankTarget].item; } @@ -1910,12 +1910,12 @@ static void atk08_adjustnormaldamage2(void) //literally the same as 0x7 except i if (gProtectStructs[gBankTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } if (gSpecialStatuses[gBankTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; gLastUsedItem = gBattleMons[gBankTarget].item; } @@ -1942,9 +1942,9 @@ static void atk09_attackanimation(void) gBattlescriptCurrInstr++; return; } - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitMoveAnimation(0, gCurrentMove, gBattleStruct->animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBankAttacker].friendship, &gDisableStructs[gBankAttacker]); gBattleStruct->animTurn += 1; @@ -1971,13 +1971,13 @@ static void atk0B_healthbarupdate(void) if (gBattleExecBuffer) return; - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - PrepareStringBattle(0x80, gActiveBank); + PrepareStringBattle(0x80, gActiveBattler); } else { @@ -1997,9 +1997,9 @@ static void atk0B_healthbarupdate(void) */ EmitHealthBarUpdate(0, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); - if (GetBankSide(gActiveBank) == SIDE_PLAYER && gBattleMoveDamage > 0) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) gBattleResults.unk5_0 = 1; } } @@ -2021,27 +2021,27 @@ static void atk0C_datahpupdate(void) else moveType = gBattleMoves[gCurrentMove].type; - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - if (gDisableStructs[gActiveBank].substituteHP >= gBattleMoveDamage) + if (gDisableStructs[gActiveBattler].substituteHP >= gBattleMoveDamage) { - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = gBattleMoveDamage; - gDisableStructs[gActiveBank].substituteHP -= gBattleMoveDamage; + if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) + gSpecialStatuses[gActiveBattler].moveturnLostHP = gBattleMoveDamage; + gDisableStructs[gActiveBattler].substituteHP -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = gDisableStructs[gActiveBank].substituteHP; - gHpDealt = gDisableStructs[gActiveBank].substituteHP; - gDisableStructs[gActiveBank].substituteHP = 0; + if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) + gSpecialStatuses[gActiveBattler].moveturnLostHP = gDisableStructs[gActiveBattler].substituteHP; + gHpDealt = gDisableStructs[gActiveBattler].substituteHP; + gDisableStructs[gActiveBattler].substituteHP = 0; } // check substitute fading - if (gDisableStructs[gActiveBank].substituteHP == 0) + if (gDisableStructs[gActiveBattler].substituteHP == 0) { gBattlescriptCurrInstr += 2; BattleScriptPushCursor(); @@ -2054,9 +2054,9 @@ static void atk0C_datahpupdate(void) gHitMarker &= ~(HITMARKER_IGNORE_SUBSTITUTE); if (gBattleMoveDamage < 0) // hp goes up { - gBattleMons[gActiveBank].hp -= gBattleMoveDamage; - if (gBattleMons[gActiveBank].hp > gBattleMons[gActiveBank].maxHP) - gBattleMons[gActiveBank].hp = gBattleMons[gActiveBank].maxHP; + gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; + if (gBattleMons[gActiveBattler].hp > gBattleMons[gActiveBattler].maxHP) + gBattleMons[gActiveBattler].hp = gBattleMons[gActiveBattler].maxHP; } else // hp goes down @@ -2067,68 +2067,68 @@ static void atk0C_datahpupdate(void) } else { - gTakenDmg[gActiveBank] += gBattleMoveDamage; + gTakenDmg[gActiveBattler] += gBattleMoveDamage; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) - gTakenDmgBanks[gActiveBank] = gBankAttacker; + gTakenDmgBanks[gActiveBattler] = gBankAttacker; else - gTakenDmgBanks[gActiveBank] = gBankTarget; + gTakenDmgBanks[gActiveBattler] = gBankTarget; } - if (gBattleMons[gActiveBank].hp > gBattleMoveDamage) + if (gBattleMons[gActiveBattler].hp > gBattleMoveDamage) { - gBattleMons[gActiveBank].hp -= gBattleMoveDamage; + gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - gHpDealt = gBattleMons[gActiveBank].hp; - gBattleMons[gActiveBank].hp = 0; + gHpDealt = gBattleMons[gActiveBattler].hp; + gBattleMons[gActiveBattler].hp = 0; } - if (!gSpecialStatuses[gActiveBank].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) - gSpecialStatuses[gActiveBank].moveturnLostHP = gHpDealt; + if (!gSpecialStatuses[gActiveBattler].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) + gSpecialStatuses[gActiveBattler].moveturnLostHP = gHpDealt; if (moveType <= 8 && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) { - gProtectStructs[gActiveBank].physicalDmg = gHpDealt; - gSpecialStatuses[gActiveBank].moveturnLostHP_physical = gHpDealt; + gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; + gSpecialStatuses[gActiveBattler].moveturnLostHP_physical = gHpDealt; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) { - gProtectStructs[gActiveBank].physicalBank = gBankAttacker; - gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankAttacker; + gProtectStructs[gActiveBattler].physicalBank = gBankAttacker; + gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankAttacker; } else { - gProtectStructs[gActiveBank].physicalBank = gBankTarget; - gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankTarget; + gProtectStructs[gActiveBattler].physicalBank = gBankTarget; + gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankTarget; } } else if (moveType > 8 && !(gHitMarker & HITMARKER_x100000)) { - gProtectStructs[gActiveBank].specialDmg = gHpDealt; - gSpecialStatuses[gActiveBank].moveturnLostHP_special = gHpDealt; + gProtectStructs[gActiveBattler].specialDmg = gHpDealt; + gSpecialStatuses[gActiveBattler].moveturnLostHP_special = gHpDealt; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) { - gProtectStructs[gActiveBank].specialBank = gBankAttacker; - gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankAttacker; + gProtectStructs[gActiveBattler].specialBank = gBankAttacker; + gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBankAttacker; } else { - gProtectStructs[gActiveBank].specialBank = gBankTarget; - gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankTarget; + gProtectStructs[gActiveBattler].specialBank = gBankTarget; + gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBankTarget; } } } gHitMarker &= ~(HITMARKER_x100000); - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp); - MarkBufferBankForExecution(gActiveBank); + EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBufferBankForExecution(gActiveBattler); } } else { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = 0xFFFF; + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) + gSpecialStatuses[gActiveBattler].moveturnLostHP = 0xFFFF; } gBattlescriptCurrInstr += 2; } @@ -2137,7 +2137,7 @@ static void atk0D_critmessage(void) { if (gBattleExecBuffer == 0) { - if (gCritMultiplier == 2 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gCritMultiplier == 2 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { PrepareStringBattle(0xD9, gBankAttacker); gBattleCommunication[MSG_DISPLAY] = 1; @@ -2151,41 +2151,41 @@ static void atk0E_effectivenesssound(void) if (gBattleExecBuffer) return; - gActiveBank = gBankTarget; - if (!(gBattleMoveFlags & MOVESTATUS_MISSED)) + gActiveBattler = gBankTarget; + if (!(gMoveResultFlags & MOVE_RESULT_MISSED)) { - u8 flag = ~MOVESTATUS_MISSED; - switch (gBattleMoveFlags & flag) + u8 flag = ~MOVE_RESULT_MISSED; + switch (gMoveResultFlags & flag) { - case MOVESTATUS_SUPEREFFECTIVE: + case MOVE_RESULT_SUPER_EFFECTIVE: EmitEffectivenessSound(0, 14); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); break; - case MOVESTATUS_NOTVERYEFFECTIVE: + case MOVE_RESULT_NOT_VERY_EFFECTIVE: EmitEffectivenessSound(0, 12); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); break; - case MOVESTATUS_NOTAFFECTED: - case MOVESTATUS_FAILED: + case MOVE_RESULT_DOESNT_AFFECT_FOE: + case MOVE_RESULT_FAILED: break; - case MOVESTATUS_ENDURED: - case MOVESTATUS_ONEHITKO: - case MOVESTATUS_HUNGON: + case MOVE_RESULT_FOE_ENDURED: + case MOVE_RESULT_ONE_HIT_KO: + case MOVE_RESULT_FOE_HUNG_ON: default: - if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) + if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { EmitEffectivenessSound(0, 14); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } - else if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) + else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { EmitEffectivenessSound(0, 12); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } - else if (!(gBattleMoveFlags & (MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED))) + else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { EmitEffectivenessSound(0, 13); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } break; } @@ -2200,7 +2200,7 @@ static void atk0F_resultmessage(void) if (gBattleExecBuffer) return; - if (gBattleMoveFlags & MOVESTATUS_MISSED && (!(gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) || gBattleCommunication[6] > 2)) + if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[6] > 2)) { stringId = gMissStringIds[gBattleCommunication[6]]; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2208,64 +2208,64 @@ static void atk0F_resultmessage(void) else { gBattleCommunication[MSG_DISPLAY] = 1; - switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED))) + switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED))) { - case MOVESTATUS_SUPEREFFECTIVE: + case MOVE_RESULT_SUPER_EFFECTIVE: stringId = STRINGID_SUPEREFFECTIVE; break; - case MOVESTATUS_NOTVERYEFFECTIVE: + case MOVE_RESULT_NOT_VERY_EFFECTIVE: stringId = STRINGID_NOTVERYEFFECTIVE; break; - case MOVESTATUS_ONEHITKO: + case MOVE_RESULT_ONE_HIT_KO: stringId = STRINGID_ONEHITKO; break; - case MOVESTATUS_ENDURED: + case MOVE_RESULT_FOE_ENDURED: stringId = STRINGID_PKMNENDUREDHIT; break; - case MOVESTATUS_FAILED: + case MOVE_RESULT_FAILED: stringId = STRINGID_BUTITFAILED; break; - case MOVESTATUS_NOTAFFECTED: + case MOVE_RESULT_DOESNT_AFFECT_FOE: stringId = STRINGID_ITDOESNTAFFECT; break; - case MOVESTATUS_HUNGON: + case MOVE_RESULT_FOE_HUNG_ON: gLastUsedItem = gBattleMons[gBankTarget].item; gStringBank = gBankTarget; - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; return; default: - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) { stringId = STRINGID_ITDOESNTAFFECT; } - else if (gBattleMoveFlags & MOVESTATUS_ONEHITKO) + else if (gMoveResultFlags & MOVE_RESULT_ONE_HIT_KO) { - gBattleMoveFlags &= ~(MOVESTATUS_ONEHITKO); - gBattleMoveFlags &= ~(MOVESTATUS_SUPEREFFECTIVE); - gBattleMoveFlags &= ~(MOVESTATUS_NOTVERYEFFECTIVE); + gMoveResultFlags &= ~(MOVE_RESULT_ONE_HIT_KO); + gMoveResultFlags &= ~(MOVE_RESULT_SUPER_EFFECTIVE); + gMoveResultFlags &= ~(MOVE_RESULT_NOT_VERY_EFFECTIVE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_OneHitKOMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_ENDURED) + else if (gMoveResultFlags & MOVE_RESULT_FOE_ENDURED) { - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_EnduredMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_HUNGON) + else if (gMoveResultFlags & MOVE_RESULT_FOE_HUNG_ON) { gLastUsedItem = gBattleMons[gBankTarget].item; gStringBank = gBankTarget; - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_FAILED) + else if (gMoveResultFlags & MOVE_RESULT_FAILED) { stringId = STRINGID_BUTITFAILED; } @@ -2295,9 +2295,9 @@ static void atk10_printstring(void) static void atk11_printselectionstring(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2341,9 +2341,9 @@ static void atk14_printselectionstringfromtable(void) { u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); // FIXME ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitPrintStringPlayerOnly(0, *(u16*)ptr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2352,7 +2352,7 @@ static void atk14_printselectionstringfromtable(void) u8 BankGetTurnOrder(u8 bank) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBanksByTurnOrder[i] == bank) break; @@ -2387,7 +2387,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9) {gBattlescriptCurrInstr++; return;} - if (gSideAffecting[GetBankIdentity(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && + if (gSideAffecting[GetBattlerPosition(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7) {gBattlescriptCurrInstr++; return;} @@ -2406,12 +2406,12 @@ void SetMoveEffect(bool8 primary, u8 certainArg) //check active uproar if (gBattleMons[gEffectBank].ability != ABILITY_SOUNDPROOF) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks && !(gBattleMons[gActiveBank].status2 & STATUS2_UPROAR); gActiveBank++) {} + for (gActiveBattler = 0; gActiveBattler < gBattlersCount && !(gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR); gActiveBattler++) {} } else - gActiveBank = gNoOfAllBanks; + gActiveBattler = gBattlersCount; if (gBattleMons[gEffectBank].status1) {break;} - if (gActiveBank != gNoOfAllBanks) {break;} //nice way of checking uproar... + if (gActiveBattler != gBattlersCount) {break;} //nice way of checking uproar... if (gBattleMons[gEffectBank].ability == ABILITY_VITAL_SPIRIT) {break;} if (gBattleMons[gEffectBank].ability == ABILITY_INSOMNIA) {break;} @@ -2555,7 +2555,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) break; } else - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } if (StatusChanged == 1) @@ -2566,9 +2566,9 @@ void SetMoveEffect(bool8 primary, u8 certainArg) else gBattleMons[gEffectBank].status1 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; - gActiveBank = gEffectBank; + gActiveBattler = gEffectBank; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -2634,7 +2634,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 11: //pay day - if (!(GetBankIdentity(gBankAttacker) & 1)) + if (!(GetBattlerPosition(gBankAttacker) & 1)) { u16 PayDay = gPaydayMoney; gPaydayMoney += (gBattleMons[gBankAttacker].level * 5); @@ -2729,10 +2729,10 @@ void SetMoveEffect(bool8 primary, u8 certainArg) break; case 31: //item steal { - u8 side = GetBankSide(gBankAttacker); - if (GetBankSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) + u8 side = GetBattlerSide(gBankAttacker); + if (GetBattlerSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) {gBattlescriptCurrInstr++; return;} - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlePartyID[gBankAttacker]])) + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBankAttacker]])) {gBattlescriptCurrInstr++; return;} if (gBattleMons[gBankTarget].item && gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD) { @@ -2753,11 +2753,11 @@ void SetMoveEffect(bool8 primary, u8 certainArg) USED_HELD_ITEM(bank) = gLastUsedItem; gBattleMons[gBankTarget].item = 0; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); MarkBufferBankForExecution(gBankAttacker); - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].item); MarkBufferBankForExecution(gBankTarget); @@ -2788,9 +2788,9 @@ void SetMoveEffect(bool8 primary, u8 certainArg) if (gBattleMons[gBankTarget].status1 & STATUS_PARALYSIS) { gBattleMons[gBankTarget].status1 &= ~(STATUS_PARALYSIS); - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; } @@ -2832,10 +2832,10 @@ void SetMoveEffect(bool8 primary, u8 certainArg) {gBattlescriptCurrInstr++; return;} else { - u8 side = GetBankSide(gEffectBank); + u8 side = GetBattlerSide(gEffectBank); gLastUsedItem = gBattleMons[gEffectBank].item; gBattleMons[gEffectBank].item = 0; - gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlePartyID[gEffectBank]]; + gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBank]]; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_KnockedOff; @@ -2932,7 +2932,7 @@ _0801E450:\n\ _0801E48A:\n\ mov r1, r8\n\ ldrb r0, [r1]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ ldr r2, _0801E554 @ =gSideAffecting\n\ movs r1, 0x1\n\ ands r1, r0\n\ @@ -3058,10 +3058,10 @@ _0801E57A:\n\ ldrb r0, [r0]\n\ cmp r0, 0x2B\n\ beq _0801E5DC\n\ - ldr r0, _0801E5D4 @ =gActiveBank\n\ + ldr r0, _0801E5D4 @ =gActiveBattler\n\ movs r1, 0\n\ strb r1, [r0]\n\ - ldr r1, _0801E5D8 @ =gNoOfAllBanks\n\ + ldr r1, _0801E5D8 @ =gBattlersCount\n\ ldrb r3, [r1]\n\ adds r7, r0, 0\n\ mov r12, r1\n\ @@ -3095,11 +3095,11 @@ _0801E5B4:\n\ beq _0801E5B4\n\ b _0801E5E8\n\ .align 2, 0\n\ -_0801E5D4: .4byte gActiveBank\n\ -_0801E5D8: .4byte gNoOfAllBanks\n\ +_0801E5D4: .4byte gActiveBattler\n\ +_0801E5D8: .4byte gBattlersCount\n\ _0801E5DC:\n\ - ldr r0, _0801E628 @ =gActiveBank\n\ - ldr r2, _0801E62C @ =gNoOfAllBanks\n\ + ldr r0, _0801E628 @ =gActiveBattler\n\ + ldr r2, _0801E62C @ =gBattlersCount\n\ ldrb r1, [r2]\n\ strb r1, [r0]\n\ adds r7, r0, 0\n\ @@ -3141,8 +3141,8 @@ _0801E620:\n\ bl CancelMultiTurnMoves\n\ b _0801EA04\n\ .align 2, 0\n\ -_0801E628: .4byte gActiveBank\n\ -_0801E62C: .4byte gNoOfAllBanks\n\ +_0801E628: .4byte gActiveBattler\n\ +_0801E62C: .4byte gBattlersCount\n\ _0801E630:\n\ mov r2, r8\n\ ldrb r1, [r2]\n\ @@ -3644,7 +3644,7 @@ _0801EA04:\n\ mov r10, r0\n\ b _0801EA14\n\ _0801EA0A:\n\ - ldr r0, _0801EA58 @ =gBattleMoveFlags\n\ + ldr r0, _0801EA58 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r2, 0x8\n\ orrs r1, r2\n\ @@ -3683,7 +3683,7 @@ _0801EA1C:\n\ str r0, [r3]\n\ b _0801EA84\n\ .align 2, 0\n\ -_0801EA58: .4byte gBattleMoveFlags\n\ +_0801EA58: .4byte gMoveResultFlags\n\ _0801EA5C: .4byte gBattlescriptCurrInstr\n\ _0801EA60: .4byte sStatusFlagsForMoveEffects\n\ _0801EA64: .4byte gBattleCommunication\n\ @@ -3709,7 +3709,7 @@ _0801EA84:\n\ adds r0, r1\n\ ldr r0, [r0]\n\ str r0, [r2]\n\ - ldr r4, _0801EAE8 @ =gActiveBank\n\ + ldr r4, _0801EAE8 @ =gActiveBattler\n\ ldr r1, _0801EAD8 @ =gEffectBank\n\ ldrb r0, [r1]\n\ strb r0, [r4]\n\ @@ -3745,7 +3745,7 @@ _0801EAD8: .4byte gEffectBank\n\ _0801EADC: .4byte gBattlescriptCurrInstr\n\ _0801EAE0: .4byte gMoveEffectBS_Ptrs\n\ _0801EAE4: .4byte gBattleCommunication\n\ -_0801EAE8: .4byte gActiveBank\n\ +_0801EAE8: .4byte gActiveBattler\n\ _0801EAEC: .4byte gUnknown_02024ACC\n\ _0801EAF0: .4byte gHitMarker\n\ _0801EAF4: .4byte 0xffffdfff\n\ @@ -4050,7 +4050,7 @@ _0801EDD8: .4byte gBattleCommunication\n\ _0801EDDC:\n\ ldr r5, _0801EE30 @ =gBankAttacker\n\ ldrb r0, [r5]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x1\n\ ands r1, r0\n\ cmp r1, 0\n\ @@ -4499,11 +4499,11 @@ _0801F1A0: .4byte gBankAttacker\n\ _0801F1A4:\n\ ldr r4, _0801F254 @ =gBankAttacker\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r6, r0, 24\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -4539,7 +4539,7 @@ _0801F1D8:\n\ adds r0, r6, r0\n\ ldrb r1, [r0]\n\ ldr r3, _0801F268 @ =gBitTable\n\ - ldr r2, _0801F26C @ =gBattlePartyID\n\ + ldr r2, _0801F26C @ =gBattlerPartyIndexes\n\ ldr r0, _0801F254 @ =gBankAttacker\n\ ldrb r0, [r0]\n\ lsls r0, 1\n\ @@ -4590,7 +4590,7 @@ _0801F25C: .4byte 0x00000902\n\ _0801F260: .4byte gTrainerBattleOpponent\n\ _0801F264: .4byte gWishFutureKnock\n\ _0801F268: .4byte gBitTable\n\ -_0801F26C: .4byte gBattlePartyID\n\ +_0801F26C: .4byte gBattlerPartyIndexes\n\ _0801F270: .4byte gBattleMons\n\ _0801F274: .4byte gBankTarget\n\ _0801F278: .4byte gBattlescriptCurrInstr\n\ @@ -4638,7 +4638,7 @@ _0801F2B6:\n\ add r0, r9\n\ movs r6, 0\n\ strh r3, [r0, 0x2E]\n\ - ldr r4, _0801F34C @ =gActiveBank\n\ + ldr r4, _0801F34C @ =gActiveBattler\n\ mov r2, r10\n\ ldrb r0, [r2]\n\ strb r0, [r4]\n\ @@ -4693,7 +4693,7 @@ _0801F2B6:\n\ _0801F340: .4byte gBankAttacker\n\ _0801F344: .4byte gSharedMem + 0x160F0\n\ _0801F348: .4byte gLastUsedItem\n\ -_0801F34C: .4byte gActiveBank\n\ +_0801F34C: .4byte gActiveBattler\n\ _0801F350: .4byte gBattlescriptCurrInstr\n\ _0801F354: .4byte BattleScript_ItemSteal\n\ _0801F358: .4byte 0xfffe9f10\n\ @@ -4781,7 +4781,7 @@ _0801F406:\n\ negs r0, r0\n\ ands r4, r0\n\ str r4, [r5]\n\ - ldr r4, _0801F440 @ =gActiveBank\n\ + ldr r4, _0801F440 @ =gActiveBattler\n\ ldrb r0, [r6]\n\ strb r0, [r4]\n\ ldrb r0, [r4]\n\ @@ -4803,7 +4803,7 @@ _0801F406:\n\ b _0801F5F8\n\ .align 2, 0\n\ _0801F43C: .4byte gBankTarget\n\ -_0801F440: .4byte gActiveBank\n\ +_0801F440: .4byte gActiveBattler\n\ _0801F444: .4byte gBattlescriptCurrInstr\n\ _0801F448: .4byte BattleScript_TargetPRLZHeal\n\ _0801F44C:\n\ @@ -4924,7 +4924,7 @@ _0801F540:\n\ cmp r0, 0\n\ beq _0801F5DC\n\ adds r0, r3, 0\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r6, r0, 24\n\ ldr r1, _0801F5B8 @ =gLastUsedItem\n\ @@ -4944,7 +4944,7 @@ _0801F540:\n\ adds r2, 0x29\n\ adds r2, r6, r2\n\ ldr r3, _0801F5C0 @ =gBitTable\n\ - ldr r1, _0801F5C4 @ =gBattlePartyID\n\ + ldr r1, _0801F5C4 @ =gBattlerPartyIndexes\n\ mov r4, r8\n\ ldrb r0, [r4]\n\ lsls r0, 1\n\ @@ -4981,7 +4981,7 @@ _0801F540:\n\ _0801F5B8: .4byte gLastUsedItem\n\ _0801F5BC: .4byte gWishFutureKnock\n\ _0801F5C0: .4byte gBitTable\n\ -_0801F5C4: .4byte gBattlePartyID\n\ +_0801F5C4: .4byte gBattlerPartyIndexes\n\ _0801F5C8: .4byte gBattlescriptCurrInstr\n\ _0801F5CC: .4byte BattleScript_KnockedOff\n\ _0801F5D0: .4byte gSharedMem\n\ @@ -5029,16 +5029,16 @@ static void atk15_seteffectwithchance(void) PercentChance = gBattleMoves[gCurrentMove].secondaryEffectChance; if (DEBUG && (gUnknown_02023A14_50 & 4) - && !(gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + && !(gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { SetMoveEffect(0, 0); } - else if ((gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + else if ((gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleCommunication[MOVE_EFFECT_BYTE] &= 0x7F; SetMoveEffect(0, 0x80); } - else if (Random() % 100 <= PercentChance && gBattleCommunication[MOVE_EFFECT_BYTE] != 0 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + else if (Random() % 100 <= PercentChance && gBattleCommunication[MOVE_EFFECT_BYTE] != 0 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { if (PercentChance >= 100) SetMoveEffect(0, 0x80); @@ -5066,11 +5066,11 @@ static void atk17_seteffectsecondary(void) static void atk18_clearstatusfromeffect(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6) - gBattleMons[gActiveBank].status1 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); + gBattleMons[gActiveBattler].status1 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); else - gBattleMons[gActiveBank].status2 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); + gBattleMons[gActiveBattler].status2 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); gBattleCommunication[MOVE_EFFECT_BYTE] = 0; gBattlescriptCurrInstr += 2; @@ -5083,14 +5083,14 @@ static void atk19_tryfaintmon(void) if (gBattlescriptCurrInstr[2] != 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) { r4 = T1_READ_PTR(gBattlescriptCurrInstr + 3); BattleScriptPop(); gBattlescriptCurrInstr = r4; - gSideAffecting[GetBankSide(gActiveBank)] &= ~SIDE_STATUS_SPIKES_DAMAGED; + gSideAffecting[GetBattlerSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED; } else { @@ -5103,18 +5103,18 @@ static void atk19_tryfaintmon(void) if (gBattlescriptCurrInstr[1] == 1) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; bank = gBankTarget; r4 = BattleScript_FaintAttacker; } else { - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; bank = gBankAttacker; r4 = BattleScript_FaintTarget; } - if (!(gAbsentBankFlags & gBitTable[gActiveBank]) - && gBattleMons[gActiveBank].hp == 0) + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]) + && gBattleMons[gActiveBattler].hp == 0) { ewram160ACarr2(0, bank) = 0; ewram160ACarr2(1, bank) = 0; @@ -5123,27 +5123,27 @@ static void atk19_tryfaintmon(void) ewram16100arr2(2, bank) = 0; ewram16100arr2(3, bank) = 0; - gHitMarker |= HITMARKER_FAINTED(gActiveBank); + gHitMarker |= HITMARKER_FAINTED(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr = r4; - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { gHitMarker |= HITMARKER_x400000; if (gBattleResults.playerFaintCounter < 0xFF) gBattleResults.playerFaintCounter++; - if (gBattleMons[bank].level > gBattleMons[gActiveBank].level) + if (gBattleMons[bank].level > gBattleMons[gActiveBattler].level) { - if (gBattleMons[bank].level - gBattleMons[gActiveBank].level > 0x1D) - AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 8); + if (gBattleMons[bank].level - gBattleMons[gActiveBattler].level > 0x1D) + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 8); else - AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 6); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 6); } } else { if (gBattleResults.opponentFaintCounter < 0xFF) gBattleResults.opponentFaintCounter++; - gBattleResults.lastOpponentSpecies = gBattleMons[gActiveBank].species; + gBattleResults.lastOpponentSpecies = gBattleMons[gActiveBattler].species; } if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBankAttacker].hp != 0) { @@ -5153,7 +5153,7 @@ static void atk19_tryfaintmon(void) } if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE) && !(gHitMarker & HITMARKER_GRUDGE) - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget) && gBattleMons[gBankAttacker].hp != 0 && gCurrentMove != MOVE_STRUGGLE) { @@ -5162,9 +5162,9 @@ static void atk19_tryfaintmon(void) gBattleMons[gBankAttacker].pp[moveIndex] = 0; BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_SelectingImprisionedMoveInPalace; - gActiveBank = gBankAttacker; - EmitSetMonData(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBank].pp[moveIndex]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + MarkBufferBankForExecution(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; @@ -5184,9 +5184,9 @@ static void atk1A_dofaintanimation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd10(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } } @@ -5196,10 +5196,10 @@ static void atk1B_cleareffectsonfaint(void) //Clears things like attraction or trapping to other banks if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - gBattleMons[gActiveBank].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gBattleMons[gActiveBattler].status1 = 0; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); UndoEffectsAfterFainting(); gBattlescriptCurrInstr += 2; } @@ -5279,9 +5279,9 @@ static void atk1F_jumpifsideaffecting(void) u16 flags; void* jump_loc; if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1) - side = GetBankIdentity(gBankAttacker) & 1; + side = GetBattlerPosition(gBankAttacker) & 1; else - side = GetBankIdentity(gBankTarget) & 1; + side = GetBattlerPosition(gBankTarget) & 1; flags = T2_READ_16(gBattlescriptCurrInstr + 2); jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4); @@ -5335,19 +5335,19 @@ static void atk21_jumpifstatus3condition(void) u32 flags; void* jump_loc; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); flags = T2_READ_32(gBattlescriptCurrInstr + 2); jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7); if (T2_READ_8(gBattlescriptCurrInstr + 6)) { - if ((gStatuses3[gActiveBank] & flags) != 0) + if ((gStatuses3[gActiveBattler] & flags) != 0) gBattlescriptCurrInstr += 11; else gBattlescriptCurrInstr = jump_loc; } else { - if ((gStatuses3[gActiveBank] & flags) != 0) + if ((gStatuses3[gActiveBattler] & flags) != 0) gBattlescriptCurrInstr = jump_loc; else gBattlescriptCurrInstr += 11; @@ -5382,7 +5382,7 @@ static void atk23_getexp(void) switch (gBattleStruct->getexpStateTracker) { case 0: // check if should receive exp at all - if (GetBankSide(gBank1) != SIDE_OPPONENT || (gBattleTypeFlags & + if (GetBattlerSide(gBank1) != B_SIDE_OPPONENT || (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER @@ -5393,7 +5393,7 @@ static void atk23_getexp(void) else { gBattleStruct->getexpStateTracker++; - gBattleStruct->unk16113 |= gBitTable[gBattlePartyID[gBank1]]; + gBattleStruct->unk16113 |= gBitTable[gBattlerPartyIndexes[gBank1]]; } break; case 1: // calculate experience points to redistribute @@ -5503,11 +5503,11 @@ static void atk23_getexp(void) // get exp getter bank if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - if (!(gBattlePartyID[2] != gBattleStruct->expGetterID) && !(gAbsentBankFlags & gBitTable[2])) + if (!(gBattlerPartyIndexes[2] != gBattleStruct->expGetterID) && !(gAbsentBattlerFlags & gBitTable[2])) gBattleStruct->expGetterBank = 2; else { - if (!(gAbsentBankFlags & gBitTable[0])) + if (!(gAbsentBattlerFlags & gBitTable[0])) gBattleStruct->expGetterBank = 0; else gBattleStruct->expGetterBank = 2; @@ -5544,9 +5544,9 @@ static void atk23_getexp(void) gBattleResources_statsBeforeLvlUp->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_SPATK); gBattleResources_statsBeforeLvlUp->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_SPDEF); - gActiveBank = gBattleStruct->expGetterBank; + gActiveBattler = gBattleStruct->expGetterBank; EmitExpBarUpdate(0, gBattleStruct->expGetterID, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattleStruct->getexpStateTracker++; } @@ -5554,25 +5554,25 @@ static void atk23_getexp(void) case 4: // lvl up if necessary if (gBattleExecBuffer == 0) { - gActiveBank = gBattleStruct->expGetterBank; - if (gBattleBufferB[gActiveBank][0] == CONTROLLER_TWORETURNVALUES - && gBattleBufferB[gActiveBank][1] == RET_VALUE_LEVELLED_UP) + gActiveBattler = gBattleStruct->expGetterBank; + if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES + && gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELLED_UP) { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBank] == gBattleStruct->expGetterID) - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID) + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBank, gBattleStruct->expGetterID) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterID) PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL)) BattleScriptPushCursor(); gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterID]; gBattlescriptCurrInstr = BattleScript_LevelUp; - gBattleMoveDamage = (gBattleBufferB[gActiveBank][2] | (gBattleBufferB[gActiveBank][3] << 8)); + gBattleMoveDamage = (gBattleBufferB[gActiveBattler][2] | (gBattleBufferB[gActiveBattler][3] << 8)); AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterID], 0); // update battle mon structure after level up - if (gBattlePartyID[0] == gBattleStruct->expGetterID && gBattleMons[0].hp) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID && gBattleMons[0].hp) { gBattleMons[0].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL); gBattleMons[0].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HP); @@ -5586,7 +5586,7 @@ static void atk23_getexp(void) gBattleMons[0].spDefense = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_SPDEF); } // What is else if? - if (gBattlePartyID[2] == gBattleStruct->expGetterID && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterID && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { gBattleMons[2].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL); gBattleMons[2].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HP); @@ -5662,13 +5662,13 @@ static void atk24(void) //I can't for the love of god decompile that part - for (found1 = 0, i = 0; i < gNoOfAllBanks; i += 2) + for (found1 = 0, i = 0; i < gBattlersCount; i += 2) { if ((gHitMarker & HITMARKER_UNK(i)) && !gSpecialStatuses[i].flag40) found1++; } - for (found2 = 0, i = 1; i < gNoOfAllBanks; i += 2) + for (found2 = 0, i = 1; i < gBattlersCount; i += 2) { if ((gHitMarker & HITMARKER_UNK(i)) && !gSpecialStatuses[i].flag40) found2++; @@ -5791,7 +5791,7 @@ _08020A54:\n\ beq _08020B3E\n\ movs r2, 0\n\ movs r5, 0\n\ - ldr r0, _08020B04 @ =gNoOfAllBanks\n\ + ldr r0, _08020B04 @ =gBattlersCount\n\ ldrb r3, [r0]\n\ mov r12, r0\n\ ldr r7, _08020B08 @ =gBattlescriptCurrInstr\n\ @@ -5868,7 +5868,7 @@ _08020AF4: .4byte gPlayerParty\n\ _08020AF8: .4byte gBattleOutcome\n\ _08020AFC: .4byte gEnemyParty\n\ _08020B00: .4byte gBattleTypeFlags\n\ -_08020B04: .4byte gNoOfAllBanks\n\ +_08020B04: .4byte gBattlersCount\n\ _08020B08: .4byte gBattlescriptCurrInstr\n\ _08020B0C: .4byte gHitMarker\n\ _08020B10: .4byte gSpecialStatuses\n\ @@ -5915,7 +5915,7 @@ _08020B50: .4byte gBattlescriptCurrInstr\n\ static void MoveValuesCleanUp(void) { - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gBattleStruct->dmgMultiplier = 1; gCritMultiplier = 1; gBattleCommunication[MOVE_EFFECT_BYTE] = 0; @@ -6230,12 +6230,12 @@ static void atk3A_waitstate(void) static void atk3B_healthbar_update(void) { if (!T2_READ_8(gBattlescriptCurrInstr + 1)) - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; else - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitHealthBarUpdate(0, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -6246,15 +6246,15 @@ static void atk3C_return(void) static void atk3D_end(void) { - gBattleMoveFlags = 0; - gActiveBank = 0; + gMoveResultFlags = 0; + gActiveBattler = 0; gCurrentActionFuncId = 0xB; } static void atk3E_end2(void) { //not much difference between this and 3D. It's more apparent in Emerald - gActiveBank = 0; + gActiveBattler = 0; gCurrentActionFuncId = 0xB; } @@ -6299,7 +6299,7 @@ static void atk45_playanimation(void) { const u16* argumentPtr; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); if (gBattlescriptCurrInstr[2] == B_ANIM_STATS_CHANGE @@ -6307,7 +6307,7 @@ static void atk45_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 7; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -6321,17 +6321,17 @@ static void atk45_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 7; } - else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) { gBattlescriptCurrInstr += 7; } else { EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 7; } } @@ -6341,7 +6341,7 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po const u16* argumentPtr; const u8* animationIdPtr; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); animationIdPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); @@ -6350,7 +6350,7 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 10; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -6363,17 +6363,17 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 10; } - else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) { gBattlescriptCurrInstr += 10; } else { EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 10; } } @@ -6410,7 +6410,7 @@ static void atk48_playstatchangeanimation(void) u32 stats_to_check; u8 arg3; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); stats_to_check = T2_READ_8(gBattlescriptCurrInstr + 2); arg3 = T2_READ_8(gBattlescriptCurrInstr + 3); if (arg3 & 1) @@ -6425,13 +6425,13 @@ static void atk48_playstatchangeanimation(void) if (!(T2_READ_8(gBattlescriptCurrInstr + 3))) { u8 ability; - if (gSideTimers[GetBankIdentity(gActiveBank) & 1].mistTimer) + if (gSideTimers[GetBattlerPosition(gActiveBattler) & 1].mistTimer) continue; - ability = gBattleMons[gActiveBank].ability; + ability = gBattleMons[gActiveBattler].ability; if (ability == ABILITY_CLEAR_BODY || ability == ABILITY_WHITE_SMOKE || (ability == ABILITY_KEEN_EYE && curr_stat == 6) || (ability == ABILITY_HYPER_CUTTER && curr_stat == 1)) continue; } - if (gBattleMons[gActiveBank].statStages[curr_stat] > 0) + if (gBattleMons[gActiveBattler].statStages[curr_stat] > 0) { stat_animID = r1; changeable_stats++; @@ -6455,7 +6455,7 @@ static void atk48_playstatchangeanimation(void) { if (!(stats_to_check & 1)) continue; - if (gBattleMons[gActiveBank].statStages[curr_stat] < 0xB) + if (gBattleMons[gActiveBattler].statStages[curr_stat] < 0xB) { stat_animID = r1; changeable_stats++; @@ -6476,7 +6476,7 @@ static void atk48_playstatchangeanimation(void) else { EmitBattleAnimation(0, 1, stat_animID); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1) gBattleStruct->filler2[0] = 1; gBattlescriptCurrInstr += 4; @@ -6503,7 +6503,7 @@ push {r4-r7,lr}\n\ ldrb r0, [r0, 0x1]\n\ str r3, [sp]\n\ bl GetBattleBank\n\ - ldr r2, _08021674 @ =gActiveBank\n\ + ldr r2, _08021674 @ =gActiveBattler\n\ strb r0, [r2]\n\ ldr r0, [r5]\n\ ldrb r4, [r0, 0x2]\n\ @@ -6540,7 +6540,7 @@ _0802164A:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0802167C\n\ - ldr r0, _08021674 @ =gActiveBank\n\ + ldr r0, _08021674 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ muls r0, r1\n\ @@ -6548,13 +6548,13 @@ _0802164A:\n\ b _080216C4\n\ .align 2, 0\n\ _08021670: .4byte gBattlescriptCurrInstr\n\ -_08021674: .4byte gActiveBank\n\ +_08021674: .4byte gActiveBattler\n\ _08021678: .4byte gUnknown_02024A98\n\ _0802167C:\n\ - ldr r6, _08021700 @ =gActiveBank\n\ + ldr r6, _08021700 @ =gActiveBattler\n\ ldrb r0, [r6]\n\ str r3, [sp]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ mov r1, r10\n\ ands r1, r0\n\ lsls r0, r1, 1\n\ @@ -6622,7 +6622,7 @@ _080216E4:\n\ movs r0, 0x3A\n\ b _08021770\n\ .align 2, 0\n\ -_08021700: .4byte gActiveBank\n\ +_08021700: .4byte gActiveBattler\n\ _08021704: .4byte gSideTimers\n\ _08021708: .4byte gBattleMons\n\ _0802170C: .4byte gBattlescriptCurrInstr\n\ @@ -6710,7 +6710,7 @@ _08021790:\n\ mov r2, r8\n\ str r3, [sp]\n\ bl EmitBattleAnimation\n\ - ldr r0, _080217D8 @ =gActiveBank\n\ + ldr r0, _080217D8 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ ldr r0, _080217DC @ =gBattlescriptCurrInstr\n\ @@ -6731,7 +6731,7 @@ _080217CC:\n\ .align 2, 0\n\ _080217D0: .4byte gSharedMem\n\ _080217D4: .4byte 0x000160dc\n\ -_080217D8: .4byte gActiveBank\n\ +_080217D8: .4byte gActiveBattler\n\ _080217DC: .4byte gBattlescriptCurrInstr\n\ _080217E0:\n\ mov r1, r9\n\ @@ -6783,8 +6783,8 @@ static void atk49_moveend(void) case 0: //rage check if (gBattleMons[gBankTarget].status2 & STATUS2_RAGE && gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && TARGET_TURN_DAMAGED + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED && gBattleMoves[gCurrentMove].power && gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] <= 0xB) { gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK]++; @@ -6798,12 +6798,12 @@ static void atk49_moveend(void) if (gBattleMons[gBankTarget].status1 & STATUS_FREEZE && gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget && gSpecialStatuses[gBankTarget].moveturnLostHP - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && move_type == TYPE_FIRE) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move_type == TYPE_FIRE) { gBattleMons[gBankTarget].status1 &= ~(STATUS_FREEZE); - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; effect = 1; @@ -6834,7 +6834,7 @@ static void atk49_moveend(void) case 6: //update choice band move if (gHitMarker & HITMARKER_OBEYS && hold_effect_atk == HOLD_EFFECT_CHOICE_BAND && gLastUsedMove != MOVE_STRUGGLE && (*choiced_move_atk == 0 || *choiced_move_atk == 0xFFF) - && gLastUsedMove != MOVE_BATON_PASS && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + && gLastUsedMove != MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { *choiced_move_atk = gLastUsedMove; for (i = 0; i < 4 && gBattleMons[gBankAttacker].moves[i] != *choiced_move_atk; i++){} @@ -6844,7 +6844,7 @@ static void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case 7: //changed held items - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { #define CHANGED_ITEM (((*u16)(gSharedMem + 0x160F0))) if (CHANGED_ITEM(i)) @@ -6856,31 +6856,31 @@ static void atk49_moveend(void) if (gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER) && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSpriteInvisibility(0, 1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattleStruct->cmd49StateTracker++; break; case 9: //semi-invlurneable attacker make visible - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || !(gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) || WasUnableToUseMove(gBankAttacker)) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSpriteInvisibility(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gStatuses3 &= ~(STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER); gSpecialStatuses[gBankAttacker].restored_bank_sprite = 1; } gBattleStruct->cmd49StateTracker++; break; case 10: //semi-invlurneable target make visible - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || !(gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) || WasUnableToUseMove(gBankTarget)) { - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSpriteInvisibility(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gStatuses3 &= ~(STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER); gSpecialStatuses[gBankTarget].restored_bank_sprite = 1; } @@ -7070,16 +7070,16 @@ _08021958:\n\ cmp r1, r4\n\ beq _080219FE\n\ adds r0, r1, 0\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ adds r4, r0, 0\n\ ldr r1, _08021A0C @ =gBankTarget\n\ ldrb r0, [r1]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r4, 24\n\ lsls r0, 24\n\ cmp r4, r0\n\ beq _080219FE\n\ - ldr r0, _08021A14 @ =gBattleMoveFlags\n\ + ldr r0, _08021A14 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7136,7 +7136,7 @@ _080219FE:\n\ _08021A08: .4byte gBattleMons\n\ _08021A0C: .4byte gBankTarget\n\ _08021A10: .4byte gBankAttacker\n\ -_08021A14: .4byte gBattleMoveFlags\n\ +_08021A14: .4byte gMoveResultFlags\n\ _08021A18: .4byte gProtectStructs\n\ _08021A1C: .4byte gBattleMoves\n\ _08021A20: .4byte gCurrentMove\n\ @@ -7185,7 +7185,7 @@ _08021A68:\n\ bne _08021A7C\n\ b _08021DFA\n\ _08021A7C:\n\ - ldr r0, _08021AE0 @ =gBattleMoveFlags\n\ + ldr r0, _08021AE0 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7202,7 +7202,7 @@ _08021A92:\n\ negs r0, r0\n\ ands r5, r0\n\ str r5, [r6]\n\ - ldr r4, _08021AE4 @ =gActiveBank\n\ + ldr r4, _08021AE4 @ =gActiveBattler\n\ ldr r5, _08021AD4 @ =gBankTarget\n\ ldrb r0, [r5]\n\ strb r0, [r4]\n\ @@ -7231,8 +7231,8 @@ _08021AD0: .4byte gBattleMons\n\ _08021AD4: .4byte gBankTarget\n\ _08021AD8: .4byte gBankAttacker\n\ _08021ADC: .4byte gSpecialStatuses\n\ -_08021AE0: .4byte gBattleMoveFlags\n\ -_08021AE4: .4byte gActiveBank\n\ +_08021AE0: .4byte gMoveResultFlags\n\ +_08021AE4: .4byte gActiveBattler\n\ _08021AE8: .4byte gBattlescriptCurrInstr\n\ _08021AEC: .4byte BattleScript_DefrostedViaFireMove\n\ _08021AF0:\n\ @@ -7348,7 +7348,7 @@ _08021B9C:\n\ _08021BC8:\n\ cmp r2, 0xE2\n\ bne _08021BDA\n\ - ldr r0, _08021C34 @ =gBattleMoveFlags\n\ + ldr r0, _08021C34 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x20\n\ ands r0, r1\n\ @@ -7403,12 +7403,12 @@ _08021C22:\n\ _08021C28: .4byte gHitMarker\n\ _08021C2C: .4byte gChosenMove\n\ _08021C30: .4byte 0x0000ffff\n\ -_08021C34: .4byte gBattleMoveFlags\n\ +_08021C34: .4byte gMoveResultFlags\n\ _08021C38: .4byte gBattleMons\n\ _08021C3C: .4byte gBankAttacker\n\ _08021C40:\n\ movs r4, 0\n\ - ldr r0, _08021C6C @ =gNoOfAllBanks\n\ + ldr r0, _08021C6C @ =gBattlersCount\n\ ldrb r2, [r0]\n\ cmp r4, r2\n\ blt _08021C4C\n\ @@ -7432,7 +7432,7 @@ _08021C5C:\n\ blt _08021C52\n\ b _08022244\n\ .align 2, 0\n\ -_08021C6C: .4byte gNoOfAllBanks\n\ +_08021C6C: .4byte gBattlersCount\n\ _08021C70: .4byte gSharedMem + 0x160F0\n\ _08021C74: .4byte gBattleMons\n\ _08021C78:\n\ @@ -7497,7 +7497,7 @@ _08021CE2:\n\ bne _08021CF0\n\ b _08021DFA\n\ _08021CF0:\n\ - ldr r4, _08021D14 @ =gActiveBank\n\ + ldr r4, _08021D14 @ =gActiveBattler\n\ strb r2, [r4]\n\ movs r0, 0\n\ movs r1, 0x1\n\ @@ -7510,9 +7510,9 @@ _08021D04: .4byte gStatuses3\n\ _08021D08: .4byte gBankAttacker\n\ _08021D0C: .4byte 0x000400c0\n\ _08021D10: .4byte gHitMarker\n\ -_08021D14: .4byte gActiveBank\n\ +_08021D14: .4byte gActiveBattler\n\ _08021D18:\n\ - ldr r0, _08021D88 @ =gBattleMoveFlags\n\ + ldr r0, _08021D88 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7534,7 +7534,7 @@ _08021D18:\n\ cmp r0, 0\n\ beq _08021D7E\n\ _08021D44:\n\ - ldr r4, _08021D98 @ =gActiveBank\n\ + ldr r4, _08021D98 @ =gActiveBattler\n\ ldr r5, _08021D90 @ =gBankAttacker\n\ ldrb r0, [r5]\n\ strb r0, [r4]\n\ @@ -7567,11 +7567,11 @@ _08021D7E:\n\ adds r1, r2, r4\n\ b _08021E00\n\ .align 2, 0\n\ -_08021D88: .4byte gBattleMoveFlags\n\ +_08021D88: .4byte gMoveResultFlags\n\ _08021D8C: .4byte gStatuses3\n\ _08021D90: .4byte gBankAttacker\n\ _08021D94: .4byte 0x000400c0\n\ -_08021D98: .4byte gActiveBank\n\ +_08021D98: .4byte gActiveBattler\n\ _08021D9C: .4byte 0xfffbff3f\n\ _08021DA0: .4byte gSpecialStatuses\n\ _08021DA4: .4byte gSharedMem\n\ @@ -7588,7 +7588,7 @@ _08021DAC:\n\ lsls r0, 29\n\ cmp r0, 0\n\ blt _08021DFA\n\ - ldr r0, _08021E14 @ =gNoOfAllBanks\n\ + ldr r0, _08021E14 @ =gBattlersCount\n\ ldrb r0, [r0]\n\ cmp r3, r0\n\ bcs _08021DFA\n\ @@ -7599,7 +7599,7 @@ _08021DAC:\n\ ands r0, r1\n\ cmp r0, 0\n\ bne _08021DFA\n\ - ldr r4, _08021E20 @ =gActiveBank\n\ + ldr r4, _08021E20 @ =gActiveBattler\n\ strb r3, [r4]\n\ movs r0, 0\n\ movs r1, 0\n\ @@ -7627,16 +7627,16 @@ _08021E00:\n\ .align 2, 0\n\ _08021E0C: .4byte gSpecialStatuses\n\ _08021E10: .4byte gBankTarget\n\ -_08021E14: .4byte gNoOfAllBanks\n\ +_08021E14: .4byte gBattlersCount\n\ _08021E18: .4byte gStatuses3\n\ _08021E1C: .4byte 0x000400c0\n\ -_08021E20: .4byte gActiveBank\n\ +_08021E20: .4byte gActiveBattler\n\ _08021E24: .4byte 0xfffbff3f\n\ _08021E28: .4byte gSharedMem\n\ _08021E2C: .4byte 0x0001600c\n\ _08021E30:\n\ movs r4, 0\n\ - ldr r0, _08021E60 @ =gNoOfAllBanks\n\ + ldr r0, _08021E60 @ =gBattlersCount\n\ ldrb r5, [r0]\n\ cmp r4, r5\n\ blt _08021E3C\n\ @@ -7662,7 +7662,7 @@ _08021E50:\n\ blt _08021E44\n\ b _08022244\n\ .align 2, 0\n\ -_08021E60: .4byte gNoOfAllBanks\n\ +_08021E60: .4byte gBattlersCount\n\ _08021E64: .4byte gDisableStructs\n\ _08021E68: .4byte 0xfeffffff\n\ _08021E6C: .4byte gUnknown_02024AD0\n\ @@ -7677,7 +7677,7 @@ _08021E70:\n\ adds r5, r1, 0\n\ cmp r0, 0\n\ beq _08021E9A\n\ - ldr r0, _08021F34 @ =gActiveBank\n\ + ldr r0, _08021F34 @ =gActiveBattler\n\ ldrb r2, [r2]\n\ strb r2, [r0]\n\ ldr r1, _08021F38 @ =gBankTarget\n\ @@ -7701,7 +7701,7 @@ _08021E9A:\n\ adds r7, r2, 0\n\ cmp r0, 0x7F\n\ bne _08021EBE\n\ - ldr r0, _08021F48 @ =gBattleMoveFlags\n\ + ldr r0, _08021F48 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7715,7 +7715,7 @@ _08021EBE:\n\ adds r0, r1\n\ strh r3, [r0]\n\ _08021ECA:\n\ - ldr r0, _08021F50 @ =gAbsentBankFlags\n\ + ldr r0, _08021F50 @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, _08021F54 @ =gBitTable\n\ mov r3, r9\n\ @@ -7769,14 +7769,14 @@ _08021F04:\n\ .align 2, 0\n\ _08021F2C: .4byte gHitMarker\n\ _08021F30: .4byte gBankAttacker\n\ -_08021F34: .4byte gActiveBank\n\ +_08021F34: .4byte gActiveBattler\n\ _08021F38: .4byte gBankTarget\n\ _08021F3C: .4byte 0xffffefff\n\ _08021F40: .4byte gBattleMoves\n\ _08021F44: .4byte gChosenMove\n\ -_08021F48: .4byte gBattleMoveFlags\n\ +_08021F48: .4byte gMoveResultFlags\n\ _08021F4C: .4byte gUnknown_02024C2C\n\ -_08021F50: .4byte gAbsentBankFlags\n\ +_08021F50: .4byte gAbsentBattlerFlags\n\ _08021F54: .4byte gBitTable\n\ _08021F58: .4byte 0x000160a6\n\ _08021F5C: .4byte gLastUsedMove\n\ @@ -7807,7 +7807,7 @@ _08021F82:\n\ ands r1, r0\n\ cmp r1, 0\n\ bne _08021FA0\n\ - ldr r0, _08021FE0 @ =gUnknown_02024C5C\n\ + ldr r0, _08021FE0 @ =gLastHitBy\n\ adds r0, r3, r0\n\ mov r3, r9\n\ ldrb r1, [r3]\n\ @@ -7819,7 +7819,7 @@ _08021FA0:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0802204C\n\ - ldr r0, _08021FE4 @ =gBattleMoveFlags\n\ + ldr r0, _08021FE4 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7841,8 +7841,8 @@ _08021FD0: .4byte gLastUsedMove\n\ _08021FD4: .4byte 0x0000ffff\n\ _08021FD8: .4byte gUnknown_02024C4C\n\ _08021FDC: .4byte gBankTarget\n\ -_08021FE0: .4byte gUnknown_02024C5C\n\ -_08021FE4: .4byte gBattleMoveFlags\n\ +_08021FE0: .4byte gLastHitBy\n\ +_08021FE4: .4byte gMoveResultFlags\n\ _08021FE8: .4byte gLastLandedMoves\n\ _08021FEC:\n\ ldr r0, _08022014 @ =gLastLandedMoves\n\ @@ -7901,7 +7901,7 @@ _0802205C: .4byte gLastLandedMoves\n\ _08022060: .4byte gBankTarget\n\ _08022064: .4byte 0x0000ffff\n\ _08022068:\n\ - ldr r0, _0802212C @ =gAbsentBankFlags\n\ + ldr r0, _0802212C @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r6, _08022130 @ =gBitTable\n\ ldr r2, _08022134 @ =gBankAttacker\n\ @@ -7956,7 +7956,7 @@ _080220C0:\n\ ands r1, r0\n\ cmp r1, 0\n\ bne _0802215C\n\ - ldr r0, _0802214C @ =gBattleMoveFlags\n\ + ldr r0, _0802214C @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -8003,7 +8003,7 @@ _080220C0:\n\ strb r0, [r2]\n\ b _08022244\n\ .align 2, 0\n\ -_0802212C: .4byte gAbsentBankFlags\n\ +_0802212C: .4byte gAbsentBattlerFlags\n\ _08022130: .4byte gBitTable\n\ _08022134: .4byte gBankAttacker\n\ _08022138: .4byte 0x000160a6\n\ @@ -8011,7 +8011,7 @@ _0802213C: .4byte gBattleMoves\n\ _08022140: .4byte gChosenMove\n\ _08022144: .4byte gHitMarker\n\ _08022148: .4byte gBankTarget\n\ -_0802214C: .4byte gBattleMoveFlags\n\ +_0802214C: .4byte gMoveResultFlags\n\ _08022150: .4byte 0x000160ac\n\ _08022154: .4byte 0x000160ad\n\ _08022158: .4byte 0x00016100\n\ @@ -8106,12 +8106,12 @@ _080221C0:\n\ bne _08022244\n\ ldr r7, _080222C8 @ =gBankTarget\n\ ldrb r0, [r7]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x2\n\ eors r0, r1\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsls r0, 24\n\ lsrs r2, r0, 24\n\ ldr r1, _080222CC @ =gBattleMons\n\ @@ -8213,7 +8213,7 @@ static void atk4A_typecalc2(void) if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { gLastUsedAbility = gBattleMons[gBankTarget].ability; - gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); gLastLandedMoves[gBankTarget] = 0; gBattleCommunication[6] = move_type; RecordAbilityBattle(gBankTarget, gLastUsedAbility); @@ -8235,13 +8235,13 @@ static void atk4A_typecalc2(void) { if (gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } if (gTypeEffectiveness[i + 2] == 5) - flags |= MOVESTATUS_NOTVERYEFFECTIVE; + flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; if (gTypeEffectiveness[i + 2] == 20) - flags |= MOVESTATUS_SUPEREFFECTIVE; + flags |= MOVE_RESULT_SUPER_EFFECTIVE; } //check type2 if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2) @@ -8249,31 +8249,31 @@ static void atk4A_typecalc2(void) if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 5) - flags |= MOVESTATUS_NOTVERYEFFECTIVE; + flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 20) - flags |= MOVESTATUS_SUPEREFFECTIVE; + flags |= MOVE_RESULT_SUPER_EFFECTIVE; } } i += 3; } } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVESTATUS_NOEFFECT) && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 && - (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) && + if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_NO_EFFECT) && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 && + (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[gCurrentMove].power) { gLastUsedAbility = ABILITY_WONDER_GUARD; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBankTarget] = 0; gBattleCommunication[6] = 3; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) gProtectStructs[gBankAttacker].notEffective = 1; gBattlescriptCurrInstr++; @@ -8281,11 +8281,11 @@ static void atk4A_typecalc2(void) static void atk4B_returnatktoball(void) { - gActiveBank = gBankAttacker; - if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank))) + gActiveBattler = gBankAttacker; + if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { EmitReturnPokeToBall(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr++; } @@ -8295,12 +8295,12 @@ static void atk4C_getswitchedmondata(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - gBattlePartyID[gActiveBank] = ewram16068arr(gActiveBank); + gBattlerPartyIndexes[gActiveBattler] = ewram16068arr(gActiveBattler); - EmitGetAttributes(0, 0, gBitTable[gBattlePartyID[gActiveBank]]); - MarkBufferBankForExecution(gActiveBank); + EmitGetAttributes(0, 0, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -8313,40 +8313,40 @@ static void atk4D_switchindataupdate(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - oldData = gBattleMons[gActiveBank]; - monData = (u8*)(&gBattleMons[gActiveBank]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + oldData = gBattleMons[gActiveBattler]; + monData = (u8*)(&gBattleMons[gActiveBattler]); for (i = 0; i < sizeof(struct BattlePokemon); i++) { - monData[i] = gBattleBufferB[gActiveBank][4 + i]; + monData[i] = gBattleBufferB[gActiveBattler][4 + i]; } - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; - gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); // check knocked off item - i = GetBankSide(gActiveBank); - if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlePartyID[gActiveBank]]) + i = GetBattlerSide(gActiveBattler); + if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]]) { - gBattleMons[gActiveBank].item = 0; + gBattleMons[gActiveBattler].item = 0; } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { for (i = 0; i < 8; i++) { - gBattleMons[gActiveBank].statStages[i] = oldData.statStages[i]; + gBattleMons[gActiveBattler].statStages[i] = oldData.statStages[i]; } - gBattleMons[gActiveBank].status2 = oldData.status2; + gBattleMons[gActiveBattler].status2 = oldData.status2; } SwitchInClearSetData(); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBank, gBattlePartyID[gActiveBank]); + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]); gBattlescriptCurrInstr += 2; } @@ -8356,14 +8356,14 @@ static void atk4E_switchinanim(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) { - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } - gAbsentBankFlags &= ~(gBitTable[gActiveBank]); - EmitSendOutPoke(0, gBattlePartyID[gActiveBank], T2_READ_8(gBattlescriptCurrInstr + 2)); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); + EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2)); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; } @@ -8373,29 +8373,29 @@ static void atk4F_jumpifcantswitch(void) register struct Pokemon *party; u8 r7; //0x80 byte is used as a way of telling the function whether to not check status2/status3 - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F); if (!(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x80) - && ((gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) - || (gStatuses3[gActiveBank] & STATUS3_ROOTED))) + && ((gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + || (gStatuses3[gActiveBattler] & STATUS3_ROOTED))) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); return; } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankSide(gActiveBank) == 1) + if (GetBattlerSide(gActiveBattler) == 1) party = gEnemyParty; else party = gPlayerParty; val = 0; - if (sub_803FBFC(sub_803FC34(gActiveBank)) == 1) + if (sub_803FBFC(sub_803FC34(gActiveBattler)) == 1) val = 3; for (to_cmp = val + 3; val < to_cmp; val++) { if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) && GetMonData(&party[val], MON_DATA_HP) != 0 - && gBattlePartyID[gActiveBank] != val) + && gBattlerPartyIndexes[gActiveBattler] != val) break; } if (val == to_cmp) @@ -8405,20 +8405,20 @@ static void atk4F_jumpifcantswitch(void) } else { - if (GetBankSide(gActiveBank) == 1) + if (GetBattlerSide(gActiveBattler) == 1) { - r7 = GetBankByIdentity(1); + r7 = GetBattlerAtPosition(1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - to_cmp = GetBankByIdentity(3); + to_cmp = GetBattlerAtPosition(3); else to_cmp = r7; party = gEnemyParty; } else { - r7 = GetBankByIdentity(0); + r7 = GetBattlerAtPosition(0); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - to_cmp = GetBankByIdentity(2); + to_cmp = GetBattlerAtPosition(2); else to_cmp = r7; party = gPlayerParty; @@ -8428,7 +8428,7 @@ static void atk4F_jumpifcantswitch(void) if (GetMonData(&party[val], MON_DATA_HP) != 0 && GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) - && val != gBattlePartyID[r7] && val != gBattlePartyID[to_cmp]) + && val != gBattlerPartyIndexes[r7] && val != gBattlerPartyIndexes[to_cmp]) break; } if (val == 6) @@ -8440,9 +8440,9 @@ static void atk4F_jumpifcantswitch(void) void sub_8022A3C(u8 unkown) { - BATTLE_PARTY_ID(gActiveBank) = gBattlePartyID[gActiveBank]; - EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBank]); - MarkBufferBankForExecution(gActiveBank); + BATTLE_PARTY_ID(gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; + EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBattler]); + MarkBufferBankForExecution(gActiveBattler); } /* @@ -8456,25 +8456,25 @@ static void atk50_openpartyscreen(void) { if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) { - for (gActiveBank = i; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = i; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank))) + if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { EmitLinkStandbyMsg(0, 2); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } - else if (sub_8018018(gActiveBank, 6, 6) == 0 - && !gSpecialStatuses[gActiveBank].flag40) + else if (sub_8018018(gActiveBattler, 6, 6) == 0 + && !gSpecialStatuses[gActiveBattler].flag40) { sub_8022A3C(6); - gSpecialStatuses[gActiveBank].flag40 = 1; + gSpecialStatuses[gActiveBattler].flag40 = 1; } else { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= (~HITMARKER_FAINTED(gActiveBank)); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= (~HITMARKER_FAINTED(gActiveBattler)); EmitLinkStandbyMsg(0, 2); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } } @@ -8484,8 +8484,8 @@ static void atk50_openpartyscreen(void) { } - else if (sub_8018018(gActiveBank, 6, 6) == 0 - && !gSpecialStatuses[gActiveBank].flag40) + else if (sub_8018018(gActiveBattler, 6, 6) == 0 + && !gSpecialStatuses[gActiveBattler].flag40) { } @@ -8536,9 +8536,9 @@ _08022ACE:\n\ ands r1, r0\n\ cmp r1, 0x1\n\ beq _08022BBC\n\ - ldr r1, _08022B4C @ =gActiveBank\n\ + ldr r1, _08022B4C @ =gActiveBattler\n\ strb r7, [r1]\n\ - ldr r0, _08022B50 @ =gNoOfAllBanks\n\ + ldr r0, _08022B50 @ =gBattlersCount\n\ ldrb r0, [r0]\n\ cmp r7, r0\n\ bcc _08022AE8\n\ @@ -8547,7 +8547,7 @@ _08022AE8:\n\ ldr r7, _08022B54 @ =gHitMarker\n\ ldr r6, _08022B58 @ =gBitTable\n\ adds r4, r1, 0\n\ - ldr r0, _08022B5C @ =gAbsentBankFlags\n\ + ldr r0, _08022B5C @ =gAbsentBattlerFlags\n\ mov r8, r0\n\ _08022AF2:\n\ ldrb r2, [r4]\n\ @@ -8591,11 +8591,11 @@ _08022AF2:\n\ .align 2, 0\n\ _08022B44: .4byte gBattlescriptCurrInstr\n\ _08022B48: .4byte gBattleTypeFlags\n\ -_08022B4C: .4byte gActiveBank\n\ -_08022B50: .4byte gNoOfAllBanks\n\ +_08022B4C: .4byte gActiveBattler\n\ +_08022B50: .4byte gBattlersCount\n\ _08022B54: .4byte gHitMarker\n\ _08022B58: .4byte gBitTable\n\ -_08022B5C: .4byte gAbsentBankFlags\n\ +_08022B5C: .4byte gAbsentBattlerFlags\n\ _08022B60:\n\ ldr r5, _08022B90 @ =gSpecialStatuses\n\ ldrb r0, [r4]\n\ @@ -8631,7 +8631,7 @@ _08022BA2:\n\ ldrb r0, [r4]\n\ adds r0, 0x1\n\ strb r0, [r4]\n\ - ldr r1, _08022BB8 @ =gNoOfAllBanks\n\ + ldr r1, _08022BB8 @ =gBattlersCount\n\ lsls r0, 24\n\ lsrs r0, 24\n\ ldrb r1, [r1]\n\ @@ -8639,7 +8639,7 @@ _08022BA2:\n\ bcc _08022AF2\n\ b _08022F62\n\ .align 2, 0\n\ -_08022BB8: .4byte gNoOfAllBanks\n\ +_08022BB8: .4byte gBattlersCount\n\ _08022BBC:\n\ ands r1, r0\n\ cmp r1, 0\n\ @@ -8655,7 +8655,7 @@ _08022BC4:\n\ ands r0, r5\n\ cmp r0, 0\n\ beq _08022C7E\n\ - ldr r4, _08022C24 @ =gActiveBank\n\ + ldr r4, _08022C24 @ =gActiveBattler\n\ strb r7, [r4]\n\ movs r0, 0\n\ movs r1, 0x6\n\ @@ -8664,7 +8664,7 @@ _08022BC4:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022C2C\n\ - ldr r2, _08022C28 @ =gAbsentBankFlags\n\ + ldr r2, _08022C28 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8689,8 +8689,8 @@ _08022BC4:\n\ .align 2, 0\n\ _08022C1C: .4byte gHitMarker\n\ _08022C20: .4byte gBitTable\n\ -_08022C24: .4byte gActiveBank\n\ -_08022C28: .4byte gAbsentBankFlags\n\ +_08022C24: .4byte gActiveBattler\n\ +_08022C28: .4byte gAbsentBattlerFlags\n\ _08022C2C:\n\ ldr r6, _08022C60 @ =gSpecialStatuses\n\ ldrb r0, [r4]\n\ @@ -8739,7 +8739,7 @@ _08022C7E:\n\ ands r0, r5\n\ cmp r0, 0\n\ bne _08022D40\n\ - ldr r4, _08022CDC @ =gActiveBank\n\ + ldr r4, _08022CDC @ =gActiveBattler\n\ movs r0, 0x2\n\ strb r0, [r4]\n\ movs r0, 0x2\n\ @@ -8749,7 +8749,7 @@ _08022C7E:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022CE8\n\ - ldr r2, _08022CE0 @ =gAbsentBankFlags\n\ + ldr r2, _08022CE0 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8773,8 +8773,8 @@ _08022C7E:\n\ b _08022D40\n\ .align 2, 0\n\ _08022CD8: .4byte gBitTable\n\ -_08022CDC: .4byte gActiveBank\n\ -_08022CE0: .4byte gAbsentBankFlags\n\ +_08022CDC: .4byte gActiveBattler\n\ +_08022CE0: .4byte gAbsentBattlerFlags\n\ _08022CE4: .4byte gHitMarker\n\ _08022CE8:\n\ ldr r6, _08022D1C @ =gSpecialStatuses\n\ @@ -8823,7 +8823,7 @@ _08022D40:\n\ ands r0, r5\n\ cmp r0, 0\n\ beq _08022DF6\n\ - ldr r4, _08022D94 @ =gActiveBank\n\ + ldr r4, _08022D94 @ =gActiveBattler\n\ movs r0, 0x1\n\ strb r0, [r4]\n\ movs r0, 0x1\n\ @@ -8833,7 +8833,7 @@ _08022D40:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022DA0\n\ - ldr r2, _08022D98 @ =gAbsentBankFlags\n\ + ldr r2, _08022D98 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8857,8 +8857,8 @@ _08022D40:\n\ b _08022DF6\n\ .align 2, 0\n\ _08022D90: .4byte gBitTable\n\ -_08022D94: .4byte gActiveBank\n\ -_08022D98: .4byte gAbsentBankFlags\n\ +_08022D94: .4byte gActiveBattler\n\ +_08022D98: .4byte gAbsentBattlerFlags\n\ _08022D9C: .4byte gHitMarker\n\ _08022DA0:\n\ ldr r6, _08022DD4 @ =gSpecialStatuses\n\ @@ -8910,7 +8910,7 @@ _08022DF6:\n\ ands r0, r5\n\ cmp r0, 0\n\ bne _08022EB8\n\ - ldr r4, _08022E54 @ =gActiveBank\n\ + ldr r4, _08022E54 @ =gActiveBattler\n\ movs r0, 0x3\n\ strb r0, [r4]\n\ movs r0, 0x3\n\ @@ -8920,7 +8920,7 @@ _08022DF6:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022E60\n\ - ldr r2, _08022E58 @ =gAbsentBankFlags\n\ + ldr r2, _08022E58 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8944,8 +8944,8 @@ _08022DF6:\n\ b _08022EB8\n\ .align 2, 0\n\ _08022E50: .4byte gBitTable\n\ -_08022E54: .4byte gActiveBank\n\ -_08022E58: .4byte gAbsentBankFlags\n\ +_08022E54: .4byte gActiveBattler\n\ +_08022E58: .4byte gAbsentBattlerFlags\n\ _08022E5C: .4byte gHitMarker\n\ _08022E60:\n\ ldr r6, _08022E94 @ =gSpecialStatuses\n\ @@ -9002,30 +9002,30 @@ _08022EB8:\n\ blt _08022F0C\n\ cmp r5, 0\n\ beq _08022F0C\n\ - ldr r0, _08022EEC @ =gAbsentBankFlags\n\ + ldr r0, _08022EEC @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r0, _08022EF0 @ =gBitTable\n\ ldr r0, [r0]\n\ ands r1, r0\n\ cmp r1, 0\n\ beq _08022EF8\n\ - ldr r1, _08022EF4 @ =gActiveBank\n\ + ldr r1, _08022EF4 @ =gActiveBattler\n\ movs r0, 0x2\n\ strb r0, [r1]\n\ b _08022EFC\n\ .align 2, 0\n\ _08022EE8: .4byte gSpecialStatuses\n\ -_08022EEC: .4byte gAbsentBankFlags\n\ +_08022EEC: .4byte gAbsentBattlerFlags\n\ _08022EF0: .4byte gBitTable\n\ -_08022EF4: .4byte gActiveBank\n\ +_08022EF4: .4byte gActiveBattler\n\ _08022EF8:\n\ - ldr r0, _08022F3C @ =gActiveBank\n\ + ldr r0, _08022F3C @ =gActiveBattler\n\ strb r1, [r0]\n\ _08022EFC:\n\ movs r0, 0\n\ movs r1, 0x2\n\ bl EmitLinkStandbyMsg\n\ - ldr r0, _08022F3C @ =gActiveBank\n\ + ldr r0, _08022F3C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ _08022F0C:\n\ @@ -9042,30 +9042,30 @@ _08022F0C:\n\ blt _08022F62\n\ cmp r5, 0\n\ beq _08022F62\n\ - ldr r0, _08022F44 @ =gAbsentBankFlags\n\ + ldr r0, _08022F44 @ =gAbsentBattlerFlags\n\ ldrb r0, [r0]\n\ ldr r1, _08022F48 @ =gBitTable\n\ ldr r1, [r1, 0x4]\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _08022F4C\n\ - ldr r1, _08022F3C @ =gActiveBank\n\ + ldr r1, _08022F3C @ =gActiveBattler\n\ movs r0, 0x3\n\ b _08022F50\n\ .align 2, 0\n\ -_08022F3C: .4byte gActiveBank\n\ +_08022F3C: .4byte gActiveBattler\n\ _08022F40: .4byte gSpecialStatuses\n\ -_08022F44: .4byte gAbsentBankFlags\n\ +_08022F44: .4byte gAbsentBattlerFlags\n\ _08022F48: .4byte gBitTable\n\ _08022F4C:\n\ - ldr r1, _08022F6C @ =gActiveBank\n\ + ldr r1, _08022F6C @ =gActiveBattler\n\ movs r0, 0x1\n\ _08022F50:\n\ strb r0, [r1]\n\ movs r0, 0\n\ movs r1, 0x2\n\ bl EmitLinkStandbyMsg\n\ - ldr r0, _08022F6C @ =gActiveBank\n\ + ldr r0, _08022F6C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ _08022F62:\n\ @@ -9075,7 +9075,7 @@ _08022F62:\n\ str r0, [r1]\n\ b _08023302\n\ .align 2, 0\n\ -_08022F6C: .4byte gActiveBank\n\ +_08022F6C: .4byte gActiveBattler\n\ _08022F70: .4byte gBattlescriptCurrInstr\n\ _08022F74:\n\ cmp r0, 0x6\n\ @@ -9108,7 +9108,7 @@ _08022F92:\n\ ands r0, r5\n\ cmp r0, 0\n\ beq _0802303A\n\ - ldr r6, _08022FFC @ =gActiveBank\n\ + ldr r6, _08022FFC @ =gActiveBattler\n\ movs r0, 0x2\n\ strb r0, [r6]\n\ ldr r0, _08023000 @ =gBattleBufferB\n\ @@ -9119,7 +9119,7 @@ _08022F92:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08023008\n\ - ldr r2, _08023004 @ =gAbsentBankFlags\n\ + ldr r2, _08023004 @ =gAbsentBattlerFlags\n\ ldrb r0, [r6]\n\ lsls r0, 2\n\ adds r0, r4\n\ @@ -9144,9 +9144,9 @@ _08022F92:\n\ _08022FF0: .4byte gBattleTypeFlags\n\ _08022FF4: .4byte gHitMarker\n\ _08022FF8: .4byte gBitTable\n\ -_08022FFC: .4byte gActiveBank\n\ +_08022FFC: .4byte gActiveBattler\n\ _08023000: .4byte gBattleBufferB\n\ -_08023004: .4byte gAbsentBankFlags\n\ +_08023004: .4byte gAbsentBattlerFlags\n\ _08023008:\n\ ldr r4, _08023098 @ =gSpecialStatuses\n\ ldrb r0, [r6]\n\ @@ -9182,7 +9182,7 @@ _0802303A:\n\ ands r5, r0\n\ cmp r5, 0\n\ beq _080230EE\n\ - ldr r5, _080230A8 @ =gActiveBank\n\ + ldr r5, _080230A8 @ =gActiveBattler\n\ movs r0, 0x3\n\ strb r0, [r5]\n\ ldr r0, _080230AC @ =gBattleBufferB\n\ @@ -9195,7 +9195,7 @@ _0802303A:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _080230BC\n\ - ldr r2, _080230B4 @ =gAbsentBankFlags\n\ + ldr r2, _080230B4 @ =gAbsentBattlerFlags\n\ ldrb r0, [r5]\n\ lsls r0, 2\n\ adds r0, r4\n\ @@ -9222,10 +9222,10 @@ _08023098: .4byte gSpecialStatuses\n\ _0802309C: .4byte gSharedMem\n\ _080230A0: .4byte 0x00016068\n\ _080230A4: .4byte gBitTable\n\ -_080230A8: .4byte gActiveBank\n\ +_080230A8: .4byte gActiveBattler\n\ _080230AC: .4byte gBattleBufferB\n\ _080230B0: .4byte 0x00000201\n\ -_080230B4: .4byte gAbsentBankFlags\n\ +_080230B4: .4byte gAbsentBattlerFlags\n\ _080230B8: .4byte gHitMarker\n\ _080230BC:\n\ ldr r4, _080230FC @ =gSpecialStatuses\n\ @@ -9277,7 +9277,7 @@ _08023110:\n\ ldr r4, _08023168 @ =gBitTable\n\ ldr r2, [r4]\n\ ands r2, r5\n\ - ldr r6, _0802316C @ =gNoOfAllBanks\n\ + ldr r6, _0802316C @ =gBattlersCount\n\ cmp r2, 0\n\ bne _0802314C\n\ adds r7, r6, 0\n\ @@ -9314,7 +9314,7 @@ _08023156:\n\ _08023160: .4byte gHitMarker\n\ _08023164: .4byte gBank1\n\ _08023168: .4byte gBitTable\n\ -_0802316C: .4byte gNoOfAllBanks\n\ +_0802316C: .4byte gBattlersCount\n\ _08023170:\n\ movs r0, 0x80\n\ ands r0, r2\n\ @@ -9351,9 +9351,9 @@ _080231A8:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _080231F8\n\ - ldr r2, _080231E8 @ =gActiveBank\n\ + ldr r2, _080231E8 @ =gActiveBattler\n\ strb r7, [r2]\n\ - ldr r3, _080231EC @ =gAbsentBankFlags\n\ + ldr r3, _080231EC @ =gAbsentBattlerFlags\n\ ldr r4, _080231F0 @ =gBitTable\n\ ldrb r0, [r2]\n\ lsls r0, 2\n\ @@ -9375,19 +9375,19 @@ _080231A8:\n\ str r0, [r6]\n\ b _08023302\n\ .align 2, 0\n\ -_080231E8: .4byte gActiveBank\n\ -_080231EC: .4byte gAbsentBankFlags\n\ +_080231E8: .4byte gActiveBattler\n\ +_080231EC: .4byte gAbsentBattlerFlags\n\ _080231F0: .4byte gBitTable\n\ _080231F4: .4byte gHitMarker\n\ _080231F8:\n\ - ldr r4, _080232A0 @ =gActiveBank\n\ + ldr r4, _080232A0 @ =gActiveBattler\n\ strb r7, [r4]\n\ ldr r3, _080232A4 @ =gSharedMem\n\ ldrb r0, [r4]\n\ ldr r2, _080232A8 @ =0x00016064\n\ adds r1, r0, r2\n\ adds r1, r3\n\ - ldr r2, _080232AC @ =gBattlePartyID\n\ + ldr r2, _080232AC @ =gBattlerPartyIndexes\n\ lsls r0, 1\n\ adds r0, r2\n\ ldrh r0, [r0]\n\ @@ -9416,7 +9416,7 @@ _080231F8:\n\ adds r0, 0x6\n\ str r0, [r6]\n\ ldrb r0, [r4]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0802325A\n\ @@ -9433,10 +9433,10 @@ _0802325A:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _080232C4\n\ - ldr r1, _080232A0 @ =gActiveBank\n\ + ldr r1, _080232A0 @ =gActiveBattler\n\ movs r0, 0\n\ strb r0, [r1]\n\ - ldr r0, _080232C0 @ =gNoOfAllBanks\n\ + ldr r0, _080232C0 @ =gBattlersCount\n\ ldrb r0, [r0]\n\ cmp r0, 0\n\ beq _08023302\n\ @@ -9454,7 +9454,7 @@ _0802328A:\n\ ldrb r0, [r4]\n\ adds r0, 0x1\n\ strb r0, [r4]\n\ - ldr r1, _080232C0 @ =gNoOfAllBanks\n\ + ldr r1, _080232C0 @ =gBattlersCount\n\ lsls r0, 24\n\ lsrs r0, 24\n\ ldrb r1, [r1]\n\ @@ -9462,26 +9462,26 @@ _0802328A:\n\ bcc _08023276\n\ b _08023302\n\ .align 2, 0\n\ -_080232A0: .4byte gActiveBank\n\ +_080232A0: .4byte gActiveBattler\n\ _080232A4: .4byte gSharedMem\n\ _080232A8: .4byte 0x00016064\n\ -_080232AC: .4byte gBattlePartyID\n\ +_080232AC: .4byte gBattlerPartyIndexes\n\ _080232B0: .4byte 0x00016068\n\ _080232B4: .4byte 0x0001606c\n\ _080232B8: .4byte gBattleResults\n\ _080232BC: .4byte gBattleTypeFlags\n\ -_080232C0: .4byte gNoOfAllBanks\n\ +_080232C0: .4byte gBattlersCount\n\ _080232C4:\n\ adds r0, r7, 0\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x1\n\ eors r0, r1\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankByIdentity\n\ - ldr r4, _08023310 @ =gActiveBank\n\ + bl GetBattlerAtPosition\n\ + ldr r4, _08023310 @ =gActiveBattler\n\ strb r0, [r4]\n\ - ldr r0, _08023314 @ =gAbsentBankFlags\n\ + ldr r0, _08023314 @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, _08023318 @ =gBitTable\n\ ldrb r3, [r4]\n\ @@ -9509,8 +9509,8 @@ _08023302:\n\ pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_08023310: .4byte gActiveBank\n\ -_08023314: .4byte gAbsentBankFlags\n\ +_08023310: .4byte gActiveBattler\n\ +_08023314: .4byte gAbsentBattlerFlags\n\ _08023318: .4byte gBitTable\n\ .syntax divided"); } @@ -9521,11 +9521,11 @@ static void atk51_switchhandleorder(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleBufferB[i][0] == 0x22) ewram16068arr(i) = gBattleBufferB[i][1]; @@ -9533,22 +9533,22 @@ static void atk51_switchhandleorder(void) break; case 1: if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - sub_8012258(gActiveBank); + sub_8012258(gActiveBattler); break; case 2: - gBattleCommunication[0] = gBattleBufferB[gActiveBank][1]; - ewram16068arr(gActiveBank) = gBattleBufferB[gActiveBank][1]; + gBattleCommunication[0] = gBattleBufferB[gActiveBattler][1]; + ewram16068arr(gActiveBattler) = gBattleBufferB[gActiveBattler][1]; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - ewram1606Carr(0, gActiveBank) &= 0xF; - ewram1606Carr(0, gActiveBank) |= (gBattleBufferB[gActiveBank][2] & 0xF0); - ewram1606Carr(1, gActiveBank) = gBattleBufferB[gActiveBank][3]; - ewram1606Carr(0, (gActiveBank ^ 2)) &= (0xF0); - ewram1606Carr(0, (gActiveBank ^ 2)) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; - ewram1606Carr(2, (gActiveBank ^ 2)) = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, gActiveBattler) &= 0xF; + ewram1606Carr(0, gActiveBattler) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); + ewram1606Carr(1, gActiveBattler) = gBattleBufferB[gActiveBattler][3]; + ewram1606Carr(0, (gActiveBattler ^ 2)) &= (0xF0); + ewram1606Carr(0, (gActiveBattler ^ 2)) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; + ewram1606Carr(2, (gActiveBattler ^ 2)) = gBattleBufferB[gActiveBattler][3]; } else - sub_8012258(gActiveBank); + sub_8012258(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 6; @@ -9558,8 +9558,8 @@ static void atk51_switchhandleorder(void) gBattleTextBuff2[0] = 0xFD; gBattleTextBuff2[1] = 7; - gBattleTextBuff2[2] = gActiveBank; - gBattleTextBuff2[3] = gBattleBufferB[gActiveBank][1]; + gBattleTextBuff2[2] = gActiveBattler; + gBattleTextBuff2[3] = gBattleBufferB[gActiveBattler][1]; gBattleTextBuff2[4] = 0xFF; break; } @@ -9570,24 +9570,24 @@ static void atk52_switchineffects(void) { int i; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - sub_80157C4(gActiveBank); - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - gSpecialStatuses[gActiveBank].flag40 = 0; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + sub_80157C4(gActiveBattler); + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + gSpecialStatuses[gActiveBattler].flag40 = 0; - if (!(gSideAffecting[GetBankSide(gActiveBank)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBankSide(gActiveBank)] & SIDE_STATUS_SPIKES) - && gBattleMons[gActiveBank].type1 != TYPE_FLYING && gBattleMons[gActiveBank].type2 != TYPE_FLYING && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE) + if (!(gSideAffecting[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES) + && gBattleMons[gActiveBattler].type1 != TYPE_FLYING && gBattleMons[gActiveBattler].type2 != TYPE_FLYING && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE) { u8 spikesDmg; - gSideAffecting[GetBankSide(gActiveBank)] |= SIDE_STATUS_SPIKES_DAMAGED; + gSideAffecting[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED; - spikesDmg = (5 - gSideTimers[GetBankSide(gActiveBank)].spikesAmount) * 2; - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / (spikesDmg); + spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (spikesDmg); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; BattleScriptPushCursor(); if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) @@ -9599,24 +9599,24 @@ static void atk52_switchineffects(void) } else { - if (gBattleMons[gActiveBank].ability == ABILITY_TRUANT) + if (gBattleMons[gActiveBattler].ability == ABILITY_TRUANT) { - gDisableStructs[gActiveBank].truantCounter = 1; + gDisableStructs[gActiveBattler].truantCounter = 1; } - if (AbilityBattleEffects(0, gActiveBank, 0, 0, 0) == 0 && ItemBattleEffects(0, gActiveBank, 0) == 0) + if (AbilityBattleEffects(0, gActiveBattler, 0, 0, 0) == 0 && ItemBattleEffects(0, gActiveBattler, 0) == 0) { - gSideAffecting[GetBankSide(gActiveBank)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); + gSideAffecting[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBanksByTurnOrder[i] == gActiveBank) + if (gBanksByTurnOrder[i] == gActiveBattler) gActionsByTurnOrder[i] = 0xC; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - *(HP_ON_SWITCHOUT + GetBankSide(i)) = gBattleMons[i].hp; + *(HP_ON_SWITCHOUT + GetBattlerSide(i)) = gBattleMons[i].hp; } if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5) @@ -9625,9 +9625,9 @@ static void atk52_switchineffects(void) gBank1++; while (1) { - if (hitmark & gBitTable[gBank1] && !(gAbsentBankFlags & gBitTable[gBank1])) + if (hitmark & gBitTable[gBank1] && !(gAbsentBattlerFlags & gBitTable[gBank1])) break; - if (gBank1 >= gNoOfAllBanks) + if (gBank1 >= gBattlersCount) break; gBank1++; } @@ -9640,52 +9640,52 @@ static void atk52_switchineffects(void) static void atk53_trainerslidein(void) { if (!T2_READ_8(gBattlescriptCurrInstr + 1)) - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); else - gActiveBank = GetBankByIdentity(1); + gActiveBattler = GetBattlerAtPosition(1); EmitTrainerSlide(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk54_playse(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; } static void atk55_fanfare(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; } static void atk56_playfaintcry(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitFaintingCry(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk57(void) { - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); Emitcmd55(0, gBattleOutcome); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 1; } static void atk58_returntoball(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitReturnPokeToBall(0, 1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -9708,14 +9708,14 @@ void atk59_handlelearnnewmove(void) } else { - gActiveBank = GetBankByIdentity(0); - if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) - GiveMoveToBattleMon(&gBattleMons[gActiveBank], ret); + gActiveBattler = GetBattlerAtPosition(0); + if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) //what is else if { - gActiveBank = GetBankByIdentity(2); - if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) - GiveMoveToBattleMon(&gBattleMons[gActiveBank], ret); + gActiveBattler = GetBattlerAtPosition(2); + if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); } gBattlescriptCurrInstr = loc1; } @@ -9737,7 +9737,7 @@ void sub_8023AD8(void) static void atk5A_yesnoboxlearnmove(void) { - gActiveBank = 0; + gActiveBattler = 0; switch (gBattleStruct->atk5A_StateTracker) { case 0: @@ -9800,7 +9800,7 @@ static void atk5A_yesnoboxlearnmove(void) u16 move = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_MOVE1 + move_pos); if (IsHMMove2(move)) { - PrepareStringBattle(0x13F, gActiveBank); + PrepareStringBattle(0x13F, gActiveBattler); gBattleStruct->atk5A_StateTracker = 5; } else @@ -9819,13 +9819,13 @@ static void atk5A_yesnoboxlearnmove(void) ptr[0] = 0xFF; RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterID], move_pos); SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterID], gMoveToLearn, move_pos); - if (gBattlePartyID[0] == gBattleStruct->expGetterID && !(gBattleMons[0].status2 & STATUS2_TRANSFORMED) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID && !(gBattleMons[0].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[0].unk18_b & gBitTable[move_pos])) { RemoveBattleMonPPBonus(&gBattleMons[0], move_pos); SetBattleMonMoveSlot(&gBattleMons[0], gMoveToLearn, move_pos); } - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[2] == gBattleStruct->expGetterID && !(gBattleMons[2].status2 & STATUS2_TRANSFORMED) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[2] == gBattleStruct->expGetterID && !(gBattleMons[2].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[2].unk18_b & gBitTable[move_pos])) { RemoveBattleMonPPBonus(&gBattleMons[2], move_pos); @@ -9893,13 +9893,13 @@ static void atk5B_yesnoboxstoplearningmove(void) static void atk5C_hitanimation(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) gBattlescriptCurrInstr += 2; - else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBank].substituteHP == 0) + else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { EmitHitAnimation(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } else @@ -10236,23 +10236,23 @@ static void atk5D_getmoneyreward(void) static void atk5E_8025A70(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (gBattleCommunication[0]) { case 0: EmitGetAttributes(0, REQUEST_ALL_BATTLE, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleCommunication[0]++; break; case 1: if (gBattleExecBuffer == 0) { int i; - struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBank][4]; + struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4]; for (i = 0; i < 4; i++) { - gBattleMons[gActiveBank].moves[i] = bufferPoke->moves[i]; - gBattleMons[gActiveBank].pp[i] = bufferPoke->pp[i]; + gBattleMons[gActiveBattler].moves[i] = bufferPoke->moves[i]; + gBattleMons[gActiveBattler].pp[i] = bufferPoke->pp[i]; } gBattlescriptCurrInstr += 2; } @@ -10262,9 +10262,9 @@ static void atk5E_8025A70(void) static void atk5F_8025B24(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; gBankAttacker = gBankTarget; - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; //what is xor... if (gHitMarker & HITMARKER_PURSUIT_TRAP) gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); @@ -10275,7 +10275,7 @@ static void atk5F_8025B24(void) static void atk60_incrementgamestat(void) { - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) { IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1)); } @@ -10290,8 +10290,8 @@ static void atk61_drawpartystatussummary(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (GetBankSide(gActiveBank) == 0) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (GetBattlerSide(gActiveBattler) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -10310,15 +10310,15 @@ static void atk61_drawpartystatussummary(void) } } EmitDrawPartyStatusSummary(0, hpStatus, 1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk62_08025C6C(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd49(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -10335,11 +10335,11 @@ static void atk64_statusanimation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + EmitStatusAnimation(0, 0, gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 2; } @@ -10350,12 +10350,12 @@ static void atk65_status2animation(void) if (gBattleExecBuffer == 0) { u32 possible_to_anim; - gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim); - MarkBufferBankForExecution(gActiveBank); + EmitStatusAnimation(0, 1, gBattleMons[gActiveBattler].status2 & possible_to_anim); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 6; } @@ -10366,12 +10366,12 @@ static void atk66_chosenstatusanimation(void) if (gBattleExecBuffer == 0) { u32 status; - gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); status = T1_READ_32(gBattlescriptCurrInstr + 3); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 7; } @@ -10422,7 +10422,7 @@ static void atk67_yesnobox(void) static void atk68_cancelallactions(void) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gActionsByTurnOrder[i] = 0xC; } @@ -10459,12 +10459,12 @@ static void atk69_adjustsetdamage(void) //literally a copy of atk07 except there if (gProtectStructs[gBankTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } if (gSpecialStatuses[gBankTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; gLastUsedItem = gBattleMons[gBankTarget].item; } @@ -10474,12 +10474,12 @@ static void atk69_adjustsetdamage(void) //literally a copy of atk07 except there void atk6A_removeitem(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + USED_HELD_ITEMS(gActiveBattler) = gBattleMons[gActiveBattler].item; - gBattleMons[gActiveBank].item = 0; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].item = 0; + EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -10488,7 +10488,7 @@ static void atk6B_atknameinbuff1(void) gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 7; gBattleTextBuff1[2] = gBankAttacker; - gBattleTextBuff1[3] = gBattlePartyID[gBankAttacker]; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gBankAttacker]; gBattleTextBuff1[4] = 0xFF; gBattlescriptCurrInstr++; } @@ -10927,22 +10927,22 @@ static void atk6D_resetsentmonsvalue(void) static void atk6E_setatktoplayer0(void) { - gBankAttacker = GetBankByIdentity(0); + gBankAttacker = GetBattlerAtPosition(0); gBattlescriptCurrInstr++; } static void atk6F_makevisible(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitSpriteInvisibility(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk70_recordlastability(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); gBattlescriptCurrInstr += 1; //buggy, should be += 2, one byte for command, one byte for argument... } @@ -10975,8 +10975,8 @@ static void atk73_hpthresholds(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - opposing_bank = gActiveBank ^ 1; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + opposing_bank = gActiveBattler ^ 1; result = gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP; if (result == 0) @@ -11002,9 +11002,9 @@ static void atk74_hpthresholds2(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - opposing_bank = gActiveBank ^ 1; - hp_switchout = ewram160BCarr(GetBankSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBankSide(opposing_bank)]; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + opposing_bank = gActiveBattler ^ 1; + hp_switchout = ewram160BCarr(GetBattlerSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBattlerSide(opposing_bank)]; result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout; if (gBattleMons[opposing_bank].hp >= hp_switchout) @@ -11023,27 +11023,27 @@ static void atk74_hpthresholds2(void) static void atk75_useitemonopponent(void) { gBankInMenu = gBankAttacker; - PokemonUseItemEffects(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1); + PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBankAttacker], 0, 1); gBattlescriptCurrInstr += 1; } static void atk76_various(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); break; case 1: { u8 side; gBankAttacker = gBankTarget; - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) gBankTarget = gSideTimers[side].followmeTarget; else - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; } break; case 2: @@ -11053,35 +11053,35 @@ static void atk76_various(void) gBankTarget = GetMoveTarget(gCurrentMove, 0); break; case 4: - if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) gBattleCommunication[0] = 1; else gBattleCommunication[0] = 0; break; case 5: - gSpecialStatuses[gActiveBank].intimidatedPoke = 0; - gSpecialStatuses[gActiveBank].traced = 0; + gSpecialStatuses[gActiveBattler].intimidatedPoke = 0; + gSpecialStatuses[gActiveBattler].traced = 0; break; case 6: { int i; u16* choiced_move; - if (gBattlePartyID[0] == gBattleStruct->expGetterID) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID) goto ACTIVE_0; - if (gBattlePartyID[2] != gBattleStruct->expGetterID) + if (gBattlerPartyIndexes[2] != gBattleStruct->expGetterID) break; - if (gBattlePartyID[0] == gBattlePartyID[2]) + if (gBattlerPartyIndexes[0] == gBattlerPartyIndexes[2]) { ACTIVE_0: - gActiveBank = 0; + gActiveBattler = 0; } else - gActiveBank = 2; + gActiveBattler = 2; - choiced_move = CHOICED_MOVE(gActiveBank); + choiced_move = CHOICED_MOVE(gActiveBattler); for (i = 0; i < 4; i++) { - if (gBattleMons[gActiveBank].moves[i] == *choiced_move) + if (gBattleMons[gActiveBattler].moves[i] == *choiced_move) break; } if (i == 4) @@ -11100,7 +11100,7 @@ static void atk77_setprotectlike(void) //protect and endure if (last_move != MOVE_PROTECT && last_move != MOVE_DETECT && last_move != MOVE_ENDURE) gDisableStructs[gBankAttacker].protectUses = 0; - if (gCurrentTurnActionNumber == (gNoOfAllBanks - 1)) + if (gCurrentTurnActionNumber == (gBattlersCount - 1)) not_last_turn = 0; if (sProtectSuccessRates[gDisableStructs[gBankAttacker].protectUses] > Random() && not_last_turn) @@ -11121,7 +11121,7 @@ static void atk77_setprotectlike(void) //protect and endure { gDisableStructs[gBankAttacker].protectUses = 0; gBattleCommunication[MULTISTRING_CHOOSER] = 2; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; } gBattlescriptCurrInstr++; @@ -11132,25 +11132,25 @@ static void atk78_faintifabilitynotdamp(void) if (gBattleExecBuffer) return; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBattleMons[gBankTarget].ability == ABILITY_DAMP) break; } - if (gBankTarget == gNoOfAllBanks) + if (gBankTarget == gBattlersCount) { - gActiveBank = gBankAttacker; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; + gActiveBattler = gBankAttacker; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; EmitHealthBarUpdate(0, 0x7FFF); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } } @@ -11167,10 +11167,10 @@ static void atk79_setatkhptozero(void) if (gBattleExecBuffer) return; - gActiveBank = gBankAttacker; - gBattleMons[gActiveBank].hp = 0; - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + gBattleMons[gActiveBattler].hp = 0; + EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; } @@ -11185,11 +11185,11 @@ static void atk7A_jumpifnexttargetvalid(void) //used by intimidate to loop throu { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } - if (gBankTarget >= gNoOfAllBanks) + if (gBankTarget >= gBattlersCount) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = jump_loc; @@ -11264,7 +11264,7 @@ static void atk7D_setrain(void) { if (gBattleWeather & WEATHER_RAIN_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -11278,15 +11278,15 @@ static void atk7D_setrain(void) static void atk7E_setreflect(void) { - if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_REFLECT) + if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_REFLECT) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_REFLECT; - gSideTimers[GetBankIdentity(gBankAttacker) & 1].reflectTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_REFLECT; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].reflectTimer = 5; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else @@ -11297,14 +11297,14 @@ static void atk7E_setreflect(void) static void atk7F_setseeded(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else if (gBattleMons[gBankTarget].type1 == TYPE_GRASS || gBattleMons[gBankTarget].type2 == TYPE_GRASS) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -11342,7 +11342,7 @@ static void atk80_manipulatedamage(void) static void atk81_trysetrest(void) { u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - gActiveBank = gBankTarget = gBankAttacker; + gActiveBattler = gBankTarget = gBankAttacker; gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1); if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) gBattlescriptCurrInstr = fail_loc; @@ -11354,8 +11354,8 @@ static void atk81_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattleMons[gBankTarget].status1 = 3; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; } } @@ -11378,7 +11378,7 @@ static void atk83_nop(void) bool8 UproarWakeUpCheck(u8 bank) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[bank].ability == ABILITY_SOUNDPROOF) //wtf gamefreak, you should check this only once, not every time in a loop... continue; @@ -11391,7 +11391,7 @@ bool8 UproarWakeUpCheck(u8 bank) gBattleCommunication[MULTISTRING_CHOOSER] = 1; break; } - if (i == gNoOfAllBanks) + if (i == gBattlersCount) return 0; else return 1; @@ -11419,7 +11419,7 @@ static void atk85_stockpile(void) { if (gDisableStructs[gBankAttacker].stockpileCounter == 3) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else @@ -11448,7 +11448,7 @@ static void atk86_stockpiletobasedamage(void) if (gBattleCommunication[6] != 1) { gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GetBankIdentity(gBankTarget) & 1], 0, + gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0, 0, gBankAttacker, gBankTarget) * gDisableStructs[gBankAttacker].stockpileCounter; gBattleStruct->animTurn = gDisableStructs[gBankAttacker].stockpileCounter; @@ -11504,9 +11504,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) u32 index; if (flags & MOVE_EFFECT_AFFECTS_USER) - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; else - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; flags &= ~(MOVE_EFFECT_AFFECTS_USER); @@ -11522,21 +11522,21 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if ((statValue << 0x18) < 0) // stat decrease { - if (gSideTimers[GET_BANK_SIDE(gActiveBank)].mistTimer + if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_BS_PTR) { - if (gSpecialStatuses[gActiveBank].statLowered) + if (gSpecialStatuses[gActiveBattler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_MistProtected; - gSpecialStatuses[gActiveBank].statLowered = 1; + gSpecialStatuses[gActiveBattler].statLowered = 1; } } return STAT_CHANGE_DIDNT_WORK; @@ -11547,55 +11547,55 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } - else if ((gBattleMons[gActiveBank].ability == ABILITY_CLEAR_BODY - || gBattleMons[gActiveBank].ability == ABILITY_WHITE_SMOKE) + else if ((gBattleMons[gActiveBattler].ability == ABILITY_CLEAR_BODY + || gBattleMons[gActiveBattler].ability == ABILITY_WHITE_SMOKE) && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_BS_PTR) { - if (gSpecialStatuses[gActiveBank].statLowered) + if (gSpecialStatuses[gActiveBattler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); - gSpecialStatuses[gActiveBank].statLowered = 1; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + gSpecialStatuses[gActiveBattler].statLowered = 1; } } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_KEEN_EYE + else if (gBattleMons[gActiveBattler].ability == ABILITY_KEEN_EYE && !certain && statId == STAT_STAGE_ACC) { if (flags == STAT_CHANGE_BS_PTR) { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoSpecificStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_HYPER_CUTTER + else if (gBattleMons[gActiveBattler].ability == ABILITY_HYPER_CUTTER && !certain && statId == STAT_STAGE_ATK) { if (flags == STAT_CHANGE_BS_PTR) { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoSpecificStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_SHIELD_DUST && flags == 0) + else if (gBattleMons[gActiveBattler].ability == ABILITY_SHIELD_DUST && flags == 0) { return STAT_CHANGE_DIDNT_WORK; } @@ -11619,10 +11619,10 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) index++; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBank].statStages[statId] == 0) + if (gBattleMons[gActiveBattler].statStages[statId] == 0) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBank); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBattler); } } @@ -11646,20 +11646,20 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) index++; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBank].statStages[statId] == 0xC) + if (gBattleMons[gActiveBattler].statStages[statId] == 0xC) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBank); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBattler); } - gBattleMons[gActiveBank].statStages[statId] += statValue; - if (gBattleMons[gActiveBank].statStages[statId] < 0) - gBattleMons[gActiveBank].statStages[statId] = 0; - if (gBattleMons[gActiveBank].statStages[statId] > 0xC) - gBattleMons[gActiveBank].statStages[statId] = 0xC; + gBattleMons[gActiveBattler].statStages[statId] += statValue; + if (gBattleMons[gActiveBattler].statStages[statId] < 0) + gBattleMons[gActiveBattler].statStages[statId] = 0; + if (gBattleMons[gActiveBattler].statStages[statId] > 0xC) + gBattleMons[gActiveBattler].statStages[statId] = 0xC; if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_CHANGE_BS_PTR) - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_CHANGE_BS_PTR)) return STAT_CHANGE_DIDNT_WORK; @@ -11677,7 +11677,7 @@ static void atk89_statbuffchange(void) static void atk8A_normalisebuffs(void) //haze { int i, j; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { for (j = 0; j < 8; j++) { @@ -11733,7 +11733,7 @@ static bool8 sub_80264C0(void) { if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) { - ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget]; + ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget]; } else { @@ -11743,7 +11743,7 @@ static bool8 sub_80264C0(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); return 0; } - ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget]; + ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget]; } gBattlescriptCurrInstr = BattleScript_SuccessForceOut; return 1; @@ -11757,7 +11757,7 @@ static void atk8F_forcerandomswitch(void) struct Pokemon* party; u8 valid; u8 val; - if (!GetBankSide(gBankTarget)) + if (!GetBattlerSide(gBankTarget)) party = gPlayerParty; else party = gEnemyParty; @@ -11805,7 +11805,7 @@ static void atk8F_forcerandomswitch(void) i = val + 3; else i = val; - } while (i == gBattlePartyID[gBankTarget] || i == gBattlePartyID[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); } else { @@ -11814,14 +11814,14 @@ static void atk8F_forcerandomswitch(void) do { i = Random() % 6; - } while (i == gBattlePartyID[gBankTarget] || i == gBattlePartyID[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); } else { do { i = Random() % 6; - } while (i == gBattlePartyID[gBankTarget] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBankTarget] || !MON_CAN_BATTLE(&party[i])); } } ewram16068arr(gBankTarget) = i; @@ -11919,15 +11919,15 @@ static void atk91_givepaydaymoney(void) static void atk92_setlightscreen(void) { - if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN) + if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN; - gSideTimers[GetBankIdentity(gBankAttacker) & 1].lightscreenTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].lightscreenTimer = 5; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 4; else @@ -11957,7 +11957,7 @@ static void atk93_tryKO(void) if (gBattleMons[gBankTarget].ability == ABILITY_STURDY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastUsedAbility = ABILITY_STURDY; gBattlescriptCurrInstr = x; RecordAbilityBattle(gBankTarget, ABILITY_STURDY); @@ -11969,7 +11969,7 @@ static void atk93_tryKO(void) u16 to_cmp = gBattleMons[gBankAttacker].level - gBattleMons[gBankTarget].level + gBattleMoves[gCurrentMove].accuracy; if (Random() % 0x64 + 1 < to_cmp || gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) { - goto MOVESTATUS_MISSED_LABEL; + goto MOVE_RESULT_MISSED_LABEL; } } else @@ -11980,8 +11980,8 @@ static void atk93_tryKO(void) } } -MOVESTATUS_MISSED_LABEL: - gBattleTypeFlags |= MOVESTATUS_MISSED; +MOVE_RESULT_MISSED_LABEL: + gBattleTypeFlags |= MOVE_RESULT_MISSED; if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) gBattleCommunication[MULTISTRING_CHOOSER] = 1; else @@ -12078,7 +12078,7 @@ _08026C0C:\n\ mov r10, r8\n\ cmp r3, 0x5\n\ bne _08026C6C\n\ - ldr r2, _08026C5C @ =gBattleMoveFlags\n\ + ldr r2, _08026C5C @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x1\n\ orrs r0, r1\n\ @@ -12098,7 +12098,7 @@ _08026C4C: .4byte gStringBank\n\ _08026C50: .4byte gBankTarget\n\ _08026C54: .4byte gSpecialStatuses\n\ _08026C58: .4byte gBattleMons\n\ -_08026C5C: .4byte gBattleMoveFlags\n\ +_08026C5C: .4byte gMoveResultFlags\n\ _08026C60: .4byte gLastUsedAbility\n\ _08026C64: .4byte gBattlescriptCurrInstr\n\ _08026C68: .4byte BattleScript_SturdyPreventsOHKO\n\ @@ -12208,7 +12208,7 @@ _08026D20:\n\ ldrh r0, [r0, 0x28]\n\ subs r0, 0x1\n\ str r0, [r1]\n\ - ldr r2, _08026D60 @ =gBattleMoveFlags\n\ + ldr r2, _08026D60 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x40\n\ b _08026DC6\n\ @@ -12218,7 +12218,7 @@ _08026D50: .4byte gBankAttacker\n\ _08026D54: .4byte gProtectStructs\n\ _08026D58: .4byte gBankTarget\n\ _08026D5C: .4byte gBattleMoveDamage\n\ -_08026D60: .4byte gBattleMoveFlags\n\ +_08026D60: .4byte gMoveResultFlags\n\ _08026D64:\n\ ldr r0, _08026DA0 @ =gSpecialStatuses\n\ lsls r1, r2, 2\n\ @@ -12237,7 +12237,7 @@ _08026D64:\n\ ldrh r0, [r0, 0x28]\n\ subs r0, 0x1\n\ str r0, [r1]\n\ - ldr r2, _08026DA8 @ =gBattleMoveFlags\n\ + ldr r2, _08026DA8 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x80\n\ orrs r0, r1\n\ @@ -12253,7 +12253,7 @@ _08026D64:\n\ .align 2, 0\n\ _08026DA0: .4byte gSpecialStatuses\n\ _08026DA4: .4byte gBattleMoveDamage\n\ -_08026DA8: .4byte gBattleMoveFlags\n\ +_08026DA8: .4byte gMoveResultFlags\n\ _08026DAC: .4byte gLastUsedItem\n\ _08026DB0: .4byte gBankTarget\n\ _08026DB4:\n\ @@ -12263,7 +12263,7 @@ _08026DB4:\n\ add r0, r10\n\ ldrh r0, [r0, 0x28]\n\ str r0, [r1]\n\ - ldr r2, _08026DD8 @ =gBattleMoveFlags\n\ + ldr r2, _08026DD8 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x10\n\ _08026DC6:\n\ @@ -12277,10 +12277,10 @@ _08026DCA:\n\ b _08026E40\n\ .align 2, 0\n\ _08026DD4: .4byte gBattleMoveDamage\n\ -_08026DD8: .4byte gBattleMoveFlags\n\ +_08026DD8: .4byte gMoveResultFlags\n\ _08026DDC: .4byte gBattlescriptCurrInstr\n\ _08026DE0:\n\ - ldr r2, _08026E10 @ =gBattleMoveFlags\n\ + ldr r2, _08026E10 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x1\n\ orrs r0, r1\n\ @@ -12305,7 +12305,7 @@ _08026DE0:\n\ movs r0, 0\n\ b _08026E24\n\ .align 2, 0\n\ -_08026E10: .4byte gBattleMoveFlags\n\ +_08026E10: .4byte gMoveResultFlags\n\ _08026E14: .4byte gBankAttacker\n\ _08026E18: .4byte gBankTarget\n\ _08026E1C: .4byte gBattleCommunication\n\ @@ -12354,7 +12354,7 @@ static void atk95_setsandstorm(void) { if (gBattleWeather & WEATHER_SANDSTORM_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -12402,7 +12402,7 @@ static void atk96_weatherdamage(void) else gBattleMoveDamage = 0; - if (gAbsentBankFlags & gBitTable[gBankAttacker]) + if (gAbsentBattlerFlags & gBitTable[gBankAttacker]) gBattleMoveDamage = 0; gBattlescriptCurrInstr++; @@ -12413,15 +12413,15 @@ static void atk97_tryinfatuating(void) struct Pokemon *attacker, *target; u16 atk_species, def_species; u32 atk_pid, def_pid; - if (!GetBankSide(gBankAttacker)) - attacker = &gPlayerParty[gBattlePartyID[gBankAttacker]]; + if (!GetBattlerSide(gBankAttacker)) + attacker = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; else - attacker = &gEnemyParty[gBattlePartyID[gBankAttacker]]; + attacker = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; - if (!GetBankSide(gBankTarget)) - target = &gPlayerParty[gBattlePartyID[gBankTarget]]; + if (!GetBattlerSide(gBankTarget)) + target = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; else - target = &gEnemyParty[gBattlePartyID[gBankTarget]]; + target = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; atk_species = GetMonData(attacker, MON_DATA_SPECIES); atk_pid = GetMonData(attacker, MON_DATA_PERSONALITY); @@ -12458,26 +12458,26 @@ static void atk98_updatestatusicon(void) if (T2_READ_8(gBattlescriptCurrInstr + 1) != 4) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } else { - gActiveBank = gBankAttacker; - if (!(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = gBankAttacker; + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (!(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBufferBankForExecution(gActiveBattler); } } gBattlescriptCurrInstr += 2; @@ -12486,15 +12486,15 @@ static void atk98_updatestatusicon(void) static void atk99_setmist(void) { - if (gSideTimers[GetBankIdentity(gBankAttacker) & 1].mistTimer) + if (gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gSideTimers[GetBankIdentity(gBankAttacker) & 1].mistTimer = 5; - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_MIST; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_MIST; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } gBattlescriptCurrInstr++; @@ -12504,7 +12504,7 @@ static void atk9A_setfocusenergy(void) { if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else @@ -12521,7 +12521,7 @@ static void atk9B_transformdataexecution(void) gBattlescriptCurrInstr++; if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else @@ -12554,9 +12554,9 @@ static void atk9B_transformdataexecution(void) gBattleMons[gBankAttacker].pp[j] = 5; } - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitResetActionMoveSelection(0, 2); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 0; } } @@ -12937,8 +12937,8 @@ static void atkA0_psywavedamageeffect(void) static void atkA1_counterdamagecalculator(void) { - u8 atk_side = GetBankSide(gBankAttacker); - u8 def_side = GetBankSide(gProtectStructs[gBankAttacker].physicalBank); + u8 atk_side = GetBattlerSide(gBankAttacker); + u8 def_side = GetBattlerSide(gProtectStructs[gBankAttacker].physicalBank); if (gProtectStructs[gBankAttacker].physicalDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBankAttacker].physicalBank].hp) { gBattleMoveDamage = gProtectStructs[gBankAttacker].physicalDmg * 2; @@ -12957,8 +12957,8 @@ static void atkA1_counterdamagecalculator(void) static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the physical -> special field changes { - u8 atk_side = GetBankSide(gBankAttacker); - u8 def_side = GetBankSide(gProtectStructs[gBankAttacker].specialBank); + u8 atk_side = GetBattlerSide(gBankAttacker); + u8 def_side = GetBattlerSide(gProtectStructs[gBankAttacker].specialBank); if (gProtectStructs[gBankAttacker].specialDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBankAttacker].specialBank].hp) { gBattleMoveDamage = gProtectStructs[gBankAttacker].specialDmg * 2; @@ -13387,7 +13387,7 @@ static void atkA8_copymovepermanently(void) struct move_pp moves_data; gBattleMons[gBankAttacker].moves[gCurrMovePos] = gUnknown_02024C2C[gBankTarget]; gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gUnknown_02024C2C[gBankTarget]].pp; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; for (i = 0; i < 4; i++) { moves_data.move[i] = gBattleMons[gBankAttacker].moves[i]; @@ -13395,7 +13395,7 @@ static void atkA8_copymovepermanently(void) } moves_data.ppBonuses = gBattleMons[gBankAttacker].ppBonuses; EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct move_pp), &moves_data); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; gBattleTextBuff1[2] = gUnknown_02024C2C[gBankTarget]; @@ -13478,8 +13478,8 @@ static void atkAA_setdestinybond(void) static void TrySetDestinyBondToHappen(void) { - u8 atk_side = GetBankSide(gBankAttacker); - u8 def_side = GetBankSide(gBankTarget); + u8 atk_side = GetBattlerSide(gBankAttacker); + u8 def_side = GetBattlerSide(gBankTarget); if (gBattleMons[gBankTarget].status2 & STATUS2_DESTINY_BOND && atk_side != def_side && !(gHitMarker & HITMARKER_GRUDGE)) gHitMarker |= HITMARKER_DESTINYBOND; } @@ -13533,12 +13533,12 @@ static void atkAD_tryspiteppreduce(void) gBattleTextBuff2[5] = 0xFF; gBattleMons[gBankTarget].pp[i] -= lost_pp; - gActiveBank = gBankTarget; - if (!(gDisableStructs[gActiveBank].unk18_b & gBitTable[i]) - && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) + gActiveBattler = gBankTarget; + if (!(gDisableStructs[gActiveBattler].unk18_b & gBitTable[i]) + && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBank].pp[i]); - MarkBufferBankForExecution(gActiveBank); + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 5; if (gBattleMons[gBankTarget].pp[i] == 0) @@ -13560,7 +13560,7 @@ static void atkAE_healpartystatus(void) int i; gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -13575,16 +13575,16 @@ static void atkAE_healpartystatus(void) gBattleCommunication[MULTISTRING_CHOOSER] |= 1; } - gActiveBank = gBattleStruct->scriptingActive = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = gBattleStruct->scriptingActive = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - if (gBattleMons[gActiveBank].ability != ABILITY_SOUNDPROOF) + if (gBattleMons[gActiveBattler].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gActiveBank].status1 = 0; + gBattleMons[gActiveBattler].status1 = 0; } else { - RecordAbilityBattle(gActiveBank, gBattleMons[gActiveBank].ability); + RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); gBattleCommunication[MULTISTRING_CHOOSER] |= 2; } } @@ -13596,10 +13596,10 @@ static void atkAE_healpartystatus(void) if (species != 0 && species != SPECIES_EGG) { u8 ability; - if (gBattlePartyID[gBankAttacker] == i) + if (gBattlerPartyIndexes[gBankAttacker] == i) ability = gBattleMons[gBankAttacker].ability; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[gActiveBank] == i && !(gAbsentBankFlags & gBitTable[gActiveBank])) - ability = gBattleMons[gActiveBank].ability; + else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[gActiveBattler] == i && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) + ability = gBattleMons[gActiveBattler].ability; else ability = GetAbilityBySpecies(species, abilityBit); if (ability != ABILITY_SOUNDPROOF) @@ -13613,15 +13613,15 @@ static void atkAE_healpartystatus(void) to_heal = 0x3F; gBattleMons[gBankAttacker].status1 = zero2; - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank])) - gBattleMons[gActiveBank].status1 = 0; + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) + gBattleMons[gActiveBattler].status1 = 0; } //missing check? - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSetMonData(0, REQUEST_STATUS_BATTLE, to_heal, 4, &zero); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; } @@ -13644,7 +13644,7 @@ static void atkAF_cursetarget(void) static void atkB0_trysetspikes(void) { - u8 side = GetBankSide(gBankAttacker) ^ 1; + u8 side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].spikesAmount == 3) { gSpecialStatuses[gBankAttacker].flag20 = 1; @@ -13668,20 +13668,20 @@ static void atkB2_trysetperishsong(void) { int not_affected_pokes = 0, i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_PERISH_SONG || gBattleMons[i].ability == ABILITY_SOUNDPROOF) not_affected_pokes++; else { gStatuses3[i] |= STATUS3_PERISH_SONG; - gDisableStructs[i].perishSong1 = 3; - gDisableStructs[i].perishSong2 = 3; + gDisableStructs[i].perishSongTimer1 = 3; + gDisableStructs[i].perishSongTimer2 = 3; } } PressurePPLoseOnUsingPerishSong(gBankAttacker); - if (not_affected_pokes == gNoOfAllBanks) + if (not_affected_pokes == gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; @@ -13689,7 +13689,7 @@ static void atkB2_trysetperishsong(void) static void atkB3_rolloutdamagecalculation(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { CancelMultiTurnMoves(gBankAttacker); gBattlescriptCurrInstr = BattleScript_MoveMissedPause; @@ -13728,7 +13728,7 @@ static void atkB4_jumpifconfusedandstatmaxed(void) static void atkB5_furycuttercalc(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { gDisableStructs[gBankAttacker].furyCutterCounter = 0; gBattlescriptCurrInstr = BattleScript_MoveMissedPause; @@ -13779,22 +13779,22 @@ static void atkB7_presentdamagecalculation(void) gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp; else { - //gBattleMoveFlags &= ~(MOVESTATUS_NOTAFFECTED); only in Emerald + //gMoveResultFlags &= ~(MOVE_RESULT_DOESNT_AFFECT_FOE); only in Emerald gBattlescriptCurrInstr = BattleScript_PresentHealTarget; } } static void atkB8_setsafeguard(void) { - if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD) + if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_SAFEGUARD; - gSideTimers[GetBankIdentity(gBankAttacker) & 1].safeguardTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_SAFEGUARD; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].safeguardTimer = 5; gBattleCommunication[MULTISTRING_CHOOSER] = 5; } gBattlescriptCurrInstr++; @@ -13846,11 +13846,11 @@ static void atkB9_magnitudedamagecalculation(void) gBattleTextBuff1[4] = magnitude; gBattleTextBuff1[5] = 0xFF; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) //a valid target was found + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) //a valid target was found break; } gBattlescriptCurrInstr++; @@ -13860,24 +13860,24 @@ static void atkBA_jumpifnopursuitswitchdmg(void) { if (gMultiHitCounter == 1) { - if (GetBankSide(gBankAttacker) == 0) - gBankTarget = GetBankByIdentity(1); + if (GetBattlerSide(gBankAttacker) == 0) + gBankTarget = GetBattlerAtPosition(1); else - gBankTarget = GetBankByIdentity(0); + gBankTarget = GetBattlerAtPosition(0); } else { - if (GetBankSide(gBankAttacker) == 0) - gBankTarget = GetBankByIdentity(3); + if (GetBattlerSide(gBankAttacker) == 0) + gBankTarget = GetBattlerAtPosition(3); else - gBankTarget = GetBankByIdentity(2); + gBankTarget = GetBattlerAtPosition(2); } if (gActionForBanks[gBankTarget] == 0 && gBankAttacker == ewram16010arr(gBankTarget) && !(gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) && gBattleMons[gBankAttacker].hp && !gDisableStructs[gBankTarget].truantCounter && gChosenMovesByBanks[gBankTarget] == MOVE_PURSUIT) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBanksByTurnOrder[i] == gBankTarget) gActionsByTurnOrder[i] = 11; @@ -13895,7 +13895,7 @@ static void atkBB_setsunny(void) { if (gBattleWeather & WEATHER_SUN_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -13958,10 +13958,10 @@ static void atkBE_rapidspinfree(void) //rapid spin BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_LeechSeedFree; } - else if (gSideAffecting[GetBankSide(gBankAttacker)] & SIDE_STATUS_SPIKES) + else if (gSideAffecting[GetBattlerSide(gBankAttacker)] & SIDE_STATUS_SPIKES) { - gSideAffecting[GetBankSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES); - gSideTimers[GetBankSide(gBankAttacker)].spikesAmount = 0; + gSideAffecting[GetBattlerSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES); + gSideTimers[GetBattlerSide(gBankAttacker)].spikesAmount = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SpikesFree; } @@ -14148,11 +14148,11 @@ _080298A8: .4byte gBattlescriptCurrInstr\n\ static void atkC2_selectfirstvalidtarget(void) { - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } gBattlescriptCurrInstr++; @@ -14170,7 +14170,7 @@ static void atkC3_trysetfutureattack(void) gWishFutureKnock.futureSightAttacker[gBankTarget] = gBankAttacker; gWishFutureKnock.futureSightCounter[gBankTarget] = 3; gWishFutureKnock.futureSightDmg[gBankTarget] = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GetBankIdentity(gBankTarget) & 1], 0, + gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0, 0, gBankAttacker, gBankTarget); if (gProtectStructs[gBankAttacker].helpingHand) @@ -14189,7 +14189,7 @@ static void atkC3_trysetfutureattack(void) static void atkC4_trydobeatup(void) { register struct Pokemon* party asm("r7"); - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -14241,7 +14241,7 @@ static void atkC4_trydobeatup(void) push {r6,r7}\n\ ldr r0, _08029A8C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ ldr r7, _08029A90 @ =gEnemyParty\n\ cmp r0, 0\n\ @@ -14532,7 +14532,7 @@ static void atkC8_sethail(void) { if (gBattleWeather & WEATHER_HAIL) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -14552,18 +14552,18 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gActiveBank = gBankAttacker; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; + gActiveBattler = gBankAttacker; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; EmitHealthBarUpdate(0, 0x7FFF); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; } } static void atkCA_setforcedtarget(void) //follow me { - gSideTimers[GetBankSide(gBankAttacker)].followmeTimer = 1; - gSideTimers[GetBankSide(gBankAttacker)].followmeTarget = gBankAttacker; + gSideTimers[GetBattlerSide(gBankAttacker)].followmeTimer = 1; + gSideTimers[GetBattlerSide(gBankAttacker)].followmeTarget = gBankAttacker; gBattlescriptCurrInstr++; } @@ -14590,9 +14590,9 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh { gBattleMons[gBankAttacker].status1 = 0; gBattlescriptCurrInstr += 5; - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); } else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -14631,8 +14631,8 @@ static void atkD0_settaunt(void) static void atkD1_trysethelpinghand(void) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gBankTarget]) && !gProtectStructs[gBankAttacker].helpingHand && !gProtectStructs[gBankTarget].helpingHand) { gProtectStructs[gBankTarget].helpingHand = 1; @@ -14645,9 +14645,9 @@ static void atkD1_trysethelpinghand(void) #ifdef NONMATCHING static void atkD2_tryswapitems(void) { - if ((GetBankSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == 0x400)) + if ((GetBattlerSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == 0x400)) { - u8 side = GetBankSide(gBankAttacker); + u8 side = GetBattlerSide(gBankAttacker); if (gBattleTypeFlags) } @@ -14667,7 +14667,7 @@ static void atkD2_tryswapitems(void) sub sp, 0x4\n\ ldr r0, _0802A30C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -14687,7 +14687,7 @@ static void atkD2_tryswapitems(void) _0802A24C:\n\ ldr r4, _0802A30C @ =gBankAttacker\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r2, r0, 24\n\ ldr r0, _0802A310 @ =gBattleTypeFlags\n\ @@ -14707,7 +14707,7 @@ _0802A24C:\n\ adds r0, r2, r0\n\ ldrb r1, [r0]\n\ ldr r3, _0802A320 @ =gBitTable\n\ - ldr r2, _0802A324 @ =gBattlePartyID\n\ + ldr r2, _0802A324 @ =gBattlerPartyIndexes\n\ ldrb r0, [r4]\n\ lsls r0, 1\n\ adds r0, r2\n\ @@ -14789,7 +14789,7 @@ _0802A314: .4byte 0x00000902\n\ _0802A318: .4byte gTrainerBattleOpponent\n\ _0802A31C: .4byte gWishFutureKnock\n\ _0802A320: .4byte gBitTable\n\ -_0802A324: .4byte gBattlePartyID\n\ +_0802A324: .4byte gBattlerPartyIndexes\n\ _0802A328: .4byte gBattleMons\n\ _0802A32C: .4byte gBankTarget\n\ _0802A330: .4byte gBattlescriptCurrInstr\n\ @@ -14841,7 +14841,7 @@ _0802A36C:\n\ add r0, r9\n\ mov r3, r10\n\ strh r3, [r0, 0x2E]\n\ - ldr r5, _0802A460 @ =gActiveBank\n\ + ldr r5, _0802A460 @ =gActiveBattler\n\ ldr r1, _0802A45C @ =gBankAttacker\n\ ldrb r0, [r1]\n\ strb r0, [r5]\n\ @@ -14937,7 +14937,7 @@ _0802A36C:\n\ .align 2, 0\n\ _0802A458: .4byte gSharedMem + 0x160F0\n\ _0802A45C: .4byte gBankAttacker\n\ -_0802A460: .4byte gActiveBank\n\ +_0802A460: .4byte gActiveBattler\n\ _0802A464: .4byte 0xfffe9f10\n\ _0802A468: .4byte 0x000160e8\n\ _0802A46C: .4byte 0x000160e9\n\ @@ -14995,7 +14995,7 @@ static void atkD4_trywish(void) if (gWishFutureKnock.wishCounter[gBankAttacker] == 0) { gWishFutureKnock.wishCounter[gBankAttacker] = 2; - gWishFutureKnock.wishUserID[gBankAttacker] = gBattlePartyID[gBankAttacker]; + gWishFutureKnock.wishUserID[gBankAttacker] = gBattlerPartyIndexes[gBankAttacker]; gBattlescriptCurrInstr += 6; } else @@ -15078,7 +15078,7 @@ static void atkDA_tryswapabilities(void) { if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0) || gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD - || gBattleMoveFlags & MOVESTATUS_NOEFFECT) + || gMoveResultFlags & MOVE_RESULT_NO_EFFECT) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -15100,9 +15100,9 @@ static void atkDB_tryimprision(void) { u8 bank; PressurePPLoseOnUsingImprision(gBankAttacker); - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { - if (r8 != GetBankSide(bank)) + if (r8 != GetBattlerSide(bank)) { int j; for (j = 0; j < 4; j++) @@ -15124,7 +15124,7 @@ static void atkDB_tryimprision(void) } } } - if (bank == gNoOfAllBanks) + if (bank == gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15162,14 +15162,14 @@ static void atkDE_asistattackselect(void) struct Pokemon* party; int i, j; u16* chooseable_moves; - if (GetBankIdentity(gBankAttacker) & 1) + if (GetBattlerPosition(gBankAttacker) & 1) party = gEnemyParty; else party = gPlayerParty; for (i = 0; i < 6; i++) { - if (i == gBattlePartyID[gBankAttacker]) + if (i == gBattlerPartyIndexes[gBankAttacker]) break; if (!GetMonData(&party[i], MON_DATA_SPECIES2) || GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) break; @@ -15224,7 +15224,7 @@ static void atkDE_asistattackselect(void) mov r10, r0\n\ ldr r0, _0802AB9C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x1\n\ ands r1, r0\n\ ldr r0, _0802ABA0 @ =gPlayerParty\n\ @@ -15236,7 +15236,7 @@ static void atkDE_asistattackselect(void) _0802AAAC:\n\ movs r2, 0\n\ _0802AAAE:\n\ - ldr r1, _0802ABA8 @ =gBattlePartyID\n\ + ldr r1, _0802ABA8 @ =gBattlerPartyIndexes\n\ ldr r0, _0802AB9C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ lsls r0, 1\n\ @@ -15358,7 +15358,7 @@ _0802AB54:\n\ _0802AB9C: .4byte gBankAttacker\n\ _0802ABA0: .4byte gPlayerParty\n\ _0802ABA4: .4byte gEnemyParty\n\ -_0802ABA8: .4byte gBattlePartyID\n\ +_0802ABA8: .4byte gBattlerPartyIndexes\n\ _0802ABAC: .4byte 0x0000ffff\n\ _0802ABB0: .4byte gSharedMem + 0x16024\n\ _0802ABB4: .4byte sMovesForbiddenToCopy\n\ @@ -15401,7 +15401,7 @@ static void atkDF_trysetmagiccoat(void) { gBankTarget = gBankAttacker; gSpecialStatuses[gBankAttacker].flag20 = 1; - if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) //last turn + if (gCurrentTurnActionNumber == gBattlersCount - 1) //last turn gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -15413,7 +15413,7 @@ static void atkDF_trysetmagiccoat(void) static void atkE0_trysetsnatch(void) { gSpecialStatuses[gBankAttacker].flag20 = 1; - if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) //last turn + if (gCurrentTurnActionNumber == gBattlersCount - 1) //last turn gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -15427,21 +15427,21 @@ static void atkE1_trygetintimidatetarget(void) u8 side; gBattleStruct->scriptingActive = ewram160DD; - side = GetBankSide(gBattleStruct->scriptingActive); + side = GetBattlerSide(gBattleStruct->scriptingActive); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 9; gBattleTextBuff1[2] = gBattleMons[gBattleStruct->scriptingActive].ability; gBattleTextBuff1[3] = 0xFF; - for (;gBankTarget < gNoOfAllBanks; gBankTarget++) + for (;gBankTarget < gBattlersCount; gBankTarget++) { - if (GetBankSide(gBankTarget) == side) + if (GetBattlerSide(gBankTarget) == side) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } - if (gBankTarget >= gNoOfAllBanks) + if (gBankTarget >= gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; @@ -15449,13 +15449,13 @@ static void atkE1_trygetintimidatetarget(void) static void atkE2_switchoutabilities(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - switch (gBattleMons[gActiveBank].ability) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + switch (gBattleMons[gActiveBattler].ability) { case ABILITY_NATURAL_CURE: - gBattleMons[gActiveBank].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[ewram16064arr(gActiveBank)], 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].status1 = 0; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[ewram16064arr(gActiveBattler)], 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } gBattlescriptCurrInstr += 2; @@ -15463,8 +15463,8 @@ static void atkE2_switchoutabilities(void) static void atkE3_jumpifhasnohp(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (gBattleMons[gActiveBank].hp == 0) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (gBattleMons[gActiveBattler].hp == 0) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; @@ -15535,11 +15535,11 @@ static void atkE5_pickup(void) static void atkE6_docastformchangeanimation(void) { - gActiveBank = gBattleStruct->scriptingActive; - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) + gActiveBattler = gBattleStruct->scriptingActive; + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) gBattleStruct->castformToChangeInto |= 0x80; EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->castformToChangeInto); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; } @@ -15605,15 +15605,15 @@ static void atkE9_setweatherballtype(void) static void atkEA_tryrecycleitem(void) { u16* used_item; - gActiveBank = gBankAttacker; - used_item = USED_HELD_ITEM(gActiveBank); - if (*used_item && gBattleMons[gActiveBank].item == 0) + gActiveBattler = gBankAttacker; + used_item = USED_HELD_ITEM(gActiveBattler); + if (*used_item && gBattleMons[gActiveBattler].item == 0) { gLastUsedItem = *used_item; *used_item = 0; - gBattleMons[gActiveBank].item = gLastUsedItem; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].item = gLastUsedItem; + EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; } else @@ -15638,15 +15638,15 @@ static void atkEB_settypetoterrain(void) static void atkEC_pursuitrelated(void) { - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank]) && gActionForBanks[gActiveBank] == 0 && gChosenMovesByBanks[gActiveBank] == MOVE_PURSUIT) + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) && gActionForBanks[gActiveBattler] == 0 && gChosenMovesByBanks[gActiveBattler] == MOVE_PURSUIT) { - gActionsByTurnOrder[gActiveBank] = 11; + gActionsByTurnOrder[gActiveBattler] = 11; gCurrentMove = MOVE_PURSUIT; gBattlescriptCurrInstr += 5; gBattleStruct->animTurn = 1; gBattleStruct->unk160A7 = gBankAttacker; - gBankAttacker = gActiveBank; + gBankAttacker = gActiveBattler; } else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -15665,7 +15665,7 @@ static void atkED_snatchsetbanks(void) static void atkEE_removelightscreenreflect(void) //brick break { - u8 side = GetBankSide(gBankAttacker) ^ 1; + u8 side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].reflectTimer || gSideTimers[side].lightscreenTimer) { gSideAffecting[side] &= ~(SIDE_STATUS_REFLECT); @@ -15689,18 +15689,18 @@ void atkEF_handleballthrow(void) if (gBattleExecBuffer) return; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; gBankTarget = gBankAttacker ^ 1; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { EmitBallThrow(0, 5); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { EmitBallThrow(0, 4); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } else @@ -15778,9 +15778,9 @@ void atkEF_handleballthrow(void) if (odds > 254) //poke caught { EmitBallThrow(0, 4); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else @@ -15795,11 +15795,11 @@ void atkEF_handleballthrow(void) if (gLastUsedItem == ITEM_MASTER_BALL) shakes = 4; //why calculate the shakes before that check? EmitBallThrow(0, shakes); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); if (shakes == 4) //poke caught, copy of the code above { gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else @@ -15816,9 +15816,9 @@ void atkEF_handleballthrow(void) static void atkF0_givecaughtmon(void) { - GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]); + GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]]); gBattleResults.caughtPoke = gBattleMons[gBankAttacker ^ 1].species; - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick); gBattlescriptCurrInstr++; } @@ -16020,15 +16020,15 @@ static void atkF3_trygivecaughtmonnick(void) case 2: if (!gPaletteFade.active) { - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); - DoNamingScreen(2, gBattleStruct->caughtNick, GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), BattleMainCB2); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); + DoNamingScreen(2, gBattleStruct->caughtNick, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), BattleMainCB2); gBattleCommunication[0]++; } break; case 3: if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active ) { - SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } break; @@ -16061,5 +16061,5 @@ static void atkF6_finishaction(void) static void atkF7_finishturn(void) { gCurrentActionFuncId = 0xC; - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; } diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 564d8b518..914ee245b 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -23,9 +23,9 @@ #include "graphics.h" extern u8 gBattleBufferA[][0x200]; -extern u8 gActiveBank; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u8 gActiveBattler; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u8 gBankSpriteIds[]; extern u16 gUnknown_02024DE8; @@ -96,7 +96,7 @@ extern void c3_0802FDF4(u8); extern void sub_80440EC(); extern void sub_804777C(); extern void sub_8141828(); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 IsBankSpritePresent(u8); extern u8 sub_8077F68(u8); extern u8 sub_8077F7C(u8); @@ -154,36 +154,36 @@ void sub_80313A0(struct Sprite *sprite) void move_anim_start_t2_for_situation(u8 a, u32 b) { - ewram17810[gActiveBank].unk0_4 = 1; + ewram17810[gActiveBattler].unk0_4 = 1; if (a == 0) { if (b == 0x20) - move_anim_start_t2(gActiveBank, 6); + move_anim_start_t2(gActiveBattler, 6); else if (b == 8 || (b & 0x80)) - move_anim_start_t2(gActiveBank, 0); + move_anim_start_t2(gActiveBattler, 0); else if (b == 0x10) - move_anim_start_t2(gActiveBank, 2); + move_anim_start_t2(gActiveBattler, 2); else if (b & 7) - move_anim_start_t2(gActiveBank, 4); + move_anim_start_t2(gActiveBattler, 4); else if (b == 0x40) - move_anim_start_t2(gActiveBank, 5); + move_anim_start_t2(gActiveBattler, 5); else - ewram17810[gActiveBank].unk0_4 = 0; + ewram17810[gActiveBattler].unk0_4 = 0; } else { if (b & 0x000F0000) - move_anim_start_t2(gActiveBank, 3); + move_anim_start_t2(gActiveBattler, 3); else if (b & 7) - move_anim_start_t2(gActiveBank, 1); + move_anim_start_t2(gActiveBattler, 1); else if (b & 0x10000000) - move_anim_start_t2(gActiveBank, 7); + move_anim_start_t2(gActiveBattler, 7); else if (b & 0x08000000) - move_anim_start_t2(gActiveBank, 8); + move_anim_start_t2(gActiveBattler, 8); else if (b & 0x0000E000) - move_anim_start_t2(gActiveBank, 9); + move_anim_start_t2(gActiveBattler, 9); else - ewram17810[gActiveBank].unk0_4 = 0; + ewram17810[gActiveBattler].unk0_4 = 0; } } @@ -274,7 +274,7 @@ bool8 mplay_80342A4(u8 a) if (IsSEPlaying()) { ewram17810[a].unk8++; - if (ewram17810[gActiveBank].unk8 < 30) + if (ewram17810[gActiveBattler].unk8 < 30) return TRUE; m4aMPlayStop(&gMPlay_SE1); m4aMPlayStop(&gMPlay_SE2); @@ -309,7 +309,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) r7 = gTransformedPersonalities[b]; } otId = GetMonData(pkmn, MON_DATA_OT_ID); - var = GetBankIdentity(b); + var = GetBattlerPosition(b); HandleLoadSpecialPokePic( &gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, @@ -361,7 +361,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) r7 = gTransformedPersonalities[b]; } otId = GetMonData(pkmn, MON_DATA_OT_ID); - var = GetBankIdentity(b); + var = GetBattlerPosition(b); HandleLoadSpecialPokePic( &gMonBackPicTable[species], gMonBackPicCoords[species].coords, @@ -404,7 +404,7 @@ void sub_8031A6C(u16 a, u8 b) u8 status; struct CompressedSpriteSheet spriteSheet; - status = GetBankIdentity(b); + status = GetBattlerPosition(b); DecompressPicFromTable_2( &gTrainerFrontPicTable[a], gTrainerFrontPicCoords[a].coords, @@ -423,7 +423,7 @@ void LoadPlayerTrainerBankSprite(u16 a, u8 b) { u8 status; - status = GetBankIdentity(b); + status = GetBattlerPosition(b); DecompressPicFromTable_2( &gTrainerBackPicTable[a], gTrainerBackPicCoords[a].coords, @@ -558,7 +558,7 @@ u8 battle_load_something(u8 *pState, u8 *b) else gHealthboxIDs[*b] = battle_make_oam_normal_battle(*b); (*b)++; - if (*b == gNoOfAllBanks) + if (*b == gBattlersCount) { *b = 0; (*pState)++; @@ -571,25 +571,25 @@ u8 battle_load_something(u8 *pState, u8 *b) else nullsub_11(gHealthboxIDs[*b], 1); (*b)++; - if (*b == gNoOfAllBanks) + if (*b == gBattlersCount) { *b = 0; (*pState)++; } break; case 5: - if (GetBankSide(*b) == 0) + if (GetBattlerSide(*b) == 0) { if (!(gBattleTypeFlags & 0x80)) - sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlePartyID[*b]], 0); + sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlerPartyIndexes[*b]], 0); } else { - sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlePartyID[*b]], 0); + sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlerPartyIndexes[*b]], 0); } sub_8043DB0(gHealthboxIDs[*b]); (*b)++; - if (*b == gNoOfAllBanks) + if (*b == gBattlersCount) { *b = 0; (*pState)++; @@ -620,7 +620,7 @@ void sub_8031F24(void) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) ewram17800[i].invisible = gSprites[gBankSpriteIds[i]].invisible; } @@ -670,15 +670,15 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) } else { - r10 = GetBankIdentity(a); - if (GetBankSide(b) == 1) - species = GetMonData(&gEnemyParty[gBattlePartyID[b]], MON_DATA_SPECIES); + r10 = GetBattlerPosition(a); + if (GetBattlerSide(b) == 1) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlePartyID[b]], MON_DATA_SPECIES); - if (GetBankSide(a) == 0) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES); + if (GetBattlerSide(a) == 0) { - personalityValue = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_PERSONALITY); - otId = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_OT_ID); + personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_PERSONALITY); + otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_OT_ID); HandleLoadSpecialPokePic( &gMonBackPicTable[species], gMonBackPicCoords[species].coords, @@ -690,8 +690,8 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) } else { - personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_PERSONALITY); - otId = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_OT_ID); + personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_PERSONALITY); + otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_OT_ID); HandleLoadSpecialPokePic( &gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, @@ -739,10 +739,10 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) if (IsContest()) r4 = 0; else - r4 = GetBankIdentity(a); + r4 = GetBattlerPosition(a); if (IsContest()) LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); - else if (GetBankSide(a) != 0) + else if (GetBattlerSide(a) != 0) LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]); else LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); @@ -758,10 +758,10 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) { if (!IsContest()) { - if (GetBankSide(a) != 0) - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); + if (GetBattlerSide(a) != 0) + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); else - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[a]], a); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[a]], a); } } } @@ -819,7 +819,7 @@ void HandleLowHpMusicChange(struct Pokemon *pkmn, u8 b) void BattleStopLowHpSound(void) { - u8 r4 = GetBankByIdentity(0); + u8 r4 = GetBattlerAtPosition(0); ewram17800[r4].unk0_1 = 0; if (IsDoubleBattle()) @@ -839,10 +839,10 @@ void sub_8032638(void) { if (gMain.inBattle) { - u8 r8 = GetBankByIdentity(0); - u8 r9 = GetBankByIdentity(2); - u8 r4 = pokemon_order_func(gBattlePartyID[r8]); - u8 r5 = pokemon_order_func(gBattlePartyID[r9]); + u8 r8 = GetBattlerAtPosition(0); + u8 r9 = GetBattlerAtPosition(2); + u8 r4 = pokemon_order_func(gBattlerPartyIndexes[r8]); + u8 r5 = pokemon_order_func(gBattlerPartyIndexes[r9]); if (GetMonData(&gPlayerParty[r4], MON_DATA_HP) != 0) HandleLowHpMusicChange(&gPlayerParty[r4], r8); @@ -858,7 +858,7 @@ void sub_80326EC(u8 a) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (IsBankSpritePresent(i) != 0) { @@ -881,13 +881,13 @@ void sub_80327CC(void) u8 r5; LoadCompressedObjectPic(&gUnknown_081FAF24); - r5 = GetBankByIdentity(1); - ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8); + r5 = GetBattlerAtPosition(1); + ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBattlerSpriteCoord(r5, 0), GetBattlerSpriteCoord(r5, 1) + 32, 0xC8); gSprites[ewram17810[r5].unk7].data[0] = r5; if (IsDoubleBattle()) { - r5 = GetBankByIdentity(3); - ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8); + r5 = GetBattlerAtPosition(3); + ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBattlerSpriteCoord(r5, 0), GetBattlerSpriteCoord(r5, 1) + 32, 0xC8); gSprites[ewram17810[r5].unk7].data[0] = r5; } } @@ -921,7 +921,7 @@ void sub_8032978(struct Sprite *sprite) void sub_8032984(u8 a, u16 b) { - if (GetBankSide(a) != 0) + if (GetBattlerSide(a) != 0) { if (ewram17800[a].transformedSpecies != 0) b = ewram17800[a].transformedSpecies; diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 629a57d25..134f6c18b 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -17,19 +17,19 @@ extern u8 gUnknown_02023A14_50; extern u32 gUnknown_02023A14_4C; extern u16 gBattleTypeFlags; extern u16 gBattleWeather; -extern u8 gActiveBank; -extern u16 gBattlePartyID[MAX_BANKS_BATTLE]; +extern u8 gActiveBattler; +extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern u16 gCurrentMove; extern int gBattleMoveDamage; extern u8 gBankAttacker; extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gBattleMoveFlags; +extern u8 gAbsentBattlerFlags; +extern u8 gMoveResultFlags; extern u16 gDynamicBasePower; -extern u16 gLastUsedMove[MAX_BANKS_BATTLE]; -extern u32 gStatuses3[MAX_BANKS_BATTLE]; +extern u16 gLastUsedMove[MAX_BATTLERS_COUNT]; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; extern u16 gSideAffecting[2]; -extern struct BattlePokemon gBattleMons[MAX_BANKS_BATTLE]; +extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; extern u8 gCritMultiplier; extern u16 gTrainerBattleOpponent; extern u8 *BattleAIs[]; @@ -272,7 +272,7 @@ void BattleAI_HandleItemUseBeforeAISetup(void) s32 i; u8 *data; - MEMSET_ALT(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data); + MEMSET_ALT(AI_BATTLE_HISTORY, 0, sizeof(struct BattleHistory), i, data); if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 0x400 @@ -282,8 +282,8 @@ void BattleAI_HandleItemUseBeforeAISetup(void) { if (gTrainers[gTrainerBattleOpponent].items[i] != 0) { - UNK_2016A00_STRUCT->items[UNK_2016A00_STRUCT->numOfItems] = gTrainers[gTrainerBattleOpponent].items[i]; - UNK_2016A00_STRUCT->numOfItems++; + AI_BATTLE_HISTORY->trainerItems[AI_BATTLE_HISTORY->numItems] = gTrainers[gTrainerBattleOpponent].items[i]; + AI_BATTLE_HISTORY->numItems++; } } } @@ -303,7 +303,7 @@ void BattleAI_SetupAIData(void) for (i = 0; i < MAX_MON_MOVES; i++) AI_THINKING_STRUCT->score[i] = 100; - limitations = CheckMoveLimitations(gActiveBank, 0, 0xFF); + limitations = CheckMoveLimitations(gActiveBattler, 0, 0xFF); // do not consider moves the AI cannot select // also, roll simulated RNG for moves that have a degree of @@ -318,17 +318,17 @@ void BattleAI_SetupAIData(void) // clear AI stack. AI_STACK->size = 0; - gBankAttacker = gActiveBank; + gBankAttacker = gActiveBattler; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { gBankTarget = Random() & 2; // just pick somebody to target. - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) gBankTarget ^= 2; } else - gBankTarget = gActiveBank ^ 1; + gBankTarget = gActiveBattler ^ 1; // special AI flag cases. if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) @@ -446,9 +446,9 @@ void sub_810745C(void) for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == 0) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == 0) { - UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] = gLastUsedMove[gBankTarget]; + AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] = gLastUsedMove[gBankTarget]; return; } } @@ -459,19 +459,19 @@ void unref_sub_81074A0(u8 a) s32 i; for (i = 0; i < 8; i++) - UNK_2016A00_STRUCT->movesUsed[a / 2][i] = 0; + AI_BATTLE_HISTORY->usedMoves[a / 2][i] = 0; } void RecordAbilityBattle(u8 a, u8 b) { - if (GetBankSide(a) == 0) - UNK_2016A00_STRUCT->unk20[GetBankIdentity(a) & 1] = b; + if (GetBattlerSide(a) == 0) + AI_BATTLE_HISTORY->abilities[GetBattlerPosition(a) & 1] = b; } void RecordItemBattle(u8 a, u8 b) { - if (GetBankSide(a) == 0) - UNK_2016A00_STRUCT->unk22[GetBankIdentity(a) & 1] = b; + if (GetBattlerSide(a) == 0) + AI_BATTLE_HISTORY->itemEffects[GetBattlerPosition(a) & 1] = b; } static void BattleAICmd_if_random_less_than(void) @@ -694,7 +694,7 @@ static void BattleAICmd_if_status4(void) else index = gBankTarget; - arg1 = GetBankIdentity(index) & 1; + arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) != 0) @@ -713,7 +713,7 @@ static void BattleAICmd_if_not_status4(void) else index = gBankTarget; - arg1 = GetBankIdentity(index) & 1; + arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) == 0) @@ -961,7 +961,7 @@ static void BattleAICmd_is_most_powerful_move(void) gDynamicBasePower = 0; eDynamicMoveType = 0; eDmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; for (i = 0; i < MAX_MON_MOVES; i++) @@ -1072,7 +1072,7 @@ _08108250:\n\ adds r0, r5, r2\n\ movs r2, 0x1\n\ strb r2, [r0]\n\ - ldr r0, _08108340 @ =gBattleMoveFlags\n\ + ldr r0, _08108340 @ =gMoveResultFlags\n\ strb r1, [r0]\n\ ldr r0, _08108344 @ =gCritMultiplier\n\ strb r2, [r0]\n\ @@ -1177,7 +1177,7 @@ _08108330: .4byte gBattleMoves\n\ _08108334: .4byte gSharedMem + 0x16800\n\ _08108338: .4byte gDynamicBasePower\n\ _0810833C: .4byte 0xfffff81c\n\ -_08108340: .4byte gBattleMoveFlags\n\ +_08108340: .4byte gMoveResultFlags\n\ _08108344: .4byte gCritMultiplier\n\ _08108348: .4byte gBattleMons\n\ _0810834C: .4byte gBankAttacker\n\ @@ -1317,7 +1317,7 @@ static void BattleAICmd_count_alive_pokemon(void) else index = gBankTarget; - if (GetBankSide(index) == 0) + if (GetBattlerSide(index) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -1325,14 +1325,14 @@ static void BattleAICmd_count_alive_pokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u32 status; - var = gBattlePartyID[index]; - status = GetBankIdentity(index) ^ 2; - var2 = gBattlePartyID[GetBankByIdentity(status)]; + var = gBattlerPartyIndexes[index]; + status = GetBattlerPosition(index) ^ 2; + var2 = gBattlerPartyIndexes[GetBattlerAtPosition(status)]; } else { - var = gBattlePartyID[index]; - var2 = gBattlePartyID[index]; + var = gBattlerPartyIndexes[index]; + var2 = gBattlerPartyIndexes[index]; } for (i = 0; i < 6; i++) @@ -1370,13 +1370,13 @@ static void BattleAICmd_get_ability(void) else index = gBankTarget; - if (GetBankSide(index) == TARGET) + if (GetBattlerSide(index) == TARGET) { - u16 unk = GetBankIdentity(index) & 1; + u16 side = GetBattlerPosition(index) & 1; - if (UNK_2016A00_STRUCT->unk20[unk] != 0) + if (AI_BATTLE_HISTORY->abilities[side] != 0) { - AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk20[unk]; + AI_THINKING_STRUCT->funcResult = AI_BATTLE_HISTORY->abilities[side]; gAIScriptPtr += 2; return; } @@ -1430,7 +1430,7 @@ static void BattleAICmd_get_highest_possible_damage(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; AI_THINKING_STRUCT->funcResult = 0; @@ -1453,7 +1453,7 @@ static void BattleAICmd_get_highest_possible_damage(void) if (gBattleMoveDamage == 15) gBattleMoveDamage = 10; - if (gBattleMoveFlags & 8) // if it's a status move, it wont do anything. + if (gMoveResultFlags & 8) // if it's a status move, it wont do anything. gBattleMoveDamage = 0; if (AI_THINKING_STRUCT->funcResult < gBattleMoveDamage) @@ -1470,7 +1470,7 @@ static void BattleAICmd_if_damage_bonus(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gBattleMoveDamage = 40; @@ -1487,7 +1487,7 @@ static void BattleAICmd_if_damage_bonus(void) if (gBattleMoveDamage == 15) gBattleMoveDamage = 10; - if (gBattleMoveFlags & 8) + if (gMoveResultFlags & 8) gBattleMoveDamage = 0; // store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8. @@ -1677,7 +1677,7 @@ static void BattleAICmd_if_can_faint(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; AI_CalcDmg(gBankAttacker, gBankTarget); @@ -1706,7 +1706,7 @@ static void BattleAICmd_if_cant_faint(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; AI_CalcDmg(gBankAttacker, gBankTarget); @@ -1745,7 +1745,7 @@ static void BattleAICmd_if_has_move(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == *temp_ptr) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == *temp_ptr) break; } if (i == 8) @@ -1779,7 +1779,7 @@ static void BattleAICmd_if_dont_have_move(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == *temp_ptr) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == *temp_ptr) break; } if (i != 8) @@ -1812,7 +1812,7 @@ static void BattleAICmd_if_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -1841,7 +1841,7 @@ static void BattleAICmd_if_not_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] != 0 && gBattleMoves[AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr += 7; @@ -1885,7 +1885,7 @@ static void BattleAICmd_if_encored(void) switch (gAIScriptPtr[1]) { case 0: // _08109348 - if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBattler].disabledMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; @@ -1893,7 +1893,7 @@ static void BattleAICmd_if_encored(void) gAIScriptPtr += 6; return; case 1: // _08109370 - if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBattler].encoredMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; @@ -1929,17 +1929,17 @@ static void BattleAICmd_watch(void) static void BattleAICmd_get_hold_effect(void) { u8 index; - u16 status; + u16 side; if (gAIScriptPtr[1] == USER) index = gBankAttacker; else index = gBankTarget; - if (GetBankSide(index) == 0) + if (GetBattlerSide(index) == 0) { - status = (GetBankIdentity(index) & 1); - AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk22[status]; + side = (GetBattlerPosition(index) & 1); + AI_THINKING_STRUCT->funcResult = AI_BATTLE_HISTORY->itemEffects[side]; } else AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[index].item); diff --git a/src/battle/battle_ai_switch_items.c b/src/battle/battle_ai_switch_items.c new file mode 100755 index 000000000..e01c7b729 --- /dev/null +++ b/src/battle/battle_ai_switch_items.c @@ -0,0 +1,1008 @@ +#include "global.h" +#include "battle.h" +#include "battle_ai_switch_items.h" +#include "battle_script_commands.h" +#include "data2.h" +#include "ewram.h" +#include "pokemon.h" +#include "random.h" +#include "rom_8077ABC.h" +#include "rom3.h" +#include "util.h" +#include "constants/abilities.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" + +extern u8 gUnknown_02023A14_50; + +extern u8 gLastHitBy[]; +extern u8 gActiveBattler; +extern u16 gBattleTypeFlags; +extern u8 gAbsentBattlerFlags; +extern s32 gBattleMoveDamage; +extern u8 gMoveResultFlags; +extern u16 gDynamicBasePower; +extern u8 gCritMultiplier; +extern u16 gBattlerPartyIndexes[]; +extern u16 gLastLandedMoves[]; +extern const u8 gTypeEffectiveness[]; +extern struct BattlePokemon gBattleMons[]; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; + +static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); +static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent); +static bool8 ShouldUseItem(void); + + +static bool8 ShouldSwitchIfPerishSong(void) +{ + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG + && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = 6; + Emitcmd33(1, 2, 0); + return TRUE; + } + + return FALSE; +} + +#ifdef NONMATCHING +static bool8 ShouldSwitchIfWonderGuard(void) +{ + u8 opposingBattler; + u8 moveFlags; + s32 i, j; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + return FALSE; + + if (gBattleMons[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)].ability != ABILITY_WONDER_GUARD) + return FALSE; + + // check if pokemon has a super effective move + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + for (i = 0; i < 4; i++) + { + u16 move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + return FALSE; + } + + // find a pokemon in the party that has a super effective move + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0 + || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE + || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG + || i == gBattlerPartyIndexes[gActiveBattler]) + continue; + + GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); // unused return value + GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY); // unused return value + + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + for (j = 0; j < 4; j++) + { + u16 move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && (Random() % 3) < 2) + { + // we found a mon + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + } + + return FALSE; // at this point there is not a single pokemon in the party that has a super effective move against a pokemon with wonder guard +} +#else +__attribute__((naked)) +static bool8 ShouldSwitchIfWonderGuard(void) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + ldr r0, _0803606C @ =gBattleTypeFlags\n\ + ldrh r1, [r0]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080360A0\n\ + b _080361C8\n\ + .align 2, 0\n\ +_0803606C: .4byte gBattleTypeFlags\n\ +_08036070:\n\ + ldr r0, _08036094 @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + bl GetBattlerPosition\n\ + ldr r1, _08036098 @ =gSharedMem\n\ + lsls r0, 24\n\ + lsrs r0, 25\n\ + ldr r2, _0803609C @ =0x000160c8\n\ + adds r0, r2\n\ + adds r0, r1\n\ + strb r6, [r0]\n\ + movs r0, 0x1\n\ + movs r1, 0x2\n\ + movs r2, 0\n\ + bl Emitcmd33\n\ + movs r0, 0x1\n\ + b _080361CA\n\ + .align 2, 0\n\ +_08036094: .4byte gActiveBattler\n\ +_08036098: .4byte gSharedMem\n\ +_0803609C: .4byte 0x000160c8\n\ +_080360A0:\n\ + ldr r4, _080361D8 @ =gBattleMons\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + movs r1, 0x58\n\ + muls r0, r1\n\ + adds r0, r4\n\ + adds r0, 0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x19\n\ + beq _080360BC\n\ + b _080361C8\n\ +_080360BC:\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + movs r6, 0\n\ + adds r7, r4, 0\n\ + movs r5, 0x58\n\ + adds r0, r2, 0\n\ + muls r0, r5\n\ + adds r4, r0, r7\n\ + movs r3, 0x20\n\ + adds r3, r4\n\ + mov r8, r3\n\ +_080360D8:\n\ + lsls r1, r6, 1\n\ + ldr r0, _080361DC @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + muls r0, r5\n\ + adds r1, r0\n\ + adds r0, r7, 0\n\ + adds r0, 0xC\n\ + adds r1, r0\n\ + ldrh r0, [r1]\n\ + cmp r0, 0\n\ + beq _08036104\n\ + ldrh r1, [r4]\n\ + mov r3, r8\n\ + ldrb r2, [r3]\n\ + bl AI_TypeCalc\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + movs r0, 0x2\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + bne _080361C8\n\ +_08036104:\n\ + adds r6, 0x1\n\ + cmp r6, 0x3\n\ + ble _080360D8\n\ + movs r6, 0\n\ + ldr r0, _080361E0 @ =gEnemyParty\n\ + mov r9, r0\n\ +_08036110:\n\ + movs r0, 0x64\n\ + adds r5, r6, 0\n\ + muls r5, r0\n\ + mov r2, r9\n\ + adds r4, r5, r2\n\ + adds r0, r4, 0\n\ + movs r1, 0x39\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + movs r1, 0xCE\n\ + lsls r1, 1\n\ + cmp r0, r1\n\ + beq _080361C2\n\ + ldr r1, _080361E4 @ =gBattlerPartyIndexes\n\ + ldr r0, _080361DC @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + lsls r0, 1\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + cmp r6, r0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + adds r0, r4, 0\n\ + movs r1, 0x2E\n\ + bl GetMonData\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + movs r4, 0\n\ + mov r8, r5\n\ + ldr r1, _080361D8 @ =gBattleMons\n\ + movs r0, 0x58\n\ + muls r0, r2\n\ + adds r5, r0, r1\n\ + adds r7, r5, 0\n\ + adds r7, 0x20\n\ +_0803617C:\n\ + adds r1, r4, 0\n\ + adds r1, 0xD\n\ + mov r0, r8\n\ + add r0, r9\n\ + bl GetMonData\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0\n\ + beq _080361BC\n\ + ldrh r1, [r5]\n\ + ldrb r2, [r7]\n\ + bl AI_TypeCalc\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + movs r0, 0x2\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + beq _080361BC\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0x3\n\ + bl __umodsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _080361BC\n\ + b _08036070\n\ +_080361BC:\n\ + adds r4, 0x1\n\ + cmp r4, 0x3\n\ + ble _0803617C\n\ +_080361C2:\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _08036110\n\ +_080361C8:\n\ + movs r0, 0\n\ +_080361CA:\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .align 2, 0\n\ +_080361D8: .4byte gBattleMons\n\ +_080361DC: .4byte gActiveBattler\n\ +_080361E0: .4byte gEnemyParty\n\ +_080361E4: .4byte gBattlerPartyIndexes\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +static bool8 FindMonThatAbsorbsOpponentsMove(void) +{ + u8 battlerIn1, battlerIn2; + u8 absorbingTypeAbility; + s32 i; + + if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + return FALSE; + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) + return FALSE; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + battlerIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + battlerIn2 = gActiveBattler; + else + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + } + else + { + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; + } + + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) + absorbingTypeAbility = ABILITY_FLASH_FIRE; + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER) + absorbingTypeAbility = ABILITY_WATER_ABSORB; + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC) + absorbingTypeAbility = ABILITY_VOLT_ABSORB; + else + return FALSE; + + if (gBattleMons[gActiveBattler].ability == absorbingTypeAbility) + return FALSE; + + for (i = 0; i < 6; i++) + { + u16 species; + u8 monAbility; + + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[battlerIn1]) + continue; + if (i == gBattlerPartyIndexes[battlerIn2]) + continue; + if (i == ewram16068arr(battlerIn1)) + continue; + if (i == ewram16068arr(battlerIn2)) + continue; + + species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) + monAbility = gBaseStats[species].ability2; + else + monAbility = gBaseStats[species].ability1; + + if (absorbingTypeAbility == monAbility && Random() & 1) + { + // we found a mon + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + + return FALSE; +} + +static bool8 ShouldSwitchIfNaturalCure(void) +{ + if (!(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP)) + return FALSE; + if (gBattleMons[gActiveBattler].ability != ABILITY_NATURAL_CURE) + return FALSE; + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2) + return FALSE; + + if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1)) + return TRUE; + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1)) + return TRUE; + if (Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + + return FALSE; +} + +static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) +{ + u8 opposingBattler; + s32 i; + u8 moveFlags; + u16 move; + + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) + { + for (i = 0; i < 4; i++) + { + move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + { + if (noRng) + return TRUE; + if (Random() % 10 != 0) + return TRUE; + } + } + } + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + return FALSE; + + opposingBattler = GetBattlerAtPosition(BATTLE_PARTNER(B_POSITION_PLAYER_LEFT)); + if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) + { + for (i = 0; i < 4; i++) + { + move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + { + if (noRng) + return TRUE; + if (Random() % 10 != 0) + return TRUE; + } + } + } + + return FALSE; +} + +static bool8 AreStatsRaised(void) +{ + u8 buffedStatsValue = 0; + s32 i; + + for (i = 0; i < BATTLE_STATS_NO; i++) + { + if (gBattleMons[gActiveBattler].statStages[i] > 6) + buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6; + } + + return (buffedStatsValue > 3); +} + +static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) +{ + u8 battlerIn1, battlerIn2; + s32 i, j; + u16 move; + u8 moveFlags; + + if (gLastLandedMoves[gActiveBattler] == 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + return FALSE; + if (gLastHitBy[gActiveBattler] == 0xFF) + return FALSE; + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) + return FALSE; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + battlerIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + battlerIn2 = gActiveBattler; + else + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + } + else + { + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; + } + + for (i = 0; i < 6; i++) + { + u16 species; + u8 monAbility; + + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[battlerIn1]) + continue; + if (i == gBattlerPartyIndexes[battlerIn2]) + continue; + if (i == ewram16068arr(battlerIn1)) + continue; + if (i == ewram16068arr(battlerIn2)) + continue; + + species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) + monAbility = gBaseStats[species].ability2; + else + monAbility = gBaseStats[species].ability1; + + moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility); + if (moveFlags & flags) + { + battlerIn1 = gLastHitBy[gActiveBattler]; + + for (j = 0; j < 4; j++) + { + move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + if (move == 0) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[battlerIn1].species, gBattleMons[battlerIn1].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + } + } + + return FALSE; +} + +static bool8 ShouldSwitch(void) +{ + u8 battlerIn1, battlerIn2; + s32 i; + s32 availableToSwitch; + + if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + return FALSE; + if (gStatuses3[gActiveBattler] & STATUS3_ROOTED) + return FALSE; + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) + return FALSE; + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) + return FALSE; // misses the flying or levitate check + if (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MAGNET_PULL, 0, 0)) + { + if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL) + return FALSE; + if (gBattleMons[gActiveBattler].type2 == TYPE_STEEL) + return FALSE; + } + + availableToSwitch = 0; + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + battlerIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + battlerIn2 = gActiveBattler; + else + battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + } + else + { + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; + } + + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[battlerIn1]) + continue; + if (i == gBattlerPartyIndexes[battlerIn2]) + continue; + if (i == ewram16068arr(battlerIn1)) + continue; + if (i == ewram16068arr(battlerIn2)) + continue; + + availableToSwitch++; + } + + if (availableToSwitch == 0) + return FALSE; + if (ShouldSwitchIfPerishSong()) + return TRUE; + if (ShouldSwitchIfWonderGuard()) + return TRUE; + if (FindMonThatAbsorbsOpponentsMove()) + return TRUE; + if (ShouldSwitchIfNaturalCure()) + return TRUE; + if (HasSuperEffectiveMoveAgainstOpponents(FALSE)) + return FALSE; + if (AreStatsRaised()) + return FALSE; + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2) + || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) + return TRUE; + + return FALSE; +} + +void AI_TrySwitchOrUseItem(void) +{ + u8 battlerIn1, battlerIn2; + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (ShouldSwitch()) + { + if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6) + { + s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); + if (monToSwitchId == 6) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + { + battlerIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battlerIn2 = battlerIn1; + } + else + { + battlerIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battlerIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + + for (monToSwitchId = 0; monToSwitchId < 6; monToSwitchId++) + { + if (GetMonData(&gEnemyParty[monToSwitchId], MON_DATA_HP) == 0) + continue; + if (monToSwitchId == gBattlerPartyIndexes[battlerIn1]) + continue; + if (monToSwitchId == gBattlerPartyIndexes[battlerIn2]) + continue; + if (monToSwitchId == ewram16068arr(battlerIn1)) + continue; + if (monToSwitchId == ewram16068arr(battlerIn2)) + continue; + + break; + } + } + + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = monToSwitchId; + } + + ewram16068arr(gActiveBattler) = ewram160C8arr(GetBattlerPosition(gActiveBattler)); + return; + } + else + { + #if DEBUG + if (!(gUnknown_02023A14_50 & 0x20) && ShouldUseItem()) + return; + #else + if (ShouldUseItem()) + return; + #endif + } + } + + Emitcmd33(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); +} + +static void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var) +{ + s32 i = 0; + + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) + { + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) + { + i += 3; + continue; + } + else if (TYPE_EFFECT_ATK_TYPE(i) == attackType) + { + // check type1 + if (TYPE_EFFECT_DEF_TYPE(i) == defenseType1) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; + // check type2 + if (TYPE_EFFECT_DEF_TYPE(i) == defenseType2 && defenseType1 != defenseType2) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; + } + i += 3; + } +} + +u8 GetMostSuitableMonToSwitchInto(void) +{ + u8 opposingBattler; + u8 bestDmg; // note : should be changed to s32 + u8 bestMonId; + u8 battlerIn1, battlerIn2; + s32 i, j; + u8 invalidMons; + u16 move; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + battlerIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + battlerIn2 = gActiveBattler; + else + battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + + // UB: It considers the opponent only player's side even though it can battle alongside player; + opposingBattler = Random() & BIT_FLANK; + if (gAbsentBattlerFlags & gBitTable[opposingBattler]) + opposingBattler ^= BIT_FLANK; + } + else + { + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; + } + + invalidMons = 0; + + while (invalidMons != 0x3F) // all mons are invalid + { + bestDmg = 0; + bestMonId = 6; + // find the mon which type is the most suitable offensively + for (i = 0; i < 6; i++) + { + u16 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (species != SPECIES_NONE + && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0 + && !(gBitTable[i] & invalidMons) + && gBattlerPartyIndexes[battlerIn1] != i + && gBattlerPartyIndexes[battlerIn2] != i + && i != ewram16068arr(battlerIn1) + && i != ewram16068arr(battlerIn2)) + { + u8 type1 = gBaseStats[species].type1; + u8 type2 = gBaseStats[species].type2; + u8 typeDmg = 10; + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type1, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type2, type1, type2, &typeDmg); + if (bestDmg < typeDmg) + { + bestDmg = typeDmg; + bestMonId = i; + } + } + else + { + invalidMons |= gBitTable[i]; + } + } + + // ok, we know the mon has the right typing but does it have at least one super effective move? + if (bestMonId != 6) + { + for (i = 0; i < 4; i++) + { + move = GetMonData(&gEnemyParty[bestMonId], MON_DATA_MOVE1 + i); + if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBattler) & MOVE_RESULT_SUPER_EFFECTIVE) + break; + } + + if (i != 4) + return bestMonId; // has both the typing and at least one super effective move + + invalidMons |= gBitTable[bestMonId]; // sorry buddy, we want something better + } + else + { + invalidMons = 0x3F; // no viable mon to switch + } + } + + gDynamicBasePower = 0; + gBattleStruct->dynamicMoveType = 0; + gBattleStruct->dmgMultiplier = 1; + gMoveResultFlags = 0; + gCritMultiplier = 1; + bestDmg = 0; + bestMonId = 6; + + // if we couldn't find the best mon in terms of typing, find the one that deals most damage + for (i = 0; i < 6; i++) + { + if ((u16)(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES)) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (gBattlerPartyIndexes[battlerIn1] == i) + continue; + if (gBattlerPartyIndexes[battlerIn2] == i) + continue; + if (i == ewram16068arr(battlerIn1)) + continue; + if (i == ewram16068arr(battlerIn2)) + continue; + + for (j = 0; j < 4; j++) + { + move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + gBattleMoveDamage = 0; + if (move != MOVE_NONE && gBattleMoves[move].power != 1) + { + AI_CalcDmg(gActiveBattler, opposingBattler); + TypeCalc(move, gActiveBattler, opposingBattler); + } + if (bestDmg < gBattleMoveDamage) + { + bestDmg = gBattleMoveDamage; + bestMonId = i; + } + } + } + + return bestMonId; +} + +// TODO: use PokemonItemEffect struct instead of u8 once it's documented +static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u16 as item Id argument +{ + if (itemId == ITEM_FULL_RESTORE) + return AI_ITEM_FULL_RESTORE; + if (itemEffect[4] & 4) + return AI_ITEM_HEAL_HP; + if (itemEffect[3] & 0x3F) + return AI_ITEM_CURE_CONDITION; + if (itemEffect[0] & 0x3F || itemEffect[1] != 0 || itemEffect[2] != 0) + return AI_ITEM_X_STAT; + if (itemEffect[3] & 0x80) + return AI_ITEM_GUARD_SPECS; + + return AI_ITEM_NOT_RECOGNIZABLE; +} + +static bool8 ShouldUseItem(void) +{ + s32 i; + u8 validMons = 0; + bool8 shouldUse = FALSE; + + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0 + && GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) != SPECIES_NONE + && GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) != SPECIES_EGG) + { + validMons++; + } + } + + for (i = 0; i < 4; i++) + { + u16 item; + const u8 *itemEffects; + u8 paramOffset; + u8 battlerSide; + + if (i != 0 && validMons > (AI_BATTLE_HISTORY->numItems - i) + 1) + continue; + item = AI_BATTLE_HISTORY->trainerItems[i]; + if (item == ITEM_NONE) + continue; + if (gItemEffectTable[item - 13] == NULL) + continue; + + if (item == ITEM_ENIGMA_BERRY) + itemEffects = gSaveBlock1.enigmaBerry.itemEffect; + else + itemEffects = gItemEffectTable[item - 13]; + + ewram160D8(gActiveBattler) = GetAI_ItemType(item, itemEffects); + + switch (ewram160D8(gActiveBattler)) + { + case AI_ITEM_FULL_RESTORE: + if (gBattleMons[gActiveBattler].hp >= gBattleMons[gActiveBattler].maxHP / 4) + break; + if (gBattleMons[gActiveBattler].hp == 0) + break; + shouldUse = TRUE; + break; + case AI_ITEM_HEAL_HP: + paramOffset = GetItemEffectParamOffset(item, 4, 4); + if (paramOffset == 0) + break; + if (gBattleMons[gActiveBattler].hp == 0) + break; + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 4 || gBattleMons[gActiveBattler].maxHP - gBattleMons[gActiveBattler].hp > itemEffects[paramOffset]) + shouldUse = TRUE; + break; + case AI_ITEM_CURE_CONDITION: + ewram160DA(gActiveBattler) = 0; + if (itemEffects[3] & 0x20 && gBattleMons[gActiveBattler].status1 & STATUS_SLEEP) + { + ewram160DA(gActiveBattler) |= 0x20; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBattler].status1 & STATUS_POISON || gBattleMons[gActiveBattler].status1 & STATUS_TOXIC_POISON)) + { + ewram160DA(gActiveBattler) |= 0x10; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x8 && gBattleMons[gActiveBattler].status1 & STATUS_BURN) + { + ewram160DA(gActiveBattler) |= 0x8; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x4 && gBattleMons[gActiveBattler].status1 & STATUS_FREEZE) + { + ewram160DA(gActiveBattler) |= 0x4; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x2 && gBattleMons[gActiveBattler].status1 & STATUS_PARALYSIS) + { + ewram160DA(gActiveBattler) |= 0x2; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x1 && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) + { + ewram160DA(gActiveBattler) |= 0x1; + shouldUse = TRUE; + } + break; + case AI_ITEM_X_STAT: + ewram160DA(gActiveBattler) = 0; + if (gDisableStructs[gActiveBattler].isFirstTurn == 0) + break; + if (itemEffects[0] & 0xF) + ewram160DA(gActiveBattler) |= 0x1; + if (itemEffects[1] & 0xF0) + ewram160DA(gActiveBattler) |= 0x2; + if (itemEffects[1] & 0xF) + ewram160DA(gActiveBattler) |= 0x4; + if (itemEffects[2] & 0xF) + ewram160DA(gActiveBattler) |= 0x8; + if (itemEffects[2] & 0xF0) + ewram160DA(gActiveBattler) |= 0x20; + if (itemEffects[0] & 0x30) + ewram160DA(gActiveBattler) |= 0x80; + shouldUse = TRUE; + break; + case AI_ITEM_GUARD_SPECS: + battlerSide = GetBattlerSide(gActiveBattler); + if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[battlerSide].mistTimer == 0) + shouldUse = TRUE; + break; + case AI_ITEM_NOT_RECOGNIZABLE: + return FALSE; + } + + if (shouldUse) + { + Emitcmd33(1, B_ACTION_USE_ITEM, 0); + ewram160D4(gActiveBattler) = item; + AI_BATTLE_HISTORY->trainerItems[i] = 0; + return shouldUse; + } + } + + return FALSE; +} diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 03ce1798f..a3360096a 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -1287,7 +1287,7 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_24, &gBattleAnimBackgroundTilemap_06, }; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern u8 gBankSpriteIds[]; extern u8 gBankAttacker; extern u8 gBankTarget; @@ -1490,10 +1490,10 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim) UpdateOamPriorityInAllHealthboxes(0); for (i = 0; i < 4; i++) { - if (GetBankSide(i) != 0) - gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_SPECIES); + if (GetBattlerSide(i) != 0) + gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else - gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_SPECIES); + gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); } } else @@ -1679,7 +1679,7 @@ static void ScriptCmd_createsprite(void) if (subpriority < 3) subpriority = 3; - CreateSpriteAndAnimate(template, GetBankPosition(gAnimBankTarget, 2), GetBankPosition(gAnimBankTarget, 3), subpriority); + CreateSpriteAndAnimate(template, GetBattlerSpriteCoord(gAnimBankTarget, 2), GetBattlerSpriteCoord(gAnimBankTarget, 3), subpriority); gAnimVisualTaskCount++; } @@ -1829,7 +1829,7 @@ static void ScriptCmd_monbg(void) if (IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) toBG_2 = 0; @@ -1861,7 +1861,7 @@ static void ScriptCmd_monbg(void) bank ^= 2; if (animBank >= ANIM_BANK_ATK_PARTNER && IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) toBG_2 = 0; @@ -1947,7 +1947,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) if (IsContest() != 0) r2 = 0; else - r2 = GetBankIdentity(bank); + r2 = GetBattlerPosition(bank); sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock); if (IsContest() != 0) sub_8076380(); @@ -1976,7 +1976,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) LoadPalette(gPlttBufferUnfaded + 0x100 + bank * 16, 0x90, 32); DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + bank * 16, (void *)(PLTT + 0x120), 32); - sub_80E4EF8(0, 0, GetBankIdentity(bank), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); + sub_80E4EF8(0, 0, GetBattlerPosition(bank), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); } } @@ -2119,7 +2119,7 @@ static void sub_807672C(u8 taskId) gTasks[taskId].data[1]++; if (gTasks[taskId].data[1] != 1) { - identity = GetBankIdentity(gTasks[taskId].data[2]); + identity = GetBattlerPosition(gTasks[taskId].data[2]); identity += 0xFF; if (identity <= 1 || IsContest() != 0) to_BG2 = 0; @@ -2163,7 +2163,7 @@ static void ScriptCmd_monbg_22(void) if (IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) r1 = 0; @@ -2176,7 +2176,7 @@ static void ScriptCmd_monbg_22(void) bank ^= 2; if (animBankId > ANIM_BANK_TARGET && IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) r1 = 0; @@ -2231,7 +2231,7 @@ static void sub_80769A4(u8 taskId) if (gTasks[taskId].data[1] != 1) { bank = gTasks[taskId].data[2]; - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) toBG_2 = 0; @@ -2369,7 +2369,7 @@ static void ScriptCmd_fadetobgfromset(void) if (IsContest()) gTasks[taskId].tBackgroundId = bg3; - else if (GetBankSide(gAnimBankTarget) == 0) + else if (GetBattlerSide(gAnimBankTarget) == 0) gTasks[taskId].tBackgroundId = bg2; else gTasks[taskId].tBackgroundId = bg1; @@ -2494,7 +2494,7 @@ s8 BattleAnimAdjustPanning(s8 a) { if (!IsContest() && (EWRAM_17810[gAnimBankAttacker].unk0 & 0x10)) { - a = GetBankSide(gAnimBankAttacker) ? 0xC0 : 0x3F; + a = GetBattlerSide(gAnimBankAttacker) ? 0xC0 : 0x3F; } //_08076FDC else @@ -2513,9 +2513,9 @@ s8 BattleAnimAdjustPanning(s8 a) //_08077004 else { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) } //_08077042 else @@ -2552,7 +2552,7 @@ s8 BattleAnimAdjustPanning(s8 a) cmp r0, 0\n\ beq _08076FDC\n\ adds r0, r2, 0\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ movs r4, 0xC0\n\ cmp r0, 0\n\ @@ -2584,13 +2584,13 @@ _08077000: .4byte gAnimBankTarget\n\ _08077004:\n\ ldr r0, _0807702C @ =gAnimBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08077042\n\ ldr r0, _08077030 @ =gAnimBankTarget\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0807706E\n\ @@ -2614,7 +2614,7 @@ _08077034:\n\ _08077042:\n\ ldr r0, _08077064 @ =gAnimBankTarget\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -2662,14 +2662,14 @@ s8 BattleAnimAdjustPanning2(s8 pan) { if (!IsContest() && (EWRAM_17810[gAnimBankAttacker].unk0 & 0x10)) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) pan = 0x3F; else pan = 0xC0; } else { - if (GetBankSide(gAnimBankAttacker) != 0 || IsContest() != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0 || IsContest() != 0) pan = -pan; } return pan; @@ -3052,7 +3052,7 @@ static void ScriptCmd_monbgprio_28(void) else bank = gAnimBankAttacker; - bankIdentity = GetBankIdentity(bank); + bankIdentity = GetBattlerPosition(bank); if (!IsContest() && (bankIdentity == 0 || bankIdentity == 3)) { REG_BG1CNT_BITFIELD.priority = 1; @@ -3078,13 +3078,13 @@ static void ScriptCmd_monbgprio_2A(void) wantedBank = T1_READ_8(sBattleAnimScriptPtr + 1); sBattleAnimScriptPtr += 2; - if (GetBankSide(gAnimBankAttacker) != GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) != GetBattlerSide(gAnimBankTarget)) { if (wantedBank != 0) bank = gAnimBankTarget; else bank = gAnimBankAttacker; - bankIdentity = GetBankIdentity(bank); + bankIdentity = GetBattlerPosition(bank); if (!IsContest() && (bankIdentity == 0 || bankIdentity == 3)) { REG_BG1CNT_BITFIELD.priority = 1; @@ -3097,7 +3097,7 @@ static void ScriptCmd_invisible(void) { u8 spriteId; - spriteId = GetAnimBankSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); + spriteId = GetAnimBattlerSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); if (spriteId != 0xFF) gSprites[spriteId].invisible = TRUE; @@ -3108,7 +3108,7 @@ static void ScriptCmd_visible(void) { u8 spriteId; - spriteId = GetAnimBankSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); + spriteId = GetAnimBattlerSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); if (spriteId != 0xFF) gSprites[spriteId].invisible = FALSE; @@ -3124,17 +3124,17 @@ static void ScriptCmd_doublebattle_2D(void) wantedBank = T1_READ_8(sBattleAnimScriptPtr + 1); sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + && GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { if (wantedBank == 0) { - r4 = GetBankIdentity_permutated(gAnimBankAttacker); - spriteId = GetAnimBankSpriteId(0); + r4 = GetBattlerPosition_permutated(gAnimBankAttacker); + spriteId = GetAnimBattlerSpriteId(0); } else { - r4 = GetBankIdentity_permutated(gAnimBankTarget); - spriteId = GetAnimBankSpriteId(1); + r4 = GetBattlerPosition_permutated(gAnimBankTarget); + spriteId = GetAnimBattlerSpriteId(1); } if (spriteId != 0xFF) { @@ -3158,17 +3158,17 @@ static void ScriptCmd_doublebattle_2E(void) wantedBank = T1_READ_8(sBattleAnimScriptPtr + 1); sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + && GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { if (wantedBank == 0) { - r4 = GetBankIdentity_permutated(gAnimBankAttacker); - spriteId = GetAnimBankSpriteId(0); + r4 = GetBattlerPosition_permutated(gAnimBankAttacker); + spriteId = GetAnimBattlerSpriteId(0); } else { - r4 = GetBankIdentity_permutated(gAnimBankTarget); - spriteId = GetAnimBankSpriteId(1); + r4 = GetBattlerPosition_permutated(gAnimBankTarget); + spriteId = GetAnimBattlerSpriteId(1); } if (spriteId != 0xFF && r4 == 2) { diff --git a/src/battle/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c index 6043efb0c..92099c495 100644 --- a/src/battle/battle_anim_807B69C.c +++ b/src/battle/battle_anim_807B69C.c @@ -22,7 +22,7 @@ extern const u8 *const gBattleAnims_StatusConditions[]; extern const struct OamData gOamData_837E05C; extern const struct OamData gOamData_837DF24; -extern u8 GetBankPosition(u8, u8); +extern u8 GetBattlerSpriteCoord(u8, u8); extern void sub_80E32E0(u8); @@ -180,8 +180,8 @@ static void sub_807B8A4(struct Sprite *sprite) void sub_807B920(u8 taskId) { - s16 x = GetBankPosition(gAnimBankTarget, 2) - 32; - s16 y = GetBankPosition(gAnimBankTarget, 3) - 36; + s16 x = GetBattlerSpriteCoord(gAnimBankTarget, 2) - 32; + s16 y = GetBattlerSpriteCoord(gAnimBankTarget, 3) - 36; u8 spriteId; if (IsContest()) diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index a8b0ec329..480cb3d72 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -102,7 +102,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C2010 = void AnimTask_ShakeMon(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) { DestroyAnimVisualTask(taskId); @@ -170,7 +170,7 @@ void AnimTask_ShakeMon2(u8 taskId) destroy = FALSE; if (gBattleAnimArgs[0] < 4) { - sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); + sprite = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (sprite == 0xff) { DestroyAnimVisualTask(taskId); @@ -182,17 +182,17 @@ void AnimTask_ShakeMon2(u8 taskId) switch (gBattleAnimArgs[0]) { case 4: - side = GetBankByIdentity(0); + side = GetBattlerAtPosition(0); break; case 5: - side = GetBankByIdentity(2); + side = GetBattlerAtPosition(2); break; case 6: - side = GetBankByIdentity(1); + side = GetBattlerAtPosition(1); break; case 7: default: - side = GetBankByIdentity(3); + side = GetBattlerAtPosition(3); break; } @@ -263,7 +263,7 @@ static void AnimTask_ShakeMon2Step(u8 taskId) // arg 4: delay void AnimTask_ShakeMonInPlace(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) { DestroyAnimVisualTask(taskId); @@ -328,7 +328,7 @@ static void AnimTask_ShakeMonInPlaceStep(u8 taskId) // arg 4: duration void AnimTask_ShakeAndSinkMon(u8 taskId) { - u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 sprite = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); gSprites[sprite].pos2.x = gBattleAnimArgs[1]; TASK.data[0] = sprite; TASK.data[1] = gBattleAnimArgs[1]; @@ -378,7 +378,7 @@ void AnimTask_TranslateMonElliptical(u8 taskId) u8 wavePeriod; wavePeriod = 1; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (gBattleAnimArgs[4] > 5) gBattleAnimArgs[4] = 5; @@ -427,7 +427,7 @@ static void sub_80A8488(u8 taskId) // arg 4: speed (valid values are 0-5) void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; AnimTask_TranslateMonElliptical(taskId); @@ -440,7 +440,7 @@ void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) static void DoHorizontalLunge(struct Sprite *sprite) { sprite->invisible = TRUE; - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) sprite->data[1] = -gBattleAnimArgs[1]; else sprite->data[1] = gBattleAnimArgs[1]; @@ -470,7 +470,7 @@ static void DoVerticalDip(struct Sprite *sprite) { u8 spriteId; sprite->invisible = TRUE; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = 0; sprite->data[2] = gBattleAnimArgs[1]; @@ -572,7 +572,7 @@ static void SlideMonToOffset(struct Sprite *sprite) battler = gAnimBankTarget; monSpriteId = gBankSpriteIds[battler]; - if (GetBankSide(battler) != SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -609,7 +609,7 @@ static void sub_80A8818(struct Sprite *sprite) v1 = gAnimBankTarget; } spriteId = gBankSpriteIds[v1]; - if (GetBankSide(v1)) + if (GetBattlerSide(v1)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -659,12 +659,12 @@ static void sub_80A88F0(struct Sprite *sprite) void AnimTask_WindUpLunge(u8 taskId) { s16 wavePeriod = 0x8000 / gBattleAnimArgs[3]; - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[5] = -gBattleAnimArgs[5]; } - TASK.data[0] = GetAnimBankSpriteId(gBattleAnimArgs[0]); + TASK.data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); TASK.data[1] = (gBattleAnimArgs[1] << 8) / gBattleAnimArgs[3]; TASK.data[2] = gBattleAnimArgs[2]; TASK.data[3] = gBattleAnimArgs[3]; @@ -718,7 +718,7 @@ void sub_80A8A80(u8 taskId) { case 0: case 1: - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); break; case 2: if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) @@ -741,7 +741,7 @@ void sub_80A8A80(u8 taskId) return; } TASK.data[0] = spriteId; - if (GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankTarget)) { TASK.data[1] = gBattleAnimArgs[1]; } @@ -774,10 +774,10 @@ static void sub_80A8B3C(u8 taskId) void AnimTask_SwayMon(u8 taskId) { u8 spriteId; - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[4]); TASK.data[0] = gBattleAnimArgs[0]; TASK.data[1] = gBattleAnimArgs[1]; TASK.data[2] = gBattleAnimArgs[2]; @@ -812,7 +812,7 @@ static void AnimTask_SwayMonStep(u8 taskId) } else { - if (GetBankSide(TASK.data[5]) == SIDE_PLAYER) + if (GetBattlerSide(TASK.data[5]) == B_SIDE_PLAYER) { gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue; } @@ -846,7 +846,7 @@ static void AnimTask_SwayMonStep(u8 taskId) void AnimTask_ScaleMonAndRestore(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[3]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[3]); sub_8078E70(spriteId, gBattleAnimArgs[4]); TASK.data[0] = gBattleAnimArgs[0]; TASK.data[1] = gBattleAnimArgs[1]; @@ -886,7 +886,7 @@ static void AnimTask_ScaleMonAndRestoreStep(u8 taskId) void sub_80A8E04(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); sub_8078E70(spriteId, 0); TASK.data[1] = 0; TASK.data[2] = gBattleAnimArgs[0]; @@ -909,11 +909,11 @@ void sub_80A8E04(u8 taskId) { if (gBattleAnimArgs[2] == 0) { - TASK.data[7] = !GetBankSide(gAnimBankAttacker); + TASK.data[7] = !GetBattlerSide(gAnimBankAttacker); } else { - TASK.data[7] = !GetBankSide(gAnimBankTarget); + TASK.data[7] = !GetBattlerSide(gAnimBankTarget); } } if (TASK.data[7]) @@ -930,20 +930,20 @@ void sub_80A8E04(u8 taskId) void sub_80A8EFC(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); sub_8078E70(spriteId, 0); TASK.data[1] = 0; TASK.data[2] = gBattleAnimArgs[0]; if (gBattleAnimArgs[2] == 0) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } } else { - if (GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankTarget)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } @@ -1023,7 +1023,7 @@ void sub_80A9058(u8 taskId) TASK.data[12] = 0; TASK.data[10] = gBattleAnimArgs[3]; TASK.data[11] = gBattleAnimArgs[4]; - TASK.data[7] = GetAnimBankSpriteId(1); + TASK.data[7] = GetAnimBattlerSpriteId(1); TASK.data[8] = gSprites[TASK.data[7]].pos2.x; TASK.data[9] = gSprites[TASK.data[7]].pos2.y; TASK.data[0] = 0; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 21ac62401..f720d6a78 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -25,10 +25,10 @@ struct MovePpInfo u8 ppBonuses; }; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; extern u8 gBankSpriteIds[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; extern u8 gBattleMonForms[]; @@ -57,7 +57,7 @@ extern struct MusicPlayerInfo gMPlay_BGM; extern u8 sub_8077F68(); extern u8 sub_8079E90(); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void BattleLoadOpponentMonSprite(struct Pokemon *, u8); extern void sub_8037A74(void); extern void sub_8032984(u8, u16); @@ -92,7 +92,7 @@ extern void sub_8037FAC(void); extern void move_anim_start_t2_for_situation(); extern void dp01t_0F_4_move_anim(void); extern void sub_8047858(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void StartBattleIntroAnim(); extern void sub_803A3A8(struct Sprite *); extern void sub_8044CA0(u8); @@ -250,15 +250,15 @@ void nullsub_47(void) void SetBankFuncToLinkOpponentBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = sub_803752C; + gBattleBankFunc[gActiveBattler] = sub_803752C; } void sub_803752C(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] <= 0x38) - gLinkOpponentBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] <= 0x38) + gLinkOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); else LinkOpponentBufferExecCompleted(); } @@ -266,27 +266,27 @@ void sub_803752C(void) void sub_803757C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkOpponentBufferExecCompleted(); } void sub_80375B4(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - sub_8031B74(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBank]].data[5]; - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + sub_8031B74(gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam); + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBattler]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); LinkOpponentBufferExecCompleted(); } } void sub_8037644(void) { - if ((--ewram17810[gActiveBank].unk9) == 0xFF) + if ((--ewram17810[gActiveBattler].unk9) == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; LinkOpponentBufferExecCompleted(); } } @@ -297,13 +297,13 @@ void sub_8037680(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) @@ -311,88 +311,88 @@ void sub_8037680(void) if (r6) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) { - if (!ewram17810[gActiveBank].unk1_0 || !ewram17810[gActiveBank ^ 2].unk1_0) + if (!ewram17810[gActiveBattler].unk1_0 || !ewram17810[gActiveBattler ^ 2].unk1_0) return; - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) m4aMPlayContinue(&gMPlay_BGM); } else { m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); } - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_8037644; + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_8037644; } } void sub_8037840(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { - if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBankIdentity(gActiveBank) == 3) + if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(gActiveBattler) == 3) { - if (++ewram17810[gActiveBank].unk9 == 1) + if (++ewram17810[gActiveBattler].unk9 == 1) return; - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; } if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBank ^ 2], - &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], + gHealthboxIDs[gActiveBattler ^ 2], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); sub_8032984( - gActiveBank ^ 2, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], MON_DATA_SPECIES)); + gActiveBattler ^ 2, + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8032984( - gActiveBank, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + gActiveBattler, + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_8037680; + gBattleBankFunc[gActiveBattler] = sub_8037680; } } void sub_8037A74(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded == TRUE - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded == TRUE + && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) { - if (!ewram17810[gActiveBank].unk0_7) + if (!ewram17810[gActiveBattler].unk0_7) { - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); return; } - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); LinkOpponentBufferExecCompleted(); @@ -403,32 +403,32 @@ void sub_8037A74(void) void sub_8037B24(void) { - s16 r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); else LinkOpponentBufferExecCompleted(); } void sub_8037B78(void) { - if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) + if (!gSprites[gBankSpriteIds[gActiveBattler]].inUse) { - sub_8043DB0(gHealthboxIDs[gActiveBank]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } void sub_8037BBC(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } @@ -441,7 +441,7 @@ void sub_8037C2C(void) void dp01t_0F_4_move_anim(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -460,17 +460,17 @@ void dp01t_0F_4_move_anim(void) void sub_8037CC0(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_8037D2C; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_8037D2C; } } void sub_8037D2C(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { CreateTask(c3_0802FDF4, 10); LinkOpponentBufferExecCompleted(); @@ -479,34 +479,34 @@ void sub_8037D2C(void) void sub_8037D64(void) { - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8037CC0; + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_8037CC0; } } void sub_8037E30(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8037D64; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8037D64; } } @@ -528,7 +528,7 @@ void sub_8037F34(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { sub_800832C(); - gBattleBankFunc[gActiveBank] = sub_8037EF0; + gBattleBankFunc[gActiveBattler] = sub_8037EF0; } else { @@ -542,29 +542,29 @@ void sub_8037F34(void) void sub_8037FAC(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) LinkOpponentBufferExecCompleted(); } void sub_8037FD8(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) LinkOpponentBufferExecCompleted(); } void LinkOpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = sub_803752C; + gBattleBankFunc[gActiveBattler] = sub_803752C; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } @@ -575,13 +575,13 @@ void LinkOpponentHandleGetAttributes(void) u8 r4; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlePartyID[gActiveBank], buffer); + r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlerPartyIndexes[gActiveBattler], buffer); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -603,7 +603,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -666,7 +666,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -681,7 +681,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -905,13 +905,13 @@ void LinkOpponentHandleSetAttributes(void) u8 i; u8 r4; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8038900(gBattlePartyID[gActiveBank]); + sub_8038900(gBattlerPartyIndexes[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -924,11 +924,11 @@ void LinkOpponentHandleSetAttributes(void) void sub_8038900(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -969,10 +969,10 @@ void sub_8038900(u8 a) } break; case 1: - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -986,154 +986,154 @@ void sub_8038900(u8 a) case 5: case 6: case 7: - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } } @@ -1143,36 +1143,36 @@ void LinkOpponentHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleLoadPokeSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBank, 2), - sub_8077F68(gActiveBank), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8037A74; + GetBattlerSpriteCoord(gActiveBattler, 2), + sub_8077F68(gActiveBattler), + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8037A74; } void LinkOpponentHandleSendOutPoke(void) { - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - sub_8039430(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_8037E30; + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + sub_8039430(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_8037E30; } void sub_8039430(u8 a, u8 b) @@ -1180,14 +1180,14 @@ void sub_8039430(u8 a, u8 b) u16 species; sub_8032AA8(a, b); - gBattlePartyID[a] = gBattleBufferA[a][1]; - species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES); + gBattlerPartyIndexes[a] = gBattleBufferA[a][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(a, 2), + GetBattlerSpriteCoord(a, 2), sub_8077F68(a), sub_8079E90(a)); gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; @@ -1202,36 +1202,36 @@ void sub_8039430(u8 a, u8 b) void LinkOpponentHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8039648; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8039648; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } void sub_8039648(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 2); - gBattleBankFunc[gActiveBank] = sub_8037BBC; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 2); + gBattleBankFunc[gActiveBattler] = sub_8037BBC; } break; } @@ -1244,31 +1244,31 @@ void LinkOpponentHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) & 2) + if (GetBattlerPosition(gActiveBattler) & 2) xOffset = -16; else xOffset = 16; - gender = gLinkPlayers[sub_803FC34(gActiveBank)].gender; + gender = gLinkPlayers[sub_803FC34(gActiveBattler)].gender; } else { xOffset = 0; gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender; } - sub_8031A6C(gender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + sub_8031A6C(gender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 176 + xOffset, 40 + 4 * (8 - gTrainerFrontPicCoords[gender].coords), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[gender].tag); - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[gender].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = gender; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_803757C; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[gender].tag); + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[gender].tag); + gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam = gender; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_803757C; } void LinkOpponentHandleTrainerSlide(void) @@ -1278,29 +1278,29 @@ void LinkOpponentHandleTrainerSlide(void) void LinkOpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_80375B4; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBattler] = sub_80375B4; } void LinkOpponentHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } - else if (!ewram17810[gActiveBank].unk0_6) + else if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; + ewram17810[gActiveBattler].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8010384; - gBattleBankFunc[gActiveBank] = sub_8037B78; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_8010384; + gBattleBankFunc[gActiveBattler] = sub_8037B78; } } @@ -1326,23 +1326,23 @@ void LinkOpponentHandlePuase(void) void LinkOpponentHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u32 r0 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] - | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] - | (gBattleBufferA[gActiveBank][7] << 8) - | (gBattleBufferA[gActiveBank][8] << 16) - | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] - | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + u32 r0 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] + | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] + | (gBattleBufferA[gActiveBattler][7] << 8) + | (gBattleBufferA[gActiveBattler][8] << 16) + | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] + | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; // Dead code. sub_8031720 always returns 0. if (sub_8031720(r0, gAnimMoveTurn) != 0) @@ -1351,34 +1351,34 @@ void LinkOpponentHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8039B64; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8039B64; } } } void sub_8039B64(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite && !ewram17800[gActiveBank].unk0_3) + if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1386,22 +1386,22 @@ void sub_8039B64(void) if (!gAnimScriptActive) { sub_80326EC(1); - if ((ewram17800[gActiveBank].substituteSprite) && r7 <= 1) + if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_8031F24(); sub_80324BC( - gActiveBank, - gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + gActiveBattler, + gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; LinkOpponentBufferExecCompleted(); } break; @@ -1412,9 +1412,9 @@ void LinkOpponentHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_8037C2C; + gBattleBankFunc[gActiveBattler] = sub_8037C2C; } void LinkOpponentHandlePrintStringPlayerOnly(void) @@ -1457,21 +1457,21 @@ void LinkOpponentHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBank] = sub_8037B24; + gBattleBankFunc[gActiveBattler] = sub_8037B24; } void LinkOpponentHandleExpBarUpdate(void) @@ -1481,25 +1481,25 @@ void LinkOpponentHandleExpBarUpdate(void) void LinkOpponentHandleStatusIconUpdate(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_8037FAC; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8037FAC; } } void LinkOpponentHandleStatusAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] - | (gBattleBufferA[gActiveBank][3] << 8) - | (gBattleBufferA[gActiveBank][4] << 16) - | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_8037FAC; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] + | (gBattleBufferA[gActiveBattler][3] << 8) + | (gBattleBufferA[gActiveBattler][4] << 16) + | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_8037FAC; } } @@ -1556,7 +1556,7 @@ void LinkOpponentHandlecmd37(void) void LinkOpponentHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; LinkOpponentBufferExecCompleted(); } @@ -1574,16 +1574,16 @@ void LinkOpponentHandlecmd40(void) void LinkOpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { LinkOpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = dp01t_0F_4_move_anim; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = dp01t_0F_4_move_anim; } } @@ -1596,31 +1596,31 @@ void LinkOpponentHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleFaintingCry(void) { PlayCry3( - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25, 5); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; LinkOpponentBufferExecCompleted(); } @@ -1629,42 +1629,42 @@ void LinkOpponentHandleTrainerBallThrow(void) { u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_803A3A8); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_803A3A8); taskId = CreateTask(sub_803A2C4, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBank] = nullsub_47; + gBattleBankFunc[gActiveBattler] = nullsub_47; } void sub_803A2C4(u8 taskId) { u8 r9; - r9 = gActiveBank; - gActiveBank = gTasks[taskId].data[0]; + r9 = gActiveBattler; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8039430(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_8039430(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8039430(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8039430(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_8039430(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_8039430(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_8037840; - gActiveBank = r9; + gBattleBankFunc[gActiveBattler] = sub_8037840; + gActiveBattler = r9; DestroyTask(taskId); } @@ -1678,49 +1678,49 @@ void sub_803A3A8(struct Sprite *sprite) void LinkOpponentHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { LinkOpponentBufferExecCompleted(); return; } - ewram17810[gActiveBank].unk0_0 = 1; - if (gBattleBufferA[gActiveBank][2] != 0) + ewram17810[gActiveBattler].unk0_0 = 1; + if (gBattleBufferA[gActiveBattler][2] != 0) { - if (ewram17810[gActiveBank].unk1_1 < 2) + if (ewram17810[gActiveBattler].unk1_1 < 2) { - ewram17810[gActiveBank].unk1_1++; + ewram17810[gActiveBattler].unk1_1++; return; } else { - ewram17810[gActiveBank].unk1_1 = 0; + ewram17810[gActiveBattler].unk1_1 = 0; } } - gUnknown_02024E68[gActiveBank] = sub_8044804( - gActiveBank, - (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_803A4E0; + gUnknown_02024E68[gActiveBattler] = sub_8044804( + gActiveBattler, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_803A4E0; } void sub_803A4E0(void) { - if (ewram17810[gActiveBank].unk5++ >= 93) + if (ewram17810[gActiveBattler].unk5++ >= 93) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; LinkOpponentBufferExecCompleted(); } } void LinkOpponentHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; LinkOpponentBufferExecCompleted(); } @@ -1731,25 +1731,25 @@ void LinkOpponentHandlecmd50(void) void LinkOpponentHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank) != 0) + if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleBattleAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) LinkOpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_8037FD8; + gBattleBankFunc[gActiveBattler] = sub_8037FD8; } } @@ -1765,14 +1765,14 @@ void LinkOpponentHandleResetActionMoveSelection(void) void LinkOpponentHandlecmd55(void) { - if (gBattleBufferA[gActiveBank][1] == 3) - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + if (gBattleBufferA[gActiveBattler][1] == 3) + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; else - gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ 3; + gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ 3; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_8037F34; + gBattleBankFunc[gActiveBattler] = sub_8037F34; } void LinkOpponentHandlecmd56(void) diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 1d42f56c3..0baeca43e 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -32,9 +32,9 @@ struct MovePpInfo extern u16 gBattleTypeFlags; extern u8 gDisplayedStringBattle[]; extern u8 gBattleBufferA[][0x200]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankSpriteIds[]; extern u8 gBattleOutcome; extern u16 gUnknown_02024DE8; @@ -85,7 +85,7 @@ extern u8 sub_8046400(); extern void sub_80312F0(struct Sprite *); extern u8 CreateInvisibleSpriteWithCallback(); extern void BattleLoadPlayerMonSprite(); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8079E90(); extern void nullsub_10(); @@ -244,15 +244,15 @@ void nullsub_74(void) void SetBankFuncToLinkPartnerBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = LinkPartnerBufferRunCommand; } void LinkPartnerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] <= 0x38) - gLinkPartnerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] <= 0x38) + gLinkPartnerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else LinkPartnerBufferExecCompleted(); } @@ -260,26 +260,26 @@ void LinkPartnerBufferRunCommand(void) void sub_811DAE4(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkPartnerBufferExecCompleted(); } void sub_811DB1C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_10(0); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); LinkPartnerBufferExecCompleted(); } } void sub_811DB84(void) { - if ((--ewram17810[gActiveBank].unk9) == 0xFF) + if ((--ewram17810[gActiveBattler].unk9) == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; LinkPartnerBufferExecCompleted(); } } @@ -290,21 +290,21 @@ void sub_811DBC0(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & 0x40))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) r6 = FALSE; if (r6) { - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_811DB84; + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_811DB84; } } @@ -312,34 +312,34 @@ void sub_811DCA0(void) { u8 r2; - if (!ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3) { // I couldn't get it to work as a bitfield here - r2 = *((u8 *)&ewram17810[gActiveBank ^ 2]) & 8; - if (!r2 && (++ewram17810[gActiveBank].unk9) != 1) + r2 = *((u8 *)&ewram17810[gActiveBattler ^ 2]) & 8; + if (!r2 && (++ewram17810[gActiveBattler].unk9) != 1) { - ewram17810[gActiveBank].unk9 = r2; + ewram17810[gActiveBattler].unk9 = r2; if (IsDoubleBattle() && !(gBattleTypeFlags & 0x40)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBank ^ 2], &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); (s8)ewram17810[4].unk9 &= ~1; - gBattleBankFunc[gActiveBank] = sub_811DBC0; + gBattleBankFunc[gActiveBattler] = sub_811DBC0; } } } void sub_811DDE8(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded + && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) LinkPartnerBufferExecCompleted(); } @@ -347,38 +347,38 @@ void bx_t3_healthbar_update(void) { s16 r4; - r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); LinkPartnerBufferExecCompleted(); } } void sub_811DE98(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > 160) + if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > 160) { - nullsub_9(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + nullsub_9(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } void sub_811DF34(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } @@ -391,7 +391,7 @@ void sub_811DFA0(void) void bx_blink_t3(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; @@ -411,48 +411,48 @@ void bx_blink_t3(void) void sub_811E034(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_811E0A0; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_811E0A0; } } void sub_811E0A0(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) LinkPartnerBufferExecCompleted(); } void sub_811E0CC(void) { - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_811E034; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_811E034; } } void sub_811E1BC(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - gBattleBankFunc[gActiveBank] = sub_811E0CC; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + gBattleBankFunc[gActiveBattler] = sub_811E0CC; } } @@ -474,7 +474,7 @@ void sub_811E29C(void) if (gBattleTypeFlags & 2) { sub_800832C(); - gBattleBankFunc[gActiveBank] = sub_811E258; + gBattleBankFunc[gActiveBattler] = sub_811E258; } else { @@ -490,28 +490,28 @@ void LinkPartnerBufferExecCompleted(void) { u8 multiplayerId; - gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = LinkPartnerBufferRunCommand; if (gBattleTypeFlags & 2) { multiplayerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &multiplayerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void sub_811E38C(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) LinkPartnerBufferExecCompleted(); } void sub_811E3B8(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) LinkPartnerBufferExecCompleted(); } @@ -521,13 +521,13 @@ void LinkPartnerHandleGetAttributes(void) int r6 = 0; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBank], unk); + r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlerPartyIndexes[gActiveBattler], unk); } else { - u8 r4 = gBattleBufferA[gActiveBank][2]; + u8 r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { @@ -551,7 +551,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -613,7 +613,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -628,7 +628,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -852,13 +852,13 @@ void LinkPartnerHandleSetAttributes(void) u8 i; u8 r4; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_811EC68(gBattlePartyID[gActiveBank]); + sub_811EC68(gBattlerPartyIndexes[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -872,11 +872,11 @@ void LinkPartnerHandleSetAttributes(void) // Duplicate of dp01_setattr_by_ch1_for_player_pokemon void sub_811EC68(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -917,10 +917,10 @@ void sub_811EC68(u8 a) } break; case 1: - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -934,157 +934,157 @@ void sub_811EC68(u8 a) case 5: case 6: case 7: - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } void LinkPartnerHandlecmd3(void) @@ -1092,37 +1092,37 @@ void LinkPartnerHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleLoadPokeSprite(void) { - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); GetMonSpriteTemplate_803C56C( - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), - GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), + GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBank, 2), - sub_8077F68(gActiveBank), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - gBattleBankFunc[gActiveBank] = sub_811DDE8; + GetBattlerSpriteCoord(gActiveBattler, 2), + sub_8077F68(gActiveBattler), + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + gBattleBankFunc[gActiveBattler] = sub_811DDE8; } void LinkPartnerHandleSendOutPoke(void) { - sub_8032AA8(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_811F864(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_811E1BC; + sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_811F864(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_811E1BC; } void sub_811F864(u8 a, u8 b) @@ -1130,13 +1130,13 @@ void sub_811F864(u8 a, u8 b) u16 species; sub_8032AA8(a, b); - gBattlePartyID[a] = gBattleBufferA[a][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_SPECIES); + gBattlerPartyIndexes[a] = gBattleBufferA[a][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(a, 2), + GetBattlerSpriteCoord(a, 2), sub_8077F68(a), sub_8079E90(a)); gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; @@ -1151,35 +1151,35 @@ void sub_811F864(u8 a, u8 b) void LinkPartnerHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_811FA5C; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_811FA5C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } void sub_811FA5C(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 1); - gBattleBankFunc[gActiveBank] = sub_811DF34; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); + gBattleBankFunc[gActiveBattler] = sub_811DF34; } break; } @@ -1192,28 +1192,28 @@ void LinkPartnerHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) & 2) + if (GetBattlerPosition(gActiveBattler) & 2) xOffset = 16; else xOffset = -16; - gender = gLinkPlayers[sub_803FC34(gActiveBank)].gender; + gender = gLinkPlayers[sub_803FC34(gActiveBattler)].gender; } else { xOffset = 0; gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender; } - LoadPlayerTrainerBankSprite(gender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_811DAE4; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_811DAE4; } void LinkPartnerHandleTrainerSlide(void) @@ -1223,32 +1223,32 @@ void LinkPartnerHandleTrainerSlide(void) void LinkPartnerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_811DB1C; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBattler] = sub_811DB1C; } void LinkPartnerHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } - else if (!ewram17810[gActiveBank].unk0_6) + else if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + ewram17810[gActiveBattler].unk4 = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80105EC; - gBattleBankFunc[gActiveBank] = sub_811DE98; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80105EC; + gBattleBankFunc[gActiveBattler] = sub_811DE98; } } @@ -1274,56 +1274,56 @@ void LinkPartnerHandlePuase(void) void LinkPartnerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u32 r0 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] - | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] - | (gBattleBufferA[gActiveBank][7] << 8) - | (gBattleBufferA[gActiveBank][8] << 16) - | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] - | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + u32 r0 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] + | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] + | (gBattleBufferA[gActiveBattler][7] << 8) + | (gBattleBufferA[gActiveBattler][8] << 16) + | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] + | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (sub_8031720(r0, gAnimMoveTurn) != 0) LinkPartnerBufferExecCompleted(); else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_811FF30; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_811FF30; } } } void sub_811FF30(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite && !ewram17800[gActiveBank].unk0_3) + if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1331,22 +1331,22 @@ void sub_811FF30(void) if (!gAnimScriptActive) { sub_80326EC(1); - if ((ewram17800[gActiveBank].substituteSprite) && r7 <= 1) + if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_8031F24(); sub_80324BC( - gActiveBank, - gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + gActiveBattler, + gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; LinkPartnerBufferExecCompleted(); } break; @@ -1357,9 +1357,9 @@ void LinkPartnerHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_811DFA0; + gBattleBankFunc[gActiveBattler] = sub_811DFA0; } void LinkPartnerHandlePrintStringPlayerOnly(void) @@ -1402,21 +1402,21 @@ void LinkPartnerHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBank] = bx_t3_healthbar_update; + gBattleBankFunc[gActiveBattler] = bx_t3_healthbar_update; } void LinkPartnerHandleExpBarUpdate(void) @@ -1426,25 +1426,25 @@ void LinkPartnerHandleExpBarUpdate(void) void LinkPartnerHandleStatusIconUpdate(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_811E38C; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_811E38C; } } void LinkPartnerHandleStatusAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] - | (gBattleBufferA[gActiveBank][3] << 8) - | (gBattleBufferA[gActiveBank][4] << 16) - | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_811E38C; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] + | (gBattleBufferA[gActiveBattler][3] << 8) + | (gBattleBufferA[gActiveBattler][4] << 16) + | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_811E38C; } } @@ -1501,7 +1501,7 @@ void LinkPartnerHandlecmd37(void) void LinkPartnerHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; LinkPartnerBufferExecCompleted(); } @@ -1519,16 +1519,16 @@ void LinkPartnerHandlecmd40(void) void LinkPartnerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { LinkPartnerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t3; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t3; } } @@ -1541,31 +1541,31 @@ void LinkPartnerHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleFaintingCry(void) { PlayCry3( - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), -25, 5); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; LinkPartnerBufferExecCompleted(); } @@ -1575,25 +1575,25 @@ void LinkPartnerHandleTrainerBallThrow(void) u8 r4; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); r4 = AllocSpritePalette(0xD6F9); LoadCompressedPalette( - gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gActiveBank)].gender].data, + gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gActiveBattler)].gender].data, 0x100 + r4 * 16, 0x20); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = r4; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = r4; taskId = CreateTask(sub_812071C, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBank] = nullsub_74; + gBattleBankFunc[gActiveBattler] = nullsub_74; } void sub_812071C(u8 taskId) @@ -1606,61 +1606,61 @@ void sub_812071C(u8 taskId) return; } - r9 = gActiveBank; - gActiveBank = gTasks[taskId].data[0]; + r9 = gActiveBattler; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_811F864(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_811F864(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_811F864(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_811F864(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_811F864(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_811F864(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_811DCA0; - gActiveBank = r9; + gBattleBankFunc[gActiveBattler] = sub_811DCA0; + gActiveBattler = r9; DestroyTask(taskId); } void LinkPartnerHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { LinkPartnerBufferExecCompleted(); return; } - ewram17810[gActiveBank].unk0_0 = 1; - gUnknown_02024E68[gActiveBank] = sub_8044804( - gActiveBank, - (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_81208E0; + ewram17810[gActiveBattler].unk0_0 = 1; + gUnknown_02024E68[gActiveBattler] = sub_8044804( + gActiveBattler, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_81208E0; } void sub_81208E0(void) { - if (ewram17810[gActiveBank].unk5++ >= 93) + if (ewram17810[gActiveBattler].unk5++ >= 93) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; LinkPartnerBufferExecCompleted(); } } void LinkPartnerHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; LinkPartnerBufferExecCompleted(); } @@ -1671,25 +1671,25 @@ void LinkPartnerHandlecmd50(void) void LinkPartnerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank) != 0) + if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleBattleAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) LinkPartnerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_811E3B8; + gBattleBankFunc[gActiveBattler] = sub_811E3B8; } } @@ -1705,11 +1705,11 @@ void LinkPartnerHandleResetActionMoveSelection(void) void LinkPartnerHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_811E29C; + gBattleBankFunc[gActiveBattler] = sub_811E29C; } void LinkPartnerHandlecmd56(void) diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index e986eb38d..583690c27 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1,5 +1,6 @@ #include "global.h" #include "battle.h" +#include "battle_ai_switch_items.h" #include "battle_anim.h" #include "battle_interface.h" #include "data2.h" @@ -31,9 +32,9 @@ struct MovePpInfo }; extern u8 gUnknown_02023A14_50; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankSpriteIds[]; extern u8 gBattleMonForms[]; extern struct SpriteTemplate gUnknown_02024E8C; @@ -55,7 +56,7 @@ extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_X; extern u8 gDisplayedStringBattle[]; extern u8 gBankTarget; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern bool8 gDoingBattleAnim; extern u16 gUnknown_02024DE8; extern u8 gUnknown_02024E68[]; @@ -66,12 +67,12 @@ extern struct MusicPlayerInfo gMPlay_SE2; extern struct MusicPlayerInfo gMPlay_BGM; extern u32 gBattleExecBuffer; -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8079E90(); extern void sub_8033018(void); extern void BattleLoadOpponentMonSprite(); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void sub_8032984(u8, u16); extern void sub_80333D4(void); extern void sub_80312F0(struct Sprite *); @@ -98,9 +99,8 @@ extern void sub_8031F24(void); extern void sub_80324BC(); extern void BufferStringBattle(); extern void sub_80331D0(void); -extern void sub_8036B0C(void); -extern u8 GetBankByIdentity(u8); -extern u8 sub_8036CD4(void); +extern void AI_TrySwitchOrUseItem(void); +extern u8 GetBattlerAtPosition(u8); extern void sub_80330C8(void); extern void sub_8043D84(); extern void sub_8045A5C(); @@ -108,7 +108,7 @@ void sub_8033494(void); extern void move_anim_start_t2_for_situation(); extern void bx_blink_t7(void); extern void sub_8047858(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void StartBattleIntroAnim(); extern void sub_8044CA0(u8); extern void nullsub_45(void); @@ -264,15 +264,15 @@ void nullsub_45(void) void SetBankFuncToOpponentBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand; + gBattleBankFunc[gActiveBattler] = OpponentBufferRunCommand; } void OpponentBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] <= 0x38) - gOpponentBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] <= 0x38) + gOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); else OpponentBufferExecCompleted(); } @@ -280,34 +280,34 @@ void OpponentBufferRunCommand(void) void sub_8032B4C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } // Duplicate of sub_8032B4C void sub_8032B84(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } void sub_8032BBC(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - sub_8031B74(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBank]].data[5]; - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + sub_8031B74(gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam); + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBattler]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); OpponentBufferExecCompleted(); } } void sub_8032C4C(void) { - if ((--ewram17810[gActiveBank].unk9) == 0xFF) + if ((--ewram17810[gActiveBattler].unk9) == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; OpponentBufferExecCompleted(); } } @@ -318,86 +318,86 @@ void sub_8032C88(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) r6 = FALSE; - if (r6 && ewram17810[gActiveBank].unk1_0 && ewram17810[gActiveBank ^ 2].unk1_0) + if (r6 && ewram17810[gActiveBattler].unk1_0 && ewram17810[gActiveBattler ^ 2].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) m4aMPlayContinue(&gMPlay_BGM); else m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_8032C4C; + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_8032C4C; } } void sub_8032E2C(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBank ^ 2], - &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], + gHealthboxIDs[gActiveBattler ^ 2], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); sub_8032984( - gActiveBank ^ 2, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], MON_DATA_SPECIES)); + gActiveBattler ^ 2, + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8032984( - gActiveBank, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + gActiveBattler, + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_8032C88; + gBattleBankFunc[gActiveBattler] = sub_8032C88; } } void sub_8033018(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded == TRUE - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded == TRUE + && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) { - if (!ewram17810[gActiveBank].unk0_7) + if (!ewram17810[gActiveBattler].unk0_7) { - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); return; } - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); OpponentBufferExecCompleted(); @@ -408,32 +408,32 @@ void sub_8033018(void) void sub_80330C8(void) { - s16 r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); else OpponentBufferExecCompleted(); } void sub_803311C(void) { - if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) + if (!gSprites[gBankSpriteIds[gActiveBattler]].inUse) { - sub_8043DB0(gHealthboxIDs[gActiveBank]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); OpponentBufferExecCompleted(); } } void sub_8033160(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); OpponentBufferExecCompleted(); } } @@ -446,7 +446,7 @@ void sub_80331D0(void) void bx_blink_t7(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -465,17 +465,17 @@ void bx_blink_t7(void) void sub_8033264(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_80332D0; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_80332D0; } } void sub_80332D0(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { CreateTask(c3_0802FDF4, 10); OpponentBufferExecCompleted(); @@ -484,53 +484,53 @@ void sub_80332D0(void) void sub_8033308(void) { - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8033264; + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_8033264; } } void sub_80333D4(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8033308; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8033308; } } void sub_8033494(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) OpponentBufferExecCompleted(); } void sub_80334C0(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) OpponentBufferExecCompleted(); } void OpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand; - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleBankFunc[gActiveBattler] = OpponentBufferRunCommand; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } void OpponentHandleGetAttributes(void) @@ -539,13 +539,13 @@ void OpponentHandleGetAttributes(void) int r6 = 0; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = sub_8033598(gBattlePartyID[gActiveBank], buffer); + r6 = sub_8033598(gBattlerPartyIndexes[gActiveBattler], buffer); } else { - u8 r4 = gBattleBufferA[gActiveBank][2]; + u8 r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { @@ -568,7 +568,7 @@ u32 sub_8033598(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -630,7 +630,7 @@ u32 sub_8033598(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -645,7 +645,7 @@ u32 sub_8033598(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -864,11 +864,11 @@ void OpponentHandlecmd1(void) struct BattlePokemon buffer; u8 i; // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. - u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *src = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 *dst; - MEMSET_ALT(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); - Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); + MEMSET_ALT(&buffer + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); + Emitcmd29(1, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -877,13 +877,13 @@ void OpponentHandleSetAttributes(void) u8 i; u8 r4; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8033E24(gBattlePartyID[gActiveBank]); + sub_8033E24(gBattlerPartyIndexes[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -896,11 +896,11 @@ void OpponentHandleSetAttributes(void) void sub_8033E24(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -941,10 +941,10 @@ void sub_8033E24(u8 a) } break; case 1: - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -958,154 +958,154 @@ void sub_8033E24(u8 a) case 5: case 6: case 7: - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } } @@ -1115,37 +1115,37 @@ void OpponentHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], - gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], + gBattleBufferA[gActiveBattler][2], i, dst); OpponentBufferExecCompleted(); } void OpponentHandleLoadPokeSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBank, 2), - sub_8077F68(gActiveBank), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = species; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8033018; + GetBattlerSpriteCoord(gActiveBattler, 2), + sub_8077F68(gActiveBattler), + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = species; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8033018; } void OpponentHandleSendOutPoke(void) { - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; - sub_803495C(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_80333D4; + sub_803495C(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_80333D4; } void sub_803495C(u8 a, u8 b) @@ -1153,14 +1153,14 @@ void sub_803495C(u8 a, u8 b) u16 species; sub_8032AA8(a, b); - gBattlePartyID[a] = gBattleBufferA[a][1]; - species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES); + gBattlerPartyIndexes[a] = gBattleBufferA[a][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(a, 2), + GetBattlerSpriteCoord(a, 2), sub_8077F68(a), sub_8079E90(a)); gSprites[gBankSpriteIds[a]].data[0] = a; @@ -1175,36 +1175,36 @@ void sub_803495C(u8 a, u8 b) void OpponentHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8034B74; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8034B74; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); OpponentBufferExecCompleted(); } } void sub_8034B74(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 2); - gBattleBankFunc[gActiveBank] = sub_8033160; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 2); + gBattleBankFunc[gActiveBattler] = sub_8033160; } break; } @@ -1232,21 +1232,21 @@ void OpponentHandleTrainerThrow(void) trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; } - sub_8031A6C(trainerPicIndex, gActiveBank); - GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + sub_8031A6C(trainerPicIndex, gActiveBattler); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_8032B4C; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_8032B4C; } void OpponentHandleTrainerSlide(void) @@ -1262,49 +1262,49 @@ void OpponentHandleTrainerSlide(void) else trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; - sub_8031A6C(trainerPicIndex, gActiveBank); - GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + sub_8031A6C(trainerPicIndex, gActiveBattler); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), 0x1E); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96; - gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_8032B84; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 96; + gSprites[gBankSpriteIds[gActiveBattler]].pos1.x += 32; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_8032B84; } void OpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_8032BBC; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBattler] = sub_8032BBC; } void OpponentHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } - else if (!ewram17810[gActiveBank].unk0_6) + else if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; + ewram17810[gActiveBattler].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8010384; - gBattleBankFunc[gActiveBank] = sub_803311C; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_8010384; + gBattleBankFunc[gActiveBattler] = sub_803311C; } } @@ -1330,23 +1330,23 @@ void OpponentHandlePuase(void) void OpponentHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u32 r0 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] - | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] - | (gBattleBufferA[gActiveBank][7] << 8) - | (gBattleBufferA[gActiveBank][8] << 16) - | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] - | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + u32 r0 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] + | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] + | (gBattleBufferA[gActiveBattler][7] << 8) + | (gBattleBufferA[gActiveBattler][8] << 16) + | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] + | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; // Dead code. sub_8031720 always returns 0. if (sub_8031720(r0, gAnimMoveTurn) != 0) @@ -1355,34 +1355,34 @@ void OpponentHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8035238; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8035238; } } } void sub_8035238(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite && !ewram17800[gActiveBank].unk0_3) + if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1390,22 +1390,22 @@ void sub_8035238(void) if (!gAnimScriptActive) { sub_80326EC(1); - if ((ewram17800[gActiveBank].substituteSprite) && r7 <= 1) + if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_8031F24(); sub_80324BC( - gActiveBank, - gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + gActiveBattler, + gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; OpponentBufferExecCompleted(); } break; @@ -1416,9 +1416,9 @@ void OpponentHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_80331D0; + gBattleBankFunc[gActiveBattler] = sub_80331D0; } void OpponentHandlePrintStringPlayerOnly(void) @@ -1428,7 +1428,7 @@ void OpponentHandlePrintStringPlayerOnly(void) void OpponentHandlecmd18(void) { - sub_8036B0C(); + AI_TrySwitchOrUseItem(); OpponentBufferExecCompleted(); } @@ -1447,7 +1447,7 @@ void OpponentHandlecmd20(void) mov r6, r9\n\ mov r5, r8\n\ push {r5, r6, r7}\n\ - ldr r6, ._549 @ gActiveBank\n\ + ldr r6, ._549 @ gActiveBattler\n\ ldrb r0, [r6]\n\ lsl r0, r0, #0x9\n\ ldr r1, ._549 + 4 @ gBattleBufferA\n\ @@ -1489,7 +1489,7 @@ void OpponentHandlecmd20(void) ._550:\n\ .align 2, 0\n\ ._549:\n\ - .word gActiveBank\n\ + .word gActiveBattler\n\ .word gBattleBufferA+4\n\ .word gUnknown_02023A14_50\n\ .word gBattleMoves\n\ @@ -1543,7 +1543,7 @@ void OpponentHandlecmd20(void) bne ._557 @cond_branch\n\ mov r1, sl\n\ ldrb r0, [r1]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ mov r1, #0x2\n\ eor r0, r0, r1\n\ lsl r0, r0, #0x18\n\ @@ -1564,7 +1564,7 @@ void OpponentHandlecmd20(void) ._557:\n\ mov r0, #0x0\n\ ._558:\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ ._561:\n\ @@ -1635,10 +1635,10 @@ void OpponentHandlecmd20(void) cmp r0, #0\n\ beq ._572 @cond_branch\n\ mov r0, #0x0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r5, ._574 + 4 @ gBankTarget\n\ strb r0, [r5]\n\ - ldr r0, ._574 + 8 @ gAbsentBankFlags\n\ + ldr r0, ._574 + 8 @ gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, ._574 + 12 @ gBitTable\n\ ldrb r0, [r5]\n\ @@ -1649,7 +1649,7 @@ void OpponentHandlecmd20(void) cmp r1, #0\n\ beq ._572 @cond_branch\n\ mov r0, #0x2\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ strb r0, [r5]\n\ ._572:\n\ ldr r0, ._574 + 4 @ gBankTarget\n\ @@ -1665,7 +1665,7 @@ void OpponentHandlecmd20(void) ._574:\n\ .word gBattleMoves\n\ .word gBankTarget\n\ - .word gAbsentBankFlags\n\ + .word gAbsentBattlerFlags\n\ .word gBitTable\n\ ._563:\n\ mov r6, #0x3\n\ @@ -1688,7 +1688,7 @@ void OpponentHandlecmd20(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._577 @cond_branch\n\ - ldr r0, ._579 + 4 @ gActiveBank\n\ + ldr r0, ._579 + 4 @ gActiveBattler\n\ ldrb r2, [r0]\n\ lsl r2, r2, #0x8\n\ b ._578\n\ @@ -1696,7 +1696,7 @@ void OpponentHandlecmd20(void) .align 2, 0\n\ ._579:\n\ .word gBattleMoves\n\ - .word gActiveBank\n\ + .word gActiveBattler\n\ ._577:\n\ ldr r0, ._583 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ @@ -1710,7 +1710,7 @@ void OpponentHandlecmd20(void) lsl r1, r1, #0x18\n\ lsr r1, r1, #0x18\n\ add r0, r1, #0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ add r2, r0, #0\n\ lsl r2, r2, #0x18\n\ lsr r2, r2, #0x10\n\ @@ -1726,7 +1726,7 @@ void OpponentHandlecmd20(void) .word gBattleTypeFlags\n\ ._581:\n\ mov r0, #0x0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ add r2, r0, #0\n\ lsl r2, r2, #0x18\n\ lsr r2, r2, #0x10\n\ @@ -1751,7 +1751,7 @@ void OpponentHandlecmd20(void) { u16 r4; // Needed to match closer - struct {u16 moves[4];} *r5 = (void *)&gBattleBufferA[gActiveBank][4]; + struct {u16 moves[4];} *r5 = (void *)&gBattleBufferA[gActiveBattler][4]; if (gBattleTypeFlags & 0x498) { @@ -1767,12 +1767,12 @@ void OpponentHandlecmd20(void) break; default: if (gBattleMoves[r5->moves[r4]].target & 0x12) - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; if (gBattleMoves[r5->moves[r4]].target & 8) { - gBankTarget = GetBankByIdentity(0); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(2); + gBankTarget = GetBattlerAtPosition(0); + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(2); } r4 |= gBankTarget << 8; Emitcmd33(1, 10, r4); @@ -1793,18 +1793,18 @@ void OpponentHandlecmd20(void) if (gBattleMoves[r2].target & 0x12) { - r4 |= gActiveBank << 8; + r4 |= gActiveBattler << 8; Emitcmd33(1, 10, r4); } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - u16 r2 = GetBankByIdentity(Random() & 2) << 8; + u16 r2 = GetBattlerAtPosition(Random() & 2) << 8; Emitcmd33(1, 10, r4 | r2); } else { - u16 r2 = GetBankByIdentity(0) << 8; + u16 r2 = GetBattlerAtPosition(0) << 8; Emitcmd33(1, 10, r4 | r2); } @@ -1817,7 +1817,7 @@ void OpponentHandlecmd20(void) { asm(".syntax unified\n\ push {r4-r6,lr}\n\ - ldr r6, _0803545C @ =gActiveBank\n\ + ldr r6, _0803545C @ =gActiveBattler\n\ ldrb r0, [r6]\n\ lsls r0, 9\n\ ldr r1, _08035460 @ =gBattleBufferA+4\n\ @@ -1841,7 +1841,7 @@ void OpponentHandlecmd20(void) movs r1, 0x4\n\ b _0803546C\n\ .align 2, 0\n\ -_0803545C: .4byte gActiveBank\n\ +_0803545C: .4byte gActiveBattler\n\ _08035460: .4byte gBattleBufferA+4\n\ _08035464: .4byte gBattleTypeFlags\n\ _08035468:\n\ @@ -1880,10 +1880,10 @@ _08035494:\n\ cmp r0, 0\n\ beq _080354CE\n\ movs r0, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r5, _080354EC @ =gBankTarget\n\ strb r0, [r5]\n\ - ldr r0, _080354F0 @ =gAbsentBankFlags\n\ + ldr r0, _080354F0 @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, _080354F4 @ =gBitTable\n\ ldrb r0, [r5]\n\ @@ -1894,7 +1894,7 @@ _08035494:\n\ cmp r1, 0\n\ beq _080354CE\n\ movs r0, 0x2\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ strb r0, [r5]\n\ _080354CE:\n\ ldr r0, _080354EC @ =gBankTarget\n\ @@ -1911,7 +1911,7 @@ _080354E0:\n\ .align 2, 0\n\ _080354E8: .4byte gBattleMoves\n\ _080354EC: .4byte gBankTarget\n\ -_080354F0: .4byte gAbsentBankFlags\n\ +_080354F0: .4byte gAbsentBattlerFlags\n\ _080354F4: .4byte gBitTable\n\ _080354F8:\n\ movs r6, 0x3\n\ @@ -1934,7 +1934,7 @@ _080354FA:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0803553C\n\ - ldr r0, _08035538 @ =gActiveBank\n\ + ldr r0, _08035538 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ lsls r0, 8\n\ orrs r4, r0\n\ @@ -1945,7 +1945,7 @@ _080354FA:\n\ b _08035586\n\ .align 2, 0\n\ _08035534: .4byte gBattleMoves\n\ -_08035538: .4byte gActiveBank\n\ +_08035538: .4byte gActiveBattler\n\ _0803553C:\n\ ldr r0, _0803556C @ =gBattleTypeFlags\n\ ldrh r1, [r0]\n\ @@ -1959,7 +1959,7 @@ _0803553C:\n\ lsls r1, 24\n\ lsrs r1, 24\n\ adds r0, r1, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ adds r2, r0, 0\n\ lsls r2, 24\n\ lsrs r2, 16\n\ @@ -1972,7 +1972,7 @@ _0803553C:\n\ _0803556C: .4byte gBattleTypeFlags\n\ _08035570:\n\ movs r0, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ adds r2, r0, 0\n\ lsls r2, 24\n\ lsrs r2, 16\n\ @@ -1994,7 +1994,7 @@ _0803558A:\n\ void OpponentHandleOpenBag(void) { // What is this? - Emitcmd35(1, ewram160D4(gActiveBank)); + Emitcmd35(1, ewram160D4(gActiveBattler)); OpponentBufferExecCompleted(); } @@ -2002,39 +2002,39 @@ void OpponentHandlecmd22(void) { s32 r4; - if (ewram160C8arr(GetBankIdentity(gActiveBank)) == 6) + if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6) { u8 r6; u8 r5; - r4 = sub_8036CD4(); + r4 = GetMostSuitableMonToSwitchInto(); if (r4 == 6) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - r5 = GetBankByIdentity(1); + r5 = GetBattlerAtPosition(1); r6 = r5; } else { - r6 = GetBankByIdentity(1); - r5 = GetBankByIdentity(3); + r6 = GetBattlerAtPosition(1); + r5 = GetBattlerAtPosition(3); } for (r4 = 0; r4 < 6; r4++) { if (GetMonData(&gEnemyParty[r4], MON_DATA_HP) != 0 - && r4 != gBattlePartyID[r6] - && r4 != gBattlePartyID[r5]) + && r4 != gBattlerPartyIndexes[r6] + && r4 != gBattlerPartyIndexes[r5]) break; } } } else { - r4 = ewram160C8arr(GetBankIdentity(gActiveBank)); - ewram160C8arr(GetBankIdentity(gActiveBank)) = 6; + r4 = ewram160C8arr(GetBattlerPosition(gActiveBattler)); + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; } - ewram16068arr(gActiveBank) = r4; + ewram16068arr(gActiveBattler) = r4; Emitcmd34(1, r4, 0); OpponentBufferExecCompleted(); } @@ -2049,21 +2049,21 @@ void OpponentHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = (gBattleBufferA[gActiveBank][3] << 8) | gBattleBufferA[gActiveBank][2]; + r7 = (gBattleBufferA[gActiveBattler][3] << 8) | gBattleBufferA[gActiveBattler][2]; if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBank] = sub_80330C8; + gBattleBankFunc[gActiveBattler] = sub_80330C8; } void OpponentHandleExpBarUpdate(void) @@ -2073,25 +2073,25 @@ void OpponentHandleExpBarUpdate(void) void OpponentHandleStatusIconUpdate(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_8033494; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8033494; } } void OpponentHandleStatusAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] - | (gBattleBufferA[gActiveBank][3] << 8) - | (gBattleBufferA[gActiveBank][4] << 16) - | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_8033494; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] + | (gBattleBufferA[gActiveBattler][3] << 8) + | (gBattleBufferA[gActiveBattler][4] << 16) + | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_8033494; } } @@ -2148,7 +2148,7 @@ void OpponentHandlecmd37(void) void OpponentHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; OpponentBufferExecCompleted(); } @@ -2166,16 +2166,16 @@ void OpponentHandlecmd40(void) void OpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { OpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t7; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t7; } } @@ -2188,31 +2188,31 @@ void OpponentHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); OpponentBufferExecCompleted(); } void OpponentHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); OpponentBufferExecCompleted(); } void OpponentHandleFaintingCry(void) { PlayCry3( - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25, 5); OpponentBufferExecCompleted(); } void OpponentHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; OpponentBufferExecCompleted(); } @@ -2221,18 +2221,18 @@ void OpponentHandleTrainerBallThrow(void) { u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8035C10); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8035C10); taskId = CreateTask(sub_8035C44, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBank] = nullsub_45; + gBattleBankFunc[gActiveBattler] = nullsub_45; } void sub_8035C10(struct Sprite *sprite) @@ -2247,72 +2247,72 @@ void sub_8035C44(u8 taskId) { u8 r9; - r9 = gActiveBank; - gActiveBank = gTasks[taskId].data[0]; + r9 = gActiveBattler; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_803495C(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_803495C(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_803495C(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_803495C(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_803495C(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_803495C(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_8032E2C; - gActiveBank = r9; + gBattleBankFunc[gActiveBattler] = sub_8032E2C; + gActiveBattler = r9; DestroyTask(taskId); } void OpponentHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { OpponentBufferExecCompleted(); return; } - ewram17810[gActiveBank].unk0_0 = 1; - if (gBattleBufferA[gActiveBank][2] != 0) + ewram17810[gActiveBattler].unk0_0 = 1; + if (gBattleBufferA[gActiveBattler][2] != 0) { - if (ewram17810[gActiveBank].unk1_1 < 2) + if (ewram17810[gActiveBattler].unk1_1 < 2) { - ewram17810[gActiveBank].unk1_1++; + ewram17810[gActiveBattler].unk1_1++; return; } else { - ewram17810[gActiveBank].unk1_1 = 0; + ewram17810[gActiveBattler].unk1_1 = 0; } } - gUnknown_02024E68[gActiveBank] = sub_8044804( - gActiveBank, - (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_8035E2C; + gUnknown_02024E68[gActiveBattler] = sub_8044804( + gActiveBattler, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_8035E2C; } void sub_8035E2C(void) { - if (ewram17810[gActiveBank].unk5++ >= 93) + if (ewram17810[gActiveBattler].unk5++ >= 93) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; OpponentBufferExecCompleted(); } } void OpponentHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; OpponentBufferExecCompleted(); } @@ -2323,25 +2323,25 @@ void OpponentHandlecmd50(void) void OpponentHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank) != 0) + if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } OpponentBufferExecCompleted(); } void OpponentHandleBattleAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) OpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_80334C0; + gBattleBankFunc[gActiveBattler] = sub_80334C0; } } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index f9190eb39..50ab1eb7e 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -46,13 +46,13 @@ extern u8 gBankAttacker; extern u8 gBankTarget; extern u32 gOamMatrixAllocBitmap; extern u8 gUnknown_020297ED; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gActionSelectionCursor[]; extern u8 gDisplayedStringBattle[]; extern u8 gMoveSelectionCursor[]; extern u8 gBattleBufferA[][0x200]; extern u8 gBankInMenu; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gHealthboxIDs[]; extern u8 gDoingBattleAnim; extern u8 gBankSpriteIds[]; @@ -101,7 +101,7 @@ extern bool8 mplay_80342A4(u8); extern void move_anim_start_t2_for_situation(); extern void bx_blink_t1(void); extern void sub_8047858(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void StartBattleIntroAnim(); extern void oamt_add_pos2_onto_pos1(); extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); @@ -121,24 +121,24 @@ extern void sub_8031F24(void); extern void sub_80324BC(); extern u8 sub_8031720(); extern void bx_wait_t1(void); -extern u8 GetBankByIdentity(u8); +extern u8 GetBattlerAtPosition(u8); extern void sub_802DE10(void); extern void sub_80105EC(struct Sprite *); extern void sub_802D274(void); extern void sub_802D23C(void); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void LoadPlayerTrainerBankSprite(); extern void sub_80313A0(struct Sprite *); extern void sub_802D204(void); extern u8 sub_8079E90(); extern void sub_802DEAC(void); extern void sub_80312F0(struct Sprite *); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8046400(); extern void sub_802D798(void); extern void bx_0802E404(void); -extern u8 gActiveBank; +extern u8 gActiveBattler; extern void (*gBattleBankFunc[])(void); extern bool8 gDoingBattleAnim; extern u16 gBattleTypeFlags; @@ -147,10 +147,10 @@ extern u8 gBattleBufferA[][0x200]; extern u8 gBankSpriteIds[]; extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gUnknown_03004344; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[]; extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_X; extern struct Window gUnknown_03004210; @@ -169,8 +169,8 @@ extern u8 gDisplayedStringBattle[]; extern const u8 BattleText_LinkStandby[]; extern void dp11b_obj_instanciate(u8, u8, s8, s8); -extern u8 GetBankIdentity(u8); -extern u8 GetBankByIdentity(u8); +extern u8 GetBattlerPosition(u8); +extern u8 GetBattlerAtPosition(u8); extern void dp11b_obj_free(u8, u8); extern void sub_8010520(struct Sprite *); extern void sub_8010574(struct Sprite *); @@ -338,32 +338,32 @@ void nullsub_91(void) void SetBankFuncToPlayerBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = PlayerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = PlayerBufferRunCommand; gDoingBattleAnim = FALSE; } void PlayerBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = PlayerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = PlayerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void PlayerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < 0x39) - gPlayerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < 0x39) + gPlayerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else PlayerBufferExecCompleted(); } @@ -371,23 +371,23 @@ void PlayerBufferRunCommand(void) void bx_0802E404(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) PlayerBufferExecCompleted(); } void sub_802C098(void) { - u16 itemId = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u16 itemId = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); DestroyMenuCursor(); // Useless switch statement. - switch (gActionSelectionCursor[gActiveBank]) + switch (gActionSelectionCursor[gActiveBattler]) { case 0: Emitcmd33(1, 0, 0); @@ -406,52 +406,52 @@ void sub_802C098(void) } else if (gMain.newKeys & DPAD_LEFT) { - if (gActionSelectionCursor[gActiveBank] & 1) + if (gActionSelectionCursor[gActiveBattler] & 1) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gActionSelectionCursor[gActiveBank] & 1)) + if (!(gActionSelectionCursor[gActiveBattler] & 1)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_UP) { - if (gActionSelectionCursor[gActiveBank] & 2) + if (gActionSelectionCursor[gActiveBattler] & 2) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gActionSelectionCursor[gActiveBank] & 2)) + if (!(gActionSelectionCursor[gActiveBattler] & 2)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & B_BUTTON) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - && GetBankIdentity(gActiveBank) == 2 - && !(gAbsentBankFlags & gBitTable[GetBankByIdentity(0)]) + && GetBattlerPosition(gActiveBattler) == 2 + && !(gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(0)]) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (gBattleBufferA[gActiveBank][1] == 1) + if (gBattleBufferA[gActiveBattler][1] == 1) { // Add item to bag if it is a ball if (itemId <= ITEM_PREMIER_BALL) @@ -473,9 +473,9 @@ void sub_802C098(void) void unref_sub_802C2B8(void) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBattleBankFunc[gActiveBank] = sub_802C2EC; + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBattleBankFunc[gActiveBattler] = sub_802C2EC; } // TODO: fix this function @@ -486,21 +486,21 @@ void sub_802C2EC(void) dp11b_obj_instanciate(gUnknown_03004344, 1, 15, 1); i = 0; - if (gNoOfAllBanks != 0) + if (gBattlersCount != 0) { do { if (i != gUnknown_03004344) dp11b_obj_free(i, 1); i++; - } while (i < gNoOfAllBanks); + } while (i < gBattlersCount); } if (gMain.newKeys & A_BUTTON) { DestroyMenuCursor(); PlaySE(SE_SELECT); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; - Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBank] | (gUnknown_03004344 << 8)); + Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); dp11b_obj_free(gUnknown_03004344, 1); PlayerBufferExecCompleted(); } @@ -509,9 +509,9 @@ void sub_802C2EC(void) { PlaySE(SE_SELECT); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; - gBattleBankFunc[gActiveBank] = sub_802C68C; - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + gBattleBankFunc[gActiveBattler] = sub_802C68C; + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); dp11b_obj_free(gUnknown_03004344, 1); } else if (gMain.newKeys & 0x60) @@ -520,7 +520,7 @@ void sub_802C2EC(void) gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { - u8 var = GetBankIdentity(gUnknown_03004344); + u8 var = GetBattlerPosition(gUnknown_03004344); for (i = 0; i < 4; i++) { @@ -532,19 +532,19 @@ void sub_802C2EC(void) i--; if (i < 0) i = 3; - gUnknown_03004344 = GetBankByIdentity(arr[i]); - } while(gUnknown_03004344 == gNoOfAllBanks); + gUnknown_03004344 = GetBattlerAtPosition(arr[i]); + } while(gUnknown_03004344 == gBattlersCount); i = 0; - switch (GetBankIdentity(gUnknown_03004344)) + switch (GetBattlerPosition(gUnknown_03004344)) { case 0: case 2: - if (gActiveBank == gUnknown_03004344) + if (gActiveBattler == gUnknown_03004344) { u32 moveId; asm("":::"memory"); - moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank]); + moveId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); if (!(gBattleMoves[moveId].target & 2)) break; } @@ -555,7 +555,7 @@ void sub_802C2EC(void) i++; } //_0802C500 - if (gAbsentBankFlags & gBitTable[gUnknown_03004344]) + if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; @@ -567,7 +567,7 @@ void sub_802C2EC(void) gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { - u8 var = GetBankIdentity(gUnknown_03004344); + u8 var = GetBattlerPosition(gUnknown_03004344); for (i = 0; i < 4; i++) { @@ -579,19 +579,19 @@ void sub_802C2EC(void) i++; if (i > 3) i = 0; - gUnknown_03004344 = GetBankByIdentity(arr[i]); - } while (gUnknown_03004344 == gNoOfAllBanks); + gUnknown_03004344 = GetBattlerAtPosition(arr[i]); + } while (gUnknown_03004344 == gBattlersCount); i = 0; - switch (GetBankIdentity(gUnknown_03004344)) + switch (GetBattlerPosition(gUnknown_03004344)) { case 0: case 2: - if (gActiveBank == gUnknown_03004344) + if (gActiveBattler == gUnknown_03004344) { u32 moveId; asm("":::"memory"); - moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank]); + moveId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); if (!(gBattleMoves[moveId].target & 2)) break; } @@ -601,7 +601,7 @@ void sub_802C2EC(void) case 3: i++; } - if (gAbsentBankFlags & gBitTable[gUnknown_03004344]) + if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; @@ -628,7 +628,7 @@ void sub_802C68C(void) #if DEBUG u8 count = 0; #endif - struct ChooseMoveStruct *r6 = (struct ChooseMoveStruct *)(gBattleBufferA[gActiveBank] + 4); + struct ChooseMoveStruct *r6 = (struct ChooseMoveStruct *)(gBattleBufferA[gActiveBattler] + 4); if (gMain.newKeys & A_BUTTON) { @@ -636,50 +636,50 @@ void sub_802C68C(void) PlaySE(SE_SELECT); - if (r6->moves[gMoveSelectionCursor[gActiveBank]] == MOVE_CURSE) + if (r6->moves[gMoveSelectionCursor[gActiveBattler]] == MOVE_CURSE) r4 = (r6->unk12 != TYPE_GHOST && (r6->effectStringId ^ 7)) ? 0x10 : 0; else - r4 = gBattleMoves[r6->moves[gMoveSelectionCursor[gActiveBank]]].target; + r4 = gBattleMoves[r6->moves[gMoveSelectionCursor[gActiveBattler]]].target; if (r4 & 0x10) - gUnknown_03004344 = gActiveBank; + gUnknown_03004344 = gActiveBattler; else - gUnknown_03004344 = GetBankByIdentity((GetBankIdentity(gActiveBank) & 1) ^ 1); + gUnknown_03004344 = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) & 1) ^ 1); - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - if ((r4 & 2) && gBattleBufferA[gActiveBank][2] == 0) + if ((r4 & 2) && gBattleBufferA[gActiveBattler][2] == 0) r8++; } else { if (!(r4 & 0x7D)) r8++; - if (r6->pp[gMoveSelectionCursor[gActiveBank]] == 0) + if (r6->pp[gMoveSelectionCursor[gActiveBattler]] == 0) { r8 = 0; } else if (!(r4 & 0x12) && CountAliveMons(0) <= 1) { - gUnknown_03004344 = sub_803C434(gActiveBank); + gUnknown_03004344 = sub_803C434(gActiveBattler); r8 = 0; } } if (r8 == 0) { DestroyMenuCursor(); - Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBank] | (gUnknown_03004344 << 8)); + Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); PlayerBufferExecCompleted(); } else { - gBattleBankFunc[gActiveBank] = sub_802C2EC; + gBattleBankFunc[gActiveBattler] = sub_802C2EC; if (r4 & 0x12) - gUnknown_03004344 = gActiveBank; - else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(1)]) - gUnknown_03004344 = GetBankByIdentity(3); + gUnknown_03004344 = gActiveBattler; + else if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(1)]) + gUnknown_03004344 = GetBattlerAtPosition(3); else - gUnknown_03004344 = GetBankByIdentity(1); + gUnknown_03004344 = GetBattlerAtPosition(1); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; } } @@ -694,50 +694,50 @@ void sub_802C68C(void) } else if (gMain.newKeys & DPAD_LEFT) { - if (gMoveSelectionCursor[gActiveBank] & 1) + if (gMoveSelectionCursor[gActiveBattler] & 1) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gMoveSelectionCursor[gActiveBank] & 1) - && (gMoveSelectionCursor[gActiveBank] ^ 1) < gUnknown_03004348) + if (!(gMoveSelectionCursor[gActiveBattler] & 1) + && (gMoveSelectionCursor[gActiveBattler] ^ 1) < gUnknown_03004348) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } } else if (gMain.newKeys & DPAD_UP) { - if (gMoveSelectionCursor[gActiveBank] & 2) + if (gMoveSelectionCursor[gActiveBattler] & 2) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gMoveSelectionCursor[gActiveBank] & 2) - && (gMoveSelectionCursor[gActiveBank] ^ 2) < gUnknown_03004348) + if (!(gMoveSelectionCursor[gActiveBattler] & 2) + && (gMoveSelectionCursor[gActiveBattler] ^ 2) < gUnknown_03004348) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } @@ -746,16 +746,16 @@ void sub_802C68C(void) { if (gUnknown_03004348 > 1 && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) { - sub_802E12C(gMoveSelectionCursor[gActiveBank], gUnknown_081FAE80); - if (gMoveSelectionCursor[gActiveBank] != 0) + sub_802E12C(gMoveSelectionCursor[gActiveBattler], gUnknown_081FAE80); + if (gMoveSelectionCursor[gActiveBattler] != 0) gUnknown_03004344 = 0; else - gUnknown_03004344 = gMoveSelectionCursor[gActiveBank] + 1; + gUnknown_03004344 = gMoveSelectionCursor[gActiveBattler] + 1; sub_802E3B4(gUnknown_03004344, 27); Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_SwitchWhich, 0x290, 0x17, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); - gBattleBankFunc[gActiveBank] = sub_802CA60; + gBattleBankFunc[gActiveBattler] = sub_802CA60; } } #if DEBUG @@ -765,11 +765,11 @@ void sub_802C68C(void) s32 i; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x3A); - moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1)]; + moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1)]; Text_InitWindowAndPrintText(&gUnknown_03004210, moveName, 0x100, 2, 0x37); ConvertIntToDecimalStringN( gDisplayedStringBattle, - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1), + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1), 2, 3); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x110, 10, 0x37); Text_InitWindowAndPrintText(&gUnknown_03004210, gString_TurnJP, 0x116, 1, 0x39); @@ -792,7 +792,7 @@ void sub_802C68C(void) } ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x12A, 14, 0x39); - gBattleBankFunc[gActiveBank] = debug_sub_8030C24; + gBattleBankFunc[gActiveBattler] = debug_sub_8030C24; } #endif } @@ -814,69 +814,69 @@ void sub_802CA60(void) if (gMain.newKeys & (A_BUTTON | SELECT_BUTTON)) { PlaySE(SE_SELECT); - if (gMoveSelectionCursor[gActiveBank] != gUnknown_03004344) + if (gMoveSelectionCursor[gActiveBattler] != gUnknown_03004344) { - struct ChooseMoveStruct *r9 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r9 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; s32 i; - i = r9->moves[gMoveSelectionCursor[gActiveBank]]; - r9->moves[gMoveSelectionCursor[gActiveBank]] = r9->moves[gUnknown_03004344]; + i = r9->moves[gMoveSelectionCursor[gActiveBattler]]; + r9->moves[gMoveSelectionCursor[gActiveBattler]] = r9->moves[gUnknown_03004344]; r9->moves[gUnknown_03004344] = i; - i = r9->pp[gMoveSelectionCursor[gActiveBank]]; - r9->pp[gMoveSelectionCursor[gActiveBank]] = r9->pp[gUnknown_03004344]; + i = r9->pp[gMoveSelectionCursor[gActiveBattler]]; + r9->pp[gMoveSelectionCursor[gActiveBattler]] = r9->pp[gUnknown_03004344]; r9->pp[gUnknown_03004344] = i; - i = r9->unkC[gMoveSelectionCursor[gActiveBank]]; - r9->unkC[gMoveSelectionCursor[gActiveBank]] = r9->unkC[gUnknown_03004344]; + i = r9->unkC[gMoveSelectionCursor[gActiveBattler]]; + r9->unkC[gMoveSelectionCursor[gActiveBattler]] = r9->unkC[gUnknown_03004344]; r9->unkC[gUnknown_03004344] = i; - if (gDisableStructs[gActiveBank].unk18_b & gBitTable[gMoveSelectionCursor[gActiveBank]]) + if (gDisableStructs[gActiveBattler].unk18_b & gBitTable[gMoveSelectionCursor[gActiveBattler]]) { - gDisableStructs[gActiveBank].unk18_b &= ~gBitTable[gMoveSelectionCursor[gActiveBank]]; - gDisableStructs[gActiveBank].unk18_b |= gBitTable[gUnknown_03004344]; + gDisableStructs[gActiveBattler].unk18_b &= ~gBitTable[gMoveSelectionCursor[gActiveBattler]]; + gDisableStructs[gActiveBattler].unk18_b |= gBitTable[gUnknown_03004344]; } sub_802E1B0(); for (i = 0; i < 4; i++) - perMovePPBonuses[i] = (gBattleMons[gActiveBank].ppBonuses & (3 << (i * 2))) >> (i * 2); - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBank]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBank]] = perMovePPBonuses[gUnknown_03004344]; + perMovePPBonuses[i] = (gBattleMons[gActiveBattler].ppBonuses & (3 << (i * 2))) >> (i * 2); + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; + perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gUnknown_03004344]; perMovePPBonuses[gUnknown_03004344] = totalPPBonuses; totalPPBonuses = 0; for (i = 0; i < 4; i++) totalPPBonuses |= perMovePPBonuses[i] << (i * 2); - gBattleMons[gActiveBank].ppBonuses = totalPPBonuses; + gBattleMons[gActiveBattler].ppBonuses = totalPPBonuses; for (i = 0; i < 4; i++) { - gBattleMons[gActiveBank].moves[i] = r9->moves[i]; - gBattleMons[gActiveBank].pp[i] = r9->pp[i]; + gBattleMons[gActiveBattler].moves[i] = r9->moves[i]; + gBattleMons[gActiveBattler].pp[i] = r9->pp[i]; } - if (!(gBattleMons[gActiveBank].status2 & 0x200000)) + if (!(gBattleMons[gActiveBattler].status2 & 0x200000)) { for (i = 0; i < 4; i++) { - sp0.moves[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i); - sp0.pp[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i); + sp0.moves[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i); + sp0.pp[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i); } - totalPPBonuses = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES); + totalPPBonuses = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES); for (i = 0; i < 4; i++) perMovePPBonuses[i] = (totalPPBonuses & (3 << (i * 2))) >> (i * 2); - i = sp0.moves[gMoveSelectionCursor[gActiveBank]]; - sp0.moves[gMoveSelectionCursor[gActiveBank]] = sp0.moves[gUnknown_03004344]; + i = sp0.moves[gMoveSelectionCursor[gActiveBattler]]; + sp0.moves[gMoveSelectionCursor[gActiveBattler]] = sp0.moves[gUnknown_03004344]; sp0.moves[gUnknown_03004344] = i; - i = sp0.pp[gMoveSelectionCursor[gActiveBank]]; - sp0.pp[gMoveSelectionCursor[gActiveBank]] = sp0.pp[gUnknown_03004344]; + i = sp0.pp[gMoveSelectionCursor[gActiveBattler]]; + sp0.pp[gMoveSelectionCursor[gActiveBattler]] = sp0.pp[gUnknown_03004344]; sp0.pp[gUnknown_03004344] = i; - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBank]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBank]] = perMovePPBonuses[gUnknown_03004344]; + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; + perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gUnknown_03004344]; perMovePPBonuses[gUnknown_03004344] = totalPPBonuses; totalPPBonuses = 0; @@ -885,19 +885,19 @@ void sub_802CA60(void) for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, &sp0.moves[i]); - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i, &sp0.pp[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i, &sp0.moves[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i, &sp0.pp[i]); } - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES, &totalPPBonuses); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses); } } else { sub_802E12C(gUnknown_03004344, BattleText_Format); } - gBattleBankFunc[gActiveBank] = sub_802C68C; - gMoveSelectionCursor[gActiveBank] = gUnknown_03004344; - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + gBattleBankFunc[gActiveBattler] = sub_802C68C; + gMoveSelectionCursor[gActiveBattler] = gUnknown_03004344; + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -908,9 +908,9 @@ void sub_802CA60(void) { PlaySE(SE_SELECT); nullsub_7(gUnknown_03004344); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); - sub_802E12C(gMoveSelectionCursor[gActiveBank], BattleText_Format); - gBattleBankFunc[gActiveBank] = sub_802C68C; + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); + sub_802E12C(gMoveSelectionCursor[gActiveBattler], BattleText_Format); + gBattleBankFunc[gActiveBattler] = sub_802C68C; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -919,52 +919,52 @@ void sub_802CA60(void) } if ((gMain.newKeys & DPAD_LEFT) && (gUnknown_03004344 & 1)) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 1; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); } if ((gMain.newKeys & DPAD_RIGHT) && !(gUnknown_03004344 & 1) && (gUnknown_03004344 ^ 1) < gUnknown_03004348) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 1; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); } if ((gMain.newKeys & DPAD_UP) && (gUnknown_03004344 & 2)) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 2; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); } if ((gMain.newKeys & DPAD_DOWN) && !(gUnknown_03004344 & 2) && (gUnknown_03004344 ^ 2) < gUnknown_03004348) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 2; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); @@ -989,7 +989,7 @@ void sub_802D18C(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { sub_800832C(); - gBattleBankFunc[gActiveBank] = sub_802D148; + gBattleBankFunc[gActiveBattler] = sub_802D148; } else { @@ -1007,48 +1007,48 @@ void debug_sub_803107C(void); void debug_sub_8030C24(void) { - s16 move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1); + s16 move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1); switch (gMain.newAndRepeatedKeys) { case START_BUTTON: - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBankAttacker = gActiveBank; + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBankAttacker = gActiveBattler; if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) gBankTarget = gBankAttacker ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankTarget = GetBankByIdentity(3); + gBankTarget = GetBattlerAtPosition(3); else - gBankTarget = GetBankByIdentity(1); + gBankTarget = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; break; case SELECT_BUTTON: - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBankTarget = gActiveBank; + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBankTarget = gActiveBattler; if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) gBankAttacker = gBankTarget ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankAttacker = GetBankByIdentity(3); + gBankAttacker = GetBattlerAtPosition(3); else - gBankAttacker = GetBankByIdentity(1); + gBankAttacker = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; break; case R_BUTTON: if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBankAttacker = GetBankByIdentity(3); - gBankTarget = GetBankByIdentity(1); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBankAttacker = GetBattlerAtPosition(3); + gBankTarget = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; } else { @@ -1056,8 +1056,8 @@ void debug_sub_8030C24(void) case DPAD_RIGHT: if (++move > 354) move = 1; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1, &move); - gBattleMons[gActiveBank].moves[0] = move; + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1, &move); + gBattleMons[gActiveBattler].moves[0] = move; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38); Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37); ConvertIntToDecimalStringN(gDisplayedStringBattle, move, 2, 3); @@ -1067,13 +1067,13 @@ void debug_sub_8030C24(void) case L_BUTTON: if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBankAttacker = GetBankByIdentity(1); - gBankTarget = GetBankByIdentity(3); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBankAttacker = GetBattlerAtPosition(1); + gBankTarget = GetBattlerAtPosition(3); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; } else { @@ -1081,8 +1081,8 @@ void debug_sub_8030C24(void) case DPAD_LEFT: if (--move <= 0) move = 354; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1, &move); - gBattleMons[gActiveBank].moves[0] = move; + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1, &move); + gBattleMons[gActiveBattler].moves[0] = move; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38); Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37); ConvertIntToDecimalStringN(gDisplayedStringBattle, move, 2, 3); @@ -1108,7 +1108,7 @@ void debug_sub_8030C24(void) for (i = 0; i < 4; i++) { StringCopy(gDisplayedStringBattle, BattleText_Format); - move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i); + move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i); StringAppend(gDisplayedStringBattle, gMoveNames[move]); Text_InitWindow( &gUnknown_03004210, @@ -1118,7 +1118,7 @@ void debug_sub_8030C24(void) (i < 2) ? 0x37 : 0x39); Text_PrintWindow8002F44(&gUnknown_03004210); } - gBattleBankFunc[gActiveBank] = sub_802C68C; + gBattleBankFunc[gActiveBattler] = sub_802C68C; } } @@ -1132,8 +1132,8 @@ void debug_sub_803107C(void) s32 i; sub_80326EC(1); - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); for (i = 0, count = 0; i < MAX_SPRITES; i++) { @@ -1155,7 +1155,7 @@ void debug_sub_803107C(void) ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 298, 14, 0x39); - gBattleBankFunc[gActiveBank] = debug_sub_8030C24; + gBattleBankFunc[gActiveBattler] = debug_sub_8030C24; } } @@ -1163,33 +1163,33 @@ void debug_sub_803107C(void) void sub_802D204(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } // duplicate of sub_802D204 void sub_802D23C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } void sub_802D274(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_10(gSaveBlock2.playerGender); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); PlayerBufferExecCompleted(); } } void sub_802D2E0(void) { - if (--ewram17810[gActiveBank].unk9 == 0xFF) + if (--ewram17810[gActiveBattler].unk9 == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; PlayerBufferExecCompleted(); } } @@ -1200,106 +1200,106 @@ void sub_802D31C(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) r6 = FALSE; - if (r6 && ewram17810[gActiveBank].unk1_0 && ewram17810[gActiveBank ^ 2].unk1_0) + if (r6 && ewram17810[gActiveBattler].unk1_0 && ewram17810[gActiveBattler ^ 2].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) m4aMPlayContinue(&gMPlay_BGM); else m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], gActiveBank ^ 2); - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_802D2E0; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], gActiveBattler ^ 2); + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_802D2E0; } } void sub_802D500(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBank ^ 2], - &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], + gHealthboxIDs[gActiveBattler ^ 2], + &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gPlayerParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_802D31C; + gBattleBankFunc[gActiveBattler] = sub_802D31C; } } void sub_802D680(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && ewram17810[gActiveBank].unk1_0) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_802D730; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_802D730; } } void sub_802D730(void) { - if (!ewram17810[gActiveBank].unk0_6 && !IsCryPlayingOrClearCrySongs()) + if (!ewram17810[gActiveBattler].unk0_6 && !IsCryPlayingOrClearCrySongs()) { m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } void sub_802D798(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_802D680; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_802D680; } } @@ -1314,16 +1314,16 @@ void c3_0802FDF4(u8 taskId) void bx_t1_healthbar_update(void) { - s16 r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } @@ -1341,7 +1341,7 @@ void sub_802D924(u8 taskId) u8 bank = gTasks[taskId].data[2]; s16 gainedExp = gTasks[taskId].data[1]; - if (IsDoubleBattle() == TRUE || pkmnIndex != gBattlePartyID[bank]) + if (IsDoubleBattle() == TRUE || pkmnIndex != gBattlerPartyIndexes[bank]) { struct Pokemon *pkmn = &gPlayerParty[pkmnIndex]; u16 species = GetMonData(pkmn, MON_DATA_SPECIES); @@ -1356,13 +1356,13 @@ void sub_802D924(u8 taskId) SetMonData(pkmn, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(pkmn); gainedExp -= nextLvlExp - currExp; - savedActiveBank = gActiveBank; - gActiveBank = bank; + savedActiveBank = gActiveBattler; + gActiveBattler = bank; Emitcmd33(1, 11, gainedExp); - gActiveBank = savedActiveBank; + gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE - && ((u16)pkmnIndex == gBattlePartyID[bank] || (u16)pkmnIndex == gBattlePartyID[bank ^ 2])) + && ((u16)pkmnIndex == gBattlerPartyIndexes[bank] || (u16)pkmnIndex == gBattlerPartyIndexes[bank ^ 2])) gTasks[taskId].func = sub_802DCB0; else gTasks[taskId].func = sub_802DDC4; @@ -1441,10 +1441,10 @@ void sub_802DB6C(u8 taskId) asdf = sp0 - sp4; //asdf = r10 - (sp0 - sp4); r10 -= asdf; - r5 = gActiveBank; - gActiveBank = r7; + r5 = gActiveBattler; + gActiveBattler = r7; Emitcmd33(1, 11, r10); - gActiveBank = r5; + gActiveBattler = r5; gTasks[taskId].func = sub_802DCB0; } else @@ -1566,7 +1566,7 @@ _0802DB9C:\n\ ldrh r0, [r0]\n\ subs r2, r0\n\ subs r2, r4, r2\n\ - ldr r4, _0802DC74 @ =gActiveBank\n\ + ldr r4, _0802DC74 @ =gActiveBattler\n\ ldrb r5, [r4]\n\ strb r7, [r4]\n\ lsls r2, 16\n\ @@ -1583,7 +1583,7 @@ _0802DC64: .4byte gHealthboxIDs\n\ _0802DC68: .4byte gPlayerParty\n\ _0802DC6C: .4byte gExperienceTables\n\ _0802DC70: .4byte gBaseStats\n\ -_0802DC74: .4byte gActiveBank\n\ +_0802DC74: .4byte gActiveBattler\n\ _0802DC78: .4byte sub_802DCB0\n\ _0802DC7C:\n\ str r0, [sp, 0x4]\n\ @@ -1618,7 +1618,7 @@ void sub_802DCB0(u8 taskId) u8 bank = gTasks[taskId].data[2]; u8 pkmnIndex = gTasks[taskId].data[0]; - if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlePartyID[bank ^ 2]) + if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlerPartyIndexes[bank ^ 2]) bank ^= 2; move_anim_start_t4(bank, bank, bank, 0); gTasks[taskId].func = sub_802DD10; @@ -1633,7 +1633,7 @@ void sub_802DD10(u8 taskId) u8 pkmnIndex = gTasks[taskId].data[0]; GetMonData(&gPlayerParty[pkmnIndex], MON_DATA_LEVEL); // Unused return value - if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlePartyID[bank ^ 2]) + if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlerPartyIndexes[bank ^ 2]) sub_8045A5C(gHealthboxIDs[bank ^ 2], &gPlayerParty[pkmnIndex], 0); else sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[pkmnIndex], 0); @@ -1655,25 +1655,25 @@ void sub_802DDC4(u8 taskId) void sub_802DE10(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); nullsub_9(species); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); PlayerBufferExecCompleted(); } } void sub_802DEAC(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); PlayerBufferExecCompleted(); } } @@ -1691,9 +1691,9 @@ void sub_802DF30(void) { u8 r4; - gBattleBankFunc[gActiveBank] = sub_802DF88; - r4 = gTasks[gUnknown_0300434C[gActiveBank]].data[0]; - DestroyTask(gUnknown_0300434C[gActiveBank]); + gBattleBankFunc[gActiveBattler] = sub_802DF88; + r4 = gTasks[gUnknown_0300434C[gActiveBattler]].data[0]; + DestroyTask(gUnknown_0300434C[gActiveBattler]); sub_8094E20(r4); } } @@ -1706,7 +1706,7 @@ void sub_802DF88(void) Emitcmd34(1, gUnknown_0202E8F5, gUnknown_02038470); else Emitcmd34(1, 6, NULL); - if ((gBattleBufferA[gActiveBank][1] & 0xF) == 1) + if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) b_link_standby_message(); PlayerBufferExecCompleted(); } @@ -1716,7 +1716,7 @@ void sub_802E004(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = sub_802E03C; + gBattleBankFunc[gActiveBattler] = sub_802E03C; nullsub_14(); sub_80A6DCC(); } @@ -1733,13 +1733,13 @@ void sub_802E03C(void) void bx_wait_t1(void) { - if (!gDoingBattleAnim || !ewram17810[gActiveBank].unk0_6) + if (!gDoingBattleAnim || !ewram17810[gActiveBattler].unk0_6) PlayerBufferExecCompleted(); } void bx_blink_t1(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -1758,7 +1758,7 @@ void bx_blink_t1(void) void sub_802E12C(s32 a, const u8 *b) { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; StringCopy(gDisplayedStringBattle, b); StringAppend(gDisplayedStringBattle, gMoveNames[r4->moves[a]]); @@ -1773,7 +1773,7 @@ void sub_802E12C(s32 a, const u8 *b) void sub_802E1B0(void) { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; s32 i; gUnknown_03004348 = 0; @@ -1789,9 +1789,9 @@ void sub_802E1B0(void) void sub_802E220(void) { - if (gBattleBufferA[gActiveBank][2] != 1) + if (gBattleBufferA[gActiveBattler][2] != 1) { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; u8 *str = gDisplayedStringBattle; str = StringCopy(str, BattleText_Format); @@ -1803,9 +1803,9 @@ void sub_802E220(void) str[1] = 0x14; str[2] = 6; str += 3; - str = ConvertIntToDecimalStringN(str, r4->pp[gMoveSelectionCursor[gActiveBank]], 1, 2); + str = ConvertIntToDecimalStringN(str, r4->pp[gMoveSelectionCursor[gActiveBattler]], 1, 2); *str++ = CHAR_SLASH; - ConvertIntToDecimalStringN(str, r4->unkC[gMoveSelectionCursor[gActiveBank]], 1, 2); + ConvertIntToDecimalStringN(str, r4->unkC[gMoveSelectionCursor[gActiveBattler]], 1, 2); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2A2, 0x19, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); } @@ -1816,18 +1816,18 @@ extern const u8 gTypeNames[][7]; void sub_802E2D4(void) { - if (gBattleBufferA[gActiveBank][2] == 1) + if (gBattleBufferA[gActiveBattler][2] == 1) { Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_ForgetMove, 0x290, 0x13, 0x37); } else { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; u8 *str = gDisplayedStringBattle; str = StringCopy(str, BattleText_Format); - StringCopy(str, gTypeNames[gBattleMoves[r4->moves[gMoveSelectionCursor[gActiveBank]]].type]); + StringCopy(str, gTypeNames[gBattleMoves[r4->moves[gMoveSelectionCursor[gActiveBattler]]].type]); Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x39, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2C0, 0x17, 0x39); } @@ -1886,13 +1886,13 @@ void sub_802E424(void) void sub_802E434(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) PlayerBufferExecCompleted(); } void sub_802E460(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) PlayerBufferExecCompleted(); } @@ -1913,13 +1913,13 @@ void PlayerHandleGetAttributes(void) u8 r4; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlePartyID[gActiveBank], unkData); + offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlerPartyIndexes[gActiveBattler], unkData); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -1942,7 +1942,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -2004,7 +2004,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -2019,7 +2019,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -2238,11 +2238,11 @@ void PlayerHandlecmd1(void) struct BattlePokemon battleMon; u8 i; // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. - u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *src = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 *dst; - MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); - Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); + MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); + Emitcmd29(1, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2251,13 +2251,13 @@ void PlayerHandleSetAttributes(void) u8 r4; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - dp01_setattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBank]); + dp01_setattr_by_ch1_for_player_pokemon(gBattlerPartyIndexes[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -2271,11 +2271,11 @@ void PlayerHandleSetAttributes(void) // Duplicate of sub_811EC68 void dp01_setattr_by_ch1_for_player_pokemon(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -2316,10 +2316,10 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) } break; case 1: - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -2333,157 +2333,157 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) case 5: case 6: case 7: - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } void PlayerHandlecmd3(void) @@ -2491,27 +2491,27 @@ void PlayerHandlecmd3(void) u8 i; u8 *dst; - MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], - gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], + gBattleBufferA[gActiveBattler][2], i, dst); PlayerBufferExecCompleted(); } void PlayerHandleLoadPokeSprite(void) { - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gBattleBankFunc[gActiveBank] = bx_0802E404; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gBattleBankFunc[gActiveBattler] = bx_0802E404; } void PlayerHandleSendOutPoke(void) { - sub_8032AA8(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; - sub_802F934(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_802D798; + sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; + sub_802F934(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_802D798; } void sub_802F934(u8 bank, u8 b) @@ -2519,13 +2519,13 @@ void sub_802F934(u8 bank, u8 b) u16 species; sub_8032AA8(bank, b); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank)); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(bank, 2), + GetBattlerSpriteCoord(bank, 2), sub_8077F68(bank), sub_8079E90(bank)); gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; @@ -2540,35 +2540,35 @@ void sub_802F934(u8 bank, u8 b) void PlayerHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_802FB2C; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_802FB2C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); PlayerBufferExecCompleted(); } } void sub_802FB2C(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 1); - gBattleBankFunc[gActiveBank] = sub_802DEAC; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); + gBattleBankFunc[gActiveBattler] = sub_802DEAC; } } } @@ -2579,7 +2579,7 @@ void PlayerHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) & 2) + if (GetBattlerPosition(gActiveBattler) & 2) r7 = 16; else r7 = -16; @@ -2588,67 +2588,67 @@ void PlayerHandleTrainerThrow(void) { r7 = 0; } - LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, r7 + 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_802D204; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_802D204; } void PlayerHandleTrainerSlide(void) { - LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_802D23C; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_802D23C; } void PlayerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); - gBattleBankFunc[gActiveBank] = sub_802D274; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); + gBattleBankFunc[gActiveBattler] = sub_802D274; } void PlayerHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } else { - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { - ewram17810[gActiveBank].unk4 = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + ewram17810[gActiveBattler].unk4 = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80105EC; - gBattleBankFunc[gActiveBank] = sub_802DE10; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80105EC; + gBattleBankFunc[gActiveBattler] = sub_802DE10; } } } @@ -2663,23 +2663,23 @@ void PlayerHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 3); - gBattleBankFunc[gActiveBank] = bx_wait_t1; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3); + gBattleBankFunc[gActiveBattler] = bx_wait_t1; } void PlayerHandleBallThrow(void) { - u8 var = gBattleBufferA[gActiveBank][1]; + u8 var = gBattleBufferA[gActiveBattler][1]; ewram17840.unk8 = var; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 3); - gBattleBankFunc[gActiveBank] = bx_wait_t1; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3); + gBattleBankFunc[gActiveBattler] = bx_wait_t1; } void PlayerHandlePuase(void) { - u8 var = gBattleBufferA[gActiveBank][1]; + u8 var = gBattleBufferA[gActiveBattler][1]; // WTF is this?? while (var != 0) @@ -2690,17 +2690,17 @@ void PlayerHandlePuase(void) void PlayerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 r0 = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 r0 = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (sub_8031720(r0, gAnimMoveTurn) != 0) { // Dead code. sub_8031720 always returns 0. @@ -2708,33 +2708,33 @@ void PlayerHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8030190; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8030190; } } } void sub_8030190(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite == 1 && ewram17800[gActiveBank].unk0_3 == 0) + if (ewram17800[gActiveBattler].substituteSprite == 1 && ewram17800[gActiveBattler].unk0_3 == 0) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -2742,20 +2742,20 @@ void sub_8030190(void) if (!gAnimScriptActive) { sub_80326EC(1); - if (ewram17800[gActiveBank].substituteSprite == 1 && r7 < 2) + if (ewram17800[gActiveBattler].substituteSprite == 1 && r7 < 2) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_8031F24(); - sub_80324BC(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + sub_80324BC(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; PlayerBufferExecCompleted(); } break; @@ -2766,14 +2766,14 @@ void PlayerHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15); - gBattleBankFunc[gActiveBank] = sub_802DF18; + gBattleBankFunc[gActiveBattler] = sub_802DF18; } void PlayerHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) PlayerHandlePrintString(); else PlayerBufferExecCompleted(); @@ -2788,7 +2788,7 @@ void PlayerHandlecmd18(void) Text_FillWindowRect(&gUnknown_03004210, 10, 2, 15, 27, 18); Text_FillWindowRect(&gUnknown_03004210, 10, 2, 35, 16, 38); - gBattleBankFunc[gActiveBank] = sub_802C098; + gBattleBankFunc[gActiveBattler] = sub_802C098; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -2797,7 +2797,7 @@ void PlayerHandlecmd18(void) for (r4 = 0; r4 < 4; r4++) nullsub_8(r4); - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); StrCpyDecodeToDisplayedStringBattle(BattleText_OtherMenu); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35); @@ -2812,7 +2812,7 @@ void PlayerHandlecmd20(void) { MenuCursor_Create814A5C0(0, 0xFFFF, 12, 0x2D9F, 0); sub_80304A8(); - gBattleBankFunc[gActiveBank] = sub_802C68C; + gBattleBankFunc[gActiveBattler] = sub_802C68C; } void sub_80304A8(void) @@ -2821,8 +2821,8 @@ void sub_80304A8(void) gBattle_BG0_Y = 320; sub_802E1B0(); gUnknown_03004344 = 0xFF; - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); - if (gBattleBufferA[gActiveBank][2] != 1) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); + if (gBattleBufferA[gActiveBattler][2] != 1) { Text_InitWindow(&gUnknown_03004210, BattleText_PP, 656, 23, 55); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -2836,26 +2836,26 @@ void PlayerHandleOpenBag(void) s32 i; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_802E004; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_802E004; + gBankInMenu = gActiveBattler; for (i = 0; i < 3; i++) - gUnknown_02038470[i] = gBattleBufferA[gActiveBank][1 + i]; + gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][1 + i]; } void PlayerHandlecmd22(void) { s32 i; - gUnknown_0300434C[gActiveBank] = CreateTask(TaskDummy, 0xFF); - gTasks[gUnknown_0300434C[gActiveBank]].data[0] = gBattleBufferA[gActiveBank][1] & 0xF; - ewram16054 = gBattleBufferA[gActiveBank][1] >> 4; - EWRAM_1609D = gBattleBufferA[gActiveBank][2]; - ewram160C0 = gBattleBufferA[gActiveBank][3]; + gUnknown_0300434C[gActiveBattler] = CreateTask(TaskDummy, 0xFF); + gTasks[gUnknown_0300434C[gActiveBattler]].data[0] = gBattleBufferA[gActiveBattler][1] & 0xF; + ewram16054 = gBattleBufferA[gActiveBattler][1] >> 4; + EWRAM_1609D = gBattleBufferA[gActiveBattler][2]; + ewram160C0 = gBattleBufferA[gActiveBattler][3]; for (i = 0; i < 3; i++) - gUnknown_02038470[i] = gBattleBufferA[gActiveBank][4 + i]; + gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][4 + i]; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_802DF30; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_802DF30; + gBankInMenu = gActiveBattler; } void PlayerHandlecmd23(void) @@ -2870,27 +2870,27 @@ void PlayerHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, curHP, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); - sub_80440EC(gHealthboxIDs[gActiveBank], 0, 0); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); + sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); } - gBattleBankFunc[gActiveBank] = bx_t1_healthbar_update; + gBattleBankFunc[gActiveBattler] = bx_t1_healthbar_update; } void PlayerHandleExpBarUpdate(void) { - u8 r7 = gBattleBufferA[gActiveBank][1]; + u8 r7 = gBattleBufferA[gActiveBattler][1]; if (GetMonData(&gPlayerParty[r7], MON_DATA_LEVEL) >= 100) { @@ -2903,41 +2903,41 @@ void PlayerHandleExpBarUpdate(void) load_gfxc_health_bar(1); GetMonData(&gPlayerParty[r7], MON_DATA_SPECIES); // unused return value - r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); taskId = CreateTask(sub_802D924, 10); gTasks[taskId].data[0] = r7; gTasks[taskId].data[1] = r4; - gTasks[taskId].data[2] = gActiveBank; - gBattleBankFunc[gActiveBank] = nullsub_91; + gTasks[taskId].data[2] = gActiveBattler; + gBattleBankFunc[gActiveBattler] = nullsub_91; } } void PlayerHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_802E434; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_802E434; } } void PlayerHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_802E434; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_802E434; } } void PlayerHandleStatusXor(void) { - u8 val = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBank][1]; + u8 val = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBattler][1]; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_STATUS, &val); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS, &val); PlayerBufferExecCompleted(); } @@ -2948,19 +2948,19 @@ void PlayerHandlecmd29(void) void PlayerHandleDMATransfer(void) { - u32 val1 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8) - | (gBattleBufferA[gActiveBank][3] << 16) - | (gBattleBufferA[gActiveBank][4] << 24); - u16 val2 = gBattleBufferA[gActiveBank][5] | (gBattleBufferA[gActiveBank][6] << 8); + u32 val1 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8) + | (gBattleBufferA[gActiveBattler][3] << 16) + | (gBattleBufferA[gActiveBattler][4] << 24); + u16 val2 = gBattleBufferA[gActiveBattler][5] | (gBattleBufferA[gActiveBattler][6] << 8); - Dma3CopyLarge16_(&gBattleBufferA[gActiveBank][7], (u8 *)val1, val2); + Dma3CopyLarge16_(&gBattleBufferA[gActiveBattler][7], (u8 *)val1, val2); PlayerBufferExecCompleted(); } void PlayerHandlecmd31(void) { - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); PlayerBufferExecCompleted(); } @@ -3001,7 +3001,7 @@ void PlayerHandlecmd37(void) void PlayerHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; PlayerBufferExecCompleted(); } @@ -3019,16 +3019,16 @@ void PlayerHandlecmd40(void) void PlayerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { PlayerBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t1; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t1; } } @@ -3041,23 +3041,23 @@ void PlayerHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); PlayerBufferExecCompleted(); } void PlayerHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); PlayerBufferExecCompleted(); } void PlayerHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, -25, 5); PlayerBufferExecCompleted(); @@ -3065,7 +3065,7 @@ void PlayerHandleFaintingCry(void) void PlayerHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; PlayerBufferExecCompleted(); } @@ -3075,23 +3075,23 @@ void PlayerHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2.playerGender].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(task05_08033660, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17810[4].unk9 |= 1; - gBattleBankFunc[gActiveBank] = nullsub_91; + gBattleBankFunc[gActiveBattler] = nullsub_91; } void sub_8030E38(struct Sprite *sprite) @@ -3101,7 +3101,7 @@ void sub_8030E38(struct Sprite *sprite) FreeSpriteOamMatrix(sprite); FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum)); DestroySprite(sprite); - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[r4]], r4); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[r4]], r4); StartSpriteAnim(&gSprites[gBankSpriteIds[r4]], 0); } @@ -3113,104 +3113,104 @@ void task05_08033660(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & 0x40)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_802F934(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_802F934(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_802F934(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_802F934(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_802F934(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_802F934(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_802D500; - gActiveBank = savedActiveBank; + gBattleBankFunc[gActiveBattler] = sub_802D500; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } void PlayerHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { PlayerBufferExecCompleted(); } else { - ewram17810[gActiveBank].unk0_0 = 1; - gUnknown_02024E68[gActiveBank] = sub_8044804(gActiveBank, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_8031064; + ewram17810[gActiveBattler].unk0_0 = 1; + gUnknown_02024E68[gActiveBattler] = sub_8044804(gActiveBattler, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_8031064; } } void sub_8031064(void) { - if (ewram17810[gActiveBank].unk5++ > 0x5C) + if (ewram17810[gActiveBattler].unk5++ > 0x5C) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; PlayerBufferExecCompleted(); } } void PlayerHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; PlayerBufferExecCompleted(); } void PlayerHandlecmd50(void) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); PlayerBufferExecCompleted(); } void PlayerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBankSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } PlayerBufferExecCompleted(); } void PlayerHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 val2 = gBattleBufferA[gActiveBank][1]; - u16 val = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 val2 = gBattleBufferA[gActiveBattler][1]; + u16 val = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, val2, val)) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, val2, val)) PlayerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_802E460; + gBattleBankFunc[gActiveBattler] = sub_802E460; } } void PlayerHandleLinkStandbyMsg(void) { - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: b_link_standby_message(); // fall through case 1: - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); break; case 2: b_link_standby_message(); @@ -3221,17 +3221,17 @@ void PlayerHandleLinkStandbyMsg(void) void PlayerHandleResetActionMoveSelection(void) { - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; break; case 1: - gActionSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; break; case 2: - gMoveSelectionCursor[gActiveBank] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; break; } PlayerBufferExecCompleted(); @@ -3239,11 +3239,11 @@ void PlayerHandleResetActionMoveSelection(void) void PlayerHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_802D18C; + gBattleBankFunc[gActiveBattler] = sub_802D18C; } void PlayerHandlecmd56(void) diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 03cf8759d..53c4d71d7 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -20,7 +20,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gActionSelectionCursor[]; extern const u8 BattleText_PlayerMenu[]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern const u8 BattleText_MenuOptionsSafari[]; extern void *gBattleBankFunc[]; @@ -36,13 +36,13 @@ extern u16 gSpecialVar_ItemId; extern MainCallback gPreBattleCallback1; extern u8 gBankInMenu; extern u8 gHealthboxIDs[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u16 gUnknown_02024DE8; extern u8 gBattleOutcome; -extern u8 GetBankSide(u8); -extern u8 GetBankByIdentity(u8); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerSide(u8); +extern u8 GetBattlerAtPosition(u8); +extern u8 GetBattlerPosition(u8); extern void LoadPlayerTrainerBankSprite(); extern u8 sub_8079E90(); extern void sub_80313A0(struct Sprite *); @@ -194,15 +194,15 @@ void unref_sub_812B464(void) void SetBankFuncToSafariBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = SafariBufferRunCommand; + gBattleBankFunc[gActiveBattler] = SafariBufferRunCommand; } void SafariBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < 0x39) - gSafariBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < 0x39) + gSafariBufferCommands[gBattleBufferA[gActiveBattler][0]](); else SafariBufferExecCompleted(); } @@ -216,7 +216,7 @@ void bx_battle_menu_t6_2(void) DestroyMenuCursor(); // Useless switch statement. - switch (gActionSelectionCursor[gActiveBank]) + switch (gActionSelectionCursor[gActiveBattler]) { case 0: Emitcmd33(1, 5, 0); @@ -235,49 +235,49 @@ void bx_battle_menu_t6_2(void) } else if (gMain.newKeys & DPAD_LEFT) { - if (gActionSelectionCursor[gActiveBank] & 1) + if (gActionSelectionCursor[gActiveBattler] & 1) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gActionSelectionCursor[gActiveBank] & 1)) + if (!(gActionSelectionCursor[gActiveBattler] & 1)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_UP) { - if (gActionSelectionCursor[gActiveBank] & 2) + if (gActionSelectionCursor[gActiveBattler] & 2) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gActionSelectionCursor[gActiveBank] & 2)) + if (!(gActionSelectionCursor[gActiveBattler] & 2)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } #if DEBUG else if (gMain.newKeys & R_BUTTON) { - if (!ewram17810[gActiveBank].unk0_5) - move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, 4, 0); + if (!ewram17810[gActiveBattler].unk0_5) + move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, 4, 0); } else if (gMain.newKeys & START_BUTTON) { @@ -288,7 +288,7 @@ void bx_battle_menu_t6_2(void) void sub_812B65C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); } @@ -310,7 +310,7 @@ void sub_812B6AC(void) void bx_wait_t6(void) { - if (!gDoingBattleAnim || !ewram17810[gActiveBank].unk0_6) + if (!gDoingBattleAnim || !ewram17810[gActiveBattler].unk0_6) SafariBufferExecCompleted(); } @@ -318,7 +318,7 @@ void sub_812B724(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = sub_812B758; + gBattleBankFunc[gActiveBattler] = sub_812B758; sub_810BADC(); } } @@ -334,29 +334,29 @@ void sub_812B758(void) void sub_812B794(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) SafariBufferExecCompleted(); } void SafariBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = SafariBufferRunCommand; + gBattleBankFunc[gActiveBattler] = SafariBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void unref_sub_812B838(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) SafariBufferExecCompleted(); } @@ -397,18 +397,18 @@ void SafariHandleReturnPokeToBall(void) void SafariHandleTrainerThrow(void) { - LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_812B65C; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_812B65C; } void SafariHandleTrainerSlide(void) @@ -435,18 +435,18 @@ void SafariHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t6; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t6; } void SafariHandleBallThrow(void) { - u8 var = gBattleBufferA[gActiveBank][1]; + u8 var = gBattleBufferA[gActiveBattler][1]; ewram17840.unk8 = var; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t6; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t6; } // TODO: spell Pause correctly @@ -464,14 +464,14 @@ void SafariHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_812B694; + gBattleBankFunc[gActiveBattler] = sub_812B694; } void SafariHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) SafariHandlePrintString(); else SafariBufferExecCompleted(); @@ -486,7 +486,7 @@ void SafariHandlecmd18(void) gUnknown_03004210.paletteNum = 0; Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 15, 27, 18); Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 35, 16, 36); - gBattleBankFunc[gActiveBank] = bx_battle_menu_t6_2; + gBattleBankFunc[gActiveBattler] = bx_battle_menu_t6_2; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptionsSafari, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -495,7 +495,7 @@ void SafariHandlecmd18(void) for (i = 0; i < 4; i++) nullsub_8(i); - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); StrCpyDecodeToDisplayedStringBattle(BattleText_PlayerMenu); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); @@ -515,8 +515,8 @@ void SafariHandlecmd20(void) void SafariHandleOpenBag(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_812B724; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_812B724; + gBankInMenu = gActiveBattler; } void SafariHandlecmd22(void) @@ -541,7 +541,7 @@ void SafariHandleExpBarUpdate(void) void SafariHandleStatusIconUpdate(void) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 11); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 11); SafariBufferExecCompleted(); } @@ -629,23 +629,23 @@ void SafariHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); SafariBufferExecCompleted(); } void SafariHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); SafariBufferExecCompleted(); } void SafariHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry1(species, 25); SafariBufferExecCompleted(); @@ -653,16 +653,16 @@ void SafariHandleFaintingCry(void) void SafariHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; SafariBufferExecCompleted(); } void SafariHandleTrainerBallThrow(void) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 10); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 10); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); SafariBufferExecCompleted(); } @@ -688,13 +688,13 @@ void SafariHandleSpriteInvisibility(void) void SafariHandleBattleAnimation(void) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) SafariBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_812B794; + gBattleBankFunc[gActiveBattler] = sub_812B794; } void SafariHandleLinkStandbyMsg(void) @@ -709,12 +709,12 @@ void SafariHandleResetActionMoveSelection(void) void SafariHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); SafariBufferExecCompleted(); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) - gBattleBankFunc[gActiveBank] = sub_812B6AC; + gBattleBankFunc[gActiveBattler] = sub_812B6AC; } void SafariHandlecmd56(void) diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index c590b487c..26348b434 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -27,14 +27,14 @@ struct MovePpInfo u8 ppBonuses; }; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern void (*gBattleBankFunc[])(void); extern u32 gBattleExecBuffer; extern u8 gBattleBufferA[][0x200]; extern u8 gBankSpriteIds[]; extern MainCallback gPreBattleCallback1; extern bool8 gDoingBattleAnim; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; extern u16 gAnimMovePower; @@ -73,16 +73,16 @@ extern bool8 IsDoubleBattle(void); extern void c3_0802FDF4(u8); extern void PlayerHandlecmd1(void); extern void LoadPlayerTrainerBankSprite(); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void sub_80313A0(struct Sprite *); -extern u8 GetBankByIdentity(u8); +extern u8 GetBattlerAtPosition(u8); extern u8 sub_8031720(); extern void DoMoveAnim(); extern void sub_80326EC(); extern void sub_8031F24(void); extern void sub_80324BC(); extern void BufferStringBattle(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void sub_80304A8(void); extern void sub_8047858(); extern void StartBattleIntroAnim(); @@ -91,7 +91,7 @@ extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void sub_8030E38(struct Sprite *); extern void StoreSpriteCallbackInData(); extern u8 sub_8046400(); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8079E90(); extern void sub_80312F0(struct Sprite *); @@ -238,7 +238,7 @@ void unref_sub_8137220(void) void SetBankFuncToWallyBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = WallyBufferRunCommand; + gBattleBankFunc[gActiveBattler] = WallyBufferRunCommand; ewram160A8 = 0; ewram160A9 = 0; ewram160AA = 0; @@ -247,10 +247,10 @@ void SetBankFuncToWallyBufferRunCommand(void) void WallyBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < 0x39) - gWallyBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < 0x39) + gWallyBufferCommands[gBattleBufferA[gActiveBattler][0]](); else WallyBufferExecCompleted(); } @@ -325,7 +325,7 @@ void sub_81372BC(void) void sub_813741C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } @@ -355,7 +355,7 @@ void sub_81374C4(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = sub_81374FC; + gBattleBankFunc[gActiveBattler] = sub_81374FC; nullsub_14(); PrepareBagForWallyTutorial(); } @@ -373,27 +373,27 @@ void sub_81374FC(void) void sub_8137538(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBank ^ 2], &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_81376B8; + gBattleBankFunc[gActiveBattler] = sub_81376B8; } } @@ -401,18 +401,18 @@ void sub_81376B8(void) { bool8 r4 = FALSE; - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r4 = TRUE; - if (r4 && ewram17810[gActiveBank].unk1_0 && ewram17810[gActiveBank ^ 2].unk1_0) + if (r4 && ewram17810[gActiveBattler].unk1_0 && ewram17810[gActiveBattler ^ 2].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } } @@ -421,22 +421,22 @@ void sub_81377B0(void) { s16 r4; - r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } } void bx_blink_t5(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -455,11 +455,11 @@ void bx_blink_t5(void) void sub_813789C(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); WallyBufferExecCompleted(); } } @@ -467,35 +467,35 @@ void sub_813789C(void) // Duplicate of sub_813741C void sub_8137908(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } void sub_8137940(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) WallyBufferExecCompleted(); } void WallyBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = WallyBufferRunCommand; + gBattleBankFunc[gActiveBattler] = WallyBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 multiplayerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &multiplayerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void unref_sub_81379E4(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) WallyBufferExecCompleted(); } @@ -506,13 +506,13 @@ void WallyHandleGetAttributes(void) u8 r4; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = sub_8137A84(gBattlePartyID[gActiveBank], arr); + r6 = sub_8137A84(gBattlerPartyIndexes[gActiveBattler], arr); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -534,7 +534,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -596,7 +596,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -611,7 +611,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -835,13 +835,13 @@ void WallyHandleSetAttributes(void) u8 r4; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8138294(gBattlePartyID[gActiveBank]); + sub_8138294(gBattlerPartyIndexes[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -854,11 +854,11 @@ void WallyHandleSetAttributes(void) void sub_8138294(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -899,10 +899,10 @@ void sub_8138294(u8 a) } break; case 1: - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -916,157 +916,157 @@ void sub_8138294(u8 a) case 5: case 6: case 7: - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } void WallyHandlecmd3(void) @@ -1086,48 +1086,48 @@ void WallyHandleSendOutPoke(void) void WallyHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 1); - gBattleBankFunc[gActiveBank] = sub_813789C; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); + gBattleBankFunc[gActiveBattler] = sub_813789C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); WallyBufferExecCompleted(); } } void WallyHandleTrainerThrow(void) { - LoadPlayerTrainerBankSprite(2, gActiveBank); - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(2, gActiveBattler); + GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_813741C; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_813741C; } void WallyHandleTrainerSlide(void) { - LoadPlayerTrainerBankSprite(2, gActiveBank); - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(2, gActiveBattler); + GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_8137908; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_8137908; } void WallyHandleTrainerSlideBack(void) @@ -1149,18 +1149,18 @@ void WallyHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = TRUE; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t5; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t5; } void WallyHandleBallThrow(void) { - u8 val = gBattleBufferA[gActiveBank][1]; + u8 val = gBattleBufferA[gActiveBattler][1]; ewram17840.unk8 = val; gDoingBattleAnim = TRUE; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t5; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t5; } void WallyHandlePuase(void) @@ -1170,15 +1170,15 @@ void WallyHandlePuase(void) void WallyHandleMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (sub_8031720(move, gAnimMoveTurn) != 0) { // Dead code. sub_8031720 always returns 0. @@ -1186,32 +1186,32 @@ void WallyHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_81390D0; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_81390D0; } } void sub_81390D0(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 r4 = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); #ifndef NONMATCHING asm("":::"r6"); #endif - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite == 1) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite == 1) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1219,17 +1219,17 @@ void sub_81390D0(void) if (!gAnimScriptActive) { sub_80326EC(1); - if (ewram17800[gActiveBank].substituteSprite == 1) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17810[gActiveBank].unk4 = 3; + if (ewram17800[gActiveBattler].substituteSprite == 1) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_8031F24(); - sub_80324BC(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + sub_80324BC(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; WallyBufferExecCompleted(); } break; @@ -1242,17 +1242,17 @@ void WallyHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - ptr = (u16 *)&gBattleBufferA[gActiveBank][2]; + ptr = (u16 *)&gBattleBufferA[gActiveBattler][2]; if (*ptr == 2) DestroyMenuCursor(); BufferStringBattle(*ptr); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15); - gBattleBankFunc[gActiveBank] = sub_8137454; + gBattleBankFunc[gActiveBattler] = sub_8137454; } void WallyHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) WallyHandlePrintString(); else WallyBufferExecCompleted(); @@ -1267,7 +1267,7 @@ void WallyHandlecmd18(void) gUnknown_03004210.paletteNum = 0; Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 15, 27, 18); Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 35, 16, 36); - gBattleBankFunc[gActiveBank] = sub_81372BC; + gBattleBankFunc[gActiveBattler] = sub_81372BC; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); MenuCursor_Create814A5C0(0, 0xFFFF, 12, 0x2D9F, 0); @@ -1313,8 +1313,8 @@ void WallyHandlecmd20(void) void WallyHandleOpenBag(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_81374C4; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_81374C4; + gBankInMenu = gActiveBattler; } void WallyHandlecmd22(void) @@ -1332,22 +1332,22 @@ void WallyHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, curHP, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); - sub_80440EC(gHealthboxIDs[gActiveBank], 0, 0); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); + sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); } - gBattleBankFunc[gActiveBank] = sub_81377B0; + gBattleBankFunc[gActiveBattler] = sub_81377B0; } void WallyHandleExpBarUpdate(void) @@ -1432,16 +1432,16 @@ void WallyHandlecmd40(void) void WallyHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { WallyBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t5; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t5; } } @@ -1452,25 +1452,25 @@ void WallyHandlecmd42(void) void WallyHandleEffectivenessSound(void) { - PlaySE(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlaySE(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); WallyBufferExecCompleted(); } void WallyHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); WallyBufferExecCompleted(); } void WallyHandleFaintingCry(void) { - PlayCry1(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), 25); + PlayCry1(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25); WallyBufferExecCompleted(); } void WallyHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; WallyBufferExecCompleted(); } @@ -1480,23 +1480,23 @@ void WallyHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[2].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_8139A2C, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17810[4].unk9 |= 1; - gBattleBankFunc[gActiveBank] = nullsub_91; + gBattleBankFunc[gActiveBattler] = nullsub_91; } void sub_81398BC(u8 bank) @@ -1504,13 +1504,13 @@ void sub_81398BC(u8 bank) u16 species; ewram17800[bank].transformedSpecies = 0; - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank)); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(bank, 2), + GetBattlerSpriteCoord(bank, 2), sub_8077F68(bank), sub_8079E90(bank)); gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; @@ -1531,27 +1531,27 @@ void sub_8139A2C(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_81398BC(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8137538; - gActiveBank = savedActiveBank; + gActiveBattler = gTasks[taskId].data[0]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_81398BC(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_8137538; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } void WallyHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { WallyBufferExecCompleted(); } else { - ewram17810[gActiveBank].unk0_0 = 1; - gUnknown_02024E68[gActiveBank] = sub_8044804(gActiveBank, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); + ewram17810[gActiveBattler].unk0_0 = 1; + gUnknown_02024E68[gActiveBattler] = sub_8044804(gActiveBattler, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); WallyBufferExecCompleted(); } } @@ -1573,13 +1573,13 @@ void WallyHandleSpriteInvisibility(void) void WallyHandleBattleAnimation(void) { - u8 val2 = gBattleBufferA[gActiveBank][1]; - u16 val = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 val2 = gBattleBufferA[gActiveBattler][1]; + u16 val = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, val2, val)) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, val2, val)) WallyBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_8137940; + gBattleBankFunc[gActiveBattler] = sub_8137940; } void WallyHandleLinkStandbyMsg(void) @@ -1594,12 +1594,12 @@ void WallyHandleResetActionMoveSelection(void) void WallyHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); WallyBufferExecCompleted(); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) - gBattleBankFunc[gActiveBank] = sub_813746C; + gBattleBankFunc[gActiveBattler] = sub_813746C; } void WallyHandlecmd56(void) diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 4022f07ce..bd954ae8d 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -423,8 +423,8 @@ u8 *const gUnknown_0820A904[10] = }; extern u8 gDisplayedStringBattle[]; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u8 gHealthboxIDs[]; @@ -783,7 +783,7 @@ u8 battle_make_oam_normal_battle(u8 a) if (!IsDoubleBattle()) { - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[0], 240, 160, 1); spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[0], 240, 160, 1); @@ -809,10 +809,10 @@ u8 battle_make_oam_normal_battle(u8 a) //_08043A28 else { - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { - spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data[5] = spriteId1; @@ -823,8 +823,8 @@ u8 battle_make_oam_normal_battle(u8 a) //_08043ACC else { - spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[GetBattlerPosition(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[GetBattlerPosition(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data[5] = spriteId1; @@ -838,7 +838,7 @@ u8 battle_make_oam_normal_battle(u8 a) spriteId3 = CreateSpriteAtEnd(&gSpriteTemplates_820A56C[gBanksBySide[a]], 140, 60, 0); sprite = &gSprites[spriteId3]; - SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); + SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBattlerSide(a)]); sprite->subspriteMode = 2; sprite->oam.priority = 1; CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); @@ -951,7 +951,7 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { u8 spriteId1; u8 spriteId2; @@ -973,7 +973,7 @@ void sub_8043F44(u8 a) if (!IsDoubleBattle()) { - if (GetBankSide(a) != 0) + if (GetBattlerSide(a) != 0) { x = 44; y = 30; @@ -986,7 +986,7 @@ void sub_8043F44(u8 a) } else { - switch (GetBankIdentity(a)) + switch (GetBattlerPosition(a)) { case 0: x = 159; @@ -1027,14 +1027,14 @@ void sub_8043F44(u8 a) memcpy(str, gUnknown_0820A81C, sizeof(str)); if (!IsDoubleBattle()) { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r7 = gUnknown_0820A804; else r7 = gUnknown_0820A80C; } else { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r7 = gUnknown_0820A814; else r7 = gUnknown_0820A80C; @@ -1084,7 +1084,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) memcpy(str, gUnknown_0820A864, sizeof(str)); foo = gSprites[a].data[6]; - if (IsDoubleBattle() == TRUE || GetBankSide(foo) == 1) + if (IsDoubleBattle() == TRUE || GetBattlerSide(foo) == 1) { //_08044136 sub_8044210(a, b, c); @@ -1094,7 +1094,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) ptr = str + 6; if (c == 0) { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r4 = gUnknown_0820A83C; else r4 = gUnknown_0820A848; @@ -1106,7 +1106,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) } else { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r4 = gUnknown_0820A854; else r4 = gUnknown_0820A85C; @@ -1156,7 +1156,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) beq _08044136\n\ lsls r0, r5, 24\n\ lsrs r0, 24\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -1180,7 +1180,7 @@ _0804414C:\n\ ldrh r0, [r4, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ ldr r4, _08044188 @ =gUnknown_0820A848\n\ cmp r0, 0\n\ @@ -1208,7 +1208,7 @@ _08044190:\n\ ldrh r0, [r4, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ ldr r4, _080441FC @ =gUnknown_0820A85C\n\ cmp r0, 0\n\ @@ -1297,7 +1297,7 @@ _0804420C: .4byte 0x04000008\n\ r7 = gUnknown_0820A894; r10 = 2; sub_8003504(ptr, b, 0xF, 1); - if (GetBankSide(r4) == 0) + if (GetBattlerSide(r4) == 0) { CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); } @@ -1323,7 +1323,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) // TODO: make this a local variable memcpy(str, gUnknown_0820A864, sizeof(str)); - r6 = ewram520[GetBankIdentity(gSprites[a].data[6])].filler0; + r6 = ewram520[GetBattlerPosition(gSprites[a].data[6])].filler0; r8 = 5; nature = GetNature(pkmn); StringCopy(str + 6, gNatureNames[nature]); @@ -1407,7 +1407,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) ldrh r0, [r0, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ lsls r1, r0, 1\n\ @@ -1648,21 +1648,21 @@ void sub_804454C(void) s32 i; u8 spriteId; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gSprites[gHealthboxIDs[i]].callback == SpriteCallbackDummy #if DEBUG - && (gUnknown_020297ED != 0 || GetBankSide(i) != 1) + && (gUnknown_020297ED != 0 || GetBattlerSide(i) != 1) #else - && GetBankSide(i) != 1 + && GetBattlerSide(i) != 1 #endif - && (IsDoubleBattle() || GetBankSide(i) != 0)) + && (IsDoubleBattle() || GetBattlerSide(i) != 0)) { u8 r6; ewram17800[i].unk0_4 ^= 1; r6 = ewram17800[i].unk0_4; - if (GetBankSide(i) == 0) + if (GetBattlerSide(i) == 0) { if (!IsDoubleBattle()) @@ -1675,13 +1675,13 @@ void sub_804454C(void) spriteId = gSprites[gHealthboxIDs[i]].data[5]; CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0); - sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); + sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1); } else { draw_status_ailment_maybe(gHealthboxIDs[i]); - sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5); + sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlerPartyIndexes[i]], 5); CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); } } @@ -1691,23 +1691,23 @@ void sub_804454C(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]]); + sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]]); } else { spriteId = gSprites[gHealthboxIDs[i]].data[5]; CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0); - sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); + sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1); } } else { draw_status_ailment_maybe(gHealthboxIDs[i]); - sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 5); + sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 5); if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 4); + sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 4); } } gSprites[gHealthboxIDs[i]].data[7] ^= 1; @@ -1731,9 +1731,9 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) u8 sp18; u8 taskId; - if (c == 0 || GetBankIdentity(a) != 3) + if (c == 0 || GetBattlerPosition(a) != 3) { - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { r7 = 0; x = 136; @@ -1826,7 +1826,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) gSprites[sp[i]].data[2] = r7; } //_08044A76 - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { for (i = 0; i < 6; i++) //_08044A9A { @@ -1947,14 +1947,14 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) str r3, [sp, 0x10]\n\ cmp r4, 0\n\ beq _08044834\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x3\n\ beq _08044878\n\ _08044834:\n\ ldr r0, [sp, 0x8]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08044854\n\ @@ -2236,7 +2236,7 @@ _08044A56:\n\ b _08044970\n\ _08044A76:\n\ ldr r0, [sp, 0x8]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08044B5E\n\ @@ -2542,7 +2542,7 @@ void sub_8044CA0(u8 taskId) { for (i = 0; i < 6; i++) { - if (GetBankSide(sp8) != 0) + if (GetBattlerSide(sp8) != 0) { gSprites[sp[5 - i]].data[1] = 7 * i; gSprites[sp[5 - i]].data[3] = 0; @@ -2779,7 +2779,7 @@ void sub_8045180(struct Sprite *sprite) ptr[1] = 0x13; ptr[2] = 0x37; ptr[3] = EOS; - ptr = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180; + ptr = ewram520_2 + GetBattlerPosition(gSprites[a].data[6]) * 0x180; sub_80034D4(ptr, gDisplayedStringBattle); i = 0; @@ -2816,7 +2816,7 @@ void sub_8045180(struct Sprite *sprite) for (; i < _7; i++) CpuCopy32(sub_8043CDC(0x2B), ptr + 64 * i, 32); - if (GetBankSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle()) + if (GetBattlerSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle()) { r1 = (u8 *const *)gUnknown_0820A8B4; for (i = 0; i < _7; i++) @@ -2834,7 +2834,7 @@ void sub_8045180(struct Sprite *sprite) } else { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r1 = (u8 *const *)gUnknown_0820A904; else r1 = (u8 *const *)gUnknown_0820A8DC; @@ -2863,9 +2863,9 @@ static void sub_8045458(u8 a, u8 b) return; r4 = gSprites[a].data[6]; - if (GetBankSide(r4) != 0) + if (GetBattlerSide(r4) != 0) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r4]], MON_DATA_SPECIES); if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) { r4 = gSprites[a].data[5]; @@ -2890,9 +2890,9 @@ static void sub_8045458(u8 a, u8 b) r7 = gSprites[a].data[6]; r10 = gSprites[a].data[5]; - if (GetBankSide(r7) == 0) + if (GetBattlerSide(r7) == 0) { - r4 = GetMonData(&gPlayerParty[gBattlePartyID[r7]], MON_DATA_STATUS); + r4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r7]], MON_DATA_STATUS); if (!IsDoubleBattle()) r8 = 0x1A; else @@ -2900,7 +2900,7 @@ static void sub_8045458(u8 a, u8 b) } else { - r4 = GetMonData(&gEnemyParty[gBattlePartyID[r7]], MON_DATA_STATUS); + r4 = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r7]], MON_DATA_STATUS); r8 = 0x11; } if (r4 & 7) @@ -2948,7 +2948,7 @@ static void sub_8045458(u8 a, u8 b) FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2); CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); - if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE) + if (IsDoubleBattle() == TRUE || GetBattlerSide(r7) == TRUE) { if (!ewram17800[r7].unk0_4) { @@ -3027,7 +3027,7 @@ static u8 sub_80457E8(u8 a, u8 b) s32 r7; u8 *addr; - r6 = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180; + r6 = ewram520_2 + GetBattlerPosition(gSprites[a].data[6]) * 0x180; r8 = 7; sub_80034D4(r6, BattleText_SafariBalls); for (i = 0; i < r8; i++) @@ -3055,7 +3055,7 @@ static u8 sub_80457E8(u8 a, u8 b) r7 = StringCopy(gDisplayedStringBattle, BattleText_SafariBallsLeft); r7 = sub_8003504(r7, gNumSafariBalls, 10, 1); StringAppend(r7, BattleText_HighlightRed); - status = GetBankIdentity(gSprites[a].data[6]); + status = GetBattlerPosition(gSprites[a].data[6]); r7 = ewram520_2 + status * 0x180; r6 = 5; sub_80034D4(r7, gDisplayedStringBattle); @@ -3074,7 +3074,7 @@ void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) u32 currhp; r10 = gSprites[a].data[6]; - if (GetBankSide(r10) == 0) + if (GetBattlerSide(r10) == 0) { if (c == 3 || c == 0) sub_8043FC0(a, GetMonData(pkmn, MON_DATA_LEVEL)); @@ -3202,7 +3202,7 @@ static void sub_8045D58(u8 a, u8 b) break; case 1: sub_804602C(ewram17850[a].unk4, ewram17850[a].unk8, ewram17850[a].unkC, &ewram17850[a].unk10, sp8, 8); - r0 = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_LEVEL); + r0 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_LEVEL); if (r0 == 100) { for (i = 0; i < 8; i++) diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c index ed7ab3a35..f87e1f152 100644 --- a/src/battle/battle_message.c +++ b/src/battle/battle_message.c @@ -155,7 +155,7 @@ extern const u8* const gBattleStringsTable[BATTLESTRINGS_NO]; extern u16 gLastUsedItem; extern u8 gLastUsedAbility; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBankAttacker; extern u8 gBankTarget; extern u8 gStringBank; @@ -172,7 +172,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern struct BattleEnigmaBerry gEnigmaBerries[4]; extern u8 gBattleBufferA[4][0x200]; @@ -197,14 +197,14 @@ void sub_8121D1C(u8* textBuff); void sub_8121D74(u8* textBuff); void StrCpyDecodeBattleTextBuff(u8* src, u8* dst); -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); s32 sub_803FC34(u16); void get_trainer_name(u8* dst); u8 get_trainer_class_name_index(void); u8 GetMultiplayerId(void); -u8 GetBankByIdentity(u8 ID); -u8 GetBankSide(u8 bank); -u8 GetBankIdentity(u8 bank); +u8 GetBattlerAtPosition(u8 ID); +u8 GetBattlerSide(u8 bank); +u8 GetBattlerPosition(u8 bank); #ifdef GERMAN extern u8 *de_sub_804110C(); #endif @@ -214,7 +214,7 @@ void BufferStringBattle(u16 stringID) int i; const u8* stringPtr = NULL; - gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBank][4]); + gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBattler][4]); gLastUsedItem = gStringInfo->lastItem; gLastUsedAbility = gStringInfo->lastAbility; gBattleStruct->scriptingActive = gStringInfo->scrActive; @@ -265,7 +265,7 @@ void BufferStringBattle(u16 stringID) } break; case 1: // poke first send-out - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -305,7 +305,7 @@ void BufferStringBattle(u16 stringID) } break; case 2: // sending poke to ball msg - if (GetBankSide(gActiveBank) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { if (gBattleStruct->hpScale == 0) stringPtr = BattleText_ComeBackSingle1; @@ -335,7 +335,7 @@ void BufferStringBattle(u16 stringID) } break; case 3: // switch-in msg - if (GetBankSide(gBattleStruct->scriptingActive) == 0) + if (GetBattlerSide(gBattleStruct->scriptingActive) == 0) { if (gBattleStruct->hpScale == 0 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE) stringPtr = BattleText_SentOutSingle7; @@ -377,7 +377,7 @@ void BufferStringBattle(u16 stringID) if (gBattleTextBuff1[0] & 0x80) { gBattleTextBuff1[0] &= ~(0x80); - if (GetBankSide(gActiveBank) == 1 && gBattleTextBuff1[0] != 3) + if (GetBattlerSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) gBattleTextBuff1[0] ^= 3; if (gBattleTextBuff1[0] == BATTLE_LOST || gBattleTextBuff1[0] == BATTLE_DREW) stringPtr = BattleText_GotAwaySafely; @@ -391,7 +391,7 @@ void BufferStringBattle(u16 stringID) } else { - if (GetBankSide(gActiveBank) == 1 && gBattleTextBuff1[0] != 3) + if (GetBattlerSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) gBattleTextBuff1[0] ^= 3; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -483,7 +483,7 @@ extern u8 *de_sub_8041024(s32, u32); #ifdef ENGLISH #define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \ - if (GetBankSide(bank) != 0) \ + if (GetBattlerSide(bank) != 0) \ { \ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ toCpy = BattleText_Foe; \ @@ -505,7 +505,7 @@ extern u8 *de_sub_8041024(s32, u32); toCpy = text; #else #define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \ - if (GetBankSide(bank) != 0) \ + if (GetBattlerSide(bank) != 0) \ { \ GetMonData(&gEnemyParty[monIndex], MON_DATA_NICKNAME, text); \ StringGetEnd10(text); \ @@ -575,71 +575,71 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = gBattleTextBuff3; break; case 2: // first player poke name - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(0)]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(0)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 3: // first enemy poke name - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(1)]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(1)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 4: // second player poke name - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(2)]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(2)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 5: // second enemy poke name - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(3)]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(3)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 6: // link first player poke name - GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 7: // link first opponent poke name - GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 8: // link second player poke name - GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 9: // link second opponent poke name - GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 10: // attacker name with prefix, only bank 0/1 - HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1)]) + HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1)]) break; case 11: // attacker partner name, only bank 0/1 - if (GetBankSide(gBankAttacker) == 0) - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); + if (GetBattlerSide(gBankAttacker) == 0) + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); else - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 12: // attacker name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[gBankAttacker]) + HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[gBankAttacker]) break; case 13: // target name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlePartyID[gBankTarget]) + HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlerPartyIndexes[gBankTarget]) break; case 14: // effect bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank]) + HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlerPartyIndexes[gEffectBank]) break; case 15: // active bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gActiveBank, gBattlePartyID[gActiveBank]) + HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) break; case 16: // scripting active bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gBattleStruct->scriptingActive, gBattlePartyID[gBattleStruct->scriptingActive]) + HANDLE_NICKNAME_STRING_CASE(gBattleStruct->scriptingActive, gBattlerPartyIndexes[gBattleStruct->scriptingActive]) break; case 17: // current move name if (gStringInfo->currentMove > 0x162) @@ -771,37 +771,37 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = BattleText_Someone; break; case 38: - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) toCpy = BattleText_Ally2; else toCpy = BattleText_Foe3; break; case 39: - if (GetBankSide(gBankTarget) == 0) + if (GetBattlerSide(gBankTarget) == 0) toCpy = BattleText_Ally2; else toCpy = BattleText_Foe3; break; case 36: - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) toCpy = BattleText_Ally; else toCpy = BattleText_Foe2; break; case 37: - if (GetBankSide(gBankTarget) == 0) + if (GetBattlerSide(gBankTarget) == 0) toCpy = BattleText_Ally; else toCpy = BattleText_Foe2; break; case 40: - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) toCpy = BattleText_Ally3; else toCpy = BattleText_Foe4; break; case 41: - if (GetBankSide(gBankTarget) == 0) + if (GetBattlerSide(gBankTarget) == 0) toCpy = BattleText_Ally3; else toCpy = BattleText_Foe4; @@ -884,7 +884,7 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) break; case 4: // poke nick with prefix #ifdef ENGLISH - if (GetBankSide(src[srcID + 1]) == 0) + if (GetBattlerSide(src[srcID + 1]) == 0) { GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text); } @@ -899,7 +899,7 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) StringGetEnd10(text); StringAppend(dst, text); #else - if (GetBankSide(src[srcID + 1]) == 0) + if (GetBattlerSide(src[srcID + 1]) == 0) { GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); @@ -927,7 +927,7 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) srcID += 3; break; case 7: // poke nick without prefix - if (GetBankSide(src[srcID + 1]) == 0) + if (GetBattlerSide(src[srcID + 1]) == 0) GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, dst); else GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, dst); diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index ed8cf4583..be376a9f1 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -31,8 +31,8 @@ extern void nullsub_14(); extern u8 sub_803FBBC(void); extern u8 gPlayerPartyCount; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankInMenu; extern u8 gUnknown_0202E8F4; extern u8 gUnknown_0202E8F5; @@ -122,7 +122,7 @@ static void sub_8094998(u8 arg[3], u8 player_number) if (!IsDoubleBattle()) { pos = 1; - *temp = gBattlePartyID[GetBankByIdentity(0)]; + *temp = gBattlerPartyIndexes[GetBattlerAtPosition(0)]; for (i = 0; i <= 5; i++) if (i != *temp) temp[pos++] = i; @@ -130,8 +130,8 @@ static void sub_8094998(u8 arg[3], u8 player_number) else { pos = 2; - *temp = gBattlePartyID[GetBankByIdentity(0)]; - temp[1] = gBattlePartyID[GetBankByIdentity(2)]; + *temp = gBattlerPartyIndexes[GetBattlerAtPosition(0)]; + temp[1] = gBattlerPartyIndexes[GetBattlerAtPosition(2)]; for (i = 0; i <= 5; i++) if ((i != *temp) && (i != temp[1])) temp[pos++] = i; @@ -145,15 +145,15 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) { int i, j; u8 temp[6]; - if (!GetBankSide(arg3)) + if (!GetBattlerSide(arg3)) { - i = GetBankByIdentity(0); - j = GetBankByIdentity(2); + i = GetBattlerAtPosition(0); + j = GetBattlerAtPosition(2); } else { - i = GetBankByIdentity(1); - j = GetBankByIdentity(3); + i = GetBattlerAtPosition(1); + j = GetBattlerAtPosition(3); } if (IsLinkDoubleBattle() == TRUE) { @@ -175,7 +175,7 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) if (!IsDoubleBattle()) { int pos = 1; - *temp = gBattlePartyID[i]; + *temp = gBattlerPartyIndexes[i]; for (i = 0; i <= 5; i++) if (i != *temp) temp[pos++] = i; @@ -183,8 +183,8 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) else { int pos = 2; - *temp = gBattlePartyID[i]; - temp[1] = gBattlePartyID[j]; + *temp = gBattlerPartyIndexes[i]; + temp[1] = gBattlerPartyIndexes[j]; for (i = 0; i <= 5; i++) if ((i != *temp) && (i != temp[1])) temp[pos++] = i; @@ -662,10 +662,10 @@ static void Task_BattlePartyMenuShift(u8 taskId) gTasks[taskId].func = Task_80954C0; return; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) == 0 - && sub_8094C20(partySelection) == gBattlePartyID[i]) + if (GetBattlerSide(i) == 0 + && sub_8094C20(partySelection) == gBattlerPartyIndexes[i]) { sub_806D5A4(); GetMonNickname(&gPlayerParty[partySelection], gStringVar1); @@ -706,7 +706,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) u8 r4 = gBankInMenu; sub_806D5A4(); - r0 = pokemon_order_func(gBattlePartyID[r4]); + r0 = pokemon_order_func(gBattlerPartyIndexes[r4]); GetMonNickname(&gPlayerParty[r0], gStringVar1); StringExpandPlaceholders(gStringVar4, gOtherText_CantBeSwitched); sub_806E834(gStringVar4, 0); @@ -715,7 +715,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) } gUnknown_0202E8F5 = sub_8094C20(partySelection); gUnknown_0202E8F4 = 1; - r4 = pokemon_order_func(gBattlePartyID[gBankInMenu]); + r4 = pokemon_order_func(gBattlerPartyIndexes[gBankInMenu]); sub_8094C98(r4, partySelection); SwapPokemon(&gPlayerParty[r4], &gPlayerParty[partySelection]); gTasks[taskId].func = Task_809527C; diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index 194a002d3..e164a60dc 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -25,7 +25,7 @@ extern u8 gUnknown_02023A14_50; extern const u8* gBattlescriptCurrInstr; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBattleBufferB[4][0x200]; extern u8* gUnknown_02024C1C[4]; //battlescript location when you try to choose a move you're not allowed to extern u16 gLastUsedMove[4]; @@ -36,7 +36,7 @@ extern u16 gLastUsedItem; extern u16 gCurrentMove; extern const u32 gBitTable[]; extern u16 gBattleTypeFlags; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u32 gStatuses3[4]; extern u8 gBankAttacker; extern u8 gBankTarget; @@ -44,17 +44,17 @@ extern u8 gBanksByTurnOrder[4]; extern u16 gSideAffecting[2]; extern u16 gBattleWeather; extern void (*gBattleMainFunc)(void); -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gBattleCommunication[]; extern u32 gHitMarker; extern u8 gEffectBank; extern u8 gBank1; extern s32 gBattleMoveDamage; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern u16 gChosenMovesByBanks[4]; extern s32 gTakenDmg[4]; extern u8 gTakenDmgBanks[4]; -extern u8 gBattleMoveFlags; +extern u8 gMoveResultFlags; extern u8 gLastUsedAbility; extern u8 gBattleTextBuff2[]; extern u8 gCurrentActionFuncId; @@ -77,9 +77,9 @@ extern const u8 gStatusConditionString_LoveJpn[]; extern const BattleCmdFunc gBattleScriptingCommandsTable[]; u8 IsImprisoned(u8 bank, u16 move); -u8 GetBankByIdentity(u8 ID); -u8 GetBankIdentity(u8 bank); -u8 GetBankSide(u8 bank); +u8 GetBattlerAtPosition(u8 ID); +u8 GetBattlerPosition(u8 bank); +u8 GetBattlerSide(u8 bank); void SetMoveEffect(bool8 primary, u8 certainArg); bool8 UproarWakeUpCheck(u8 bank); bool8 sub_8018018(u8 bank, u8, u8); @@ -259,9 +259,9 @@ void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move) if (!(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[i])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBank].pp[i]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bankAtk; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBufferBankForExecution(gActiveBattler); } } @@ -269,11 +269,11 @@ void PressurePPLoseOnUsingImprision(u8 bankAtk) { s32 i, j; s32 imprisionPos = 4; - u8 atkSide = GetBankSide(bankAtk); + u8 atkSide = GetBattlerSide(bankAtk); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (atkSide != GetBankSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) + if (atkSide != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) { for (j = 0; j < 4; j++) { @@ -293,9 +293,9 @@ void PressurePPLoseOnUsingImprision(u8 bankAtk) && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[imprisionPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBank].pp[imprisionPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bankAtk; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); + MarkBufferBankForExecution(gActiveBattler); } } @@ -304,7 +304,7 @@ void PressurePPLoseOnUsingPerishSong(u8 bankAtk) s32 i, j; s32 perishSongPos = 4; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_PRESSURE && i != bankAtk) { @@ -326,9 +326,9 @@ void PressurePPLoseOnUsingPerishSong(u8 bankAtk) && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[perishSongPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBank].pp[perishSongPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bankAtk; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + MarkBufferBankForExecution(gActiveBattler); } } @@ -339,12 +339,12 @@ void MarkAllBufferBanksForExecution(void) // unused if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBattleExecBuffer |= gBitTable[i] << 0x1C; } else { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBattleExecBuffer |= gBitTable[i]; } } @@ -402,9 +402,9 @@ bool8 WasUnableToUseMove(u8 bank) void PrepareStringBattle(u16 stringId, u8 bank) { - gActiveBank = bank; + gActiveBattler = bank; EmitPrintString(0, stringId); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } void ResetSentPokesToOpponentValue(void) @@ -415,11 +415,11 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[0] = 0; gSentPokesToOpponent[1] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) - bits |= gBitTable[gBattlePartyID[i]]; + for (i = 0; i < gBattlersCount; i += 2) + bits |= gBitTable[gBattlerPartyIndexes[i]]; - for (i = 1; i < gNoOfAllBanks; i += 2) - gSentPokesToOpponent[(i & BIT_MON) >> 1] = bits; + for (i = 1; i < gBattlersCount; i += 2) + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; } void sub_8015740(u8 bank) @@ -427,15 +427,15 @@ void sub_8015740(u8 bank) s32 i = 0; u32 bits = 0; - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(bank) == B_SIDE_OPPONENT) { - u8 id = ((bank & BIT_MON) >> 1); + u8 id = ((bank & BIT_FLANK) >> 1); gSentPokesToOpponent[id] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) + for (i = 0; i < gBattlersCount; i += 2) { - if (!(gAbsentBankFlags & gBitTable[i])) - bits |= gBitTable[gBattlePartyID[i]]; + if (!(gAbsentBattlerFlags & gBitTable[i])) + bits |= gBitTable[gBattlerPartyIndexes[i]]; } gSentPokesToOpponent[id] = bits; @@ -444,15 +444,15 @@ void sub_8015740(u8 bank) void sub_80157C4(u8 bank) { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(bank) == B_SIDE_OPPONENT) { sub_8015740(bank); } else { s32 i; - for (i = 1; i < gNoOfAllBanks; i++) - gSentPokesToOpponent[(i & BIT_MON) >> 1] |= gBitTable[gBattlePartyID[bank]]; + for (i = 1; i < gBattlersCount; i++) + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlerPartyIndexes[bank]]; } } @@ -474,49 +474,49 @@ void BattleScriptPop(void) u8 TrySetCantSelectMoveBattleScript(void) //msg can't select a move { u8 limitations = 0; - u16 move = gBattleMons[gActiveBank].moves[gBattleBufferB[gActiveBank][2]]; + u16 move = gBattleMons[gActiveBattler].moves[gBattleBufferB[gActiveBattler][2]]; u8 holdEffect; - u16* choicedMove = CHOICED_MOVE(gActiveBank); - if (gDisableStructs[gActiveBank].disabledMove == move && move) + u16* choicedMove = CHOICED_MOVE(gActiveBattler); + if (gDisableStructs[gActiveBattler].disabledMove == move && move) { - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gCurrentMove = move; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionDisabledMove; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionDisabledMove; limitations++; } - if (move == gLastUsedMove[gActiveBank] && move != MOVE_STRUGGLE && gBattleMons[gActiveBank].status2 & STATUS2_TORMENT) + if (move == gLastUsedMove[gActiveBattler] && move != MOVE_STRUGGLE && gBattleMons[gActiveBattler].status2 & STATUS2_TORMENT) { - CancelMultiTurnMoves(gActiveBank); - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionTormented; + CancelMultiTurnMoves(gActiveBattler); + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionTormented; limitations++; } - if (gDisableStructs[gActiveBank].tauntTimer1 && gBattleMoves[move].power == 0) + if (gDisableStructs[gActiveBattler].tauntTimer1 && gBattleMoves[move].power == 0) { gCurrentMove = move; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionTaunted; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionTaunted; limitations++; } - if (IsImprisoned(gActiveBank, move)) + if (IsImprisoned(gActiveBattler, move)) { gCurrentMove = move; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionImprisoned; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionImprisoned; limitations++; } - if (gBattleMons[gActiveBank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[gActiveBank].holdEffect; + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); - gStringBank = gActiveBank; + holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + gStringBank = gActiveBattler; if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != move) { gCurrentMove = *choicedMove; - gLastUsedItem = gBattleMons[gActiveBank].item; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionChoiceBanded; + gLastUsedItem = gBattleMons[gActiveBattler].item; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionChoiceBanded; limitations++; } - if (gBattleMons[gActiveBank].pp[gBattleBufferB[gActiveBank][2]] == 0) + if (gBattleMons[gActiveBattler].pp[gBattleBufferB[gActiveBattler][2]] == 0) { - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionNoPP; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionNoPP; limitations++; } return limitations; @@ -564,29 +564,29 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) bool8 AreAllMovesUnusable(void) { u8 unusable; - unusable = CheckMoveLimitations(gActiveBank, 0, 0xFF); + unusable = CheckMoveLimitations(gActiveBattler, 0, 0xFF); if (unusable == 0xF) //all moves are unusable { - gProtectStructs[gActiveBank].onlyStruggle = 1; - gUnknown_02024C1C[gActiveBank] = BattleScript_NoMovesLeft; + gProtectStructs[gActiveBattler].onlyStruggle = 1; + gUnknown_02024C1C[gActiveBattler] = BattleScript_NoMovesLeft; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - gBattleBufferB[gActiveBank][3] = GetBankByIdentity((GetBankIdentity(gActiveBank) ^ 1) | (Random() & 2)); + gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) ^ 1) | (Random() & 2)); else - gBattleBufferB[gActiveBank][3] = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ 1); + gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ 1); } else - gProtectStructs[gActiveBank].onlyStruggle = 0; + gProtectStructs[gActiveBattler].onlyStruggle = 0; return (unusable == 0xF); } u8 IsImprisoned(u8 bank, u16 move) { u8 imprisionedMoves = 0; - u8 bankSide = GetBankSide(bank); + u8 bankSide = GetBattlerSide(bank); s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (bankSide != GetBankSide(i) && gStatuses3[i] & STATUS3_IMPRISIONED) + if (bankSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISIONED) { s32 j; for (j = 0; j < 4; j++) @@ -606,10 +606,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankAttacker]; gBankAttacker++) + for (gBankAttacker = 0; gBankAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBankAttacker]; gBankAttacker++) { } - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankTarget]; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBankTarget]; gBankTarget++) { } @@ -620,14 +620,14 @@ u8 UpdateTurnCounters(void) switch (gBattleStruct->turncountersTracker) { case 0: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gBanksByTurnOrder[i] = i; } - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { s32 j; - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattlersCount; j++) { if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 0)) SwapTurnOrder(i, j); @@ -638,7 +638,7 @@ u8 UpdateTurnCounters(void) case 1: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_REFLECT) { @@ -668,7 +668,7 @@ u8 UpdateTurnCounters(void) case 2: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) @@ -697,7 +697,7 @@ u8 UpdateTurnCounters(void) case 3: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideTimers[sideBank].mistTimer && --gSideTimers[sideBank].mistTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; @@ -723,7 +723,7 @@ u8 UpdateTurnCounters(void) case 4: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) @@ -744,12 +744,12 @@ u8 UpdateTurnCounters(void) } break; case 5: - while (gBattleStruct->turnSideTracker < gNoOfAllBanks) + while (gBattleStruct->turnSideTracker < gBattlersCount) { - gActiveBank = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; - if (gWishFutureKnock.wishCounter[gActiveBank] && --gWishFutureKnock.wishCounter[gActiveBank] == 0 && gBattleMons[gActiveBank].hp) + gActiveBattler = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; + if (gWishFutureKnock.wishCounter[gActiveBattler] && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp) { - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -854,10 +854,10 @@ u8 TurnBasedEffects(void) u8 effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - while (gBattleStruct->turnEffectsBank < gNoOfAllBanks && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) + while (gBattleStruct->turnEffectsBank < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBank++; } @@ -866,11 +866,11 @@ u8 TurnBasedEffects(void) switch (gBattleStruct->turnEffectsTracker) { case 0: // ingrain - if ((gStatuses3[gActiveBank] & STATUS3_ROOTED) - && gBattleMons[gActiveBank].hp != gBattleMons[gActiveBank].maxHP - && gBattleMons[gActiveBank].hp != 0) + if ((gStatuses3[gActiveBattler] & STATUS3_ROOTED) + && gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP + && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -880,25 +880,25 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 1: // end turn abilities - if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBank, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBattler, 0, 0, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 2: // item effects - if (ItemBattleEffects(1, gActiveBank, 0)) + if (ItemBattleEffects(1, gActiveBattler, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 18: // item effects again - if (ItemBattleEffects(1, gActiveBank, 1)) + if (ItemBattleEffects(1, gActiveBattler, 1)) effect++; gBattleStruct->turnEffectsTracker++; break; case 3: // leech seed - if (gStatuses3[gActiveBank] & STATUS3_LEECHSEED && gBattleMons[gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBank].hp != 0) + if (gStatuses3[gActiveBattler] & STATUS3_LEECHSEED && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBattler].hp != 0) { - gBankTarget = gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBankTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleStruct->animArg1 = gBankTarget; @@ -909,9 +909,9 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 4: // poison - if ((gBattleMons[gActiveBank].status1 & STATUS_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_PoisonTurnDmg); @@ -920,23 +920,23 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 5: // toxic poison - if ((gBattleMons[gActiveBank].status1 & STATUS_TOXIC_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS_TOXIC_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gActiveBank].status1 & 0xF00) != 0xF00) //not 16 turns - gBattleMons[gActiveBank].status1 += 0x100; - gBattleMoveDamage *= (gBattleMons[gActiveBank].status1 & 0xF00) >> 8; + if ((gBattleMons[gActiveBattler].status1 & 0xF00) != 0xF00) //not 16 turns + gBattleMons[gActiveBattler].status1 += 0x100; + gBattleMoveDamage *= (gBattleMons[gActiveBattler].status1 & 0xF00) >> 8; BattleScriptExecute(BattleScript_PoisonTurnDmg); effect++; } gBattleStruct->turnEffectsTracker++; break; case 6: // burn - if ((gBattleMons[gActiveBank].status1 & STATUS_BURN) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS_BURN) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_BurnTurnDmg); @@ -945,10 +945,10 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 7: // spooky nightmares - if ((gBattleMons[gActiveBank].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBattler].hp != 0) { // missing sleep check - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_NightmareTurnDmg); @@ -957,9 +957,9 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 8: // curse - if ((gBattleMons[gActiveBank].status2 & STATUS2_CURSED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_CURSED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_CurseTurnDmg); @@ -968,20 +968,20 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 9: // wrap - if ((gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMons[gActiveBank].status2 -= 0x2000; - if (gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) // damaged by wrap + gBattleMons[gActiveBattler].status2 -= 0x2000; + if (gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) // damaged by wrap { - gBattleStruct->animArg1 = ewram16004arr(0, gActiveBank); - gBattleStruct->animArg2 = ewram16004arr(1, gActiveBank); + gBattleStruct->animArg1 = ewram16004arr(0, gActiveBattler); + gBattleStruct->animArg2 = ewram16004arr(1, gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram16004arr(0, gActiveBank); - gBattleTextBuff1[3] = ewram16004arr(1, gActiveBank); + gBattleTextBuff1[2] = ewram16004arr(0, gActiveBattler); + gBattleTextBuff1[3] = ewram16004arr(1, gActiveBattler); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapTurnDmg; - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } @@ -989,8 +989,8 @@ u8 TurnBasedEffects(void) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram16004arr(0, gActiveBank); - gBattleTextBuff1[3] = ewram16004arr(1, gActiveBank); + gBattleTextBuff1[2] = ewram16004arr(0, gActiveBattler); + gBattleTextBuff1[3] = ewram16004arr(1, gActiveBattler); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapEnds; } @@ -1000,9 +1000,9 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 10: // uproar - if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks; gBankAttacker++) + for (gBankAttacker = 0; gBankAttacker < gBattlersCount; gBankAttacker++) { if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) && gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) @@ -1011,35 +1011,35 @@ u8 TurnBasedEffects(void) gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } } - if (gBankAttacker != gNoOfAllBanks) + if (gBankAttacker != gBattlersCount) { effect = 2; // a pokemon was awaken break; } else { - gBankAttacker = gActiveBank; - gBattleMons[gActiveBank].status2 -= 0x10; // uproar timer goes down - if (WasUnableToUseMove(gActiveBank)) + gBankAttacker = gActiveBattler; + gBattleMons[gActiveBattler].status2 -= 0x10; // uproar timer goes down + if (WasUnableToUseMove(gActiveBattler)) { - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - else if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + else if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattleMons[gActiveBank].status2 |= STATUS2_MULTIPLETURNS; + gBattleMons[gActiveBattler].status2 |= STATUS2_MULTIPLETURNS; } else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); } BattleScriptExecute(BattleScript_PrintUproarOverTurns); effect = 1; @@ -1049,20 +1049,20 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 11: // thrash - if (gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) + if (gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) { - gBattleMons[gActiveBank].status2 -= 0x400; - if (WasUnableToUseMove(gActiveBank)) - CancelMultiTurnMoves(gActiveBank); - else if (!(gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) - && (gBattleMons[gActiveBank].status2 & STATUS2_MULTIPLETURNS)) + gBattleMons[gActiveBattler].status2 -= 0x400; + if (WasUnableToUseMove(gActiveBattler)) + CancelMultiTurnMoves(gActiveBattler); + else if (!(gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) + && (gBattleMons[gActiveBattler].status2 & STATUS2_MULTIPLETURNS)) { - gBattleMons[gActiveBank].status2 &= ~(STATUS2_MULTIPLETURNS); - if (!(gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION)) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_MULTIPLETURNS); + if (!(gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x47; SetMoveEffect(1, 0); - if (gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION) + if (gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) BattleScriptExecute(BattleScript_ThrashConfuses); effect++; } @@ -1071,22 +1071,22 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 12: // disable - if (gDisableStructs[gActiveBank].disableTimer1 != 0) + if (gDisableStructs[gActiveBattler].disableTimer1 != 0) { int i; for (i = 0; i < 4; i++) { - if (gDisableStructs[gActiveBank].disabledMove == gBattleMons[gActiveBank].moves[i]) + if (gDisableStructs[gActiveBattler].disabledMove == gBattleMons[gActiveBattler].moves[i]) break; } if (i == 4) // pokemon does not have the disabled move anymore { - gDisableStructs[gActiveBank].disabledMove = 0; - gDisableStructs[gActiveBank].disableTimer1 = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[gActiveBattler].disableTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].disableTimer1 == 0) // disable ends + else if (--gDisableStructs[gActiveBattler].disableTimer1 == 0) // disable ends { - gDisableStructs[gActiveBank].disabledMove = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; BattleScriptExecute(BattleScript_DisabledNoMore); effect++; } @@ -1094,18 +1094,18 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 13: // encore - if (gDisableStructs[gActiveBank].encoreTimer1 != 0) + if (gDisableStructs[gActiveBattler].encoreTimer1 != 0) { - if (gBattleMons[gActiveBank].moves[gDisableStructs[gActiveBank].encoredMovePos] != gDisableStructs[gActiveBank].encoredMove) // pokemon does not have the encored move anymore + if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].encoreTimer1 == 0 - || gBattleMons[gActiveBank].pp[gDisableStructs[gActiveBank].encoredMovePos] == 0) + else if (--gDisableStructs[gActiveBattler].encoreTimer1 == 0 + || gBattleMons[gActiveBattler].pp[gDisableStructs[gActiveBattler].encoredMovePos] == 0) { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; BattleScriptExecute(BattleScript_EncoredNoMore); effect++; } @@ -1113,33 +1113,33 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 14: // lock-on decrement - if (gStatuses3[gActiveBank] & STATUS3_ALWAYS_HITS) - gStatuses3[gActiveBank] -= 0x8; + if (gStatuses3[gActiveBattler] & STATUS3_ALWAYS_HITS) + gStatuses3[gActiveBattler] -= 0x8; gBattleStruct->turnEffectsTracker++; break; case 15: // charge - if (gDisableStructs[gActiveBank].chargeTimer1 && --gDisableStructs[gActiveBank].chargeTimer1 == 0) - gStatuses3[gActiveBank] &= ~STATUS3_CHARGED_UP; + if (gDisableStructs[gActiveBattler].chargeTimer1 && --gDisableStructs[gActiveBattler].chargeTimer1 == 0) + gStatuses3[gActiveBattler] &= ~STATUS3_CHARGED_UP; gBattleStruct->turnEffectsTracker++; break; case 16: // taunt - if (gDisableStructs[gActiveBank].tauntTimer1) - gDisableStructs[gActiveBank].tauntTimer1--; + if (gDisableStructs[gActiveBattler].tauntTimer1) + gDisableStructs[gActiveBattler].tauntTimer1--; gBattleStruct->turnEffectsTracker++; break; case 17: // yawn - if (gStatuses3[gActiveBank] & STATUS3_YAWN) - { - gStatuses3[gActiveBank] -= 0x800; - if (!(gStatuses3[gActiveBank] & STATUS3_YAWN) && !(gBattleMons[gActiveBank].status1 & STATUS_ANY) - && gBattleMons[gActiveBank].ability != ABILITY_VITAL_SPIRIT - && gBattleMons[gActiveBank].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBank)) - { - CancelMultiTurnMoves(gActiveBank); - gBattleMons[gActiveBank].status1 |= (Random() & 3) + 2; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); - gEffectBank = gActiveBank; + if (gStatuses3[gActiveBattler] & STATUS3_YAWN) + { + gStatuses3[gActiveBattler] -= 0x800; + if (!(gStatuses3[gActiveBattler] & STATUS3_YAWN) && !(gBattleMons[gActiveBattler].status1 & STATUS_ANY) + && gBattleMons[gActiveBattler].ability != ABILITY_VITAL_SPIRIT + && gBattleMons[gActiveBattler].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBattler)) + { + CancelMultiTurnMoves(gActiveBattler); + gBattleMons[gActiveBattler].status1 |= (Random() & 3) + 2; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); + gEffectBank = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); effect++; } @@ -1165,28 +1165,28 @@ bool8 HandleWishPerishSongOnTurnEnd(void) switch (gBattleStruct->sub80170DC_Tracker) { case 0: // future sight - while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) + while (gBattleStruct->sub80170DC_Bank < gBattlersCount) { - gActiveBank = gBattleStruct->sub80170DC_Bank; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattleStruct->sub80170DC_Bank; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gBattleStruct->sub80170DC_Bank++; else { gBattleStruct->sub80170DC_Bank++; - if (gWishFutureKnock.futureSightCounter[gActiveBank] && --gWishFutureKnock.futureSightCounter[gActiveBank] == 0 && gBattleMons[gActiveBank].hp) + if (gWishFutureKnock.futureSightCounter[gActiveBattler] && --gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp) { - if (gWishFutureKnock.futureSightMove[gActiveBank] == MOVE_FUTURE_SIGHT) + if (gWishFutureKnock.futureSightMove[gActiveBattler] == MOVE_FUTURE_SIGHT) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else //Doom Desire gBattleCommunication[MULTISTRING_CHOOSER] = 1; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gWishFutureKnock.futureSightMove[gActiveBank]; - gBattleTextBuff1[3] = gWishFutureKnock.futureSightMove[gActiveBank] >> 8; + gBattleTextBuff1[2] = gWishFutureKnock.futureSightMove[gActiveBattler]; + gBattleTextBuff1[3] = gWishFutureKnock.futureSightMove[gActiveBattler] >> 8; gBattleTextBuff1[4] = 0xFF; - gBankTarget = gActiveBank; - gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; - gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; + gBankTarget = gActiveBattler; + gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); return 1; @@ -1196,31 +1196,31 @@ bool8 HandleWishPerishSongOnTurnEnd(void) gBattleStruct->sub80170DC_Tracker = 1; gBattleStruct->sub80170DC_Bank = 0; case 1: // perish song - while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) + while (gBattleStruct->sub80170DC_Bank < gBattlersCount) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gBattleStruct->sub80170DC_Bank++; else { gBattleStruct->sub80170DC_Bank++; - if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG) + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 1; gBattleTextBuff1[2] = 1; gBattleTextBuff1[3] = 1; - gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSong1; + gBattleTextBuff1[4] = gDisableStructs[gActiveBattler].perishSongTimer1; gBattleTextBuff1[5] = 0xFF; - if (gDisableStructs[gActiveBank].perishSong1 == 0) + if (gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { - gStatuses3[gActiveBank] &= ~(STATUS3_PERISH_SONG); - gBattleMoveDamage = gBattleMons[gActiveBank].hp; + gStatuses3[gActiveBattler] &= ~(STATUS3_PERISH_SONG); + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; gBattlescriptCurrInstr = BattleScript_PerishSongHits; } else { - gDisableStructs[gActiveBank].perishSong1--; + gDisableStructs[gActiveBattler].perishSongTimer1--; gBattlescriptCurrInstr = BattleScript_PerishSongTimerGoesDown; } BattleScriptExecute(gBattlescriptCurrInstr); @@ -1248,27 +1248,27 @@ bool8 HandleFaintedMonActions(void) case 0: gBattleStruct->unk1605A = 0; gBattleStruct->sub80173A4_Tracker++; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gAbsentBankFlags & gBitTable[i] && !sub_8018018(i, 6, 6)) - gAbsentBankFlags &= ~(gBitTable[i]); + if (gAbsentBattlerFlags & gBitTable[i] && !sub_8018018(i, 6, 6)) + gAbsentBattlerFlags &= ~(gBitTable[i]); } case 1: do { gBank1 = gBankTarget = gBattleStruct->unk1605A; - if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlePartyID[gBattleStruct->unk1605A]]) && !(gAbsentBankFlags & gBitTable[gBattleStruct->unk1605A])) + if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlerPartyIndexes[gBattleStruct->unk1605A]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) { BattleScriptExecute(BattleScript_GiveExp); gBattleStruct->sub80173A4_Tracker = 2; return 1; } - } while (++gBattleStruct->unk1605A != gNoOfAllBanks); + } while (++gBattleStruct->unk1605A != gBattlersCount); gBattleStruct->sub80173A4_Tracker = 3; break; case 2: sub_8015740(gBank1); - if (++gBattleStruct->unk1605A == gNoOfAllBanks) + if (++gBattleStruct->unk1605A == gBattlersCount) gBattleStruct->sub80173A4_Tracker = 3; else gBattleStruct->sub80173A4_Tracker = 1; @@ -1280,17 +1280,17 @@ bool8 HandleFaintedMonActions(void) do { gBank1 = gBankTarget = gBattleStruct->unk1605A; //or should banks be switched? - if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gAbsentBankFlags & gBitTable[gBattleStruct->unk1605A])) + if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) { BattleScriptExecute(BattleScript_HandleFaintedMon); gBattleStruct->sub80173A4_Tracker = 5; return 1; } - } while (++gBattleStruct->unk1605A != gNoOfAllBanks); + } while (++gBattleStruct->unk1605A != gBattlersCount); gBattleStruct->sub80173A4_Tracker = 6; break; case 5: - if (++gBattleStruct->unk1605A == gNoOfAllBanks) + if (++gBattleStruct->unk1605A == gBattlersCount) gBattleStruct->sub80173A4_Tracker = 6; else gBattleStruct->sub80173A4_Tracker = 4; @@ -1310,7 +1310,7 @@ bool8 HandleFaintedMonActions(void) void TryClearRageStatuses(void) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].status2 & STATUS2_RAGE && gChosenMovesByBanks[i] != MOVE_RAGE) gBattleMons[i].status2 &= ~(STATUS2_RAGE); @@ -1410,7 +1410,7 @@ u8 AtkCanceller_UnableToUseMove(void) gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; effect = 1; } gBattleStruct->atkCancellerTracker++; @@ -1546,7 +1546,7 @@ u8 AtkCanceller_UnableToUseMove(void) gCurrentMove = MOVE_BIDE; *bideDmg = gTakenDmg[gBankAttacker] * 2; gBankTarget = gTakenDmgBanks[gBankAttacker]; - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) gBankTarget = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } @@ -1579,9 +1579,9 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); } return effect; } @@ -1597,7 +1597,7 @@ bool8 sub_8018018(u8 bank, u8 r1, u8 r2) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { r7 = sub_803FC34(bank); - if (GetBankSide(bank) == 0) + if (GetBattlerSide(bank) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -1611,22 +1611,22 @@ bool8 sub_8018018(u8 bank, u8 r1, u8 r2) } else { - if (GetBankSide(bank) == 1) + if (GetBattlerSide(bank) == 1) { - r7 = GetBankByIdentity(1); - r6 = GetBankByIdentity(3); + r7 = GetBattlerAtPosition(1); + r6 = GetBattlerAtPosition(3); party = gEnemyParty; } else { - r7 = GetBankByIdentity(0); - r6 = GetBankByIdentity(2); + r7 = GetBattlerAtPosition(0); + r6 = GetBattlerAtPosition(2); party = gPlayerParty; } if (r1 == 6) - r1 = gBattlePartyID[r7]; + r1 = gBattlerPartyIndexes[r7]; if (r2 == 6) - r2 = gBattlePartyID[r6]; + r2 = gBattlerPartyIndexes[r6]; for (i = 0; i < 6; i++) { if (GetMonData(&party[i], MON_DATA_HP) && GetMonData(&party[i], MON_DATA_SPECIES2) && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG && i != r1 && i != r2 && i != ewram16068arr(r7) && i != ewram16068arr(r6)) @@ -1695,19 +1695,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) u32 pidAtk; u32 pidDef; - if (gBankAttacker >= gNoOfAllBanks) + if (gBankAttacker >= gBattlersCount) gBankAttacker = bank; - if (GetBankSide(gBankAttacker) == 0) - pokeAtk = &gPlayerParty[gBattlePartyID[gBankAttacker]]; + if (GetBattlerSide(gBankAttacker) == 0) + pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; else - pokeAtk = &gEnemyParty[gBattlePartyID[gBankAttacker]]; + pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; - if (gBankTarget >= gNoOfAllBanks) + if (gBankTarget >= gBattlersCount) gBankTarget = bank; - if (GetBankSide(gBankTarget) == 0) - pokeDef = &gPlayerParty[gBattlePartyID[gBankTarget]]; + if (GetBattlerSide(gBankTarget) == 0) + pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; else - pokeDef = &gEnemyParty[gBattlePartyID[gBankTarget]]; + pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -1741,7 +1741,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBankAttacker >= gNoOfAllBanks) + if (gBankAttacker >= gBattlersCount) gBankAttacker = bank; switch (gLastUsedAbility) { @@ -1838,7 +1838,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_AIR_LOCK: { // that's a weird choice for a variable, why not use i or bank? - for (target1 = 0; target1 < gNoOfAllBanks; target1++) + for (target1 = 0; target1 < gBattlersCount; target1++) { effect = CastformDataTypeChange(target1); if (effect != 0) @@ -1888,10 +1888,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleMons[bank].status1 = 0; // BUG: The nightmare status does not get cleared here. This was fixed in Emerald. //gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); - gBattleStruct->scriptingActive = gActiveBank = bank; + gBattleStruct->scriptingActive = gActiveBattler = bank; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); effect++; } break; @@ -2002,7 +2002,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case ABILITY_COLOR_CHANGE: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2022,7 +2022,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_ROUGH_SKIN: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2039,7 +2039,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_EFFECT_SPORE: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2060,7 +2060,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2084,7 +2084,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_POISON_POINT: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2099,7 +2099,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2117,7 +2117,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_STATIC: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2132,7 +2132,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2150,7 +2150,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_FLAME_BODY: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2165,7 +2165,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2183,7 +2183,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_CUTE_CHARM: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2203,7 +2203,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2227,7 +2227,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_IMMUNITY: // 5 { - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { switch (gBattleMons[bank].ability) { @@ -2300,9 +2300,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleStruct->scriptingActive = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bank; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); return effect; } } @@ -2310,7 +2310,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_FORECAST: // 6 { - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { if (gBattleMons[bank].ability == ABILITY_FORECAST) { @@ -2357,7 +2357,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE1: // 9 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && gStatuses3[i] & STATUS3_INTIMIDATE_POKES) { @@ -2371,42 +2371,42 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_TRACE: // 11 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; - side = (GetBankIdentity(i) ^ 1) & 1; - target1 = GetBankByIdentity(side); - target2 = GetBankByIdentity(side + 2); + side = (GetBattlerPosition(i) ^ 1) & 1; + target1 = GetBattlerAtPosition(side); + target2 = GetBattlerAtPosition(side + 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = GetBankByIdentity(((Random() & 1) * 2) | side); - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = GetBattlerAtPosition(((Random() & 1) * 2) | side); + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0) { - gActiveBank = target1; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target1; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = target2; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target2; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } } else { - gActiveBank = target1; + gActiveBattler = target1; if (gBattleMons[target1].ability && gBattleMons[target1].hp) { gBattleMons[i].ability = gBattleMons[target1].ability; @@ -2422,8 +2422,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 4; - gBattleTextBuff1[2] = gActiveBank; - gBattleTextBuff1[3] = gBattlePartyID[gActiveBank]; + gBattleTextBuff1[2] = gActiveBattler; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gActiveBattler]; gBattleTextBuff1[4] = EOS; gBattleTextBuff2[0] = 0xFD; @@ -2436,7 +2436,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE2: // 10 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && (gStatuses3[i] & STATUS3_INTIMIDATE_POKES)) { @@ -2451,10 +2451,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_OTHER_SIDE: // 12 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(bank); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2462,10 +2462,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(bank); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2476,21 +2476,21 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case 0xFD: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_MUDSPORT) effect = i + 1; } break; case 0xFE: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_WATERSPORT) effect = i + 1; } break; default: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability) { @@ -2502,7 +2502,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_ON_FIELD: // 19 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && gBattleMons[i].hp != 0) { @@ -2512,7 +2512,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK: // 15 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && i != bank) { @@ -2522,10 +2522,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_OTHER_SIZE: // 16 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(bank); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2533,10 +2533,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(bank); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2544,7 +2544,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_ON_FIELD: // 18 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && i != bank) { @@ -2663,7 +2663,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBankAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -2692,10 +2692,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u8 ppBonuses; u16 move; - if (GetBankSide(bank) == 0) - poke = &gPlayerParty[gBattlePartyID[bank]]; + if (GetBattlerSide(bank) == 0) + poke = &gPlayerParty[gBattlerPartyIndexes[bank]]; else - poke = &gEnemyParty[gBattlePartyID[bank]]; + poke = &gEnemyParty[gBattlerPartyIndexes[bank]]; for (i = 0; i < 4; i++) { move = GetMonData(poke, MON_DATA_MOVE1 + i); @@ -2718,7 +2718,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff1[4] = 0xFF; BattleScriptExecute(BattleScript_BerryPPHealEnd2); EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); effect = ITEM_PP_CHANGE; } } @@ -2736,7 +2736,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBankAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -3097,12 +3097,12 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBankAttacker = bank; switch (effect) { case ITEM_STATUS_CHANGE: EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); break; case ITEM_PP_CHANGE: if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bank].unk18_b & gBitTable[i])) @@ -3115,7 +3115,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case 2: break; case 3: - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { gLastUsedItem = gBattleMons[bank].item; if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) @@ -3255,9 +3255,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bank; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } } @@ -3268,7 +3268,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (atkHoldEffect) { case HOLD_EFFECT_FLINCH: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) && (Random() % 100) < bankQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED @@ -3281,7 +3281,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_SHELL_BELL: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gSpecialStatuses[gBankTarget].moveturnLostHP != 0 && gSpecialStatuses[gBankTarget].moveturnLostHP != 0xFFFF && gBankAttacker != gBankTarget @@ -3331,22 +3331,22 @@ void unref_sub_801B40C(void) u8 bank = 0; do { - u8 absent = gAbsentBankFlags; + u8 absent = gAbsentBattlerFlags; if (gBitTable[bank] & absent || absent & gBitTable[bank + 2]) bank++; else { if (sCombinedMoves[i].move1 == gChosenMovesByBanks[bank] && sCombinedMoves[i].move2 == gChosenMovesByBanks[bank + 2]) { - gSideTimers[GetBankIdentity(bank) & 1].field3 = (bank) | ((bank + 2) << 4); - gSideTimers[GetBankIdentity(bank) & 1].field4 = sCombinedMoves[i].newMove; - gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4; + gSideTimers[GetBattlerPosition(bank) & 1].field3 = (bank) | ((bank + 2) << 4); + gSideTimers[GetBattlerPosition(bank) & 1].field4 = sCombinedMoves[i].newMove; + gSideAffecting[GetBattlerPosition(bank) & 1] |= SIDE_STATUS_X4; } if (sCombinedMoves[i].move1 == gChosenMovesByBanks[bank + 2] && sCombinedMoves[i].move2 == gChosenMovesByBanks[bank]) { - gSideTimers[GetBankIdentity(bank) & 1].field3 = (bank + 2) | ((bank) << 4); - gSideTimers[GetBankIdentity(bank) & 1].field4 = sCombinedMoves[i].newMove; - gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4; + gSideTimers[GetBattlerPosition(bank) & 1].field3 = (bank + 2) | ((bank) << 4); + gSideTimers[GetBattlerPosition(bank) & 1].field4 = sCombinedMoves[i].newMove; + gSideAffecting[GetBattlerPosition(bank) & 1] |= SIDE_STATUS_X4; } bank++; } @@ -3376,16 +3376,16 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target switch (moveTarget) { case 0: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else { - side = GetBankSide(gBankAttacker); + side = GetBattlerSide(gBankAttacker); do { - targetBank = Random() % gNoOfAllBanks; - } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBankFlags & gBitTable[targetBank]); + targetBank = Random() % gBattlersCount; + } while (targetBank == gBankAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) @@ -3400,35 +3400,35 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target case 8: case 32: case 64: - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); - if (gAbsentBankFlags & gBitTable[targetBank]) + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1); + if (gAbsentBattlerFlags & gBitTable[targetBank]) targetBank ^= 2; break; case 4: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & 4) { - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) { if (Random() & 1) - targetBank = GetBankByIdentity(1); + targetBank = GetBattlerAtPosition(1); else - targetBank = GetBankByIdentity(3); + targetBank = GetBattlerAtPosition(3); } else { if (Random() & 1) - targetBank = GetBankByIdentity(0); + targetBank = GetBattlerAtPosition(0); else - targetBank = GetBankByIdentity(2); + targetBank = GetBattlerAtPosition(2); } - if (gAbsentBankFlags & gBitTable[targetBank]) + if (gAbsentBattlerFlags & gBitTable[targetBank]) targetBank ^= 2; } else - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1); break; case 2: case 16: @@ -3446,7 +3446,7 @@ u8 IsMonDisobedient(void) s32 calc; if (gBattleTypeFlags & BATTLE_TYPE_LINK - || GetBankSide(gBankAttacker) == 1 + || GetBattlerSide(gBankAttacker) == 1 || !IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName)) return 0; @@ -3519,12 +3519,12 @@ u8 IsMonDisobedient(void) { // try putting asleep int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].status2 & STATUS2_UPROAR) break; } - if (i == gNoOfAllBanks) + if (i == gBattlersCount) { gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; return 1; diff --git a/src/battle/calculate_base_damage.c b/src/battle/calculate_base_damage.c index 217ab28a3..5e63ee92c 100644 --- a/src/battle/calculate_base_damage.c +++ b/src/battle/calculate_base_damage.c @@ -71,7 +71,7 @@ const u8 gHoldEffectToType[][2] = {HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL} }; -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); #define APPLY_STAT_MOD(var, mon, stat, statIndex) \ { \ @@ -137,7 +137,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE01_GET) - && !GetBankSide(bankAtk)) + && !GetBattlerSide(bankAtk)) attack = (110 * attack) / 100; } if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -145,7 +145,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE05_GET) - && !GetBankSide(bankDef)) + && !GetBattlerSide(bankDef)) defense = (110 * defense) / 100; } if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -153,7 +153,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE07_GET) - && !GetBankSide(bankAtk)) + && !GetBattlerSide(bankAtk)) spAttack = (110 * spAttack) / 100; } if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -161,7 +161,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE07_GET) - && !GetBankSide(bankDef)) + && !GetBattlerSide(bankDef)) spDefense = (110 * spDefense) / 100; } diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index 20c6d8676..be2adbf1b 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -19,8 +19,8 @@ extern struct MusicPlayerInfo gMPlay_BGM; extern u16 gBattleTypeFlags; extern u8 gBankTarget; -extern u8 gActiveBank; -extern u16 gBattlePartyID[]; +extern u8 gActiveBattler; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankSpriteIds[]; extern u8 gDoingBattleAnim; extern u8 gHealthboxIDs[]; @@ -333,11 +333,11 @@ u8 sub_8046400(u16 a, u8 b) u8 taskId; gDoingBattleAnim = 1; - ewram17810[gActiveBank].unk0_3 = 1; + ewram17810[gActiveBattler].unk0_3 = 1; taskId = CreateTask(sub_8046464, 5); gTasks[taskId].data[1] = a; gTasks[taskId].data[2] = b; - gTasks[taskId].data[3] = gActiveBank; + gTasks[taskId].data[3] = gActiveBattler; return 0; } @@ -357,10 +357,10 @@ static void sub_8046464(u8 taskId) } r8 = gTasks[taskId].data[2]; r5 = gTasks[taskId].data[3]; - if (GetBankSide(r5) != 0) - ball = GetMonData(&gEnemyParty[gBattlePartyID[r5]], MON_DATA_POKEBALL); + if (GetBattlerSide(r5) != 0) + ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL); else - ball = GetMonData(&gPlayerParty[gBattlePartyID[r5]], MON_DATA_POKEBALL); + ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL); r4 = ball_number_to_ball_processing_index(ball); sub_80478DC(r4); spriteId = CreateSprite(&gBallSpriteTemplates[r4], 32, 80, 0x1D); @@ -376,14 +376,14 @@ static void sub_8046464(u8 taskId) gSprites[spriteId].callback = sub_8047074; break; case 0xFE: - gSprites[spriteId].pos1.x = GetBankPosition(r5, 0); - gSprites[spriteId].pos1.y = GetBankPosition(r5, 1) + 24; + gSprites[spriteId].pos1.x = GetBattlerSpriteCoord(r5, 0); + gSprites[spriteId].pos1.y = GetBattlerSpriteCoord(r5, 1) + 24; gBankTarget = r5; gSprites[spriteId].data[0] = 0; gSprites[spriteId].callback = sub_8047254; break; default: - gBankTarget = GetBankByIdentity(1); + gBankTarget = GetBattlerAtPosition(1); sp0 = TRUE; break; } @@ -394,8 +394,8 @@ static void sub_8046464(u8 taskId) return; } gSprites[spriteId].data[0] = 0x22; - gSprites[spriteId].data[2] = GetBankPosition(gBankTarget, 0); - gSprites[spriteId].data[4] = GetBankPosition(gBankTarget, 1) - 16; + gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBankTarget, 0); + gSprites[spriteId].data[4] = GetBattlerSpriteCoord(gBankTarget, 1) - 16; gSprites[spriteId].data[5] = -40; InitAnimSpriteTranslationOverDuration(&gSprites[spriteId]); gSprites[spriteId].oam.affineParam = taskId; @@ -711,18 +711,18 @@ static void sub_8046C78(struct Sprite *sprite) u16 r4_2; u8 taskId; - if (GetBankSide(r5) != 0) + if (GetBattlerSide(r5) != 0) { - pkmn = &gEnemyParty[gBattlePartyID[r5]]; + pkmn = &gEnemyParty[gBattlerPartyIndexes[r5]]; r8 = 25; } else { - pkmn = &gPlayerParty[gBattlePartyID[r5]]; + pkmn = &gPlayerParty[gBattlerPartyIndexes[r5]]; r8 = -25; } species = GetMonData(pkmn, MON_DATA_SPECIES); - if ((r5 == GetBankByIdentity(0) || r5 == GetBankByIdentity(1)) + if ((r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1)) && IsDoubleBattle() && ewram17840.unk9_0) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -737,7 +737,7 @@ static void sub_8046C78(struct Sprite *sprite) } if (!IsDoubleBattle() || !ewram17840.unk9_0) r4_2 = 0; - else if (r5 == GetBankByIdentity(0) || r5 == GetBankByIdentity(1)) + else if (r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1)) r4_2 = 1; else r4_2 = 2; @@ -830,8 +830,8 @@ static void sub_8046FBC(struct Sprite *sprite) static void sub_8047074(struct Sprite *sprite) { sprite->data[0] = 25; - sprite->data[2] = GetBankPosition(sprite->data[6], 2); - sprite->data[4] = GetBankPosition(sprite->data[6], 3) + 24; + sprite->data[2] = GetBattlerSpriteCoord(sprite->data[6], 2); + sprite->data[4] = GetBattlerSpriteCoord(sprite->data[6], 3) + 24; sprite->data[5] = -30; sprite->oam.affineParam = sprite->data[6]; InitAnimSpriteTranslationOverDuration(sprite); @@ -885,7 +885,7 @@ static void sub_80470C4(struct Sprite *sprite) sprite->data[6] = sprite->oam.affineParam & 0xFF; sprite->data[0] = 0; if (IsDoubleBattle() && ewram17840.unk9_0 - && sprite->data[6] == GetBankByIdentity(2)) + && sprite->data[6] == GetBattlerAtPosition(2)) sprite->callback = sub_8047230; else sprite->callback = sub_8046C78; @@ -910,7 +910,7 @@ static void sub_8047254(struct Sprite *sprite) { sprite->data[0] = 0; if (IsDoubleBattle() && ewram17840.unk9_0 - && sprite->data[6] == GetBankByIdentity(3)) + && sprite->data[6] == GetBattlerAtPosition(3)) sprite->callback = sub_8047230; else sprite->callback = sub_8046C78; @@ -1102,7 +1102,7 @@ void sub_804777C(u8 a) sprite->pos2.x = 0x73; sprite->pos2.y = 0; sprite->callback = sub_8047830; - if (GetBankSide(a) != 0) + if (GetBattlerSide(a) != 0) { sprite->data[0] = -sprite->data[0]; sprite->data[1] = -sprite->data[1]; @@ -1110,7 +1110,7 @@ void sub_804777C(u8 a) sprite->pos2.y = -sprite->pos2.y; } gSprites[sprite->data[5]].callback(&gSprites[sprite->data[5]]); - if (GetBankIdentity(a) == 2) + if (GetBattlerPosition(a) == 2) sprite->callback = sub_804780C; } @@ -1187,8 +1187,8 @@ void sub_804794C(u8 a) static u16 sub_8047978(u8 a) { - if (GetBankSide(a) == 0) - return GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_POKEBALL); + if (GetBattlerSide(a) == 0) + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL); else - return GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_POKEBALL); + return GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL); } diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index 85aa78ca0..f602d4835 100644 --- a/src/battle/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c @@ -22,8 +22,8 @@ extern u16 gBattle_BG0_Y; extern u8 gReservedSpritePaletteCount; extern u8 gActionSelectionCursor[4]; extern u8 gBankInMenu; -extern u16 gBattlePartyID[4]; -extern u8 gNoOfAllBanks; +extern u16 gBattlerPartyIndexes[4]; +extern u8 gBattlersCount; extern u16 gBattleTypeFlags; extern u8 gBankSpriteIds[4]; extern u8 gBattleMonForms[4]; @@ -171,14 +171,14 @@ static void CB2_ReshowBattleScreenAfterMenu(void) sub_80327CC(); - opponentBank = GetBankByIdentity(1); - species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES); + opponentBank = GetBattlerAtPosition(1); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); sub_8032984(opponentBank, species); if (IsDoubleBattle()) { - opponentBank = GetBankByIdentity(3); - species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES); + opponentBank = GetBattlerAtPosition(3); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); sub_8032984(opponentBank, species); } sub_802E3E4(gActionSelectionCursor[gBankInMenu], 0); @@ -205,12 +205,12 @@ static void sub_807B06C(void) static bool8 LoadAppropiateBankSprite(u8 bank) { - if (bank < gNoOfAllBanks) + if (bank < gBattlersCount) { - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) { if (!ewram17800[bank].substituteSprite) - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[bank]], bank); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[bank]], bank); else BattleLoadSubstituteSprite(bank, 0); } @@ -219,7 +219,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank) else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) LoadPlayerTrainerBankSprite(2, 0); else if (!ewram17800[bank].substituteSprite) - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[bank]], bank); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[bank]], bank); else BattleLoadSubstituteSprite(bank, 0); @@ -230,7 +230,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank) static void sub_807B184(u8 bank) { - if (bank < gNoOfAllBanks) + if (bank < gBattlersCount) { u8 posY; @@ -238,21 +238,21 @@ static void sub_807B184(u8 bank) posY = sub_8077F7C(bank); else posY = sub_8077F68(bank); - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) { - if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; - GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); + GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, sub_8079E90(bank)); gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gBankSpriteIds[bank]].data[0] = bank; - gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) { - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(0)); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(0)); gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, sub_8079E90(0)); @@ -262,7 +262,7 @@ static void sub_807B184(u8 bank) } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) { - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(0)); + GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(0)); gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[2].coords) * 4 + 80, sub_8079E90(0)); @@ -272,14 +272,14 @@ static void sub_807B184(u8 bank) } else { - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; - GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); + GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, sub_8079E90(bank)); gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gBankSpriteIds[bank]].data[0] = bank; - gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); } gSprites[gBankSpriteIds[bank]].invisible = ewram17800[bank].invisible; @@ -288,7 +288,7 @@ static void sub_807B184(u8 bank) static void sub_807B508(u8 bank) { - if (bank < gNoOfAllBanks) + if (bank < gBattlersCount) { u8 healthboxID; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) @@ -300,24 +300,24 @@ static void sub_807B508(u8 bank) gHealthboxIDs[bank] = healthboxID; sub_8043F44(bank); sub_8043DFC(healthboxID); - if (GetBankSide(bank)) - sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlePartyID[bank]], 0); + if (GetBattlerSide(bank)) + sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlerPartyIndexes[bank]], 0); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlePartyID[bank]], 10); + sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 10); else - sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlePartyID[bank]], 0); - if (GetBankIdentity(bank) == 3 || GetBankIdentity(bank) == 2) + sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 0); + if (GetBattlerPosition(bank) == 3 || GetBattlerPosition(bank) == 2) nullsub_11(gHealthboxIDs[bank], 1); else nullsub_11(gHealthboxIDs[bank], 0); - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) { - if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) sub_8043DB0(healthboxID); } else if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) { - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) sub_8043DB0(healthboxID); } } diff --git a/src/contest.c b/src/contest.c index 2d953241a..031cf768f 100644 --- a/src/contest.c +++ b/src/contest.c @@ -5421,8 +5421,8 @@ void sub_80B2968(void) sprite->pos2.x = 0; sprite->pos2.y = 0; - sprite->pos1.x = GetBankPosition(3, 0); - sprite->pos1.y = GetBankPosition(3, 1); + sprite->pos1.x = GetBattlerSpriteCoord(3, 0); + sprite->pos1.y = GetBattlerSpriteCoord(3, 1); sprite->invisible = TRUE; } diff --git a/src/item_use.c b/src/item_use.c index a0fbb13b2..a14abbe3e 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -48,7 +48,7 @@ extern u8 gBankInMenu; extern u8 gUnknown_081A1654[]; extern u8 gUnknown_081A168F[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u16 gBattleTypeFlags; @@ -1044,7 +1044,7 @@ void sub_80CA2BC(u8 taskId) void ItemUseInBattle_StatIncrease(u8 taskId) { - u16 partyId = gBattlePartyID[gBankInMenu]; + u16 partyId = gBattlerPartyIndexes[gBankInMenu]; Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); diff --git a/src/pokemon_2.c b/src/pokemon_2.c index 17f073815..9c60ea108 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -22,13 +22,13 @@ extern u8 gPlayerPartyCount; extern u8 gEnemyPartyCount; extern u16 gBattleTypeFlags; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern struct BattlePokemon gBattleMons[4]; extern u16 gCurrentMove; extern u8 gLastUsedAbility; extern u8 gBankAttacker; extern u8 gBankTarget; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gXXX_CritRelated; extern u16 gBattleWeather; extern struct BattleEnigmaBerry gEnigmaBerries[]; @@ -60,21 +60,21 @@ u8 CountAliveMons(u8 a1) case 0: for (i = 0; i < 4; i++) { - if (i != gActiveBank && !(gAbsentBankFlags & gBitTable[i])) + if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case 1: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBankFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBankAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case 2: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBankFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBankTarget) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; @@ -85,11 +85,11 @@ u8 CountAliveMons(u8 a1) u8 sub_803C434(u8 a1) { - u8 status = GetBankIdentity(a1) & 1; + u8 status = GetBattlerPosition(a1) & 1; status ^= 1; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - return GetBankByIdentity(status); + return GetBattlerAtPosition(status); if (CountAliveMons(0) > 1) { u8 val; @@ -98,14 +98,14 @@ u8 sub_803C434(u8 a1) val = status ^ 2; else val = status; - return GetBankByIdentity(val); + return GetBattlerAtPosition(val); } else { - if ((gAbsentBankFlags & gBitTable[status])) - return GetBankByIdentity(status ^ 2); + if ((gAbsentBattlerFlags & gBitTable[status])) + return GetBattlerAtPosition(status ^ 2); else - return GetBankByIdentity(status); + return GetBattlerAtPosition(status); } } @@ -1226,7 +1226,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex) GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); StringCopy10(gBattleMons[battleIndex].nickname, nickname); GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battleIndex].otName); - ewram160BC[GetBankSide(battleIndex)] = gBattleMons[battleIndex].hp; + ewram160BC[GetBattlerSide(battleIndex)] = gBattleMons[battleIndex].hp; for (i = 0; i < 8; i++) gBattleMons[battleIndex].statStages[i] = 6; diff --git a/src/pokemon_3.c b/src/pokemon_3.c index 9346031a6..791dd5d2f 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -28,7 +28,7 @@ extern u8 gPlayerPartyCount; extern u8 gEnemyPartyCount; extern struct BattlePokemon gBattleMons[4]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gSpeciesToHoennPokedexNum[]; extern u16 gSpeciesToNationalPokedexNum[]; @@ -51,7 +51,7 @@ extern const u8 BattleText_Wally[]; extern s8 gPokeblockFlavorCompatibilityTable[]; extern u8 gLastUsedAbility; extern const u8 BattleText_PreventedSwitch[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 BattleText_Rose[]; extern u8 BattleText_UnknownString3[]; @@ -95,7 +95,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) if (itemId == ITEM_ENIGMA_BERRY) { - temp = gEnigmaBerries[gActiveBank].itemEffect; + temp = gEnigmaBerries[gActiveBattler].itemEffect; } itemEffect = temp; @@ -1298,14 +1298,14 @@ void sub_8040B8C(void) gBattleTextBuff1[1] = 4; gBattleTextBuff1[2] = gBattleStruct->unk16054; gBattleTextBuff1[4] = EOS; - if (!GetBankSide(gBattleStruct->unk16054)) - gBattleTextBuff1[3] = pokemon_order_func(gBattlePartyID[gBattleStruct->unk16054]); + if (!GetBattlerSide(gBattleStruct->unk16054)) + gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->unk16054]); else - gBattleTextBuff1[3] = gBattlePartyID[gBattleStruct->unk16054]; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->unk16054]; gBattleTextBuff2[0] = 0xFD; gBattleTextBuff2[1] = 4; gBattleTextBuff2[2] = gBankInMenu; - gBattleTextBuff2[3] = pokemon_order_func(gBattlePartyID[gBankInMenu]); + gBattleTextBuff2[3] = pokemon_order_func(gBattlerPartyIndexes[gBankInMenu]); gBattleTextBuff2[4] = EOS; StrCpyDecodeBattle(BattleText_PreventedSwitch, gStringVar4); } diff --git a/src/pokemon_item_effect.c b/src/pokemon_item_effect.c index 4ebece3b3..d26546f02 100644 --- a/src/pokemon_item_effect.c +++ b/src/pokemon_item_effect.c @@ -16,11 +16,11 @@ #include "util.h" extern s32 gBattleMoveDamage; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gBankInMenu; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; -extern u8 gActiveBank; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[]; +extern u8 gActiveBattler; extern u8 gStringBank; extern struct BattlePokemon gBattleMons[]; extern struct BattleEnigmaBerry gEnigmaBerries[]; @@ -78,11 +78,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo gStringBank = gBankInMenu; if (gMain.inBattle) { - gActiveBank = gBankInMenu; - cmdIndex = (GetBankSide(gActiveBank) != 0); - while (cmdIndex < gNoOfAllBanks) + gActiveBattler = gBankInMenu; + cmdIndex = (GetBattlerSide(gActiveBattler) != 0); + while (cmdIndex < gBattlersCount) { - if (gBattlePartyID[cmdIndex] == partyIndex) + if (gBattlerPartyIndexes[cmdIndex] == partyIndex) { sp34 = cmdIndex; break; @@ -92,7 +92,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo } else { - gActiveBank = 0; + gActiveBattler = 0; sp34 = 4; } @@ -104,7 +104,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo if (item == ITEM_ENIGMA_BERRY) { if (gMain.inBattle) - itemEffect = gEnigmaBerries[gActiveBank].itemEffect; + itemEffect = gEnigmaBerries[gActiveBattler].itemEffect; else itemEffect = gSaveBlock1.enigmaBerry.itemEffect; } @@ -126,63 +126,63 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo retVal = FALSE; } if ((itemEffect[cmdIndex] & 0x30) - && !(gBattleMons[gActiveBank].status2 & STATUS2_FOCUS_ENERGY)) + && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) { - gBattleMons[gActiveBank].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] = 12; retVal = FALSE; } break; // in-battle stat boosting effects? case 1: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] = 12; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] = 12; retVal = FALSE; } break; // more stat boosting effects? case 2: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] = 12; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] = 12; retVal = FALSE; } break; case 3: if ((itemEffect[cmdIndex] & 0x80) - && gSideTimers[GetBankSide(gActiveBank)].mistTimer == 0) + && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) { - gSideTimers[GetBankSide(gActiveBank)].mistTimer = 5; + gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0x40) // raise level @@ -278,15 +278,15 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo { if (sp34 != 4) { - gAbsentBankFlags &= ~gBitTable[sp34]; - CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlePartyID[sp34])); - if (GetBankSide(gActiveBank) == 0 && gBattleResults.unk4 < 255) + gAbsentBattlerFlags &= ~gBitTable[sp34]; + CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34])); + if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } else { - gAbsentBankFlags &= ~gBitTable[gActiveBank ^ 2]; - if (GetBankSide(gActiveBank) == 0 && gBattleResults.unk4 < 255) + gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2]; + if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } } @@ -325,16 +325,16 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo if (gMain.inBattle && sp34 != 4) { gBattleMons[sp34].hp = data; - if (!(r10 & 0x10) && GetBankSide(gActiveBank) == 0) + if (!(r10 & 0x10) && GetBattlerSide(gActiveBattler) == 0) { if (gBattleResults.unk3 < 255) gBattleResults.unk3++; // I have to re-use this variable to match. - r5 = gActiveBank; - gActiveBank = sp34; + r5 = gActiveBattler; + gActiveBattler = sp34; EmitGetAttributes(0, 0, 0); - MarkBufferBankForExecution(gActiveBank); - gActiveBank = r5; + MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = r5; } } } diff --git a/src/rom3.c b/src/rom3.c index 7b3051b86..a9433695d 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -30,10 +30,10 @@ static EWRAM_DATA u8 gUnknown_020238C6 = 0; extern u32 gUnknown_020239FC; extern u8 gBattleBufferA[][0x200]; extern u8 gBattleBufferB[][0x200]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u16 gCurrentMove; extern u16 gChosenMove; @@ -43,7 +43,7 @@ extern u8 gBankAttacker; extern u8 gBankTarget; extern u8 gEffectBank; extern u8 gStringBank; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gUnknown_02024C78; extern u8 gBattleOutcome; @@ -120,7 +120,7 @@ void sub_800B950(void) sub_800BD54(); if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) sub_8094978(i, 0); } } @@ -139,7 +139,7 @@ void sub_800B9A8(void) gBanksBySide[0] = 0; gBattleBankFunc[1] = SetBankFuncToOpponentBufferRunCommand; gBanksBySide[1] = 1; - gNoOfAllBanks = 2; + gBattlersCount = 2; } else { @@ -152,7 +152,7 @@ void sub_800B9A8(void) gBanksBySide[2] = 2; gBattleBankFunc[3] = SetBankFuncToOpponentBufferRunCommand; gBanksBySide[3] = 3; - gNoOfAllBanks = 4; + gBattlersCount = 4; } } @@ -170,7 +170,7 @@ void sub_800BA78(void) gBanksBySide[0] = 0; gBattleBankFunc[1] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[1] = 1; - gNoOfAllBanks = 2; + gBattlersCount = 2; } else { @@ -178,7 +178,7 @@ void sub_800BA78(void) gBanksBySide[1] = 0; gBattleBankFunc[0] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[0] = 1; - gNoOfAllBanks = 2; + gBattlersCount = 2; } return; } @@ -195,7 +195,7 @@ void sub_800BA78(void) gBanksBySide[2] = 2; gBattleBankFunc[3] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[3] = 3; - gNoOfAllBanks = 4; + gBattlersCount = 4; } else { @@ -207,7 +207,7 @@ void sub_800BA78(void) gBanksBySide[3] = 2; gBattleBankFunc[2] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[2] = 3; - gNoOfAllBanks = 4; + gBattlersCount = 4; } return; @@ -237,12 +237,12 @@ void sub_800BA78(void) case 0: case 3: gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -257,12 +257,12 @@ void sub_800BA78(void) case 0: case 3: gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -274,18 +274,18 @@ void sub_800BA78(void) case 0: case 3: gBanksBySide[gLinkPlayers[i].lp_field_18] = 1; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: gBanksBySide[gLinkPlayers[i].lp_field_18] = 3; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } } } - gNoOfAllBanks = 4; + gBattlersCount = 4; } void sub_800BD54(void) @@ -295,7 +295,7 @@ void sub_800BD54(void) if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { for (j = 0; j < 6; j++) { @@ -308,7 +308,7 @@ void sub_800BD54(void) && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -319,7 +319,7 @@ void sub_800BD54(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -332,9 +332,9 @@ void sub_800BD54(void) && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES) != 0 //Probably a typo by Game Freak. The rest use SPECIES2 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0 - && gBattlePartyID[i - 2] != j) + && gBattlerPartyIndexes[i - 2] != j) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -344,9 +344,9 @@ void sub_800BD54(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != 0 && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0 - && gBattlePartyID[i - 2] != j) + && gBattlerPartyIndexes[i - 2] != j) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -371,14 +371,14 @@ void PrepareBufferDataTransfer(u8 a, u8 *data, u16 size) case 0: for (i = 0; i < size; i++) { - gBattleBufferA[gActiveBank][i] = *data; + gBattleBufferA[gActiveBattler][i] = *data; data++; } break; case 1: for (i = 0; i < size; i++) { - gBattleBufferB[gActiveBank][i] = *data; + gBattleBufferB[gActiveBattler][i] = *data; data++; } break; @@ -416,12 +416,12 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) } ewram14000arr(0, gTasks[gUnknown_020238C4].data[14]) = a; - ewram14000arr(1, gTasks[gUnknown_020238C4].data[14]) = gActiveBank; + ewram14000arr(1, gTasks[gUnknown_020238C4].data[14]) = gActiveBattler; ewram14000arr(2, gTasks[gUnknown_020238C4].data[14]) = gBankAttacker; ewram14000arr(3, gTasks[gUnknown_020238C4].data[14]) = gBankTarget; ewram14000arr(4, gTasks[gUnknown_020238C4].data[14]) = r9; ewram14000arr(5, gTasks[gUnknown_020238C4].data[14]) = (r9 & 0x0000FF00) >> 8; - ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBankFlags; + ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBattlerFlags; ewram14000arr(7, gTasks[gUnknown_020238C4].data[14]) = gEffectBank; for (i = 0; i < size; i++) @@ -563,7 +563,7 @@ void sub_800C47C(u8 taskId) { gBankAttacker = ewram15000arr(2, gTasks[taskId].data[15]); gBankTarget = ewram15000arr(3, gTasks[taskId].data[15]); - gAbsentBankFlags = ewram15000arr(6, gTasks[taskId].data[15]); + gAbsentBattlerFlags = ewram15000arr(6, gTasks[taskId].data[15]); gEffectBank = ewram15000arr(7, gTasks[taskId].data[15]); } break; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 4be3390ee..cccedc89c 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -27,7 +27,7 @@ #define NUM_BATTLE_SLOTS 4 -#define gBattleMonPartyPositions gBattlePartyID +#define gBattleMonPartyPositions gBattlerPartyIndexes #define gCastformElevations gUnknownCastformData_0837F5A8 #define gCastformBackSpriteYCoords gUnknown_0837F5AC #define gTransformPersonalities gTransformedPersonalities @@ -70,7 +70,7 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern s16 gBattleAnimArgs[8]; extern u8 gBanksBySide[NUM_BATTLE_SLOTS]; -extern u8 gNoOfAllBanks; // gNumBattleMons? +extern u8 gBattlersCount; // gNumBattleMons? extern struct OamMatrix gOamMatrices[]; extern struct Struct_2017810 unk_2017810[]; extern u8 gAnimFriendship; @@ -154,7 +154,7 @@ const struct SpriteSheet gUnknown_0837F5E0[] = // pkmn_form.c -u8 GetBankPosition(u8 slot, u8 a2) +u8 GetBattlerSpriteCoord(u8 slot, u8 a2) { u8 var; u16 species; @@ -169,10 +169,10 @@ u8 GetBankPosition(u8 slot, u8 a2) { case 0: case 2: - var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_0; + var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_0; break; case 1: - var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1; + var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_1; break; case 3: case 4: @@ -186,7 +186,7 @@ u8 GetBankPosition(u8 slot, u8 a2) } else { - if (GetBankSide(slot)) + if (GetBattlerSide(slot)) { transform = &eTransformStatuses[slot]; if (!transform->species) @@ -220,7 +220,7 @@ u8 sub_8077BFC(u8 slot, u16 species) u8 ret; u16 var; - if (GetBankSide(slot) == 0 || IsContest()) + if (GetBattlerSide(slot) == 0 || IsContest()) { if (species == SPECIES_UNOWN) { @@ -294,7 +294,7 @@ u8 sub_8077BFC(u8 slot, u16 species) u8 sub_8077DD8(u8 slot, u16 species) { u8 ret = 0; - if (GetBankSide(slot) == 1) + if (GetBattlerSide(slot) == 1) { if (!IsContest()) { @@ -314,7 +314,7 @@ u8 sub_8077E44(u8 slot, u16 species, u8 a3) u16 offset; u8 y; - if (GetBankSide(slot) == 0 || IsContest()) + if (GetBattlerSide(slot) == 0 || IsContest()) { offset = sub_8077BFC(slot, species); } @@ -323,10 +323,10 @@ u8 sub_8077E44(u8 slot, u16 species, u8 a3) offset = sub_8077BFC(slot, species); offset -= sub_8077DD8(slot, species); } - y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1; + y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_1; if (a3) { - if (GetBankSide(slot) == 0) + if (GetBattlerSide(slot) == 0) y += 8; if (y > 104) y = 104; @@ -362,22 +362,22 @@ u8 sub_8077EE4(u8 slot, u8 a2) } else { - return GetBankPosition(slot, a2); + return GetBattlerSpriteCoord(slot, a2); } } u8 sub_8077F68(u8 slot) { - return GetBankPosition(slot, 4); + return GetBattlerSpriteCoord(slot, 4); } u8 sub_8077F7C(u8 slot) { u16 var; - if (GetBankSide(slot) != 0) - var = GetBankPosition(slot, 1) + 16; + if (GetBattlerSide(slot) != 0) + var = GetBattlerSpriteCoord(slot, 1) + 16; else - var = GetBankPosition(slot, 1) + 17; + var = GetBattlerSpriteCoord(slot, 1) + 17; return var; } @@ -387,10 +387,10 @@ u8 sub_8077FC0(u8 slot) u8 r6; struct TransformStatus *transform; - r6 = GetBankPosition(slot, 1); + r6 = GetBattlerSpriteCoord(slot, 1); if (!IsContest()) { - if (GetBankSide(slot) != 0) + if (GetBattlerSide(slot) != 0) { transform = &eTransformStatuses[slot]; if (!transform->species) { @@ -407,13 +407,13 @@ u8 sub_8077FC0(u8 slot) else var = transform->species; } - if (GetBankSide(slot) != 0) + if (GetBattlerSide(slot) != 0) r6 -= sub_8077DD8(slot, var); } return r6; } -u8 GetAnimBankSpriteId(u8 whichBank) +u8 GetAnimBattlerSpriteId(u8 whichBank) { u8 *sprites; @@ -634,8 +634,8 @@ void unref_sub_8078414(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x + sprite->pos2.x; sprite->data[3] = sprite->pos1.y + sprite->pos2.y; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = sub_80782F8; } @@ -702,8 +702,8 @@ void unref_sub_8078588(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x + sprite->pos2.x; sprite->data[3] = sprite->pos1.y + sprite->pos2.y; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = sub_80782F8; } @@ -741,14 +741,14 @@ void sub_8078634(u8 task) void sub_8078650(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } void sub_807867C(struct Sprite *sprite, s16 a2) { - u16 v1 = GetBankPosition(gAnimBankAttacker, 0); - u16 v2 = GetBankPosition(gAnimBankTarget, 0); + u16 v1 = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + u16 v2 = GetBattlerSpriteCoord(gAnimBankTarget, 0); if (v1 > v2) { @@ -760,7 +760,7 @@ void sub_807867C(struct Sprite *sprite, s16 a2) } else { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) sprite->pos1.x -= a2; else sprite->pos1.x += a2; @@ -820,21 +820,21 @@ void InitAnimSpritePos(struct Sprite *sprite, u8 a2) sprite->pos1.y += gBattleAnimArgs[1]; } -u8 GetBankSide(u8 slot) +u8 GetBattlerSide(u8 slot) { return gBanksBySide[slot] & 1; } -u8 GetBankIdentity(u8 slot) +u8 GetBattlerPosition(u8 slot) { return gBanksBySide[slot]; } -u8 GetBankByIdentity(u8 slot) +u8 GetBattlerAtPosition(u8 slot) { u8 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBanksBySide[i] == slot) break; @@ -856,7 +856,7 @@ bool8 IsBankSpritePresent(u8 slot) { if (gBanksBySide[slot] == 0xff) return FALSE; - if (GetBankSide(slot) != SIDE_PLAYER) + if (GetBattlerSide(slot) != B_SIDE_PLAYER) { if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) return TRUE; @@ -899,7 +899,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk) unk->field_4 = (u8 *)(VRAM + 0xf000); unk->field_8 = 0xe; } - else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + else if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) { unk->field_0 = (u8 *)(VRAM + 0x4000); unk->field_4 = (u8 *)(VRAM + 0xe000); @@ -1159,7 +1159,7 @@ bool8 sub_8078E38() { if (IsContest()) { - if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) + if (gSprites[GetAnimBattlerSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) return FALSE; return TRUE; } @@ -1338,25 +1338,25 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) } } else { if (a1) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(0))) { - var |= 1 << (GetBankByIdentity(0) + 16); + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(0))) { + var |= 1 << (GetBattlerAtPosition(0) + 16); } } if (a2) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(2))) { - shift = GetBankByIdentity(2) + 16; + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(2))) { + shift = GetBattlerAtPosition(2) + 16; var |= 1 << shift; } } if (a3) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(1))) { - shift = GetBankByIdentity(1) + 16; + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(1))) { + shift = GetBattlerAtPosition(1) + 16; var |= 1 << shift; } } if (a4) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(3))) { - shift = GetBankByIdentity(3) + 16; + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(3))) { + shift = GetBattlerAtPosition(3) + 16; var |= 1 << shift; } } @@ -1371,7 +1371,7 @@ u8 sub_80793A8(u8 a1) u8 unref_sub_80793B0(u8 a1) { - return GetBankByIdentity(a1); + return GetBattlerAtPosition(a1); } void sub_80793C4(struct Sprite *sprite) @@ -1421,12 +1421,12 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) v2 = 1; InitAnimSpritePos(sprite, v1); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, v2) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, v2) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -1434,11 +1434,11 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) void sub_80794A8(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); sprite->callback = sub_8079518; @@ -1474,12 +1474,12 @@ void sub_8079534(struct Sprite *sprite) sub_8078764(sprite, r4); slot = gAnimBankTarget; } - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sub_8078764(sprite, r4); sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(slot, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(slot, r7) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(slot, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(slot, r7) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -1487,7 +1487,7 @@ void sub_8079534(struct Sprite *sprite) s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) { u16 i; - u8 sprite = GetAnimBankSpriteId(a1); + u8 sprite = GetAnimBattlerSpriteId(a1); if (sprite != 0xff) { @@ -1573,7 +1573,7 @@ void sub_80796F8(u8 taskId) // arg 4: number of times to blend in and out void AnimTask_BlendMonInAndOut(u8 task) { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) { DestroyAnimVisualTask(task); @@ -1767,7 +1767,7 @@ u16 sub_8079B10(u8 sprite) } else { - if (!GetBankSide(i)) + if (!GetBattlerSide(i)) { transform = &eTransformStatuses[slot]; if (!transform->species) @@ -1872,7 +1872,7 @@ void sub_8079E24() { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (IsAnimBankSpriteVisible(i)) { @@ -1896,12 +1896,12 @@ u8 sub_8079E90(u8 bank) } else { - identity = GetBankIdentity(bank); - if (identity == IDENTITY_PLAYER_MON1) + identity = GetBattlerPosition(bank); + if (identity == B_POSITION_PLAYER_LEFT) ret = 30; - else if (identity == IDENTITY_PLAYER_MON2) + else if (identity == B_POSITION_PLAYER_RIGHT) ret = 20; - else if (identity == IDENTITY_OPPONENT_MON1) + else if (identity == B_POSITION_OPPONENT_LEFT) ret = 40; else ret = 50; @@ -1911,7 +1911,7 @@ u8 sub_8079E90(u8 bank) u8 sub_8079ED4(u8 slot) { - u8 status = GetBankIdentity(slot); + u8 status = GetBattlerPosition(slot); if (IsContest()) return 2; @@ -1921,13 +1921,13 @@ u8 sub_8079ED4(u8 slot) return BG1CNT.priority; } -u8 GetBankIdentity_permutated(u8 slot) +u8 GetBattlerPosition_permutated(u8 slot) { u8 status; if (!IsContest()) { - status = GetBankIdentity(slot); + status = GetBattlerPosition(slot); if (status == 0 || status == 3) return 2; else @@ -2037,7 +2037,7 @@ s16 sub_807A100(u8 slot, u8 a2) } else { - if (!GetBankSide(slot)) + if (!GetBattlerSide(slot)) { transform = &eTransformStatuses[slot]; if (!transform->species) @@ -2112,15 +2112,15 @@ s16 sub_807A100(u8 slot, u8 a2) case 1: return (coords->coords >> 4) * 8; case 4: - return GetBankPosition(slot, 2) - ((coords->coords >> 4) * 4); + return GetBattlerSpriteCoord(slot, 2) - ((coords->coords >> 4) * 4); case 5: - return GetBankPosition(slot, 2) + ((coords->coords >> 4) * 4); + return GetBattlerSpriteCoord(slot, 2) + ((coords->coords >> 4) * 4); case 2: - return GetBankPosition(slot, 3) - ((coords->coords & 0xf) * 4); + return GetBattlerSpriteCoord(slot, 3) - ((coords->coords & 0xf) * 4); case 3: - return GetBankPosition(slot, 3) + ((coords->coords & 0xf) * 4); + return GetBattlerSpriteCoord(slot, 3) + ((coords->coords & 0xf) * 4); case 6: - ret = GetBankPosition(slot, 1) + 0x1f; + ret = GetBattlerSpriteCoord(slot, 1) + 0x1f; return ret - coords->y_offset; default: return 0; @@ -2143,12 +2143,12 @@ void SetAverageBattlerPositions(u8 slot, bool8 a2, s16 *x, s16 *y) v1 = 2; v2 = 3; } - v3 = GetBankPosition(slot, v1); - v4 = GetBankPosition(slot, v2); + v3 = GetBattlerSpriteCoord(slot, v1); + v4 = GetBattlerSpriteCoord(slot, v2); if (IsDoubleBattle() && !IsContest()) { - v5 = GetBankPosition(slot ^ 2, v1); - v6 = GetBankPosition(slot ^ 2, v2); + v5 = GetBattlerSpriteCoord(slot ^ 2, v1); + v6 = GetBattlerSpriteCoord(slot ^ 2, v2); } else { @@ -2176,7 +2176,7 @@ u8 sub_807A4A0(int bank, u8 sprite, int species) void sub_807A544(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; @@ -2197,7 +2197,7 @@ void sub_807A544(struct Sprite *sprite) void sub_807A5C4(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] *= -1; @@ -2221,7 +2221,7 @@ void sub_807A5C4(struct Sprite *sprite) void sub_807A63C(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; @@ -2237,8 +2237,8 @@ void sub_807A69C(u8 taskId) u16 src; u16 dest; struct Task *task = &gTasks[taskId]; - task->data[0] = GetAnimBankSpriteId(0); - task->data[1] = (GetBankSide(gAnimBankAttacker)) ? -8 : 8; + task->data[0] = GetAnimBattlerSpriteId(0); + task->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? -8 : 8; task->data[2] = 0; task->data[3] = 0; gSprites[task->data[0]].pos2.x -= task->data[0]; @@ -2318,9 +2318,9 @@ void sub_807A8D4(struct Sprite *sprite) // file_4 void sub_807A908(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (!GetBankSide(gAnimBankAttacker)) + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + if (!GetBattlerSide(gAnimBankAttacker)) sprite->data[0] = 5; else sprite->data[0] = -10; @@ -2346,7 +2346,7 @@ void sub_807A9BC(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4]; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5]; - if (!GetBankSide(gAnimBankTarget)) + if (!GetBattlerSide(gAnimBankTarget)) { x = (u16)gBattleAnimArgs[4] + 30; sprite->pos1.x += x; |