diff options
author | Cameron Hall <camthesaxman@users.noreply.github.com> | 2019-07-30 21:31:27 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-30 21:31:27 -0500 |
commit | bc159dbb03735db55e6a09bb7947dccc70d0532b (patch) | |
tree | 5b27866fe839d0f2f7ae76e0f13580ecea2dd863 /src | |
parent | b8393b3a799f92e7064c266600607d98f6baf4d9 (diff) | |
parent | cf0da4c3bb5658908275068591fe51fb6f2ce49d (diff) |
Merge pull request #752 from camthesaxman/emerald_diff
resolve some Emerald differences
Diffstat (limited to 'src')
64 files changed, 3507 insertions, 3420 deletions
diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index f98623ee6..d3d992bda 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -14,7 +14,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; @@ -233,7 +233,7 @@ static void sub_80DFC9C(u8 taskId) gTasks[taskId].data[2] = 0; if (r2 == 16) { - gSprites[gBankSpriteIds[gBattleAnimAttacker]].invisible = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 1; DestroyAnimVisualTask(taskId); } } @@ -957,12 +957,12 @@ void sub_80E0918(u8 taskId) { u8 toBG2 = GetBattlerPosition_permutated(gBattleAnimAttacker) ^ 1 ? 1 : 0; MoveBattlerSpriteToBG(gBattleAnimAttacker, toBG2); - gSprites[gBankSpriteIds[gBattleAnimAttacker]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 0; if (IsAnimBankSpriteVisible(gBattleAnimAttacker ^ 2)) { MoveBattlerSpriteToBG(gBattleAnimAttacker ^ 2, toBG2 ^ 1); - gSprites[gBankSpriteIds[gBattleAnimAttacker ^ 2]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = 0; } DestroyAnimVisualTask(taskId); @@ -1015,7 +1015,7 @@ void sub_80E0A4C(u8 taskId) { if (IsAnimBankSpriteVisible(gBattleAnimAttacker ^ 2) == TRUE) { - gSprites[gBankSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority--; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority--; REG_BG1CNT_BITFIELD.priority = 1; var0 = 1; } @@ -1101,7 +1101,7 @@ static void sub_80E0CD0(u8 taskId) if (gTasks[taskIdCopy].data[6] == 1) { - gSprites[gBankSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority++; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority++; } DestroyAnimVisualTask(taskIdCopy); @@ -1149,7 +1149,7 @@ void sub_80E0E24(u8 taskId) { bank = GetBattlerAtPosition(identity); if (IsAnimBankSpriteVisible(bank)) - spriteId = gBankSpriteIds[bank]; + spriteId = gBattlerSpriteIds[bank]; else spriteId = 0xFF; } diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c index b59e8aff4..6ac0746a3 100644 --- a/src/battle/anim/dragon.c +++ b/src/battle/anim/dragon.c @@ -8,11 +8,11 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gBankAttacker; +extern u8 gBattlerAttacker; extern u16 gBattle_BG1_X; extern u16 gBattle_BG2_X; extern u16 gUnknown_03000730[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; void sub_80DF5A0(struct Sprite *sprite); void sub_80DF760(struct Sprite *sprite); @@ -286,8 +286,8 @@ void sub_80DF78C(struct Sprite *sprite) sprite->data[4] = 0; sprite->data[5] = 1; sprite->data[6] = gBattleAnimArgs[0]; - r5 = GetBattlerSpriteCoordAttr(gBankAttacker, 0); - r0 = GetBattlerSpriteCoordAttr(gBankAttacker, 1); + r5 = GetBattlerSpriteCoordAttr(gBattlerAttacker, 0); + r0 = GetBattlerSpriteCoordAttr(gBattlerAttacker, 1); if (r5 > r0) sprite->data[7] = r5 / 2; else diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 6b8d8a3b5..8d045c42d 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -8,10 +8,10 @@ #include "constants/battle.h" extern s16 gBattleAnimArgs[]; -extern u8 gBankAttacker; +extern u8 gBattlerAttacker; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u8 gBanksBySide[]; extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; @@ -817,8 +817,8 @@ void sub_80D97CC(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBattlerSpriteCoord(gBankAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3); sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); sprite->data[7] = gBattleAnimTarget; } @@ -919,8 +919,8 @@ void sub_80D9A38(struct Sprite *sprite) if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBattlerSpriteCoord(gBankAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3); bank = gBattleAnimTarget; sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); } diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c index c4bbe8458..2b7ff8d95 100644 --- a/src/battle/anim/ghost.c +++ b/src/battle/anim/ghost.c @@ -11,7 +11,7 @@ #include "constants/songs.h" extern s16 gBattleAnimArgs[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; extern u8 gUnknown_0202F7D2; @@ -1301,7 +1301,7 @@ static void sub_80DF3D8(struct Sprite *sprite) static void sub_80DF49C(struct Sprite *sprite) { sprite->invisible = 1; - sprite->data[5] = gBankSpriteIds[gBattleAnimAttacker]; + sprite->data[5] = gBattlerSpriteIds[gBattleAnimAttacker]; sprite->data[0] = 128; sprite->data[1] = 10; sprite->data[2] = gBattleAnimArgs[0]; diff --git a/src/battle/anim/ground.c b/src/battle/anim/ground.c index 2828be7be..8d342a2f6 100644 --- a/src/battle/anim/ground.c +++ b/src/battle/anim/ground.c @@ -17,7 +17,7 @@ extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern u16 gAnimMovePower; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; static void AnimBonemerangProjectile(struct Sprite *sprite); static void AnimBonemerangProjectileStep(struct Sprite *sprite); @@ -593,7 +593,7 @@ void sub_80E1864(u8 taskId) { if (IsAnimBankSpriteVisible(i)) { - task->data[task->data[13] + 9] = gBankSpriteIds[i]; + task->data[task->data[13] + 9] = gBattlerSpriteIds[i]; task->data[13]++; } } diff --git a/src/battle/anim/ice.c b/src/battle/anim/ice.c index 76300df4b..4002ceec1 100644 --- a/src/battle/anim/ice.c +++ b/src/battle/anim/ice.c @@ -15,7 +15,7 @@ extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; extern u8 gAnimVisualTaskCount; extern u8 gBanksBySide[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; diff --git a/src/battle/anim/lunge.c b/src/battle/anim/lunge.c index 381392e71..f23b34efc 100644 --- a/src/battle/anim/lunge.c +++ b/src/battle/anim/lunge.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; void sub_80CD774(struct Sprite* sprite); void sub_80CD9C4(struct Sprite* sprite); @@ -73,7 +73,7 @@ static void sub_80CD7CC(struct Sprite* sprite) sprite->data[0] = 6; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? 2 : -2; sprite->data[2] = 0; - sprite->data[3] = gBankSpriteIds[gBattleAnimAttacker]; + sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD81C); sprite->callback = TranslateMonBGUntil; } @@ -82,7 +82,7 @@ static void sub_80CD81C(struct Sprite* sprite) { if (sprite->data[0] == 0) { - sprite->data[3] = gBankSpriteIds[gBattleAnimAttacker]; + sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; PrepareBattlerSpriteForRotScale(sprite->data[3], 0); sprite->data[4] = (sprite->data[6] = GetBattlerSide(gBattleAnimAttacker)) ? 0x300 : 0xFFFFFD00; sprite->data[5] = 0; @@ -103,7 +103,7 @@ static void sub_80CD8A8(struct Sprite* sprite) sprite->data[0] = 4; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? -3 : 3; sprite->data[2] = 0; - sprite->data[3] = gBankSpriteIds[gBattleAnimAttacker]; + sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD9B8); sprite->callback = TranslateMonBGUntil; } @@ -121,7 +121,7 @@ static void sub_80CD91C(struct Sprite* sprite) { if (sprite->data[0] == 0) { - sprite->data[3] = gBankSpriteIds[gBattleAnimAttacker]; + sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; sprite->data[6] = GetBattlerSide(gBattleAnimAttacker); if (GetBattlerSide(gBattleAnimAttacker)) { @@ -162,7 +162,7 @@ static void sub_80CD9D4(struct Sprite* sprite) { case 0: sprite->data[1] = 0; - sprite->data[2] = gBankSpriteIds[gBattleAnimAttacker]; + sprite->data[2] = gBattlerSpriteIds[gBattleAnimAttacker]; sprite->data[3] = GetBattlerSide(gBattleAnimAttacker); sprite->data[4] = (sprite->data[3] != 0) ? 0x200 : -0x200; sprite->data[5] = 0; @@ -196,7 +196,7 @@ void sub_80CDAC8(u8 taskId) { u8 a; - gTasks[taskId].data[0] = gBankSpriteIds[gBattleAnimAttacker]; + gTasks[taskId].data[0] = gBattlerSpriteIds[gBattleAnimAttacker]; a = GetBattlerSide(gBattleAnimAttacker); gTasks[taskId].data[1] = a; gTasks[taskId].data[2] = 0; diff --git a/src/battle/anim/normal.c b/src/battle/anim/normal.c index b611ca62e..ef7f50f00 100644 --- a/src/battle/anim/normal.c +++ b/src/battle/anim/normal.c @@ -16,14 +16,14 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; extern u8 gBattlersCount; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u8 gBattleTerrain; extern u16 gBattlerPartyIndexes[]; -extern u8 gBankTarget; -extern u8 gEffectBank; -extern u8 gBankAttacker; +extern u8 gBattlerTarget; +extern u8 gEffectBattler; +extern u8 gBattlerAttacker; extern u8 gAnimVisualTaskCount; extern const u8 gUnknown_08D20A14[]; @@ -702,7 +702,7 @@ void unref_sub_80E23A8(u8 taskId) if (gTasks[taskId].data[2] & 0x1) { - paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxIDs[attackerBattler]].template->paletteTag); + paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxSpriteIds[attackerBattler]].template->paletteTag); selectedPalettes |= ((1 << paletteIndex) << 16); } @@ -781,7 +781,7 @@ static void sub_80E255C(struct Sprite *sprite) if (var0 < 2) { for (i = 0; i < gBattlersCount; i++) - gSprites[gBankSpriteIds[i]].coordOffsetEnabled = 0; + gSprites[gBattlerSpriteIds[i]].coordOffsetEnabled = 0; } DestroyAnimSprite(sprite); @@ -790,20 +790,20 @@ static void sub_80E255C(struct Sprite *sprite) static void sub_80E260C(void) { - gSprites[gBankSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 0; - gSprites[gBankSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 0; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 0; if (gBattleAnimArgs[4] == 2) { - gSprites[gBankSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1; - gSprites[gBankSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1; } else { if (gBattleAnimArgs[4] == 0) - gSprites[gBankSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1; else - gSprites[gBankSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1; } } @@ -1206,7 +1206,7 @@ void sub_80E2F2C(u8 taskId) { if (IsAnimBankSpriteVisible(gBattleAnimAttacker ^ 2) == TRUE) { - gSprites[gBankSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority -= 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority -= 1; REG_BG1CNT_BITFIELD.priority = 1; var0 = 1; } @@ -1275,7 +1275,7 @@ static void sub_80E3194(u8 taskId) sub_8078914(&subStruct); DmaFill32Defvars(3, 0, subStruct.field_4, 0x800); if (gTasks[taskId].data[6] == 1) - gSprites[gBankSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority++; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].oam.priority++; REG_BG1CNT_BITFIELD.areaOverflowMode = 0; do {} while(0); // needed to match. perhaps part of a debug macro @@ -1343,7 +1343,7 @@ static void sub_80E3338(u8 taskId) { if (IsAnimBankSpriteVisible(battler2) == TRUE) { - gSprites[gBankSpriteIds[battler2]].oam.priority -= 1; + gSprites[gBattlerSpriteIds[battler2]].oam.priority -= 1; REG_BG1CNT_BITFIELD.priority = 1; var0 = 1; } @@ -1362,9 +1362,9 @@ static void sub_80E3338(u8 taskId) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES); } - spriteId = sub_807A4A0(battler1, gBankSpriteIds[battler1], species); + spriteId = sub_807A4A0(battler1, gBattlerSpriteIds[battler1], species); if (taskData[3]) - spriteId2 = sub_807A4A0(battler2, gBankSpriteIds[battler2], species); + spriteId2 = sub_807A4A0(battler2, gBattlerSpriteIds[battler2], species); sub_8078914(&subStruct); if (taskData[0] == 0) @@ -1422,7 +1422,7 @@ static void sub_80E3338(u8 taskId) gTasks[taskId].data[2] = taskData[3]; gTasks[taskId].data[3] = spriteId2; gTasks[taskId].data[6] = var0; - gTasks[taskId].data[7] = gBankSpriteIds[battler2]; + gTasks[taskId].data[7] = gBattlerSpriteIds[battler2]; gTasks[taskId].func = sub_80E3704; if (taskData[0] == 0) @@ -1648,7 +1648,7 @@ void sub_80E3BDC(u8 taskId) for (i = 0; i < 4; i++) { if (i != gBattleAnimAttacker && IsAnimBankSpriteVisible(i)) - gSprites[gBankSpriteIds[i]].invisible = gBattleAnimArgs[0]; + gSprites[gBattlerSpriteIds[i]].invisible = gBattleAnimArgs[0]; } DestroyAnimVisualTask(taskId); @@ -1692,9 +1692,9 @@ void sub_80E3C4C(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES); } - spriteId = sub_807A4A0(battler1, gBankSpriteIds[battler1], species); + spriteId = sub_807A4A0(battler1, gBattlerSpriteIds[battler1], species); if (arg4) - spriteId2 = sub_807A4A0(battler2, gBankSpriteIds[battler2], species); + spriteId2 = sub_807A4A0(battler2, gBattlerSpriteIds[battler2], species); sub_8078914(&subStruct); LZDecompressVram(arg9, subStruct.field_4); @@ -1884,8 +1884,8 @@ void sub_80E4200(u8 taskId) void sub_80E4234(u8 taskId) { - gBattleAnimAttacker = gBankTarget; - gBattleAnimTarget = gEffectBank; + gBattleAnimAttacker = gBattlerTarget; + gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); } @@ -1901,14 +1901,14 @@ void sub_80E4264(u8 taskId) void sub_80E42B0(u8 taskId) { - gBattleAnimTarget = gBankTarget; + gBattleAnimTarget = gBattlerTarget; DestroyAnimVisualTask(taskId); } void sub_80E42D0(u8 taskId) { - gBattleAnimAttacker = gBankAttacker; - gBattleAnimTarget = gEffectBank; + gBattleAnimAttacker = gBattlerAttacker; + gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); } diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 84673097e..84a7741e1 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -14,7 +14,7 @@ extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; extern u16 gBattle_BG1_X; extern u16 gBattle_BG2_X; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; void sub_80DB74C(struct Sprite *sprite); void sub_80DBA4C(struct Sprite *sprite); @@ -524,11 +524,11 @@ static void sub_80DB92C(struct Sprite *sprite) u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); if (IsAnimBankSpriteVisible(bank)) - gSprites[gBankSpriteIds[bank]].invisible = 0; + gSprites[gBattlerSpriteIds[bank]].invisible = 0; bank = bankCopy ^ 2; if (IsAnimBankSpriteVisible(bank)) - gSprites[gBankSpriteIds[bank]].invisible = 0; + gSprites[gBattlerSpriteIds[bank]].invisible = 0; } sprite->invisible = 1; diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c index 398671249..69e903921 100644 --- a/src/battle/anim/ring.c +++ b/src/battle/anim/ring.c @@ -10,7 +10,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; void sub_80D0FD8(struct Sprite* sprite); void sub_80D10B8(struct Sprite* sprite); @@ -284,23 +284,23 @@ void sub_80D10B8(struct Sprite* sprite) { r9 = GetBattlerSpriteCoord(bankr7, r10) + gBattleAnimArgs[0]; if (IsAnimBankSpriteVisible(bankr8 ^ 2)) - sprite->subpriority = gSprites[gBankSpriteIds[bankr8 ^ 2]].subpriority - 1; + sprite->subpriority = gSprites[gBattlerSpriteIds[bankr8 ^ 2]].subpriority - 1; else - sprite->subpriority = gSprites[gBankSpriteIds[bankr8]].subpriority - 1; + sprite->subpriority = gSprites[gBattlerSpriteIds[bankr8]].subpriority - 1; } else { r9 = GetBattlerSpriteCoord(bankr7, r10) - gBattleAnimArgs[0]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr7 ^ 2)) { - if (gSprites[gBankSpriteIds[bankr7]].pos1.x < gSprites[gBankSpriteIds[bankr7 ^ 2]].pos1.x) - sprite->subpriority = gSprites[gBankSpriteIds[bankr7 ^ 2]].subpriority + 1; + if (gSprites[gBattlerSpriteIds[bankr7]].pos1.x < gSprites[gBattlerSpriteIds[bankr7 ^ 2]].pos1.x) + sprite->subpriority = gSprites[gBattlerSpriteIds[bankr7 ^ 2]].subpriority + 1; else - sprite->subpriority = gSprites[gBankSpriteIds[bankr7]].subpriority - 1; + sprite->subpriority = gSprites[gBattlerSpriteIds[bankr7]].subpriority - 1; } else { - sprite->subpriority = gSprites[gBankSpriteIds[bankr7]].subpriority - 1; + sprite->subpriority = gSprites[gBattlerSpriteIds[bankr7]].subpriority - 1; } } diff --git a/src/battle/anim/tile.c b/src/battle/anim/tile.c index 34695ecf4..2775eba97 100644 --- a/src/battle/anim/tile.c +++ b/src/battle/anim/tile.c @@ -9,7 +9,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; extern u8 gBattlersCount; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; void sub_80CE09C(struct Sprite* sprite); void sub_80CE17C(struct Sprite* sprite); @@ -198,10 +198,10 @@ void unref_sub_80CE260(u8 taskId) for (i = 0; i < gBattlersCount; i++) { if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == 0) - sub_8043DB0(gHealthboxIDs[i]); + sub_8043DB0(gHealthboxSpriteIds[i]); if (gBattleAnimArgs[1] == 1 && GetBattlerSide(i) == 1) - sub_8043DB0(gHealthboxIDs[i]); + sub_8043DB0(gHealthboxSpriteIds[i]); } DestroyAnimVisualTask(taskId); @@ -212,7 +212,7 @@ void unref_sub_80CE2D4(u8 taskId) u8 i; for (i = 0; i < gBattlersCount; i++) { - sub_8043DFC(gHealthboxIDs[i]); + sub_8043DFC(gHealthboxSpriteIds[i]); } DestroyAnimVisualTask(taskId); diff --git a/src/battle/anim/unused_7.c b/src/battle/anim/unused_7.c index f4acbbf7e..1ab6663f1 100644 --- a/src/battle/anim/unused_7.c +++ b/src/battle/anim/unused_7.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; void sub_80CF3C4(struct Sprite* sprite); @@ -45,7 +45,7 @@ void sub_80CF3C4(struct Sprite* sprite) u8 a; sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); - a = gBankSpriteIds[gBattleAnimTarget]; + a = gBattlerSpriteIds[gBattleAnimTarget]; if (GetBattlerSide(gBattleAnimAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c index f089c799a..9c7f62c12 100644 --- a/src/battle/anim/wisp_fire.c +++ b/src/battle/anim/wisp_fire.c @@ -9,7 +9,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimTarget; extern u8 gBattleAnimAttacker; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; void sub_80D5CC0(struct Sprite *sprite); static void sub_80D5E4C(u8 taskId); @@ -211,7 +211,7 @@ void sub_80D60B4(u8 taskId) } gTasks[taskId].data[0]++; - spriteId = gBankSpriteIds[gBattleAnimTarget]; + spriteId = gBattlerSpriteIds[gBattleAnimTarget]; if (!gTasks[taskId].data[4]) unk = gUnknown_083D9794[gTasks[taskId].data[0] % 10]; diff --git a/src/battle/anim/withdraw.c b/src/battle/anim/withdraw.c index f5babd361..6c26fb891 100644 --- a/src/battle/anim/withdraw.c +++ b/src/battle/anim/withdraw.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; static void sub_80CF514(u8 taskId); @@ -17,13 +17,13 @@ static void sub_80CF514(u8 taskId); void sub_80CF4D8(u8 taskId) { - PrepareBattlerSpriteForRotScale(gBankSpriteIds[gBattleAnimAttacker], 0); + PrepareBattlerSpriteForRotScale(gBattlerSpriteIds[gBattleAnimAttacker], 0); gTasks[taskId].func = sub_80CF514; } void sub_80CF514(u8 taskId) { - u8 a = gBankSpriteIds[gBattleAnimAttacker]; + u8 a = gBattlerSpriteIds[gBattleAnimAttacker]; s16 b; if (GetBattlerSide(gBattleAnimAttacker) == 0) { diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 57fb479e9..0c8b8fb1b 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -21,8 +21,8 @@ extern u8 gActiveBattler; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern u16 gCurrentMove; extern int gBattleMoveDamage; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u8 gAbsentBattlerFlags; extern u8 gMoveResultFlags; extern u16 gDynamicBasePower; @@ -318,17 +318,17 @@ void BattleAI_SetupAIData(void) // clear AI stack. AI_STACK->size = 0; - gBankAttacker = gActiveBattler; + gBattlerAttacker = gActiveBattler; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gBankTarget = Random() & 2; // just pick somebody to target. + gBattlerTarget = Random() & 2; // just pick somebody to target. - if (gAbsentBattlerFlags & gBitTable[gBankTarget]) - gBankTarget ^= 2; + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget ^= 2; } else - gBankTarget = gActiveBattler ^ 1; + gBattlerTarget = gActiveBattler ^ 1; // special AI flag cases. if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) @@ -407,13 +407,13 @@ void BattleAI_DoAIProcessing(void) break; case BATTLEAI_SETTING_UP: gAIScriptPtr = BattleAIs[AI_THINKING_STRUCT->aiLogicId]; // set the AI ptr. - if (gBattleMons[gBankAttacker].pp[AI_THINKING_STRUCT->movesetIndex] == 0) + if (gBattleMons[gBattlerAttacker].pp[AI_THINKING_STRUCT->movesetIndex] == 0) { AI_THINKING_STRUCT->moveConsidered = MOVE_NONE; // don't consider a move you have 0 PP for, idiot. } else { - AI_THINKING_STRUCT->moveConsidered = gBattleMons[gBankAttacker].moves[AI_THINKING_STRUCT->movesetIndex]; + AI_THINKING_STRUCT->moveConsidered = gBattleMons[gBattlerAttacker].moves[AI_THINKING_STRUCT->movesetIndex]; } AI_THINKING_STRUCT->aiState++; break; @@ -446,9 +446,9 @@ void sub_810745C(void) for (i = 0; i < 8; i++) { - if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == 0) + if (AI_BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i] == 0) { - AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] = gLastUsedMove[gBankTarget]; + AI_BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i] = gLastUsedMove[gBattlerTarget]; return; } } @@ -521,9 +521,9 @@ static void BattleAICmd_if_hp_less_than(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -536,9 +536,9 @@ static void BattleAICmd_if_hp_more_than(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -551,9 +551,9 @@ static void BattleAICmd_if_hp_equal(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -566,9 +566,9 @@ static void BattleAICmd_if_hp_not_equal(void) u16 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -582,9 +582,9 @@ static void BattleAICmd_if_status(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg = T1_READ_32(gAIScriptPtr + 2); @@ -600,9 +600,9 @@ static void BattleAICmd_if_not_status(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg = T1_READ_32(gAIScriptPtr + 2); @@ -618,9 +618,9 @@ static void BattleAICmd_if_status2(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg = T1_READ_32(gAIScriptPtr + 2); @@ -636,9 +636,9 @@ static void BattleAICmd_if_not_status2(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg = T1_READ_32(gAIScriptPtr + 2); @@ -654,9 +654,9 @@ static void BattleAICmd_if_status3(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg = T1_READ_32(gAIScriptPtr + 2); @@ -672,9 +672,9 @@ static void BattleAICmd_if_not_status3(void) u32 arg; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg = T1_READ_32(gAIScriptPtr + 2); @@ -690,9 +690,9 @@ static void BattleAICmd_if_status4(void) u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); @@ -709,9 +709,9 @@ static void BattleAICmd_if_not_status4(void) u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); @@ -884,8 +884,8 @@ static void BattleAICmd_if_user_can_damage(void) for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBankAttacker].moves[i] != 0 - && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].power != 0) + if (gBattleMons[gBattlerAttacker].moves[i] != 0 + && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].power != 0) break; } if (i == MAX_MON_MOVES) @@ -900,8 +900,8 @@ static void BattleAICmd_if_user_cant_damage(void) for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBankAttacker].moves[i] != 0 - && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].power != 0) + if (gBattleMons[gBattlerAttacker].moves[i] != 0 + && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].power != 0) break; } if (i != MAX_MON_MOVES) @@ -921,16 +921,16 @@ static void BattleAICmd_get_type(void) switch (gAIScriptPtr[1]) { case 1: // player primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBankAttacker].type1; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerAttacker].type1; break; case 0: // enemy primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type1; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type1; break; case 3: // player secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBankAttacker].type2; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerAttacker].type2; break; case 2: // enemy secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type2; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type2; break; case 4: // type of move being pointed to AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].type; @@ -968,18 +968,18 @@ static void BattleAICmd_is_most_powerful_move(void) { for (j = 0; sDiscouragedPowerfulMoveEffects[j] != 0xFFFF; j++) { // _08108276 - if (gBattleMoves[gBattleMons[gBankAttacker].moves[i]].effect == sDiscouragedPowerfulMoveEffects[j]) + if (gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].effect == sDiscouragedPowerfulMoveEffects[j]) break; } // _081082BA - if (gBattleMons[gBankAttacker].moves[i] + if (gBattleMons[gBattlerAttacker].moves[i] && sDiscouragedPowerfulMoveEffects[j] == 0xFFFF - && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].power > 1) + && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].power > 1) { - gCurrentMove = gBattleMons[gBankAttacker].moves[i]; - AI_CalcDmg(gBankAttacker, gBankTarget); - TypeCalc(gCurrentMove, gBankAttacker, gBankTarget); + gCurrentMove = gBattleMons[gBattlerAttacker].moves[i]; + AI_CalcDmg(gBattlerAttacker, gBattlerTarget); + TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget); damages[i] = (gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[i]) / 100; if (damages[i] == 0) // moves always do at least 1 damage. @@ -1085,7 +1085,7 @@ _08108276:\n\ movs r3, 0\n\ ldr r5, _08108348 @ =gBattleMons\n\ lsls r4, r6, 1\n\ - ldr r7, _0810834C @ =gBankAttacker\n\ + ldr r7, _0810834C @ =gBattlerAttacker\n\ lsls r1, r6, 2\n\ mov r8, r1\n\ adds r2, r6, 0x1\n\ @@ -1146,7 +1146,7 @@ _081082BA:\n\ ldr r5, _08108350 @ =gCurrentMove\n\ strh r2, [r5]\n\ ldrb r0, [r7]\n\ - ldr r4, _08108354 @ =gBankTarget\n\ + ldr r4, _08108354 @ =gBattlerTarget\n\ ldrb r1, [r4]\n\ bl AI_CalcDmg\n\ ldrh r0, [r5]\n\ @@ -1180,9 +1180,9 @@ _0810833C: .4byte 0xfffff81c\n\ _08108340: .4byte gMoveResultFlags\n\ _08108344: .4byte gCritMultiplier\n\ _08108348: .4byte gBattleMons\n\ -_0810834C: .4byte gBankAttacker\n\ +_0810834C: .4byte gBattlerAttacker\n\ _08108350: .4byte gCurrentMove\n\ -_08108354: .4byte gBankTarget\n\ +_08108354: .4byte gBattlerTarget\n\ _08108358: .4byte gBattleMoveDamage\n\ _0810835C:\n\ mov r1, sp\n\ @@ -1256,9 +1256,9 @@ _081083D0: .4byte gAIScriptPtr\n\ static void BattleAICmd_get_move(void) { if (gAIScriptPtr[1] == USER) - AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBankAttacker]; + AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBattlerAttacker]; else - AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBankTarget]; + AI_THINKING_STRUCT->funcResult = gLastUsedMove[gBattlerTarget]; gAIScriptPtr += 2; } @@ -1281,7 +1281,7 @@ static void BattleAICmd_if_arg_not_equal(void) static void BattleAICmd_if_would_go_first(void) { - if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, TRUE) == gAIScriptPtr[1]) + if (GetWhoStrikesFirst(gBattlerAttacker, gBattlerTarget, TRUE) == gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1289,7 +1289,7 @@ static void BattleAICmd_if_would_go_first(void) static void BattleAICmd_if_would_not_go_first(void) { - if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, TRUE) != gAIScriptPtr[1]) + if (GetWhoStrikesFirst(gBattlerAttacker, gBattlerTarget, TRUE) != gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1313,9 +1313,9 @@ static void BattleAICmd_count_alive_pokemon(void) AI_THINKING_STRUCT->funcResult = 0; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if (GetBattlerSide(index) == 0) party = gPlayerParty; @@ -1366,9 +1366,9 @@ static void BattleAICmd_get_ability(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if (GetBattlerSide(index) == TARGET) { @@ -1437,11 +1437,11 @@ static void BattleAICmd_get_highest_possible_damage(void) for (i = 0; i < MAX_MON_MOVES; i++) { gBattleMoveDamage = 40; - gCurrentMove = gBattleMons[gBankAttacker].moves[i]; + gCurrentMove = gBattleMons[gBattlerAttacker].moves[i]; if (gCurrentMove) { - TypeCalc(gCurrentMove, gBankAttacker, gBankTarget); + TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget); // reduce by 1/3. if (gBattleMoveDamage == 120) @@ -1476,7 +1476,7 @@ static void BattleAICmd_if_damage_bonus(void) gBattleMoveDamage = 40; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - TypeCalc(gCurrentMove, gBankAttacker, gBankTarget); + TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget); if (gBattleMoveDamage == 120) gBattleMoveDamage = 80; @@ -1611,9 +1611,9 @@ static void BattleAICmd_if_stat_level_less_than(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gBankAttacker; + party = gBattlerAttacker; else - party = gBankTarget; + party = gBattlerTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); @@ -1626,9 +1626,9 @@ static void BattleAICmd_if_stat_level_more_than(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gBankAttacker; + party = gBattlerAttacker; else - party = gBankTarget; + party = gBattlerTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); @@ -1641,9 +1641,9 @@ static void BattleAICmd_if_stat_level_equal(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gBankAttacker; + party = gBattlerAttacker; else - party = gBankTarget; + party = gBattlerTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); @@ -1656,9 +1656,9 @@ static void BattleAICmd_if_stat_level_not_equal(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gBankAttacker; + party = gBattlerAttacker; else - party = gBankTarget; + party = gBattlerTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); @@ -1680,8 +1680,8 @@ static void BattleAICmd_if_can_faint(void) gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - AI_CalcDmg(gBankAttacker, gBankTarget); - TypeCalc(gCurrentMove, gBankAttacker, gBankTarget); + AI_CalcDmg(gBattlerAttacker, gBattlerTarget); + TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget); gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; @@ -1689,7 +1689,7 @@ static void BattleAICmd_if_can_faint(void) if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1709,14 +1709,14 @@ static void BattleAICmd_if_cant_faint(void) gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - AI_CalcDmg(gBankAttacker, gBankTarget); - TypeCalc(gCurrentMove, gBankAttacker, gBankTarget); + AI_CalcDmg(gBattlerAttacker, gBattlerTarget); + TypeCalc(gCurrentMove, gBattlerAttacker, gBattlerTarget); gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; // this macro is missing the damage 0 = 1 assumption. - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1733,7 +1733,7 @@ static void BattleAICmd_if_has_move(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBankAttacker].moves[i] == *temp_ptr) + if (gBattleMons[gBattlerAttacker].moves[i] == *temp_ptr) break; } if (i == MAX_MON_MOVES) @@ -1745,7 +1745,7 @@ static void BattleAICmd_if_has_move(void) case 2: for (i = 0; i < 8; i++) { - if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == *temp_ptr) + if (AI_BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i] == *temp_ptr) break; } if (i == 8) @@ -1767,7 +1767,7 @@ static void BattleAICmd_if_dont_have_move(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBankAttacker].moves[i] == *temp_ptr) + if (gBattleMons[gBattlerAttacker].moves[i] == *temp_ptr) break; } if (i != MAX_MON_MOVES) @@ -1779,7 +1779,7 @@ static void BattleAICmd_if_dont_have_move(void) case 2: for (i = 0; i < 8; i++) { - if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == *temp_ptr) + if (AI_BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i] == *temp_ptr) break; } if (i != 8) @@ -1800,7 +1800,7 @@ static void BattleAICmd_if_move_effect(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != MAX_MON_MOVES) @@ -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[AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[AI_BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -1829,7 +1829,7 @@ static void BattleAICmd_if_not_move_effect(void) case 3: for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBankAttacker].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != MAX_MON_MOVES) @@ -1841,7 +1841,7 @@ static void BattleAICmd_if_not_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] != 0 && gBattleMoves[AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) + if (AI_BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i] != 0 && gBattleMoves[AI_BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr += 7; @@ -1853,9 +1853,9 @@ static void BattleAICmd_if_last_move_did_damage(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if (gAIScriptPtr[2] == 0) { @@ -1932,9 +1932,9 @@ static void BattleAICmd_get_hold_effect(void) u16 side; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; if (GetBattlerSide(index) == 0) { @@ -1952,9 +1952,9 @@ static void BattleAICmd_get_gender(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[index].species, gBattleMons[index].personality); @@ -1966,9 +1966,9 @@ static void BattleAICmd_is_first_turn(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; AI_THINKING_STRUCT->funcResult = gDisableStructs[index].isFirstTurn; @@ -1980,9 +1980,9 @@ static void BattleAICmd_get_stockpile_count(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; AI_THINKING_STRUCT->funcResult = gDisableStructs[index].stockpileCounter; @@ -2001,9 +2001,9 @@ static void BattleAICmd_get_used_item(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; AI_THINKING_STRUCT->funcResult = AI_ARRAY_160CC(index); @@ -2036,9 +2036,9 @@ static void BattleAICmd_get_protect_count(void) u8 index; if (gAIScriptPtr[1] == USER) - index = gBankAttacker; + index = gBattlerAttacker; else - index = gBankTarget; + index = gBattlerTarget; AI_THINKING_STRUCT->funcResult = gDisableStructs[index].protectUses; @@ -2091,7 +2091,7 @@ static void BattleAICmd_if_level_compare(void) switch (gAIScriptPtr[1]) { case 0: // greater than - if (gBattleMons[gBankAttacker].level > gBattleMons[gBankTarget].level) + if (gBattleMons[gBattlerAttacker].level > gBattleMons[gBattlerTarget].level) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; @@ -2099,7 +2099,7 @@ static void BattleAICmd_if_level_compare(void) gAIScriptPtr += 6; return; case 1: // less than - if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) + if (gBattleMons[gBattlerAttacker].level < gBattleMons[gBattlerTarget].level) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; @@ -2107,7 +2107,7 @@ static void BattleAICmd_if_level_compare(void) gAIScriptPtr += 6; return; case 2: // equal - if (gBattleMons[gBankAttacker].level == gBattleMons[gBankTarget].level) + if (gBattleMons[gBattlerAttacker].level == gBattleMons[gBattlerTarget].level) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; @@ -2119,7 +2119,7 @@ static void BattleAICmd_if_level_compare(void) static void BattleAICmd_if_taunted(void) { - if (gDisableStructs[gBankTarget].tauntTimer1 != 0) + if (gDisableStructs[gBattlerTarget].tauntTimer1 != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -2127,7 +2127,7 @@ static void BattleAICmd_if_taunted(void) static void BattleAICmd_if_not_taunted(void) { - if (gDisableStructs[gBankTarget].tauntTimer1 == 0) + if (gDisableStructs[gBattlerTarget].tauntTimer1 == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 2cf11b50e..9da56a220 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -40,7 +40,7 @@ static bool8 ShouldSwitchIfPerishSong(void) && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = 6; - Emitcmd33(1, 2, 0); + BtlController_EmitTwoReturnValues(1, 2, 0); return TRUE; } @@ -97,7 +97,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) { // we found a mon ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = i; - Emitcmd33(1, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } } @@ -137,7 +137,7 @@ _08036070:\n\ movs r0, 0x1\n\ movs r1, 0x2\n\ movs r2, 0\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ movs r0, 0x1\n\ b _080361CA\n\ .align 2, 0\n\ @@ -376,7 +376,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) { // we found a mon ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; - Emitcmd33(1, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } } @@ -396,13 +396,13 @@ static bool8 ShouldSwitchIfNaturalCure(void) if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) { ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; - Emitcmd33(1, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(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); + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } @@ -413,7 +413,7 @@ static bool8 ShouldSwitchIfNaturalCure(void) if (Random() & 1) { ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; - Emitcmd33(1, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } @@ -557,7 +557,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; - Emitcmd33(1, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } } @@ -704,7 +704,7 @@ void AI_TrySwitchOrUseItem(void) } } - Emitcmd33(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); } static void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var) @@ -996,7 +996,7 @@ static bool8 ShouldUseItem(void) if (shouldUse) { - Emitcmd33(1, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_ITEM, 0); ewram160D4(gActiveBattler) = item; AI_BATTLE_HISTORY->trainerItems[i] = 0; return shouldUse; diff --git a/src/battle_anim.c b/src/battle_anim.c index 287d80ab1..3be28dd77 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1283,9 +1283,9 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = }; extern u16 gBattlerPartyIndexes[4]; -extern u8 gBankSpriteIds[]; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerSpriteIds[]; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; // sBattleAnimScriptPtr is a pointer to the next set of battle script commands. EWRAM_DATA const u8 *sBattleAnimScriptPtr = NULL; @@ -1313,9 +1313,9 @@ u16 gSoundAnimFramesToWait; s16 gBattleAnimArgs[ANIM_ARGS_COUNT]; u16 gAnimSpriteIndexArray[ANIM_SPRITE_INDEX_COUNT]; -extern struct MusicPlayerInfo gMPlay_BGM; -extern struct MusicPlayerInfo gMPlay_SE1; -extern struct MusicPlayerInfo gMPlay_SE2; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; extern const u16 gSingingMoves[]; extern const u8 *const gBattleAnims_Moves[]; @@ -1464,8 +1464,8 @@ void ClearBattleAnimationVars(void) void DoMoveAnim(u16 move) { - gBattleAnimAttacker = gBankAttacker; - gBattleAnimTarget = gBankTarget; + gBattleAnimAttacker = gBattlerAttacker; + gBattleAnimTarget = gBattlerTarget; LaunchBattleAnimation(gBattleAnims_Moves, move, TRUE); } @@ -1516,7 +1516,7 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim) if (move == gSingingMoves[i]) { // Lower the volume for the short song that gets played. - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 128); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 128); break; } } @@ -1772,8 +1772,8 @@ static void ScriptCmd_end(void) } else { - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); } } @@ -1792,7 +1792,7 @@ static void ScriptCmd_end(void) if (!continuousAnim) // may have been used for debug? { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); if (IsContest() == 0) { UpdateBattlerSpritePriorities(); @@ -1844,7 +1844,7 @@ static void ScriptCmd_monbg(void) toBG_2 = 1; MoveBattlerSpriteToBG(bank, toBG_2); - spriteId = gBankSpriteIds[bank]; + spriteId = gBattlerSpriteIds[bank]; taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10); gTasks[taskId].data[0] = spriteId; gTasks[taskId].data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; @@ -1875,7 +1875,7 @@ static void ScriptCmd_monbg(void) else toBG_2 = 1; MoveBattlerSpriteToBG(bank, toBG_2); - spriteId = gBankSpriteIds[bank]; + spriteId = gBattlerSpriteIds[bank]; taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10); gTasks[taskId].data[0] = spriteId; gTasks[taskId].data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; @@ -1912,7 +1912,7 @@ bool8 IsAnimBankSpriteVisible(u8 bank) return FALSE; if (IsContest()) return TRUE; // this line wont ever be reached. - if (!(EWRAM_17800[bank].unk0 & 1) || !gSprites[gBankSpriteIds[bank]].invisible) + if (!(EWRAM_17800[bank].unk0 & 1) || !gSprites[gBattlerSpriteIds[bank]].invisible) return TRUE; return FALSE; @@ -1938,12 +1938,12 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) REG_BG1CNT_BITFIELD.screenSize = 1; REG_BG1CNT_BITFIELD.areaOverflowMode = 0; - spriteId = gBankSpriteIds[bank]; + spriteId = gBattlerSpriteIds[bank]; gBattle_BG1_X = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; if (IsContest() != 0 && IsSpeciesNotUnown(EWRAM_19348[0]) != 0) gBattle_BG1_X--; gBattle_BG1_Y = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; - gSprites[gBankSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; REG_BG1HOFS = gBattle_BG1_X; REG_BG1VOFS = gBattle_BG1_Y; @@ -1972,10 +1972,10 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) REG_BG2CNT_BITFIELD.screenSize = 1; REG_BG2CNT_BITFIELD.areaOverflowMode = 0; - spriteId = gBankSpriteIds[bank]; + spriteId = gBattlerSpriteIds[bank]; gBattle_BG2_X = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; gBattle_BG2_Y = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; - gSprites[gBankSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; REG_BG2HOFS = gBattle_BG2_X; REG_BG2VOFS = gBattle_BG2_Y; @@ -2106,9 +2106,9 @@ static void ScriptCmd_clearmonbg(void) bank = gBattleAnimTarget; if (gMonAnimTaskIdArray[0] != 0xFF) - gSprites[gBankSpriteIds[bank]].invisible = FALSE; + gSprites[gBattlerSpriteIds[bank]].invisible = FALSE; if (animBankId > 1 && gMonAnimTaskIdArray[1] != 0xFF) - gSprites[gBankSpriteIds[bank ^ 2]].invisible = FALSE; + gSprites[gBattlerSpriteIds[bank ^ 2]].invisible = FALSE; else animBankId = 0; @@ -2177,7 +2177,7 @@ static void ScriptCmd_monbg_22(void) else r1 = 1; MoveBattlerSpriteToBG(bank, r1); - gSprites[gBankSpriteIds[bank]].invisible = FALSE; + gSprites[gBattlerSpriteIds[bank]].invisible = FALSE; } bank ^= 2; @@ -2190,7 +2190,7 @@ static void ScriptCmd_monbg_22(void) else r1 = 1; MoveBattlerSpriteToBG(bank, r1); - gSprites[gBankSpriteIds[bank]].invisible = FALSE; + gSprites[gBattlerSpriteIds[bank]].invisible = FALSE; } sBattleAnimScriptPtr++; } @@ -2215,9 +2215,9 @@ static void ScriptCmd_clearmonbg_23(void) bank = gBattleAnimTarget; if (IsAnimBankSpriteVisible(bank)) - gSprites[gBankSpriteIds[bank]].invisible = FALSE; + gSprites[gBattlerSpriteIds[bank]].invisible = FALSE; if (animBankId > 1 && IsAnimBankSpriteVisible(bank ^ 2)) - gSprites[gBankSpriteIds[bank ^ 2]].invisible = FALSE; + gSprites[gBattlerSpriteIds[bank ^ 2]].invisible = FALSE; else animBankId = 0; @@ -3037,8 +3037,8 @@ static void ScriptCmd_waitsound(void) { if (++gSoundAnimFramesToWait > 90) { - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); gSoundAnimFramesToWait = 0; } else @@ -3230,7 +3230,7 @@ static void ScriptCmd_doublebattle_2E(void) // Cease playing sounds. static void ScriptCmd_stopsound(void) { - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); sBattleAnimScriptPtr++; } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 90e7d8e2c..2d187f8d3 100644 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -41,7 +41,7 @@ extern const u8 gUnknown_08D2E014[]; extern const u8 gUnknown_08D2E170[]; extern const u16 gUnknown_08D2E150[]; extern u8 gBattleMonForms[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gBattlerPartyIndexes[]; extern u8 sub_8046234(s16 x, s16 y, u8 a3); @@ -2327,11 +2327,11 @@ void sub_812D7E8(u8 taskId) ptr = EWRAM_19348; if (IsSpeciesNotUnown(ptr[1])) - gSprites[gBankSpriteIds[gBattleAnimAttacker]].affineAnims = gSpriteAffineAnimTable_81E7C18; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gSpriteAffineAnimTable_81E7C18; else - gSprites[gBankSpriteIds[gBattleAnimAttacker]].affineAnims = gSpriteAffineAnimTable_81E7BEC; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gSpriteAffineAnimTable_81E7BEC; - StartSpriteAffineAnim(&gSprites[gBankSpriteIds[gBattleAnimAttacker]], 0); + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0); } gTasks[taskId].data[0]++; @@ -2371,7 +2371,7 @@ void sub_812D7E8(u8 taskId) void c3_80DFBE4(u8 taskId) { - gBattleAnimArgs[7] = gSprites[gBankSpriteIds[gBattleAnimAttacker]].invisible; + gBattleAnimArgs[7] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible; DestroyAnimVisualTask(taskId); } @@ -3673,7 +3673,7 @@ static void sub_812FAF8(u8 taskId) void sub_812FC68(u8 taskId) { - gTasks[taskId].data[15] = gBankSpriteIds[gBattleAnimAttacker]; + gTasks[taskId].data[15] = gBattlerSpriteIds[gBattleAnimAttacker]; gTasks[taskId].data[14] = gBattleAnimArgs[0]; gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[13] = gBattleAnimArgs[6]; @@ -4675,8 +4675,8 @@ void sub_81312E4(u8 taskId) refresh_graphics_maybe(gBattleAnimAttacker, 0, spriteId); if (IsContest()) { - gSprites[gBankSpriteIds[gBattleAnimAttacker]].affineAnims = gSpriteAffineAnimTable_81E7C18; - StartSpriteAffineAnim(&gSprites[gBankSpriteIds[gBattleAnimAttacker]], 0); + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gSpriteAffineAnimTable_81E7C18; + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0); } for (i = 0; i < 16; i++) @@ -5801,7 +5801,7 @@ void AnimTask_SnatchPartnerMove(u8 taskId) gTasks[taskId].data[15]++; break; case 1: - spriteId = gBankSpriteIds[gBattleAnimAttacker]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; gSprites[spriteId].pos2.x += gTasks[taskId].data[0]; if (gTasks[taskId].data[0] > 0) { @@ -5819,7 +5819,7 @@ void AnimTask_SnatchPartnerMove(u8 taskId) gTasks[taskId].data[15]++; break; case 3: - spriteId = gBankSpriteIds[gBattleAnimAttacker]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; gSprites[spriteId].pos2.x += gTasks[taskId].data[0]; if (gTasks[taskId].data[0] < 0) { @@ -5834,7 +5834,7 @@ void AnimTask_SnatchPartnerMove(u8 taskId) break; case 4: default: - spriteId = gBankSpriteIds[gBattleAnimAttacker]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; gSprites[spriteId].pos2.x = 0; DestroyAnimVisualTask(taskId); break; diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 5e713a3a7..23aea3218 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -10,7 +10,7 @@ extern s16 gBattleAnimArgs[8]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gBattleAnimAttacker; @@ -199,11 +199,11 @@ void AnimTask_ShakeMon2(u8 taskId) if (IsAnimBankSpriteVisible(side) == FALSE) destroy = TRUE; - sprite = gBankSpriteIds[side]; + sprite = gBattlerSpriteIds[side]; } else { - sprite = gBankSpriteIds[gBattleAnimAttacker]; + sprite = gBattlerSpriteIds[gBattleAnimAttacker]; } if (destroy) @@ -447,7 +447,7 @@ static void DoHorizontalLunge(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[0]; sprite->data[2] = 0; - sprite->data[3] = gBankSpriteIds[gBattleAnimAttacker]; + sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; sprite->data[4] = gBattleAnimArgs[0]; StoreSpriteCallbackInData(sprite, ReverseHorizontalLungeDirection); sprite->callback = TranslateMonBGUntil; @@ -498,9 +498,9 @@ static void SlideMonToOriginalPos(struct Sprite *sprite) int something; int monSpriteId; if (!gBattleAnimArgs[0]) - monSpriteId = gBankSpriteIds[gBattleAnimAttacker]; + monSpriteId = gBattlerSpriteIds[gBattleAnimAttacker]; else - monSpriteId = gBankSpriteIds[gBattleAnimTarget]; + monSpriteId = gBattlerSpriteIds[gBattleAnimTarget]; sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gSprites[monSpriteId].pos1.x + gSprites[monSpriteId].pos2.x; @@ -571,7 +571,7 @@ static void SlideMonToOffset(struct Sprite *sprite) else battler = gBattleAnimTarget; - monSpriteId = gBankSpriteIds[battler]; + monSpriteId = gBattlerSpriteIds[battler]; if (GetBattlerSide(battler) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -608,7 +608,7 @@ static void sub_80A8818(struct Sprite *sprite) { v1 = gBattleAnimTarget; } - spriteId = gBankSpriteIds[v1]; + spriteId = gBattlerSpriteIds[v1]; if (GetBattlerSide(v1)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -726,7 +726,7 @@ void sub_80A8A80(u8 taskId) DestroyAnimVisualTask(taskId); return; } - spriteId = gBankSpriteIds[gBattleAnimAttacker ^ 2]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker ^ 2]; break; case 3: if (!IsAnimBankSpriteVisible(gBattleAnimTarget ^ 2)) @@ -734,7 +734,7 @@ void sub_80A8A80(u8 taskId) DestroyAnimVisualTask(taskId); return; } - spriteId = gBankSpriteIds[gBattleAnimTarget ^ 2]; + spriteId = gBattlerSpriteIds[gBattleAnimTarget ^ 2]; break; default: DestroyAnimVisualTask(taskId); diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 7d158f671..d8cf71be6 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -26,12 +26,12 @@ extern u16 gUnknown_03005F14; extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u8 gHealthboxIDs[]; -extern u8 gBankSpriteIds[]; +extern u8 gHealthboxSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gBattlerPartyIndexes[]; extern u16 gLastUsedItem; extern u8 gDoingBattleAnim; -extern u8 gEffectBank; +extern u8 gEffectBattler; extern const u8 gUnknown_08D2EE48[]; extern const u8 gUnknown_08D2EDFC[]; @@ -380,7 +380,7 @@ void unref_sub_813F0F4(u8 taskId) REG_BG1CNT_BITFIELD.areaOverflowMode = 1; REG_BG1CNT_BITFIELD.charBaseBlock = 1; - healthBoxSpriteId = gHealthboxIDs[battler]; + healthBoxSpriteId = gHealthboxSpriteIds[battler]; spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam; spriteId2 = gSprites[healthBoxSpriteId].data[5]; spriteId3 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); @@ -460,9 +460,9 @@ static void sub_813F300(u8 taskId) sub_8078914(&subStruct); DmaFill32Defvars(3, 0, subStruct.field_4, 0x800); REG_BG1CNT_BITFIELD.areaOverflowMode = 0; - spriteId1 = gSprites[gHealthboxIDs[battler]].oam.affineParam; - spriteId2 = gSprites[gHealthboxIDs[battler]].data[5]; - gSprites[gHealthboxIDs[battler]].oam.priority = 1; + spriteId1 = gSprites[gHealthboxSpriteIds[battler]].oam.affineParam; + spriteId2 = gSprites[gHealthboxSpriteIds[battler]].data[5]; + gSprites[gHealthboxSpriteIds[battler]].oam.priority = 1; gSprites[spriteId1].oam.priority = 1; gSprites[spriteId2].oam.priority = 1; DestroyAnimVisualTask(taskId); @@ -479,7 +479,7 @@ void sub_813F4EC(u8 taskId) u8 paletteNum1, paletteNum2; u16 offset1, offset2; - healthBoxSpriteId = gHealthboxIDs[gBattleAnimAttacker]; + healthBoxSpriteId = gHealthboxSpriteIds[gBattleAnimAttacker]; spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam; spriteId2 = gSprites[healthBoxSpriteId].data[5]; paletteNum1 = AllocSpritePalette(0xD709); @@ -502,7 +502,7 @@ void sub_813F5E8(u8 taskId) u8 spriteId1, spriteId2; u8 paletteIndex1, paletteIndex2; - healthBoxSpriteId = gHealthboxIDs[gBattleAnimAttacker]; + healthBoxSpriteId = gHealthboxSpriteIds[gBattleAnimAttacker]; spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam; spriteId2 = gSprites[healthBoxSpriteId].data[5]; @@ -565,7 +565,7 @@ void sub_813F798(u8 taskId) { u8 spriteId; - spriteId = gBankSpriteIds[gBattleAnimAttacker]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; switch (gTasks[taskId].data[0]) { case 0: @@ -597,7 +597,7 @@ void sub_813F844(u8 taskId) u8 priority, subpriority; u32 selectedPalettes; - spriteId = gBankSpriteIds[gBattleAnimAttacker]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL); else @@ -690,7 +690,7 @@ void sub_813FA94(u8 taskId) gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0); gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16; gSprites[spriteId].callback = sub_813FD90; - ewram17840.unk9_1 = gSprites[gBankSpriteIds[gBattleAnimTarget]].invisible; + ewram17840.unk9_1 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible; gTasks[taskId].data[0] = spriteId; gTasks[taskId].func = sub_813FB7C; } @@ -727,14 +727,14 @@ void sub_813FBB8(u8 taskId) gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0); gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16; gSprites[spriteId].callback = SpriteCallbackDummy; - StartSpriteAnim(&gSprites[gBankSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], 1); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], 1); gTasks[taskId].data[0] = spriteId; gTasks[taskId].func = sub_813FCBC; } static void sub_813FCBC(u8 taskId) { - if (gSprites[gBankSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animCmdIndex == 1) + if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animCmdIndex == 1) { PlaySE12WithPanning(SE_NAGERU, 0); gSprites[gTasks[taskId].data[0]].callback = sub_813FD90; @@ -745,9 +745,9 @@ static void sub_813FCBC(u8 taskId) static void sub_813FD34(u8 taskId) { - if (gSprites[gBankSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animEnded) + if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animEnded) { - StartSpriteAnim(&gSprites[gBankSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], 0); DestroyTask(taskId); } } @@ -811,7 +811,7 @@ static void sub_813FE70(struct Sprite *sprite) { sprite->data[5] = CreateTask(TaskDummy, 50); sprite->callback = sub_813FEC8; - gSprites[gBankSpriteIds[gBattleAnimTarget]].data[1] = 0; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0; } } @@ -820,7 +820,7 @@ static void sub_813FEC8(struct Sprite *sprite) u8 spriteId; u8 taskId; - spriteId = gBankSpriteIds[gBattleAnimTarget]; + spriteId = gBattlerSpriteIds[gBattleAnimTarget]; taskId = sprite->data[5]; if (++gTasks[taskId].data[1] == 11) @@ -1139,8 +1139,8 @@ static void sub_8140454(struct Sprite *sprite) } else if (sprite->data[4] == 315) { - FreeOamMatrix(gSprites[gBankSpriteIds[*battler]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[*battler]]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[*battler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[*battler]]); sprite->data[0] = 0; sprite->callback = sub_81404E4; } @@ -1223,10 +1223,10 @@ static void sub_81405F4(struct Sprite *sprite) sub_8141314(1, gBattleAnimTarget, 14, ballIndex); LABEL: - gSprites[gBankSpriteIds[gBattleAnimTarget]].invisible = 0; - StartSpriteAffineAnim(&gSprites[gBankSpriteIds[gBattleAnimTarget]], 1); - AnimateSprite(&gSprites[gBankSpriteIds[gBattleAnimTarget]]); - gSprites[gBankSpriteIds[gBattleAnimTarget]].data[1] = 0x1000; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = 0; + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1); + AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]); + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0x1000; } static void sub_81406BC(struct Sprite *sprite) @@ -1236,21 +1236,21 @@ static void sub_81406BC(struct Sprite *sprite) if (sprite->animEnded) sprite->invisible = 1; - if (gSprites[gBankSpriteIds[gBattleAnimTarget]].affineAnimEnded) + if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded) { - StartSpriteAffineAnim(&gSprites[gBankSpriteIds[gBattleAnimTarget]], 0); + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0); next = TRUE; } else { - gSprites[gBankSpriteIds[gBattleAnimTarget]].data[1] -= 288; - gSprites[gBankSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBankSpriteIds[gBattleAnimTarget]].data[1] >> 8; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8; } if (sprite->animEnded && next) { - gSprites[gBankSpriteIds[gBattleAnimTarget]].pos2.y = 0; - gSprites[gBankSpriteIds[gBattleAnimTarget]].invisible = ewram17840.unk9_1; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = 0; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = ewram17840.unk9_1; sprite->data[0] = 0; sprite->callback = sub_81405C8; gDoingBattleAnim = 0; @@ -1824,7 +1824,7 @@ void sub_814151C(u8 taskId) u32 done; done = FALSE; - spriteId = gBankSpriteIds[gBattleAnimAttacker]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; switch (gTasks[taskId].data[10]) { case 0: @@ -1905,7 +1905,7 @@ void sub_81416C4(u8 taskId) } break; case 2: - spriteId = gBankSpriteIds[gBattleAnimAttacker]; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; DmaClear32(3, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800); sub_80324E0(gBattleAnimAttacker); DestroyAnimVisualTask(taskId); @@ -1921,7 +1921,7 @@ void sub_81417D8(u8 taskId) void sub_8141808(u8 taskId) { - gBattleAnimTarget = gEffectBank; + gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); } @@ -2107,13 +2107,13 @@ static void sub_8141C30(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3]; sprite->data[5] = -32; InitAnimArcTranslation(sprite); - StartSpriteAnim(&gSprites[gBankSpriteIds[gBattleAnimAttacker]], 1); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 1); sprite->callback = sub_8141CBC; } static void sub_8141CBC(struct Sprite *sprite) { - if (gSprites[gBankSpriteIds[gBattleAnimAttacker]].animCmdIndex == 1) + if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animCmdIndex == 1) sprite->callback = sub_8141CF4; } @@ -2129,11 +2129,11 @@ static void sub_8141CF4(struct Sprite *sprite) static void sub_8141D20(struct Sprite *sprite) { - if (gSprites[gBankSpriteIds[gBattleAnimAttacker]].animEnded) + if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animEnded) { if (++sprite->data[0] > 0) { - StartSpriteAnim(&gSprites[gBankSpriteIds[gBattleAnimAttacker]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0); DestroyAnimSprite(sprite); } } diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 90e6ce38c..c51c0f8d3 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -15,7 +15,7 @@ extern bool8 gAnimScriptActive; extern void (*gAnimScriptCallback)(void); extern s16 gBattleAnimArgs[]; extern u8 gBattleAnimTarget; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const u8 *const gBattleAnims_StatusConditions[]; @@ -72,7 +72,7 @@ static void sub_807BDAC(u8); u8 unref_sub_807B69C(u8 a, u8 b) { - u8 spriteId1 = gBankSpriteIds[a]; + u8 spriteId1 = gBattlerSpriteIds[a]; u8 taskId = CreateTask(sub_807B7E0, 10); u8 spriteId2; u8 i; diff --git a/src/battle_bg.c b/src/battle_bg.c index c3877ec1c..29369958c 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -262,22 +262,22 @@ void DrawMainBattleBackground(void) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER /*| BATTLE_TYPE_x2000000*/)) { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { if (gGameVersion == VERSION_RUBY) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); } else { - LZDecompressVram(gBattleTerrainTiles_Water, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Water, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); } } @@ -288,15 +288,15 @@ void DrawMainBattleBackground(void) u8 trainerClass = gTrainers[gTrainerBattleOpponent].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); return; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); return; } @@ -305,48 +305,48 @@ void DrawMainBattleBackground(void) switch (GetCurrentMapBattleScene()) { case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); break; case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); break; case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); break; case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); break; case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); break; case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); break; case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); break; case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); break; case MAP_BATTLE_SCENE_BATTLE_TOWER: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); break; } @@ -359,6 +359,7 @@ void LoadBattleTextboxAndBackground(void) CpuSet(gBattleTextboxTilemap, (void *)(VRAM + 0xC000), 0x800); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); ApplyPlayerChosenFrameToBattleMenu(); + DrawMainBattleBackground(); #if DEBUG @@ -466,8 +467,8 @@ static void PrintLinkBattleWinLossTie(void) if (gBattleOutcome == 1) { - // lp_field_18 = player position? - switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18) + // id = player position? + switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].id) { case 0: case 2: @@ -485,7 +486,7 @@ static void PrintLinkBattleWinLossTie(void) else { - switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18) + switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].id) { case 1: case 3: @@ -507,7 +508,7 @@ static void PrintLinkBattleWinLossTie(void) if (gBattleOutcome == 1) { - if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 != 0) + if (gLinkPlayers[gBattleStruct->linkPlayerIndex].id != 0) { PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN); PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS); @@ -520,7 +521,7 @@ static void PrintLinkBattleWinLossTie(void) } else { - if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 != 0) + if (gLinkPlayers[gBattleStruct->linkPlayerIndex].id != 0) { PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); @@ -544,7 +545,7 @@ void sub_800DE30(u8 taskId) case 0: if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { for (i = 0; i < 4; i++) { - u8 windowId = (gLinkPlayers[i].lp_field_18 & 3); + u8 windowId = (gLinkPlayers[i].id & 3); Text_InitWindow8002E4C( gLinkResultWindows[windowId].window, gLinkPlayers[i].name, @@ -560,7 +561,7 @@ void sub_800DE30(u8 taskId) u8 playerId = gBattleStruct->linkPlayerIndex; u8 opponentId = gBattleStruct->linkPlayerIndex ^ 1; - if (gLinkPlayers[playerId].lp_field_18) { + if (gLinkPlayers[playerId].id) { opponentId = gBattleStruct->linkPlayerIndex; playerId = gBattleStruct->linkPlayerIndex ^ 1; } @@ -633,8 +634,10 @@ void sub_800DE30(u8 taskId) } } -void LoadBattleEntryBackground(void) { - if (gBattleTypeFlags & BATTLE_TYPE_LINK) { +void DrawBattleEntryBackground(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { LZDecompressVram(gVersusFrameGfx, (void *)(VRAM + 0x4000)); LZDecompressVram(gVersusFrameTilemap, (void *)(VRAM + 0xE000)); LZDecompressVram(gVersusFrameTilemap, (void *)(VRAM + 0xF000)); @@ -646,44 +649,61 @@ void LoadBattleEntryBackground(void) { gBattle_BG1_Y = 0xff5c; gBattle_BG2_Y = 0xff5c; LoadCompressedObjectPic(gUnknown_081F95A4); - return; - } else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) { + } + else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) + { LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(VRAM + 0x4000)); LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(VRAM + 0xE000)); - return; - } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == VERSION_RUBY) { + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_RUBY) + { LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)(VRAM + 0x4000)); LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)(VRAM + 0xE000)); - return; - } else { + } + else + { LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)(VRAM + 0x4000)); LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)(VRAM + 0xE000)); - return; } - } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(VRAM + 0x4000)); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(VRAM + 0xE000)); - return; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) + { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(VRAM + 0xE000)); + return; + } + else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) + { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(VRAM + 0xE000)); + return; + } + } + if (sav1_map_get_battletype() == 0) + { + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTileset, (void *)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)(VRAM + 0xE000)); + } + else + { LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(VRAM + 0x4000)); LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(VRAM + 0xE000)); - return; } } - if (sav1_map_get_battletype() == 0) { - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTileset, (void *)(VRAM + 0x4000)); - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)(VRAM + 0xE000)); - return; - } - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(VRAM + 0x4000)); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(VRAM + 0xE000)); } -int LoadChosenBattleElement(u8 type) { - int ret = 0; - switch (type) { +int LoadChosenBattleElement(u8 caseId) +{ + int ret = FALSE; + + switch (caseId) + { case 0: LZDecompressVram(&gBattleTextboxTiles, (void *)VRAM); break; @@ -694,132 +714,172 @@ int LoadChosenBattleElement(u8 type) { LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); break; case 3: // tiles - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == VERSION_RUBY) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(VRAM + 0x8000)); + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) + { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_RUBY) + { + LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2))); break; - } else { - LZDecompressVram(gBattleTerrainTiles_Water, (void *)(VRAM + 0x8000)); + } + else + { + LZDecompressVram(gBattleTerrainTiles_Water, (void *)(BG_CHAR_ADDR(2))); break; } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(VRAM + 0x8000)); + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(VRAM + 0x8000)); + } + else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) + { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; } } - switch (sav1_map_get_battletype()) { + switch (sav1_map_get_battletype()) + { case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2))); break; case 2: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case 3: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case 4: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case 5: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case 6: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case 7: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case 1: case 8: - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; } break; } - } else { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(VRAM + 0x8000)); + } + else + { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; } case 4: // tilemap - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == 2) { - LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(VRAM + 0xD000)); + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) + { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == 2) + { + LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); break; - } else { - LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(VRAM + 0xD000)); + } + else + { + LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); break; } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(VRAM + 0xD000)); + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) + { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(VRAM + 0xD000)); + } + else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) + { + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; } } - switch (sav1_map_get_battletype()) { + switch (sav1_map_get_battletype()) + { case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26))); break; case 2: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case 3: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case 4: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case 5: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case 6: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case 7: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case 1: case 8: - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(VRAM + 0xD000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; } break; } - } else { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(VRAM + 0xD000)); + } + else + { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; } case 5: // palette - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == 2) { + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) + { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == 2) + { LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); break; - } else { + } + else + { LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); break; } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) + { LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + } + else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) + { LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); break; } } - switch (sav1_map_get_battletype()) { + switch (sav1_map_get_battletype()) + { case 0: LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); break; @@ -850,7 +910,9 @@ int LoadChosenBattleElement(u8 type) { } break; } - } else { + } + else + { LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); break; } @@ -858,7 +920,8 @@ int LoadChosenBattleElement(u8 type) { ApplyPlayerChosenFrameToBattleMenu(); break; default: - ret = 1; + ret = TRUE; + break; } return ret; } diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index d514935cf..d99b4fe27 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -28,12 +28,12 @@ struct MovePpInfo extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gBattlerPartyIndexes[]; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; extern u16 gBattleTypeFlags; extern u8 gBattleMonForms[]; -extern void (*gBattleBankFunc[])(void); +extern void (*gBattlerControllerFuncs[])(void); extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimFriendship; @@ -50,9 +50,9 @@ extern struct SpriteTemplate gUnknown_02024E8C; extern u8 gAnimMoveTurn; extern struct Window gUnknown_03004210; extern u8 gUnknown_0300434C[]; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern MainCallback gPreBattleCallback1; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u8 sub_8077F68(); extern u8 GetBattlerSubpriority(); @@ -76,7 +76,7 @@ extern void StartAnimLinearTranslation(struct Sprite *); extern void sub_80375B4(void); extern void sub_8010384(struct Sprite *); extern void sub_8037B78(void); -extern u8 sub_8031720(); +extern u8 IsMoveWithoutAnimation(); extern bool8 mplay_80342A4(u8); extern void DoMoveAnim(); extern void sub_80326EC(); @@ -248,12 +248,12 @@ void nullsub_47(void) void SetBankFuncToLinkOpponentBufferRunCommand(void) { - gBattleBankFunc[gActiveBattler] = sub_803752C; + gBattlerControllerFuncs[gActiveBattler] = sub_803752C; } void sub_803752C(void) { - if (gBattleExecBuffer & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { if (gBattleBufferA[gActiveBattler][0] <= 0x38) gLinkOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); @@ -264,18 +264,18 @@ void sub_803752C(void) void sub_803757C(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkOpponentBufferExecCompleted(); } void sub_80375B4(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - 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]]); + sub_8031B74(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum = gSprites[gBattlerSpriteIds[gActiveBattler]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); LinkOpponentBufferExecCompleted(); } } @@ -295,13 +295,13 @@ void sub_8037680(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) @@ -323,14 +323,14 @@ void sub_8037680(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { if (GetBattlerPosition(gActiveBattler) == 1) - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); } ewram17810[gActiveBattler].unk9 = 3; - gBattleBankFunc[gActiveBattler] = sub_8037644; + gBattlerControllerFuncs[gActiveBattler] = sub_8037644; } } @@ -352,35 +352,35 @@ void sub_8037840(void) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBattler ^ 2], + gHealthboxSpriteIds[gActiveBattler ^ 2], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler ^ 2]); sub_8032984( gActiveBattler ^ 2, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBattler], + gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); sub_8032984( gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBattler] = sub_8037680; + gBattlerControllerFuncs[gActiveBattler] = sub_8037680; } } void sub_8037A74(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded == TRUE - && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded == TRUE + && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) { if (!ewram17810[gActiveBattler].unk0_7) { @@ -401,20 +401,20 @@ void sub_8037A74(void) void sub_8037B24(void) { - s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); if (r4 != -1) - sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); + sub_80440EC(gHealthboxSpriteIds[gActiveBattler], r4, 0); else LinkOpponentBufferExecCompleted(); } void sub_8037B78(void) { - if (!gSprites[gBankSpriteIds[gActiveBattler]].inUse) + if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) { - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } @@ -423,10 +423,10 @@ void sub_8037BBC(void) { if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); sub_8032A08(gActiveBattler); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } @@ -439,7 +439,7 @@ void sub_8037C2C(void) void dp01t_0F_4_move_anim(void) { - u8 spriteId = gBankSpriteIds[gActiveBattler]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -458,11 +458,11 @@ void dp01t_0F_4_move_anim(void) void sub_8037CC0(void) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { if (ewram17800[gActiveBattler].substituteSprite) move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); - gBattleBankFunc[gActiveBattler] = sub_8037D2C; + gBattlerControllerFuncs[gActiveBattler] = sub_8037D2C; } } @@ -483,15 +483,15 @@ void sub_8037D64(void) ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); sub_8045A5C( - gHealthboxIDs[gActiveBattler], + gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); sub_8031F88(gActiveBattler); - gBattleBankFunc[gActiveBattler] = sub_8037CC0; + gBattlerControllerFuncs[gActiveBattler] = sub_8037CC0; } } @@ -504,7 +504,7 @@ void sub_8037E30(void) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBattler] = sub_8037D64; + gBattlerControllerFuncs[gActiveBattler] = sub_8037D64; } } @@ -526,7 +526,7 @@ void sub_8037F34(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { sub_800832C(); - gBattleBankFunc[gActiveBattler] = sub_8037EF0; + gBattlerControllerFuncs[gActiveBattler] = sub_8037EF0; } else { @@ -552,7 +552,7 @@ void sub_8037FD8(void) void LinkOpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBattler] = sub_803752C; + gBattlerControllerFuncs[gActiveBattler] = sub_803752C; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); @@ -562,7 +562,7 @@ void LinkOpponentBufferExecCompleted(void) } else { - gBattleExecBuffer &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } @@ -587,7 +587,7 @@ void LinkOpponentHandleGetAttributes(void) r4 >>= 1; } } - Emitcmd29(1, r6, buffer); + BtlController_EmitDataTransfer(1, r6, buffer); LinkOpponentBufferExecCompleted(); } @@ -1153,24 +1153,24 @@ void LinkOpponentHandleLoadPokeSprite(void) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(gActiveBattler, 2), sub_8077F68(gActiveBattler), GetBattlerSubpriority(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]); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBattler] = sub_8037A74; + gBattlerControllerFuncs[gActiveBattler] = sub_8037A74; } void LinkOpponentHandleSendOutPoke(void) { gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; sub_8039430(gActiveBattler, gBattleBufferA[gActiveBattler][2]); - gBattleBankFunc[gActiveBattler] = sub_8037E30; + gBattlerControllerFuncs[gActiveBattler] = sub_8037E30; } void sub_8039430(u8 a, u8 b) @@ -1183,18 +1183,18 @@ void sub_8039430(u8 a, u8 b) gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); - gBankSpriteIds[a] = CreateSprite( + gBattlerSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(a, 2), sub_8077F68(a), GetBattlerSubpriority(a)); - gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; - gSprites[gBankSpriteIds[a]].data[0] = a; - gSprites[gBankSpriteIds[a]].data[2] = species; - gSprites[gBankSpriteIds[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); - gSprites[gBankSpriteIds[a]].invisible = TRUE; - gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[a]].data[1] = gBattlerSpriteIds[a]; + gSprites[gBattlerSpriteIds[a]].data[0] = a; + gSprites[gBattlerSpriteIds[a]].data[2] = species; + gSprites[gBattlerSpriteIds[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBattlerSpriteIds[a]].invisible = TRUE; + gSprites[gBattlerSpriteIds[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data[0] = StartSendOutMonAnimation(0, 0xFE); } @@ -1203,14 +1203,14 @@ void LinkOpponentHandleReturnPokeToBall(void) if (gBattleBufferA[gActiveBattler][1] == 0) { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_8039648; + gBattlerControllerFuncs[gActiveBattler] = sub_8039648; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); sub_8032A08(gActiveBattler); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } @@ -1229,7 +1229,7 @@ void sub_8039648(void) { ewram17810[gActiveBattler].unk4 = 0; move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 2); - gBattleBankFunc[gActiveBattler] = sub_8037BBC; + gBattlerControllerFuncs[gActiveBattler] = sub_8037BBC; } break; } @@ -1255,18 +1255,18 @@ void LinkOpponentHandleTrainerThrow(void) } sub_8031A6C(gender, gActiveBattler); GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 176 + xOffset, 40 + 4 * (8 - gTrainerFrontPicCoords[gender].coords), GetBattlerSubpriority(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; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[gender].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[gender].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = gender; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_803757C; } void LinkOpponentHandleTrainerSlide(void) @@ -1276,13 +1276,13 @@ void LinkOpponentHandleTrainerSlide(void) void LinkOpponentHandleTrainerSlideBack(void) { - 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 = StartAnimLinearTranslation; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBattler] = sub_80375B4; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_80375B4; } void LinkOpponentHandlecmd10(void) @@ -1297,8 +1297,8 @@ void LinkOpponentHandlecmd10(void) { ewram17810[gActiveBattler].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_8010384; - gBattleBankFunc[gActiveBattler] = sub_8037B78; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8010384; + gBattlerControllerFuncs[gActiveBattler] = sub_8037B78; } } @@ -1342,15 +1342,15 @@ void LinkOpponentHandleMoveAnimation(void) gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - // Dead code. sub_8031720 always returns 0. - if (sub_8031720(r0, gAnimMoveTurn) != 0) + // Dead code. IsMoveWithoutAnimation always returns 0. + if (IsMoveWithoutAnimation(r0, gAnimMoveTurn) != 0) { LinkOpponentBufferExecCompleted(); } else { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_8039B64; + gBattlerControllerFuncs[gActiveBattler] = sub_8039B64; } } } @@ -1412,7 +1412,7 @@ void LinkOpponentHandlePrintString(void) gBattle_BG0_Y = 0; BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBattler] = sub_8037C2C; + gBattlerControllerFuncs[gActiveBattler] = sub_8037C2C; } void LinkOpponentHandlePrintStringPlayerOnly(void) @@ -1461,15 +1461,15 @@ void LinkOpponentHandleHealthBarUpdate(void) u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, hp, r7); } else { u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBattler] = sub_8037B24; + gBattlerControllerFuncs[gActiveBattler] = sub_8037B24; } void LinkOpponentHandleExpBarUpdate(void) @@ -1481,9 +1481,9 @@ void LinkOpponentHandleStatusIconUpdate(void) { if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; - gBattleBankFunc[gActiveBattler] = sub_8037FAC; + gBattlerControllerFuncs[gActiveBattler] = sub_8037FAC; } } @@ -1497,7 +1497,7 @@ void LinkOpponentHandleStatusAnimation(void) | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); - gBattleBankFunc[gActiveBattler] = sub_8037FAC; + gBattlerControllerFuncs[gActiveBattler] = sub_8037FAC; } } @@ -1572,16 +1572,16 @@ void LinkOpponentHandlecmd40(void) void LinkOpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { LinkOpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; sub_8047858(gActiveBattler); - gBattleBankFunc[gActiveBattler] = dp01t_0F_4_move_anim; + gBattlerControllerFuncs[gActiveBattler] = dp01t_0F_4_move_anim; } } @@ -1627,18 +1627,18 @@ void LinkOpponentHandleTrainerBallThrow(void) { u8 taskId; - 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 = StartAnimLinearTranslation; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_803A3A8); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_803A3A8); taskId = CreateTask(sub_803A2C4, 5); gTasks[taskId].data[0] = gActiveBattler; if (ewram17810[gActiveBattler].unk0_0) gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBattler] = nullsub_47; + gBattlerControllerFuncs[gActiveBattler] = nullsub_47; } void sub_803A2C4(u8 taskId) @@ -1661,7 +1661,7 @@ void sub_803A2C4(u8 taskId) sub_8039430(gActiveBattler, 0); gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBattler] = sub_8037840; + gBattlerControllerFuncs[gActiveBattler] = sub_8037840; gActiveBattler = r9; DestroyTask(taskId); } @@ -1703,7 +1703,7 @@ void LinkOpponentHandlecmd48(void) ewram17810[gActiveBattler].unk5 = 0; if (gBattleBufferA[gActiveBattler][2] != 0) ewram17810[gActiveBattler].unk5 = 0x5D; - gBattleBankFunc[gActiveBattler] = sub_803A4E0; + gBattlerControllerFuncs[gActiveBattler] = sub_803A4E0; } void sub_803A4E0(void) @@ -1731,7 +1731,7 @@ void LinkOpponentHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; sub_8031F88(gActiveBattler); } LinkOpponentBufferExecCompleted(); @@ -1747,7 +1747,7 @@ void LinkOpponentHandleBattleAnimation(void) if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) LinkOpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBattler] = sub_8037FD8; + gBattlerControllerFuncs[gActiveBattler] = sub_8037FD8; } } @@ -1770,7 +1770,7 @@ void LinkOpponentHandlecmd55(void) FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); - gBattleBankFunc[gActiveBattler] = sub_8037F34; + gBattlerControllerFuncs[gActiveBattler] = sub_8037F34; } void LinkOpponentHandlecmd56(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 5dbde3e83..a5b24815f 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -34,9 +34,9 @@ extern u16 gBattleTypeFlags; extern u8 gDisplayedStringBattle[]; extern u8 gBattleBufferA[][0x200]; extern u8 gActiveBattler; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u16 gBattlerPartyIndexes[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u8 gBattleOutcome; extern u16 gUnknown_02024DE8; extern u8 gUnknown_02024E68[]; @@ -50,8 +50,8 @@ extern u16 gWeatherMoveAnim; extern u8 gAnimMoveTurn; extern struct Window gUnknown_03004210; extern MainCallback gPreBattleCallback1; -extern void (*gBattleBankFunc[])(void); -extern u8 gHealthboxIDs[]; +extern void (*gBattlerControllerFuncs[])(void); +extern u8 gHealthboxSpriteIds[]; extern u8 gUnknown_0300434C[]; extern u8 gBattleMonForms[]; extern u8 gAnimScriptActive; @@ -70,7 +70,7 @@ extern void sub_8031F24(void); extern void sub_80326EC(); extern void DoMoveAnim(); extern void sub_80324BC(); -extern u8 sub_8031720(); +extern u8 IsMoveWithoutAnimation(); extern u8 mplay_80342A4(); extern void oamt_add_pos2_onto_pos1(); extern void StoreSpriteCallbackInData(); @@ -241,12 +241,12 @@ void nullsub_74(void) void SetBankFuncToLinkPartnerBufferRunCommand(void) { - gBattleBankFunc[gActiveBattler] = LinkPartnerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = LinkPartnerBufferRunCommand; } void LinkPartnerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { if (gBattleBufferA[gActiveBattler][0] <= 0x38) gLinkPartnerBufferCommands[gBattleBufferA[gActiveBattler][0]](); @@ -257,17 +257,17 @@ void LinkPartnerBufferRunCommand(void) void sub_811DAE4(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkPartnerBufferExecCompleted(); } void sub_811DB1C(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_10(0); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); LinkPartnerBufferExecCompleted(); } } @@ -287,13 +287,13 @@ void sub_811DBC0(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & 0x40))) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) @@ -301,7 +301,7 @@ void sub_811DBC0(void) if (r6) { ewram17810[gActiveBattler].unk9 = 3; - gBattleBankFunc[gActiveBattler] = sub_811DB84; + gBattlerControllerFuncs[gActiveBattler] = sub_811DB84; } } @@ -319,24 +319,24 @@ void sub_811DCA0(void) if (IsDoubleBattle() && !(gBattleTypeFlags & 0x40)) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler ^ 2]); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); (s8)ewram17810[4].unk9 &= ~1; - gBattleBankFunc[gActiveBattler] = sub_811DBC0; + gBattlerControllerFuncs[gActiveBattler] = sub_811DBC0; } } } void sub_811DDE8(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded - && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded + && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) LinkPartnerBufferExecCompleted(); } @@ -344,11 +344,11 @@ void bx_t3_healthbar_update(void) { s16 r4; - r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + r4 = sub_8045C78(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], 0, 0); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); + sub_80440EC(gHealthboxSpriteIds[gActiveBattler], r4, 0); } else { @@ -359,12 +359,12 @@ void bx_t3_healthbar_update(void) void sub_811DE98(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > 160) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > 160) { nullsub_9(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } @@ -373,9 +373,9 @@ void sub_811DF34(void) { if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } @@ -388,7 +388,7 @@ void sub_811DFA0(void) void bx_blink_t3(void) { - u8 spriteId = gBankSpriteIds[gActiveBattler]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; @@ -408,11 +408,11 @@ void bx_blink_t3(void) void sub_811E034(void) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { if (ewram17800[gActiveBattler].substituteSprite) move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); - gBattleBankFunc[gActiveBattler] = sub_811E0A0; + gBattlerControllerFuncs[gActiveBattler] = sub_811E0A0; } } @@ -432,12 +432,12 @@ void sub_811E0CC(void) FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); sub_8031F88(gActiveBattler); - gBattleBankFunc[gActiveBattler] = sub_811E034; + gBattlerControllerFuncs[gActiveBattler] = sub_811E034; } } @@ -449,7 +449,7 @@ void sub_811E1BC(void) && !ewram17810[gActiveBattler].unk0_3) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - gBattleBankFunc[gActiveBattler] = sub_811E0CC; + gBattlerControllerFuncs[gActiveBattler] = sub_811E0CC; } } @@ -471,7 +471,7 @@ void sub_811E29C(void) if (gBattleTypeFlags & 2) { sub_800832C(); - gBattleBankFunc[gActiveBattler] = sub_811E258; + gBattlerControllerFuncs[gActiveBattler] = sub_811E258; } else { @@ -487,7 +487,7 @@ void LinkPartnerBufferExecCompleted(void) { u8 multiplayerId; - gBattleBankFunc[gActiveBattler] = LinkPartnerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = LinkPartnerBufferRunCommand; if (gBattleTypeFlags & 2) { multiplayerId = GetMultiplayerId(); @@ -496,7 +496,7 @@ void LinkPartnerBufferExecCompleted(void) } else { - gBattleExecBuffer &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } @@ -533,7 +533,7 @@ void LinkPartnerHandleGetAttributes(void) r4 >>= 1; } } - Emitcmd29(1, r6, unk); + BtlController_EmitDataTransfer(1, r6, unk); LinkPartnerBufferExecCompleted(); } @@ -1101,16 +1101,16 @@ void LinkPartnerHandleLoadPokeSprite(void) GetMonSpriteTemplate_803C56C( GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(gActiveBattler, 2), sub_8077F68(gActiveBattler), GetBattlerSubpriority(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; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + gBattlerControllerFuncs[gActiveBattler] = sub_811DDE8; } void LinkPartnerHandleSendOutPoke(void) @@ -1119,7 +1119,7 @@ void LinkPartnerHandleSendOutPoke(void) gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); sub_811F864(gActiveBattler, gBattleBufferA[gActiveBattler][2]); - gBattleBankFunc[gActiveBattler] = sub_811E1BC; + gBattlerControllerFuncs[gActiveBattler] = sub_811E1BC; } void sub_811F864(u8 a, u8 b) @@ -1131,18 +1131,18 @@ void sub_811F864(u8 a, u8 b) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); - gBankSpriteIds[a] = CreateSprite( + gBattlerSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(a, 2), sub_8077F68(a), GetBattlerSubpriority(a)); - gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; - gSprites[gBankSpriteIds[a]].data[0] = a; - gSprites[gBankSpriteIds[a]].data[2] = species; - gSprites[gBankSpriteIds[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); - gSprites[gBankSpriteIds[a]].invisible = TRUE; - gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[a]].data[1] = gBattlerSpriteIds[a]; + gSprites[gBattlerSpriteIds[a]].data[0] = a; + gSprites[gBattlerSpriteIds[a]].data[2] = species; + gSprites[gBattlerSpriteIds[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBattlerSpriteIds[a]].invisible = TRUE; + gSprites[gBattlerSpriteIds[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data[0] = StartSendOutMonAnimation(0, 0xFF); } @@ -1151,13 +1151,13 @@ void LinkPartnerHandleReturnPokeToBall(void) if (gBattleBufferA[gActiveBattler][1] == 0) { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_811FA5C; + gBattlerControllerFuncs[gActiveBattler] = sub_811FA5C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } @@ -1176,7 +1176,7 @@ void sub_811FA5C(void) { ewram17810[gActiveBattler].unk4 = 0; move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); - gBattleBankFunc[gActiveBattler] = sub_811DF34; + gBattlerControllerFuncs[gActiveBattler] = sub_811DF34; } break; } @@ -1202,15 +1202,15 @@ void LinkPartnerHandleTrainerThrow(void) } LoadPlayerTrainerBankSprite(gender, gActiveBattler); GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords), GetBattlerSubpriority(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; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_811DAE4; } void LinkPartnerHandleTrainerSlide(void) @@ -1220,13 +1220,13 @@ void LinkPartnerHandleTrainerSlide(void) void LinkPartnerHandleTrainerSlideBack(void) { - 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 = StartAnimLinearTranslation; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBattler] = sub_811DB1C; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_811DB1C; } void LinkPartnerHandlecmd10(void) @@ -1242,10 +1242,10 @@ void LinkPartnerHandlecmd10(void) ewram17810[gActiveBattler].unk4 = 0; HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; - gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; - gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80105EC; - gBattleBankFunc[gActiveBattler] = sub_811DE98; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80105EC; + gBattlerControllerFuncs[gActiveBattler] = sub_811DE98; } } @@ -1289,12 +1289,12 @@ void LinkPartnerHandleMoveAnimation(void) gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - if (sub_8031720(r0, gAnimMoveTurn) != 0) + if (IsMoveWithoutAnimation(r0, gAnimMoveTurn) != 0) LinkPartnerBufferExecCompleted(); else { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_811FF30; + gBattlerControllerFuncs[gActiveBattler] = sub_811FF30; } } } @@ -1356,7 +1356,7 @@ void LinkPartnerHandlePrintString(void) gBattle_BG0_Y = 0; BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBattler] = sub_811DFA0; + gBattlerControllerFuncs[gActiveBattler] = sub_811DFA0; } void LinkPartnerHandlePrintStringPlayerOnly(void) @@ -1405,15 +1405,15 @@ void LinkPartnerHandleHealthBarUpdate(void) u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); u32 hp = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, hp, r7); } else { u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBattler] = bx_t3_healthbar_update; + gBattlerControllerFuncs[gActiveBattler] = bx_t3_healthbar_update; } void LinkPartnerHandleExpBarUpdate(void) @@ -1425,9 +1425,9 @@ void LinkPartnerHandleStatusIconUpdate(void) { if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; - gBattleBankFunc[gActiveBattler] = sub_811E38C; + gBattlerControllerFuncs[gActiveBattler] = sub_811E38C; } } @@ -1441,7 +1441,7 @@ void LinkPartnerHandleStatusAnimation(void) | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); - gBattleBankFunc[gActiveBattler] = sub_811E38C; + gBattlerControllerFuncs[gActiveBattler] = sub_811E38C; } } @@ -1516,16 +1516,16 @@ void LinkPartnerHandlecmd40(void) void LinkPartnerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { LinkPartnerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; sub_8047858(gActiveBattler); - gBattleBankFunc[gActiveBattler] = bx_blink_t3; + gBattlerControllerFuncs[gActiveBattler] = bx_blink_t3; } } @@ -1572,25 +1572,25 @@ void LinkPartnerHandleTrainerBallThrow(void) u8 r4; u8 taskId; - 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 = StartAnimLinearTranslation; - gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); r4 = AllocSpritePalette(0xD6F9); LoadCompressedPalette( gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gActiveBattler)].gender].data, 0x100 + r4 * 16, 0x20); - gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = r4; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = r4; taskId = CreateTask(sub_812071C, 5); gTasks[taskId].data[0] = gActiveBattler; if (ewram17810[gActiveBattler].unk0_0) gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBattler] = nullsub_74; + gBattlerControllerFuncs[gActiveBattler] = nullsub_74; } void sub_812071C(u8 taskId) @@ -1620,7 +1620,7 @@ void sub_812071C(u8 taskId) sub_811F864(gActiveBattler, 0); gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBattler] = sub_811DCA0; + gBattlerControllerFuncs[gActiveBattler] = sub_811DCA0; gActiveBattler = r9; DestroyTask(taskId); } @@ -1642,7 +1642,7 @@ void LinkPartnerHandlecmd48(void) ewram17810[gActiveBattler].unk5 = 0; if (gBattleBufferA[gActiveBattler][2] != 0) ewram17810[gActiveBattler].unk5 = 0x5D; - gBattleBankFunc[gActiveBattler] = sub_81208E0; + gBattlerControllerFuncs[gActiveBattler] = sub_81208E0; } void sub_81208E0(void) @@ -1670,7 +1670,7 @@ void LinkPartnerHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; sub_8031F88(gActiveBattler); } LinkPartnerBufferExecCompleted(); @@ -1686,7 +1686,7 @@ void LinkPartnerHandleBattleAnimation(void) if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) LinkPartnerBufferExecCompleted(); else - gBattleBankFunc[gActiveBattler] = sub_811E3B8; + gBattlerControllerFuncs[gActiveBattler] = sub_811E3B8; } } @@ -1706,7 +1706,7 @@ void LinkPartnerHandlecmd55(void) FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); - gBattleBankFunc[gActiveBattler] = sub_811E29C; + gBattlerControllerFuncs[gActiveBattler] = sub_811E29C; } void LinkPartnerHandlecmd56(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 302f6a2f3..2cc42ca2a 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -35,12 +35,12 @@ extern u8 gUnknown_02023A14_50; extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; extern u16 gBattlerPartyIndexes[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u8 gBattleMonForms[]; extern struct SpriteTemplate gUnknown_02024E8C; -extern void (*gBattleBankFunc[])(void); +extern void (*gBattlerControllerFuncs[])(void); extern u8 gUnknown_0300434C[]; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; extern u16 gBattleTypeFlags; extern u16 gTrainerBattleOpponent; extern s32 gAnimMoveDmg; @@ -53,17 +53,17 @@ extern u8 gAnimScriptActive; extern void (*gAnimScriptCallback)(void); extern struct Window gUnknown_03004210; extern u8 gDisplayedStringBattle[]; -extern u8 gBankTarget; +extern u8 gBattlerTarget; extern u8 gAbsentBattlerFlags; extern bool8 gDoingBattleAnim; extern u16 gUnknown_02024DE8; extern u8 gUnknown_02024E68[]; extern MainCallback gPreBattleCallback1; extern void (*const gOpponentBufferCommands[])(void); -extern struct MusicPlayerInfo gMPlay_SE1; -extern struct MusicPlayerInfo gMPlay_SE2; -extern struct MusicPlayerInfo gMPlay_BGM; -extern u32 gBattleExecBuffer; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern u32 gBattleControllerExecFlags; extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); @@ -90,7 +90,7 @@ extern void StoreSpriteCallbackInData(); extern void sub_803311C(void); extern void sub_8010384(struct Sprite *); extern bool8 mplay_80342A4(u8); -extern u8 sub_8031720(); +extern u8 IsMoveWithoutAnimation(); extern void DoMoveAnim(); extern void sub_80326EC(); extern void sub_8031F24(void); @@ -262,12 +262,12 @@ void nullsub_45(void) void SetBankFuncToOpponentBufferRunCommand(void) { - gBattleBankFunc[gActiveBattler] = OpponentBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; } void OpponentBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { if (gBattleBufferA[gActiveBattler][0] <= 0x38) gOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); @@ -278,25 +278,25 @@ void OpponentBufferRunCommand(void) void sub_8032B4C(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } // Duplicate of sub_8032B4C void sub_8032B84(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } void sub_8032BBC(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - 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]]); + sub_8031B74(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum = gSprites[gBattlerSpriteIds[gActiveBattler]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); OpponentBufferExecCompleted(); } } @@ -316,13 +316,13 @@ void sub_8032C88(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) @@ -337,11 +337,11 @@ void sub_8032C88(void) FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); else - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); ewram17810[gActiveBattler].unk9 = 3; - gBattleBankFunc[gActiveBattler] = sub_8032C4C; + gBattlerControllerFuncs[gActiveBattler] = sub_8032C4C; } } @@ -357,35 +357,35 @@ void sub_8032E2C(void) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBattler ^ 2], + gHealthboxSpriteIds[gActiveBattler ^ 2], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler ^ 2]); sub_8032984( gActiveBattler ^ 2, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBattler], + gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); sub_8032984( gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBattler] = sub_8032C88; + gBattlerControllerFuncs[gActiveBattler] = sub_8032C88; } } void sub_8033018(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded == TRUE - && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded == TRUE + && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) { if (!ewram17810[gActiveBattler].unk0_7) { @@ -406,20 +406,20 @@ void sub_8033018(void) void sub_80330C8(void) { - s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); if (r4 != -1) - sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); + sub_80440EC(gHealthboxSpriteIds[gActiveBattler], r4, 0); else OpponentBufferExecCompleted(); } void sub_803311C(void) { - if (!gSprites[gBankSpriteIds[gActiveBattler]].inUse) + if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) { - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); OpponentBufferExecCompleted(); } } @@ -428,10 +428,10 @@ void sub_8033160(void) { if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); sub_8032A08(gActiveBattler); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); OpponentBufferExecCompleted(); } } @@ -444,7 +444,7 @@ void sub_80331D0(void) void bx_blink_t7(void) { - u8 spriteId = gBankSpriteIds[gActiveBattler]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -463,11 +463,11 @@ void bx_blink_t7(void) void sub_8033264(void) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { if (ewram17800[gActiveBattler].substituteSprite) move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); - gBattleBankFunc[gActiveBattler] = sub_80332D0; + gBattlerControllerFuncs[gActiveBattler] = sub_80332D0; } } @@ -488,15 +488,15 @@ void sub_8033308(void) ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); sub_8045A5C( - gHealthboxIDs[gActiveBattler], + gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); sub_8031F88(gActiveBattler); - gBattleBankFunc[gActiveBattler] = sub_8033264; + gBattlerControllerFuncs[gActiveBattler] = sub_8033264; } } @@ -509,7 +509,7 @@ void sub_80333D4(void) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBattler] = sub_8033308; + gBattlerControllerFuncs[gActiveBattler] = sub_8033308; } } @@ -527,8 +527,8 @@ void sub_80334C0(void) void OpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBattler] = OpponentBufferRunCommand; - gBattleExecBuffer &= ~gBitTable[gActiveBattler]; + gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } void OpponentHandleGetAttributes(void) @@ -552,7 +552,7 @@ void OpponentHandleGetAttributes(void) r4 >>= 1; } } - Emitcmd29(1, r6, buffer); + BtlController_EmitDataTransfer(1, r6, buffer); OpponentBufferExecCompleted(); } @@ -866,7 +866,7 @@ void OpponentHandlecmd1(void) u8 *dst; MEMSET_ALT(&buffer + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); - Emitcmd29(1, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(1, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -1124,18 +1124,18 @@ void OpponentHandleLoadPokeSprite(void) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(gActiveBattler, 2), sub_8077F68(gActiveBattler), GetBattlerSubpriority(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]); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = species; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBattler] = sub_8033018; + gBattlerControllerFuncs[gActiveBattler] = sub_8033018; } void OpponentHandleSendOutPoke(void) @@ -1143,7 +1143,7 @@ void OpponentHandleSendOutPoke(void) gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; sub_803495C(gActiveBattler, gBattleBufferA[gActiveBattler][2]); - gBattleBankFunc[gActiveBattler] = sub_80333D4; + gBattlerControllerFuncs[gActiveBattler] = sub_80333D4; } void sub_803495C(u8 a, u8 b) @@ -1156,18 +1156,18 @@ void sub_803495C(u8 a, u8 b) gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); - gBankSpriteIds[a] = CreateSprite( + gBattlerSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(a, 2), sub_8077F68(a), GetBattlerSubpriority(a)); - gSprites[gBankSpriteIds[a]].data[0] = a; - gSprites[gBankSpriteIds[a]].data[2] = species; - gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; - gSprites[gBankSpriteIds[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); - gSprites[gBankSpriteIds[a]].invisible = TRUE; - gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[a]].data[0] = a; + gSprites[gBattlerSpriteIds[a]].data[2] = species; + gSprites[gUnknown_0300434C[a]].data[1] = gBattlerSpriteIds[a]; + gSprites[gBattlerSpriteIds[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBattlerSpriteIds[a]].invisible = TRUE; + gSprites[gBattlerSpriteIds[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data[0] = StartSendOutMonAnimation(0, 0xFE); } @@ -1176,14 +1176,14 @@ void OpponentHandleReturnPokeToBall(void) if (gBattleBufferA[gActiveBattler][1] == 0) { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_8034B74; + gBattlerControllerFuncs[gActiveBattler] = sub_8034B74; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); sub_8032A08(gActiveBattler); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); OpponentBufferExecCompleted(); } } @@ -1202,7 +1202,7 @@ void sub_8034B74(void) { ewram17810[gActiveBattler].unk4 = 0; move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 2); - gBattleBankFunc[gActiveBattler] = sub_8033160; + gBattlerControllerFuncs[gActiveBattler] = sub_8033160; } break; } @@ -1232,19 +1232,19 @@ void OpponentHandleTrainerThrow(void) sub_8031A6C(trainerPicIndex, gActiveBattler); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), GetBattlerSubpriority(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; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicIndex; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_8032B4C; } void OpponentHandleTrainerSlide(void) @@ -1262,31 +1262,31 @@ void OpponentHandleTrainerSlide(void) sub_8031A6C(trainerPicIndex, gActiveBattler); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), 0x1E); - 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; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicIndex; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_8032B84; } void OpponentHandleTrainerSlideBack(void) { - 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 = StartAnimLinearTranslation; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBattler] = sub_8032BBC; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_8032BBC; } void OpponentHandlecmd10(void) @@ -1301,8 +1301,8 @@ void OpponentHandlecmd10(void) { ewram17810[gActiveBattler].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_8010384; - gBattleBankFunc[gActiveBattler] = sub_803311C; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8010384; + gBattlerControllerFuncs[gActiveBattler] = sub_803311C; } } @@ -1346,15 +1346,15 @@ void OpponentHandleMoveAnimation(void) gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - // Dead code. sub_8031720 always returns 0. - if (sub_8031720(r0, gAnimMoveTurn) != 0) + // Dead code. IsMoveWithoutAnimation always returns 0. + if (IsMoveWithoutAnimation(r0, gAnimMoveTurn) != 0) { OpponentBufferExecCompleted(); } else { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_8035238; + gBattlerControllerFuncs[gActiveBattler] = sub_8035238; } } } @@ -1416,7 +1416,7 @@ void OpponentHandlePrintString(void) gBattle_BG0_Y = 0; BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBattler] = sub_80331D0; + gBattlerControllerFuncs[gActiveBattler] = sub_80331D0; } void OpponentHandlePrintStringPlayerOnly(void) @@ -1571,7 +1571,7 @@ void OpponentHandlecmd20(void) mov r0, #0x1\n\ mov r1, #0xa\n\ ._569:\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ ._573:\n\ bl OpponentBufferExecCompleted\n\ b ._562\n\ @@ -1618,7 +1618,7 @@ void OpponentHandlecmd20(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._570 @cond_branch\n\ - ldr r1, ._574 + 4 @ gBankTarget\n\ + ldr r1, ._574 + 4 @ gBattlerTarget\n\ ldrb r0, [r6]\n\ strb r0, [r1]\n\ ._570:\n\ @@ -1634,7 +1634,7 @@ void OpponentHandlecmd20(void) beq ._572 @cond_branch\n\ mov r0, #0x0\n\ bl GetBattlerAtPosition\n\ - ldr r5, ._574 + 4 @ gBankTarget\n\ + ldr r5, ._574 + 4 @ gBattlerTarget\n\ strb r0, [r5]\n\ ldr r0, ._574 + 8 @ gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ @@ -1650,19 +1650,19 @@ void OpponentHandlecmd20(void) bl GetBattlerAtPosition\n\ strb r0, [r5]\n\ ._572:\n\ - ldr r0, ._574 + 4 @ gBankTarget\n\ + ldr r0, ._574 + 4 @ gBattlerTarget\n\ ldrb r2, [r0]\n\ lsl r2, r2, #0x8\n\ orr r2, r2, r4\n\ mov r0, #0x1\n\ mov r1, #0xa\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ b ._573\n\ ._575:\n\ .align 2, 0\n\ ._574:\n\ .word gBattleMoves\n\ - .word gBankTarget\n\ + .word gBattlerTarget\n\ .word gAbsentBattlerFlags\n\ .word gBitTable\n\ ._563:\n\ @@ -1716,7 +1716,7 @@ void OpponentHandlecmd20(void) orr r2, r2, r4\n\ mov r0, #0x1\n\ mov r1, #0xa\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ b ._582\n\ ._584:\n\ .align 2, 0\n\ @@ -1731,7 +1731,7 @@ void OpponentHandlecmd20(void) orr r2, r2, r4\n\ mov r0, #0x1\n\ mov r1, #0xa\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ ._582:\n\ bl OpponentBufferExecCompleted\n\ ._562:\n\ @@ -1758,22 +1758,22 @@ void OpponentHandlecmd20(void) switch (r4) { case 5: - Emitcmd33(1, 4, 0); + BtlController_EmitTwoReturnValues(1, 4, 0); break; case 4: - Emitcmd33(1, 3, 0); + BtlController_EmitTwoReturnValues(1, 3, 0); break; default: if (gBattleMoves[r5->moves[r4]].target & 0x12) - gBankTarget = gActiveBattler; + gBattlerTarget = gActiveBattler; if (gBattleMoves[r5->moves[r4]].target & 8) { - gBankTarget = GetBattlerAtPosition(0); - if (gAbsentBattlerFlags & gBitTable[gBankTarget]) - gBankTarget = GetBattlerAtPosition(2); + gBattlerTarget = GetBattlerAtPosition(0); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(2); } - r4 |= gBankTarget << 8; - Emitcmd33(1, 10, r4); + r4 |= gBattlerTarget << 8; + BtlController_EmitTwoReturnValues(1, 10, r4); break; } OpponentBufferExecCompleted(); @@ -1792,19 +1792,19 @@ void OpponentHandlecmd20(void) if (gBattleMoves[r2].target & 0x12) { r4 |= gActiveBattler << 8; - Emitcmd33(1, 10, r4); + BtlController_EmitTwoReturnValues(1, 10, r4); } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u16 r2 = GetBattlerAtPosition(Random() & 2) << 8; - Emitcmd33(1, 10, r4 | r2); + BtlController_EmitTwoReturnValues(1, 10, r4 | r2); } else { u16 r2 = GetBattlerAtPosition(0) << 8; - Emitcmd33(1, 10, r4 | r2); + BtlController_EmitTwoReturnValues(1, 10, r4 | r2); } OpponentBufferExecCompleted(); } @@ -1847,7 +1847,7 @@ _08035468:\n\ movs r1, 0x3\n\ _0803546C:\n\ movs r2, 0\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ b _080354E0\n\ _08035474:\n\ ldr r3, _080354E8 @ =gBattleMoves\n\ @@ -1863,7 +1863,7 @@ _08035474:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _08035494\n\ - ldr r1, _080354EC @ =gBankTarget\n\ + ldr r1, _080354EC @ =gBattlerTarget\n\ ldrb r0, [r6]\n\ strb r0, [r1]\n\ _08035494:\n\ @@ -1879,7 +1879,7 @@ _08035494:\n\ beq _080354CE\n\ movs r0, 0\n\ bl GetBattlerAtPosition\n\ - ldr r5, _080354EC @ =gBankTarget\n\ + ldr r5, _080354EC @ =gBattlerTarget\n\ strb r0, [r5]\n\ ldr r0, _080354F0 @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ @@ -1895,20 +1895,20 @@ _08035494:\n\ bl GetBattlerAtPosition\n\ strb r0, [r5]\n\ _080354CE:\n\ - ldr r0, _080354EC @ =gBankTarget\n\ + ldr r0, _080354EC @ =gBattlerTarget\n\ ldrb r0, [r0]\n\ lsls r0, 8\n\ orrs r4, r0\n\ movs r0, 0x1\n\ movs r1, 0xA\n\ adds r2, r4, 0\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ _080354E0:\n\ bl OpponentBufferExecCompleted\n\ b _0803558A\n\ .align 2, 0\n\ _080354E8: .4byte gBattleMoves\n\ -_080354EC: .4byte gBankTarget\n\ +_080354EC: .4byte gBattlerTarget\n\ _080354F0: .4byte gAbsentBattlerFlags\n\ _080354F4: .4byte gBitTable\n\ _080354F8:\n\ @@ -1939,7 +1939,7 @@ _080354FA:\n\ movs r0, 0x1\n\ movs r1, 0xA\n\ adds r2, r4, 0\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ b _08035586\n\ .align 2, 0\n\ _08035534: .4byte gBattleMoves\n\ @@ -1964,7 +1964,7 @@ _0803553C:\n\ orrs r2, r4\n\ movs r0, 0x1\n\ movs r1, 0xA\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ b _08035586\n\ .align 2, 0\n\ _0803556C: .4byte gBattleTypeFlags\n\ @@ -1977,7 +1977,7 @@ _08035570:\n\ orrs r2, r4\n\ movs r0, 0x1\n\ movs r1, 0xA\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ _08035586:\n\ bl OpponentBufferExecCompleted\n\ _0803558A:\n\ @@ -1992,7 +1992,7 @@ _0803558A:\n\ void OpponentHandleOpenBag(void) { // What is this? - Emitcmd35(1, ewram160D4(gActiveBattler)); + BtlController_EmitOneReturnValue(1, ewram160D4(gActiveBattler)); OpponentBufferExecCompleted(); } @@ -2033,7 +2033,7 @@ void OpponentHandlecmd22(void) ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; } ewram16068arr(gActiveBattler) = r4; - Emitcmd34(1, r4, 0); + BtlController_EmitChosenMonReturnValue(1, r4, 0); OpponentBufferExecCompleted(); } @@ -2053,15 +2053,15 @@ void OpponentHandleHealthBarUpdate(void) u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, hp, r7); } else { u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBattler] = sub_80330C8; + gBattlerControllerFuncs[gActiveBattler] = sub_80330C8; } void OpponentHandleExpBarUpdate(void) @@ -2073,9 +2073,9 @@ void OpponentHandleStatusIconUpdate(void) { if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; - gBattleBankFunc[gActiveBattler] = sub_8033494; + gBattlerControllerFuncs[gActiveBattler] = sub_8033494; } } @@ -2089,7 +2089,7 @@ void OpponentHandleStatusAnimation(void) | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); - gBattleBankFunc[gActiveBattler] = sub_8033494; + gBattlerControllerFuncs[gActiveBattler] = sub_8033494; } } @@ -2164,16 +2164,16 @@ void OpponentHandlecmd40(void) void OpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { OpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; sub_8047858(gActiveBattler); - gBattleBankFunc[gActiveBattler] = bx_blink_t7; + gBattlerControllerFuncs[gActiveBattler] = bx_blink_t7; } } @@ -2219,18 +2219,18 @@ void OpponentHandleTrainerBallThrow(void) { u8 taskId; - 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 = StartAnimLinearTranslation; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8035C10); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_8035C10); taskId = CreateTask(sub_8035C44, 5); gTasks[taskId].data[0] = gActiveBattler; if (ewram17810[gActiveBattler].unk0_0) gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBattler] = nullsub_45; + gBattlerControllerFuncs[gActiveBattler] = nullsub_45; } void sub_8035C10(struct Sprite *sprite) @@ -2261,7 +2261,7 @@ void sub_8035C44(u8 taskId) sub_803495C(gActiveBattler, 0); gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBattler] = sub_8032E2C; + gBattlerControllerFuncs[gActiveBattler] = sub_8032E2C; gActiveBattler = r9; DestroyTask(taskId); } @@ -2295,7 +2295,7 @@ void OpponentHandlecmd48(void) ewram17810[gActiveBattler].unk5 = 0; if (gBattleBufferA[gActiveBattler][2] != 0) ewram17810[gActiveBattler].unk5 = 0x5D; - gBattleBankFunc[gActiveBattler] = sub_8035E2C; + gBattlerControllerFuncs[gActiveBattler] = sub_8035E2C; } void sub_8035E2C(void) @@ -2323,7 +2323,7 @@ void OpponentHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; sub_8031F88(gActiveBattler); } OpponentBufferExecCompleted(); @@ -2339,7 +2339,7 @@ void OpponentHandleBattleAnimation(void) if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) OpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBattler] = sub_80334C0; + gBattlerControllerFuncs[gActiveBattler] = sub_80334C0; } } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 9e9848a18..7de3ada41 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -38,10 +38,10 @@ struct MovePpInfo extern struct Window gUnknown_03004210; -extern void (*gBattleBankFunc[])(void); +extern void (*gBattlerControllerFuncs[])(void); -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u32 gOamMatrixAllocBitmap; extern u8 gUnknown_020297ED; extern u8 gActiveBattler; @@ -51,9 +51,9 @@ extern u8 gMoveSelectionCursor[]; extern u8 gBattleBufferA[][0x200]; extern u8 gBankInMenu; extern u16 gBattlerPartyIndexes[]; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; extern u8 gDoingBattleAnim; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gBattleTypeFlags; extern u8 gBattleOutcome; extern void (*gAnimScriptCallback)(void); @@ -110,7 +110,7 @@ extern void BufferStringBattle(); extern void sub_80326EC(); extern void sub_8031F24(void); extern void sub_80324BC(); -extern u8 sub_8031720(); +extern u8 IsMoveWithoutAnimation(); extern void bx_wait_t1(void); extern u8 GetBattlerAtPosition(u8); extern void sub_802DE10(void); @@ -130,12 +130,12 @@ extern u8 StartSendOutMonAnimation(); extern void sub_802D798(void); extern void bx_0802E404(void); extern u8 gActiveBattler; -extern void (*gBattleBankFunc[])(void); +extern void (*gBattlerControllerFuncs[])(void); extern bool8 gDoingBattleAnim; extern u16 gBattleTypeFlags; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u8 gBattleBufferA[][0x200]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; extern u8 gAbsentBattlerFlags; @@ -147,8 +147,8 @@ extern const u8 BattleText_SwitchWhich[]; extern u8 gUnknown_03004348; extern struct BattlePokemon gBattleMons[]; extern MainCallback gPreBattleCallback1; -extern u8 gHealthboxIDs[]; -extern struct MusicPlayerInfo gMPlay_BGM; +extern u8 gHealthboxSpriteIds[]; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u8 gUnknown_0300434C[]; extern u8 gUnknown_0202E8F4; extern u8 gUnknown_0202E8F5; @@ -326,13 +326,13 @@ void nullsub_91(void) void SetBankFuncToPlayerBufferRunCommand(void) { - gBattleBankFunc[gActiveBattler] = PlayerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = PlayerBufferRunCommand; gDoingBattleAnim = FALSE; } void PlayerBufferExecCompleted(void) { - gBattleBankFunc[gActiveBattler] = PlayerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = PlayerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); @@ -342,13 +342,13 @@ void PlayerBufferExecCompleted(void) } else { - gBattleExecBuffer &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } void PlayerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { if (gBattleBufferA[gActiveBattler][0] < 0x39) gPlayerBufferCommands[gBattleBufferA[gActiveBattler][0]](); @@ -359,7 +359,7 @@ void PlayerBufferRunCommand(void) void bx_0802E404(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) PlayerBufferExecCompleted(); } @@ -378,16 +378,16 @@ void sub_802C098(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: - Emitcmd33(1, 0, 0); + BtlController_EmitTwoReturnValues(1, 0, 0); break; case 1: - Emitcmd33(1, 1, 0); + BtlController_EmitTwoReturnValues(1, 1, 0); break; case 2: - Emitcmd33(1, 2, 0); + BtlController_EmitTwoReturnValues(1, 2, 0); break; case 3: - Emitcmd33(1, 3, 0); + BtlController_EmitTwoReturnValues(1, 3, 0); break; } PlayerBufferExecCompleted(); @@ -448,7 +448,7 @@ void sub_802C098(void) return; } PlaySE(SE_SELECT); - Emitcmd33(1, 12, 0); + BtlController_EmitTwoReturnValues(1, 12, 0); PlayerBufferExecCompleted(); DestroyMenuCursor(); } @@ -463,7 +463,7 @@ void unref_sub_802C2B8(void) { dp11b_obj_free(gActiveBattler, 1); dp11b_obj_free(gActiveBattler, 0); - gBattleBankFunc[gActiveBattler] = sub_802C2EC; + gBattlerControllerFuncs[gActiveBattler] = sub_802C2EC; } // TODO: fix this function @@ -487,8 +487,8 @@ void sub_802C2EC(void) { DestroyMenuCursor(); PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; - Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); + gSprites[gBattlerSpriteIds[gUnknown_03004344]].callback = sub_8010574; + BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); dp11b_obj_free(gUnknown_03004344, 1); PlayerBufferExecCompleted(); } @@ -496,8 +496,8 @@ void sub_802C2EC(void) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; - gBattleBankFunc[gActiveBattler] = sub_802C68C; + gSprites[gBattlerSpriteIds[gUnknown_03004344]].callback = sub_8010574; + gBattlerControllerFuncs[gActiveBattler] = sub_802C68C; dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); dp11b_obj_free(gUnknown_03004344, 1); @@ -505,7 +505,7 @@ void sub_802C2EC(void) else if (gMain.newKeys & 0x60) { PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; + gSprites[gBattlerSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { u8 var = GetBattlerPosition(gUnknown_03004344); @@ -546,13 +546,13 @@ void sub_802C2EC(void) if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); - gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; + gSprites[gBattlerSpriteIds[gUnknown_03004344]].callback = sub_8010520; } //_0802C540 else if (gMain.newKeys & 0x90) { PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; + gSprites[gBattlerSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { u8 var = GetBattlerPosition(gUnknown_03004344); @@ -592,7 +592,7 @@ void sub_802C2EC(void) if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); - gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; + gSprites[gBattlerSpriteIds[gUnknown_03004344]].callback = sub_8010520; } } @@ -656,19 +656,19 @@ void sub_802C68C(void) if (r8 == 0) { DestroyMenuCursor(); - Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); + BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); PlayerBufferExecCompleted(); } else { - gBattleBankFunc[gActiveBattler] = sub_802C2EC; + gBattlerControllerFuncs[gActiveBattler] = sub_802C2EC; if (r4 & 0x12) gUnknown_03004344 = gActiveBattler; else if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(1)]) gUnknown_03004344 = GetBattlerAtPosition(3); else gUnknown_03004344 = GetBattlerAtPosition(1); - gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; + gSprites[gBattlerSpriteIds[gUnknown_03004344]].callback = sub_8010520; } } else if (gMain.newKeys & B_BUTTON) @@ -677,7 +677,7 @@ void sub_802C68C(void) PlaySE(SE_SELECT); gBattle_BG0_X = 0; gBattle_BG0_Y = 320; - Emitcmd33(1, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(1, 10, 0xFFFF); PlayerBufferExecCompleted(); } else if (gMain.newKeys & DPAD_LEFT) @@ -743,7 +743,7 @@ void sub_802C68C(void) Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_SwitchWhich, 0x290, 0x17, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); - gBattleBankFunc[gActiveBattler] = sub_802CA60; + gBattlerControllerFuncs[gActiveBattler] = sub_802CA60; } } #if DEBUG @@ -780,7 +780,7 @@ void sub_802C68C(void) } ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x12A, 14, 0x39); - gBattleBankFunc[gActiveBattler] = debug_sub_8030C24; + gBattlerControllerFuncs[gActiveBattler] = debug_sub_8030C24; } #endif } @@ -883,7 +883,7 @@ void sub_802CA60(void) { sub_802E12C(gUnknown_03004344, BattleText_Format); } - gBattleBankFunc[gActiveBattler] = sub_802C68C; + gBattlerControllerFuncs[gActiveBattler] = sub_802C68C; gMoveSelectionCursor[gActiveBattler] = gUnknown_03004344; sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); @@ -898,7 +898,7 @@ void sub_802CA60(void) nullsub_7(gUnknown_03004344); sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E12C(gMoveSelectionCursor[gActiveBattler], BattleText_Format); - gBattleBankFunc[gActiveBattler] = sub_802C68C; + gBattlerControllerFuncs[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); @@ -977,7 +977,7 @@ void sub_802D18C(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { sub_800832C(); - gBattleBankFunc[gActiveBattler] = sub_802D148; + gBattlerControllerFuncs[gActiveBattler] = sub_802D148; } else { @@ -1002,41 +1002,41 @@ void debug_sub_8030C24(void) case START_BUTTON: dp11b_obj_free(gActiveBattler, 1); dp11b_obj_free(gActiveBattler, 0); - gBankAttacker = gActiveBattler; + gBattlerAttacker = gActiveBattler; if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankTarget = gBankAttacker ^ 2; + gBattlerTarget = gBattlerAttacker ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankTarget = GetBattlerAtPosition(3); + gBattlerTarget = GetBattlerAtPosition(3); else - gBankTarget = GetBattlerAtPosition(1); + gBattlerTarget = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBattler] = debug_sub_803107C; + gBattlerControllerFuncs[gActiveBattler] = debug_sub_803107C; break; case SELECT_BUTTON: dp11b_obj_free(gActiveBattler, 1); dp11b_obj_free(gActiveBattler, 0); - gBankTarget = gActiveBattler; + gBattlerTarget = gActiveBattler; if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankAttacker = gBankTarget ^ 2; + gBattlerAttacker = gBattlerTarget ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankAttacker = GetBattlerAtPosition(3); + gBattlerAttacker = GetBattlerAtPosition(3); else - gBankAttacker = GetBattlerAtPosition(1); + gBattlerAttacker = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBattler] = debug_sub_803107C; + gBattlerControllerFuncs[gActiveBattler] = debug_sub_803107C; break; case R_BUTTON: if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { dp11b_obj_free(gActiveBattler, 1); dp11b_obj_free(gActiveBattler, 0); - gBankAttacker = GetBattlerAtPosition(3); - gBankTarget = GetBattlerAtPosition(1); + gBattlerAttacker = GetBattlerAtPosition(3); + gBattlerTarget = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBattler] = debug_sub_803107C; + gBattlerControllerFuncs[gActiveBattler] = debug_sub_803107C; } else { @@ -1057,11 +1057,11 @@ void debug_sub_8030C24(void) { dp11b_obj_free(gActiveBattler, 1); dp11b_obj_free(gActiveBattler, 0); - gBankAttacker = GetBattlerAtPosition(1); - gBankTarget = GetBattlerAtPosition(3); + gBattlerAttacker = GetBattlerAtPosition(1); + gBattlerTarget = GetBattlerAtPosition(3); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBattler] = debug_sub_803107C; + gBattlerControllerFuncs[gActiveBattler] = debug_sub_803107C; } else { @@ -1106,7 +1106,7 @@ void debug_sub_8030C24(void) (i < 2) ? 0x37 : 0x39); Text_PrintWindow8002F44(&gUnknown_03004210); } - gBattleBankFunc[gActiveBattler] = sub_802C68C; + gBattlerControllerFuncs[gActiveBattler] = sub_802C68C; } } @@ -1143,7 +1143,7 @@ void debug_sub_803107C(void) ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 298, 14, 0x39); - gBattleBankFunc[gActiveBattler] = debug_sub_8030C24; + gBattlerControllerFuncs[gActiveBattler] = debug_sub_8030C24; } } @@ -1151,24 +1151,24 @@ void debug_sub_803107C(void) void sub_802D204(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } // duplicate of sub_802D204 void sub_802D23C(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } void sub_802D274(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_10(gSaveBlock2.playerGender); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); PlayerBufferExecCompleted(); } } @@ -1188,13 +1188,13 @@ void sub_802D31C(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) @@ -1209,14 +1209,14 @@ void sub_802D31C(void) FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); else - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], gActiveBattler ^ 2); ewram17810[gActiveBattler].unk9 = 3; - gBattleBankFunc[gActiveBattler] = sub_802D2E0; + gBattlerControllerFuncs[gActiveBattler] = sub_802D2E0; } } @@ -1232,27 +1232,27 @@ void sub_802D500(void) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBattler ^ 2], + gHealthboxSpriteIds[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler ^ 2]); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBattler], + gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBattler] = sub_802D31C; + gBattlerControllerFuncs[gActiveBattler] = sub_802D31C; } } void sub_802D680(void) { - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy && ewram17810[gActiveBattler].unk1_0) { ewram17810[gActiveBattler].unk0_7 = 0; @@ -1261,7 +1261,7 @@ void sub_802D680(void) FreeSpritePaletteByTag(0x27F9); if (ewram17800[gActiveBattler].substituteSprite) move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); - gBattleBankFunc[gActiveBattler] = sub_802D730; + gBattlerControllerFuncs[gActiveBattler] = sub_802D730; } } @@ -1269,7 +1269,7 @@ void sub_802D730(void) { if (!ewram17810[gActiveBattler].unk0_6 && !IsCryPlayingOrClearCrySongs()) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } @@ -1283,11 +1283,11 @@ void sub_802D798(void) && !ewram17810[gActiveBattler].unk0_3) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); sub_8031F88(gActiveBattler); - gBattleBankFunc[gActiveBattler] = sub_802D680; + gBattlerControllerFuncs[gActiveBattler] = sub_802D680; } } @@ -1295,19 +1295,19 @@ void c3_0802FDF4(u8 taskId) { if (!IsCryPlayingOrClearCrySongs()) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); DestroyTask(taskId); } } void bx_t1_healthbar_update(void) { - s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); + sub_80440EC(gHealthboxSpriteIds[gActiveBattler], r4, 0); } else { @@ -1346,7 +1346,7 @@ void sub_802D924(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; gActiveBattler = bank; - Emitcmd33(1, 11, gainedExp); + BtlController_EmitTwoReturnValues(1, 11, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE @@ -1359,7 +1359,7 @@ void sub_802D924(u8 taskId) { currExp += gainedExp; SetMonData(pkmn, MON_DATA_EXP, &currExp); - gBattleBankFunc[bank] = sub_802D90C; + gBattlerControllerFuncs[bank] = sub_802D90C; DestroyTask(taskId); } } @@ -1383,7 +1383,7 @@ void sub_802DA9C(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLvlExp; - sub_8043D84(bank, gHealthboxIDs[bank], expToNextLvl, exp, -r9); + sub_8043D84(bank, gHealthboxSpriteIds[bank], expToNextLvl, exp, -r9); PlaySE(SE_EXP); gTasks[taskId].func = sub_802DB6C; } @@ -1402,8 +1402,8 @@ void sub_802DB6C(u8 taskId) u8 r7 = gTasks[taskId].data[2]; s16 r4; - r4 = sub_8045C78(r7, gHealthboxIDs[r7], 1, 0); - sub_8043DFC(gHealthboxIDs[r7]); + r4 = sub_8045C78(r7, gHealthboxSpriteIds[r7], 1, 0); + sub_8043DFC(gHealthboxSpriteIds[r7]); if (r4 == -1) { struct Pokemon *pkmn; @@ -1431,7 +1431,7 @@ void sub_802DB6C(u8 taskId) r10 -= asdf; r5 = gActiveBattler; gActiveBattler = r7; - Emitcmd33(1, 11, r10); + BtlController_EmitTwoReturnValues(1, 11, r10); gActiveBattler = r5; gTasks[taskId].func = sub_802DCB0; } @@ -1440,7 +1440,7 @@ void sub_802DB6C(u8 taskId) //u32 asdf = sp4 + r10; sp4 += r10; SetMonData(pkmn, MON_DATA_EXP, &sp4); - gBattleBankFunc[r7] = sub_802D90C; + gBattlerControllerFuncs[r7] = sub_802D90C; DestroyTask(taskId); } } @@ -1480,7 +1480,7 @@ _0802DB9C:\n\ ldrh r2, [r6, 0xA]\n\ mov r10, r2\n\ ldrb r7, [r6, 0xC]\n\ - ldr r5, _0802DC64 @ =gHealthboxIDs\n\ + ldr r5, _0802DC64 @ =gHealthboxSpriteIds\n\ adds r5, r7, r5\n\ ldrb r1, [r5]\n\ adds r0, r7, 0\n\ @@ -1561,13 +1561,13 @@ _0802DB9C:\n\ lsrs r2, 16\n\ movs r0, 0x1\n\ movs r1, 0xB\n\ - bl Emitcmd33\n\ + bl BtlController_EmitTwoReturnValues\n\ strb r5, [r4]\n\ ldr r0, _0802DC78 @ =sub_802DCB0\n\ str r0, [r6]\n\ b _0802DC98\n\ .align 2, 0\n\ -_0802DC64: .4byte gHealthboxIDs\n\ +_0802DC64: .4byte gHealthboxSpriteIds\n\ _0802DC68: .4byte gPlayerParty\n\ _0802DC6C: .4byte gExperienceTables\n\ _0802DC70: .4byte gBaseStats\n\ @@ -1579,7 +1579,7 @@ _0802DC7C:\n\ adds r0, r5, 0\n\ movs r1, 0x19\n\ bl SetMonData\n\ - ldr r1, _0802DCA8 @ =gBattleBankFunc\n\ + ldr r1, _0802DCA8 @ =gBattlerControllerFuncs\n\ lsls r0, r7, 2\n\ adds r0, r1\n\ ldr r1, _0802DCAC @ =sub_802D90C\n\ @@ -1596,7 +1596,7 @@ _0802DC98:\n\ pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_0802DCA8: .4byte gBattleBankFunc\n\ +_0802DCA8: .4byte gBattlerControllerFuncs\n\ _0802DCAC: .4byte sub_802D90C\n"); } #endif @@ -1622,9 +1622,9 @@ void sub_802DD10(u8 taskId) GetMonData(&gPlayerParty[pkmnIndex], MON_DATA_LEVEL); // Unused return value if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlerPartyIndexes[bank ^ 2]) - sub_8045A5C(gHealthboxIDs[bank ^ 2], &gPlayerParty[pkmnIndex], 0); + sub_8045A5C(gHealthboxSpriteIds[bank ^ 2], &gPlayerParty[pkmnIndex], 0); else - sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[pkmnIndex], 0); + sub_8045A5C(gHealthboxSpriteIds[bank], &gPlayerParty[pkmnIndex], 0); gTasks[taskId].func = sub_802DDC4; } } @@ -1637,20 +1637,20 @@ void sub_802DDC4(u8 taskId) pkmnIndex = gTasks[taskId].data[0]; GetMonData(&gPlayerParty[pkmnIndex], MON_DATA_LEVEL); // Unused return value bank = gTasks[taskId].data[2]; - gBattleBankFunc[bank] = sub_802D90C; + gBattlerControllerFuncs[bank] = sub_802D90C; DestroyTask(taskId); } void sub_802DE10(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); nullsub_9(species); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); PlayerBufferExecCompleted(); } } @@ -1659,9 +1659,9 @@ void sub_802DEAC(void) { if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); PlayerBufferExecCompleted(); } } @@ -1679,7 +1679,7 @@ void sub_802DF30(void) { u8 r4; - gBattleBankFunc[gActiveBattler] = sub_802DF88; + gBattlerControllerFuncs[gActiveBattler] = sub_802DF88; r4 = gTasks[gUnknown_0300434C[gActiveBattler]].data[0]; DestroyTask(gUnknown_0300434C[gActiveBattler]); sub_8094E20(r4); @@ -1691,9 +1691,9 @@ void sub_802DF88(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gUnknown_0202E8F4 == 1) - Emitcmd34(1, gUnknown_0202E8F5, gUnknown_02038470); + BtlController_EmitChosenMonReturnValue(1, gUnknown_0202E8F5, gUnknown_02038470); else - Emitcmd34(1, 6, NULL); + BtlController_EmitChosenMonReturnValue(1, 6, NULL); if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) b_link_standby_message(); PlayerBufferExecCompleted(); @@ -1704,7 +1704,7 @@ void sub_802E004(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBattler] = sub_802E03C; + gBattlerControllerFuncs[gActiveBattler] = sub_802E03C; nullsub_14(); sub_80A6DCC(); } @@ -1714,7 +1714,7 @@ void sub_802E03C(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - Emitcmd35(1, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId); PlayerBufferExecCompleted(); } } @@ -1727,7 +1727,7 @@ void bx_wait_t1(void) void bx_blink_t1(void) { - u8 spriteId = gBankSpriteIds[gActiveBattler]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -1915,7 +1915,7 @@ void PlayerHandleGetAttributes(void) r4 >>= 1; } } - Emitcmd29(1, offset, unkData); + BtlController_EmitDataTransfer(1, offset, unkData); PlayerBufferExecCompleted(); } @@ -2230,7 +2230,7 @@ void PlayerHandlecmd1(void) u8 *dst; MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); - Emitcmd29(1, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(1, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2487,8 +2487,8 @@ void PlayerHandlecmd3(void) void PlayerHandleLoadPokeSprite(void) { BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gBattleBankFunc[gActiveBattler] = bx_0802E404; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gBattlerControllerFuncs[gActiveBattler] = bx_0802E404; } void PlayerHandleSendOutPoke(void) @@ -2499,7 +2499,7 @@ void PlayerHandleSendOutPoke(void) gActionSelectionCursor[gActiveBattler] = 0; gMoveSelectionCursor[gActiveBattler] = 0; sub_802F934(gActiveBattler, gBattleBufferA[gActiveBattler][2]); - gBattleBankFunc[gActiveBattler] = sub_802D798; + gBattlerControllerFuncs[gActiveBattler] = sub_802D798; } void sub_802F934(u8 bank, u8 b) @@ -2511,18 +2511,18 @@ void sub_802F934(u8 bank, u8 b) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite( + gBattlerSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), sub_8077F68(bank), GetBattlerSubpriority(bank)); - gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; - gSprites[gBankSpriteIds[bank]].data[0] = bank; - gSprites[gBankSpriteIds[bank]].data[2] = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[bank]].data[0] = StartSendOutMonAnimation(0, 0xFF); } @@ -2531,13 +2531,13 @@ void PlayerHandleReturnPokeToBall(void) if (gBattleBufferA[gActiveBattler][1] == 0) { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_802FB2C; + gBattlerControllerFuncs[gActiveBattler] = sub_802FB2C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); PlayerBufferExecCompleted(); } } @@ -2556,7 +2556,7 @@ void sub_802FB2C(void) { ewram17810[gActiveBattler].unk4 = 0; move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); - gBattleBankFunc[gActiveBattler] = sub_802DEAC; + gBattlerControllerFuncs[gActiveBattler] = sub_802DEAC; } } } @@ -2578,44 +2578,44 @@ void PlayerHandleTrainerThrow(void) } LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, r7 + 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, GetBattlerSubpriority(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; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_802D204; } void PlayerHandleTrainerSlide(void) { LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - 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; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_802D23C; } void PlayerHandleTrainerSlideBack(void) { - 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 = StartAnimLinearTranslation; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); - gBattleBankFunc[gActiveBattler] = sub_802D274; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); + gBattlerControllerFuncs[gActiveBattler] = sub_802D274; } void PlayerHandlecmd10(void) @@ -2633,10 +2633,10 @@ void PlayerHandlecmd10(void) ewram17810[gActiveBattler].unk4 = 0; HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; - gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; - gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80105EC; - gBattleBankFunc[gActiveBattler] = sub_802DE10; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80105EC; + gBattlerControllerFuncs[gActiveBattler] = sub_802DE10; } } } @@ -2652,7 +2652,7 @@ void PlayerHandlecmd12(void) ewram17840.unk8 = 4; gDoingBattleAnim = 1; move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3); - gBattleBankFunc[gActiveBattler] = bx_wait_t1; + gBattlerControllerFuncs[gActiveBattler] = bx_wait_t1; } void PlayerHandleBallThrow(void) @@ -2662,7 +2662,7 @@ void PlayerHandleBallThrow(void) ewram17840.unk8 = var; gDoingBattleAnim = 1; move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3); - gBattleBankFunc[gActiveBattler] = bx_wait_t1; + gBattlerControllerFuncs[gActiveBattler] = bx_wait_t1; } void PlayerHandlePuase(void) @@ -2689,15 +2689,15 @@ void PlayerHandleMoveAnimation(void) gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - if (sub_8031720(r0, gAnimMoveTurn) != 0) + if (IsMoveWithoutAnimation(r0, gAnimMoveTurn) != 0) { - // Dead code. sub_8031720 always returns 0. + // Dead code. IsMoveWithoutAnimation always returns 0. PlayerBufferExecCompleted(); } else { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_8030190; + gBattlerControllerFuncs[gActiveBattler] = sub_8030190; } } } @@ -2756,7 +2756,7 @@ void PlayerHandlePrintString(void) gBattle_BG0_Y = 0; BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15); - gBattleBankFunc[gActiveBattler] = sub_802DF18; + gBattlerControllerFuncs[gActiveBattler] = sub_802DF18; } void PlayerHandlePrintStringPlayerOnly(void) @@ -2776,7 +2776,7 @@ void PlayerHandlecmd18(void) Text_FillWindowRect(&gUnknown_03004210, 10, 2, 15, 27, 18); Text_FillWindowRect(&gUnknown_03004210, 10, 2, 35, 16, 38); - gBattleBankFunc[gActiveBattler] = sub_802C098; + gBattlerControllerFuncs[gActiveBattler] = sub_802C098; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -2787,7 +2787,7 @@ void PlayerHandlecmd18(void) sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); - StrCpyDecodeToDisplayedStringBattle(BattleText_OtherMenu); + BattleStringExpandPlaceholdersToDisplayedString(BattleText_OtherMenu); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35); Text_PrintWindow8002F44(&gUnknown_03004210); } @@ -2800,7 +2800,7 @@ void PlayerHandlecmd20(void) { MenuCursor_Create814A5C0(0, 0xFFFF, 12, 0x2D9F, 0); sub_80304A8(); - gBattleBankFunc[gActiveBattler] = sub_802C68C; + gBattlerControllerFuncs[gActiveBattler] = sub_802C68C; } void sub_80304A8(void) @@ -2824,7 +2824,7 @@ void PlayerHandleOpenBag(void) s32 i; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); - gBattleBankFunc[gActiveBattler] = sub_802E004; + gBattlerControllerFuncs[gActiveBattler] = sub_802E004; gBankInMenu = gActiveBattler; for (i = 0; i < 3; i++) gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][1 + i]; @@ -2842,7 +2842,7 @@ void PlayerHandlecmd22(void) for (i = 0; i < 3; i++) gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][4 + i]; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); - gBattleBankFunc[gActiveBattler] = sub_802DF30; + gBattlerControllerFuncs[gActiveBattler] = sub_802DF30; gBankInMenu = gActiveBattler; } @@ -2864,16 +2864,16 @@ void PlayerHandleHealthBarUpdate(void) u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, r7); } else { u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); - sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, r7); + sub_80440EC(gHealthboxSpriteIds[gActiveBattler], 0, 0); } - gBattleBankFunc[gActiveBattler] = bx_t1_healthbar_update; + gBattlerControllerFuncs[gActiveBattler] = bx_t1_healthbar_update; } void PlayerHandleExpBarUpdate(void) @@ -2896,7 +2896,7 @@ void PlayerHandleExpBarUpdate(void) gTasks[taskId].data[0] = r7; gTasks[taskId].data[1] = r4; gTasks[taskId].data[2] = gActiveBattler; - gBattleBankFunc[gActiveBattler] = nullsub_91; + gBattlerControllerFuncs[gActiveBattler] = nullsub_91; } } @@ -2904,9 +2904,9 @@ void PlayerHandleStatusIconUpdate(void) { if (!mplay_80342A4(gActiveBattler)) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; - gBattleBankFunc[gActiveBattler] = sub_802E434; + gBattlerControllerFuncs[gActiveBattler] = sub_802E434; } } @@ -2917,7 +2917,7 @@ void PlayerHandleStatusAnimation(void) move_anim_start_t2_for_situation( gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); - gBattleBankFunc[gActiveBattler] = sub_802E434; + gBattlerControllerFuncs[gActiveBattler] = sub_802E434; } } @@ -2959,25 +2959,25 @@ void PlayerHandlecmd32(void) void PlayerHandlecmd33(void) { - Emitcmd33(1, 0, 0); + BtlController_EmitTwoReturnValues(1, 0, 0); PlayerBufferExecCompleted(); } void PlayerHandlecmd34(void) { - Emitcmd34(1, 0, 0); + BtlController_EmitChosenMonReturnValue(1, 0, 0); PlayerBufferExecCompleted(); } void PlayerHandlecmd35(void) { - Emitcmd35(1, 0); + BtlController_EmitOneReturnValue(1, 0); PlayerBufferExecCompleted(); } void PlayerHandlecmd36(void) { - Emitcmd36(1, 0); + BtlController_EmitOneReturnValue_Duplicate(1, 0); PlayerBufferExecCompleted(); } @@ -3007,16 +3007,16 @@ void PlayerHandlecmd40(void) void PlayerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { PlayerBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; sub_8047858(gActiveBattler); - gBattleBankFunc[gActiveBattler] = bx_blink_t1; + gBattlerControllerFuncs[gActiveBattler] = bx_blink_t1; } } @@ -3063,23 +3063,23 @@ void PlayerHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - 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 = StartAnimLinearTranslation; - gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2.playerGender].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(task05_08033660, 5); gTasks[taskId].data[0] = gActiveBattler; if (ewram17810[gActiveBattler].unk0_0) gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17810[4].unk9 |= 1; - gBattleBankFunc[gActiveBattler] = nullsub_91; + gBattlerControllerFuncs[gActiveBattler] = nullsub_91; } void sub_8030E38(struct Sprite *sprite) @@ -3090,7 +3090,7 @@ void sub_8030E38(struct Sprite *sprite) FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum)); DestroySprite(sprite); BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[r4]], r4); - StartSpriteAnim(&gSprites[gBankSpriteIds[r4]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[r4]], 0); } void task05_08033660(u8 taskId) @@ -3119,7 +3119,7 @@ void task05_08033660(u8 taskId) sub_802F934(gActiveBattler, 0); gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBattler] = sub_802D500; + gBattlerControllerFuncs[gActiveBattler] = sub_802D500; gActiveBattler = savedActiveBank; DestroyTask(taskId); } @@ -3138,7 +3138,7 @@ void PlayerHandlecmd48(void) ewram17810[gActiveBattler].unk5 = 0; if (gBattleBufferA[gActiveBattler][2] != 0) ewram17810[gActiveBattler].unk5 = 0x5D; - gBattleBankFunc[gActiveBattler] = sub_8031064; + gBattlerControllerFuncs[gActiveBattler] = sub_8031064; } } @@ -3169,7 +3169,7 @@ void PlayerHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; sub_8031F88(gActiveBattler); } PlayerBufferExecCompleted(); @@ -3185,7 +3185,7 @@ void PlayerHandleBattleAnimation(void) if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, val2, val)) PlayerBufferExecCompleted(); else - gBattleBankFunc[gActiveBattler] = sub_802E460; + gBattlerControllerFuncs[gActiveBattler] = sub_802E460; } } @@ -3231,7 +3231,7 @@ void PlayerHandlecmd55(void) FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); - gBattleBankFunc[gActiveBattler] = sub_802D18C; + gBattlerControllerFuncs[gActiveBattler] = sub_802D18C; } void PlayerHandlecmd56(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index e547c4a3c..28418531f 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -23,17 +23,17 @@ extern const u8 BattleText_PlayerMenu[]; extern u8 gActiveBattler; extern const u8 BattleText_MenuOptionsSafari[]; -extern void *gBattleBankFunc[]; +extern void *gBattlerControllerFuncs[]; extern u8 gBattleBufferA[][0x200]; extern bool8 gDoingBattleAnim; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern struct SpriteTemplate gUnknown_02024E8C; extern u16 gBattleTypeFlags; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u16 gSpecialVar_ItemId; extern MainCallback gPreBattleCallback1; extern u8 gBankInMenu; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; extern u16 gBattlerPartyIndexes[]; extern u16 gUnknown_02024DE8; extern u8 gBattleOutcome; @@ -192,12 +192,12 @@ void unref_sub_812B464(void) void SetBankFuncToSafariBufferRunCommand(void) { - gBattleBankFunc[gActiveBattler] = SafariBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; } void SafariBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { if (gBattleBufferA[gActiveBattler][0] < 0x39) gSafariBufferCommands[gBattleBufferA[gActiveBattler][0]](); @@ -217,16 +217,16 @@ void bx_battle_menu_t6_2(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: - Emitcmd33(1, 5, 0); + BtlController_EmitTwoReturnValues(1, 5, 0); break; case 1: - Emitcmd33(1, 6, 0); + BtlController_EmitTwoReturnValues(1, 6, 0); break; case 2: - Emitcmd33(1, 7, 0); + BtlController_EmitTwoReturnValues(1, 7, 0); break; case 3: - Emitcmd33(1, 8, 0); + BtlController_EmitTwoReturnValues(1, 8, 0); break; } SafariBufferExecCompleted(); @@ -286,7 +286,7 @@ void bx_battle_menu_t6_2(void) void sub_812B65C(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); } @@ -316,7 +316,7 @@ void sub_812B724(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBattler] = sub_812B758; + gBattlerControllerFuncs[gActiveBattler] = sub_812B758; sub_810BADC(); } } @@ -325,7 +325,7 @@ void sub_812B758(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - Emitcmd35(1, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId); SafariBufferExecCompleted(); } } @@ -338,7 +338,7 @@ void sub_812B794(void) void SafariBufferExecCompleted(void) { - gBattleBankFunc[gActiveBattler] = SafariBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); @@ -348,7 +348,7 @@ void SafariBufferExecCompleted(void) } else { - gBattleExecBuffer &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } @@ -397,16 +397,16 @@ void SafariHandleTrainerThrow(void) { LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - 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; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_812B65C; } void SafariHandleTrainerSlide(void) @@ -434,7 +434,7 @@ void SafariHandlecmd12(void) ewram17840.unk8 = 4; gDoingBattleAnim = 1; move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); - gBattleBankFunc[gActiveBattler] = bx_wait_t6; + gBattlerControllerFuncs[gActiveBattler] = bx_wait_t6; } void SafariHandleBallThrow(void) @@ -444,7 +444,7 @@ void SafariHandleBallThrow(void) ewram17840.unk8 = var; gDoingBattleAnim = 1; move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); - gBattleBankFunc[gActiveBattler] = bx_wait_t6; + gBattlerControllerFuncs[gActiveBattler] = bx_wait_t6; } // TODO: spell Pause correctly @@ -464,7 +464,7 @@ void SafariHandlePrintString(void) gBattle_BG0_Y = 0; BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBattler] = sub_812B694; + gBattlerControllerFuncs[gActiveBattler] = sub_812B694; } void SafariHandlePrintStringPlayerOnly(void) @@ -484,7 +484,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[gActiveBattler] = bx_battle_menu_t6_2; + gBattlerControllerFuncs[gActiveBattler] = bx_battle_menu_t6_2; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptionsSafari, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -494,7 +494,7 @@ void SafariHandlecmd18(void) nullsub_8(i); sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); - StrCpyDecodeToDisplayedStringBattle(BattleText_PlayerMenu); + BattleStringExpandPlaceholdersToDisplayedString(BattleText_PlayerMenu); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -513,7 +513,7 @@ void SafariHandlecmd20(void) void SafariHandleOpenBag(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); - gBattleBankFunc[gActiveBattler] = sub_812B724; + gBattlerControllerFuncs[gActiveBattler] = sub_812B724; gBankInMenu = gActiveBattler; } @@ -539,7 +539,7 @@ void SafariHandleExpBarUpdate(void) void SafariHandleStatusIconUpdate(void) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 11); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 11); SafariBufferExecCompleted(); } @@ -658,9 +658,9 @@ void SafariHandleIntroSlide(void) void SafariHandleTrainerBallThrow(void) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 10); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 10); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); SafariBufferExecCompleted(); } @@ -692,7 +692,7 @@ void SafariHandleBattleAnimation(void) if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) SafariBufferExecCompleted(); else - gBattleBankFunc[gActiveBattler] = sub_812B794; + gBattlerControllerFuncs[gActiveBattler] = sub_812B794; } void SafariHandleLinkStandbyMsg(void) @@ -712,7 +712,7 @@ void SafariHandlecmd55(void) BeginFastPaletteFade(3); SafariBufferExecCompleted(); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) - gBattleBankFunc[gActiveBattler] = sub_812B6AC; + gBattlerControllerFuncs[gActiveBattler] = sub_812B6AC; } void SafariHandlecmd56(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 807ec1572..a16fe26cc 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -29,14 +29,14 @@ struct MovePpInfo }; extern u8 gActiveBattler; -extern void (*gBattleBankFunc[])(void); -extern u32 gBattleExecBuffer; +extern void (*gBattlerControllerFuncs[])(void); +extern u32 gBattleControllerExecFlags; extern u8 gBattleBufferA[][0x200]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern MainCallback gPreBattleCallback1; extern bool8 gDoingBattleAnim; extern u16 gBattlerPartyIndexes[]; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; extern u16 gBattleTypeFlags; extern u16 gAnimMovePower; extern s32 gAnimMoveDmg; @@ -59,8 +59,8 @@ extern const u8 BattleText_WallyMenu[]; extern const u8 BattleText_MenuOptions[]; // TODO: include rom3.h when my other PR gets merged -extern void Emitcmd33(u8, u8, u16); -extern void Emitcmd35(u8, u16); +extern void BtlController_EmitTwoReturnValues(u8, u8, u16); +extern void BtlController_EmitOneReturnValue(u8, u16); extern void nullsub_14(void); extern void PrepareBagForWallyTutorial(void); @@ -74,7 +74,7 @@ extern void LoadPlayerTrainerBankSprite(); extern u8 GetBattlerPosition(u8); extern void sub_80313A0(struct Sprite *); extern u8 GetBattlerAtPosition(u8); -extern u8 sub_8031720(); +extern u8 IsMoveWithoutAnimation(); extern void DoMoveAnim(); extern void sub_80326EC(); extern void sub_8031F24(void); @@ -116,10 +116,10 @@ void WallyHandleReturnPokeToBall(void); void WallyHandleTrainerThrow(void); void WallyHandleTrainerSlide(void); void WallyHandleTrainerSlideBack(void); -void WallyHandlecmd10(void); -void WallyHandlecmd11(void); -void WallyHandlecmd12(void); -void WallyHandleBallThrow(void); +void WallyHandleFaintAnimation(void); +void WallyHandlePaletteFade(void); +void WallyHandleSuccessBallThrowAnim(void); +void WallyHandleBallThrowAnim(void); void WallyHandlePuase(void); void WallyHandleMoveAnimation(void); void WallyHandlePrintString(void); @@ -179,10 +179,10 @@ static const BattleBufferCmd gWallyBufferCommands[] = WallyHandleTrainerThrow, WallyHandleTrainerSlide, WallyHandleTrainerSlideBack, - WallyHandlecmd10, - WallyHandlecmd11, - WallyHandlecmd12, - WallyHandleBallThrow, + WallyHandleFaintAnimation, + WallyHandlePaletteFade, + WallyHandleSuccessBallThrowAnim, + WallyHandleBallThrowAnim, WallyHandlePuase, WallyHandleMoveAnimation, WallyHandlePrintString, @@ -236,7 +236,7 @@ void unref_sub_8137220(void) void SetBankFuncToWallyBufferRunCommand(void) { - gBattleBankFunc[gActiveBattler] = WallyBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; ewram160A8 = 0; ewram160A9 = 0; ewram160AA = 0; @@ -245,7 +245,7 @@ void SetBankFuncToWallyBufferRunCommand(void) void WallyBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { if (gBattleBufferA[gActiveBattler][0] < 0x39) gWallyBufferCommands[gBattleBufferA[gActiveBattler][0]](); @@ -269,7 +269,7 @@ void sub_81372BC(void) if (r4 == 0) { PlaySE(SE_SELECT); - Emitcmd33(1, 0, 0); + BtlController_EmitTwoReturnValues(1, 0, 0); WallyBufferExecCompleted(); ewram160A8++; ewram160A9 = r4; @@ -281,7 +281,7 @@ void sub_81372BC(void) if (r4 == 0) { PlaySE(SE_SELECT); - Emitcmd33(1, 0, 0); + BtlController_EmitTwoReturnValues(1, 0, 0); WallyBufferExecCompleted(); ewram160A8++; ewram160A9 = r4; @@ -292,7 +292,7 @@ void sub_81372BC(void) r4 = --ewram160AA; if (r4 == 0) { - Emitcmd33(1, 9, 0); + BtlController_EmitTwoReturnValues(1, 9, 0); WallyBufferExecCompleted(); ewram160A8++; ewram160A9 = r4; @@ -314,7 +314,7 @@ void sub_81372BC(void) { PlaySE(SE_SELECT); DestroyMenuCursor(); - Emitcmd33(1, 1, 0); + BtlController_EmitTwoReturnValues(1, 1, 0); WallyBufferExecCompleted(); } break; @@ -323,7 +323,7 @@ void sub_81372BC(void) void sub_813741C(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } @@ -343,7 +343,7 @@ void sub_813746C(void) } } -void bx_wait_t5(void) +void CompleteOnFinishedAnimation(void) { if (!gDoingBattleAnim) WallyBufferExecCompleted(); @@ -353,7 +353,7 @@ void sub_81374C4(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBattler] = sub_81374FC; + gBattlerControllerFuncs[gActiveBattler] = sub_81374FC; nullsub_14(); PrepareBagForWallyTutorial(); } @@ -364,7 +364,7 @@ void sub_81374FC(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - Emitcmd35(1, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId); WallyBufferExecCompleted(); } } @@ -382,16 +382,16 @@ void sub_8137538(void) if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler ^ 2]); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); + sub_8045A5C(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBattler] = sub_81376B8; + gBattlerControllerFuncs[gActiveBattler] = sub_81376B8; } } @@ -399,7 +399,7 @@ void sub_81376B8(void) { bool8 r4 = FALSE; - if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r4 = TRUE; if (r4 && ewram17810[gActiveBattler].unk1_0 && ewram17810[gActiveBattler ^ 2].unk1_0) { @@ -419,11 +419,11 @@ void sub_81377B0(void) { s16 r4; - r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBattler]); + r4 = sub_8045C78(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], 0, 0); + sub_8043DFC(gHealthboxSpriteIds[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); + sub_80440EC(gHealthboxSpriteIds[gActiveBattler], r4, 0); } else { @@ -434,7 +434,7 @@ void sub_81377B0(void) void bx_blink_t5(void) { - u8 spriteId = gBankSpriteIds[gActiveBattler]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -455,17 +455,17 @@ void sub_813789C(void) { if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); WallyBufferExecCompleted(); } } // Duplicate of sub_813741C -void sub_8137908(void) +void CompleteOnBankSpriteCallbackDummy2(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } @@ -477,7 +477,7 @@ void sub_8137940(void) void WallyBufferExecCompleted(void) { - gBattleBankFunc[gActiveBattler] = WallyBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 multiplayerId = GetMultiplayerId(); @@ -487,7 +487,7 @@ void WallyBufferExecCompleted(void) } else { - gBattleExecBuffer &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } @@ -518,7 +518,7 @@ void WallyHandleGetAttributes(void) r4 >>= 1; } } - Emitcmd29(1, r6, arr); + BtlController_EmitDataTransfer(1, r6, arr); WallyBufferExecCompleted(); } @@ -1087,13 +1087,13 @@ void WallyHandleReturnPokeToBall(void) if (gBattleBufferA[gActiveBattler][1] == 0) { move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); - gBattleBankFunc[gActiveBattler] = sub_813789C; + gBattlerControllerFuncs[gActiveBattler] = sub_813789C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); - sub_8043DB0(gHealthboxIDs[gActiveBattler]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxSpriteIds[gActiveBattler]); WallyBufferExecCompleted(); } } @@ -1102,30 +1102,30 @@ void WallyHandleTrainerThrow(void) { LoadPlayerTrainerBankSprite(2, gActiveBattler); GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - 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; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = sub_813741C; } void WallyHandleTrainerSlide(void) { LoadPlayerTrainerBankSprite(2, gActiveBattler); GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBattler] = CreateSprite( + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - 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; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; } void WallyHandleTrainerSlideBack(void) @@ -1133,32 +1133,32 @@ void WallyHandleTrainerSlideBack(void) WallyBufferExecCompleted(); } -void WallyHandlecmd10(void) +void WallyHandleFaintAnimation(void) { WallyBufferExecCompleted(); } -void WallyHandlecmd11(void) +void WallyHandlePaletteFade(void) { WallyBufferExecCompleted(); } -void WallyHandlecmd12(void) +void WallyHandleSuccessBallThrowAnim(void) { ewram17840.unk8 = 4; gDoingBattleAnim = TRUE; move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); - gBattleBankFunc[gActiveBattler] = bx_wait_t5; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedAnimation; } -void WallyHandleBallThrow(void) +void WallyHandleBallThrowAnim(void) { - u8 val = gBattleBufferA[gActiveBattler][1]; + u8 ballThrowCaseId = gBattleBufferA[gActiveBattler][1]; - ewram17840.unk8 = val; + ewram17840.unk8 = ballThrowCaseId; gDoingBattleAnim = TRUE; move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); - gBattleBankFunc[gActiveBattler] = bx_wait_t5; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedAnimation; } void WallyHandlePuase(void) @@ -1177,15 +1177,15 @@ void WallyHandleMoveAnimation(void) gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - if (sub_8031720(move, gAnimMoveTurn) != 0) + if (IsMoveWithoutAnimation(move, gAnimMoveTurn) != 0) { - // Dead code. sub_8031720 always returns 0. + // Dead code. IsMoveWithoutAnimation always returns 0. WallyBufferExecCompleted(); } else { ewram17810[gActiveBattler].unk4 = 0; - gBattleBankFunc[gActiveBattler] = sub_81390D0; + gBattlerControllerFuncs[gActiveBattler] = sub_81390D0; } } @@ -1245,7 +1245,7 @@ void WallyHandlePrintString(void) DestroyMenuCursor(); BufferStringBattle(*ptr); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15); - gBattleBankFunc[gActiveBattler] = sub_8137454; + gBattlerControllerFuncs[gActiveBattler] = sub_8137454; } void WallyHandlePrintStringPlayerOnly(void) @@ -1265,14 +1265,14 @@ 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[gActiveBattler] = sub_81372BC; + gBattlerControllerFuncs[gActiveBattler] = sub_81372BC; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); MenuCursor_Create814A5C0(0, 0xFFFF, 12, 0x2D9F, 0); for (i = 0; i < 4; i++) nullsub_8(i); sub_802E3E4(0, 0); - StrCpyDecodeToDisplayedStringBattle(BattleText_WallyMenu); + BattleStringExpandPlaceholdersToDisplayedString(BattleText_WallyMenu); #ifdef ENGLISH Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 440, 2, 35); #else @@ -1301,7 +1301,7 @@ void WallyHandlecmd20(void) { DestroyMenuCursor(); PlaySE(SE_SELECT); - Emitcmd33(1, 10, 256); + BtlController_EmitTwoReturnValues(1, 10, 256); WallyBufferExecCompleted(); } break; @@ -1311,7 +1311,7 @@ void WallyHandlecmd20(void) void WallyHandleOpenBag(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); - gBattleBankFunc[gActiveBattler] = sub_81374C4; + gBattlerControllerFuncs[gActiveBattler] = sub_81374C4; gBankInMenu = gActiveBattler; } @@ -1336,16 +1336,16 @@ void WallyHandleHealthBarUpdate(void) u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, r7); } else { u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); - sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); + sub_8043D84(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, r7); + sub_80440EC(gHealthboxSpriteIds[gActiveBattler], 0, 0); } - gBattleBankFunc[gActiveBattler] = sub_81377B0; + gBattlerControllerFuncs[gActiveBattler] = sub_81377B0; } void WallyHandleExpBarUpdate(void) @@ -1430,16 +1430,16 @@ void WallyHandlecmd40(void) void WallyHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { WallyBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; sub_8047858(gActiveBattler); - gBattleBankFunc[gActiveBattler] = bx_blink_t5; + gBattlerControllerFuncs[gActiveBattler] = bx_blink_t5; } } @@ -1478,23 +1478,23 @@ void WallyHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - 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 = StartAnimLinearTranslation; - gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[2].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_8139A2C, 5); gTasks[taskId].data[0] = gActiveBattler; if (ewram17810[gActiveBattler].unk0_0) gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17810[4].unk9 |= 1; - gBattleBankFunc[gActiveBattler] = nullsub_91; + gBattlerControllerFuncs[gActiveBattler] = nullsub_91; } void sub_81398BC(u8 bank) @@ -1506,18 +1506,18 @@ void sub_81398BC(u8 bank) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite( + gBattlerSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), sub_8077F68(bank), GetBattlerSubpriority(bank)); - gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; - gSprites[gBankSpriteIds[bank]].data[0] = bank; - gSprites[gBankSpriteIds[bank]].data[2] = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[bank]].data[0] = StartSendOutMonAnimation(0, 0xFF); } @@ -1534,7 +1534,7 @@ void sub_8139A2C(u8 taskId) gActiveBattler = gTasks[taskId].data[0]; gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_81398BC(gActiveBattler); - gBattleBankFunc[gActiveBattler] = sub_8137538; + gBattlerControllerFuncs[gActiveBattler] = sub_8137538; gActiveBattler = savedActiveBank; DestroyTask(taskId); } @@ -1577,7 +1577,7 @@ void WallyHandleBattleAnimation(void) if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, val2, val)) WallyBufferExecCompleted(); else - gBattleBankFunc[gActiveBattler] = sub_8137940; + gBattlerControllerFuncs[gActiveBattler] = sub_8137940; } void WallyHandleLinkStandbyMsg(void) @@ -1597,7 +1597,7 @@ void WallyHandlecmd55(void) BeginFastPaletteFade(3); WallyBufferExecCompleted(); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) - gBattleBankFunc[gActiveBattler] = sub_813746C; + gBattlerControllerFuncs[gActiveBattler] = sub_813746C; } void WallyHandlecmd56(void) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 80cbed64e..45f2c30c0 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -28,17 +28,17 @@ extern u8 gActiveBattler; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gUnknown_02024DE8; extern u8 gDoingBattleAnim; extern u32 gTransformedPersonalities[]; extern struct Window gUnknown_03004210; -extern void (*gBattleBankFunc[])(void); -extern u8 gHealthboxIDs[]; +extern void (*gBattlerControllerFuncs[])(void); +extern u8 gHealthboxSpriteIds[]; extern u8 gUnknown_0300434C[]; -extern struct MusicPlayerInfo gMPlay_SE1; -extern struct MusicPlayerInfo gMPlay_SE2; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u32 gBitTable[]; extern u16 gBattleTypeFlags; extern u8 gBattleMonForms[]; @@ -198,9 +198,9 @@ bool8 move_anim_start_t3(u8 a, u8 b, u8 c, u8 d, u16 e) } if (ewram17800[a].substituteSprite && sub_803163C(d) == 0) return TRUE; - if (ewram17800[a].substituteSprite && d == 2 && gSprites[gBankSpriteIds[a]].invisible) + if (ewram17800[a].substituteSprite && d == 2 && gSprites[gBattlerSpriteIds[a]].invisible) { - refresh_graphics_maybe(a, 1, gBankSpriteIds[a]); + refresh_graphics_maybe(a, 1, gBattlerSpriteIds[a]); sub_80324E0(a); return TRUE; } @@ -262,7 +262,7 @@ void sub_80316CC(u8 taskId) } } -u8 sub_8031720(int unused1, int unused2) +u8 IsMoveWithoutAnimation(int unused1, int unused2) { return 0; } @@ -276,8 +276,8 @@ bool8 mplay_80342A4(u8 a) ewram17810[a].unk8++; if (ewram17810[gActiveBattler].unk8 < 30) return TRUE; - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); } if (zero == 0) { @@ -554,9 +554,9 @@ u8 battle_load_something(u8 *pState, u8 *b) break; case 3: if ((gBattleTypeFlags & 0x80) && *b == 0) - gHealthboxIDs[*b] = battle_make_oam_safari_battle(); + gHealthboxSpriteIds[*b] = battle_make_oam_safari_battle(); else - gHealthboxIDs[*b] = battle_make_oam_normal_battle(*b); + gHealthboxSpriteIds[*b] = battle_make_oam_normal_battle(*b); (*b)++; if (*b == gBattlersCount) { @@ -567,9 +567,9 @@ u8 battle_load_something(u8 *pState, u8 *b) case 4: sub_8043F44(*b); if (gBanksBySide[*b] <= 1) - nullsub_11(gHealthboxIDs[*b], 0); + nullsub_11(gHealthboxSpriteIds[*b], 0); else - nullsub_11(gHealthboxIDs[*b], 1); + nullsub_11(gHealthboxSpriteIds[*b], 1); (*b)++; if (*b == gBattlersCount) { @@ -581,13 +581,13 @@ u8 battle_load_something(u8 *pState, u8 *b) if (GetBattlerSide(*b) == 0) { if (!(gBattleTypeFlags & 0x80)) - sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlerPartyIndexes[*b]], 0); + sub_8045A5C(gHealthboxSpriteIds[*b], &gPlayerParty[gBattlerPartyIndexes[*b]], 0); } else { - sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlerPartyIndexes[*b]], 0); + sub_8045A5C(gHealthboxSpriteIds[*b], &gEnemyParty[gBattlerPartyIndexes[*b]], 0); } - sub_8043DB0(gHealthboxIDs[*b]); + sub_8043DB0(gHealthboxSpriteIds[*b]); (*b)++; if (*b == gBattlersCount) { @@ -621,12 +621,12 @@ void sub_8031F24(void) s32 i; for (i = 0; i < gBattlersCount; i++) - ewram17800[i].invisible = gSprites[gBankSpriteIds[i]].invisible; + ewram17800[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible; } void sub_8031F88(u8 a) { - ewram17800[a].invisible = gSprites[gBankSpriteIds[a]].invisible; + ewram17800[a].invisible = gSprites[gBattlerSpriteIds[a]].invisible; } void sub_8031FC4(u8 a, u8 b, bool8 c) @@ -640,7 +640,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) if (c) { - StartSpriteAnim(&gSprites[gBankSpriteIds[a]], ewram17840.unk0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[a]], ewram17840.unk0); paletteOffset = 0x100 + a * 16; LoadPalette(ewram16400 + ewram17840.unk0 * 32, paletteOffset, 32); gBattleMonForms[a] = ewram17840.unk0; @@ -649,7 +649,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31)); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); } - gSprites[gBankSpriteIds[a]].pos1.y = sub_8077F68(a); + gSprites[gBattlerSpriteIds[a]].pos1.y = sub_8077F68(a); } else { @@ -702,7 +702,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) gTransformedPersonalities[a]); } } - DmaCopy32Defvars(3, gUnknown_081FAF4C[r10], (void *)(VRAM + 0x10000 + gSprites[gBankSpriteIds[a]].oam.tileNum * 32), 0x800); + DmaCopy32Defvars(3, gUnknown_081FAF4C[r10], (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[a]].oam.tileNum * 32), 0x800); paletteOffset = 0x100 + a * 16; lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); LZDecompressWram(lzPaletteData, gSharedMem); @@ -721,8 +721,8 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) ewram17800[a].transformedSpecies = species; gBattleMonForms[a] = gBattleMonForms[b]; } - gSprites[gBankSpriteIds[a]].pos1.y = sub_8077F68(a); - StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBattlerSpriteIds[a]].pos1.y = sub_8077F68(a); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[a]], gBattleMonForms[a]); } } @@ -862,15 +862,15 @@ void sub_80326EC(u8 a) { if (IsBankSpritePresent(i) != 0) { - gSprites[gBankSpriteIds[i]].oam.affineMode = a; + gSprites[gBattlerSpriteIds[i]].oam.affineMode = a; if (a == 0) { - ewram17810[i].unk6 = gSprites[gBankSpriteIds[i]].oam.matrixNum; - gSprites[gBankSpriteIds[i]].oam.matrixNum = 0; + ewram17810[i].unk6 = gSprites[gBattlerSpriteIds[i]].oam.matrixNum; + gSprites[gBattlerSpriteIds[i]].oam.matrixNum = 0; } else { - gSprites[gBankSpriteIds[i]].oam.matrixNum = ewram17810[i].unk6; + gSprites[gBattlerSpriteIds[i]].oam.matrixNum = ewram17810[i].unk6; } } } @@ -896,7 +896,7 @@ void sub_80328A4(struct Sprite *sprite) { bool8 invisible = FALSE; u8 r4 = sprite->data[0]; - struct Sprite *r7 = &gSprites[gBankSpriteIds[r4]]; + struct Sprite *r7 = &gSprites[gBattlerSpriteIds[r4]]; if (!r7->inUse || IsBankSpritePresent(r4) == 0) { diff --git a/src/battle_interface.c b/src/battle_interface.c index b91db9838..851c91dfd 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -426,7 +426,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; extern u16 gBattleTypeFlags; @@ -957,7 +957,7 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority) u8 spriteId2; u8 spriteId3; - spriteId1 = gHealthboxIDs[i]; + spriteId1 = gHealthboxSpriteIds[i]; spriteId2 = gSprites[spriteId1].oam.affineParam; spriteId3 = gSprites[spriteId1].data[5]; gSprites[spriteId1].oam.priority = priority; @@ -1006,7 +1006,7 @@ void sub_8043F44(u8 a) break; } } - sub_8043E50(gHealthboxIDs[a], x, y); + sub_8043E50(gHealthboxSpriteIds[a], x, y); } #if ENGLISH @@ -1650,7 +1650,7 @@ void sub_804454C(void) for (i = 0; i < gBattlersCount; i++) { - if (gSprites[gHealthboxIDs[i]].callback == SpriteCallbackDummy + if (gSprites[gHealthboxSpriteIds[i]].callback == SpriteCallbackDummy #if DEBUG && (gUnknown_020297ED != 0 || GetBattlerSide(i) != 1) #else @@ -1672,17 +1672,17 @@ void sub_804454C(void) if (r6 == 1) { - spriteId = gSprites[gHealthboxIDs[i]].data[5]; + spriteId = gSprites[gHealthboxSpriteIds[i]].data[5]; CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - 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); + sub_8044210(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1); } else { - draw_status_ailment_maybe(gHealthboxIDs[i]); - sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlerPartyIndexes[i]], 5); - CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); + draw_status_ailment_maybe(gHealthboxSpriteIds[i]); + sub_8045A5C(gHealthboxSpriteIds[i], &gPlayerParty[gBattlerPartyIndexes[i]], 5); + CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * 32, 32); } } else @@ -1691,26 +1691,26 @@ void sub_804454C(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]]); + sub_8044338(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]]); } else { - spriteId = gSprites[gHealthboxIDs[i]].data[5]; + spriteId = gSprites[gHealthboxSpriteIds[i]].data[5]; CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - 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); + sub_8044210(gHealthboxSpriteIds[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxSpriteIds[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1); } } else { - draw_status_ailment_maybe(gHealthboxIDs[i]); - sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 5); + draw_status_ailment_maybe(gHealthboxSpriteIds[i]); + sub_8045A5C(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]], 5); if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 4); + sub_8045A5C(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]], 4); } } - gSprites[gHealthboxIDs[i]].data[7] ^= 1; + gSprites[gHealthboxSpriteIds[i]].data[7] ^= 1; } } } diff --git a/src/battle_main.c b/src/battle_main.c index a0eb7274f..56eabd515 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -79,15 +79,15 @@ extern u8 gActionsByTurnOrder[4]; extern struct UnknownPokemonStruct2 gMultiPartnerParty[]; extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBattler; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gCurrentActionFuncId; extern u8 gBanksByTurnOrder[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID. extern u8 gLastUsedAbility; -extern u8 gStringBank; +extern u8 gPotentialItemEffectBattler; extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gActionForBanks[]; @@ -113,24 +113,19 @@ extern u16 gUnknown_02024DE8; extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; extern u8 gUnknown_02038470[]; -extern struct Window gUnknown_030041D0; -extern struct Window gUnknown_03004210; -extern struct Window gUnknown_03004250; -extern u32 gUnknown_03004284; extern MainCallback gPreBattleCallback1; extern void (*gBattleMainFunc)(void); extern u8 gLeveledUpInBattle; -extern void (*gBattleBankFunc[])(void); -extern u8 gHealthboxIDs[]; +extern void (*gBattlerControllerFuncs[])(void); +extern u8 gHealthboxSpriteIds[]; extern u16 gBattleTypeFlags; -extern s8 gBattleTerrain; // I'm not sure if this is supposed to be s8 or u8. Regardless, it must have the same type as the return value of BattleSetup_GetTerrain. extern u8 gReservedSpritePaletteCount; extern u16 gTrainerBattleOpponent; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern u8 gBattleMonForms[]; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u16 gBattleWeather; extern s32 gBattleMoveDamage; extern struct BattlePokemon gBattleMons[]; @@ -169,7 +164,7 @@ extern u8 gUnknown_081FA70C[][3]; extern u8 gUnknown_081FA71B[]; extern u8 gUnknown_081FA71F[]; -void sub_8010824(void); +void BattleMainCB1(void); static void BattlePrepIntroSlide(void); void CheckFocusPunch_ClearVarsBeforeTurnStarts(void); void SetActionsAndBanksTurnOrder(void); @@ -182,7 +177,34 @@ void TryEvolvePokemon(void); static void ReturnFromBattleToOverworld(void); static void WaitForEvoSceneToFinish(void); -void sub_800E7C4(void) + +u16 gBattle_BG0_X; +u16 gBattle_BG0_Y; +u16 gBattle_BG1_X; +u16 gBattle_BG1_Y; +u16 gBattle_BG2_X; +u16 gBattle_BG2_Y; +u16 gBattle_BG3_X; +u16 gBattle_BG3_Y; +u16 gBattle_WIN0H; +u16 gBattle_WIN0V; +u16 gBattle_WIN1H; +u16 gBattle_WIN1V; + +u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT]; +u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT]; +u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT]; + +s8 gBattleTerrain; + +void (*gBattleMainFunc)(void); + +u32 gUnknown_03004284; +struct Window gUnknown_03004210; +struct Window gUnknown_030041D0; +struct Window gUnknown_03004250; + +void CB2_InitBattle(void) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -192,11 +214,11 @@ void sub_800E7C4(void) } else { - InitBattle(); + CB2_InitBattleInternal(); } } -void InitBattle(void) +void CB2_InitBattleInternal(void) { s32 i; @@ -252,15 +274,15 @@ void InitBattle(void) LoadBattleTextboxAndBackground(); ResetSpriteData(); ResetTasks(); - LoadBattleEntryBackground(); + DrawBattleEntryBackground(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; SetVBlankCallback(sub_800FCFC); - setup_poochyena_battle(); + SetUpBattleVarsAndBirchPoochyena(); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) SetMainCallback2(sub_800F298); else - SetMainCallback2(sub_800EC9C); + SetMainCallback2(CB2_HandleStartBattle); if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) #if DEBUG && !(gUnknown_02023A14_50 & 8) @@ -290,17 +312,17 @@ void sub_800E9EC(void) hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); - if (species == 0) + if (species == SPECIES_NONE) continue; if (species != SPECIES_EGG && hp != 0 && status == 0) r6 |= 1 << i * 2; - if (species == 0) + if (species == SPECIES_NONE) continue; if (hp != 0 && (species == SPECIES_EGG || status != 0)) r6 |= 2 << i * 2; - if (species == 0) + if (species == SPECIES_NONE) continue; if (species != SPECIES_EGG && hp == 0) r6 |= 3 << i * 2; @@ -309,7 +331,7 @@ void sub_800E9EC(void) gBattleStruct->unk3 = r6 >> 8; } -void sub_800EAAC(void) +static void SetPlayerBerryDataInBattleStruct(void) { s32 i; struct UnknownStruct8 *_ewram4 = &ewram4; @@ -322,7 +344,7 @@ void sub_800EAAC(void) _ewram4->unk1A = gSaveBlock1.enigmaBerry.holdEffectParam; } -void sub_800EB08(void) +void SetAllPlayersBerryData(void) { s32 i; s32 j; @@ -357,7 +379,7 @@ void sub_800EB08(void) for (i = 0; i < numPlayers; i++) { src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - r4 = gLinkPlayers[i].lp_field_18; + r4 = gLinkPlayers[i].id; for (j = 0; j < 7; j++) gEnigmaBerries[r4].name[j] = src->name[j]; @@ -369,7 +391,7 @@ void sub_800EB08(void) } } -void shedinja_something(struct Pokemon *pkmn) +void TryCorrectShedinjaLanguage(struct Pokemon *pkmn) { u8 nickname[POKEMON_NAME_LENGTH + 1]; u8 language = 1; @@ -383,7 +405,7 @@ void shedinja_something(struct Pokemon *pkmn) } } -void sub_800EC9C(void) +void CB2_HandleStartBattle(void) { u8 playerId; u8 enemyId; @@ -392,6 +414,7 @@ void sub_800EC9C(void) RunTasks(); AnimateSprites(); BuildOamBuffer(); + playerId = GetMultiplayerId(); ewram160CB = playerId; enemyId = playerId ^ 1; @@ -406,13 +429,13 @@ void sub_800EC9C(void) gBattleStruct->unk0 = 1; gBattleStruct->unk1 = 1; sub_800E9EC(); - sub_800EAAC(); + SetPlayerBerryDataInBattleStruct(); #if DEBUG if (gUnknown_02023A14_50 & 8) { for (id = 0; id < 2; id++) // Why < 2 here? { - gLinkPlayers[id].lp_field_18 = id; + gLinkPlayers[id].id = id; gLinkPlayers[id].linkType = 0x2211; } } @@ -425,7 +448,7 @@ void sub_800EC9C(void) { gBattleTypeFlags |= BATTLE_TYPE_WILD; gBattleCommunication[0] = 8; - sub_800EB08(); + SetAllPlayersBerryData(); } break; case 1: @@ -467,7 +490,7 @@ void sub_800EC9C(void) gBattleTypeFlags |= 8; } } - sub_800EB08(); + SetAllPlayersBerryData(); taskId = CreateTask(sub_800DE30, 0); gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[2] = 0x5A; @@ -519,12 +542,12 @@ void sub_800EC9C(void) { ResetBlockReceivedFlags(); memcpy(gEnemyParty + 4, gBlockRecvBuffer[enemyId], sizeof(*gEnemyParty) * 2); - shedinja_something(&gEnemyParty[0]); - shedinja_something(&gEnemyParty[1]); - shedinja_something(&gEnemyParty[2]); - shedinja_something(&gEnemyParty[3]); - shedinja_something(&gEnemyParty[4]); - shedinja_something(&gEnemyParty[5]); + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); gBattleCommunication[0]++; } break; @@ -538,7 +561,7 @@ void sub_800EC9C(void) if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { gPreBattleCallback1 = gMain.callback1; - gMain.callback1 = sub_8010824; + gMain.callback1 = BattleMainCB1; SetMainCallback2(BattleMainCB2); if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -601,7 +624,7 @@ void sub_800F104(void) { for (i = 0; i < 4; i++) { - gLinkPlayers[i].lp_field_18 = i; + gLinkPlayers[i].id = i; gLinkPlayers[i].linkType = 0x2211; } } @@ -624,8 +647,8 @@ void sub_800F104(void) { if (i != playerId) { - if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[playerId].lp_field_18 & 1)) - || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[playerId].lp_field_18 & 1))) + if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[playerId].id & 1)) + || ((gLinkPlayers[i].id & 1) && (gLinkPlayers[playerId].id & 1))) memcpy(gMultiPartnerParty, gBlockRecvBuffer[i], 0x60); } } @@ -648,7 +671,7 @@ void sub_800F104(void) { gBattleTypeFlags = *pSavedBattleTypeFlags; gMain.savedCallback = *pSavedCallback; - SetMainCallback2(InitBattle); + SetMainCallback2(CB2_InitBattleInternal); } break; } @@ -674,7 +697,7 @@ void sub_800F298(void) { for (id = 0; id < 4; id++) { - gLinkPlayers[id].lp_field_18 = id; + gLinkPlayers[id].id = id; gLinkPlayers[id].linkType = 0x2211; } } @@ -684,7 +707,7 @@ void sub_800F298(void) gBattleStruct->unk0 = 1; gBattleStruct->unk1 = 1; sub_800E9EC(); - sub_800EAAC(); + SetPlayerBerryDataInBattleStruct(); SendBlock(bitmask_all_link_players_but_self(), gSharedMem, 0x20); gBattleCommunication[0]++; } @@ -739,7 +762,7 @@ void sub_800F298(void) gBattleTypeFlags |= 8; } } - sub_800EB08(); + SetAllPlayersBerryData(); memcpy(ewram1D000, gPlayerParty, sizeof(struct Pokemon) * 3); taskId = CreateTask(sub_800DE30, 0); gTasks[taskId].data[1] = 0x10E; @@ -749,7 +772,7 @@ void sub_800F298(void) gTasks[taskId].data[4] = 0; for (id = 0; id < MAX_LINK_PLAYERS; id++) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: gTasks[taskId].data[3] |= gBlockRecvBuffer[id][1] & 0x3F; @@ -785,7 +808,7 @@ void sub_800F298(void) { if (id == playerId) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -799,10 +822,10 @@ void sub_800F298(void) } else { - if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerId].lp_field_18 & 1)) - || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerId].lp_field_18 & 1))) + if ((!(gLinkPlayers[id].id & 1) && !(gLinkPlayers[playerId].id & 1)) + || ((gLinkPlayers[id].id & 1) && (gLinkPlayers[playerId].id & 1))) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -816,7 +839,7 @@ void sub_800F298(void) } else { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -848,7 +871,7 @@ void sub_800F298(void) { if (id == playerId) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -862,10 +885,10 @@ void sub_800F298(void) } else { - if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerId].lp_field_18 & 1)) - || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerId].lp_field_18 & 1))) + if ((!(gLinkPlayers[id].id & 1) && !(gLinkPlayers[playerId].id & 1)) + || ((gLinkPlayers[id].id & 1) && (gLinkPlayers[playerId].id & 1))) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -879,7 +902,7 @@ void sub_800F298(void) } else { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -894,19 +917,19 @@ void sub_800F298(void) } } - shedinja_something(&gPlayerParty[0]); - shedinja_something(&gPlayerParty[1]); - shedinja_something(&gPlayerParty[2]); - shedinja_something(&gPlayerParty[3]); - shedinja_something(&gPlayerParty[4]); - shedinja_something(&gPlayerParty[5]); + TryCorrectShedinjaLanguage(&gPlayerParty[0]); + TryCorrectShedinjaLanguage(&gPlayerParty[1]); + TryCorrectShedinjaLanguage(&gPlayerParty[2]); + TryCorrectShedinjaLanguage(&gPlayerParty[3]); + TryCorrectShedinjaLanguage(&gPlayerParty[4]); + TryCorrectShedinjaLanguage(&gPlayerParty[5]); - shedinja_something(&gEnemyParty[0]); - shedinja_something(&gEnemyParty[1]); - shedinja_something(&gEnemyParty[2]); - shedinja_something(&gEnemyParty[3]); - shedinja_something(&gEnemyParty[4]); - shedinja_something(&gEnemyParty[5]); + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); gBattleCommunication[0]++; } @@ -921,7 +944,7 @@ void sub_800F298(void) if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { gPreBattleCallback1 = gMain.callback1; - gMain.callback1 = sub_8010824; + gMain.callback1 = BattleMainCB1; SetMainCallback2(BattleMainCB2); if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -1011,7 +1034,7 @@ void sub_800F838(struct Sprite *sprite) case 2: sprite->data[1]--; if (sprite->data[1] == 20) - SetMainCallback2(sub_800E7C4); + SetMainCallback2(CB2_InitBattle); break; } } @@ -1175,7 +1198,7 @@ void sub_800FE40(u8 taskId) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - switch (gLinkPlayers[r2].lp_field_18) + switch (gLinkPlayers[r2].id) { case 0: case 2: @@ -1291,7 +1314,7 @@ void c2_8011A1C(void) ApplyPlayerChosenFrameToBattleMenu(); ResetSpriteData(); ResetTasks(); - LoadBattleEntryBackground(); + DrawBattleEntryBackground(); REG_WINOUT = 0x37; FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; @@ -2972,7 +2995,7 @@ void sub_80102AC(struct Sprite *sprite) if (sprite->animEnded) { sub_804777C(sprite->data[0]); - sub_8043DFC(gHealthboxIDs[sprite->data[0]]); + sub_8043DFC(gHealthboxSpriteIds[sprite->data[0]]); sprite->callback = nullsub_37; StartSpriteAnimIfDifferent(sprite, 0); BeginNormalPaletteFade(0x00020000, 0, 10, 0, RGB(15, 15, 15)); @@ -3157,14 +3180,14 @@ void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d) spriteId = CreateInvisibleSpriteWithCallback(objc_dp11b_pingpong); if (b == TRUE) { - objectID = gHealthboxIDs[bank]; + objectID = gHealthboxSpriteIds[bank]; ewram17810[bank].unk2 = spriteId; ewram17810[bank].unk0_1 = 1; gSprites[spriteId].data[0] = 0x80; } else { - objectID = gBankSpriteIds[bank]; + objectID = gBattlerSpriteIds[bank]; ewram17810[bank].unk3 = spriteId; ewram17810[bank].unk0_2 = 1; gSprites[spriteId].data[0] = 0xC0; @@ -3234,7 +3257,7 @@ void debug_sub_80138CC(void) switch (gSharedMem[0x160FD]) { case 0: - if (gBattleBankFunc[gActiveBattler] == sub_802C098) + if (gBattlerControllerFuncs[gActiveBattler] == sub_802C098) gSharedMem[0x160FD]++; break; case 1: @@ -3270,7 +3293,7 @@ void debug_sub_80138CC(void) } #endif -void sub_8010824(void) +void BattleMainCB1(void) { #if DEBUG if (gUnknown_02023A14_50 & 0x80) @@ -3279,14 +3302,14 @@ void sub_8010824(void) debug_sub_80138CC(); gBattleMainFunc(); for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) - gBattleBankFunc[gActiveBattler](); + gBattlerControllerFuncs[gActiveBattler](); } else #endif { gBattleMainFunc(); for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) - gBattleBankFunc[gActiveBattler](); + gBattlerControllerFuncs[gActiveBattler](); } } @@ -3322,8 +3345,8 @@ void sub_8010874(void) MEMSET_ALT(&gSideTimers[i], 0, 12, j, r4); } - gBankAttacker = 0; - gBankTarget = 0; + gBattlerAttacker = 0; + gBattlerTarget = 0; gBattleWeather = 0; MEMSET_ALT(&gWishFutureKnock, 0, 0x2C, i, r4); @@ -3334,7 +3357,7 @@ void sub_8010874(void) ewram16084 = gSaveBlock2.optionsBattleStyle; gMultiHitCounter = 0; gBattleOutcome = 0; - gBattleExecBuffer = 0; + gBattleControllerExecFlags = 0; gPaydayMoney = 0; ewram17130 = 0; ewram17160 = 0; @@ -3506,17 +3529,17 @@ void UndoEffectsAfterFainting(void) MEMSET_ALT(&gDisableStructs[gActiveBattler], 0, 0x1C, i, ptr); gProtectStructs[gActiveBattler].protected = 0; gProtectStructs[gActiveBattler].endured = 0; - gProtectStructs[gActiveBattler].onlyStruggle = 0; + gProtectStructs[gActiveBattler].noValidMoves = 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].targetNotAffected = 0; gProtectStructs[gActiveBattler].chargingTurn = 0; gProtectStructs[gActiveBattler].fleeFlag = 0; - gProtectStructs[gActiveBattler].usedImprisionedMove = 0; + gProtectStructs[gActiveBattler].usedImprisonedMove = 0; gProtectStructs[gActiveBattler].loveImmobility = 0; gProtectStructs[gActiveBattler].usedDisabledMove = 0; gProtectStructs[gActiveBattler].usedTauntedMove = 0; @@ -3553,12 +3576,12 @@ void bc_8012FAC(void) { case 0: gActiveBattler = gBattleCommunication[1]; - EmitGetAttributes(0, 0, 0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitGetMonData(0, 0, 0); + MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[0]++; break; case 1: - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gBattleCommunication[1]++; if (gBattleCommunication[1] == gBattlersCount) @@ -3572,11 +3595,11 @@ void bc_8012FAC(void) static void BattlePrepIntroSlide(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerAtPosition(0); - EmitIntroSlide(0, gBattleTerrain); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitIntroSlide(0, gBattleTerrain); + MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = sub_8011384; gBattleCommunication[0] = 0; gBattleCommunication[1] = 0; @@ -3588,7 +3611,7 @@ void sub_8011384(void) u8 *ptr; s32 i; - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { @@ -3614,16 +3637,16 @@ void sub_8011384(void) if (GetBattlerPosition(gActiveBattler) == 0) { - EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitDrawTrainerPic(0); + MarkBattlerForControllerExec(gActiveBattler); } if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { if (GetBattlerPosition(gActiveBattler) == 1) { - EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitDrawTrainerPic(0); + MarkBattlerForControllerExec(gActiveBattler); } if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) @@ -3635,8 +3658,8 @@ void sub_8011384(void) && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); - EmitLoadPokeSprite(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitLoadMonSprite(0); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -3645,8 +3668,8 @@ void sub_8011384(void) if (GetBattlerPosition(gActiveBattler) == 2 || GetBattlerPosition(gActiveBattler) == 3) { - EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitDrawTrainerPic(0); + MarkBattlerForControllerExec(gActiveBattler); } } } @@ -3658,7 +3681,7 @@ void bc_801333C(void) { s32 i; - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { struct HpAndStatus hpStatus[6]; @@ -3679,8 +3702,8 @@ void bc_801333C(void) } } gActiveBattler = GetBattlerAtPosition(1); - EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitDrawPartyStatusSummary(0, hpStatus, 0x80); + MarkBattlerForControllerExec(gActiveBattler); for (i = 0; i < 6; i++) { @@ -3697,8 +3720,8 @@ void bc_801333C(void) } } gActiveBattler = GetBattlerAtPosition(0); - EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitDrawPartyStatusSummary(0, hpStatus, 0x80); + MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = bc_battle_begin_message; } @@ -3729,7 +3752,7 @@ void bc_801333C(void) void bc_battle_begin_message(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerAtPosition(1); PrepareStringBattle(0, gActiveBattler); @@ -3739,7 +3762,7 @@ void bc_battle_begin_message(void) void bc_8013568(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gBattleMainFunc = sub_8011970; PrepareStringBattle(0, 0); @@ -3748,7 +3771,7 @@ void bc_8013568(void) void sub_8011800(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { PrepareStringBattle(1, GetBattlerAtPosition(1)); gBattleMainFunc = sub_8011834; @@ -3757,20 +3780,20 @@ void sub_8011800(void) void sub_8011834(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerPosition(gActiveBattler) == 1) { - EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(gActiveBattler) == 3) { - EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); } } gBattleMainFunc = bc_801362C; @@ -3779,7 +3802,7 @@ void sub_8011834(void) void bc_801362C(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { @@ -3793,13 +3816,13 @@ void bc_801362C(void) void unref_sub_8011950(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattleMainFunc = sub_8011970; } void sub_8011970(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) PrepareStringBattle(1, GetBattlerAtPosition(0)); @@ -3809,20 +3832,20 @@ void sub_8011970(void) void sub_80119B4(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerPosition(gActiveBattler) == 0) { - EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(gActiveBattler) == 2) { - EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); } } ewram16058 = 0; @@ -3834,14 +3857,14 @@ void sub_80119B4(void) void unref_sub_8011A68(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerSide(gActiveBattler) == 0) { - EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], 0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSwitchInAnim(0, gBattlerPartyIndexes[gActiveBattler], 0); + MarkBattlerForControllerExec(gActiveBattler); } } ewram16058 = 0; @@ -3857,7 +3880,7 @@ void BattleBeginFirstTurn(void) s32 j; u8 r9 = 0; - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { if (ewram16058 == 0) { @@ -3931,7 +3954,7 @@ void bc_8013B1C(void) { s32 i; - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gBattleMainFunc = BattleTurnPassed; for (i = 0; i < 8; i++) @@ -4010,7 +4033,7 @@ u8 CanRunFromBattle(void) r2 = gEnigmaBerries[gActiveBattler].holdEffect; else r2 = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); - gStringBank = gActiveBattler; + gPotentialItemEffectBattler = gActiveBattler; if (r2 == HOLD_EFFECT_CAN_ALWAYS_RUN) return 0; if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -4147,13 +4170,13 @@ void sub_8012324(void) } else { - Emitcmd18(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitChooseAction(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); + MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } break; case STATE_WAIT_ACTION_CHOSEN: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { gActionForBanks[gActiveBattler] = gBattleBufferB[gActiveBattler][1]; switch (gBattleBufferB[gActiveBattler][1]) @@ -4198,8 +4221,8 @@ void sub_8012324(void) i); } - Emitcmd20(0, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, (u8 *)&moveInfo); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitChooseMove(0, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, (u8 *)&moveInfo); + MarkBattlerForControllerExec(gActiveBattler); } break; case B_ACTION_USE_ITEM: @@ -4215,8 +4238,8 @@ void sub_8012324(void) } else { - EmitOpenBag(0, &ewram1606Carr(0, gActiveBattler)); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitChooseItem(0, &ewram1606Carr(0, gActiveBattler)); + MarkBattlerForControllerExec(gActiveBattler); } break; case B_ACTION_SWITCH: @@ -4224,7 +4247,7 @@ void sub_8012324(void) if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) || gStatuses3[gActiveBattler] & STATUS3_ROOTED) { - EmitChoosePokemon(0, 2, 6, ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); + BtlController_EmitChoosePokemon(0, 2, 6, ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); } else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) @@ -4233,18 +4256,18 @@ void sub_8012324(void) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { - EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, &ewram1606Carr(0, gActiveBattler)); + BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, &ewram1606Carr(0, gActiveBattler)); } else { if (gActiveBattler == 2 && gActionForBanks[0] == B_ACTION_SWITCH) - EmitChoosePokemon(0, PARTY_CHOOSE_MON, ewram16068arr(0), ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); + BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, ewram16068arr(0), ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); else if (gActiveBattler == 3 && gActionForBanks[1] == B_ACTION_SWITCH) - EmitChoosePokemon(0, PARTY_CHOOSE_MON, ewram16068arr(1), ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); + BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, ewram16068arr(1), ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); else - EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); + BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, &ewram1606Carr(0, gActiveBattler)); } - MarkBufferBankForExecution(gActiveBattler); + MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_SAFARI_BALL: if (PlayerPartyAndPokemonStorageFull()) @@ -4257,14 +4280,14 @@ void sub_8012324(void) } break; case B_ACTION_SAFARI_POKEBLOCK: - EmitOpenBag(0, &ewram1606Carr(0, gActiveBattler)); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitChooseItem(0, &ewram1606Carr(0, gActiveBattler)); + MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_CANCEL_PARTNER: gBattleCommunication[gActiveBattler] = STATE_WAIT_SET_BEFORE_ACTION; gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] = STATE_BEFORE_ACTION_CHOSEN; - Emitcmd50(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitEndBounceEffect(0); + MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4291,7 +4314,7 @@ void sub_8012324(void) } break; case STATE_WAIT_ACTION_CASE_CHOSEN: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { switch (gActionForBanks[gActiveBattler]) { @@ -4397,24 +4420,24 @@ void sub_8012324(void) } break; case STATE_WAIT_ACTION_CONFIRMED_STANDBY: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { if (((gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_DOUBLE)) != BATTLE_TYPE_DOUBLE) || (position & BIT_FLANK) != B_FLANK_LEFT || (ewram160A6 & gBitTable[GetBattlerAtPosition(position ^ BIT_FLANK)])) { - EmitLinkStandbyMsg(0, 0); + BtlController_EmitLinkStandbyMsg(0, 0); } else { - EmitLinkStandbyMsg(0, 1); + BtlController_EmitLinkStandbyMsg(0, 1); } - MarkBufferBankForExecution(gActiveBattler); + MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } break; case STATE_WAIT_ACTION_CONFIRMED: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++; } @@ -4426,9 +4449,9 @@ void sub_8012324(void) } else { - gBankAttacker = gActiveBattler; + gBattlerAttacker = gActiveBattler; gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; - if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } @@ -4436,7 +4459,7 @@ void sub_8012324(void) } break; case STATE_WAIT_SET_BEFORE_ACTION: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } @@ -4567,7 +4590,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) { if (gActionForBanks[bank1] == 0) { - if (gProtectStructs[bank1].onlyStruggle) + if (gProtectStructs[bank1].noValidMoves) bank1Move = MOVE_STRUGGLE; else bank1Move = gBattleMons[bank1].moves[ewram1608Carr(bank1)]; @@ -4577,7 +4600,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) if (gActionForBanks[bank2] == 0) { - if (gProtectStructs[bank2].onlyStruggle) + if (gProtectStructs[bank2].noValidMoves) bank2Move = MOVE_STRUGGLE; else bank2Move = gBattleMons[bank2].moves[ewram1608Carr(bank2)]; @@ -4629,7 +4652,7 @@ void SetActionsAndBanksTurnOrder(void) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActionForBanks[gActiveBattler] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == B_ACTION_RUN) { var = 5; break; @@ -4638,7 +4661,7 @@ void SetActionsAndBanksTurnOrder(void) } else { - if (gActionForBanks[0] == ACTION_RUN) + if (gActionForBanks[0] == B_ACTION_RUN) { gActiveBattler = 0; var = 5; @@ -4667,7 +4690,7 @@ void SetActionsAndBanksTurnOrder(void) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActionForBanks[gActiveBattler] == ACTION_USE_ITEM || gActionForBanks[gActiveBattler] == ACTION_SWITCH) + if (gActionForBanks[gActiveBattler] == B_ACTION_USE_ITEM || gActionForBanks[gActiveBattler] == B_ACTION_SWITCH) { gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; gBanksByTurnOrder[var] = gActiveBattler; @@ -4676,7 +4699,7 @@ void SetActionsAndBanksTurnOrder(void) } for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActionForBanks[gActiveBattler] != ACTION_USE_ITEM && gActionForBanks[gActiveBattler] != ACTION_SWITCH) + if (gActionForBanks[gActiveBattler] != B_ACTION_USE_ITEM && gActionForBanks[gActiveBattler] != B_ACTION_SWITCH) { gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; gBanksByTurnOrder[var] = gActiveBattler; @@ -4689,10 +4712,10 @@ void SetActionsAndBanksTurnOrder(void) { u8 bank1 = gBanksByTurnOrder[i]; u8 bank2 = gBanksByTurnOrder[j]; - if (gActionsByTurnOrder[i] != ACTION_USE_ITEM - && gActionsByTurnOrder[j] != ACTION_USE_ITEM - && gActionsByTurnOrder[i] != ACTION_SWITCH - && gActionsByTurnOrder[j] != ACTION_SWITCH) + if (gActionsByTurnOrder[i] != B_ACTION_USE_ITEM + && gActionsByTurnOrder[j] != B_ACTION_USE_ITEM + && gActionsByTurnOrder[i] != B_ACTION_SWITCH + && gActionsByTurnOrder[j] != B_ACTION_SWITCH) { if (GetWhoStrikesFirst(bank1, bank2, FALSE)) SwapTurnOrder(i, j); @@ -4761,12 +4784,12 @@ void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) { while (eFocusPunchBattler < gBattlersCount) { - gActiveBattler = gBankAttacker = eFocusPunchBattler; + gActiveBattler = gBattlerAttacker = eFocusPunchBattler; eFocusPunchBattler++; if (gChosenMovesByBanks[gActiveBattler] == MOVE_FOCUS_PUNCH && !(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP) - && !(gDisableStructs[gBankAttacker].truantCounter) - && !(gProtectStructs[gActiveBattler].onlyStruggle)) + && !(gDisableStructs[gBattlerAttacker].truantCounter) + && !(gProtectStructs[gActiveBattler].noValidMoves)) { BattleScriptExecute(BattleScript_FocusPunchSetUp); return; @@ -4821,7 +4844,7 @@ void HandleEndTurn_BattleWon(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); } @@ -4871,7 +4894,7 @@ void HandleEndTurn_BattleLost(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); } @@ -4887,7 +4910,7 @@ void HandleEndTurn_RanFromBattle(void) { gCurrentActionFuncId = 0; - switch (gProtectStructs[gBankAttacker].fleeFlag) + switch (gProtectStructs[gBattlerAttacker].fleeFlag) { default: gBattlescriptCurrInstr = BattleScript_GotAwaySafely; @@ -4907,7 +4930,7 @@ void HandleEndTurn_MonFled(void) { gCurrentActionFuncId = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker]); + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]); gBattlescriptCurrInstr = BattleScript_WildMonFled; gBattleMainFunc = HandleEndTurn_FinishBattle; @@ -4950,7 +4973,7 @@ void HandleEndTurn_FinishBattle(void) } else { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } } @@ -5044,14 +5067,14 @@ void RunBattleScriptCommands_PopCallbacksStack(void) } else { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } } void RunBattleScriptCommands(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } @@ -5060,11 +5083,11 @@ void HandleAction_UseMove(void) u8 side; u8 var = 4; - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - if (ewram160A6 & gBitTable[gBankAttacker]) + if (ewram160A6 & gBitTable[gBattlerAttacker]) { - gCurrentActionFuncId = ACTION_FINISHED; + gCurrentActionFuncId = B_ACTION_FINISHED; return; } @@ -5074,75 +5097,75 @@ void HandleAction_UseMove(void) gMoveResultFlags = 0; gMultiHitCounter = 0; gBattleCommunication[6] = 0; - gCurrMovePos = gUnknown_02024BE5 = ewram1608Carr(gBankAttacker); + gCurrMovePos = gUnknown_02024BE5 = ewram1608Carr(gBattlerAttacker); // choose move - if (gProtectStructs[gBankAttacker].onlyStruggle) + if (gProtectStructs[gBattlerAttacker].noValidMoves) { - gProtectStructs[gBankAttacker].onlyStruggle = 0; + gProtectStructs[gBattlerAttacker].noValidMoves = 0; gCurrentMove = gChosenMove = MOVE_STRUGGLE; gHitMarker |= HITMARKER_NO_PPDEDUCT; - ewram16010arr(gBankAttacker) = GetMoveTarget(MOVE_STRUGGLE, 0); + ewram16010arr(gBattlerAttacker) = GetMoveTarget(MOVE_STRUGGLE, 0); } - else if (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS || gBattleMons[gBankAttacker].status2 & STATUS2_RECHARGE) + else if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS || gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE) { - gCurrentMove = gChosenMove = gLockedMoves[gBankAttacker]; + gCurrentMove = gChosenMove = gLockedMoves[gBattlerAttacker]; } // encore forces you to use the same move - else if (gDisableStructs[gBankAttacker].encoredMove != MOVE_NONE - && gDisableStructs[gBankAttacker].encoredMove == gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos]) + else if (gDisableStructs[gBattlerAttacker].encoredMove != MOVE_NONE + && gDisableStructs[gBattlerAttacker].encoredMove == gBattleMons[gBattlerAttacker].moves[gDisableStructs[gBattlerAttacker].encoredMovePos]) { - gCurrentMove = gChosenMove = gDisableStructs[gBankAttacker].encoredMove; - gCurrMovePos = gUnknown_02024BE5 = gDisableStructs[gBankAttacker].encoredMovePos; - ewram16010arr(gBankAttacker) = GetMoveTarget(gCurrentMove, 0); + gCurrentMove = gChosenMove = gDisableStructs[gBattlerAttacker].encoredMove; + gCurrMovePos = gUnknown_02024BE5 = gDisableStructs[gBattlerAttacker].encoredMovePos; + ewram16010arr(gBattlerAttacker) = GetMoveTarget(gCurrentMove, 0); } // check if the encored move wasn't overwritten - else if (gDisableStructs[gBankAttacker].encoredMove != MOVE_NONE - && gDisableStructs[gBankAttacker].encoredMove != gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos]) + else if (gDisableStructs[gBattlerAttacker].encoredMove != MOVE_NONE + && gDisableStructs[gBattlerAttacker].encoredMove != gBattleMons[gBattlerAttacker].moves[gDisableStructs[gBattlerAttacker].encoredMovePos]) { - gCurrMovePos = gUnknown_02024BE5 = gDisableStructs[gBankAttacker].encoredMovePos; - gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - gDisableStructs[gBankAttacker].encoredMove = MOVE_NONE; - gDisableStructs[gBankAttacker].encoredMovePos = 0; - gDisableStructs[gBankAttacker].encoreTimer1 = 0; - ewram16010arr(gBankAttacker) = GetMoveTarget(gCurrentMove, 0); + gCurrMovePos = gUnknown_02024BE5 = gDisableStructs[gBattlerAttacker].encoredMovePos; + gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + gDisableStructs[gBattlerAttacker].encoredMove = MOVE_NONE; + gDisableStructs[gBattlerAttacker].encoredMovePos = 0; + gDisableStructs[gBattlerAttacker].encoreTimer1 = 0; + ewram16010arr(gBattlerAttacker) = GetMoveTarget(gCurrentMove, 0); } - else if (gBattleMons[gBankAttacker].moves[gCurrMovePos] != gChosenMovesByBanks[gBankAttacker]) + else if (gBattleMons[gBattlerAttacker].moves[gCurrMovePos] != gChosenMovesByBanks[gBattlerAttacker]) { - gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - ewram16010arr(gBankAttacker) = GetMoveTarget(gCurrentMove, 0); + gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + ewram16010arr(gBattlerAttacker) = GetMoveTarget(gCurrentMove, 0); } else { - gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; + gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; } - if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) gBattleResults.lastUsedMove = gCurrentMove; else gBattleResults.opponentMove = gCurrentMove; // choose target - side = GetBattlerSide(gBankAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer != 0 && gBattleMoves[gCurrentMove].target == MOVE_TARGET_SELECTED - && GetBattlerSide(gBankAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget) + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget) && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) { - gBankTarget = gSideTimers[side].followmeTarget; + gBattlerTarget = gSideTimers[side].followmeTarget; } else if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gSideTimers[side].followmeTimer == 0 && (gBattleMoves[gCurrentMove].power != 0 - || gBattleMoves[gCurrentMove].target != MOVE_TARGET_x10) - && gBattleMons[ewram16010arr(gBankAttacker)].ability != ABILITY_LIGHTNING_ROD + || gBattleMoves[gCurrentMove].target != MOVE_TARGET_USER) + && gBattleMons[ewram16010arr(gBattlerAttacker)].ability != ABILITY_LIGHTNING_ROD && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) { - side = GetBattlerSide(gBankAttacker); + side = GetBattlerSide(gBattlerAttacker); for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (side != GetBattlerSide(gActiveBattler) - && ewram16010arr(gBankAttacker) != gActiveBattler + && ewram16010arr(gBattlerAttacker) != gActiveBattler && gBattleMons[gActiveBattler].ability == ABILITY_LIGHTNING_ROD && BankGetTurnOrder(gActiveBattler) < var) { @@ -5153,37 +5176,37 @@ void HandleAction_UseMove(void) { if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } } else { - gBankTarget = ewram16010arr(gBankAttacker); + gBattlerTarget = ewram16010arr(gBattlerAttacker); } - if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) { - if (GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) + if (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); } else { - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBattlerFlags & gBitTable[gBankTarget]) - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); } } } @@ -5192,68 +5215,68 @@ void HandleAction_UseMove(void) gActiveBattler = gBanksByTurnOrder[var]; RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); gSpecialStatuses[gActiveBattler].lightningRodRedirected = 1; - gBankTarget = gActiveBattler; + gBattlerTarget = gActiveBattler; } } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (gAbsentBattlerFlags & gBitTable[gBankTarget] - && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget] + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); } } else { - gBankTarget = ewram16010arr(gBankAttacker); - if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + gBattlerTarget = ewram16010arr(gBattlerAttacker); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) { - if (GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) + if (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); } else { - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBattlerFlags & gBitTable[gBankTarget]) - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); } } } gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } void HandleAction_Switch(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - gActionSelectionCursor[gBankAttacker] = 0; - gMoveSelectionCursor[gBankAttacker] = 0; + gActionSelectionCursor[gBattlerAttacker] = 0; + gMoveSelectionCursor[gBattlerAttacker] = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, ewram16064arr(gBankAttacker)) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, ewram16064arr(gBattlerAttacker)) - ewram16003 = gBankAttacker; + ewram16003 = gBattlerAttacker; gBattlescriptCurrInstr = BattleScript_ActionSwitch; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; if (gBattleResults.unk2 < 255) gBattleResults.unk2++; @@ -5261,11 +5284,11 @@ void HandleAction_Switch(void) void HandleAction_UseItem(void) { - gBankAttacker = gBankTarget = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerTarget = gBanksByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - gDisableStructs[gBankAttacker].furyCutterCounter = 0; - gLastUsedItem = gBattleBufferB[gBankAttacker][1] | (gBattleBufferB[gBankAttacker][2] << 8); + gDisableStructs[gBattlerAttacker].furyCutterCounter = 0; + gLastUsedItem = gBattleBufferB[gBattlerAttacker][1] | (gBattleBufferB[gBattlerAttacker][2] << 8); if (gLastUsedItem <= ITEM_PREMIER_BALL) // is ball { @@ -5275,37 +5298,37 @@ void HandleAction_UseItem(void) { gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; } - else if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) + else if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0]; } else { - switch (ewram160D8((ewram16003 = gBankAttacker))) + switch (ewram160D8((ewram16003 = gBattlerAttacker))) { case AI_ITEM_FULL_RESTORE: case AI_ITEM_HEAL_HP: break; case AI_ITEM_CURE_CONDITION: gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (ewram160DA(gBankAttacker) & 1) + if (ewram160DA(gBattlerAttacker) & 1) { - if (ewram160DA(gBankAttacker) & 0x3E) + if (ewram160DA(gBattlerAttacker) & 0x3E) gBattleCommunication[MULTISTRING_CHOOSER] = 5; } else { - while (!(ewram160DA(gBankAttacker) & 1)) + while (!(ewram160DA(gBattlerAttacker) & 1)) { - ewram160DA(gBankAttacker) >>= 1; + ewram160DA(gBattlerAttacker) >>= 1; gBattleCommunication[MULTISTRING_CHOOSER]++; } } break; case AI_ITEM_X_STAT: gBattleCommunication[MULTISTRING_CHOOSER] = 4; - if (ewram160DA(gBankAttacker) & 0x80) + if (ewram160DA(gBattlerAttacker) & 0x80) { gBattleCommunication[MULTISTRING_CHOOSER] = 5; } @@ -5314,9 +5337,9 @@ void HandleAction_UseItem(void) PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK) PREPARE_STRING_BUFFER(gBattleTextBuff2, 0xD2) - while (!(ewram160DA(gBankAttacker) & 1)) + while (!(ewram160DA(gBattlerAttacker) & 1)) { - ewram160DA(gBankAttacker) >>= 1; + ewram160DA(gBattlerAttacker) >>= 1; gBattleTextBuff1[2]++; } @@ -5332,9 +5355,9 @@ void HandleAction_UseItem(void) break; } - gBattlescriptCurrInstr = gBattlescriptsForUsingItem[ewram160D8(gBankAttacker)]; + gBattlescriptCurrInstr = gBattlescriptsForUsingItem[ewram160D8(gBattlerAttacker)]; } - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } bool8 TryRunFromBattle(u8 bank) @@ -5348,7 +5371,7 @@ bool8 TryRunFromBattle(u8 bank) else holdEffect = ItemId_GetHoldEffect(gBattleMons[bank].item); - gStringBank = bank; + gPotentialItemEffectBattler = bank; if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN) { @@ -5392,7 +5415,7 @@ bool8 TryRunFromBattle(u8 bank) void HandleAction_Run(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -5402,12 +5425,12 @@ void HandleAction_Run(void) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - if (gActionForBanks[gActiveBattler] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == B_ACTION_RUN) gBattleOutcome |= BATTLE_LOST; } else { - if (gActionForBanks[gActiveBattler] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == B_ACTION_RUN) gBattleOutcome |= BATTLE_WON; } } @@ -5416,23 +5439,23 @@ void HandleAction_Run(void) } else { - if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { - if (!TryRunFromBattle(gBankAttacker)) // failed to run away + if (!TryRunFromBattle(gBattlerAttacker)) // failed to run away { - gBattleMons[gBankAttacker].status2 &= ~STATUS2_DESTINY_BOND; + gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_DESTINY_BOND; gBattleCommunication[MULTISTRING_CHOOSER] = 3; gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } } else { - if (gBattleMons[gBankAttacker].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + if (gBattleMons[gBattlerAttacker].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) { gBattleCommunication[MULTISTRING_CHOOSER] = 4; gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } else { @@ -5445,31 +5468,31 @@ void HandleAction_Run(void) void HandleAction_WatchesCarefully(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gBattlescriptCurrInstr = gBattlescriptsForSafariActions[0]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } void HandleAction_SafariZoneBallThrow(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gNumSafariBalls--; gLastUsedItem = ITEM_SAFARI_BALL; gBattlescriptCurrInstr = gBattlescriptsForBallThrow[ITEM_SAFARI_BALL]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } void HandleAction_ThrowPokeblock(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - gBattleCommunication[MULTISTRING_CHOOSER] = gBattleBufferB[gBankAttacker][1] - 1; - gLastUsedItem = gBattleBufferB[gBankAttacker][2]; + gBattleCommunication[MULTISTRING_CHOOSER] = gBattleBufferB[gBattlerAttacker][1] - 1; + gLastUsedItem = gBattleBufferB[gBattlerAttacker][2]; if (ewram16087 < 3) ewram16087++; @@ -5482,12 +5505,12 @@ void HandleAction_ThrowPokeblock(void) } gBattlescriptCurrInstr = gBattlescriptsForSafariActions[2]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } void HandleAction_GoNear(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -5509,12 +5532,12 @@ void HandleAction_GoNear(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; } gBattlescriptCurrInstr = gBattlescriptsForSafariActions[1]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } void HandleAction_SafriZoneRun(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; PlaySE(SE_NIGERU); gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = BATTLE_RAN; @@ -5522,15 +5545,15 @@ void HandleAction_SafriZoneRun(void) void HandleAction_Action9(void) { - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker]) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]) gBattlescriptCurrInstr = gBattlescriptsForSafariActions[3]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; - gActionsByTurnOrder[1] = ACTION_FINISHED; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; + gActionsByTurnOrder[1] = B_ACTION_FINISHED; } void HandleAction_Action11(void) @@ -5538,7 +5561,7 @@ void HandleAction_Action11(void) if (!HandleFaintedMonActions()) { ewram16059 = 0; - gCurrentActionFuncId = ACTION_FINISHED; + gCurrentActionFuncId = B_ACTION_FINISHED; } } @@ -5567,8 +5590,8 @@ void HandleAction_ActionFinished(void) gBattleMoveDamage = 0; ewram16002 = 0; ewram160A1 = 0; - gLastLandedMoves[gBankAttacker] = 0; - gLastHitByType[gBankAttacker] = 0; + gLastLandedMoves[gBattlerAttacker] = 0; + gLastHitByType[gBattlerAttacker] = 0; eDynamicMoveType = 0; gDynamicBasePower = 0; ewram1600C = 0; diff --git a/src/battle_message.c b/src/battle_message.c index 6f3fa63c6..b218c2b8d 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -26,7 +26,7 @@ #endif // This is four lists of moves which use a different attack string in Japanese -// to the default. See the documentation for sub_8121D74 for more detail. +// to the default. See the documentation for ChooseTypeOfMoveUsedString for more detail. const u16 gUnknown_084016BC[] = { MOVE_SWORDS_DANCE, @@ -156,10 +156,10 @@ extern const u8* const gBattleStringsTable[BATTLESTRINGS_NO]; extern u16 gLastUsedItem; extern u8 gLastUsedAbility; extern u8 gActiveBattler; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern u8 gStringBank; -extern u8 gEffectBank; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; +extern u8 gPotentialItemEffectBattler; +extern u8 gEffectBattler; extern u8 gBattleTextBuff1[]; extern u8 gBattleTextBuff2[]; extern u8 gBattleTextBuff3[]; @@ -193,9 +193,9 @@ extern const struct StatusFlagString gUnknown_081FA6D4[7]; // status flag/text extern struct StringInfoBattle* gSelectedOrderFromParty; #define gStringInfo gSelectedOrderFromParty -void sub_8121D1C(u8* textBuff); -void sub_8121D74(u8* textBuff); -void StrCpyDecodeBattleTextBuff(u8* src, u8* dst); +void ChooseMoveUsedParticle(u8* textBuff); +void ChooseTypeOfMoveUsedString(u8* textBuff); +void ExpandBattleTextBuffPlaceholders(u8* src, u8* dst); u8 GetBattlerSide(u8 bank); s32 sub_803FC34(u16); @@ -220,7 +220,7 @@ void BufferStringBattle(u16 stringID) gBattleStruct->scriptingActive = gStringInfo->scrActive; gBattleStruct->unk1605E = gStringInfo->unk1605E; gBattleStruct->hpScale = gStringInfo->hpScale; - gStringBank = gStringInfo->StringBank; + gPotentialItemEffectBattler = gStringInfo->StringBank; gBattleStruct->stringMoveType = gStringInfo->moveType; for (i = 0; i < 4; i++) { @@ -365,12 +365,12 @@ void BufferStringBattle(u16 stringID) } break; case 4: // pokemon used a move msg - sub_8121D1C(gBattleTextBuff1); + ChooseMoveUsedParticle(gBattleTextBuff1); if (gStringInfo->currentMove > 0x162) StringCopy(gBattleTextBuff2, gUnknown_08401674[gBattleStruct->stringMoveType]); else StringCopy(gBattleTextBuff2, gMoveNames[gStringInfo->currentMove]); - sub_8121D74(gBattleTextBuff2); + ChooseTypeOfMoveUsedString(gBattleTextBuff2); stringPtr = BattleText_OpponentUsedMove; break; case 5: // battle end @@ -440,15 +440,15 @@ void BufferStringBattle(u16 stringID) } break; } - StrCpyDecodeToDisplayedStringBattle(stringPtr); + BattleStringExpandPlaceholdersToDisplayedString(stringPtr); } -u32 StrCpyDecodeToDisplayedStringBattle(const u8* src) +u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src) { - StrCpyDecodeBattle(src, gDisplayedStringBattle); + BattleStringExpandPlaceholders(src, gDisplayedStringBattle); } -const u8* AppendStatusString(u8* src) +const u8* TryGetStatusString(u8* src) { u32 i; u8 status[8]; @@ -529,7 +529,7 @@ extern u8 *de_sub_8041024(s32, u32); } #endif -u32 StrCpyDecodeBattle(const u8* src, u8* dst) +u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) { u32 dstID = 0; // if they used dstID, why not use srcID as well? const u8* toCpy = NULL; @@ -546,12 +546,12 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) case 0: if (gBattleTextBuff1[0] == 0xFD) { - StrCpyDecodeBattleTextBuff(gBattleTextBuff1, gStringVar1); + ExpandBattleTextBuffPlaceholders(gBattleTextBuff1, gStringVar1); toCpy = gStringVar1; } else { - toCpy = AppendStatusString(gBattleTextBuff1); + toCpy = TryGetStatusString(gBattleTextBuff1); if (toCpy == 0) toCpy = gBattleTextBuff1; } @@ -559,7 +559,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) case 1: if (gBattleTextBuff2[0] == 0xFD) { - StrCpyDecodeBattleTextBuff(gBattleTextBuff2, gStringVar2); + ExpandBattleTextBuffPlaceholders(gBattleTextBuff2, gStringVar2); toCpy = gStringVar2; } else @@ -568,7 +568,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) case 42: if (gBattleTextBuff3[0] == 0xFD) { - StrCpyDecodeBattleTextBuff(gBattleTextBuff3, gStringVar3); + ExpandBattleTextBuffPlaceholders(gBattleTextBuff3, gStringVar3); toCpy = gStringVar3; } else @@ -595,45 +595,45 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = text; break; case 6: // link first player poke name - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 7: // link first opponent poke name - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 1]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 8: // link second player poke name - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 9: // link second opponent poke name - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 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, gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1)]) + HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker, gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) & 1)]) break; case 11: // attacker partner name, only bank 0/1 - if (GetBattlerSide(gBankAttacker) == 0) - GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); + if (GetBattlerSide(gBattlerAttacker) == 0) + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); else - GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 12: // attacker name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[gBankAttacker]) + HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]) break; case 13: // target name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlerPartyIndexes[gBankTarget]) + HANDLE_NICKNAME_STRING_CASE(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget]) break; case 14: // effect bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlerPartyIndexes[gEffectBank]) + HANDLE_NICKNAME_STRING_CASE(gEffectBattler, gBattlerPartyIndexes[gEffectBattler]) break; case 15: // active bank name with prefix HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) @@ -658,9 +658,9 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) { if (gLastUsedItem == ITEM_ENIGMA_BERRY) { - if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 == gStringBank) + if (gLinkPlayers[gBattleStruct->linkPlayerIndex].id == gPotentialItemEffectBattler) { - StringCopy(text, gEnigmaBerries[gStringBank].name); + StringCopy(text, gEnigmaBerries[gPotentialItemEffectBattler].name); #ifdef ENGLISH StringAppend(text, BattleText_Berry); #else @@ -687,16 +687,16 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = gAbilityNames[gLastUsedAbility]; break; case 21: // attacker ability - toCpy = gAbilityNames[gAbilitiesPerBank[gBankAttacker]]; + toCpy = gAbilityNames[gAbilitiesPerBank[gBattlerAttacker]]; break; case 22: // target ability - toCpy = gAbilityNames[gAbilitiesPerBank[gBankTarget]]; + toCpy = gAbilityNames[gAbilitiesPerBank[gBattlerTarget]]; break; case 23: // scripting active ability toCpy = gAbilityNames[gAbilitiesPerBank[gBattleStruct->scriptingActive]]; break; case 24: // effect bank ability - toCpy = gAbilityNames[gAbilitiesPerBank[gEffectBank]]; + toCpy = gAbilityNames[gAbilitiesPerBank[gEffectBattler]]; break; case 25: // trainer class name #ifdef ENGLISH @@ -744,13 +744,13 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = gLinkPlayers[multiplayerID].name; break; case 28: // link partner name? - toCpy = gLinkPlayers[sub_803FC34(2 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[sub_803FC34(2 ^ gLinkPlayers[multiplayerID].id)].name; break; case 29: // link opponent 1 name? - toCpy = gLinkPlayers[sub_803FC34(1 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[sub_803FC34(1 ^ gLinkPlayers[multiplayerID].id)].name; break; case 30: // link opponent 2 name? - toCpy = gLinkPlayers[sub_803FC34(3 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[sub_803FC34(3 ^ gLinkPlayers[multiplayerID].id)].name; break; case 31: // link scripting active name toCpy = gLinkPlayers[sub_803FC34(gBattleStruct->scriptingActive)].name; @@ -771,37 +771,37 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = BattleText_Someone; break; case 38: - if (GetBattlerSide(gBankAttacker) == 0) + if (GetBattlerSide(gBattlerAttacker) == 0) toCpy = BattleText_Ally2; else toCpy = BattleText_Foe3; break; case 39: - if (GetBattlerSide(gBankTarget) == 0) + if (GetBattlerSide(gBattlerTarget) == 0) toCpy = BattleText_Ally2; else toCpy = BattleText_Foe3; break; case 36: - if (GetBattlerSide(gBankAttacker) == 0) + if (GetBattlerSide(gBattlerAttacker) == 0) toCpy = BattleText_Ally; else toCpy = BattleText_Foe2; break; case 37: - if (GetBattlerSide(gBankTarget) == 0) + if (GetBattlerSide(gBattlerTarget) == 0) toCpy = BattleText_Ally; else toCpy = BattleText_Foe2; break; case 40: - if (GetBattlerSide(gBankAttacker) == 0) + if (GetBattlerSide(gBattlerAttacker) == 0) toCpy = BattleText_Ally3; else toCpy = BattleText_Foe4; break; case 41: - if (GetBattlerSide(gBankTarget) == 0) + if (GetBattlerSide(gBattlerTarget) == 0) toCpy = BattleText_Ally3; else toCpy = BattleText_Foe4; @@ -837,7 +837,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) #define ByteRead16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) #define ByteRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) -void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) +void ExpandBattleTextBuffPlaceholders(u8* src, u8* dst) { u32 srcID = 1; u32 value = 0; @@ -949,9 +949,9 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) { if (hword == ITEM_ENIGMA_BERRY) { - if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 == gStringBank) + if (gLinkPlayers[gBattleStruct->linkPlayerIndex].id == gPotentialItemEffectBattler) { - StringCopy(dst, gEnigmaBerries[gStringBank].name); + StringCopy(dst, gEnigmaBerries[gPotentialItemEffectBattler].name); #ifdef ENGLISH StringAppend(dst, BattleText_Berry); #else @@ -975,9 +975,9 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) // Loads one of two text strings into the provided buffer. This is functionally // unused, since the value loaded into the buffer is not read; it loaded one of -// two particles (either "は" or "の") which works in tandem with sub_8121D74 +// two particles (either "は" or "の") which works in tandem with ChooseTypeOfMoveUsedString // below to effect changes in the meaning of the line. -void sub_8121D1C(u8* textBuff) +void ChooseMoveUsedParticle(u8* textBuff) { s32 counter = 0; u32 i = 0; @@ -1017,7 +1017,7 @@ void sub_8121D1C(u8* textBuff) // // BattleText_Exclamation5 was " こうげき!" This resulted in a translation of // "<NAME>'s <ATTACK> attack!". -void sub_8121D74(u8* dst) +void ChooseTypeOfMoveUsedString(u8* dst) { s32 counter = 0; s32 i = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index dab6ce1f0..01d66b77c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -104,7 +104,7 @@ extern const struct BaseStats gBaseStats[]; extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; extern u8 gActiveBattler; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern u8 gBanksByTurnOrder[MAX_BATTLERS_COUNT]; @@ -112,8 +112,8 @@ extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT]; extern u16 gCurrentMove; extern u8 gLastUsedAbility; extern u16 gBattleWeather; -extern u8 gStringBank; -extern u8 gEffectBank; +extern u8 gPotentialItemEffectBattler; +extern u8 gEffectBattler; extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u16 gLastUsedMove[4]; @@ -126,8 +126,8 @@ extern u16 gRandomTurnNumber; extern u8 gBattleOutcome; extern u8 gBattleTerrain; extern u16 gTrainerBattleOpponent; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern const u8* gBattlescriptCurrInstr; extern u8 gCurrMovePos; extern u8 gCurrentActionFuncId; @@ -136,7 +136,7 @@ extern u8 gMoveResultFlags; extern u8 gBattleCommunication[]; extern u16 gLastLandedMoves[4]; extern u16 gLastHitByType[4]; -extern u8 gStringBank; +extern u8 gPotentialItemEffectBattler; extern u16 gDynamicBasePower; extern const u8 gTypeEffectiveness[]; extern u16 gLastUsedItem; @@ -306,7 +306,7 @@ extern u8 BattleScript_SelectingImprisionedMoveInPalace[]; #define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) #define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr)) -#define TARGET_PROTECT_AFFECTED ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_PROTECT)) +#define TARGET_PROTECT_AFFECTED ((gProtectStructs[gBattlerTarget].protected && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_PROTECT)) //array entries for battle communication #define MOVE_EFFECT_BYTE 0x3 @@ -346,9 +346,7 @@ extern u8 BattleScript_SelectingImprisionedMoveInPalace[]; #define sBYTE3_32(value)(( (u8) (((s32)(value) & (0xFF000000)) >> 0x18))) #define RecordAbilitySetField6(ability, fieldValue) \ -(gLastUsedAbility = ability, gBattleCommunication[6] = fieldValue, RecordAbilityBattle(gBankTarget, ability)) - -#define TARGET_TURN_DAMAGED (((gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special))) +(gLastUsedAbility = ability, gBattleCommunication[6] = fieldValue, RecordAbilityBattle(gBattlerTarget, ability)) #define HP_ON_SWITCHOUT (((u16*)(ewram_addr + 0x160BC))) @@ -1100,10 +1098,10 @@ static void atk00_attackcanceler(void) if (gBattleOutcome != 0) { - gCurrentActionFuncId = ACTION_FINISHED; + gCurrentActionFuncId = B_ACTION_FINISHED; return; } - if (gBattleMons[gBankAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) + if (gBattleMons[gBattlerAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) { gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattlescriptCurrInstr = BattleScript_MoveEnd; @@ -1111,10 +1109,10 @@ static void atk00_attackcanceler(void) } if (AtkCanceller_UnableToUseMove()) return; - if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBankTarget, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattlerTarget, 0, 0, 0)) return; - if (!gBattleMons[gBankAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200) - && !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) + if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200) + && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) { gBattlescriptCurrInstr = BattleScript_NoPPForMove; gMoveResultFlags |= MOVE_RESULT_MISSED; @@ -1123,7 +1121,7 @@ static void atk00_attackcanceler(void) gHitMarker &= ~(HITMARKER_x800000); - if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) + if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) { i = IsMonDisobedient(); // why use the 'i' variable...? switch (i) @@ -1141,10 +1139,10 @@ static void atk00_attackcanceler(void) gHitMarker |= HITMARKER_OBEYS; - if (gProtectStructs[gBankTarget].bounceMove && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_MAGIC_COAT) + if (gProtectStructs[gBattlerTarget].bounceMove && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_MAGIC_COAT) { - PressurePPLose(gBankAttacker, gBankTarget, MOVE_MAGIC_COAT); - gProtectStructs[gBankTarget].bounceMove = 0; + PressurePPLose(gBattlerAttacker, gBattlerTarget, MOVE_MAGIC_COAT); + gProtectStructs[gBattlerTarget].bounceMove = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MagicCoatBounce; return; @@ -1154,7 +1152,7 @@ static void atk00_attackcanceler(void) { if ((gProtectStructs[gBanksByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_SNATCH) { - PressurePPLose(gBankAttacker, gBanksByTurnOrder[i], MOVE_SNATCH); + PressurePPLose(gBattlerAttacker, gBanksByTurnOrder[i], MOVE_SNATCH); gProtectStructs[gBanksByTurnOrder[i]].stealMove = 0; gBattleStruct->scriptingActive = gBanksByTurnOrder[i]; BattleScriptPushCursor(); @@ -1163,22 +1161,22 @@ static void atk00_attackcanceler(void) } } - if (gSpecialStatuses[gBankTarget].lightningRodRedirected) + if (gSpecialStatuses[gBattlerTarget].lightningRodRedirected) { - gSpecialStatuses[gBankTarget].lightningRodRedirected = 0; + gSpecialStatuses[gBattlerTarget].lightningRodRedirected = 0; gLastUsedAbility = ABILITY_LIGHTNING_ROD; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_TookAttack; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } else if (TARGET_PROTECT_AFFECTED - && (gCurrentMove != MOVE_CURSE || (gBattleMons[gBankAttacker].type1 == TYPE_GHOST || gBattleMons[gBankAttacker].type2 == TYPE_GHOST)) - && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)))) + && (gCurrentMove != MOVE_CURSE || (gBattleMons[gBattlerAttacker].type1 == TYPE_GHOST || gBattleMons[gBattlerAttacker].type2 == TYPE_GHOST)) + && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)))) { - CancelMultiTurnMoves(gBankAttacker); + CancelMultiTurnMoves(gBattlerAttacker); gMoveResultFlags |= MOVE_RESULT_MISSED; - gLastLandedMoves[gBankTarget] = 0; - gLastHitByType[gBankTarget] = 0; + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; gBattleCommunication[6] = 1; gBattlescriptCurrInstr++; } @@ -1193,14 +1191,14 @@ static void JumpIfMoveFailed(u8 adder, u16 move) const u8 *BS_ptr = gBattlescriptCurrInstr + adder; if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { - gLastLandedMoves[gBankTarget] = 0; - gLastHitByType[gBankTarget] = 0; + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; BS_ptr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { TrySetDestinyBondToHappen(); - if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBankTarget, 0, 0, move)) + if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattlerTarget, 0, 0, move)) return; } gBattlescriptCurrInstr = BS_ptr; @@ -1235,13 +1233,13 @@ static bool8 JumpIfMoveAffectedByProtect(u16 move) static bool8 AccuracyCalcHelper(u16 move) { - if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker) + if (gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS && gDisableStructs[gBattlerTarget].bankWithSureHit == gBattlerAttacker) { JumpIfMoveFailed(7, move); return TRUE; } - if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBankTarget] & STATUS3_ON_AIR) + if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBattlerTarget] & STATUS3_ON_AIR) { gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); @@ -1250,7 +1248,7 @@ static bool8 AccuracyCalcHelper(u16 move) gHitMarker &= ~HITMARKER_IGNORE_ON_AIR; - if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBankTarget] & STATUS3_UNDERGROUND) + if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBattlerTarget] & STATUS3_UNDERGROUND) { gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); @@ -1259,7 +1257,7 @@ static bool8 AccuracyCalcHelper(u16 move) gHitMarker &= ~HITMARKER_IGNORE_UNDERGROUND; - if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBankTarget] & STATUS3_UNDERWATER) + if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBattlerTarget] & STATUS3_UNDERWATER) { gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); @@ -1284,9 +1282,9 @@ static void atk01_accuracycheck(void) if (move == 0xFFFE || move == 0xFFFF) { - if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker) + if (gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBattlerTarget].bankWithSureHit == gBattlerAttacker) gBattlescriptCurrInstr += 7; - else if (gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) + else if (gStatuses3[gBattlerTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else if (!JumpIfMoveAffectedByProtect(0)) gBattlescriptCurrInstr += 7; @@ -1307,15 +1305,15 @@ static void atk01_accuracycheck(void) if (AccuracyCalcHelper(move)) return; - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) { - u8 acc = gBattleMons[gBankAttacker].statStages[STAT_STAGE_ACC]; + u8 acc = gBattleMons[gBattlerAttacker].statStages[STAT_STAGE_ACC]; buff = acc; } else { - u8 acc = gBattleMons[gBankAttacker].statStages[STAT_STAGE_ACC]; - buff = acc + 6 - gBattleMons[gBankTarget].statStages[STAT_STAGE_EVASION]; + u8 acc = gBattleMons[gBattlerAttacker].statStages[STAT_STAGE_ACC]; + buff = acc + 6 - gBattleMons[gBattlerTarget].statStages[STAT_STAGE_EVASION]; } if (buff < 0) @@ -1331,25 +1329,25 @@ static void atk01_accuracycheck(void) calc = gAccuracyStageRatios[buff].dividend * moveAcc; calc /= gAccuracyStageRatios[buff].divisor; - if (gBattleMons[gBankAttacker].ability == ABILITY_COMPOUND_EYES) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_COMPOUND_EYES) calc = (calc * 130) / 100; // 1.3 compound eyes boost - if (WEATHER_HAS_EFFECT && gBattleMons[gBankTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY) + if (WEATHER_HAS_EFFECT && gBattleMons[gBattlerTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY) calc = (calc * 80) / 100; // 1.2 sand veil loss; - if (gBattleMons[gBankAttacker].ability == ABILITY_HUSTLE && type < 9) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_HUSTLE && type < 9) calc = (calc * 80) / 100; // 1.2 hustle loss; - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - holdEffect = gEnigmaBerries[gBankTarget].holdEffect; - quality = gEnigmaBerries[gBankTarget].holdEffectParam; + holdEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + quality = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + quality = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; if (holdEffect == HOLD_EFFECT_EVASION_UP) calc = (calc * (100 - quality)) / 100; @@ -1371,11 +1369,11 @@ static void atk01_accuracycheck(void) static void atk02_attackstring(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED))) { - PrepareStringBattle(4, gBankAttacker); + PrepareStringBattle(4, gBattlerAttacker); gHitMarker |= HITMARKER_ATTACKSTRING_PRINTED; } gBattlescriptCurrInstr++; @@ -1386,42 +1384,42 @@ static void atk03_ppreduce(void) { s32 ppToDeduct = 1; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - if (!gSpecialStatuses[gBankAttacker].flag20) + if (!gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure) { switch (gBattleMoves[gCurrentMove].target) { case TARGET_FOES_AND_ALLY: - ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_ON_FIELD, gBankAttacker, ABILITY_PRESSURE, 0, 0); + ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_ON_FIELD, gBattlerAttacker, ABILITY_PRESSURE, 0, 0); break; case TARGET_BOTH: case TARGET_OPPONENTS_FIELD: - ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBankAttacker, ABILITY_PRESSURE, 0, 0); + ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBattlerAttacker, ABILITY_PRESSURE, 0, 0); break; default: - if (gBankAttacker != gBankTarget && gBattleMons[gBankTarget].ability == ABILITY_PRESSURE) + if (gBattlerAttacker != gBattlerTarget && gBattleMons[gBattlerTarget].ability == ABILITY_PRESSURE) ppToDeduct++; break; } } - if (!(gHitMarker & (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING)) && gBattleMons[gBankAttacker].pp[gCurrMovePos]) + if (!(gHitMarker & (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING)) && gBattleMons[gBattlerAttacker].pp[gCurrMovePos]) { - gProtectStructs[gBankAttacker].notFirstStrike = 1; + gProtectStructs[gBattlerAttacker].notFirstStrike = 1; - if (gBattleMons[gBankAttacker].pp[gCurrMovePos] > ppToDeduct) - gBattleMons[gBankAttacker].pp[gCurrMovePos] -= ppToDeduct; + if (gBattleMons[gBattlerAttacker].pp[gCurrMovePos] > ppToDeduct) + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] -= ppToDeduct; else - gBattleMons[gBankAttacker].pp[gCurrMovePos] = 0; + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = 0; - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) - && !((gDisableStructs[gBankAttacker].unk18_b) & gBitTable[gCurrMovePos])) + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) + && !((gDisableStructs[gBattlerAttacker].unk18_b) & gBitTable[gCurrMovePos])) { - gActiveBattler = gBankAttacker; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBankAttacker].pp[gCurrMovePos]); - MarkBufferBankForExecution(gBankAttacker); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); + MarkBattlerForControllerExec(gBattlerAttacker); } } @@ -1434,29 +1432,29 @@ static void atk04_critcalc(void) u8 holdEffect; u16 item, critChance; - item = gBattleMons[gBankAttacker].item; + item = gBattleMons[gBattlerAttacker].item; if (item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[gBankAttacker].holdEffect; + holdEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; else holdEffect = ItemId_GetHoldEffect(item); - gStringBank = gBankAttacker; + gPotentialItemEffectBattler = gBattlerAttacker; - critChance = 2 * ((gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0) + critChance = 2 * ((gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0) + (gBattleMoves[gCurrentMove].effect == EFFECT_HIGH_CRITICAL) + (gBattleMoves[gCurrentMove].effect == EFFECT_SKY_ATTACK) + (gBattleMoves[gCurrentMove].effect == EFFECT_BLAZE_KICK) + (gBattleMoves[gCurrentMove].effect == EFFECT_POISON_TAIL) + (holdEffect == HOLD_EFFECT_SCOPE_LENS) - + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBankAttacker].species == SPECIES_CHANSEY) - + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBankAttacker].species == SPECIES_FARFETCHD); + + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattlerAttacker].species == SPECIES_FARFETCHD); if (critChance > 4) critChance = 4; - if ((gBattleMons[gBankTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBankTarget].ability != ABILITY_SHELL_ARMOR) - && !(gStatuses3[gBankAttacker] & STATUS3_CANT_SCORE_A_CRIT) + if ((gBattleMons[gBattlerTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBattlerTarget].ability != ABILITY_SHELL_ARMOR) + && !(gStatuses3[gBattlerAttacker] & STATUS3_CANT_SCORE_A_CRIT) && !(gBattleTypeFlags & (BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FIRST_BATTLE)) && !(Random() % sCriticalHitChance[critChance])) gCritMultiplier = 2; @@ -1468,15 +1466,15 @@ static void atk04_critcalc(void) static void atk05_damagecalc(void) { - u16 side_hword = gSideAffecting[GetBattlerPosition(gBankTarget) & 1]; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, + u16 side_hword = gSideAffecting[GetBattlerPosition(gBattlerTarget) & 1]; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove, side_hword, gDynamicBasePower, - gBattleStruct->dynamicMoveType, gBankAttacker, gBankTarget); + gBattleStruct->dynamicMoveType, gBattlerAttacker, gBattlerTarget); gBattleMoveDamage = gBattleMoveDamage * gCritMultiplier * gBattleStruct->dmgMultiplier; - if (gStatuses3[gBankAttacker] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) + if (gStatuses3[gBattlerAttacker] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) gBattleMoveDamage *= 2; - if (gProtectStructs[gBankAttacker].helpingHand) + if (gProtectStructs[gBattlerAttacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; gBattlescriptCurrInstr++; @@ -1543,20 +1541,20 @@ static void atk06_typecalc(void) move_type = gBattleMoves[gCurrentMove].type; //check stab - if (gBattleMons[gBankAttacker].type1 == move_type || gBattleMons[gBankAttacker].type2 == move_type) + if (gBattleMons[gBattlerAttacker].type1 == move_type || gBattleMons[gBattlerAttacker].type2 == move_type) { gBattleMoveDamage = gBattleMoveDamage * 15; gBattleMoveDamage = gBattleMoveDamage / 10; } - if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) + if (gBattleMons[gBattlerTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { - gLastUsedAbility = gBattleMons[gBankTarget].ability; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); - gLastLandedMoves[gBankTarget] = 0; - gLastHitByType[gBankTarget] = 0; + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; gBattleCommunication[6] = move_type; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } else { @@ -1564,7 +1562,7 @@ static void atk06_typecalc(void) { if (gTypeEffectiveness[i] == TYPE_FORESIGHT) { - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) break; i += 3; continue; @@ -1573,30 +1571,30 @@ static void atk06_typecalc(void) else if (gTypeEffectiveness[i] == move_type) { //check type1 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type1) ModulateDmgByType(gTypeEffectiveness[i + 2]); //check type2 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && - gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type2 && + gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2) ModulateDmgByType(gTypeEffectiveness[i + 2]); } i += 3; } } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 + if (gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattlerAttacker, gCurrentMove) == 2 && (!(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; gMoveResultFlags |= MOVE_RESULT_MISSED; - gLastLandedMoves[gBankTarget] = 0; - gLastHitByType[gBankTarget] = 0; + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; gBattleCommunication[6] = 3; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) - gProtectStructs[gBankAttacker].notEffective = 1; + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; } gBattlescriptCurrInstr++; } @@ -1614,7 +1612,7 @@ static void CheckWonderGuardAndLevitate(void) else move_type = gBattleMoves[gCurrentMove].type; - if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) + if (gBattleMons[gBattlerTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { RecordAbilitySetField6(ABILITY_LEVITATE, move_type); return; @@ -1624,7 +1622,7 @@ static void CheckWonderGuardAndLevitate(void) { if (gTypeEffectiveness[i] == TYPE_FORESIGHT) { - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) break; i += 3; continue; @@ -1633,39 +1631,39 @@ static void CheckWonderGuardAndLevitate(void) if (gTypeEffectiveness[i] == move_type) { //check no effect - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 0) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type1 && gTypeEffectiveness[i + 2] == 0) { gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; - gProtectStructs[gBankAttacker].notEffective = 1; + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; } - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && - gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type2 && + gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && gTypeEffectiveness[i + 2] == 0) { gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; - gProtectStructs[gBankAttacker].notEffective = 1; + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; } //check super effective - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 20) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type1 && gTypeEffectiveness[i + 2] == 20) flags |= 1; - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 - && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type2 + && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && gTypeEffectiveness[i + 2] == 20) flags |= 1; //check not very effective - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 5) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type1 && gTypeEffectiveness[i + 2] == 5) flags |= 2; - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 - && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type2 + && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && gTypeEffectiveness[i + 2] == 5) flags |= 2; } i += 3; } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2) + if (gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattlerAttacker, gCurrentMove) == 2) { if (((flags & 2) || !(flags & 1)) && gBattleMoves[gCurrentMove].power) { @@ -1749,7 +1747,7 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); //check type2 if (gTypeEffectiveness[i + 1] == gBattleMons[bank_def].type2 && - gBattleMons[gBankTarget /* what the christ */].type1 != gBattleMons[bank_def].type2) + gBattleMons[gBattlerTarget /* what the christ */].type1 != gBattleMons[bank_def].type2) ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); } i += 3; @@ -1794,7 +1792,7 @@ u8 AI_TypeCalc(u16 move, u16 species, u8 ability) if (gTypeEffectiveness[i + 1] == type1) ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); //check type2 - if (gTypeEffectiveness[i + 1] == type2 && gBattleMons[gBankTarget].type1 != type2) //gf you morons, you should check if (type1 != type2)... + if (gTypeEffectiveness[i + 1] == type2 && gBattleMons[gBattlerTarget].type1 != type2) //gf you morons, you should check if (type1 != type2)... ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); } i += 3; @@ -1831,43 +1829,43 @@ static void atk07_adjustnormaldamage(void) { u8 hold_effect, quality; ApplyRandomDmgMultiplier(); - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - hold_effect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; + hold_effect = gEnigmaBerries[gBattlerTarget].holdEffect, quality = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - hold_effect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + hold_effect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + quality = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; if (hold_effect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality) { - RecordItemBattle(gBankTarget, hold_effect); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemBattle(gBattlerTarget, hold_effect); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBankTarget].endured - && !gSpecialStatuses[gBankTarget].focusBanded) + if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured + && !gSpecialStatuses[gBattlerTarget].focusBanded) goto END; - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) goto END; - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - if (gProtectStructs[gBankTarget].endured) + if (gProtectStructs[gBattlerTarget].endured) { gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } - if (gSpecialStatuses[gBankTarget].focusBanded) + if (gSpecialStatuses[gBattlerTarget].focusBanded) { gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBankTarget].item; + gLastUsedItem = gBattleMons[gBattlerTarget].item; } END: @@ -1878,43 +1876,43 @@ static void atk08_adjustnormaldamage2(void) //literally the same as 0x7 except i { u8 hold_effect, quality; ApplyRandomDmgMultiplier(); - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - hold_effect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; + hold_effect = gEnigmaBerries[gBattlerTarget].holdEffect, quality = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - hold_effect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + hold_effect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + quality = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; if (hold_effect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality) { - RecordItemBattle(gBankTarget, hold_effect); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemBattle(gBattlerTarget, hold_effect); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) goto END; - if (!gProtectStructs[gBankTarget].endured - && !gSpecialStatuses[gBankTarget].focusBanded) + if (!gProtectStructs[gBattlerTarget].endured + && !gSpecialStatuses[gBattlerTarget].focusBanded) goto END; - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) goto END; - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - if (gProtectStructs[gBankTarget].endured) + if (gProtectStructs[gBattlerTarget].endured) { gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } - if (gSpecialStatuses[gBankTarget].focusBanded) + if (gSpecialStatuses[gBattlerTarget].focusBanded) { gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBankTarget].item; + gLastUsedItem = gBattleMons[gBattlerTarget].item; } END: @@ -1923,7 +1921,7 @@ static void atk08_adjustnormaldamage2(void) //literally the same as 0x7 except i static void atk09_attackanimation(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if ((gHitMarker & HITMARKER_NO_ANIMATIONS) && (gCurrentMove != MOVE_TRANSFORM && gCurrentMove != MOVE_SUBSTITUTE)) @@ -1942,12 +1940,12 @@ static void atk09_attackanimation(void) } if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; - EmitMoveAnimation(0, gCurrentMove, gBattleStruct->animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBankAttacker].friendship, &gDisableStructs[gBankAttacker]); + BtlController_EmitMoveAnimation(0, gCurrentMove, gBattleStruct->animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker]); gBattleStruct->animTurn += 1; gBattleStruct->animTargetsHit += 1; - MarkBufferBankForExecution(gBankAttacker); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr++; } else @@ -1960,13 +1958,13 @@ static void atk09_attackanimation(void) static void atk0A_waitanimation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattlescriptCurrInstr++; } static void atk0B_healthbarupdate(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) @@ -1991,11 +1989,11 @@ static void atk0B_healthbarupdate(void) else healthValue = maxPossibleDmgValue; - EmitHealthBarUpdate(0, healthValue); + BtlController_EmitHealthBarUpdate(0, healthValue); */ - EmitHealthBarUpdate(0, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitHealthBarUpdate(0, gBattleMoveDamage); + MarkBattlerForControllerExec(gActiveBattler); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) gBattleResults.unk5_0 = 1; @@ -2009,7 +2007,7 @@ static void atk0C_datahpupdate(void) { u32 moveType; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (gBattleStruct->dynamicMoveType == 0) @@ -2026,15 +2024,15 @@ static void atk0C_datahpupdate(void) { if (gDisableStructs[gActiveBattler].substituteHP >= gBattleMoveDamage) { - if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) - gSpecialStatuses[gActiveBattler].moveturnLostHP = gBattleMoveDamage; + if (gSpecialStatuses[gActiveBattler].dmg == 0) + gSpecialStatuses[gActiveBattler].dmg = gBattleMoveDamage; gDisableStructs[gActiveBattler].substituteHP -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) - gSpecialStatuses[gActiveBattler].moveturnLostHP = gDisableStructs[gActiveBattler].substituteHP; + if (gSpecialStatuses[gActiveBattler].dmg == 0) + gSpecialStatuses[gActiveBattler].dmg = gDisableStructs[gActiveBattler].substituteHP; gHpDealt = gDisableStructs[gActiveBattler].substituteHP; gDisableStructs[gActiveBattler].substituteHP = 0; } @@ -2067,9 +2065,9 @@ static void atk0C_datahpupdate(void) { gTakenDmg[gActiveBattler] += gBattleMoveDamage; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) - gTakenDmgBanks[gActiveBattler] = gBankAttacker; + gTakenDmgBanks[gActiveBattler] = gBattlerAttacker; else - gTakenDmgBanks[gActiveBattler] = gBankTarget; + gTakenDmgBanks[gActiveBattler] = gBattlerTarget; } if (gBattleMons[gActiveBattler].hp > gBattleMoveDamage) @@ -2083,61 +2081,61 @@ static void atk0C_datahpupdate(void) gBattleMons[gActiveBattler].hp = 0; } - if (!gSpecialStatuses[gActiveBattler].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) - gSpecialStatuses[gActiveBattler].moveturnLostHP = gHpDealt; + if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_x100000)) + gSpecialStatuses[gActiveBattler].dmg = gHpDealt; if (TYPE_IS_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) { gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; - gSpecialStatuses[gActiveBattler].moveturnLostHP_physical = gHpDealt; + gSpecialStatuses[gActiveBattler].physicalDmg = gHpDealt; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) { - gProtectStructs[gActiveBattler].physicalBank = gBankAttacker; - gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankAttacker; + gProtectStructs[gActiveBattler].physicalBattlerId = gBattlerAttacker; + gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerAttacker; } else { - gProtectStructs[gActiveBattler].physicalBank = gBankTarget; - gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankTarget; + gProtectStructs[gActiveBattler].physicalBattlerId = gBattlerTarget; + gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerTarget; } } else if (!TYPE_IS_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000)) { gProtectStructs[gActiveBattler].specialDmg = gHpDealt; - gSpecialStatuses[gActiveBattler].moveturnLostHP_special = gHpDealt; + gSpecialStatuses[gActiveBattler].specialDmg = gHpDealt; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) { - gProtectStructs[gActiveBattler].specialBank = gBankAttacker; - gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBankAttacker; + gProtectStructs[gActiveBattler].specialBattlerId = gBattlerAttacker; + gSpecialStatuses[gActiveBattler].specialBattlerId = gBattlerAttacker; } else { - gProtectStructs[gActiveBattler].specialBank = gBankTarget; - gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBankTarget; + gProtectStructs[gActiveBattler].specialBattlerId = gBattlerTarget; + gSpecialStatuses[gActiveBattler].specialBattlerId = gBattlerTarget; } } } gHitMarker &= ~(HITMARKER_x100000); - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBattlerForControllerExec(gActiveBattler); } } else { gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) - gSpecialStatuses[gActiveBattler].moveturnLostHP = 0xFFFF; + if (gSpecialStatuses[gActiveBattler].dmg == 0) + gSpecialStatuses[gActiveBattler].dmg = 0xFFFF; } gBattlescriptCurrInstr += 2; } static void atk0D_critmessage(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { if (gCritMultiplier == 2 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - PrepareStringBattle(0xD9, gBankAttacker); + PrepareStringBattle(0xD9, gBattlerAttacker); gBattleCommunication[MSG_DISPLAY] = 1; } gBattlescriptCurrInstr++; @@ -2146,22 +2144,22 @@ static void atk0D_critmessage(void) static void atk0E_effectivenesssound(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBattler = gBankTarget; + gActiveBattler = gBattlerTarget; if (!(gMoveResultFlags & MOVE_RESULT_MISSED)) { u8 flag = ~MOVE_RESULT_MISSED; switch (gMoveResultFlags & flag) { case MOVE_RESULT_SUPER_EFFECTIVE: - EmitEffectivenessSound(0, 14); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitPlaySE(0, 14); + MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - EmitEffectivenessSound(0, 12); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitPlaySE(0, 12); + MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_DOESNT_AFFECT_FOE: case MOVE_RESULT_FAILED: @@ -2172,18 +2170,18 @@ static void atk0E_effectivenesssound(void) default: if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - EmitEffectivenessSound(0, 14); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitPlaySE(0, 14); + MarkBattlerForControllerExec(gActiveBattler); } else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - EmitEffectivenessSound(0, 12); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitPlaySE(0, 12); + MarkBattlerForControllerExec(gActiveBattler); } else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - EmitEffectivenessSound(0, 13); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitPlaySE(0, 13); + MarkBattlerForControllerExec(gActiveBattler); } break; } @@ -2195,7 +2193,7 @@ static void atk0F_resultmessage(void) { u32 stringId = 0; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[6] > 2)) @@ -2227,8 +2225,8 @@ static void atk0F_resultmessage(void) stringId = STRINGID_ITDOESNTAFFECT; break; case MOVE_RESULT_FOE_HUNG_ON: - gLastUsedItem = gBattleMons[gBankTarget].item; - gStringBank = gBankTarget; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + gPotentialItemEffectBattler = gBattlerTarget; gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; @@ -2256,8 +2254,8 @@ static void atk0F_resultmessage(void) } else if (gMoveResultFlags & MOVE_RESULT_FOE_HUNG_ON) { - gLastUsedItem = gBattleMons[gBankTarget].item; - gStringBank = gBankTarget; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + gPotentialItemEffectBattler = gBattlerTarget; gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; @@ -2275,17 +2273,17 @@ static void atk0F_resultmessage(void) } if (stringId) - PrepareStringBattle(stringId, gBankAttacker); + PrepareStringBattle(stringId, gBattlerAttacker); gBattlescriptCurrInstr++; } static void atk10_printstring(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u16 var = T2_READ_16(gBattlescriptCurrInstr + 1); - PrepareStringBattle(var, gBankAttacker); + PrepareStringBattle(var, gBattlerAttacker); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2293,16 +2291,16 @@ static void atk10_printstring(void) static void atk11_printselectionstring(void) { - gActiveBattler = gBankAttacker; - EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitPrintSelectionString(0, T2_READ_16(gBattlescriptCurrInstr + 1)); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; } static void atk12_waitmessage(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { if (!gBattleCommunication[MSG_DISPLAY]) { @@ -2323,11 +2321,11 @@ static void atk12_waitmessage(void) static void atk13_printfromtable(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - PrepareStringBattle(*(u16*)ptr, gBankAttacker); + PrepareStringBattle(*(u16*)ptr, gBattlerAttacker); gBattlescriptCurrInstr += 5; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2335,13 +2333,13 @@ static void atk13_printfromtable(void) static void atk14_printselectionstringfromtable(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); // FIXME ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - gActiveBattler = gBankAttacker; - EmitPrintStringPlayerOnly(0, *(u16*)ptr); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitPrintSelectionString(0, *(u16*)ptr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2370,30 +2368,30 @@ void SetMoveEffect(bool8 primary, u8 certainArg) if (gBattleCommunication[MOVE_EFFECT_BYTE] & EffectAffectsUser) { - gEffectBank = gBankAttacker; //bank that effects get applied on + gEffectBattler = gBattlerAttacker; //bank that effects get applied on gBattleCommunication[MOVE_EFFECT_BYTE] &= ~(EffectAffectsUser); AffectsUser = EffectAffectsUser; - gBattleStruct->scriptingActive = gBankTarget; //theoretically the attacker + gBattleStruct->scriptingActive = gBattlerTarget; //theoretically the attacker } else { - gEffectBank = gBankTarget; - gBattleStruct->scriptingActive = gBankAttacker; + gEffectBattler = gBattlerTarget; + gBattleStruct->scriptingActive = gBattlerAttacker; } - if (gBattleMons[gEffectBank].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && + if (gBattleMons[gEffectBattler].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9) {gBattlescriptCurrInstr++; return;} - if (gSideAffecting[GetBattlerPosition(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && + if (gSideAffecting[GetBattlerPosition(gEffectBattler) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7) {gBattlescriptCurrInstr++; return;} //make sure at least ONE HP except payday and thief - if (gBattleMons[gEffectBank].hp == 0 && gBattleCommunication[MOVE_EFFECT_BYTE] != 0xB && gBattleCommunication[MOVE_EFFECT_BYTE] != 0x1F) + if (gBattleMons[gEffectBattler].hp == 0 && gBattleCommunication[MOVE_EFFECT_BYTE] != 0xB && gBattleCommunication[MOVE_EFFECT_BYTE] != 0x1F) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gEffectBank].status2 & STATUS2_SUBSTITUTE && AffectsUser != EffectAffectsUser) + if (gBattleMons[gEffectBattler].status2 & STATUS2_SUBSTITUTE && AffectsUser != EffectAffectsUser) {gBattlescriptCurrInstr++; return;} if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6) //status change @@ -2402,25 +2400,25 @@ void SetMoveEffect(bool8 primary, u8 certainArg) { case STATUS_SLEEP: //check active uproar - if (gBattleMons[gEffectBank].ability != ABILITY_SOUNDPROOF) + if (gBattleMons[gEffectBattler].ability != ABILITY_SOUNDPROOF) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount && !(gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR); gActiveBattler++) {} } else gActiveBattler = gBattlersCount; - if (gBattleMons[gEffectBank].status1) {break;} + if (gBattleMons[gEffectBattler].status1) {break;} if (gActiveBattler != gBattlersCount) {break;} //nice way of checking uproar... - if (gBattleMons[gEffectBank].ability == ABILITY_VITAL_SPIRIT) {break;} - if (gBattleMons[gEffectBank].ability == ABILITY_INSOMNIA) {break;} + if (gBattleMons[gEffectBattler].ability == ABILITY_VITAL_SPIRIT) {break;} + if (gBattleMons[gEffectBattler].ability == ABILITY_INSOMNIA) {break;} - CancelMultiTurnMoves(gEffectBank); + CancelMultiTurnMoves(gEffectBattler); StatusChanged = 1; break; case STATUS_POISON: - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_IMMUNITY; - RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY); + RecordAbilityBattle(gEffectBattler, ABILITY_IMMUNITY); BattleScriptPush(gBattlescriptCurrInstr + 1); //_0801E664: gBattlescriptCurrInstr = BattleScript_PSNPrevention; @@ -2433,7 +2431,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) else {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;} } - if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL) + if ((gBattleMons[gEffectBattler].type1 == TYPE_POISON || gBattleMons[gEffectBattler].type2 == TYPE_POISON || gBattleMons[gEffectBattler].type1 == TYPE_STEEL || gBattleMons[gEffectBattler].type2 == TYPE_STEEL) && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80)) { BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2441,20 +2439,20 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattleCommunication[MULTISTRING_CHOOSER] = 2; return; } - if (gBattleMons[gEffectBank].type1 == TYPE_POISON) {break;} - if (gBattleMons[gEffectBank].type2 == TYPE_POISON) {break;} - if (gBattleMons[gEffectBank].type1 == TYPE_STEEL) {break;} - if (gBattleMons[gEffectBank].type2 == TYPE_STEEL) {break;} - if (gBattleMons[gEffectBank].status1) {break;} - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) {break;} + if (gBattleMons[gEffectBattler].type1 == TYPE_POISON) {break;} + if (gBattleMons[gEffectBattler].type2 == TYPE_POISON) {break;} + if (gBattleMons[gEffectBattler].type1 == TYPE_STEEL) {break;} + if (gBattleMons[gEffectBattler].type2 == TYPE_STEEL) {break;} + if (gBattleMons[gEffectBattler].status1) {break;} + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY) {break;} StatusChanged = 1; break; case STATUS_BURN: - if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL && (primary == 1 || certain == 0x80)) + if (gBattleMons[gEffectBattler].ability == ABILITY_WATER_VEIL && (primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_WATER_VEIL; - RecordAbilityBattle(gEffectBank, ABILITY_WATER_VEIL); + RecordAbilityBattle(gEffectBattler, ABILITY_WATER_VEIL); BattleScriptPush(gBattlescriptCurrInstr + 1); //_0801E664: gBattlescriptCurrInstr = BattleScript_BRNPrevention; @@ -2467,7 +2465,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) else {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;} } - if ((gBattleMons[gEffectBank].type1 == TYPE_FIRE || gBattleMons[gEffectBank].type2 == TYPE_FIRE) + if ((gBattleMons[gEffectBattler].type1 == TYPE_FIRE || gBattleMons[gEffectBattler].type2 == TYPE_FIRE) && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80)) { BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2475,30 +2473,30 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattleCommunication[MULTISTRING_CHOOSER] = 2; return; } - if (gBattleMons[gEffectBank].type1 == TYPE_FIRE) {break;} - if (gBattleMons[gEffectBank].type2 == TYPE_FIRE) {break;} - if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL) {break;} - if (gBattleMons[gEffectBank].status1 == 0) {break;} + if (gBattleMons[gEffectBattler].type1 == TYPE_FIRE) {break;} + if (gBattleMons[gEffectBattler].type2 == TYPE_FIRE) {break;} + if (gBattleMons[gEffectBattler].ability == ABILITY_WATER_VEIL) {break;} + if (gBattleMons[gEffectBattler].status1 == 0) {break;} StatusChanged = 1; break; case STATUS_FREEZE: if (WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY) {NoSunCanFreeze = 0;} - if (gBattleMons[gEffectBank].type1 == TYPE_ICE) {break;} - if (gBattleMons[gEffectBank].type2 == TYPE_ICE) {break;} - if (gBattleMons[gEffectBank].status1) {break;} + if (gBattleMons[gEffectBattler].type1 == TYPE_ICE) {break;} + if (gBattleMons[gEffectBattler].type2 == TYPE_ICE) {break;} + if (gBattleMons[gEffectBattler].status1) {break;} if (NoSunCanFreeze == 0) {break;} - if (gBattleMons[gEffectBank].ability == ABILITY_MAGMA_ARMOR) {break;} + if (gBattleMons[gEffectBattler].ability == ABILITY_MAGMA_ARMOR) {break;} - CancelMultiTurnMoves(gEffectBank); + CancelMultiTurnMoves(gEffectBattler); StatusChanged = 1; break; case STATUS_PARALYSIS: - if (gBattleMons[gEffectBank].ability == ABILITY_LIMBER) + if (gBattleMons[gEffectBattler].ability == ABILITY_LIMBER) { if ((primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_LIMBER; - RecordAbilityBattle(gEffectBank, ABILITY_LIMBER); + RecordAbilityBattle(gEffectBattler, ABILITY_LIMBER); BattleScriptPush(gBattlescriptCurrInstr + 1); //_0801E664: gBattlescriptCurrInstr = BattleScript_PRLZPrevention; @@ -2513,14 +2511,14 @@ void SetMoveEffect(bool8 primary, u8 certainArg) } else {break;} } - if (gBattleMons[gEffectBank].status1) {break;} + if (gBattleMons[gEffectBattler].status1) {break;} StatusChanged = 1; break; case STATUS_TOXIC_POISON: - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_IMMUNITY; - RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY); + RecordAbilityBattle(gEffectBattler, ABILITY_IMMUNITY); BattleScriptPush(gBattlescriptCurrInstr + 1); //_0801E664: gBattlescriptCurrInstr = BattleScript_PSNPrevention; @@ -2533,7 +2531,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) else {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;} } - if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL) + if ((gBattleMons[gEffectBattler].type1 == TYPE_POISON || gBattleMons[gEffectBattler].type2 == TYPE_POISON || gBattleMons[gEffectBattler].type1 == TYPE_STEEL || gBattleMons[gEffectBattler].type2 == TYPE_STEEL) && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80)) { BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2541,14 +2539,14 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattleCommunication[MULTISTRING_CHOOSER] = 2; return; } - if (gBattleMons[gEffectBank].status1) {break;} - if (gBattleMons[gEffectBank].type1 != TYPE_POISON && - gBattleMons[gEffectBank].type2 != TYPE_POISON && - gBattleMons[gEffectBank].type1 != TYPE_STEEL && - gBattleMons[gEffectBank].type2 != TYPE_STEEL) + if (gBattleMons[gEffectBattler].status1) {break;} + if (gBattleMons[gEffectBattler].type1 != TYPE_POISON && + gBattleMons[gEffectBattler].type2 != TYPE_POISON && + gBattleMons[gEffectBattler].type1 != TYPE_STEEL && + gBattleMons[gEffectBattler].type2 != TYPE_STEEL) { - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) {break;} - gBattleMons[gEffectBank].status1 &= ~(0x9); //This gets (correctly) optimized out... + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY) {break;} + gBattleMons[gEffectBattler].status1 &= ~(0x9); //This gets (correctly) optimized out... StatusChanged = 1; break; } @@ -2560,13 +2558,13 @@ void SetMoveEffect(bool8 primary, u8 certainArg) { BattleScriptPush(gBattlescriptCurrInstr + 1); if (sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]] == STATUS_SLEEP) - gBattleMons[gEffectBank].status1 |= ((Random() & 3) + 2); + gBattleMons[gEffectBattler].status1 |= ((Random() & 3) + 2); else - gBattleMons[gEffectBank].status1 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattleMons[gEffectBattler].status1 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; - gActiveBattler = gEffectBank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gEffectBattler; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -2586,7 +2584,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) } else { - if (gBattleMons[gEffectBank].status2 & sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]) + if (gBattleMons[gEffectBattler].status2 & sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]) { gBattlescriptCurrInstr++; return; @@ -2594,21 +2592,21 @@ void SetMoveEffect(bool8 primary, u8 certainArg) switch (sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]) { case 7: //confusion - if (gBattleMons[gEffectBank].ability == ABILITY_OWN_TEMPO) + if (gBattleMons[gEffectBattler].ability == ABILITY_OWN_TEMPO) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gEffectBank].status2 & STATUS2_CONFUSION) + if (gBattleMons[gEffectBattler].status2 & STATUS2_CONFUSION) {gBattlescriptCurrInstr++; return;} - gBattleMons[gEffectBank].status2 |= (((Random()) % 0x4)) + 2; + gBattleMons[gEffectBattler].status2 |= (((Random()) % 0x4)) + 2; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 8: //flinch - if (gBattleMons[gEffectBank].ability == ABILITY_INNER_FOCUS) + if (gBattleMons[gEffectBattler].ability == ABILITY_INNER_FOCUS) { if (primary == 1 || certain == 0x80) { gLastUsedAbility = ABILITY_INNER_FOCUS; - RecordAbilityBattle(gEffectBank, ABILITY_INNER_FOCUS); + RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); gBattlescriptCurrInstr = BattleScript_FlinchPrevention; return; } @@ -2617,25 +2615,25 @@ void SetMoveEffect(bool8 primary, u8 certainArg) } else { - if (BankGetTurnOrder(gEffectBank) > gCurrentTurnActionNumber) - gBattleMons[gEffectBank].status2 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; + if (BankGetTurnOrder(gEffectBattler) > gCurrentTurnActionNumber) + gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; gBattlescriptCurrInstr++; return; } break; case 10: //uproar - if (gBattleMons[gEffectBank].status2 & STATUS2_UPROAR) + if (gBattleMons[gEffectBattler].status2 & STATUS2_UPROAR) {gBattlescriptCurrInstr++; return;} - gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gEffectBank] = gCurrentMove; - gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 2) << 4; + gBattleMons[gEffectBattler].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gEffectBattler] = gCurrentMove; + gBattleMons[gEffectBattler].status2 |= ((Random() & 3) + 2) << 4; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 11: //pay day - if (!(GetBattlerPosition(gBankAttacker) & 1)) + if (!(GetBattlerPosition(gBattlerAttacker) & 1)) { u16 PayDay = gPaydayMoney; - gPaydayMoney += (gBattleMons[gBankAttacker].level * 5); + gPaydayMoney += (gBattleMons[gBattlerAttacker].level * 5); if (PayDay > gPaydayMoney) gPaydayMoney = 0xFFFF; } @@ -2643,24 +2641,24 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 9: //tri attack - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) {gBattlescriptCurrInstr++; return;} gBattleCommunication[MOVE_EFFECT_BYTE] = Random() % 3 + 3; SetMoveEffect(0, 0); break; case 12: //charging move - gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gEffectBank] = gCurrentMove; - gProtectStructs[gEffectBank].chargingTurn = 1; + gBattleMons[gEffectBattler].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gEffectBattler] = gCurrentMove; + gProtectStructs[gEffectBattler].chargingTurn = 1; gBattlescriptCurrInstr++; break; case 13: //wrap - if (gBattleMons[gEffectBank].status2 & STATUS2_WRAPPED) + if (gBattleMons[gEffectBattler].status2 & STATUS2_WRAPPED) {gBattlescriptCurrInstr++; return;} - gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 2) << 0xD; - gBattleStruct->wrappedMove[gEffectBank*2] = (u8)gCurrentMove; - (1 + gBattleStruct->wrappedMove)[gEffectBank*2] = gCurrentMove >> 8; //don't ask. - gBattleStruct->wrappedBy[gEffectBank] = gBankAttacker; + gBattleMons[gEffectBattler].status2 |= ((Random() & 3) + 2) << 0xD; + gBattleStruct->wrappedMove[gEffectBattler*2] = (u8)gCurrentMove; + (1 + gBattleStruct->wrappedMove)[gEffectBattler*2] = gCurrentMove >> 8; //don't ask. + gBattleStruct->wrappedBy[gEffectBattler] = gBattlerAttacker; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -2716,62 +2714,62 @@ void SetMoveEffect(bool8 primary, u8 certainArg) } break; case 29: //recharge - gBattleMons[gEffectBank].status2 |= STATUS2_RECHARGE; - gDisableStructs[gEffectBank].rechargeCounter = 2; - gLockedMoves[gEffectBank] = gCurrentMove; + gBattleMons[gEffectBattler].status2 |= STATUS2_RECHARGE; + gDisableStructs[gEffectBattler].rechargeCounter = 2; + gLockedMoves[gEffectBattler] = gCurrentMove; gBattlescriptCurrInstr++; break; case 30: //rage - gBattleMons[gBankAttacker].status2 |= STATUS2_RAGE; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_RAGE; gBattlescriptCurrInstr++; break; case 31: //item steal { - u8 side = GetBattlerSide(gBankAttacker); - if (GetBattlerSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) + u8 side = GetBattlerSide(gBattlerAttacker); + if (GetBattlerSide(gBattlerAttacker) == 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[gBattlerPartyIndexes[gBankAttacker]])) + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gBankTarget].item && gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD) + if (gBattleMons[gBattlerTarget].item && gBattleMons[gBattlerTarget].ability == ABILITY_STICKY_HOLD) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_NoItemSteal; - gLastUsedAbility = gBattleMons[gBankTarget].ability; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); return; } - if (gBattleMons[gBankAttacker].item) + if (gBattleMons[gBattlerAttacker].item) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gBankTarget].item == 0) + if (gBattleMons[gBattlerTarget].item == 0) {gBattlescriptCurrInstr++; return;} - gLastUsedItem = gBattleMons[gBankTarget].item; + gLastUsedItem = gBattleMons[gBattlerTarget].item; USED_HELD_ITEM(bank) = gLastUsedItem; - gBattleMons[gBankTarget].item = 0; + gBattleMons[gBattlerTarget].item = 0; - gActiveBattler = gBankAttacker; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); - MarkBufferBankForExecution(gBankAttacker); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); + MarkBattlerForControllerExec(gBattlerAttacker); - gActiveBattler = gBankTarget; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].item); - MarkBufferBankForExecution(gBankTarget); + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBattlerTarget].item); + MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_ItemSteal; - CHOICED_MOVE(gBankTarget) = 0; + CHOICED_MOVE(gBattlerTarget) = 0; } break; case 32: //escape prevention - gBattleMons[gBankTarget].status2 |= STATUS2_RECHARGE; - gDisableStructs[gBankTarget].bankPreventingEscape = gBankAttacker; + gBattleMons[gBattlerTarget].status2 |= STATUS2_RECHARGE; + gDisableStructs[gBattlerTarget].bankPreventingEscape = gBattlerAttacker; gBattlescriptCurrInstr++; break; case 33: //nightmare - gBattleMons[gBankTarget].status2 |= STATUS2_NIGHTMARE; + gBattleMons[gBattlerTarget].status2 |= STATUS2_NIGHTMARE; gBattlescriptCurrInstr++; break; case 34: //ancientpower @@ -2783,12 +2781,12 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattlescriptCurrInstr = BattleScript_RapidSpinAway; return; case 36: //paralysis removal - if (gBattleMons[gBankTarget].status1 & STATUS_PARALYSIS) + if (gBattleMons[gBattlerTarget].status1 & STATUS_PARALYSIS) { - gBattleMons[gBankTarget].status1 &= ~(STATUS_PARALYSIS); - gActiveBattler = gBankTarget; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); - MarkBufferBankForExecution(gActiveBattler); + gBattleMons[gBattlerTarget].status1 &= ~(STATUS_PARALYSIS); + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerTarget].status1); + MarkBattlerForControllerExec(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; } @@ -2807,37 +2805,37 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 53: //thrash - if (!(gBattleMons[gEffectBank].status2 & STATUS2_LOCK_CONFUSE)) + if (!(gBattleMons[gEffectBattler].status2 & STATUS2_LOCK_CONFUSE)) { - gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gEffectBank] = gCurrentMove; - gBattleMons[gEffectBank].status2 |= (((Random() & 1) + 2) << 0xA); + gBattleMons[gEffectBattler].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gEffectBattler] = gCurrentMove; + gBattleMons[gEffectBattler].status2 |= (((Random() & 1) + 2) << 0xA); } else {gBattlescriptCurrInstr++; return;} break; case 54: //knock off - if (gBattleMons[gEffectBank].ability == ABILITY_STICKY_HOLD) + if (gBattleMons[gEffectBattler].ability == ABILITY_STICKY_HOLD) { - if (gBattleMons[gEffectBank].item == 0) + if (gBattleMons[gEffectBattler].item == 0) {gBattlescriptCurrInstr++; return;} gLastUsedAbility = ABILITY_STICKY_HOLD; gBattlescriptCurrInstr = BattleScript_NoItemSteal; - RecordAbilityBattle(gEffectBank, ABILITY_STICKY_HOLD); + RecordAbilityBattle(gEffectBattler, ABILITY_STICKY_HOLD); return; } - if (gBattleMons[gEffectBank].item == 0) + if (gBattleMons[gEffectBattler].item == 0) {gBattlescriptCurrInstr++; return;} else { - u8 side = GetBattlerSide(gEffectBank); - gLastUsedItem = gBattleMons[gEffectBank].item; - gBattleMons[gEffectBank].item = 0; - gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBank]]; + u8 side = GetBattlerSide(gEffectBattler); + gLastUsedItem = gBattleMons[gEffectBattler].item; + gBattleMons[gEffectBattler].item = 0; + gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBattler]]; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_KnockedOff; - CHOICED_MOVE(gEffectBank) = 0; + CHOICED_MOVE(gEffectBattler) = 0; } break; case 59: //overheat @@ -2874,8 +2872,8 @@ void SetMoveEffect(bool8 primary, u8 certainArg) adds r7, r1, 0\n\ cmp r0, 0\n\ beq _0801E444\n\ - ldr r2, _0801E434 @ =gEffectBank\n\ - ldr r0, _0801E438 @ =gBankAttacker\n\ + ldr r2, _0801E434 @ =gEffectBattler\n\ + ldr r0, _0801E438 @ =gBattlerAttacker\n\ ldrb r0, [r0]\n\ strb r0, [r2]\n\ movs r0, 0xBF\n\ @@ -2883,21 +2881,21 @@ void SetMoveEffect(bool8 primary, u8 certainArg) strb r0, [r7, 0x3]\n\ movs r6, 0x40\n\ ldr r0, _0801E43C @ =gSharedMem\n\ - ldr r1, _0801E440 @ =gBankTarget\n\ + ldr r1, _0801E440 @ =gBattlerTarget\n\ b _0801E450\n\ .align 2, 0\n\ _0801E430: .4byte gBattleCommunication\n\ -_0801E434: .4byte gEffectBank\n\ -_0801E438: .4byte gBankAttacker\n\ +_0801E434: .4byte gEffectBattler\n\ +_0801E438: .4byte gBattlerAttacker\n\ _0801E43C: .4byte gSharedMem\n\ -_0801E440: .4byte gBankTarget\n\ +_0801E440: .4byte gBattlerTarget\n\ _0801E444:\n\ - ldr r2, _0801E538 @ =gEffectBank\n\ - ldr r0, _0801E53C @ =gBankTarget\n\ + ldr r2, _0801E538 @ =gEffectBattler\n\ + ldr r0, _0801E53C @ =gBattlerTarget\n\ ldrb r0, [r0]\n\ strb r0, [r2]\n\ ldr r0, _0801E540 @ =gSharedMem\n\ - ldr r1, _0801E544 @ =gBankAttacker\n\ + ldr r1, _0801E544 @ =gBattlerAttacker\n\ _0801E450:\n\ ldrb r1, [r1]\n\ ldr r3, _0801E548 @ =0x00016003\n\ @@ -2957,7 +2955,7 @@ _0801E48A:\n\ bl _0801F5DC\n\ _0801E4C4:\n\ ldr r3, _0801E54C @ =gBattleMons\n\ - ldr r2, _0801E538 @ =gEffectBank\n\ + ldr r2, _0801E538 @ =gEffectBattler\n\ ldrb r1, [r2]\n\ movs r0, 0x58\n\ muls r0, r1\n\ @@ -3018,10 +3016,10 @@ _0801E528:\n\ _0801E536:\n\ b _0801EA14\n\ .align 2, 0\n\ -_0801E538: .4byte gEffectBank\n\ -_0801E53C: .4byte gBankTarget\n\ +_0801E538: .4byte gEffectBattler\n\ +_0801E53C: .4byte gBattlerTarget\n\ _0801E540: .4byte gSharedMem\n\ -_0801E544: .4byte gBankAttacker\n\ +_0801E544: .4byte gBattlerAttacker\n\ _0801E548: .4byte 0x00016003\n\ _0801E54C: .4byte gBattleMons\n\ _0801E550: .4byte gHitMarker\n\ @@ -3404,7 +3402,7 @@ _0801E7EA:\n\ str r1, [sp, 0x4]\n\ _0801E826:\n\ ldr r4, _0801E880 @ =gBattleMons\n\ - ldr r0, _0801E884 @ =gEffectBank\n\ + ldr r0, _0801E884 @ =gEffectBattler\n\ ldrb r3, [r0]\n\ movs r0, 0x58\n\ adds r2, r3, 0\n\ @@ -3452,7 +3450,7 @@ _0801E86E:\n\ .align 2, 0\n\ _0801E87C: .4byte gBattleWeather\n\ _0801E880: .4byte gBattleMons\n\ -_0801E884: .4byte gEffectBank\n\ +_0801E884: .4byte gEffectBattler\n\ _0801E888:\n\ mov r0, r8\n\ ldrb r1, [r0]\n\ @@ -3667,7 +3665,7 @@ _0801EA1C:\n\ bne _0801EA70\n\ bl Random\n\ ldr r2, _0801EA68 @ =gBattleMons\n\ - ldr r1, _0801EA6C @ =gEffectBank\n\ + ldr r1, _0801EA6C @ =gEffectBattler\n\ ldrb r3, [r1]\n\ movs r1, 0x58\n\ muls r3, r1\n\ @@ -3686,10 +3684,10 @@ _0801EA5C: .4byte gBattlescriptCurrInstr\n\ _0801EA60: .4byte sStatusFlagsForMoveEffects\n\ _0801EA64: .4byte gBattleCommunication\n\ _0801EA68: .4byte gBattleMons\n\ -_0801EA6C: .4byte gEffectBank\n\ +_0801EA6C: .4byte gEffectBattler\n\ _0801EA70:\n\ ldr r2, _0801EAD4 @ =gBattleMons\n\ - ldr r0, _0801EAD8 @ =gEffectBank\n\ + ldr r0, _0801EAD8 @ =gEffectBattler\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ muls r1, r0\n\ @@ -3708,7 +3706,7 @@ _0801EA84:\n\ ldr r0, [r0]\n\ str r0, [r2]\n\ ldr r4, _0801EAE8 @ =gActiveBattler\n\ - ldr r1, _0801EAD8 @ =gEffectBank\n\ + ldr r1, _0801EAD8 @ =gEffectBattler\n\ ldrb r0, [r1]\n\ strb r0, [r4]\n\ ldrb r1, [r1]\n\ @@ -3721,9 +3719,9 @@ _0801EA84:\n\ movs r1, 0x28\n\ movs r2, 0\n\ movs r3, 0x4\n\ - bl EmitSetMonData\n\ + bl BtlController_EmitSetMonData\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldr r2, _0801EAF0 @ =gHitMarker\n\ ldr r1, [r2]\n\ movs r0, 0x80\n\ @@ -3739,7 +3737,7 @@ _0801EA84:\n\ b _0801EAFA\n\ .align 2, 0\n\ _0801EAD4: .4byte gBattleMons\n\ -_0801EAD8: .4byte gEffectBank\n\ +_0801EAD8: .4byte gEffectBattler\n\ _0801EADC: .4byte gBattlescriptCurrInstr\n\ _0801EAE0: .4byte gMoveEffectBS_Ptrs\n\ _0801EAE4: .4byte gBattleCommunication\n\ @@ -4046,7 +4044,7 @@ _0801EDD0: .4byte gBattlescriptCurrInstr\n\ _0801EDD4: .4byte gMoveEffectBS_Ptrs\n\ _0801EDD8: .4byte gBattleCommunication\n\ _0801EDDC:\n\ - ldr r5, _0801EE30 @ =gBankAttacker\n\ + ldr r5, _0801EE30 @ =gBattlerAttacker\n\ ldrb r0, [r5]\n\ bl GetBattlerPosition\n\ movs r1, 0x1\n\ @@ -4086,7 +4084,7 @@ _0801EE14:\n\ ldr r0, [r0]\n\ bl _0801F5F8\n\ .align 2, 0\n\ -_0801EE30: .4byte gBankAttacker\n\ +_0801EE30: .4byte gBattlerAttacker\n\ _0801EE34: .4byte gPaydayMoney\n\ _0801EE38: .4byte gBattleMons\n\ _0801EE3C: .4byte 0x0000ffff\n\ @@ -4206,7 +4204,7 @@ _0801EEE8:\n\ ldr r3, _0801EF90 @ =0x00016020\n\ adds r0, r3\n\ adds r0, r2\n\ - ldr r1, _0801EF94 @ =gBankAttacker\n\ + ldr r1, _0801EF94 @ =gBattlerAttacker\n\ ldrb r1, [r1]\n\ strb r1, [r0]\n\ ldr r4, _0801EF98 @ =gBattlescriptCurrInstr\n\ @@ -4254,7 +4252,7 @@ _0801EF84: .4byte 0x00016004\n\ _0801EF88: .4byte gCurrentMove\n\ _0801EF8C: .4byte 0x00016005\n\ _0801EF90: .4byte 0x00016020\n\ -_0801EF94: .4byte gBankAttacker\n\ +_0801EF94: .4byte gBattlerAttacker\n\ _0801EF98: .4byte gBattlescriptCurrInstr\n\ _0801EF9C: .4byte gMoveEffectBS_Ptrs\n\ _0801EFA0: .4byte gBattleCommunication\n\ @@ -4477,7 +4475,7 @@ _0801F178: .4byte gDisableStructs\n\ _0801F17C: .4byte gLockedMoves\n\ _0801F180: .4byte gCurrentMove\n\ _0801F184:\n\ - ldr r0, _0801F1A0 @ =gBankAttacker\n\ + ldr r0, _0801F1A0 @ =gBattlerAttacker\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ adds r2, r1, 0\n\ @@ -4493,9 +4491,9 @@ _0801F19A:\n\ str r0, [r2]\n\ b _0801F5DC\n\ .align 2, 0\n\ -_0801F1A0: .4byte gBankAttacker\n\ +_0801F1A0: .4byte gBattlerAttacker\n\ _0801F1A4:\n\ - ldr r4, _0801F254 @ =gBankAttacker\n\ + ldr r4, _0801F254 @ =gBattlerAttacker\n\ ldrb r0, [r4]\n\ bl GetBattlerSide\n\ lsls r0, 24\n\ @@ -4538,7 +4536,7 @@ _0801F1D8:\n\ ldrb r1, [r0]\n\ ldr r3, _0801F268 @ =gBitTable\n\ ldr r2, _0801F26C @ =gBattlerPartyIndexes\n\ - ldr r0, _0801F254 @ =gBankAttacker\n\ + ldr r0, _0801F254 @ =gBattlerAttacker\n\ ldrb r0, [r0]\n\ lsls r0, 1\n\ adds r0, r2\n\ @@ -4552,7 +4550,7 @@ _0801F1D8:\n\ b _0801F5DC\n\ _0801F214:\n\ ldr r2, _0801F270 @ =gBattleMons\n\ - ldr r1, _0801F274 @ =gBankTarget\n\ + ldr r1, _0801F274 @ =gBattlerTarget\n\ ldrb r0, [r1]\n\ movs r3, 0x58\n\ muls r0, r3\n\ @@ -4582,7 +4580,7 @@ _0801F214:\n\ bl RecordAbilityBattle\n\ b _0801F5FA\n\ .align 2, 0\n\ -_0801F254: .4byte gBankAttacker\n\ +_0801F254: .4byte gBattlerAttacker\n\ _0801F258: .4byte gBattleTypeFlags\n\ _0801F25C: .4byte 0x00000902\n\ _0801F260: .4byte gTrainerBattleOpponent\n\ @@ -4590,12 +4588,12 @@ _0801F264: .4byte gWishFutureKnock\n\ _0801F268: .4byte gBitTable\n\ _0801F26C: .4byte gBattlerPartyIndexes\n\ _0801F270: .4byte gBattleMons\n\ -_0801F274: .4byte gBankTarget\n\ +_0801F274: .4byte gBattlerTarget\n\ _0801F278: .4byte gBattlescriptCurrInstr\n\ _0801F27C: .4byte BattleScript_NoItemSteal\n\ _0801F280: .4byte gLastUsedAbility\n\ _0801F284:\n\ - ldr r4, _0801F340 @ =gBankAttacker\n\ + ldr r4, _0801F340 @ =gBattlerAttacker\n\ mov r10, r4\n\ ldrb r1, [r4]\n\ movs r0, 0x58\n\ @@ -4645,10 +4643,10 @@ _0801F2B6:\n\ movs r1, 0x2\n\ movs r2, 0\n\ movs r3, 0x2\n\ - bl EmitSetMonData\n\ + bl BtlController_EmitSetMonData\n\ mov r3, r10\n\ ldrb r0, [r3]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldrb r0, [r7]\n\ strb r0, [r4]\n\ ldrb r0, [r7]\n\ @@ -4663,9 +4661,9 @@ _0801F2B6:\n\ movs r1, 0x2\n\ movs r2, 0\n\ movs r3, 0x2\n\ - bl EmitSetMonData\n\ + bl BtlController_EmitSetMonData\n\ ldrb r0, [r7]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldr r4, _0801F350 @ =gBattlescriptCurrInstr\n\ ldr r0, [r4]\n\ adds r0, 0x1\n\ @@ -4688,7 +4686,7 @@ _0801F2B6:\n\ strb r6, [r0]\n\ b _0801F5FA\n\ .align 2, 0\n\ -_0801F340: .4byte gBankAttacker\n\ +_0801F340: .4byte gBattlerAttacker\n\ _0801F344: .4byte gSharedMem + 0x160F0\n\ _0801F348: .4byte gLastUsedItem\n\ _0801F34C: .4byte gActiveBattler\n\ @@ -4698,7 +4696,7 @@ _0801F358: .4byte 0xfffe9f10\n\ _0801F35C: .4byte 0x000160e8\n\ _0801F360: .4byte 0x000160e9\n\ _0801F364:\n\ - ldr r3, _0801F394 @ =gBankTarget\n\ + ldr r3, _0801F394 @ =gBattlerTarget\n\ ldrb r1, [r3]\n\ movs r0, 0x58\n\ adds r2, r1, 0\n\ @@ -4717,16 +4715,16 @@ _0801F364:\n\ subs r0, r1\n\ lsls r0, 2\n\ adds r0, r2\n\ - ldr r1, _0801F39C @ =gBankAttacker\n\ + ldr r1, _0801F39C @ =gBattlerAttacker\n\ ldrb r1, [r1]\n\ strb r1, [r0, 0x14]\n\ b _0801F5DC\n\ .align 2, 0\n\ -_0801F394: .4byte gBankTarget\n\ +_0801F394: .4byte gBattlerTarget\n\ _0801F398: .4byte gDisableStructs\n\ -_0801F39C: .4byte gBankAttacker\n\ +_0801F39C: .4byte gBattlerAttacker\n\ _0801F3A0:\n\ - ldr r0, _0801F3B8 @ =gBankTarget\n\ + ldr r0, _0801F3B8 @ =gBattlerTarget\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ adds r2, r1, 0\n\ @@ -4739,7 +4737,7 @@ _0801F3A0:\n\ lsls r1, 20\n\ b _0801F19A\n\ .align 2, 0\n\ -_0801F3B8: .4byte gBankTarget\n\ +_0801F3B8: .4byte gBattlerTarget\n\ _0801F3BC:\n\ ldr r4, _0801F3CC @ =gBattlescriptCurrInstr\n\ ldr r0, [r4]\n\ @@ -4761,7 +4759,7 @@ _0801F3D4:\n\ _0801F3E4: .4byte gBattlescriptCurrInstr\n\ _0801F3E8: .4byte BattleScript_RapidSpinAway\n\ _0801F3EC:\n\ - ldr r6, _0801F43C @ =gBankTarget\n\ + ldr r6, _0801F43C @ =gBattlerTarget\n\ ldrb r0, [r6]\n\ movs r2, 0x58\n\ muls r0, r2\n\ @@ -4790,9 +4788,9 @@ _0801F406:\n\ movs r1, 0x28\n\ movs r2, 0\n\ movs r3, 0x4\n\ - bl EmitSetMonData\n\ + bl BtlController_EmitSetMonData\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldr r4, _0801F444 @ =gBattlescriptCurrInstr\n\ ldr r0, [r4]\n\ adds r0, 0x1\n\ @@ -4800,7 +4798,7 @@ _0801F406:\n\ ldr r0, _0801F448 @ =BattleScript_TargetPRLZHeal\n\ b _0801F5F8\n\ .align 2, 0\n\ -_0801F43C: .4byte gBankTarget\n\ +_0801F43C: .4byte gBattlerTarget\n\ _0801F440: .4byte gActiveBattler\n\ _0801F444: .4byte gBattlescriptCurrInstr\n\ _0801F448: .4byte BattleScript_TargetPRLZHeal\n\ @@ -5021,7 +5019,7 @@ static void atk15_seteffectwithchance(void) { u32 PercentChance; - if (gBattleMons[gBankAttacker].ability == ABILITY_SERENE_GRACE) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_SERENE_GRACE) PercentChance = gBattleMoves[gCurrentMove].secondaryEffectChance * 2; else PercentChance = gBattleMoves[gCurrentMove].secondaryEffectChance; @@ -5101,14 +5099,14 @@ static void atk19_tryfaintmon(void) if (gBattlescriptCurrInstr[1] == 1) { - gActiveBattler = gBankAttacker; - bank = gBankTarget; + gActiveBattler = gBattlerAttacker; + bank = gBattlerTarget; r4 = BattleScript_FaintAttacker; } else { - gActiveBattler = gBankTarget; - bank = gBankAttacker; + gActiveBattler = gBattlerTarget; + bank = gBattlerAttacker; r4 = BattleScript_FaintTarget; } if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -5143,31 +5141,31 @@ static void atk19_tryfaintmon(void) gBattleResults.opponentFaintCounter++; gBattleResults.lastOpponentSpecies = gBattleMons[gActiveBattler].species; } - if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBankAttacker].hp != 0) + if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBattlerAttacker].hp != 0) { BattleScriptPush(gBattlescriptCurrInstr); gBattleMoveDamage = gBattleMons[bank].hp; gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife; } - if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE) + if ((gStatuses3[gBattlerTarget] & STATUS3_GRUDGE) && !(gHitMarker & HITMARKER_GRUDGE) - && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget) - && gBattleMons[gBankAttacker].hp != 0 + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget) + && gBattleMons[gBattlerAttacker].hp != 0 && gCurrentMove != MOVE_STRUGGLE) { - u8 moveIndex = ewram1608Carr(gBankAttacker); + u8 moveIndex = ewram1608Carr(gBattlerAttacker); - gBattleMons[gBankAttacker].pp[moveIndex] = 0; + gBattleMons[gBattlerAttacker].pp[moveIndex] = 0; BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_SelectingImprisionedMoveInPalace; - gActiveBattler = gBankAttacker; - EmitSetMonData(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + MarkBattlerForControllerExec(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gBattleMons[gBankAttacker].moves[moveIndex]; - gBattleTextBuff1[3] = gBattleMons[gBankAttacker].moves[moveIndex] >> 8; + gBattleTextBuff1[2] = gBattleMons[gBattlerAttacker].moves[moveIndex]; + gBattleTextBuff1[3] = gBattleMons[gBattlerAttacker].moves[moveIndex] >> 8; gBattleTextBuff1[4] = EOS; } } @@ -5180,11 +5178,11 @@ static void atk19_tryfaintmon(void) static void atk1A_dofaintanimation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - Emitcmd10(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitFaintAnimation(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } } @@ -5192,12 +5190,12 @@ static void atk1A_dofaintanimation(void) static void atk1B_cleareffectsonfaint(void) { //Clears things like attraction or trapping to other banks - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); gBattleMons[gActiveBattler].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); UndoEffectsAfterFainting(); gBattlescriptCurrInstr += 2; } @@ -5232,7 +5230,7 @@ static void atk1E_jumpifability(void) void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3); if (T2_READ_8(gBattlescriptCurrInstr + 1) == 8) { - bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBankAttacker, ability, 0, 0); + bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBattlerAttacker, ability, 0, 0); if (bank) { gLastUsedAbility = ability; @@ -5245,7 +5243,7 @@ static void atk1E_jumpifability(void) } else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 9) { - bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBankAttacker, ability, 0, 0); + bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattlerAttacker, ability, 0, 0); if (bank) { gLastUsedAbility = ability; @@ -5277,9 +5275,9 @@ static void atk1F_jumpifsideaffecting(void) u16 flags; void* jump_loc; if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1) - side = GetBattlerPosition(gBankAttacker) & 1; + side = GetBattlerPosition(gBattlerAttacker) & 1; else - side = GetBattlerPosition(gBankTarget) & 1; + side = GetBattlerPosition(gBattlerTarget) & 1; flags = T2_READ_16(gBattlescriptCurrInstr + 2); jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4); @@ -5443,7 +5441,7 @@ static void atk23_getexp(void) } // fall through case 2: // set exp value to the poke in expgetter_id and print message - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { item = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HELD_ITEM); @@ -5530,7 +5528,7 @@ static void atk23_getexp(void) } break; case 3: // Set stats and give exp - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gBattleBufferB[gBattleStruct->expGetterBank][0] = 0; if (GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL) != 100) @@ -5544,14 +5542,14 @@ static void atk23_getexp(void) gActiveBattler = gBattleStruct->expGetterBank; - EmitExpBarUpdate(0, gBattleStruct->expGetterID, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitExpUpdate(0, gBattleStruct->expGetterID, gBattleMoveDamage); + MarkBattlerForControllerExec(gActiveBattler); } gBattleStruct->getexpStateTracker++; } break; case 4: // lvl up if necessary - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gActiveBattler = gBattleStruct->expGetterBank; if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES @@ -5618,7 +5616,7 @@ static void atk23_getexp(void) } break; case 6: // increment instruction - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { // not sure why gf clears the item and ability here gBattleMons[gBank1].item = 0; @@ -5634,7 +5632,7 @@ static void atk24(void) { u16 HP_count = 0; int i; - if (gBattleExecBuffer) {return;} + if (gBattleControllerExecFlags) {return;} for (i = 0; i < 6; i++) { @@ -5701,7 +5699,7 @@ static void atk24(void) mov r7, r8\n\ push {r7}\n\ movs r6, 0\n\ - ldr r0, _08020AF0 @ =gBattleExecBuffer\n\ + ldr r0, _08020AF0 @ =gBattleControllerExecFlags\n\ ldr r0, [r0]\n\ cmp r0, 0\n\ beq _080209C6\n\ @@ -5862,7 +5860,7 @@ _08020ADA:\n\ bgt _08020B1C\n\ b _08020B36\n\ .align 2, 0\n\ -_08020AF0: .4byte gBattleExecBuffer\n\ +_08020AF0: .4byte gBattleControllerExecFlags\n\ _08020AF4: .4byte gPlayerParty\n\ _08020AF8: .4byte gBattleOutcome\n\ _08020AFC: .4byte gEnemyParty\n\ @@ -6209,7 +6207,7 @@ static void atk38_bicword(void) static void atk39_pause(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u16 value = T2_READ_16(gBattlescriptCurrInstr + 1); if (++gPauseCounterBattle >= value) @@ -6222,19 +6220,19 @@ static void atk39_pause(void) static void atk3A_waitstate(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattlescriptCurrInstr++; } static void atk3B_healthbar_update(void) { if (!T2_READ_8(gBattlescriptCurrInstr + 1)) - gActiveBattler = gBankTarget; + gActiveBattler = gBattlerTarget; else - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; - EmitHealthBarUpdate(0, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitHealthBarUpdate(0, gBattleMoveDamage); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -6291,7 +6289,7 @@ static void atk43_jumpifabilitypresent(void) static void atk44_endselectionscript(void) { - ewram16060(gBankAttacker) = 1; + ewram16060(gBattlerAttacker) = 1; } static void atk45_playanimation(void) @@ -6305,8 +6303,8 @@ static void atk45_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { - EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -6319,8 +6317,8 @@ static void atk45_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { - EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) @@ -6329,8 +6327,8 @@ static void atk45_playanimation(void) } else { - EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } } @@ -6348,8 +6346,8 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_SNATCH_MOVE || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { - EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -6361,8 +6359,8 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { - EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) @@ -6371,8 +6369,8 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po } else { - EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } } @@ -6474,8 +6472,8 @@ static void atk48_playstatchangeanimation(void) gBattlescriptCurrInstr += 4; else { - EmitBattleAnimation(0, 1, stat_animID); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, 1, stat_animID); + MarkBattlerForControllerExec(gActiveBattler); if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1) gBattleStruct->filler2[0] = 1; gBattlescriptCurrInstr += 4; @@ -6708,10 +6706,10 @@ _08021790:\n\ movs r1, 0x1\n\ mov r2, r8\n\ str r3, [sp]\n\ - bl EmitBattleAnimation\n\ + bl BtlController_EmitBattleAnimation\n\ ldr r0, _080217D8 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldr r0, _080217DC @ =gBattlescriptCurrInstr\n\ ldr r0, [r0]\n\ ldrb r1, [r0, 0x3]\n\ @@ -6790,12 +6788,12 @@ void atk49_moveend(void) arg1 = T2_READ_8(gBattlescriptCurrInstr + 1); arg2 = T2_READ_8(gBattlescriptCurrInstr + 2); - if (gBattleMons[gBankAttacker].item == ITEM_ENIGMA_BERRY) - holdEffectAtk = gEnigmaBerries[gBankAttacker].holdEffect; + if (gBattleMons[gBattlerAttacker].item == ITEM_ENIGMA_BERRY) + holdEffectAtk = gEnigmaBerries[gBattlerAttacker].holdEffect; else - holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBankAttacker].item); + holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBattlerAttacker].item); - choicedMoveAtk = &((u16*)(gSharedMem + 0x160E8))[gBankAttacker]; + choicedMoveAtk = &((u16*)(gSharedMem + 0x160E8))[gBattlerAttacker]; GET_MOVE_TYPE(gCurrentMove, moveType); do @@ -6803,13 +6801,13 @@ void atk49_moveend(void) switch (gBattleStruct->cmd49StateTracker) { case ATK49_RAGE: // rage check - if (gBattleMons[gBankTarget].status2 & STATUS2_RAGE - && gBattleMons[gBankTarget].hp != 0 && gBankAttacker != gBankTarget - && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget) - && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && (gProtectStructs[gBankTarget].physicalDmg != 0 || gProtectStructs[gBankTarget].specialDmg != 0) - && gBattleMoves[gCurrentMove].power && gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] <= 0xB) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_RAGE + && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && (gProtectStructs[gBattlerTarget].physicalDmg != 0 || gProtectStructs[gBattlerTarget].specialDmg != 0) + && gBattleMoves[gCurrentMove].power && gBattleMons[gBattlerTarget].statStages[STAT_STAGE_ATK] <= 0xB) { - gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK]++; + gBattleMons[gBattlerTarget].statStages[STAT_STAGE_ATK]++; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_RageIsBuilding; effect = TRUE; @@ -6817,15 +6815,15 @@ void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case ATK49_DEFROST: // defrosting check - if (gBattleMons[gBankTarget].status1 & STATUS_FREEZE - && gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget - && gSpecialStatuses[gBankTarget].moveturnLostHP_special + if (gBattleMons[gBattlerTarget].status1 & STATUS_FREEZE + && gBattleMons[gBattlerTarget].hp && gBattlerAttacker != gBattlerTarget + && gSpecialStatuses[gBattlerTarget].specialDmg && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && moveType == TYPE_FIRE) { - gBattleMons[gBankTarget].status1 &= ~(STATUS_FREEZE); - gActiveBattler = gBankTarget; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); - MarkBufferBankForExecution(gActiveBattler); + gBattleMons[gBattlerTarget].status1 &= ~(STATUS_FREEZE); + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerTarget].status1); + MarkBattlerForControllerExec(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; effect = TRUE; @@ -6833,12 +6831,12 @@ void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case ATK49_SYNCHRONIZE_TARGET: // target synchronize - if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBankTarget, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattlerTarget, 0, 0, 0)) effect = TRUE; gBattleStruct->cmd49StateTracker++; break; case ATK49_MOVE_END_ABILITIES: // Such as abilities activating on contact(Poison Spore, Rough Skin, etc.). - if (AbilityBattleEffects(ABILITYEFFECT_MOVE_END, gBankTarget, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_MOVE_END, gBattlerTarget, 0, 0, 0)) effect = TRUE; gBattleStruct->cmd49StateTracker++; break; @@ -6849,7 +6847,7 @@ void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case ATK49_SYNCHRONIZE_ATTACKER: //attacker synchronize - if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBankAttacker, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBattlerAttacker, 0, 0, 0)) effect = TRUE; gBattleStruct->cmd49StateTracker++; break; @@ -6867,7 +6865,7 @@ void atk49_moveend(void) { for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[i] == *choicedMoveAtk) + if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk) break; } if (i == 4) @@ -6900,35 +6898,35 @@ void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case ATK49_TARGET_VISIBLE: // make target sprite visible - if ((gStatuses3[gBankAttacker] & 0x400C0) && (gHitMarker & HITMARKER_NO_ANIMATIONS)) + if ((gStatuses3[gBattlerAttacker] & 0x400C0) && (gHitMarker & HITMARKER_NO_ANIMATIONS)) { - gActiveBattler = gBankAttacker; - EmitSpriteInvisibility(0, 1); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSpriteInvisibility(0, 1); + MarkBattlerForControllerExec(gActiveBattler); } gBattleStruct->cmd49StateTracker++; break; case ATK49_ITEM_EFFECTS_ALL: // item effects for all battlers if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT - || !(gStatuses3[gBankAttacker] & (STATUS3_SEMI_INVULNERABLE)) - || WasUnableToUseMove(gBankAttacker)) + || !(gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE)) + || WasUnableToUseMove(gBattlerAttacker)) { - gActiveBattler = gBankAttacker; - EmitSpriteInvisibility(0, FALSE); - MarkBufferBankForExecution(gActiveBattler); - gStatuses3[gBankAttacker] &= ~(STATUS3_SEMI_INVULNERABLE); - gSpecialStatuses[gBankAttacker].restoredBankSprite = 1; + gActiveBattler = gBattlerAttacker; + BtlController_EmitSpriteInvisibility(0, FALSE); + MarkBattlerForControllerExec(gActiveBattler); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_SEMI_INVULNERABLE); + gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1; } gBattleStruct->cmd49StateTracker++; break; case ATK49_KINGSROCK_SHELLBELL: // king's rock and shell bell - if (!gSpecialStatuses[gBankTarget].restoredBankSprite && gBankTarget < gBattlersCount - && !(gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)) + if (!gSpecialStatuses[gBattlerTarget].restoredBattlerSprite && gBattlerTarget < gBattlersCount + && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { - gActiveBattler = gBankTarget; - EmitSpriteInvisibility(0, FALSE); - MarkBufferBankForExecution(gActiveBattler); - gStatuses3[gBankTarget] &= ~(STATUS3_SEMI_INVULNERABLE); + gActiveBattler = gBattlerTarget; + BtlController_EmitSpriteInvisibility(0, FALSE); + MarkBattlerForControllerExec(gActiveBattler); + gStatuses3[gBattlerTarget] &= ~(STATUS3_SEMI_INVULNERABLE); } gBattleStruct->cmd49StateTracker++; break; @@ -6943,85 +6941,85 @@ void atk49_moveend(void) case ATK49_UPDATE_LAST_MOVES: if (gHitMarker & HITMARKER_PURSUIT_TRAP) { - gActiveBattler = gBankAttacker; - gBankAttacker = gBankTarget; - gBankTarget = gActiveBattler; + gActiveBattler = gBattlerAttacker; + gBattlerAttacker = gBattlerTarget; + gBattlerTarget = gActiveBattler; gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); } if (gBattleMoves[gChosenMove].effect != 0x7F || (gMoveResultFlags & 0x29)) - gUnknown_02024C2C[gBankAttacker] = gChosenMove; + gUnknown_02024C2C[gBattlerAttacker] = gChosenMove; - if (!(gAbsentBattlerFlags & gBitTable[gBankAttacker]) - && !(gSharedMem[0x160A6] & gBitTable[gBankAttacker]) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) + && !(gSharedMem[0x160A6] & gBitTable[gBattlerAttacker]) && gBattleMoves[gChosenMove].effect != EFFECT_BATON_PASS) { if (gHitMarker & HITMARKER_OBEYS) { - gLastUsedMove[gBankAttacker] = gChosenMove; - gUnknown_02024C4C[gBankAttacker] = gCurrentMove; + gLastUsedMove[gBattlerAttacker] = gChosenMove; + gUnknown_02024C4C[gBattlerAttacker] = gCurrentMove; } else { - gLastUsedMove[gBankAttacker] = 0xFFFF; - gUnknown_02024C4C[gBankAttacker] = 0xFFFF; + gLastUsedMove[gBattlerAttacker] = 0xFFFF; + gUnknown_02024C4C[gBattlerAttacker] = 0xFFFF; } - if (!(gHitMarker & HITMARKER_FAINTED(gBankTarget))) - gLastHitBy[gBankTarget] = gBankAttacker; + if (!(gHitMarker & HITMARKER_FAINTED(gBattlerTarget))) + gLastHitBy[gBattlerTarget] = gBattlerAttacker; if (gHitMarker & HITMARKER_OBEYS && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { if (gChosenMove == 0xFFFF) { - gLastLandedMoves[gBankTarget] = gChosenMove; + gLastLandedMoves[gBattlerTarget] = gChosenMove; } else { - gLastLandedMoves[gBankTarget] = gCurrentMove; - GET_MOVE_TYPE(gCurrentMove, gLastHitByType[gBankTarget]); + gLastLandedMoves[gBattlerTarget] = gCurrentMove; + GET_MOVE_TYPE(gCurrentMove, gLastHitByType[gBattlerTarget]); } } else { - gLastLandedMoves[gBankTarget] = 0xFFFF; + gLastLandedMoves[gBattlerTarget] = 0xFFFF; } } gBattleStruct->cmd49StateTracker++; break; case ATK49_MIRROR_MOVE: - if (!(gAbsentBattlerFlags & gBitTable[gBankAttacker]) && !(gSharedMem[0x160A6] & gBitTable[gBankAttacker])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gSharedMem[0x160A6] & gBitTable[gBattlerAttacker])) { if (gBattleMoves[gChosenMove].flags & 0x10 && gHitMarker & HITMARKER_OBEYS - && gBankAttacker != gBankTarget && !(gHitMarker & HITMARKER_FAINTED(gBankTarget)) + && gBattlerAttacker != gBattlerTarget && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget)) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gSharedMem[0x160AC + gBankTarget * 2 + 0] = gChosenMove; - gSharedMem[0x160AC + gBankTarget * 2 + 1] = gChosenMove >> 8; + gSharedMem[0x160AC + gBattlerTarget * 2 + 0] = gChosenMove; + gSharedMem[0x160AC + gBattlerTarget * 2 + 1] = gChosenMove >> 8; - gSharedMem[0x16100 + gBankTarget * 4 + 0 + (gBankAttacker / 2) * 2] = gChosenMove; - gSharedMem[0x16100 + gBankTarget * 4 + 1 + (gBankAttacker / 2) * 2] = gChosenMove >> 8; + gSharedMem[0x16100 + gBattlerTarget * 4 + 0 + (gBattlerAttacker / 2) * 2] = gChosenMove; + gSharedMem[0x16100 + gBattlerTarget * 4 + 1 + (gBattlerAttacker / 2) * 2] = gChosenMove >> 8; } - else if (gBankAttacker != gBankTarget) + else if (gBattlerAttacker != gBattlerTarget) { - gSharedMem[0x160AC + gBankTarget * 2 + 0] = 0; - gSharedMem[0x160AC + gBankTarget * 2 + 1] = 0; + gSharedMem[0x160AC + gBattlerTarget * 2 + 0] = 0; + gSharedMem[0x160AC + gBattlerTarget * 2 + 1] = 0; - gSharedMem[0x16100 + gBankTarget * 4 + 0 + (gBankAttacker / 2) * 2] = 0; - gSharedMem[0x16100 + gBankTarget * 4 + 1 + (gBankAttacker / 2) * 2] = 0; + gSharedMem[0x16100 + gBattlerTarget * 4 + 0 + (gBattlerAttacker / 2) * 2] = 0; + gSharedMem[0x16100 + gBattlerTarget * 4 + 1 + (gBattlerAttacker / 2) * 2] = 0; } } gBattleStruct->cmd49StateTracker++; break; case ATK49_NEXT_TARGET: if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !gProtectStructs[gBankAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH + && !gProtectStructs[gBattlerAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) { - u8 battlerId = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBankTarget))); + u8 battlerId = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); if (gBattleMons[battlerId].hp != 0) { - gBankTarget = battlerId; + gBattlerTarget = battlerId; gHitMarker |= HITMARKER_NO_ATTACKSTRING; gBattleStruct->cmd49StateTracker = 0; MoveValuesCleanUp(); @@ -7057,13 +7055,13 @@ static void atk4A_typecalc2(void) int i = 0; u8 move_type = gBattleMoves[gCurrentMove].type; - if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) + if (gBattleMons[gBattlerTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { - gLastUsedAbility = gBattleMons[gBankTarget].ability; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); - gLastLandedMoves[gBankTarget] = 0; + gLastLandedMoves[gBattlerTarget] = 0; gBattleCommunication[6] = move_type; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } else { @@ -7071,14 +7069,14 @@ static void atk4A_typecalc2(void) { if (gTypeEffectiveness[i] == TYPE_FORESIGHT) { - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) {break;} + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) {break;} else {i += 3; continue;} } if (gTypeEffectiveness[i] == move_type) { //check type1 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type1) { if (gTypeEffectiveness[i + 2] == 0) { @@ -7091,18 +7089,18 @@ static void atk4A_typecalc2(void) flags |= MOVE_RESULT_SUPER_EFFECTIVE; } //check type2 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type2) { - if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 + if (gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && gTypeEffectiveness[i + 2] == 0) { gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 5) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type2 && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && gTypeEffectiveness[i + 2] == 5) flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 - && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 20) + if (gTypeEffectiveness[i + 1] == gBattleMons[gBattlerTarget].type2 + && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && gTypeEffectiveness[i + 2] == 20) flags |= MOVE_RESULT_SUPER_EFFECTIVE; } } @@ -7110,44 +7108,44 @@ static void atk4A_typecalc2(void) } } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_NO_EFFECT) && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 && + if (gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_NO_EFFECT) && AttacksThisTurn(gBattlerAttacker, 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; gMoveResultFlags |= MOVE_RESULT_MISSED; - gLastLandedMoves[gBankTarget] = 0; + gLastLandedMoves[gBattlerTarget] = 0; gBattleCommunication[6] = 3; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) - gProtectStructs[gBankAttacker].notEffective = 1; + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; gBattlescriptCurrInstr++; } static void atk4B_returnatktoball(void) { - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { - EmitReturnPokeToBall(0, 0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitReturnMonToBall(0, 0); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr++; } static void atk4C_getswitchedmondata(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); gBattlerPartyIndexes[gActiveBattler] = ewram16068arr(gActiveBattler); - EmitGetAttributes(0, 0, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitGetMonData(0, 0, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -7157,7 +7155,7 @@ static void atk4D_switchindataupdate(void) s32 i; u8 *monData; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); @@ -7200,7 +7198,7 @@ static void atk4D_switchindataupdate(void) static void atk4E_switchinanim(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); @@ -7209,8 +7207,8 @@ static void atk4E_switchinanim(void) GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); - EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2)); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSwitchInAnim(0, gBattlerPartyIndexes[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2)); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; } @@ -7288,8 +7286,8 @@ static void atk4F_jumpifcantswitch(void) void sub_8022A3C(u8 unkown) { BATTLE_PARTY_ID(gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; - EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBattler]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBattler]); + MarkBattlerForControllerExec(gActiveBattler); } /* @@ -7307,8 +7305,8 @@ static void atk50_openpartyscreen(void) { if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { - EmitLinkStandbyMsg(0, 2); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitLinkStandbyMsg(0, 2); + MarkBattlerForControllerExec(gActiveBattler); } else if (sub_8018018(gActiveBattler, 6, 6) == 0 && !gSpecialStatuses[gActiveBattler].flag40) @@ -7320,8 +7318,8 @@ static void atk50_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= (~HITMARKER_FAINTED(gActiveBattler)); - EmitLinkStandbyMsg(0, 2); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitLinkStandbyMsg(0, 2); + MarkBattlerForControllerExec(gActiveBattler); } } } @@ -7431,9 +7429,9 @@ _08022AF2:\n\ str r0, [r7]\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ b _08022BA2\n\ .align 2, 0\n\ _08022B44: .4byte gBattlescriptCurrInstr\n\ @@ -7471,9 +7469,9 @@ _08022B90: .4byte gSpecialStatuses\n\ _08022B94:\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ _08022BA2:\n\ ldrb r0, [r4]\n\ adds r0, 0x1\n\ @@ -7529,9 +7527,9 @@ _08022BC4:\n\ bics r0, r1\n\ str r0, [r2]\n\ movs r0, 0\n\ - bl Emitcmd42\n\ + bl BtlController_EmitCmd42\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ b _08022C7E\n\ .align 2, 0\n\ _08022C1C: .4byte gHitMarker\n\ @@ -7571,9 +7569,9 @@ _08022C68: .4byte 0x0001606a\n\ _08022C6C:\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ movs r2, 0x1\n\ mov r9, r2\n\ _08022C7E:\n\ @@ -7614,9 +7612,9 @@ _08022C7E:\n\ bics r0, r1\n\ str r0, [r2]\n\ movs r0, 0\n\ - bl Emitcmd42\n\ + bl BtlController_EmitCmd42\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ b _08022D40\n\ .align 2, 0\n\ _08022CD8: .4byte gBitTable\n\ @@ -7661,9 +7659,9 @@ _08022D28:\n\ bne _08022D40\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ _08022D40:\n\ ldr r6, _08022D90 @ =gBitTable\n\ ldr r0, [r6, 0x4]\n\ @@ -7698,9 +7696,9 @@ _08022D40:\n\ bics r0, r1\n\ str r0, [r2]\n\ movs r0, 0\n\ - bl Emitcmd42\n\ + bl BtlController_EmitCmd42\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ b _08022DF6\n\ .align 2, 0\n\ _08022D90: .4byte gBitTable\n\ @@ -7740,9 +7738,9 @@ _08022DDC: .4byte 0x0001606b\n\ _08022DE0:\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ movs r0, 0x2\n\ mov r2, r9\n\ orrs r2, r0\n\ @@ -7785,9 +7783,9 @@ _08022DF6:\n\ bics r0, r1\n\ str r0, [r2]\n\ movs r0, 0\n\ - bl Emitcmd42\n\ + bl BtlController_EmitCmd42\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ b _08022EB8\n\ .align 2, 0\n\ _08022E50: .4byte gBitTable\n\ @@ -7832,9 +7830,9 @@ _08022EA0:\n\ bne _08022EB8\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ _08022EB8:\n\ ldr r1, _08022EE8 @ =gSpecialStatuses\n\ ldrb r0, [r1]\n\ @@ -7871,10 +7869,10 @@ _08022EF8:\n\ _08022EFC:\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldr r0, _08022F3C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ _08022F0C:\n\ ldr r1, _08022F40 @ =gSpecialStatuses\n\ ldrb r0, [r1, 0x14]\n\ @@ -7911,10 +7909,10 @@ _08022F50:\n\ strb r0, [r1]\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldr r0, _08022F6C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ _08022F62:\n\ ldr r1, _08022F70 @ =gBattlescriptCurrInstr\n\ ldr r0, [r1]\n\ @@ -7983,9 +7981,9 @@ _08022F92:\n\ bics r0, r1\n\ str r0, [r7]\n\ movs r0, 0\n\ - bl Emitcmd42\n\ + bl BtlController_EmitCmd42\n\ ldrb r0, [r6]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ b _0802303A\n\ .align 2, 0\n\ _08022FF0: .4byte gBattleTypeFlags\n\ @@ -8060,9 +8058,9 @@ _0802303A:\n\ bics r0, r1\n\ str r0, [r2]\n\ movs r0, 0\n\ - bl Emitcmd42\n\ + bl BtlController_EmitCmd42\n\ ldrb r0, [r5]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ b _080230EE\n\ .align 2, 0\n\ _08023098: .4byte gSpecialStatuses\n\ @@ -8256,9 +8254,9 @@ _080231F8:\n\ movs r0, 0\n\ adds r1, r5, 0\n\ movs r3, 0\n\ - bl EmitChoosePokemon\n\ + bl BtlController_EmitChoosePokemon\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldr r0, [r6]\n\ adds r0, 0x6\n\ str r0, [r6]\n\ @@ -8294,9 +8292,9 @@ _08023276:\n\ beq _0802328A\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ _0802328A:\n\ ldrb r0, [r4]\n\ adds r0, 0x1\n\ @@ -8344,9 +8342,9 @@ _080232C4:\n\ _080232F4:\n\ movs r0, 0\n\ movs r1, 0x2\n\ - bl EmitLinkStandbyMsg\n\ + bl BtlController_EmitLinkStandbyMsg\n\ ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ _08023302:\n\ add sp, 0x4\n\ pop {r3,r4}\n\ @@ -8365,7 +8363,7 @@ _08023318: .4byte gBitTable\n\ static void atk51_switchhandleorder(void) { int i; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); @@ -8399,8 +8397,8 @@ static void atk51_switchhandleorder(void) gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 6; - gBattleTextBuff1[2] = gBattleMons[gBankAttacker].species; - gBattleTextBuff1[3] = gBattleMons[gBankAttacker].species >> 8; + gBattleTextBuff1[2] = gBattleMons[gBattlerAttacker].species; + gBattleTextBuff1[3] = gBattleMons[gBattlerAttacker].species >> 8; gBattleTextBuff1[4] = 0xFF; gBattleTextBuff2[0] = 0xFD; @@ -8491,48 +8489,48 @@ static void atk53_trainerslidein(void) else gActiveBattler = GetBattlerAtPosition(1); - EmitTrainerSlide(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitTrainerSlide(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk54_playse(void) { - gActiveBattler = gBankAttacker; - EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitPlaySE(0, T2_READ_16(gBattlescriptCurrInstr + 1)); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; } static void atk55_fanfare(void) { - gActiveBattler = gBankAttacker; - Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitPlayFanfareOrBGM(0, T2_READ_16(gBattlescriptCurrInstr + 1)); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; } static void atk56_playfaintcry(void) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - EmitFaintingCry(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitFaintingCry(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk57(void) { gActiveBattler = GetBattlerAtPosition(0); - Emitcmd55(0, gBattleOutcome); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitCmd55(0, gBattleOutcome); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 1; } static void atk58_returntoball(void) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - EmitReturnPokeToBall(0, 1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitReturnMonToBall(0, 1); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -8687,7 +8685,7 @@ static void atk5A_yesnoboxlearnmove(void) gBattlescriptCurrInstr += 5; break; case 5: - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gBattleStruct->atk5A_StateTracker = 2; } @@ -8745,8 +8743,8 @@ static void atk5C_hitanimation(void) gBattlescriptCurrInstr += 2; else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { - EmitHitAnimation(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitHitAnimation(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } else @@ -9087,12 +9085,12 @@ static void atk5E_8025A70(void) switch (gBattleCommunication[0]) { case 0: - EmitGetAttributes(0, REQUEST_ALL_BATTLE, 0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, 0); + MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[0]++; break; case 1: - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { int i; struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4]; @@ -9109,9 +9107,9 @@ static void atk5E_8025A70(void) static void atk5F_8025B24(void) { - gActiveBattler = gBankAttacker; - gBankAttacker = gBankTarget; - gBankTarget = gActiveBattler; + gActiveBattler = gBattlerAttacker; + gBattlerAttacker = gBattlerTarget; + gBattlerTarget = gActiveBattler; //what is xor... if (gHitMarker & HITMARKER_PURSUIT_TRAP) gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); @@ -9122,7 +9120,7 @@ static void atk5F_8025B24(void) static void atk60_incrementgamestat(void) { - if (GetBattlerSide(gBankAttacker) == 0) + if (GetBattlerSide(gBattlerAttacker) == 0) { IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1)); } @@ -9134,7 +9132,7 @@ static void atk61_drawpartystatussummary(void) int i; struct Pokemon* party; struct HpAndStatus hpStatus[6]; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); @@ -9156,16 +9154,16 @@ static void atk61_drawpartystatussummary(void) hpStatus[i].status = GetMonData(&party[i], MON_DATA_STATUS); } } - EmitDrawPartyStatusSummary(0, hpStatus, 1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitDrawPartyStatusSummary(0, hpStatus, 1); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk62_08025C6C(void) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - Emitcmd49(0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitHidePartyStatusSummary(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -9180,13 +9178,13 @@ static void atk63_jumptorandomattack(void) static void atk64_statusanimation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { 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[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitStatusAnimation(0, 0, gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 2; } @@ -9194,15 +9192,15 @@ static void atk64_statusanimation(void) static void atk65_status2animation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u32 possible_to_anim; gActiveBattler = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2); if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, 1, gBattleMons[gActiveBattler].status2 & possible_to_anim); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitStatusAnimation(0, 1, gBattleMons[gActiveBattler].status2 & possible_to_anim); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 6; } @@ -9210,15 +9208,15 @@ static void atk65_status2animation(void) static void atk66_chosenstatusanimation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u32 status; gActiveBattler = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); status = T1_READ_32(gBattlescriptCurrInstr + 3); if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 7; } @@ -9279,40 +9277,40 @@ static void atk68_cancelallactions(void) static void atk69_adjustsetdamage(void) //literally a copy of atk07 except theres no rand dmg modifier... { u8 hold_effect, quality; - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) - hold_effect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) + hold_effect = gEnigmaBerries[gBattlerTarget].holdEffect, quality = gEnigmaBerries[gBattlerTarget].holdEffectParam; else { - hold_effect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + hold_effect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + quality = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; if (hold_effect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality) { - RecordItemBattle(gBankTarget, hold_effect); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemBattle(gBattlerTarget, hold_effect); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBankTarget].endured - && !gSpecialStatuses[gBankTarget].focusBanded) + if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured + && !gSpecialStatuses[gBattlerTarget].focusBanded) goto END; - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) goto END; - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - if (gProtectStructs[gBankTarget].endured) + if (gProtectStructs[gBattlerTarget].endured) { gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } - if (gSpecialStatuses[gBankTarget].focusBanded) + if (gSpecialStatuses[gBattlerTarget].focusBanded) { gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBankTarget].item; + gLastUsedItem = gBattleMons[gBattlerTarget].item; } END: @@ -9325,8 +9323,8 @@ void atk6A_removeitem(void) USED_HELD_ITEMS(gActiveBattler) = gBattleMons[gActiveBattler].item; gBattleMons[gActiveBattler].item = 0; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -9334,8 +9332,8 @@ static void atk6B_atknameinbuff1(void) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 7; - gBattleTextBuff1[2] = gBankAttacker; - gBattleTextBuff1[3] = gBattlerPartyIndexes[gBankAttacker]; + gBattleTextBuff1[2] = gBattlerAttacker; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattlerAttacker]; gBattleTextBuff1[4] = 0xFF; gBattlescriptCurrInstr++; } @@ -9774,15 +9772,15 @@ static void atk6D_resetsentmonsvalue(void) static void atk6E_setatktoplayer0(void) { - gBankAttacker = GetBattlerAtPosition(0); + gBattlerAttacker = GetBattlerAtPosition(0); gBattlescriptCurrInstr++; } static void atk6F_makevisible(void) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - EmitSpriteInvisibility(0, 0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSpriteInvisibility(0, 0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -9869,8 +9867,8 @@ static void atk74_hpthresholds2(void) static void atk75_useitemonopponent(void) { - gBankInMenu = gBankAttacker; - PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBankAttacker], 0, 1); + gBankInMenu = gBattlerAttacker; + PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBattlerAttacker], 0, 1); gBattlescriptCurrInstr += 1; } @@ -9885,19 +9883,19 @@ static void atk76_various(void) case 1: { u8 side; - gBankAttacker = gBankTarget; - side = GetBattlerSide(gBankAttacker) ^ 1; + gBattlerAttacker = gBattlerTarget; + side = GetBattlerSide(gBattlerAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) - gBankTarget = gSideTimers[side].followmeTarget; + gBattlerTarget = gSideTimers[side].followmeTarget; else - gBankTarget = gActiveBattler; + gBattlerTarget = gActiveBattler; } break; case 2: gBattleCommunication[0] = CanRunFromBattle(); break; case 3: - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); break; case 4: if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) @@ -9906,7 +9904,7 @@ static void atk76_various(void) gBattleCommunication[0] = 0; break; case 5: - gSpecialStatuses[gActiveBattler].intimidatedPoke = 0; + gSpecialStatuses[gActiveBattler].intimidatedMon = 0; gSpecialStatuses[gActiveBattler].traced = 0; break; case 6: @@ -9943,30 +9941,30 @@ static void atk76_various(void) static void atk77_setprotectlike(void) //protect and endure { bool8 not_last_turn = 1; - u16 last_move = gUnknown_02024C4C[gBankAttacker]; + u16 last_move = gUnknown_02024C4C[gBattlerAttacker]; if (last_move != MOVE_PROTECT && last_move != MOVE_DETECT && last_move != MOVE_ENDURE) - gDisableStructs[gBankAttacker].protectUses = 0; + gDisableStructs[gBattlerAttacker].protectUses = 0; if (gCurrentTurnActionNumber == (gBattlersCount - 1)) not_last_turn = 0; - if (sProtectSuccessRates[gDisableStructs[gBankAttacker].protectUses] > Random() && not_last_turn) + if (sProtectSuccessRates[gDisableStructs[gBattlerAttacker].protectUses] > Random() && not_last_turn) { if (gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT) { - gProtectStructs[gBankAttacker].protected = 1; + gProtectStructs[gBattlerAttacker].protected = 1; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } if (gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE) //what is else if { - gProtectStructs[gBankAttacker].endured = 1; + gProtectStructs[gBattlerAttacker].endured = 1; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - gDisableStructs[gBankAttacker].protectUses++; + gDisableStructs[gBattlerAttacker].protectUses++; } else { - gDisableStructs[gBankAttacker].protectUses = 0; + gDisableStructs[gBattlerAttacker].protectUses = 0; gBattleCommunication[MULTISTRING_CHOOSER] = 2; gMoveResultFlags |= MOVE_RESULT_MISSED; } @@ -9976,48 +9974,48 @@ static void atk77_setprotectlike(void) //protect and endure static void atk78_faintifabilitynotdamp(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBattleMons[gBankTarget].ability == ABILITY_DAMP) + if (gBattleMons[gBattlerTarget].ability == ABILITY_DAMP) break; } - if (gBankTarget == gBattlersCount) + if (gBattlerTarget == gBattlersCount) { - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - EmitHealthBarUpdate(0, 0x7FFF); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitHealthBarUpdate(0, 0x7FFF); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; - for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } } else { gLastUsedAbility = ABILITY_DAMP; - RecordAbilityBattle(gBankTarget, gBattleMons[gBankTarget].ability); + RecordAbilityBattle(gBattlerTarget, gBattleMons[gBattlerTarget].ability); gBattlescriptCurrInstr = BattleScript_DampStopsExplosion; } } static void atk79_setatkhptozero(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; gBattleMons[gActiveBattler].hp = 0; - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; } @@ -10028,15 +10026,15 @@ static void atk7A_jumpifnexttargetvalid(void) //used by intimidate to loop throu if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - for (gBankTarget++; ; gBankTarget++) + for (gBattlerTarget++; ; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } - if (gBankTarget >= gBattlersCount) + if (gBattlerTarget >= gBattlersCount) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = jump_loc; @@ -10050,14 +10048,14 @@ static void atk7B_tryhealhalfhealth(void) u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (T2_READ_8(gBattlescriptCurrInstr + 5) == 1) - gBankTarget = gBankAttacker; + gBattlerTarget = gBattlerAttacker; - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) + if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) gBattlescriptCurrInstr = fail_loc; else gBattlescriptCurrInstr += 6; @@ -10065,15 +10063,15 @@ static void atk7B_tryhealhalfhealth(void) static void atk7C_trymirrormove(void) { - u16 r7 = ewram160ACarr2(0, gBankAttacker) | (ewram160ACarr2(1, gBankAttacker) << 8); - u16 r6 = ewram16100arr2(0, gBankAttacker) | (ewram16100arr2(1, gBankAttacker) << 8); - u16 r5 = ewram16100arr2(2, gBankAttacker) | (ewram16100arr2(3, gBankAttacker) << 8); + u16 r7 = ewram160ACarr2(0, gBattlerAttacker) | (ewram160ACarr2(1, gBattlerAttacker) << 8); + u16 r6 = ewram16100arr2(0, gBattlerAttacker) | (ewram16100arr2(1, gBattlerAttacker) << 8); + u16 r5 = ewram16100arr2(2, gBattlerAttacker) | (ewram16100arr2(3, gBattlerAttacker) << 8); if (r7 != 0 && r7 != 0xFFFF) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = r7; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } else if (r6 != 0 && r5 != 0 && r6 != 0xFFFF && r5 != 0xFFFF) @@ -10083,26 +10081,26 @@ static void atk7C_trymirrormove(void) gCurrentMove = r6; else gCurrentMove = r5; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } else if (r6 != 0 && r6 != 0xFFFF) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = r6; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } else if (r5 != 0 && r5 != 0xFFFF) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = r5; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } else { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; gBattlescriptCurrInstr++; } } @@ -10125,15 +10123,15 @@ static void atk7D_setrain(void) static void atk7E_setreflect(void) { - if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_REFLECT) + if (gSideAffecting[GetBattlerPosition(gBattlerAttacker) & 1] & SIDE_STATUS_REFLECT) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_REFLECT; - gSideTimers[GetBattlerPosition(gBankAttacker) & 1].reflectTimer = 5; + gSideAffecting[GetBattlerPosition(gBattlerAttacker) & 1] |= SIDE_STATUS_REFLECT; + gSideTimers[GetBattlerPosition(gBattlerAttacker) & 1].reflectTimer = 5; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else @@ -10144,20 +10142,20 @@ static void atk7E_setreflect(void) static void atk7F_setseeded(void) { - if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBattlerTarget] & STATUS3_LEECHSEED) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - else if (gBattleMons[gBankTarget].type1 == TYPE_GRASS || gBattleMons[gBankTarget].type2 == TYPE_GRASS) + else if (gBattleMons[gBattlerTarget].type1 == TYPE_GRASS || gBattleMons[gBattlerTarget].type2 == TYPE_GRASS) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else { - gStatuses3[gBankTarget] |= gBankAttacker; - gStatuses3[gBankTarget] |= STATUS3_LEECHSEED; + gStatuses3[gBattlerTarget] |= gBattlerAttacker; + gStatuses3[gBattlerTarget] |= STATUS3_LEECHSEED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } @@ -10175,8 +10173,8 @@ static void atk80_manipulatedamage(void) gBattleMoveDamage /= 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gBankTarget].maxHP / 2) < gBattleMoveDamage) - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; + if ((gBattleMons[gBattlerTarget].maxHP / 2) < gBattleMoveDamage) + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2; break; case 2: gBattleMoveDamage *= 2; @@ -10189,20 +10187,20 @@ static void atk80_manipulatedamage(void) static void atk81_trysetrest(void) { u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - gActiveBattler = gBankTarget = gBankAttacker; - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1); - if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) + gActiveBattler = gBattlerTarget = gBattlerAttacker; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP * (-1); + if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) gBattlescriptCurrInstr = fail_loc; else { - if (gBattleMons[gBankTarget].status1 & ((u8)(~STATUS_SLEEP))) + if (gBattleMons[gBattlerTarget].status1 & ((u8)(~STATUS_SLEEP))) gBattleCommunication[MULTISTRING_CHOOSER] = 1; else gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattleMons[gBankTarget].status1 = 3; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + gBattleMons[gBattlerTarget].status1 = 3; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } } @@ -10211,7 +10209,7 @@ static void atk82_jumpifnotfirstturn(void) { u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - if (gDisableStructs[gBankAttacker].isFirstTurn) + if (gDisableStructs[gBattlerAttacker].isFirstTurn) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = jump_loc; @@ -10230,9 +10228,9 @@ bool8 UproarWakeUpCheck(u8 bank) 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; gBattleStruct->scriptingActive = i; - if (gBankTarget == 0xFF) - gBankTarget = i; - else if (gBankTarget == i) + if (gBattlerTarget == 0xFF) + gBattlerTarget = i; + else if (gBattlerTarget == i) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -10247,14 +10245,14 @@ bool8 UproarWakeUpCheck(u8 bank) static void atk84_jumpifcantmakeasleep(void) { u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - if (UproarWakeUpCheck(gBankTarget)) + if (UproarWakeUpCheck(gBattlerTarget)) gBattlescriptCurrInstr = jump_loc; - else if (gBattleMons[gBankTarget].ability == ABILITY_INSOMNIA || gBattleMons[gBankTarget].ability == ABILITY_VITAL_SPIRIT) + else if (gBattleMons[gBattlerTarget].ability == ABILITY_INSOMNIA || gBattleMons[gBattlerTarget].ability == ABILITY_VITAL_SPIRIT) { - gLastUsedAbility = gBattleMons[gBankTarget].ability; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; gBattleCommunication[MULTISTRING_CHOOSER] = 2; gBattlescriptCurrInstr = jump_loc; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } else { @@ -10264,19 +10262,19 @@ static void atk84_jumpifcantmakeasleep(void) static void atk85_stockpile(void) { - if (gDisableStructs[gBankAttacker].stockpileCounter == 3) + if (gDisableStructs[gBattlerAttacker].stockpileCounter == 3) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gDisableStructs[gBankAttacker].stockpileCounter++; + gDisableStructs[gBattlerAttacker].stockpileCounter++; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 1; gBattleTextBuff1[2] = 1; gBattleTextBuff1[3] = 1; - gBattleTextBuff1[4] = gDisableStructs[gBankAttacker].stockpileCounter; + gBattleTextBuff1[4] = gDisableStructs[gBattlerAttacker].stockpileCounter; gBattleTextBuff1[5] = 0xFF; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } @@ -10286,7 +10284,7 @@ static void atk85_stockpile(void) static void atk86_stockpiletobasedamage(void) { u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - if (gDisableStructs[gBankAttacker].stockpileCounter == 0) + if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jump_loc; } @@ -10294,16 +10292,16 @@ static void atk86_stockpiletobasedamage(void) { if (gBattleCommunication[6] != 1) { - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0, - 0, gBankAttacker, gBankTarget) - * gDisableStructs[gBankAttacker].stockpileCounter; - gBattleStruct->animTurn = gDisableStructs[gBankAttacker].stockpileCounter; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove, + gSideAffecting[GetBattlerPosition(gBattlerTarget) & 1], 0, + 0, gBattlerAttacker, gBattlerTarget) + * gDisableStructs[gBattlerAttacker].stockpileCounter; + gBattleStruct->animTurn = gDisableStructs[gBattlerAttacker].stockpileCounter; - if (gProtectStructs[gBankAttacker].helpingHand) + if (gProtectStructs[gBattlerAttacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; } - gDisableStructs[gBankAttacker].stockpileCounter = 0; + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; gBattlescriptCurrInstr += 5; } } @@ -10311,28 +10309,28 @@ static void atk86_stockpiletobasedamage(void) static void atk87_stockpiletohpheal(void) { u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - if (gDisableStructs[gBankAttacker].stockpileCounter == 0) + if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jump_loc; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } - else if (gBattleMons[gBankAttacker].maxHP == gBattleMons[gBankAttacker].hp) + else if (gBattleMons[gBattlerAttacker].maxHP == gBattleMons[gBattlerAttacker].hp) { - gDisableStructs[gBankAttacker].stockpileCounter = 0; + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; gBattlescriptCurrInstr = jump_loc; - gBankTarget = gBankAttacker; + gBattlerTarget = gBattlerAttacker; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / (1 << (3 - gDisableStructs[gBankAttacker].stockpileCounter)); + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / (1 << (3 - gDisableStructs[gBattlerAttacker].stockpileCounter)); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - gBattleStruct->animTurn = gDisableStructs[gBankAttacker].stockpileCounter; - gDisableStructs[gBankAttacker].stockpileCounter = 0; + gBattleStruct->animTurn = gDisableStructs[gBattlerAttacker].stockpileCounter; + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; gBattlescriptCurrInstr += 5; - gBankTarget = gBankAttacker; + gBattlerTarget = gBattlerAttacker; } } @@ -10351,9 +10349,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) u32 index; if (flags & MOVE_EFFECT_AFFECTS_USER) - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; else - gActiveBattler = gBankTarget; + gActiveBattler = gBattlerTarget; flags &= ~(MOVE_EFFECT_AFFECTS_USER); @@ -10469,7 +10467,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if (gBattleMons[gActiveBattler].statStages[statId] == 0) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBattler); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); } } @@ -10496,7 +10494,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if (gBattleMons[gActiveBattler].statStages[statId] == 0xC) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBattler); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); } gBattleMons[gActiveBattler].statStages[statId] += statValue; @@ -10536,16 +10534,16 @@ static void atk8A_normalisebuffs(void) //haze static void atk8B_setbide(void) { - gBattleMons[gBankAttacker].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gBankAttacker] = gCurrentMove; - gTakenDmg[gBankAttacker] = 0; - gBattleMons[gBankAttacker].status2 |= (STATUS2_BIDE - 0x100); //2 turns + gBattleMons[gBattlerAttacker].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gBattlerAttacker] = gCurrentMove; + gTakenDmg[gBattlerAttacker] = 0; + gBattleMons[gBattlerAttacker].status2 |= (STATUS2_BIDE - 0x100); //2 turns gBattlescriptCurrInstr++; } static void atk8C_confuseifrepeatingattackends(void) { - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_LOCK_CONFUSE)) + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_LOCK_CONFUSE)) gBattleCommunication[MOVE_EFFECT_BYTE] = 0x75; gBattlescriptCurrInstr++; } @@ -10578,19 +10576,19 @@ static void atk8E_initmultihitstring(void) static bool8 sub_80264C0(void) { - if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) + if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) { - ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget]; + ewram16064arr(gBattlerTarget) = gBattlerPartyIndexes[gBattlerTarget]; } else { u16 random = Random() & 0xFF; - if ((u32)((random * (gBattleMons[gBankAttacker].level + gBattleMons[gBankTarget].level) >> 8) + 1) <= (gBattleMons[gBankTarget].level / 4)) + if ((u32)((random * (gBattleMons[gBattlerAttacker].level + gBattleMons[gBattlerTarget].level) >> 8) + 1) <= (gBattleMons[gBattlerTarget].level / 4)) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); return 0; } - ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget]; + ewram16064arr(gBattlerTarget) = gBattlerPartyIndexes[gBattlerTarget]; } gBattlescriptCurrInstr = BattleScript_SuccessForceOut; return 1; @@ -10604,7 +10602,7 @@ static void atk8F_forcerandomswitch(void) struct Pokemon* party; u8 valid; u8 val; - if (!GetBattlerSide(gBankTarget)) + if (!GetBattlerSide(gBattlerTarget)) party = gPlayerParty; else party = gEnemyParty; @@ -10613,7 +10611,7 @@ static void atk8F_forcerandomswitch(void) { valid = 0; val = 0; - if (sub_803FBFC(sub_803FC34(gBankTarget)) == 1) + if (sub_803FBFC(sub_803FC34(gBattlerTarget)) == 1) val = 3; for (i = val; i < val + 3; i++) { @@ -10648,11 +10646,11 @@ static void atk8F_forcerandomswitch(void) do { val = Random() % 3; - if (sub_803FBFC(sub_803FC34(gBankTarget)) == 1) + if (sub_803FBFC(sub_803FC34(gBattlerTarget)) == 1) i = val + 3; else i = val; - } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBattlerTarget] || i == gBattlerPartyIndexes[gBattlerTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); } else { @@ -10661,21 +10659,21 @@ static void atk8F_forcerandomswitch(void) do { i = Random() % 6; - } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBattlerTarget] || i == gBattlerPartyIndexes[gBattlerTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); } else { do { i = Random() % 6; - } while (i == gBattlerPartyIndexes[gBankTarget] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBattlerTarget] || !MON_CAN_BATTLE(&party[i])); } } - ewram16068arr(gBankTarget) = i; + ewram16068arr(gBattlerTarget) = i; if (!IsLinkDoubleBattle()) - sub_8012258(gBankTarget); - sub_8094B6C(gBankTarget, i, 0); - sub_8094B6C(gBankTarget ^ 2, i, 1); + sub_8012258(gBattlerTarget); + sub_8094B6C(gBattlerTarget, i, 0); + sub_8094B6C(gBattlerTarget ^ 2, i, 1); #undef MON_CAN_BATTLE } } @@ -10693,22 +10691,22 @@ static void atk90_tryconversiontypechange(void) u8 move_type; while (valid_moves < 4) { - if (gBattleMons[gBankAttacker].moves[valid_moves] == 0) + if (gBattleMons[gBattlerAttacker].moves[valid_moves] == 0) break; valid_moves++; } for (checked_move = 0; checked_move < valid_moves; checked_move++) { - move_type = gBattleMoves[gBattleMons[gBankAttacker].moves[checked_move]].type; + move_type = gBattleMoves[gBattleMons[gBattlerAttacker].moves[checked_move]].type; if (move_type == TYPE_MYSTERY) { - if (gBattleMons[gBankAttacker].type1 == TYPE_GHOST || gBattleMons[gBankAttacker].type2 == TYPE_GHOST) + if (gBattleMons[gBattlerAttacker].type1 == TYPE_GHOST || gBattleMons[gBattlerAttacker].type2 == TYPE_GHOST) move_type = TYPE_GHOST; else move_type = TYPE_NORMAL; } - if (move_type != gBattleMons[gBankAttacker].type1 && move_type != gBattleMons[gBankAttacker].type2) + if (move_type != gBattleMons[gBattlerAttacker].type1 && move_type != gBattleMons[gBattlerAttacker].type2) break; } @@ -10723,18 +10721,18 @@ static void atk90_tryconversiontypechange(void) while ((checked_move = Random() & 3) >= valid_moves); - move_type = gBattleMoves[gBattleMons[gBankAttacker].moves[checked_move]].type; + move_type = gBattleMoves[gBattleMons[gBattlerAttacker].moves[checked_move]].type; if (move_type == TYPE_MYSTERY) { - if (gBattleMons[gBankAttacker].type1 == TYPE_GHOST || gBattleMons[gBankAttacker].type2 == TYPE_GHOST) + if (gBattleMons[gBattlerAttacker].type1 == TYPE_GHOST || gBattleMons[gBattlerAttacker].type2 == TYPE_GHOST) move_type = TYPE_GHOST; else move_type = TYPE_NORMAL; } - } while (move_type == gBattleMons[gBankAttacker].type1 || move_type == gBattleMons[gBankAttacker].type2); + } while (move_type == gBattleMons[gBattlerAttacker].type1 || move_type == gBattleMons[gBattlerAttacker].type2); - gBattleMons[gBankAttacker].type1 = move_type; - gBattleMons[gBankAttacker].type2 = move_type; + gBattleMons[gBattlerAttacker].type1 = move_type; + gBattleMons[gBattlerAttacker].type2 = move_type; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 3; @@ -10766,15 +10764,15 @@ static void atk91_givepaydaymoney(void) static void atk92_setlightscreen(void) { - if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN) + if (gSideAffecting[GetBattlerPosition(gBattlerAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN; - gSideTimers[GetBattlerPosition(gBankAttacker) & 1].lightscreenTimer = 5; + gSideAffecting[GetBattlerPosition(gBattlerAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN; + gSideTimers[GetBattlerPosition(gBattlerAttacker) & 1].lightscreenTimer = 5; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 4; else @@ -10786,42 +10784,42 @@ static void atk92_setlightscreen(void) #ifdef NOTMATCHING static void atk93_tryKO(void) { - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) - hold_effect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) + hold_effect = gEnigmaBerries[gBattlerTarget].holdEffect, quality = gEnigmaBerries[gBattlerTarget].holdEffectParam; else { - hold_effect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + hold_effect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + quality = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; if (hold_effect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality) { - RecordItemBattle(gBankTarget, hold_effect); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemBattle(gBattlerTarget, hold_effect); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].ability == ABILITY_STURDY) + if (gBattleMons[gBattlerTarget].ability == ABILITY_STURDY) { gMoveResultFlags |= MOVE_RESULT_MISSED; gLastUsedAbility = ABILITY_STURDY; gBattlescriptCurrInstr = x; - RecordAbilityBattle(gBankTarget, ABILITY_STURDY); + RecordAbilityBattle(gBattlerTarget, ABILITY_STURDY); return; } - if (!(gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS)) + if (!(gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS)) { - u16 to_cmp = gBattleMons[gBankAttacker].level - gBattleMons[gBankTarget].level + gBattleMoves[gCurrentMove].accuracy; - if (Random() % 0x64 + 1 < to_cmp || gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) + u16 to_cmp = gBattleMons[gBattlerAttacker].level - gBattleMons[gBattlerTarget].level + gBattleMoves[gCurrentMove].accuracy; + if (Random() % 0x64 + 1 < to_cmp || gBattleMons[gBattlerAttacker].level < gBattleMons[gBattlerTarget].level) { goto MOVE_RESULT_MISSED_LABEL; } } else { - if (gDisableStructs[gBankTarget].bankWithSureHit != gBankAttacker || gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) + if (gDisableStructs[gBattlerTarget].bankWithSureHit != gBattlerAttacker || gBattleMons[gBattlerAttacker].level < gBattleMons[gBattlerTarget].level) { } @@ -10829,7 +10827,7 @@ static void atk93_tryKO(void) MOVE_RESULT_MISSED_LABEL: gBattleTypeFlags |= MOVE_RESULT_MISSED; - if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) + if (gBattleMons[gBattlerAttacker].level < gBattleMons[gBattlerTarget].level) gBattleCommunication[MULTISTRING_CHOOSER] = 1; else gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -10847,7 +10845,7 @@ static void atk93_tryKO(void) mov r5, r8\n\ push {r5-r7}\n\ ldr r7, _08026BA8 @ =gBattleMons\n\ - ldr r6, _08026BAC @ =gBankTarget\n\ + ldr r6, _08026BAC @ =gBattlerTarget\n\ ldrb r2, [r6]\n\ movs r5, 0x58\n\ adds r0, r2, 0\n\ @@ -10866,7 +10864,7 @@ static void atk93_tryKO(void) b _08026BCE\n\ .align 2, 0\n\ _08026BA8: .4byte gBattleMons\n\ -_08026BAC: .4byte gBankTarget\n\ +_08026BAC: .4byte gBattlerTarget\n\ _08026BB0: .4byte gEnigmaBerries\n\ _08026BB4:\n\ ldrh r0, [r1, 0x2E]\n\ @@ -10881,8 +10879,8 @@ _08026BB4:\n\ lsls r0, 24\n\ lsrs r6, r0, 24\n\ _08026BCE:\n\ - ldr r1, _08026C4C @ =gStringBank\n\ - ldr r5, _08026C50 @ =gBankTarget\n\ + ldr r1, _08026C4C @ =gPotentialItemEffectBattler\n\ + ldr r5, _08026C50 @ =gBattlerTarget\n\ ldrb r0, [r5]\n\ strb r0, [r1]\n\ cmp r4, 0x27\n\ @@ -10912,7 +10910,7 @@ _08026BCE:\n\ _08026C0C:\n\ ldr r0, _08026C58 @ =gBattleMons\n\ mov r8, r0\n\ - ldr r1, _08026C50 @ =gBankTarget\n\ + ldr r1, _08026C50 @ =gBattlerTarget\n\ ldrb r2, [r1]\n\ movs r6, 0x58\n\ adds r0, r2, 0\n\ @@ -10935,14 +10933,14 @@ _08026C0C:\n\ ldr r1, _08026C64 @ =gBattlescriptCurrInstr\n\ ldr r0, _08026C68 @ =BattleScript_SturdyPreventsOHKO\n\ str r0, [r1]\n\ - ldr r1, _08026C50 @ =gBankTarget\n\ + ldr r1, _08026C50 @ =gBattlerTarget\n\ ldrb r0, [r1]\n\ movs r1, 0x5\n\ bl RecordAbilityBattle\n\ b _08026E40\n\ .align 2, 0\n\ -_08026C4C: .4byte gStringBank\n\ -_08026C50: .4byte gBankTarget\n\ +_08026C4C: .4byte gPotentialItemEffectBattler\n\ +_08026C50: .4byte gBattlerTarget\n\ _08026C54: .4byte gSpecialStatuses\n\ _08026C58: .4byte gBattleMons\n\ _08026C5C: .4byte gMoveResultFlags\n\ @@ -10965,7 +10963,7 @@ _08026C6C:\n\ adds r2, r0\n\ lsls r2, 2\n\ adds r2, r1\n\ - ldr r7, _08026CEC @ =gBankAttacker\n\ + ldr r7, _08026CEC @ =gBattlerAttacker\n\ ldrb r0, [r7]\n\ muls r0, r6\n\ add r0, r10\n\ @@ -10994,7 +10992,7 @@ _08026C6C:\n\ muls r1, r6\n\ add r1, r10\n\ adds r1, 0x2A\n\ - ldr r2, _08026CF0 @ =gBankTarget\n\ + ldr r2, _08026CF0 @ =gBattlerTarget\n\ ldrb r0, [r2]\n\ muls r0, r6\n\ add r0, r10\n\ @@ -11011,15 +11009,15 @@ _08026CDC:\n\ _08026CE0: .4byte gStatuses3\n\ _08026CE4: .4byte gBattleMoves\n\ _08026CE8: .4byte gCurrentMove\n\ -_08026CEC: .4byte gBankAttacker\n\ -_08026CF0: .4byte gBankTarget\n\ +_08026CEC: .4byte gBattlerAttacker\n\ +_08026CF0: .4byte gBattlerTarget\n\ _08026CF4:\n\ ldr r0, _08026D4C @ =gDisableStructs\n\ lsls r1, r2, 3\n\ subs r1, r2\n\ lsls r1, 2\n\ adds r1, r0\n\ - ldr r2, _08026D50 @ =gBankAttacker\n\ + ldr r2, _08026D50 @ =gBattlerAttacker\n\ ldrb r0, [r1, 0x15]\n\ movs r4, 0\n\ ldrb r3, [r2]\n\ @@ -11040,7 +11038,7 @@ _08026D20:\n\ cmp r4, 0\n\ beq _08026DE0\n\ ldr r0, _08026D54 @ =gProtectStructs\n\ - ldr r1, _08026D58 @ =gBankTarget\n\ + ldr r1, _08026D58 @ =gBattlerTarget\n\ ldrb r2, [r1]\n\ lsls r1, r2, 4\n\ adds r1, r0\n\ @@ -11061,9 +11059,9 @@ _08026D20:\n\ b _08026DC6\n\ .align 2, 0\n\ _08026D4C: .4byte gDisableStructs\n\ -_08026D50: .4byte gBankAttacker\n\ +_08026D50: .4byte gBattlerAttacker\n\ _08026D54: .4byte gProtectStructs\n\ -_08026D58: .4byte gBankTarget\n\ +_08026D58: .4byte gBattlerTarget\n\ _08026D5C: .4byte gBattleMoveDamage\n\ _08026D60: .4byte gMoveResultFlags\n\ _08026D64:\n\ @@ -11090,7 +11088,7 @@ _08026D64:\n\ orrs r0, r1\n\ strb r0, [r2]\n\ ldr r1, _08026DAC @ =gLastUsedItem\n\ - ldr r2, _08026DB0 @ =gBankTarget\n\ + ldr r2, _08026DB0 @ =gBattlerTarget\n\ ldrb r0, [r2]\n\ muls r0, r3\n\ add r0, r10\n\ @@ -11102,7 +11100,7 @@ _08026DA0: .4byte gSpecialStatuses\n\ _08026DA4: .4byte gBattleMoveDamage\n\ _08026DA8: .4byte gMoveResultFlags\n\ _08026DAC: .4byte gLastUsedItem\n\ -_08026DB0: .4byte gBankTarget\n\ +_08026DB0: .4byte gBattlerTarget\n\ _08026DB4:\n\ ldr r1, _08026DD4 @ =gBattleMoveDamage\n\ movs r0, 0x58\n\ @@ -11132,14 +11130,14 @@ _08026DE0:\n\ movs r1, 0x1\n\ orrs r0, r1\n\ strb r0, [r2]\n\ - ldr r0, _08026E14 @ =gBankAttacker\n\ + ldr r0, _08026E14 @ =gBattlerAttacker\n\ ldrb r0, [r0]\n\ movs r2, 0x58\n\ adds r1, r0, 0\n\ muls r1, r2\n\ add r1, r10\n\ adds r1, 0x2A\n\ - ldr r3, _08026E18 @ =gBankTarget\n\ + ldr r3, _08026E18 @ =gBattlerTarget\n\ ldrb r0, [r3]\n\ muls r0, r2\n\ add r0, r10\n\ @@ -11153,8 +11151,8 @@ _08026DE0:\n\ b _08026E24\n\ .align 2, 0\n\ _08026E10: .4byte gMoveResultFlags\n\ -_08026E14: .4byte gBankAttacker\n\ -_08026E18: .4byte gBankTarget\n\ +_08026E14: .4byte gBattlerAttacker\n\ +_08026E18: .4byte gBattlerTarget\n\ _08026E1C: .4byte gBattleCommunication\n\ _08026E20:\n\ ldr r1, _08026E50 @ =gBattleCommunication\n\ @@ -11191,7 +11189,7 @@ _08026E54: .4byte gBattlescriptCurrInstr\n\ static void atk94_damagetohalftargethp(void) //super fang { - gBattleMoveDamage = gBattleMons[gBankTarget].hp / 2; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattlescriptCurrInstr++; @@ -11219,11 +11217,11 @@ static void atk96_weatherdamage(void) { if (gBattleWeather & WEATHER_SANDSTORM_ANY) { - if (gBattleMons[gBankAttacker].type1 != TYPE_ROCK && gBattleMons[gBankAttacker].type1 != TYPE_STEEL && gBattleMons[gBankAttacker].type1 != TYPE_GROUND - && gBattleMons[gBankAttacker].type2 != TYPE_ROCK && gBattleMons[gBankAttacker].type2 != TYPE_STEEL && gBattleMons[gBankAttacker].type2 != TYPE_GROUND - && gBattleMons[gBankAttacker].ability != ABILITY_SAND_VEIL && !(gStatuses3[gBankAttacker] & STATUS3_UNDERGROUND) && !(gStatuses3[gBankAttacker] & STATUS3_UNDERWATER)) + if (gBattleMons[gBattlerAttacker].type1 != TYPE_ROCK && gBattleMons[gBattlerAttacker].type1 != TYPE_STEEL && gBattleMons[gBattlerAttacker].type1 != TYPE_GROUND + && gBattleMons[gBattlerAttacker].type2 != TYPE_ROCK && gBattleMons[gBattlerAttacker].type2 != TYPE_STEEL && gBattleMons[gBattlerAttacker].type2 != TYPE_GROUND + && gBattleMons[gBattlerAttacker].ability != ABILITY_SAND_VEIL && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND) && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERWATER)) { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } @@ -11234,9 +11232,9 @@ static void atk96_weatherdamage(void) } if (gBattleWeather & WEATHER_HAIL) { - if (gBattleMons[gBankAttacker].type1 != TYPE_ICE && gBattleMons[gBankAttacker].type2 != TYPE_ICE && !(gStatuses3[gBankAttacker] & STATUS3_UNDERGROUND) && !(gStatuses3[gBankAttacker] & STATUS3_UNDERWATER)) + if (gBattleMons[gBattlerAttacker].type1 != TYPE_ICE && gBattleMons[gBattlerAttacker].type2 != TYPE_ICE && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND) && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERWATER)) { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } @@ -11249,7 +11247,7 @@ static void atk96_weatherdamage(void) else gBattleMoveDamage = 0; - if (gAbsentBattlerFlags & gBitTable[gBankAttacker]) + if (gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) gBattleMoveDamage = 0; gBattlescriptCurrInstr++; @@ -11260,15 +11258,15 @@ static void atk97_tryinfatuating(void) struct Pokemon *attacker, *target; u16 atk_species, def_species; u32 atk_pid, def_pid; - if (!GetBattlerSide(gBankAttacker)) - attacker = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; + if (!GetBattlerSide(gBattlerAttacker)) + attacker = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; else - attacker = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; + attacker = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]]; - if (!GetBattlerSide(gBankTarget)) - target = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; + if (!GetBattlerSide(gBattlerTarget)) + target = &gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]; else - target = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; + target = &gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]; atk_species = GetMonData(attacker, MON_DATA_SPECIES); atk_pid = GetMonData(attacker, MON_DATA_PERSONALITY); @@ -11276,23 +11274,23 @@ static void atk97_tryinfatuating(void) def_species = GetMonData(target, MON_DATA_SPECIES); def_pid = GetMonData(target, MON_DATA_PERSONALITY); - if (gBattleMons[gBankTarget].ability == ABILITY_OBLIVIOUS) + if (gBattleMons[gBattlerTarget].ability == ABILITY_OBLIVIOUS) { gBattlescriptCurrInstr = BattleScript_ObliviousPreventsAttraction; gLastUsedAbility = ABILITY_OBLIVIOUS; - RecordAbilityBattle(gBankTarget, ABILITY_OBLIVIOUS); + RecordAbilityBattle(gBattlerTarget, ABILITY_OBLIVIOUS); } else { if (GetGenderFromSpeciesAndPersonality(atk_species, atk_pid) == GetGenderFromSpeciesAndPersonality(def_species, def_pid) - || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE || gBattleMons[gBankTarget].status2 & STATUS2_INFATUATION || GetGenderFromSpeciesAndPersonality(atk_species, atk_pid) == 0xFF + || gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE || gBattleMons[gBattlerTarget].status2 & STATUS2_INFATUATION || GetGenderFromSpeciesAndPersonality(atk_species, atk_pid) == 0xFF || GetGenderFromSpeciesAndPersonality(def_species, def_pid) == 0xFF) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { - gBattleMons[gBankTarget].status2 |= (gBitTable[gBankAttacker] << 16); + gBattleMons[gBattlerTarget].status2 |= (gBitTable[gBattlerAttacker] << 16); gBattlescriptCurrInstr += 5; } } @@ -11300,31 +11298,31 @@ static void atk97_tryinfatuating(void) static void atk98_updatestatusicon(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (T2_READ_8(gBattlescriptCurrInstr + 1) != 4) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } else { - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ 2); if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBattlerForControllerExec(gActiveBattler); } } gBattlescriptCurrInstr += 2; @@ -11333,15 +11331,15 @@ static void atk98_updatestatusicon(void) static void atk99_setmist(void) { - if (gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer) + if (gSideTimers[GetBattlerPosition(gBattlerAttacker) & 1].mistTimer) { gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer = 5; - gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_MIST; + gSideTimers[GetBattlerPosition(gBattlerAttacker) & 1].mistTimer = 5; + gSideAffecting[GetBattlerPosition(gBattlerAttacker) & 1] |= SIDE_STATUS_MIST; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } gBattlescriptCurrInstr++; @@ -11349,14 +11347,14 @@ static void atk99_setmist(void) static void atk9A_setfocusenergy(void) { - if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) { gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gBattleMons[gBankAttacker].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_FOCUS_ENERGY; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } gBattlescriptCurrInstr++; @@ -11366,7 +11364,7 @@ static void atk9B_transformdataexecution(void) { gChosenMove = 0xFFFF; gBattlescriptCurrInstr++; - if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE) { gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -11375,57 +11373,57 @@ static void atk9B_transformdataexecution(void) { u32 i; s32 j; u8 *atk_data, *def_data; - gBattleMons[gBankAttacker].status2 |= STATUS2_TRANSFORMED; - gDisableStructs[gBankAttacker].disabledMove = 0; - gDisableStructs[gBankAttacker].disableTimer1 = 0; - gDisableStructs[gBankAttacker].transformedMonPersonality = gBattleMons[gBankTarget].personality; - gDisableStructs[gBankAttacker].unk18_b = 0; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_TRANSFORMED; + gDisableStructs[gBattlerAttacker].disabledMove = 0; + gDisableStructs[gBattlerAttacker].disableTimer1 = 0; + gDisableStructs[gBattlerAttacker].transformedMonPersonality = gBattleMons[gBattlerTarget].personality; + gDisableStructs[gBattlerAttacker].unk18_b = 0; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 6; - gBattleTextBuff1[2] = (gBattleMons[gBankTarget].species); - gBattleTextBuff1[3] = uBYTE1_16(gBattleMons[gBankTarget].species); + gBattleTextBuff1[2] = (gBattleMons[gBattlerTarget].species); + gBattleTextBuff1[3] = uBYTE1_16(gBattleMons[gBattlerTarget].species); gBattleTextBuff1[4] = 0xFF; - atk_data = (u8*)(&gBattleMons[gBankAttacker]); - def_data = (u8*)(&gBattleMons[gBankTarget]); + atk_data = (u8*)(&gBattleMons[gBattlerAttacker]); + def_data = (u8*)(&gBattleMons[gBattlerTarget]); for (i = 0; i < 0x24; i++) atk_data[i] = def_data[i]; for (j = 0; j < 4; j++) { - if (gBattleMoves[gBattleMons[gBankAttacker].moves[j]].pp < 5) - gBattleMons[gBankAttacker].pp[j] = gBattleMoves[gBattleMons[gBankAttacker].moves[j]].pp; + if (gBattleMoves[gBattleMons[gBattlerAttacker].moves[j]].pp < 5) + gBattleMons[gBattlerAttacker].pp[j] = gBattleMoves[gBattleMons[gBattlerAttacker].moves[j]].pp; else - gBattleMons[gBankAttacker].pp[j] = 5; + gBattleMons[gBattlerAttacker].pp[j] = 5; } - gActiveBattler = gBankAttacker; - EmitResetActionMoveSelection(0, 2); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitResetActionMoveSelection(0, 2); + MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 0; } } static void atk9C_setsubstitute(void) { - u32 hp = gBattleMons[gBankAttacker].maxHP / 4; - if (gBattleMons[gBankAttacker].maxHP / 4 == 0) + u32 hp = gBattleMons[gBattlerAttacker].maxHP / 4; + if (gBattleMons[gBattlerAttacker].maxHP / 4 == 0) hp = 1; - if (gBattleMons[gBankAttacker].hp <= hp) + if (gBattleMons[gBattlerAttacker].hp <= hp) { gBattleMoveDamage = 0; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 4; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleMons[gBankAttacker].status2 |= STATUS2_SUBSTITUTE; - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_WRAPPED); - gDisableStructs[gBankAttacker].substituteHP = gBattleMoveDamage; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_SUBSTITUTE; + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_WRAPPED); + gDisableStructs[gBattlerAttacker].substituteHP = gBattleMoveDamage; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE; } @@ -11442,8 +11440,8 @@ static bool8 IsMoveUncopyable(u16 move) static void atk9D_mimicattackcopy(void) { gChosenMove = 0xFFFF; - if (IsMoveUncopyable(gLastUsedMove[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED - || gLastUsedMove[gBankTarget] == 0 || gLastUsedMove[gBankTarget] == 0xFFFF) + if (IsMoveUncopyable(gLastUsedMove[gBattlerTarget]) || gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED + || gLastUsedMove[gBattlerTarget] == 0 || gLastUsedMove[gBattlerTarget] == 0xFFFF) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } @@ -11452,24 +11450,24 @@ static void atk9D_mimicattackcopy(void) int i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[i] == gLastUsedMove[gBankTarget]) + if (gBattleMons[gBattlerAttacker].moves[i] == gLastUsedMove[gBattlerTarget]) break; } if (i == 4) { - gBattleMons[gBankAttacker].moves[gCurrMovePos] = gLastUsedMove[gBankTarget]; - if (gBattleMoves[gLastUsedMove[gBankTarget]].pp < 5) - gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gLastUsedMove[gBankTarget]].pp; + gBattleMons[gBattlerAttacker].moves[gCurrMovePos] = gLastUsedMove[gBattlerTarget]; + if (gBattleMoves[gLastUsedMove[gBattlerTarget]].pp < 5) + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = gBattleMoves[gLastUsedMove[gBattlerTarget]].pp; else - gBattleMons[gBankAttacker].pp[gCurrMovePos] = 5; + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = 5; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gLastUsedMove[gBankTarget]; - gBattleTextBuff1[3] = uBYTE1_16(gLastUsedMove[gBankTarget]); + gBattleTextBuff1[2] = gLastUsedMove[gBattlerTarget]; + gBattleTextBuff1[3] = uBYTE1_16(gLastUsedMove[gBattlerTarget]); gBattleTextBuff1[4] = 0xFF; - gDisableStructs[gBankAttacker].unk18_b |= gBitTable[gCurrMovePos]; + gDisableStructs[gBattlerAttacker].unk18_b |= gBitTable[gCurrMovePos]; gBattlescriptCurrInstr += 5; } else @@ -11485,7 +11483,7 @@ static void atk9E_metronome(void) push {r4, r5, r6, r7, lr}\n\ mov r7, r8\n\ push {r7}\n\ - ldr r6, ._3076 @ gBankAttacker\n\ + ldr r6, ._3076 @ gBattlerAttacker\n\ ldrb r2, [r6]\n\ lsl r1, r2, #0x1\n\ ldr r0, ._3076 + 4 @ \n\ @@ -11528,7 +11526,7 @@ static void atk9E_metronome(void) ._3077:\n\ .align 2, 0\n\ ._3076:\n\ - .word gBankAttacker\n\ + .word gBattlerAttacker\n\ .word +0x20160b4\n\ .word gBattleMons\n\ .word gCurrentMove\n\ @@ -11642,7 +11640,7 @@ static void atk9E_metronome(void) ._3082:\n\ mov r1, #0x0\n\ bl GetMoveTarget\n\ - ldr r1, ._3090 + 36 @ gBankTarget\n\ + ldr r1, ._3090 + 36 @ gBattlerTarget\n\ strb r0, [r1]\n\ pop {r3}\n\ mov r8, r3\n\ @@ -11661,7 +11659,7 @@ static void atk9E_metronome(void) .word 0xfffffbff\n\ .word gBattleScriptsForMoveEffects\n\ .word gBattleMoves\n\ - .word gBankTarget"); + .word gBattlerTarget"); } #else #ifdef NONMATCHING @@ -11677,7 +11675,7 @@ static void atk9E_metronome(void) gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); } #else @@ -11744,7 +11742,7 @@ _080278F8:\n\ ldrh r0, [r4]\n\ movs r1, 0\n\ bl GetMoveTarget\n\ - ldr r1, _0802795C @ =gBankTarget\n\ + ldr r1, _0802795C @ =gBattlerTarget\n\ strb r0, [r1]\n\ pop {r3}\n\ mov r8, r3\n\ @@ -11761,7 +11759,7 @@ _0802794C: .4byte gHitMarker\n\ _08027950: .4byte 0xfffffbff\n\ _08027954: .4byte gBattleScriptsForMoveEffects\n\ _08027958: .4byte gBattleMoves\n\ -_0802795C: .4byte gBankTarget\n\ +_0802795C: .4byte gBattlerTarget\n\ .syntax divided"); } #endif // NONMATCHING @@ -11769,7 +11767,7 @@ _0802795C: .4byte gBankTarget\n\ static void atk9F_dmgtolevel(void) { - gBattleMoveDamage = gBattleMons[gBankAttacker].level; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].level; gBattlescriptCurrInstr++; } @@ -11778,46 +11776,46 @@ static void atkA0_psywavedamageeffect(void) s32 rand_dmg; while ((rand_dmg = (Random() & 0xF)) > 0xA); rand_dmg *= 10; - gBattleMoveDamage = gBattleMons[gBankAttacker].level * (rand_dmg + 50) / 100; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].level * (rand_dmg + 50) / 100; gBattlescriptCurrInstr++; } static void atkA1_counterdamagecalculator(void) { - 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) + u8 atk_side = GetBattlerSide(gBattlerAttacker); + u8 def_side = GetBattlerSide(gProtectStructs[gBattlerAttacker].physicalBattlerId); + if (gProtectStructs[gBattlerAttacker].physicalDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBattlerAttacker].physicalBattlerId].hp) { - gBattleMoveDamage = gProtectStructs[gBankAttacker].physicalDmg * 2; + gBattleMoveDamage = gProtectStructs[gBattlerAttacker].physicalDmg * 2; if (gSideTimers[def_side].followmeTimer && gBattleMons[gSideTimers[def_side].followmeTarget].hp) - gBankTarget = gSideTimers[def_side].followmeTarget; + gBattlerTarget = gSideTimers[def_side].followmeTarget; else - gBankTarget = gProtectStructs[gBankAttacker].physicalBank; + gBattlerTarget = gProtectStructs[gBattlerAttacker].physicalBattlerId; gBattlescriptCurrInstr += 5; } else { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the physical -> special field changes { - 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) + u8 atk_side = GetBattlerSide(gBattlerAttacker); + u8 def_side = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId); + if (gProtectStructs[gBattlerAttacker].specialDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBattlerAttacker].specialBattlerId].hp) { - gBattleMoveDamage = gProtectStructs[gBankAttacker].specialDmg * 2; + gBattleMoveDamage = gProtectStructs[gBattlerAttacker].specialDmg * 2; if (gSideTimers[def_side].followmeTimer && gBattleMons[gSideTimers[def_side].followmeTarget].hp) - gBankTarget = gSideTimers[def_side].followmeTarget; + gBattlerTarget = gSideTimers[def_side].followmeTarget; else - gBankTarget = gProtectStructs[gBankAttacker].specialBank; + gBattlerTarget = gProtectStructs[gBattlerAttacker].specialBattlerId; gBattlescriptCurrInstr += 5; } else { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -11827,20 +11825,20 @@ static void atkA3_disablelastusedattack(void) int i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankTarget].moves[i] == gLastUsedMove[gBankTarget]) + if (gBattleMons[gBattlerTarget].moves[i] == gLastUsedMove[gBattlerTarget]) break; } - if (gDisableStructs[gBankTarget].disabledMove == 0 && i != 4 && gBattleMons[gBankTarget].pp[i] != 0) + if (gDisableStructs[gBattlerTarget].disabledMove == 0 && i != 4 && gBattleMons[gBattlerTarget].pp[i] != 0) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gBattleMons[gBankTarget].moves[i]; - gBattleTextBuff1[3] = uBYTE1_16(gBattleMons[gBankTarget].moves[i]); + gBattleTextBuff1[2] = gBattleMons[gBattlerTarget].moves[i]; + gBattleTextBuff1[3] = uBYTE1_16(gBattleMons[gBattlerTarget].moves[i]); gBattleTextBuff1[4] = 0xFF; - gDisableStructs[gBankTarget].disabledMove = gBattleMons[gBankTarget].moves[i]; - gDisableStructs[gBankTarget].disableTimer1 = (Random() & 3) + 2; - gDisableStructs[gBankTarget].disableTimer2 = gDisableStructs[gBankTarget].disableTimer1; //that's interesting + gDisableStructs[gBattlerTarget].disabledMove = gBattleMons[gBattlerTarget].moves[i]; + gDisableStructs[gBattlerTarget].disableTimer1 = (Random() & 3) + 2; + gDisableStructs[gBattlerTarget].disableTimer2 = gDisableStructs[gBattlerTarget].disableTimer1; //that's interesting gBattlescriptCurrInstr += 5; } else @@ -11854,17 +11852,17 @@ static void atkA4_trysetencore(void) int i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankTarget].moves[i] == gLastUsedMove[gBankTarget]) + if (gBattleMons[gBattlerTarget].moves[i] == gLastUsedMove[gBattlerTarget]) break; } - if (gLastUsedMove[gBankTarget] == MOVE_STRUGGLE || gLastUsedMove[gBankTarget] == MOVE_ENCORE || gLastUsedMove[gBankTarget] == MOVE_MIRROR_MOVE) + if (gLastUsedMove[gBattlerTarget] == MOVE_STRUGGLE || gLastUsedMove[gBattlerTarget] == MOVE_ENCORE || gLastUsedMove[gBattlerTarget] == MOVE_MIRROR_MOVE) i = 4; - if (gDisableStructs[gBankTarget].encoredMove == 0 && i != 4 && gBattleMons[gBankTarget].pp[i] != 0) + if (gDisableStructs[gBattlerTarget].encoredMove == 0 && i != 4 && gBattleMons[gBattlerTarget].pp[i] != 0) { - gDisableStructs[gBankTarget].encoredMove = gBattleMons[gBankTarget].moves[i]; - gDisableStructs[gBankTarget].encoredMovePos = i; - gDisableStructs[gBankTarget].encoreTimer1 = (Random() & 3) + 3; - gDisableStructs[gBankTarget].encoreTimer2 = gDisableStructs[gBankTarget].encoreTimer1; + gDisableStructs[gBattlerTarget].encoredMove = gBattleMons[gBattlerTarget].moves[i]; + gDisableStructs[gBattlerTarget].encoredMovePos = i; + gDisableStructs[gBattlerTarget].encoreTimer1 = (Random() & 3) + 3; + gDisableStructs[gBattlerTarget].encoreTimer2 = gDisableStructs[gBattlerTarget].encoreTimer1; gBattlescriptCurrInstr += 5; } else @@ -11875,17 +11873,17 @@ static void atkA4_trysetencore(void) static void atkA5_painsplitdmgcalc(void) { - if (!(gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE)) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)) { - s32 hp_diff = (gBattleMons[gBankAttacker].hp + gBattleMons[gBankTarget].hp) / 2; - s32 to_store = gBattleMoveDamage = gBattleMons[gBankTarget].hp - hp_diff; + s32 hp_diff = (gBattleMons[gBattlerAttacker].hp + gBattleMons[gBattlerTarget].hp) / 2; + s32 to_store = gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - hp_diff; gBattleStruct->unk16014 = sBYTE0_32(to_store); gBattleStruct->unk16015 = sBYTE1_32(to_store); gBattleStruct->unk16016 = sBYTE2_32(to_store); gBattleStruct->unk16017 = sBYTE3_32(to_store); - gBattleMoveDamage = gBattleMons[gBankAttacker].hp - hp_diff; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].hp - hp_diff; + gSpecialStatuses[gBattlerTarget].dmg = 0xFFFF; gBattlescriptCurrInstr += 5; } @@ -11896,7 +11894,7 @@ static void atkA5_painsplitdmgcalc(void) #ifdef NONMATCHING static void atkA6_settypetorandomresistance(void) { - if (gLastLandedMoves[gBankAttacker] == 0 || gLastLandedMoves[gBankAttacker] == 0xFFFF || (IsTwoTurnsMove(gLastLandedMoves[gBankAttacker]) && !gProtectStructs[gBankAttacker].physicalDmg && !gProtectStructs[gBankAttacker].specialDmg)) + if (gLastLandedMoves[gBattlerAttacker] == 0 || gLastLandedMoves[gBattlerAttacker] == 0xFFFF || (IsTwoTurnsMove(gLastLandedMoves[gBattlerAttacker]) && !gProtectStructs[gBattlerAttacker].physicalDmg && !gProtectStructs[gBattlerAttacker].specialDmg)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -11905,10 +11903,10 @@ static void atkA6_settypetorandomresistance(void) { while (((type = (Random() & 0x7F)) > 0x70)); type *= 3; - if (gTypeEffectiveness[type] == gLastHitByType[gBankAttacker] && gTypeEffectiveness[type + 2] <= 5 && gBattleMons[gBankAttacker].type1 != gTypeEffectiveness[type + 1] && gBattleMons[gBankAttacker].type2 != gTypeEffectiveness[type + 1]) + if (gTypeEffectiveness[type] == gLastHitByType[gBattlerAttacker] && gTypeEffectiveness[type + 2] <= 5 && gBattleMons[gBattlerAttacker].type1 != gTypeEffectiveness[type + 1] && gBattleMons[gBattlerAttacker].type2 != gTypeEffectiveness[type + 1]) { - gBattleMons[gBankAttacker].type1 = type; - gBattleMons[gBankAttacker].type2 = type; + gBattleMons[gBattlerAttacker].type1 = type; + gBattleMons[gBattlerAttacker].type2 = type; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 3; gBattleTextBuff1[2] = type; @@ -11924,10 +11922,10 @@ static void atkA6_settypetorandomresistance(void) { if (gTypeEffectiveness[type] == 0xFE || gTypeEffectiveness[type] != 0xFF) { - if (gTypeEffectiveness[type] == gLastHitByType[gBankAttacker] && gTypeEffectiveness[type + 2] <= 5 && gBattleMons[gBankAttacker].type1 != gTypeEffectiveness[type + 1] && gBattleMons[gBankAttacker].type2 != gTypeEffectiveness[type + 1]) + if (gTypeEffectiveness[type] == gLastHitByType[gBattlerAttacker] && gTypeEffectiveness[type + 2] <= 5 && gBattleMons[gBattlerAttacker].type1 != gTypeEffectiveness[type + 1] && gBattleMons[gBattlerAttacker].type2 != gTypeEffectiveness[type + 1]) { - gBattleMons[gBankAttacker].type1 = gTypeEffectiveness[rands + 1]; - gBattleMons[gBankAttacker].type2 = gTypeEffectiveness[rands + 1]; + gBattleMons[gBattlerAttacker].type1 = gTypeEffectiveness[rands + 1]; + gBattleMons[gBattlerAttacker].type2 = gTypeEffectiveness[rands + 1]; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 3; gBattleTextBuff1[2] = gTypeEffectiveness[rands + 1]; @@ -11954,7 +11952,7 @@ static void atkA6_settypetorandomresistance(void) mov r5, r8\n\ push {r5-r7}\n\ ldr r1, _08027FA8 @ =gLastLandedMoves\n\ - ldr r4, _08027FAC @ =gBankAttacker\n\ + ldr r4, _08027FAC @ =gBattlerAttacker\n\ ldrb r0, [r4]\n\ lsls r0, 1\n\ adds r2, r0, r1\n\ @@ -12000,7 +11998,7 @@ _08027F8C:\n\ b _08028110\n\ .align 2, 0\n\ _08027FA8: .4byte gLastLandedMoves\n\ -_08027FAC: .4byte gBankAttacker\n\ +_08027FAC: .4byte gBattlerAttacker\n\ _08027FB0: .4byte 0x0000ffff\n\ _08027FB4: .4byte gProtectStructs\n\ _08027FB8: .4byte gBattlescriptCurrInstr\n\ @@ -12072,7 +12070,7 @@ _0802802C:\n\ ldr r6, _08028120 @ =gTypeEffectiveness\n\ adds r3, r4, r6\n\ ldr r1, _08028124 @ =gLastHitByType\n\ - ldr r2, _08028128 @ =gBankAttacker\n\ + ldr r2, _08028128 @ =gBattlerAttacker\n\ ldrb r5, [r2]\n\ lsls r0, r5, 1\n\ adds r0, r1\n\ @@ -12190,7 +12188,7 @@ _08028110:\n\ .align 2, 0\n\ _08028120: .4byte gTypeEffectiveness\n\ _08028124: .4byte gLastHitByType\n\ -_08028128: .4byte gBankAttacker\n\ +_08028128: .4byte gBattlerAttacker\n\ _0802812C: .4byte gBattleMons\n\ _08028130: .4byte 0x000003e7\n\ _08028134: .4byte gBattlescriptCurrInstr\n\ @@ -12201,9 +12199,9 @@ _08028138: .4byte 0x0000014f\n\ static void atkA7_setalwayshitflag(void) { - gStatuses3[gBankTarget] &= ~(STATUS3_ALWAYS_HITS); - gStatuses3[gBankTarget] |= 0x10; - gDisableStructs[gBankTarget].bankWithSureHit = gBankAttacker; + gStatuses3[gBattlerTarget] &= ~(STATUS3_ALWAYS_HITS); + gStatuses3[gBattlerTarget] |= 0x10; + gDisableStructs[gBattlerTarget].bankWithSureHit = gBattlerAttacker; gBattlescriptCurrInstr++; } @@ -12217,14 +12215,14 @@ struct move_pp static void atkA8_copymovepermanently(void) { gChosenMove = 0xFFFF; - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) && gUnknown_02024C2C[gBankTarget] != MOVE_STRUGGLE && gUnknown_02024C2C[gBankTarget] != 0 && gUnknown_02024C2C[gBankTarget] != 0xFFFF && gUnknown_02024C2C[gBankTarget] != MOVE_SKETCH) + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) && gUnknown_02024C2C[gBattlerTarget] != MOVE_STRUGGLE && gUnknown_02024C2C[gBattlerTarget] != 0 && gUnknown_02024C2C[gBattlerTarget] != 0xFFFF && gUnknown_02024C2C[gBattlerTarget] != MOVE_SKETCH) { int i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[i] == MOVE_SKETCH) + if (gBattleMons[gBattlerAttacker].moves[i] == MOVE_SKETCH) continue; - if (gBattleMons[gBankAttacker].moves[i] == gUnknown_02024C2C[gBankTarget]) + if (gBattleMons[gBattlerAttacker].moves[i] == gUnknown_02024C2C[gBattlerTarget]) break; } if (i != 4) //sketch fail @@ -12232,21 +12230,21 @@ static void atkA8_copymovepermanently(void) else //sketch worked { struct move_pp moves_data; - gBattleMons[gBankAttacker].moves[gCurrMovePos] = gUnknown_02024C2C[gBankTarget]; - gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gUnknown_02024C2C[gBankTarget]].pp; - gActiveBattler = gBankAttacker; + gBattleMons[gBattlerAttacker].moves[gCurrMovePos] = gUnknown_02024C2C[gBattlerTarget]; + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = gBattleMoves[gUnknown_02024C2C[gBattlerTarget]].pp; + gActiveBattler = gBattlerAttacker; for (i = 0; i < 4; i++) { - moves_data.move[i] = gBattleMons[gBankAttacker].moves[i]; - moves_data.pp[i] = gBattleMons[gBankAttacker].pp[i]; + moves_data.move[i] = gBattleMons[gBattlerAttacker].moves[i]; + moves_data.pp[i] = gBattleMons[gBattlerAttacker].pp[i]; } - moves_data.ppBonuses = gBattleMons[gBankAttacker].ppBonuses; - EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct move_pp), &moves_data); - MarkBufferBankForExecution(gActiveBattler); + moves_data.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; + BtlController_EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct move_pp), &moves_data); + MarkBattlerForControllerExec(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gUnknown_02024C2C[gBankTarget]; - gBattleTextBuff1[3] = gUnknown_02024C2C[gBankTarget] >> 8; + gBattleTextBuff1[2] = gUnknown_02024C2C[gBattlerTarget]; + gBattleTextBuff1[3] = gUnknown_02024C2C[gBattlerTarget] >> 8; gBattleTextBuff1[4] = 0xFF; gBattlescriptCurrInstr += 5; } @@ -12294,11 +12292,11 @@ static void atkA9_trychoosesleeptalkmove(void) for (i = 0; i < 4; i++) { - if (IsMoveUnchoosable(gBattleMons[gBankAttacker].moves[i]) || gBattleMons[gBankAttacker].moves[i] == MOVE_FOCUS_PUNCH - || gBattleMons[gBankAttacker].moves[i] == MOVE_UPROAR || IsTwoTurnsMove(gBattleMons[gBankAttacker].moves[i])) + if (IsMoveUnchoosable(gBattleMons[gBattlerAttacker].moves[i]) || gBattleMons[gBattlerAttacker].moves[i] == MOVE_FOCUS_PUNCH + || gBattleMons[gBattlerAttacker].moves[i] == MOVE_UPROAR || IsTwoTurnsMove(gBattleMons[gBattlerAttacker].moves[i])) unusable_moves |= gBitTable[i]; } - unusable_moves = CheckMoveLimitations(gBankAttacker, unusable_moves, 0xFD); + unusable_moves = CheckMoveLimitations(gBattlerAttacker, unusable_moves, 0xFD); if (unusable_moves == 0xF) //all 4 moves cannot be chosen gBattlescriptCurrInstr += 5; else //at least one move can be chosen @@ -12309,25 +12307,25 @@ static void atkA9_trychoosesleeptalkmove(void) random_pos = Random() & 3; } while ((gBitTable[random_pos] & unusable_moves)); - gRandomMove = gBattleMons[gBankAttacker].moves[random_pos]; + gRandomMove = gBattleMons[gBattlerAttacker].moves[random_pos]; gCurrMovePos = random_pos; gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); - gBankTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gRandomMove, 0); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } static void atkAA_setdestinybond(void) { - gBattleMons[gBankAttacker].status2 |= STATUS2_DESTINY_BOND; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_DESTINY_BOND; gBattlescriptCurrInstr++; } static void TrySetDestinyBondToHappen(void) { - u8 atk_side = GetBattlerSide(gBankAttacker); - u8 def_side = GetBattlerSide(gBankTarget); - if (gBattleMons[gBankTarget].status2 & STATUS2_DESTINY_BOND && atk_side != def_side && !(gHitMarker & HITMARKER_GRUDGE)) + u8 atk_side = GetBattlerSide(gBattlerAttacker); + u8 def_side = GetBattlerSide(gBattlerTarget); + if (gBattleMons[gBattlerTarget].status2 & STATUS2_DESTINY_BOND && atk_side != def_side && !(gHitMarker & HITMARKER_GRUDGE)) gHitMarker |= HITMARKER_DESTINYBOND; } @@ -12339,7 +12337,7 @@ static void atkAB_trysetdestinybondtohappen(void) static void atkAC_remaininghptopower(void) { - s32 hp_fraction = GetScaledHPFraction(gBattleMons[gBankAttacker].hp, gBattleMons[gBankAttacker].maxHP, 48); + s32 hp_fraction = GetScaledHPFraction(gBattleMons[gBattlerAttacker].hp, gBattleMons[gBattlerAttacker].maxHP, 48); int i; for (i = 0; i < 12; i += 2) { @@ -12352,24 +12350,24 @@ static void atkAC_remaininghptopower(void) static void atkAD_tryspiteppreduce(void) { - if (gLastUsedMove[gBankTarget] != 0 && gLastUsedMove[gBankTarget] != 0xFFFF && !(gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)) + if (gLastUsedMove[gBattlerTarget] != 0 && gLastUsedMove[gBattlerTarget] != 0xFFFF && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { int i; for (i = 0; i < 4; i++) { - if (gLastUsedMove[gBankTarget] == gBattleMons[gBankTarget].moves[i]) + if (gLastUsedMove[gBattlerTarget] == gBattleMons[gBattlerTarget].moves[i]) break; } - if (i != 4 && gBattleMons[gBankTarget].pp[i] > 1) + if (i != 4 && gBattleMons[gBattlerTarget].pp[i] > 1) { s32 lost_pp = (Random() & 3) + 2; - if (gBattleMons[gBankTarget].pp[i] < lost_pp) - lost_pp = gBattleMons[gBankTarget].pp[i]; + if (gBattleMons[gBattlerTarget].pp[i] < lost_pp) + lost_pp = gBattleMons[gBattlerTarget].pp[i]; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gLastUsedMove[gBankTarget]; - gBattleTextBuff1[3] = gLastUsedMove[gBankTarget] >> 8; + gBattleTextBuff1[2] = gLastUsedMove[gBattlerTarget]; + gBattleTextBuff1[3] = gLastUsedMove[gBattlerTarget] >> 8; gBattleTextBuff1[4] = 0xFF; ConvertIntToDecimalStringN(gBattleTextBuff2, lost_pp, 0, 1); gBattleTextBuff2[0] = 0xFD; @@ -12379,17 +12377,17 @@ static void atkAD_tryspiteppreduce(void) gBattleTextBuff2[4] = lost_pp; gBattleTextBuff2[5] = 0xFF; - gBattleMons[gBankTarget].pp[i] -= lost_pp; - gActiveBattler = gBankTarget; + gBattleMons[gBattlerTarget].pp[i] -= lost_pp; + gActiveBattler = gBattlerTarget; if (!(gDisableStructs[gActiveBattler].unk18_b & gBitTable[i]) && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 5; - if (gBattleMons[gBankTarget].pp[i] == 0) - CancelMultiTurnMoves(gBankTarget); + if (gBattleMons[gBattlerTarget].pp[i] == 0) + CancelMultiTurnMoves(gBattlerTarget); return; } } @@ -12407,22 +12405,22 @@ static void atkAE_healpartystatus(void) int i; gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (GetBattlerSide(gBankAttacker) == 0) + if (GetBattlerSide(gBattlerAttacker) == 0) party = gPlayerParty; else party = gEnemyParty; - if (gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) + if (gBattleMons[gBattlerAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBankAttacker].status1 = 0; + gBattleMons[gBattlerAttacker].status1 = 0; } else { - RecordAbilityBattle(gBankAttacker, gBattleMons[gBankAttacker].ability); + RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability); gBattleCommunication[MULTISTRING_CHOOSER] |= 1; } - gActiveBattler = gBattleStruct->scriptingActive = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + gActiveBattler = gBattleStruct->scriptingActive = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { if (gBattleMons[gActiveBattler].ability != ABILITY_SOUNDPROOF) @@ -12443,8 +12441,8 @@ static void atkAE_healpartystatus(void) if (species != 0 && species != SPECIES_EGG) { u8 ability; - if (gBattlerPartyIndexes[gBankAttacker] == i) - ability = gBattleMons[gBankAttacker].ability; + if (gBattlerPartyIndexes[gBattlerAttacker] == i) + ability = gBattleMons[gBattlerAttacker].ability; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[gActiveBattler] == i && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) ability = gBattleMons[gActiveBattler].ability; else @@ -12458,31 +12456,31 @@ static void atkAE_healpartystatus(void) { gBattleCommunication[MULTISTRING_CHOOSER] = 4; to_heal = 0x3F; - gBattleMons[gBankAttacker].status1 = zero2; + gBattleMons[gBattlerAttacker].status1 = zero2; - gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) gBattleMons[gActiveBattler].status1 = 0; } //missing check? - gActiveBattler = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, to_heal, 4, &zero); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, to_heal, 4, &zero); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; } static void atkAF_cursetarget(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_CURSED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_CURSED || gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { - gBattleMons[gBankTarget].status2 |= STATUS2_CURSED; - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 2; + gBattleMons[gBattlerTarget].status2 |= STATUS2_CURSED; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattlescriptCurrInstr += 5; @@ -12491,10 +12489,10 @@ static void atkAF_cursetarget(void) static void atkB0_trysetspikes(void) { - u8 side = GetBattlerSide(gBankAttacker) ^ 1; + u8 side = GetBattlerSide(gBattlerAttacker) ^ 1; if (gSideTimers[side].spikesAmount == 3) { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else @@ -12507,7 +12505,7 @@ static void atkB0_trysetspikes(void) static void atkB1_setforesight(void) { - gBattleMons[gBankTarget].status2 |= STATUS2_FORESIGHT; + gBattleMons[gBattlerTarget].status2 |= STATUS2_FORESIGHT; gBattlescriptCurrInstr++; } @@ -12527,7 +12525,7 @@ static void atkB2_trysetperishsong(void) } } - PressurePPLoseOnUsingPerishSong(gBankAttacker); + PressurePPLoseOnUsingPerishSong(gBattlerAttacker); if (not_affected_pokes == gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else @@ -12538,27 +12536,27 @@ static void atkB3_rolloutdamagecalculation(void) { if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { - CancelMultiTurnMoves(gBankAttacker); + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveMissedPause; } else { int i; - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) //first hit + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) //first hit { - gDisableStructs[gBankAttacker].rolloutTimer1 = 5; - gDisableStructs[gBankAttacker].rolloutTimer2 = 5; - gBattleMons[gBankAttacker].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gBankAttacker] = gCurrentMove; + gDisableStructs[gBattlerAttacker].rolloutTimer1 = 5; + gDisableStructs[gBattlerAttacker].rolloutTimer2 = 5; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gBattlerAttacker] = gCurrentMove; } - if (--gDisableStructs[gBankAttacker].rolloutTimer1 == 0) - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); + if (--gDisableStructs[gBattlerAttacker].rolloutTimer1 == 0) + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); gDynamicBasePower = gBattleMoves[gCurrentMove].power; - for (i = 1; i < (5 - gDisableStructs[gBankAttacker].rolloutTimer1); i++) + for (i = 1; i < (5 - gDisableStructs[gBattlerAttacker].rolloutTimer1); i++) gDynamicBasePower *= 2; - if (gBattleMons[gBankAttacker].status2 & STATUS2_DEFENSE_CURL) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_DEFENSE_CURL) gDynamicBasePower *= 2; gBattlescriptCurrInstr++; @@ -12567,7 +12565,7 @@ static void atkB3_rolloutdamagecalculation(void) static void atkB4_jumpifconfusedandstatmaxed(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[T2_READ_8(gBattlescriptCurrInstr + 1)] == 0xC) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBattlerTarget].statStages[T2_READ_8(gBattlescriptCurrInstr + 1)] == 0xC) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; @@ -12577,18 +12575,18 @@ static void atkB5_furycuttercalc(void) { if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { - gDisableStructs[gBankAttacker].furyCutterCounter = 0; + gDisableStructs[gBattlerAttacker].furyCutterCounter = 0; gBattlescriptCurrInstr = BattleScript_MoveMissedPause; } else { int i; - if (gDisableStructs[gBankAttacker].furyCutterCounter != 5) - gDisableStructs[gBankAttacker].furyCutterCounter++; + if (gDisableStructs[gBattlerAttacker].furyCutterCounter != 5) + gDisableStructs[gBattlerAttacker].furyCutterCounter++; gDynamicBasePower = gBattleMoves[gCurrentMove].power; - for (i = 1; i < gDisableStructs[gBankAttacker].furyCutterCounter; i++) + for (i = 1; i < gDisableStructs[gBattlerAttacker].furyCutterCounter; i++) gDynamicBasePower *= 2; gBattlescriptCurrInstr++; @@ -12598,9 +12596,9 @@ static void atkB5_furycuttercalc(void) static void atkB6_happinesstodamagecalculation(void) { if (gBattleMoves[gCurrentMove].effect == EFFECT_RETURN) - gDynamicBasePower = 10 * (gBattleMons[gBankAttacker].friendship) / 25; + gDynamicBasePower = 10 * (gBattleMons[gBattlerAttacker].friendship) / 25; else //EFFECT_FRUSTRATION - gDynamicBasePower = 10 * (255 - gBattleMons[gBankAttacker].friendship) / 25; + gDynamicBasePower = 10 * (255 - gBattleMons[gBattlerAttacker].friendship) / 25; gBattlescriptCurrInstr++; } @@ -12615,14 +12613,14 @@ static void atkB7_presentdamagecalculation(void) gDynamicBasePower = 120; else { - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 4; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; } if (rand < 204) gBattlescriptCurrInstr = BattleScript_HitFromCritCalc; - else if (gBattleMons[gBankTarget].maxHP == gBattleMons[gBankTarget].hp) + else if (gBattleMons[gBattlerTarget].maxHP == gBattleMons[gBattlerTarget].hp) gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp; else { @@ -12633,15 +12631,15 @@ static void atkB7_presentdamagecalculation(void) static void atkB8_setsafeguard(void) { - if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD) + if (gSideAffecting[GetBattlerPosition(gBattlerAttacker) & 1] & SIDE_STATUS_SAFEGUARD) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_SAFEGUARD; - gSideTimers[GetBattlerPosition(gBankAttacker) & 1].safeguardTimer = 5; + gSideAffecting[GetBattlerPosition(gBattlerAttacker) & 1] |= SIDE_STATUS_SAFEGUARD; + gSideTimers[GetBattlerPosition(gBattlerAttacker) & 1].safeguardTimer = 5; gBattleCommunication[MULTISTRING_CHOOSER] = 5; } gBattlescriptCurrInstr++; @@ -12693,11 +12691,11 @@ static void atkB9_magnitudedamagecalculation(void) gBattleTextBuff1[4] = magnitude; gBattleTextBuff1[5] = 0xFF; - for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) //a valid target was found + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) //a valid target was found break; } gBattlescriptCurrInstr++; @@ -12707,26 +12705,26 @@ static void atkBA_jumpifnopursuitswitchdmg(void) { if (gMultiHitCounter == 1) { - if (GetBattlerSide(gBankAttacker) == 0) - gBankTarget = GetBattlerAtPosition(1); + if (GetBattlerSide(gBattlerAttacker) == 0) + gBattlerTarget = GetBattlerAtPosition(1); else - gBankTarget = GetBattlerAtPosition(0); + gBattlerTarget = GetBattlerAtPosition(0); } else { - if (GetBattlerSide(gBankAttacker) == 0) - gBankTarget = GetBattlerAtPosition(3); + if (GetBattlerSide(gBattlerAttacker) == 0) + gBattlerTarget = GetBattlerAtPosition(3); else - gBankTarget = GetBattlerAtPosition(2); + gBattlerTarget = 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) + if (gActionForBanks[gBattlerTarget] == 0 && gBattlerAttacker == ewram16010arr(gBattlerTarget) && !(gBattleMons[gBattlerTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) + && gBattleMons[gBattlerAttacker].hp && !gDisableStructs[gBattlerTarget].truantCounter && gChosenMovesByBanks[gBattlerTarget] == MOVE_PURSUIT) { int i; for (i = 0; i < gBattlersCount; i++) { - if (gBanksByTurnOrder[i] == gBankTarget) + if (gBanksByTurnOrder[i] == gBattlerTarget) gActionsByTurnOrder[i] = 11; } gCurrentMove = MOVE_PURSUIT; @@ -12756,14 +12754,14 @@ static void atkBB_setsunny(void) static void atkBC_maxattackhalvehp(void) //belly drum { - u32 half_hp = gBattleMons[gBankAttacker].maxHP / 2; - if (!(gBattleMons[gBankAttacker].maxHP / 2)) + u32 half_hp = gBattleMons[gBattlerAttacker].maxHP / 2; + if (!(gBattleMons[gBattlerAttacker].maxHP / 2)) half_hp = 1; - if (gBattleMons[gBankAttacker].statStages[STAT_STAGE_ATK] < 12 && gBattleMons[gBankAttacker].hp > half_hp) + if (gBattleMons[gBattlerAttacker].statStages[STAT_STAGE_ATK] < 12 && gBattleMons[gBattlerAttacker].hp > half_hp) { - gBattleMons[gBankAttacker].statStages[STAT_STAGE_ATK] = 12; - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 2; + gBattleMons[gBattlerAttacker].statStages[STAT_STAGE_ATK] = 12; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattlescriptCurrInstr += 5; @@ -12779,36 +12777,36 @@ static void atkBD_copyfoestats(void) //psych up int i; for (i = 0; i < 8; i++) { - gBattleMons[gBankAttacker].statStages[i] = gBattleMons[gBankTarget].statStages[i]; + gBattleMons[gBattlerAttacker].statStages[i] = gBattleMons[gBattlerTarget].statStages[i]; } gBattlescriptCurrInstr += 5; //why not 1? possible unused fail possibility? } static void atkBE_rapidspinfree(void) //rapid spin { - if (gBattleMons[gBankAttacker].status2 & STATUS2_WRAPPED) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_WRAPPED) { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_WRAPPED); - gBankTarget = ewram16020arr(gBankAttacker); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_WRAPPED); + gBattlerTarget = ewram16020arr(gBattlerAttacker); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram16004arr(0, gBankAttacker); - gBattleTextBuff1[3] = ewram16004arr(1, gBankAttacker); + gBattleTextBuff1[2] = ewram16004arr(0, gBattlerAttacker); + gBattleTextBuff1[3] = ewram16004arr(1, gBattlerAttacker); gBattleTextBuff1[4] = 0xFF; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WrapFree; } - else if (gStatuses3[gBankAttacker] & STATUS3_LEECHSEED) + else if (gStatuses3[gBattlerAttacker] & STATUS3_LEECHSEED) { - gStatuses3[gBankAttacker] &= ~(STATUS3_LEECHSEED); - gStatuses3[gBankAttacker] &= ~(STATUS3_LEECHSEED_BANK); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED_BANK); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_LeechSeedFree; } - else if (gSideAffecting[GetBattlerSide(gBankAttacker)] & SIDE_STATUS_SPIKES) + else if (gSideAffecting[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_SPIKES) { - gSideAffecting[GetBattlerSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES); - gSideTimers[GetBattlerSide(gBankAttacker)].spikesAmount = 0; + gSideAffecting[GetBattlerSide(gBattlerAttacker)] &= ~(SIDE_STATUS_SPIKES); + gSideTimers[GetBattlerSide(gBattlerAttacker)].spikesAmount = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SpikesFree; } @@ -12818,21 +12816,21 @@ static void atkBE_rapidspinfree(void) //rapid spin static void atkBF_setdefensecurlbit(void) { - gBattleMons[gBankAttacker].status2 |= STATUS2_DEFENSE_CURL; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_DEFENSE_CURL; gBattlescriptCurrInstr++; } static void atkC0_recoverbasedonsunlight(void) { - gBankTarget = gBankAttacker; - if (gBattleMons[gBankAttacker].hp != gBattleMons[gBankAttacker].maxHP) + gBattlerTarget = gBattlerAttacker; + if (gBattleMons[gBattlerAttacker].hp != gBattleMons[gBattlerAttacker].maxHP) { if (!gBattleWeather || !WEATHER_HAS_EFFECT) - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 2; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 2; else if (gBattleWeather & WEATHER_SUN_ANY) - gBattleMoveDamage = 20 * gBattleMons[gBankAttacker].maxHP / 30; + gBattleMoveDamage = 20 * gBattleMons[gBattlerAttacker].maxHP / 30; else //not sunny weather - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 4; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -12846,18 +12844,18 @@ static void atkC0_recoverbasedonsunlight(void) static void atkC1_hiddenpowercalc(void) { - u8 power = ((gBattleMons[gBankAttacker].hpIV & 2) >> 1) | - ((gBattleMons[gBankAttacker].attackIV & 2)) | - ((gBattleMons[gBankAttacker].defenseIV & 2) << 1) | - ((gBattleMons[gBankAttacker].speedIV & 2) << 2) | - ((gBattleMons[gBankAttacker].spAttackIV & 2) << 3) | - ((gBattleMons[gBankAttacker].spDefenseIV & 2) << 4); - u8 type = ((gBattleMons[gBankAttacker].hpIV & 1)) | - ((gBattleMons[gBankAttacker].attackIV & 1) << 1) | - ((gBattleMons[gBankAttacker].defenseIV & 1) << 2) | - ((gBattleMons[gBankAttacker].speedIV & 1) << 3) | - ((gBattleMons[gBankAttacker].spAttackIV & 1) << 4) | - ((gBattleMons[gBankAttacker].spDefenseIV & 1) << 5); + u8 power = ((gBattleMons[gBattlerAttacker].hpIV & 2) >> 1) | + ((gBattleMons[gBattlerAttacker].attackIV & 2)) | + ((gBattleMons[gBattlerAttacker].defenseIV & 2) << 1) | + ((gBattleMons[gBattlerAttacker].speedIV & 2) << 2) | + ((gBattleMons[gBattlerAttacker].spAttackIV & 2) << 3) | + ((gBattleMons[gBattlerAttacker].spDefenseIV & 2) << 4); + u8 type = ((gBattleMons[gBattlerAttacker].hpIV & 1)) | + ((gBattleMons[gBattlerAttacker].attackIV & 1) << 1) | + ((gBattleMons[gBattlerAttacker].defenseIV & 1) << 2) | + ((gBattleMons[gBattlerAttacker].speedIV & 1) << 3) | + ((gBattleMons[gBattlerAttacker].spAttackIV & 1) << 4) | + ((gBattleMons[gBattlerAttacker].spDefenseIV & 1) << 5); gDynamicBasePower = 30 + (power * 40 / 63); @@ -12872,11 +12870,11 @@ static void atkC1_hiddenpowercalc(void) static void atkC2_selectfirstvalidtarget(void) { - for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } gBattlescriptCurrInstr++; @@ -12884,21 +12882,21 @@ static void atkC2_selectfirstvalidtarget(void) static void atkC3_trysetfutureattack(void) { - if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0) + if (gWishFutureKnock.futureSightCounter[gBattlerTarget] != 0) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { - gWishFutureKnock.futureSightMove[gBankTarget] = gCurrentMove; - gWishFutureKnock.futureSightAttacker[gBankTarget] = gBankAttacker; - gWishFutureKnock.futureSightCounter[gBankTarget] = 3; - gWishFutureKnock.futureSightDmg[gBankTarget] = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0, - 0, gBankAttacker, gBankTarget); + gWishFutureKnock.futureSightMove[gBattlerTarget] = gCurrentMove; + gWishFutureKnock.futureSightAttacker[gBattlerTarget] = gBattlerAttacker; + gWishFutureKnock.futureSightCounter[gBattlerTarget] = 3; + gWishFutureKnock.futureSightDmg[gBattlerTarget] = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove, + gSideAffecting[GetBattlerPosition(gBattlerTarget) & 1], 0, + 0, gBattlerAttacker, gBattlerTarget); - if (gProtectStructs[gBankAttacker].helpingHand) - gWishFutureKnock.futureSightDmg[gBankTarget] = gWishFutureKnock.futureSightDmg[gBankTarget] * 15 / 10; + if (gProtectStructs[gBattlerAttacker].helpingHand) + gWishFutureKnock.futureSightDmg[gBattlerTarget] = gWishFutureKnock.futureSightDmg[gBattlerTarget] * 15 / 10; if (gCurrentMove == MOVE_DOOM_DESIRE) gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -12913,12 +12911,12 @@ static void atkC3_trysetfutureattack(void) static void atkC4_trydobeatup(void) { register struct Pokemon* party asm("r7"); - if (GetBattlerSide(gBankAttacker) == 0) + if (GetBattlerSide(gBattlerAttacker) == 0) party = gPlayerParty; else party = gEnemyParty; - if (gBattleMons[gBankTarget].hp == 0) + if (gBattleMons[gBattlerTarget].hp == 0) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -12933,7 +12931,7 @@ static void atkC4_trydobeatup(void) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 4; - gBattleTextBuff1[2] = gBankAttacker; + gBattleTextBuff1[2] = gBattlerAttacker; gBattleTextBuff1[3] = gBattleCommunication[0]; gBattleTextBuff1[4] = 0xFF; gBattlescriptCurrInstr += 9; @@ -12941,9 +12939,9 @@ static void atkC4_trydobeatup(void) gBattleMoveDamage = gBaseStats[GetMonData(&party[gBattleCommunication[0]], MON_DATA_SPECIES)].baseAttack; gBattleMoveDamage *= gBattleMoves[gCurrentMove].power; gBattleMoveDamage *= (GetMonData(&party[gBattleCommunication[0]], MON_DATA_LEVEL) * 2 / 5 + 2); - gBattleMoveDamage /= gBaseStats[gBattleMons[gBankTarget].species].baseDefense; + gBattleMoveDamage /= gBaseStats[gBattleMons[gBattlerTarget].species].baseDefense; gBattleMoveDamage = (gBattleMoveDamage / 50) + 2; - if (gProtectStructs[gBankAttacker].helpingHand) + if (gProtectStructs[gBattlerAttacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; gBattleCommunication[0]++; @@ -12963,7 +12961,7 @@ static void atkC4_trydobeatup(void) mov r7, r9\n\ mov r6, r8\n\ push {r6,r7}\n\ - ldr r0, _08029A8C @ =gBankAttacker\n\ + ldr r0, _08029A8C @ =gBattlerAttacker\n\ ldrb r0, [r0]\n\ bl GetBattlerSide\n\ lsls r0, 24\n\ @@ -12973,7 +12971,7 @@ static void atkC4_trydobeatup(void) ldr r7, _08029A94 @ =gPlayerParty\n\ _08029A62:\n\ ldr r2, _08029A98 @ =gBattleMons\n\ - ldr r0, _08029A9C @ =gBankTarget\n\ + ldr r0, _08029A9C @ =gBattlerTarget\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ muls r0, r1\n\ @@ -12993,11 +12991,11 @@ _08029A62:\n\ ldrb r0, [r2, 0x4]\n\ b _08029C40\n\ .align 2, 0\n\ -_08029A8C: .4byte gBankAttacker\n\ +_08029A8C: .4byte gBattlerAttacker\n\ _08029A90: .4byte gEnemyParty\n\ _08029A94: .4byte gPlayerParty\n\ _08029A98: .4byte gBattleMons\n\ -_08029A9C: .4byte gBankTarget\n\ +_08029A9C: .4byte gBattlerTarget\n\ _08029AA0: .4byte gBattlescriptCurrInstr\n\ _08029AA4:\n\ ldr r6, _08029BE0 @ =gBattleCommunication\n\ @@ -13060,7 +13058,7 @@ _08029B08:\n\ strb r0, [r1]\n\ movs r0, 0x4\n\ strb r0, [r1, 0x1]\n\ - ldr r6, _08029BE8 @ =gBankAttacker\n\ + ldr r6, _08029BE8 @ =gBattlerAttacker\n\ ldrb r0, [r6]\n\ strb r0, [r1, 0x2]\n\ strb r2, [r1, 0x3]\n\ @@ -13113,7 +13111,7 @@ _08029B08:\n\ muls r0, r1\n\ str r0, [r2]\n\ ldr r3, _08029C00 @ =gBattleMons\n\ - ldr r1, _08029C04 @ =gBankTarget\n\ + ldr r1, _08029C04 @ =gBattlerTarget\n\ ldrb r2, [r1]\n\ movs r1, 0x58\n\ muls r1, r2\n\ @@ -13155,14 +13153,14 @@ _08029BD4:\n\ .align 2, 0\n\ _08029BE0: .4byte gBattleCommunication\n\ _08029BE4: .4byte gBattleTextBuff1\n\ -_08029BE8: .4byte gBankAttacker\n\ +_08029BE8: .4byte gBattlerAttacker\n\ _08029BEC: .4byte gBattlescriptCurrInstr\n\ _08029BF0: .4byte gBattleMoveDamage\n\ _08029BF4: .4byte gBaseStats\n\ _08029BF8: .4byte gBattleMoves\n\ _08029BFC: .4byte gCurrentMove\n\ _08029C00: .4byte gBattleMons\n\ -_08029C04: .4byte gBankTarget\n\ +_08029C04: .4byte gBattlerTarget\n\ _08029C08: .4byte gProtectStructs\n\ _08029C0C:\n\ mov r0, r8\n\ @@ -13215,13 +13213,13 @@ static void atkC5_setsemiinvulnerablebit(void) { case MOVE_FLY: case MOVE_BOUNCE: - gStatuses3[gBankAttacker] |= STATUS3_ON_AIR; + gStatuses3[gBattlerAttacker] |= STATUS3_ON_AIR; break; case MOVE_DIG: - gStatuses3[gBankAttacker] |= STATUS3_UNDERGROUND; + gStatuses3[gBattlerAttacker] |= STATUS3_UNDERGROUND; break; case MOVE_DIVE: - gStatuses3[gBankAttacker] |= STATUS3_UNDERWATER; + gStatuses3[gBattlerAttacker] |= STATUS3_UNDERWATER; break; } gBattlescriptCurrInstr++; @@ -13233,13 +13231,13 @@ static void atkC6_clearsemiinvulnerablebit(void) { case MOVE_FLY: case MOVE_BOUNCE: - gStatuses3[gBankAttacker] &= ~STATUS3_ON_AIR; + gStatuses3[gBattlerAttacker] &= ~STATUS3_ON_AIR; break; case MOVE_DIG: - gStatuses3[gBankAttacker] &= ~STATUS3_UNDERGROUND; + gStatuses3[gBattlerAttacker] &= ~STATUS3_UNDERGROUND; break; case MOVE_DIVE: - gStatuses3[gBankAttacker] &= ~STATUS3_UNDERWATER; + gStatuses3[gBattlerAttacker] &= ~STATUS3_UNDERWATER; break; } gBattlescriptCurrInstr++; @@ -13248,7 +13246,7 @@ static void atkC6_clearsemiinvulnerablebit(void) static void atkC7_setminimize(void) { if (gHitMarker & HITMARKER_OBEYS) - gStatuses3[gBankAttacker] |= STATUS3_MINIMIZED; + gStatuses3[gBattlerAttacker] |= STATUS3_MINIMIZED; gBattlescriptCurrInstr++; } @@ -13270,32 +13268,32 @@ static void atkC8_sethail(void) static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento { - if (gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] == 0 - && gBattleMons[gBankTarget].statStages[STAT_STAGE_SPATK] == 0 + if (gBattleMons[gBattlerTarget].statStages[STAT_STAGE_ATK] == 0 + && gBattleMons[gBattlerTarget].statStages[STAT_STAGE_SPATK] == 0 && gBattleCommunication[6] != 1) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - EmitHealthBarUpdate(0, 0x7FFF); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitHealthBarUpdate(0, 0x7FFF); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } } static void atkCA_setforcedtarget(void) //follow me { - gSideTimers[GetBattlerSide(gBankAttacker)].followmeTimer = 1; - gSideTimers[GetBattlerSide(gBankAttacker)].followmeTarget = gBankAttacker; + gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTimer = 1; + gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker; gBattlescriptCurrInstr++; } static void atkCB_setcharge(void) { - gStatuses3[gBankAttacker] |= STATUS3_CHARGED_UP; - gDisableStructs[gBankAttacker].chargeTimer1 = 2; - gDisableStructs[gBankAttacker].chargeTimer2 = 2; + gStatuses3[gBattlerAttacker] |= STATUS3_CHARGED_UP; + gDisableStructs[gBattlerAttacker].chargeTimer1 = 2; + gDisableStructs[gBattlerAttacker].chargeTimer2 = 2; gBattlescriptCurrInstr++; } @@ -13303,20 +13301,20 @@ static void atkCC_callterrainattack(void) //nature power { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = sNaturePowerMoves[gBattleTerrain]; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); gBattlescriptCurrInstr++; } static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh { - if (gBattleMons[gBankAttacker].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS | STATUS_TOXIC_POISON)) + if (gBattleMons[gBattlerAttacker].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS | STATUS_TOXIC_POISON)) { - gBattleMons[gBankAttacker].status1 = 0; + gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr += 5; - gActiveBattler = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -13324,18 +13322,18 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh static void atkCE_settorment(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_TORMENT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_TORMENT) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gBattleMons[gBankTarget].status2 |= STATUS2_TORMENT; + gBattleMons[gBattlerTarget].status2 |= STATUS2_TORMENT; gBattlescriptCurrInstr += 5; } } static void atkCF_jumpifnodamage(void) { - if (gProtectStructs[gBankAttacker].physicalDmg || gProtectStructs[gBankAttacker].specialDmg) + if (gProtectStructs[gBattlerAttacker].physicalDmg || gProtectStructs[gBattlerAttacker].specialDmg) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -13343,10 +13341,10 @@ static void atkCF_jumpifnodamage(void) static void atkD0_settaunt(void) { - if (gDisableStructs[gBankTarget].tauntTimer1 == 0) + if (gDisableStructs[gBattlerTarget].tauntTimer1 == 0) { - gDisableStructs[gBankTarget].tauntTimer1 = 2; - gDisableStructs[gBankTarget].tauntTimer2 = 2; + gDisableStructs[gBattlerTarget].tauntTimer1 = 2; + gDisableStructs[gBattlerTarget].tauntTimer2 = 2; gBattlescriptCurrInstr += 5; } else @@ -13355,11 +13353,11 @@ static void atkD0_settaunt(void) static void atkD1_trysethelpinghand(void) { - gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gBankTarget]) - && !gProtectStructs[gBankAttacker].helpingHand && !gProtectStructs[gBankTarget].helpingHand) + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + && !gProtectStructs[gBattlerAttacker].helpingHand && !gProtectStructs[gBattlerTarget].helpingHand) { - gProtectStructs[gBankTarget].helpingHand = 1; + gProtectStructs[gBattlerTarget].helpingHand = 1; gBattlescriptCurrInstr += 5; } else @@ -13369,9 +13367,9 @@ static void atkD1_trysethelpinghand(void) #ifdef NONMATCHING static void atkD2_tryswapitems(void) { - if ((GetBattlerSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == SECRET_BASE_OPPONENT)) + if ((GetBattlerSide(gBattlerAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == SECRET_BASE_OPPONENT)) { - u8 side = GetBattlerSide(gBankAttacker); + u8 side = GetBattlerSide(gBattlerAttacker); if (gBattleTypeFlags) } @@ -13389,7 +13387,7 @@ static void atkD2_tryswapitems(void) mov r5, r8\n\ push {r5-r7}\n\ sub sp, 0x4\n\ - ldr r0, _0802A30C @ =gBankAttacker\n\ + ldr r0, _0802A30C @ =gBattlerAttacker\n\ ldrb r0, [r0]\n\ bl GetBattlerSide\n\ lsls r0, 24\n\ @@ -13409,7 +13407,7 @@ static void atkD2_tryswapitems(void) cmp r1, r0\n\ bne _0802A2EE\n\ _0802A24C:\n\ - ldr r4, _0802A30C @ =gBankAttacker\n\ + ldr r4, _0802A30C @ =gBattlerAttacker\n\ ldrb r0, [r4]\n\ bl GetBattlerSide\n\ lsls r0, 24\n\ @@ -13445,7 +13443,7 @@ _0802A24C:\n\ _0802A290:\n\ ldr r0, _0802A328 @ =gBattleMons\n\ mov r9, r0\n\ - ldr r1, _0802A30C @ =gBankAttacker\n\ + ldr r1, _0802A30C @ =gBattlerAttacker\n\ ldrb r4, [r1]\n\ movs r2, 0x58\n\ mov r8, r2\n\ @@ -13457,7 +13455,7 @@ _0802A290:\n\ adds r1, r3, 0\n\ cmp r1, 0\n\ bne _0802A2BE\n\ - ldr r0, _0802A32C @ =gBankTarget\n\ + ldr r0, _0802A32C @ =gBattlerTarget\n\ ldrb r0, [r0]\n\ mov r2, r8\n\ muls r2, r0\n\ @@ -13469,7 +13467,7 @@ _0802A290:\n\ _0802A2BE:\n\ cmp r1, 0xAF\n\ beq _0802A2EE\n\ - ldr r7, _0802A32C @ =gBankTarget\n\ + ldr r7, _0802A32C @ =gBattlerTarget\n\ ldrb r0, [r7]\n\ mov r1, r8\n\ muls r1, r0\n\ @@ -13507,7 +13505,7 @@ _0802A2EE:\n\ str r1, [r3]\n\ b _0802A49A\n\ .align 2, 0\n\ -_0802A30C: .4byte gBankAttacker\n\ +_0802A30C: .4byte gBattlerAttacker\n\ _0802A310: .4byte gBattleTypeFlags\n\ _0802A314: .4byte 0x00000902\n\ _0802A318: .4byte gTrainerBattleOpponent\n\ @@ -13515,7 +13513,7 @@ _0802A31C: .4byte gWishFutureKnock\n\ _0802A320: .4byte gBitTable\n\ _0802A324: .4byte gBattlerPartyIndexes\n\ _0802A328: .4byte gBattleMons\n\ -_0802A32C: .4byte gBankTarget\n\ +_0802A32C: .4byte gBattlerTarget\n\ _0802A330: .4byte gBattlescriptCurrInstr\n\ _0802A334:\n\ adds r0, r2, 0\n\ @@ -13550,7 +13548,7 @@ _0802A36C:\n\ ldrh r5, [r5, 0x2E]\n\ mov r10, r5\n\ strh r1, [r6]\n\ - ldr r3, _0802A45C @ =gBankAttacker\n\ + ldr r3, _0802A45C @ =gBattlerAttacker\n\ ldrb r0, [r3]\n\ mov r1, r8\n\ muls r1, r0\n\ @@ -13566,7 +13564,7 @@ _0802A36C:\n\ mov r3, r10\n\ strh r3, [r0, 0x2E]\n\ ldr r5, _0802A460 @ =gActiveBattler\n\ - ldr r1, _0802A45C @ =gBankAttacker\n\ + ldr r1, _0802A45C @ =gBattlerAttacker\n\ ldrb r0, [r1]\n\ strb r0, [r5]\n\ str r6, [sp]\n\ @@ -13574,10 +13572,10 @@ _0802A36C:\n\ movs r1, 0x2\n\ movs r2, 0\n\ movs r3, 0x2\n\ - bl EmitSetMonData\n\ - ldr r2, _0802A45C @ =gBankAttacker\n\ + bl BtlController_EmitSetMonData\n\ + ldr r2, _0802A45C @ =gBattlerAttacker\n\ ldrb r0, [r2]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldrb r0, [r7]\n\ strb r0, [r5]\n\ ldrb r0, [r7]\n\ @@ -13592,9 +13590,9 @@ _0802A36C:\n\ movs r1, 0x2\n\ movs r2, 0\n\ movs r3, 0x2\n\ - bl EmitSetMonData\n\ + bl BtlController_EmitSetMonData\n\ ldrb r0, [r7]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldr r0, _0802A464 @ =0xfffe9f10\n\ adds r4, r0\n\ ldrb r0, [r7]\n\ @@ -13611,7 +13609,7 @@ _0802A36C:\n\ adds r0, r4\n\ movs r3, 0\n\ strb r3, [r0]\n\ - ldr r3, _0802A45C @ =gBankAttacker\n\ + ldr r3, _0802A45C @ =gBattlerAttacker\n\ ldrb r0, [r3]\n\ lsls r0, 1\n\ adds r0, r2\n\ @@ -13660,7 +13658,7 @@ _0802A36C:\n\ b _0802A498\n\ .align 2, 0\n\ _0802A458: .4byte gSharedMem + 0x160F0\n\ -_0802A45C: .4byte gBankAttacker\n\ +_0802A45C: .4byte gBattlerAttacker\n\ _0802A460: .4byte gActiveBattler\n\ _0802A464: .4byte 0xfffe9f10\n\ _0802A468: .4byte 0x000160e8\n\ @@ -13701,10 +13699,10 @@ _0802A4AC: .4byte gBattleCommunication\n\ static void atkD3_trycopyability(void) //role play { - if (gBattleMons[gBankTarget].ability != 0 && gBattleMons[gBankTarget].ability != ABILITY_WONDER_GUARD) + if (gBattleMons[gBattlerTarget].ability != 0 && gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD) { - gBattleMons[gBankAttacker].ability = gBattleMons[gBankTarget].ability; - gLastUsedAbility = gBattleMons[gBankTarget].ability; + gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; gBattlescriptCurrInstr += 5; } else @@ -13716,10 +13714,10 @@ static void atkD4_trywish(void) switch (T2_READ_8(gBattlescriptCurrInstr + 1)) { case 0: //use wish - if (gWishFutureKnock.wishCounter[gBankAttacker] == 0) + if (gWishFutureKnock.wishCounter[gBattlerAttacker] == 0) { - gWishFutureKnock.wishCounter[gBankAttacker] = 2; - gWishFutureKnock.wishUserID[gBankAttacker] = gBattlerPartyIndexes[gBankAttacker]; + gWishFutureKnock.wishCounter[gBattlerAttacker] = 2; + gWishFutureKnock.wishMonId[gBattlerAttacker] = gBattlerPartyIndexes[gBattlerAttacker]; gBattlescriptCurrInstr += 6; } else @@ -13728,14 +13726,14 @@ static void atkD4_trywish(void) case 1: //heal effect gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 4; - gBattleTextBuff1[2] = gBankTarget; - gBattleTextBuff1[3] = gWishFutureKnock.wishUserID[gBankTarget]; + gBattleTextBuff1[2] = gBattlerTarget; + gBattleTextBuff1[3] = gWishFutureKnock.wishMonId[gBattlerTarget]; gBattleTextBuff1[4] = 0xFF; - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) + if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; @@ -13745,43 +13743,43 @@ static void atkD4_trywish(void) static void atkD5_trysetroots(void) //ingrain { - if (gStatuses3[gBankAttacker] & STATUS3_ROOTED) + if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gStatuses3[gBankAttacker] |= STATUS3_ROOTED; + gStatuses3[gBattlerAttacker] |= STATUS3_ROOTED; gBattlescriptCurrInstr += 5; } } static void atkD6_doubledamagedealtifdamaged(void) { - if ((gProtectStructs[gBankAttacker].physicalDmg && gProtectStructs[gBankAttacker].physicalBank == gBankTarget) - || (gProtectStructs[gBankAttacker].specialDmg && gProtectStructs[gBankAttacker].specialBank == gBankTarget)) + if ((gProtectStructs[gBattlerAttacker].physicalDmg && gProtectStructs[gBattlerAttacker].physicalBattlerId == gBattlerTarget) + || (gProtectStructs[gBattlerAttacker].specialDmg && gProtectStructs[gBattlerAttacker].specialBattlerId == gBattlerTarget)) gBattleStruct->dmgMultiplier = 2; gBattlescriptCurrInstr++; } static void atkD7_setyawn(void) { - if (gStatuses3[gBankTarget] & STATUS3_YAWN || (u8) gBattleMons[gBankTarget].status1) + if (gStatuses3[gBattlerTarget] & STATUS3_YAWN || (u8) gBattleMons[gBattlerTarget].status1) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gStatuses3[gBankTarget] |= 0x1000; + gStatuses3[gBattlerTarget] |= 0x1000; gBattlescriptCurrInstr += 5; } } static void atkD8_setdamagetohealthdifference(void) { - if (gBattleMons[gBankTarget].hp <= gBattleMons[gBankAttacker].hp) + if (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerAttacker].hp) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { - gBattleMoveDamage = gBattleMons[gBankTarget].hp - gBattleMons[gBankAttacker].hp; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - gBattleMons[gBattlerAttacker].hp; gBattlescriptCurrInstr += 5; } } @@ -13791,7 +13789,7 @@ static void atkD9_scaledamagebyhealthratio(void) if (gDynamicBasePower == 0) { u8 power = gBattleMoves[gCurrentMove].power; - gDynamicBasePower = gBattleMons[gBankAttacker].hp * power / gBattleMons[gBankAttacker].maxHP; + gDynamicBasePower = gBattleMons[gBattlerAttacker].hp * power / gBattleMons[gBattlerAttacker].maxHP; if (gDynamicBasePower == 0) gDynamicBasePower = 1; } @@ -13800,15 +13798,15 @@ static void atkD9_scaledamagebyhealthratio(void) 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 + if ((gBattleMons[gBattlerAttacker].ability == 0 && gBattleMons[gBattlerTarget].ability == 0) + || gBattleMons[gBattlerAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD || gMoveResultFlags & MOVE_RESULT_NO_EFFECT) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - u8 atk_ability = gBattleMons[gBankAttacker].ability; - gBattleMons[gBankAttacker].ability = gBattleMons[gBankTarget].ability; - gBattleMons[gBankTarget].ability = atk_ability; + u8 atk_ability = gBattleMons[gBattlerAttacker].ability; + gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; + gBattleMons[gBattlerTarget].ability = atk_ability; gBattlescriptCurrInstr += 5; } } @@ -13816,14 +13814,14 @@ static void atkDA_tryswapabilities(void) static void atkDB_tryimprision(void) { u8 r8 = 0; - if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISIONED)) + if ((gStatuses3[gBattlerAttacker] & STATUS3_IMPRISIONED)) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { u8 bank; - PressurePPLoseOnUsingImprision(gBankAttacker); + PressurePPLoseOnUsingImprision(gBattlerAttacker); for (bank = 0; bank < gBattlersCount; bank++) { if (r8 != GetBattlerSide(bank)) @@ -13834,7 +13832,7 @@ static void atkDB_tryimprision(void) int k; for (k = 0; k < 4; k++) { - if (gBattleMons[gBankAttacker].moves[j] == gBattleMons[bank].moves[k] && gBattleMons[gBankAttacker].moves[j]) + if (gBattleMons[gBattlerAttacker].moves[j] == gBattleMons[bank].moves[k] && gBattleMons[gBattlerAttacker].moves[j]) break; } if (k != 4) @@ -13842,7 +13840,7 @@ static void atkDB_tryimprision(void) } if (j != 4) { - gStatuses3[gBankAttacker] |= STATUS3_IMPRISIONED; + gStatuses3[gBattlerAttacker] |= STATUS3_IMPRISIONED; gBattlescriptCurrInstr += 5; break; } @@ -13855,11 +13853,11 @@ static void atkDB_tryimprision(void) static void atkDC_trysetgrudge(void) { - if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE) + if (gStatuses3[gBattlerAttacker] & STATUS3_GRUDGE) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gStatuses3[gBankAttacker] |= STATUS3_GRUDGE; + gStatuses3[gBattlerAttacker] |= STATUS3_GRUDGE; gBattlescriptCurrInstr += 5; } } @@ -13869,7 +13867,7 @@ static void atkDD_weightdamagecalculation(void) int i; for (i = 0; sWeightToDamageTable[i] != 0xFFFF; i += 2) { - if (sWeightToDamageTable[i] > GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) + if (sWeightToDamageTable[i] > GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), 1)) break; } if (sWeightToDamageTable[i] != 0xFFFF) @@ -13886,14 +13884,14 @@ static void atkDE_asistattackselect(void) struct Pokemon* party; int i, j; u16* chooseable_moves; - if (GetBattlerPosition(gBankAttacker) & 1) + if (GetBattlerPosition(gBattlerAttacker) & 1) party = gEnemyParty; else party = gPlayerParty; for (i = 0; i < 6; i++) { - if (i == gBattlerPartyIndexes[gBankAttacker]) + if (i == gBattlerPartyIndexes[gBattlerAttacker]) break; if (!GetMonData(&party[i], MON_DATA_SPECIES2) || GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) break; @@ -13926,7 +13924,7 @@ static void atkDE_asistattackselect(void) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gRandomMove = gBattleStruct->assistMove[Random() % chooseable_moves_no]; - gBankTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gRandomMove, 0); gBattlescriptCurrInstr += 5; } else @@ -13946,7 +13944,7 @@ static void atkDE_asistattackselect(void) sub sp, 0x8\n\ movs r0, 0\n\ mov r10, r0\n\ - ldr r0, _0802AB9C @ =gBankAttacker\n\ + ldr r0, _0802AB9C @ =gBattlerAttacker\n\ ldrb r0, [r0]\n\ bl GetBattlerPosition\n\ movs r1, 0x1\n\ @@ -13961,7 +13959,7 @@ _0802AAAC:\n\ movs r2, 0\n\ _0802AAAE:\n\ ldr r1, _0802ABA8 @ =gBattlerPartyIndexes\n\ - ldr r0, _0802AB9C @ =gBankAttacker\n\ + ldr r0, _0802AB9C @ =gBattlerAttacker\n\ ldrb r0, [r0]\n\ lsls r0, 1\n\ adds r0, r1\n\ @@ -14071,7 +14069,7 @@ _0802AB54:\n\ ldrh r0, [r4]\n\ movs r1, 0\n\ bl GetMoveTarget\n\ - ldr r1, _0802ABC4 @ =gBankTarget\n\ + ldr r1, _0802ABC4 @ =gBattlerTarget\n\ strb r0, [r1]\n\ ldr r1, _0802ABC8 @ =gBattlescriptCurrInstr\n\ ldr r0, [r1]\n\ @@ -14079,7 +14077,7 @@ _0802AB54:\n\ str r0, [r1]\n\ b _0802ABE6\n\ .align 2, 0\n\ -_0802AB9C: .4byte gBankAttacker\n\ +_0802AB9C: .4byte gBattlerAttacker\n\ _0802ABA0: .4byte gPlayerParty\n\ _0802ABA4: .4byte gEnemyParty\n\ _0802ABA8: .4byte gBattlerPartyIndexes\n\ @@ -14089,7 +14087,7 @@ _0802ABB4: .4byte sMovesForbiddenToCopy\n\ _0802ABB8: .4byte gHitMarker\n\ _0802ABBC: .4byte 0xfffffbff\n\ _0802ABC0: .4byte gRandomMove\n\ -_0802ABC4: .4byte gBankTarget\n\ +_0802ABC4: .4byte gBattlerTarget\n\ _0802ABC8: .4byte gBattlescriptCurrInstr\n\ _0802ABCC:\n\ ldr r3, _0802ABF8 @ =gBattlescriptCurrInstr\n\ @@ -14123,25 +14121,25 @@ _0802ABF8: .4byte gBattlescriptCurrInstr\n\ static void atkDF_trysetmagiccoat(void) { - gBankTarget = gBankAttacker; - gSpecialStatuses[gBankAttacker].flag20 = 1; + gBattlerTarget = gBattlerAttacker; + gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; if (gCurrentTurnActionNumber == gBattlersCount - 1) //last turn gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gProtectStructs[gBankAttacker].bounceMove = 1; + gProtectStructs[gBattlerAttacker].bounceMove = 1; gBattlescriptCurrInstr += 5; } } static void atkE0_trysetsnatch(void) { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; if (gCurrentTurnActionNumber == gBattlersCount - 1) //last turn gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gProtectStructs[gBankAttacker].stealMove = 1; + gProtectStructs[gBattlerAttacker].stealMove = 1; gBattlescriptCurrInstr += 5; } } @@ -14157,15 +14155,15 @@ static void atkE1_trygetintimidatetarget(void) gBattleTextBuff1[2] = gBattleMons[gBattleStruct->scriptingActive].ability; gBattleTextBuff1[3] = 0xFF; - for (;gBankTarget < gBattlersCount; gBankTarget++) + for (;gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (GetBattlerSide(gBankTarget) == side) + if (GetBattlerSide(gBattlerTarget) == side) continue; - if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } - if (gBankTarget >= gBattlersCount) + if (gBattlerTarget >= gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; @@ -14178,8 +14176,8 @@ static void atkE2_switchoutabilities(void) { case ABILITY_NATURAL_CURE: gBattleMons[gActiveBattler].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[ewram16064arr(gActiveBattler)], 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[ewram16064arr(gActiveBattler)], 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } gBattlescriptCurrInstr += 2; @@ -14262,8 +14260,8 @@ static void atkE6_docastformchangeanimation(void) gActiveBattler = gBattleStruct->scriptingActive; if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) gBattleStruct->castformToChangeInto |= 0x80; - EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->castformToChangeInto); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->castformToChangeInto); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; } @@ -14284,18 +14282,18 @@ static void atkE8_settypebasedhalvers(void) //water/mud sport bool8 worked = FALSE; if (gBattleMoves[gCurrentMove].effect == EFFECT_MUD_SPORT) { - if (!(gStatuses3[gBankAttacker] & STATUS3_MUDSPORT)) + if (!(gStatuses3[gBattlerAttacker] & STATUS3_MUDSPORT)) { - gStatuses3[gBankAttacker] |= STATUS3_MUDSPORT; + gStatuses3[gBattlerAttacker] |= STATUS3_MUDSPORT; gBattleCommunication[MULTISTRING_CHOOSER] = 0; worked = TRUE; } } else //water sport { - if (!(gStatuses3[gBankAttacker] & STATUS3_WATERSPORT)) + if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT)) { - gStatuses3[gBankAttacker] |= STATUS3_WATERSPORT; + gStatuses3[gBattlerAttacker] |= STATUS3_WATERSPORT; gBattleCommunication[MULTISTRING_CHOOSER] = 1; worked = TRUE; } @@ -14329,15 +14327,15 @@ static void atkE9_setweatherballtype(void) static void atkEA_tryrecycleitem(void) { u16* used_item; - gActiveBattler = gBankAttacker; + gActiveBattler = gBattlerAttacker; used_item = USED_HELD_ITEM(gActiveBattler); if (*used_item && gBattleMons[gActiveBattler].item == 0) { gLastUsedItem = *used_item; *used_item = 0; gBattleMons[gActiveBattler].item = gLastUsedItem; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } else @@ -14346,10 +14344,10 @@ static void atkEA_tryrecycleitem(void) static void atkEB_settypetoterrain(void) { - if (gBattleMons[gBankAttacker].type1 != sTerrainToType[gBattleTerrain] && gBattleMons[gBankAttacker].type2 != sTerrainToType[gBattleTerrain]) + if (gBattleMons[gBattlerAttacker].type1 != sTerrainToType[gBattleTerrain] && gBattleMons[gBattlerAttacker].type2 != sTerrainToType[gBattleTerrain]) { - gBattleMons[gBankAttacker].type1 = sTerrainToType[gBattleTerrain]; - gBattleMons[gBankAttacker].type2 = sTerrainToType[gBattleTerrain]; + gBattleMons[gBattlerAttacker].type1 = sTerrainToType[gBattleTerrain]; + gBattleMons[gBattlerAttacker].type2 = sTerrainToType[gBattleTerrain]; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 3; gBattleTextBuff1[2] = sTerrainToType[gBattleTerrain]; @@ -14362,15 +14360,15 @@ static void atkEB_settypetoterrain(void) static void atkEC_pursuitrelated(void) { - gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) && gActionForBanks[gActiveBattler] == 0 && gChosenMovesByBanks[gActiveBattler] == MOVE_PURSUIT) { gActionsByTurnOrder[gActiveBattler] = 11; gCurrentMove = MOVE_PURSUIT; gBattlescriptCurrInstr += 5; gBattleStruct->animTurn = 1; - gBattleStruct->unk160A7 = gBankAttacker; - gBankAttacker = gActiveBattler; + gBattleStruct->unk160A7 = gBattlerAttacker; + gBattlerAttacker = gActiveBattler; } else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -14378,18 +14376,18 @@ static void atkEC_pursuitrelated(void) static void atkED_snatchsetbanks(void) { - gEffectBank = gBankAttacker; - if (gBankAttacker == gBankTarget) - gBankAttacker = gBankTarget = gBattleStruct->scriptingActive; + gEffectBattler = gBattlerAttacker; + if (gBattlerAttacker == gBattlerTarget) + gBattlerAttacker = gBattlerTarget = gBattleStruct->scriptingActive; else - gBankTarget = gBattleStruct->scriptingActive; - gBattleStruct->scriptingActive = gEffectBank; + gBattlerTarget = gBattleStruct->scriptingActive; + gBattleStruct->scriptingActive = gEffectBattler; gBattlescriptCurrInstr++; } static void atkEE_removelightscreenreflect(void) //brick break { - u8 side = GetBattlerSide(gBankAttacker) ^ 1; + u8 side = GetBattlerSide(gBattlerAttacker) ^ 1; if (gSideTimers[side].reflectTimer || gSideTimers[side].lightscreenTimer) { gSideAffecting[side] &= ~(SIDE_STATUS_REFLECT); @@ -14410,21 +14408,21 @@ static void atkEE_removelightscreenreflect(void) //brick break void atkEF_handleballthrow(void) { u8 ball_multiplier = 0; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBattler = gBankAttacker; - gBankTarget = gBankAttacker ^ 1; + gActiveBattler = gBattlerAttacker; + gBattlerTarget = gBattlerAttacker ^ 1; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - EmitBallThrow(0, 5); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBallThrowAnim(0, 5); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - EmitBallThrow(0, 4); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBallThrowAnim(0, 4); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } else @@ -14434,13 +14432,13 @@ void atkEF_handleballthrow(void) if (gLastUsedItem == ITEM_SAFARI_BALL) catch_rate = gBattleStruct->unk16089 * 1275 / 100; //correct the name to safariFleeRate else - catch_rate = gBaseStats[gBattleMons[gBankTarget].species].catchRate; + catch_rate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate; if (gLastUsedItem > 5) { switch (gLastUsedItem) { case ITEM_NET_BALL: - if (gBattleMons[gBankTarget].type1 == TYPE_WATER || gBattleMons[gBankTarget].type2 == TYPE_WATER || gBattleMons[gBankTarget].type1 == TYPE_BUG || gBattleMons[gBankTarget].type2 == TYPE_BUG) + if (gBattleMons[gBattlerTarget].type1 == TYPE_WATER || gBattleMons[gBattlerTarget].type2 == TYPE_WATER || gBattleMons[gBattlerTarget].type1 == TYPE_BUG || gBattleMons[gBattlerTarget].type2 == TYPE_BUG) ball_multiplier = 30; else ball_multiplier = 10; @@ -14452,9 +14450,9 @@ void atkEF_handleballthrow(void) ball_multiplier = 10; break; case ITEM_NEST_BALL: - if (gBattleMons[gBankTarget].level <= 39) + if (gBattleMons[gBattlerTarget].level <= 39) { - ball_multiplier = 40 - gBattleMons[gBankTarget].level; + ball_multiplier = 40 - gBattleMons[gBattlerTarget].level; if (ball_multiplier <= 9) ball_multiplier = 10; } @@ -14462,7 +14460,7 @@ void atkEF_handleballthrow(void) ball_multiplier = 10; break; case ITEM_REPEAT_BALL: - if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), 1)) ball_multiplier = 30; else ball_multiplier = 10; @@ -14481,10 +14479,10 @@ void atkEF_handleballthrow(void) else ball_multiplier = sBallCatchBonuses[gLastUsedItem - 2]; - odds = (catch_rate * ball_multiplier / 10) * (gBattleMons[gBankTarget].maxHP * 3 - gBattleMons[gBankTarget].hp * 2) / (3 * gBattleMons[gBankTarget].maxHP); - if (gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) + odds = (catch_rate * ball_multiplier / 10) * (gBattleMons[gBattlerTarget].maxHP * 3 - gBattleMons[gBattlerTarget].hp * 2) / (3 * gBattleMons[gBattlerTarget].maxHP); + if (gBattleMons[gBattlerTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) odds *= 2; - if (gBattleMons[gBankTarget].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS /*| STATUS_TOXIC_POISON */)) //nice one gf + if (gBattleMons[gBattlerTarget].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS /*| STATUS_TOXIC_POISON */)) //nice one gf odds = (odds * 15) / 10; if (gLastUsedItem != ITEM_SAFARI_BALL) @@ -14501,10 +14499,10 @@ void atkEF_handleballthrow(void) } if (odds > 254) //poke caught { - EmitBallThrow(0, 4); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBallThrowAnim(0, 4); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else @@ -14518,12 +14516,12 @@ void atkEF_handleballthrow(void) for (shakes = 0; shakes < 4 && Random() < odds; shakes++) {} if (gLastUsedItem == ITEM_MASTER_BALL) shakes = 4; //why calculate the shakes before that check? - EmitBallThrow(0, shakes); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitBallThrowAnim(0, shakes); + MarkBattlerForControllerExec(gActiveBattler); if (shakes == 4) //poke caught, copy of the code above { gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else @@ -14540,23 +14538,23 @@ void atkEF_handleballthrow(void) static void atkF0_givecaughtmon(void) { - GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]]); - gBattleResults.caughtPoke = gBattleMons[gBankAttacker ^ 1].species; - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick); + GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ 1]]); + gBattleResults.caughtPoke = gBattleMons[gBattlerAttacker ^ 1].species; + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick); gBattlescriptCurrInstr++; } static void atkF1_trysetcaughtmondexflags(void) { - if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), 1)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3); - if (gBattleMons[gBankTarget].species == SPECIES_UNOWN) - gSaveBlock2.pokedex.unownPersonality = gBattleMons[gBankTarget].personality; - if (gBattleMons[gBankTarget].species == SPECIES_SPINDA) //else if - gSaveBlock2.pokedex.spindaPersonality = gBattleMons[gBankTarget].personality; + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), 3); + if (gBattleMons[gBattlerTarget].species == SPECIES_UNOWN) + gSaveBlock2.pokedex.unownPersonality = gBattleMons[gBattlerTarget].personality; + if (gBattleMons[gBattlerTarget].species == SPECIES_SPINDA) //else if + gSaveBlock2.pokedex.spindaPersonality = gBattleMons[gBattlerTarget].personality; gBattlescriptCurrInstr += 5; } } @@ -14576,7 +14574,7 @@ static void atkF2_displaydexinfo(void) case 1: if (!gPaletteFade.active) { - gBattleCommunication[1] = sub_809070C(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), gBattleMons[gBankTarget].otId, gBattleMons[gBankTarget].personality); + gBattleCommunication[1] = sub_809070C(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), gBattleMons[gBattlerTarget].otId, gBattleMons[gBattlerTarget].personality); gBattleCommunication[0]++; } break; @@ -14744,15 +14742,15 @@ static void atkF3_trygivecaughtmonnick(void) case 2: if (!gPaletteFade.active) { - 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); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); + DoNamingScreen(2, gBattleStruct->caughtNick, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ 1]], MON_DATA_PERSONALITY, 0), BattleMainCB2); gBattleCommunication[0]++; } break; case 3: if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active ) { - SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } break; @@ -14767,13 +14765,13 @@ static void atkF3_trygivecaughtmonnick(void) static void atkF4_subattackerhpbydmg(void) { - gBattleMons[gBankAttacker].hp -= gBattleMoveDamage; + gBattleMons[gBattlerAttacker].hp -= gBattleMoveDamage; gBattlescriptCurrInstr++; } static void atkF5_removeattackerstatus1(void) { - gBattleMons[gBankAttacker].status1 = 0; + gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr++; } diff --git a/src/battle_setup.c b/src/battle_setup.c index c457cc8ec..2ad57e961 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -484,7 +484,7 @@ static void Task_BattleStart(u8 taskId) case 1: if (IsBattleTransitionDone() == TRUE) { - SetMainCallback2(sub_800E7C4); + SetMainCallback2(CB2_InitBattle); RestartWildEncounterImmunitySteps(); ClearPoisonStepCounter(); DestroyTask(taskId); @@ -887,7 +887,7 @@ static void CB2_StartFirstBattle(void) { gBattleTypeFlags = BATTLE_TYPE_FIRST_BATTLE; gMain.savedCallback = CB2_EndFirstBattle; - SetMainCallback2(sub_800E7C4); + SetMainCallback2(CB2_InitBattle); RestartWildEncounterImmunitySteps(); ClearPoisonStepCounter(); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); diff --git a/src/battle_tower.c b/src/battle_tower.c index 7adfc6f7c..8449b7e42 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -1290,7 +1290,7 @@ void sub_8135534(u8 taskId) if (IsBattleTransitionDone() == TRUE) { gMain.savedCallback = sub_81354CC; - SetMainCallback2(sub_800E7C4); + SetMainCallback2(CB2_InitBattle); DestroyTask(taskId); } } diff --git a/src/battle_util.c b/src/battle_util.c index 3d1770239..1825d7a2c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -31,15 +31,15 @@ extern u8* gSelectionBattleScripts[4]; //battlescript location when you try to c extern u16 gLastUsedMove[4]; extern struct BattlePokemon gBattleMons[4]; extern struct BattleEnigmaBerry gEnigmaBerries[4]; -extern u8 gStringBank; +extern u8 gPotentialItemEffectBattler; extern u16 gLastUsedItem; extern u16 gCurrentMove; extern const u32 gBitTable[]; extern u16 gBattleTypeFlags; extern u8 gBattlersCount; extern u32 gStatuses3[4]; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u8 gBanksByTurnOrder[4]; extern u16 gSideAffecting[2]; extern u16 gBattleWeather; @@ -47,7 +47,7 @@ extern void (*gBattleMainFunc)(void); extern u8 gAbsentBattlerFlags; extern u8 gBattleCommunication[]; extern u32 gHitMarker; -extern u8 gEffectBank; +extern u8 gEffectBattler; extern u8 gBank1; extern s32 gBattleMoveDamage; extern u16 gBattlerPartyIndexes[4]; @@ -64,7 +64,7 @@ extern u8 gCurrMovePos; extern u16 gRandomMove; extern s32 gBattleMoveDamage; extern u16 gDynamicBasePower; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u8 gSentPokesToOpponent[2]; extern const u16 gSoundMovesTable[]; extern const u8 gStatusConditionString_PoisonJpn[]; @@ -213,13 +213,13 @@ u8 GetBattleBank(u8 caseId) switch (caseId) { case BS_GET_TARGET: - ret = gBankTarget; + ret = gBattlerTarget; break; case BS_GET_ATTACKER: - ret = gBankAttacker; + ret = gBattlerAttacker; break; case BS_GET_EFFECT_BANK: - ret = gEffectBank; + ret = gEffectBattler; break; case BS_GET_BANK_0: ret = 0; @@ -260,8 +260,8 @@ void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[i])) { gActiveBattler = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -294,8 +294,8 @@ void PressurePPLoseOnUsingImprision(u8 bankAtk) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[imprisionPos])) { gActiveBattler = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -327,8 +327,8 @@ void PressurePPLoseOnUsingPerishSong(u8 bankAtk) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[perishSongPos])) { gActiveBattler = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -340,25 +340,21 @@ void MarkAllBufferBanksForExecution(void) // unused if (gBattleTypeFlags & BATTLE_TYPE_LINK) { for (i = 0; i < gBattlersCount; i++) - gBattleExecBuffer |= gBitTable[i] << 0x1C; + gBattleControllerExecFlags |= gBitTable[i] << 0x1C; } else { for (i = 0; i < gBattlersCount; i++) - gBattleExecBuffer |= gBitTable[i]; + gBattleControllerExecFlags |= gBitTable[i]; } } -void MarkBufferBankForExecution(u8 bank) +void MarkBattlerForControllerExec(u8 bank) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - gBattleExecBuffer |= gBitTable[bank] << 0x1C; - } + gBattleControllerExecFlags |= gBitTable[bank] << 0x1C; else - { - gBattleExecBuffer |= gBitTable[bank]; - } + gBattleControllerExecFlags |= gBitTable[bank]; } void sub_80155A4(u8 arg0) @@ -366,9 +362,9 @@ void sub_80155A4(u8 arg0) s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - gBattleExecBuffer |= gBitTable[arg0] << (i << 2); + gBattleControllerExecFlags |= gBitTable[arg0] << (i << 2); - gBattleExecBuffer &= ~(0x10000000 << arg0); + gBattleControllerExecFlags &= ~(0x10000000 << arg0); } void CancelMultiTurnMoves(u8 bank) @@ -387,8 +383,8 @@ void CancelMultiTurnMoves(u8 bank) bool8 WasUnableToUseMove(u8 bank) { if (gProtectStructs[bank].prlzImmobility - || gProtectStructs[bank].notEffective - || gProtectStructs[bank].usedImprisionedMove + || gProtectStructs[bank].targetNotAffected + || gProtectStructs[bank].usedImprisonedMove || gProtectStructs[bank].loveImmobility || gProtectStructs[bank].usedDisabledMove || gProtectStructs[bank].usedTauntedMove @@ -403,8 +399,8 @@ bool8 WasUnableToUseMove(u8 bank) void PrepareStringBattle(u16 stringId, u8 bank) { gActiveBattler = bank; - EmitPrintString(0, stringId); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitPrintString(0, stringId); + MarkBattlerForControllerExec(gActiveBattler); } void ResetSentPokesToOpponentValue(void) @@ -477,6 +473,7 @@ u8 TrySetCantSelectMoveBattleScript(void) //msg can't select a move u16 move = gBattleMons[gActiveBattler].moves[gBattleBufferB[gActiveBattler][2]]; u8 holdEffect; u16* choicedMove = CHOICED_MOVE(gActiveBattler); + if (gDisableStructs[gActiveBattler].disabledMove == move && move) { gBattleStruct->scriptingActive = gActiveBattler; @@ -502,11 +499,14 @@ u8 TrySetCantSelectMoveBattleScript(void) //msg can't select a move gSelectionBattleScripts[gActiveBattler] = BattleScript_MoveSelectionImprisoned; limitations++; } + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); - gStringBank = gActiveBattler; + + gPotentialItemEffectBattler = gActiveBattler; + if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != move) { gCurrentMove = *choicedMove; @@ -538,7 +538,7 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) holdEffect = gEnigmaBerries[bank].holdEffect; else holdEffect = ItemId_GetHoldEffect(gBattleMons[bank].item); - gStringBank = bank; + gPotentialItemEffectBattler = bank; for (i = 0; i < 4; i++) { if (gBattleMons[bank].moves[i] == 0 && check & MOVE_LIMITATION_ZEROMOVE) @@ -567,7 +567,7 @@ bool8 AreAllMovesUnusable(void) unusable = CheckMoveLimitations(gActiveBattler, 0, 0xFF); if (unusable == 0xF) //all moves are unusable { - gProtectStructs[gActiveBattler].onlyStruggle = 1; + gProtectStructs[gActiveBattler].noValidMoves = 1; gSelectionBattleScripts[gActiveBattler] = BattleScript_NoMovesLeft; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) ^ 1) | (Random() & 2)); @@ -575,7 +575,7 @@ bool8 AreAllMovesUnusable(void) gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ 1); } else - gProtectStructs[gActiveBattler].onlyStruggle = 0; + gProtectStructs[gActiveBattler].noValidMoves = 0; return (unusable == 0xF); } @@ -606,10 +606,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBankAttacker = 0; gBankAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBankAttacker]; gBankAttacker++) + for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerAttacker]; gBattlerAttacker++) { } - for (gBankTarget = 0; gBankTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBankTarget]; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerTarget]; gBattlerTarget++) { } @@ -638,7 +638,7 @@ u8 UpdateTurnCounters(void) case 1: while (gBattleStruct->turnSideTracker < 2) { - gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_REFLECT) { @@ -668,7 +668,7 @@ u8 UpdateTurnCounters(void) case 2: while (gBattleStruct->turnSideTracker < 2) { - gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = 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) { - gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = 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) { - gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) @@ -749,7 +749,7 @@ u8 UpdateTurnCounters(void) gActiveBattler = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; if (gWishFutureKnock.wishCounter[gActiveBattler] && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp) { - gBankTarget = gActiveBattler; + gBattlerTarget = gActiveBattler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -856,7 +856,7 @@ u8 TurnBasedEffects(void) gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); while (gBattleStruct->turnEffectsBank < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; + gActiveBattler = gBattlerAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBank++; @@ -897,12 +897,12 @@ u8 TurnBasedEffects(void) case 3: // leech seed if (gStatuses3[gActiveBattler] & STATUS3_LEECHSEED && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBattler].hp != 0) { - gBankTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBattlerTarget = 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; - gBattleStruct->animArg2 = gBankAttacker; + gBattleStruct->animArg1 = gBattlerTarget; + gBattleStruct->animArg2 = gBattlerAttacker; BattleScriptExecute(BattleScript_LeechSeedTurnDrain); effect++; } @@ -1002,29 +1002,29 @@ u8 TurnBasedEffects(void) case 10: // uproar if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { - for (gBankAttacker = 0; gBankAttacker < gBattlersCount; gBankAttacker++) + for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount; gBattlerAttacker++) { - if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) - && gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) + if ((gBattleMons[gBattlerAttacker].status1 & STATUS_SLEEP) + && gBattleMons[gBattlerAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS_SLEEP); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - gActiveBattler = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } } - if (gBankAttacker != gBattlersCount) + if (gBattlerAttacker != gBattlersCount) { effect = 2; // a pokemon was awaken break; } else { - gBankAttacker = gActiveBattler; + gBattlerAttacker = gActiveBattler; gBattleMons[gActiveBattler].status2 -= 0x10; // uproar timer goes down if (WasUnableToUseMove(gActiveBattler)) { @@ -1137,9 +1137,9 @@ u8 TurnBasedEffects(void) { CancelMultiTurnMoves(gActiveBattler); gBattleMons[gActiveBattler].status1 |= (Random() & 3) + 2; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); - gEffectBank = gActiveBattler; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + gEffectBattler = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); effect++; } @@ -1184,10 +1184,10 @@ bool8 HandleWishPerishSongOnTurnEnd(void) gBattleTextBuff1[2] = gWishFutureKnock.futureSightMove[gActiveBattler]; gBattleTextBuff1[3] = gWishFutureKnock.futureSightMove[gActiveBattler] >> 8; gBattleTextBuff1[4] = 0xFF; - gBankTarget = gActiveBattler; - gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattlerTarget = gActiveBattler; + gBattlerAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; + gSpecialStatuses[gBattlerTarget].dmg = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); return 1; } @@ -1198,7 +1198,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) case 1: // perish song while (gBattleStruct->sub80170DC_Bank < gBattlersCount) { - gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; + gActiveBattler = gBattlerAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gBattleStruct->sub80170DC_Bank++; else @@ -1256,7 +1256,7 @@ bool8 HandleFaintedMonActions(void) case 1: do { - gBank1 = gBankTarget = gBattleStruct->unk1605A; + gBank1 = gBattlerTarget = gBattleStruct->unk1605A; if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlerPartyIndexes[gBattleStruct->unk1605A]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) { BattleScriptExecute(BattleScript_GiveExp); @@ -1279,7 +1279,7 @@ bool8 HandleFaintedMonActions(void) case 4: do { - gBank1 = gBankTarget = gBattleStruct->unk1605A; //or should banks be switched? + gBank1 = gBattlerTarget = gBattleStruct->unk1605A; //or should banks be switched? if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) { BattleScriptExecute(BattleScript_HandleFaintedMon); @@ -1328,17 +1328,17 @@ u8 AtkCanceller_UnableToUseMove(void) switch (gBattleStruct->atkCancellerTracker) { case 0: // flags clear - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_DESTINY_BOND); - gStatuses3[gBankAttacker] &= ~(STATUS3_GRUDGE); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_DESTINY_BOND); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_GRUDGE); gBattleStruct->atkCancellerTracker++; break; case 1: // check being asleep - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) + if (gBattleMons[gBattlerAttacker].status1 & STATUS_SLEEP) { - if (UproarWakeUpCheck(gBankAttacker)) + if (UproarWakeUpCheck(gBattlerAttacker)) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS_SLEEP); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 1; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1347,15 +1347,15 @@ u8 AtkCanceller_UnableToUseMove(void) else { u8 toSub; - if (gBattleMons[gBankAttacker].ability == ABILITY_EARLY_BIRD) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; - if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) < toSub) - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); + if ((gBattleMons[gBattlerAttacker].status1 & STATUS_SLEEP) < toSub) + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS_SLEEP); else - gBattleMons[gBankAttacker].status1 -= toSub; - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) + gBattleMons[gBattlerAttacker].status1 -= toSub; + if (gBattleMons[gBattlerAttacker].status1 & STATUS_SLEEP) { if (gCurrentMove != MOVE_SNORE && gCurrentMove != MOVE_SLEEP_TALK) { @@ -1366,7 +1366,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1377,7 +1377,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 2: // check being frozen - if (gBattleMons[gBankAttacker].status1 & STATUS_FREEZE) + if (gBattleMons[gBattlerAttacker].status1 & STATUS_FREEZE) { if (Random() % 5) { @@ -1394,7 +1394,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else // unfreeze { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_FREEZE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -1404,9 +1404,9 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 3: // truant - if (gBattleMons[gBankAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBankAttacker].truantCounter) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattlerAttacker].truantCounter) { - CancelMultiTurnMoves(gBankAttacker); + CancelMultiTurnMoves(gBattlerAttacker); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; @@ -1416,11 +1416,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 4: // recharge - if (gBattleMons[gBankAttacker].status2 & STATUS2_RECHARGE) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE) { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RECHARGE); - gDisableStructs[gBankAttacker].rechargeCounter = 0; - CancelMultiTurnMoves(gBankAttacker); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RECHARGE); + gDisableStructs[gBattlerAttacker].rechargeCounter = 0; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedMustRecharge; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1428,11 +1428,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 5: // flinch - if (gBattleMons[gBankAttacker].status2 & STATUS2_FLINCHED) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FLINCHED) { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_FLINCHED); - gProtectStructs[gBankAttacker].flinchImmobility = 1; - CancelMultiTurnMoves(gBankAttacker); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_FLINCHED); + gProtectStructs[gBattlerAttacker].flinchImmobility = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedFlinched; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1440,11 +1440,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 6: // disabled move - if (gDisableStructs[gBankAttacker].disabledMove == gCurrentMove && gDisableStructs[gBankAttacker].disabledMove != 0) + if (gDisableStructs[gBattlerAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattlerAttacker].disabledMove != 0) { - gProtectStructs[gBankAttacker].usedDisabledMove = 1; - gBattleStruct->scriptingActive = gBankAttacker; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].usedDisabledMove = 1; + gBattleStruct->scriptingActive = gBattlerAttacker; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsDisabled; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1452,10 +1452,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 7: // taunt - if (gDisableStructs[gBankAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) + if (gDisableStructs[gBattlerAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) { - gProtectStructs[gBankAttacker].usedTauntedMove = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].usedTauntedMove = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsTaunted; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1463,10 +1463,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 8: // imprisoned - if (IsImprisoned(gBankAttacker, gCurrentMove)) + if (IsImprisoned(gBattlerAttacker, gCurrentMove)) { - gProtectStructs[gBankAttacker].usedImprisionedMove = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].usedImprisonedMove = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsImprisoned; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1474,10 +1474,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 9: // confusion - if (gBattleMons[gBankAttacker].status2 & STATUS2_CONFUSION) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { - gBattleMons[gBankAttacker].status2--; - if (gBattleMons[gBankAttacker].status2 & STATUS2_CONFUSION) + gBattleMons[gBattlerAttacker].status2--; + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { if (Random() & 1) { @@ -1487,9 +1487,9 @@ u8 AtkCanceller_UnableToUseMove(void) else // confusion dmg { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBankTarget = gBankAttacker; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); - gProtectStructs[gBankAttacker].confusionSelfDmg = 1; + gBattlerTarget = gBattlerAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker); + gProtectStructs[gBattlerAttacker].confusionSelfDmg = 1; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; } gBattlescriptCurrInstr = BattleScript_MoveUsedIsConfused; @@ -1504,10 +1504,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 10: // paralysis - if (gBattleMons[gBankAttacker].status1 & STATUS_PARALYSIS && (Random() % 4) == 0) + if (gBattleMons[gBattlerAttacker].status1 & STATUS_PARALYSIS && (Random() % 4) == 0) { - gProtectStructs[gBankAttacker].prlzImmobility = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].prlzImmobility = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsParalyzed; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1515,17 +1515,17 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 11: // infatuation - if (gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) { - gBattleStruct->scriptingActive = CountTrailingZeroBits((gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) >> 0x10); + gBattleStruct->scriptingActive = CountTrailingZeroBits((gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) >> 0x10); if (Random() & 1) BattleScriptPushCursor(); else { BattleScriptPush(BattleScript_MoveUsedIsParalyzedCantAttack); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; - gProtectStructs[gBankAttacker].loveImmobility = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].loveImmobility = 1; + CancelMultiTurnMoves(gBattlerAttacker); } gBattlescriptCurrInstr = BattleScript_MoveUsedIsInLove; effect = 1; @@ -1533,21 +1533,21 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 12: // bide - if (gBattleMons[gBankAttacker].status2 & STATUS2_BIDE) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) { - gBattleMons[gBankAttacker].status2 -= 0x100; - if (gBattleMons[gBankAttacker].status2 & STATUS2_BIDE) + gBattleMons[gBattlerAttacker].status2 -= 0x100; + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) gBattlescriptCurrInstr = BattleScript_BideStoringEnergy; else { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); - if (gTakenDmg[gBankAttacker]) + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); + if (gTakenDmg[gBattlerAttacker]) { gCurrentMove = MOVE_BIDE; - *bideDmg = gTakenDmg[gBankAttacker] * 2; - gBankTarget = gTakenDmgBanks[gBankAttacker]; - if (gAbsentBattlerFlags & gBitTable[gBankTarget]) - gBankTarget = GetMoveTarget(MOVE_BIDE, 1); + *bideDmg = gTakenDmg[gBattlerAttacker] * 2; + gBattlerTarget = gTakenDmgBanks[gBattlerAttacker]; + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } else @@ -1558,11 +1558,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 13: // move thawing - if (gBattleMons[gBankAttacker].status1 & STATUS_FREEZE) + if (gBattleMons[gBattlerAttacker].status1 & STATUS_FREEZE) { if (gBattleMoves[gCurrentMove].effect == EFFECT_THAW_HIT) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_FREEZE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -1579,9 +1579,9 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { - gActiveBattler = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } return effect; } @@ -1695,19 +1695,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) u32 pidAtk; u32 pidDef; - if (gBankAttacker >= gBattlersCount) - gBankAttacker = bank; - if (GetBattlerSide(gBankAttacker) == 0) - pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; + if (gBattlerAttacker >= gBattlersCount) + gBattlerAttacker = bank; + if (GetBattlerSide(gBattlerAttacker) == 0) + pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; else - pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; + pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]]; - if (gBankTarget >= gBattlersCount) - gBankTarget = bank; - if (GetBattlerSide(gBankTarget) == 0) - pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; + if (gBattlerTarget >= gBattlersCount) + gBattlerTarget = bank; + if (GetBattlerSide(gBattlerTarget) == 0) + pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]; else - pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; + pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -1741,8 +1741,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBankAttacker >= gBattlersCount) - gBankAttacker = bank; + if (gBattlerAttacker >= gBattlersCount) + gBattlerAttacker = bank; switch (gLastUsedAbility) { case 0xFF: //weather from overworld @@ -1812,10 +1812,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_INTIMIDATE: - if (!(gSpecialStatuses[bank].intimidatedPoke)) + if (!(gSpecialStatuses[bank].intimidatedMon)) { gStatuses3[bank] |= STATUS3_INTIMIDATE_POKES; - gSpecialStatuses[bank].intimidatedPoke = 1; + gSpecialStatuses[bank].intimidatedMon = 1; } break; case ABILITY_FORECAST: @@ -1856,7 +1856,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITYEFFECT_ENDTURN: // 1 if (gBattleMons[bank].hp != 0) { - gBankAttacker = bank; + gBattlerAttacker = bank; switch (gLastUsedAbility) { case ABILITY_RAIN_DISH: @@ -1890,8 +1890,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) //gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); gBattleStruct->scriptingActive = gActiveBattler = bank; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); + MarkBattlerForControllerExec(gActiveBattler); effect++; } break; @@ -1907,7 +1907,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_TRUANT: - gDisableStructs[gBankAttacker].truantCounter ^= 1; + gDisableStructs[gBattlerAttacker].truantCounter ^= 1; break; } } @@ -1922,7 +1922,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } if (gSoundMovesTable[i] != 0xFFFF) { - if (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; gBattlescriptCurrInstr = BattleScript_SoundproofProtected; effect = 1; @@ -1937,7 +1937,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_VOLT_ABSORB: if (moveType == TYPE_ELECTRIC && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -1947,7 +1947,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_WATER_ABSORB: if (moveType == TYPE_WATER && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -1960,7 +1960,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(eFlashFireArr.arr[bank] & 1)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -1970,7 +1970,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -1983,7 +1983,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { if (gBattleMons[bank].maxHP == gBattleMons[bank].hp) { - if ((gProtectStructs[gBankAttacker].notFirstStrike)) + if ((gProtectStructs[gBattlerAttacker].notFirstStrike)) gBattlescriptCurrInstr = BattleScript_MoveHPDrain_FullHP; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_FullHP_PPLoss; @@ -2005,7 +2005,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && gBattleMons[bank].type1 != moveType && gBattleMons[bank].type2 != moveType && gBattleMons[bank].hp != 0) @@ -2023,12 +2023,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_ROUGH_SKIN: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptPushCursor(); @@ -2040,9 +2040,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (DEBUG && (gUnknown_02023A14_50 & 4)) { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { do @@ -2061,9 +2061,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (Random() % 10) == 0) { @@ -2085,9 +2085,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (DEBUG && (gUnknown_02023A14_50 & 4)) { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x42; @@ -2100,9 +2100,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2118,9 +2118,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (DEBUG && (gUnknown_02023A14_50 & 4)) { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x45; @@ -2133,9 +2133,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2151,10 +2151,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (DEBUG && (gUnknown_02023A14_50 & 4)) { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & F_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special)) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x43; BattleScriptPushCursor(); @@ -2166,10 +2166,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & F_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x43; @@ -2184,18 +2184,18 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (DEBUG && (gUnknown_02023A14_50 & 4)) { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & F_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && gBattleMons[gBankTarget].hp != 0 - && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) + && gBattleMons[gBattlerTarget].hp != 0 + && gBattleMons[gBattlerAttacker].ability != ABILITY_OBLIVIOUS && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) - && !(gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != 0xFF && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != 0xFF) { - gBattleMons[gBankAttacker].status2 |= (gBitTable[gBankTarget] << 0x10); + gBattleMons[gBattlerAttacker].status2 |= (gBitTable[gBattlerTarget] << 0x10); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; effect++; @@ -2204,19 +2204,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else { if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & F_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && gBattleMons[gBankTarget].hp != 0 + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) + && gBattleMons[gBattlerTarget].hp != 0 && (Random() % 3) == 0 - && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS + && gBattleMons[gBattlerAttacker].ability != ABILITY_OBLIVIOUS && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) - && !(gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != 0xFF && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != 0xFF) { - gBattleMons[gBankAttacker].status2 |= (gBitTable[gBankTarget] << 0x10); + gBattleMons[gBattlerAttacker].status2 |= (gBitTable[gBattlerTarget] << 0x10); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; effect++; @@ -2301,8 +2301,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleStruct->scriptingActive = bank; gActiveBattler = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); return effect; } } @@ -2334,7 +2334,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleStruct->synchroniseEffect == 6) gBattleStruct->synchroniseEffect = 2; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchroniseEffect + 0x40; - gBattleStruct->scriptingActive = gBankTarget; + gBattleStruct->scriptingActive = gBattlerTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2349,7 +2349,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleStruct->synchroniseEffect == 6) gBattleStruct->synchroniseEffect = 2; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchroniseEffect; - gBattleStruct->scriptingActive = gBankAttacker; + gBattleStruct->scriptingActive = gBattlerAttacker; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2617,11 +2617,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) bankQuality = ItemId_GetHoldEffectParam(gLastUsedItem); } - atkItem = gBattleMons[gBankAttacker].item; + atkItem = gBattleMons[gBattlerAttacker].item; if (atkItem == ITEM_ENIGMA_BERRY) { - atkHoldEffect = gEnigmaBerries[gBankAttacker].holdEffect; - atkQuality = gEnigmaBerries[gBankAttacker].holdEffectParam; + atkHoldEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; + atkQuality = gEnigmaBerries[gBattlerAttacker].holdEffectParam; } else { @@ -2630,11 +2630,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } // def variables are unused - defItem = gBattleMons[gBankTarget].item; + defItem = gBattleMons[gBattlerTarget].item; if (defItem == ITEM_ENIGMA_BERRY) { - defHoldEffect = gEnigmaBerries[gBankTarget].holdEffect; - defQuality = gEnigmaBerries[gBankTarget].holdEffectParam; + defHoldEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + defQuality = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { @@ -2662,8 +2662,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleStruct->scriptingActive = bank; - gStringBank = bank; - gActiveBattler = gBankAttacker = bank; + gPotentialItemEffectBattler = bank; + gActiveBattler = gBattlerAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -2717,8 +2717,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff1[3] = move >> 8; gBattleTextBuff1[4] = 0xFF; BattleScriptExecute(BattleScript_BerryPPHealEnd2); - EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + MarkBattlerForControllerExec(gActiveBattler); effect = ITEM_PP_CHANGE; } } @@ -2735,8 +2735,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleStruct->scriptingActive = bank; - gStringBank = bank; - gActiveBattler = gBankAttacker = bank; + gPotentialItemEffectBattler = bank; + gActiveBattler = gBattlerAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -2870,7 +2870,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff2[3] = 0xD2 >> 8; gBattleTextBuff2[4] = EOS; - gEffectBank = bank; + gEffectBattler = bank; gBattleStruct->statChanger = 0x10 + STAT_STAGE_ATK; gBattleStruct->animArg1 = 0xE + STAT_STAGE_ATK; gBattleStruct->animArg2 = 0; @@ -2886,7 +2886,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff1[2] = STAT_STAGE_DEF; gBattleTextBuff1[3] = EOS; - gEffectBank = bank; + gEffectBattler = bank; gBattleStruct->statChanger = 0x10 + STAT_STAGE_DEF; gBattleStruct->animArg1 = 0xE + STAT_STAGE_DEF; gBattleStruct->animArg2 = 0; @@ -2902,7 +2902,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff1[2] = STAT_STAGE_SPEED; gBattleTextBuff1[3] = EOS; - gEffectBank = bank; + gEffectBattler = bank; gBattleStruct->statChanger = 0x10 + STAT_STAGE_SPEED; gBattleStruct->animArg1 = 0xE + STAT_STAGE_SPEED; gBattleStruct->animArg2 = 0; @@ -2918,7 +2918,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff1[2] = STAT_STAGE_SPATK; gBattleTextBuff1[3] = EOS; - gEffectBank = bank; + gEffectBattler = bank; gBattleStruct->statChanger = 0x10 + STAT_STAGE_SPATK; gBattleStruct->animArg1 = 0xE + STAT_STAGE_SPATK; gBattleStruct->animArg2 = 0; @@ -2934,7 +2934,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff1[2] = STAT_STAGE_SPDEF; gBattleTextBuff1[3] = EOS; - gEffectBank = bank; + gEffectBattler = bank; gBattleStruct->statChanger = 0x10 + STAT_STAGE_SPDEF; gBattleStruct->animArg1 = 0xE + STAT_STAGE_SPDEF; gBattleStruct->animArg2 = 0; @@ -2979,7 +2979,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff2[6] = 0xD2 >> 8; gBattleTextBuff2[7] = EOS; - gEffectBank = bank; + gEffectBattler = bank; gBattleStruct->statChanger = 0x21 + i; gBattleStruct->animArg1 = 0x21 + i + 6; gBattleStruct->animArg2 = 0; @@ -3096,13 +3096,13 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleStruct->scriptingActive = bank; - gStringBank = bank; - gActiveBattler = gBankAttacker = bank; + gPotentialItemEffectBattler = bank; + gActiveBattler = gBattlerAttacker = bank; switch (effect) { case ITEM_STATUS_CHANGE: - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); + MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bank].unk18_b & gBitTable[i])) @@ -3244,7 +3244,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleStruct->scriptingActive = bank; - gStringBank = bank; + gPotentialItemEffectBattler = bank; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; // unnecessary return @@ -3254,10 +3254,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleStruct->scriptingActive = bank; - gStringBank = bank; + gPotentialItemEffectBattler = bank; gActiveBattler = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } } @@ -3269,10 +3269,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { case HOLD_EFFECT_FLINCH: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (Random() % 100) < bankQuality && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_KINGS_ROCK - && gBattleMons[gBankTarget].hp) + && gBattleMons[gBattlerTarget].hp) { gBattleCommunication[MOVE_EFFECT_BYTE] = 8; BattleScriptPushCursor(); @@ -3282,19 +3282,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) break; case HOLD_EFFECT_SHELL_BELL: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gSpecialStatuses[gBankTarget].moveturnLostHP != 0 - && gSpecialStatuses[gBankTarget].moveturnLostHP != 0xFFFF - && gBankAttacker != gBankTarget - && gBattleMons[gBankAttacker].hp != gBattleMons[gBankAttacker].maxHP - && gBattleMons[gBankAttacker].hp != 0) + && gSpecialStatuses[gBattlerTarget].dmg != 0 + && gSpecialStatuses[gBattlerTarget].dmg != 0xFFFF + && gBattlerAttacker != gBattlerTarget + && gBattleMons[gBattlerAttacker].hp != gBattleMons[gBattlerAttacker].maxHP + && gBattleMons[gBattlerAttacker].hp != 0) { gLastUsedItem = atkItem; - gStringBank = gBankAttacker; - gBattleStruct->scriptingActive = gBankAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBankTarget].moveturnLostHP / atkQuality) * -1; + gPotentialItemEffectBattler = gBattlerAttacker; + gBattleStruct->scriptingActive = gBattlerAttacker; + gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].dmg / atkQuality) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0; + gSpecialStatuses[gBattlerTarget].dmg = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_Ret; effect++; @@ -3358,7 +3358,7 @@ void unref_sub_801B40C(void) void sub_801B594(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattleScriptingCommandsTable[*gBattlescriptCurrInstr](); } @@ -3376,18 +3376,18 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target switch (moveTarget) { case 0: - side = GetBattlerSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBattlerAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else { - side = GetBattlerSide(gBankAttacker); + side = GetBattlerSide(gBattlerAttacker); do { targetBank = Random() % gBattlersCount; - } while (targetBank == gBankAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); + } while (targetBank == gBattlerAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC - && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) + && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBattlerAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) { targetBank ^= 2; @@ -3400,17 +3400,17 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target case 8: case 32: case 64: - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & 1) ^ 1); if (gAbsentBattlerFlags & gBitTable[targetBank]) targetBank ^= 2; break; case 4: - side = GetBattlerSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBattlerAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & 4) { - if (GetBattlerSide(gBankAttacker) == 0) + if (GetBattlerSide(gBattlerAttacker) == 0) { if (Random() & 1) targetBank = GetBattlerAtPosition(1); @@ -3428,14 +3428,14 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target targetBank ^= 2; } else - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & 1) ^ 1); break; case 2: case 16: - targetBank = gBankAttacker; + targetBank = gBattlerAttacker; break; } - ewram16010arr(gBankAttacker) = targetBank; + ewram16010arr(gBattlerAttacker) = targetBank; return targetBank; } @@ -3446,8 +3446,8 @@ u8 IsMonDisobedient(void) s32 calc; if (gBattleTypeFlags & BATTLE_TYPE_LINK - || GetBattlerSide(gBankAttacker) == 1 - || !IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName)) + || GetBattlerSide(gBattlerAttacker) == 1 + || !IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName)) return 0; if (DEBUG && (gUnknown_02023A14_50 & 0x40)) @@ -3467,27 +3467,27 @@ u8 IsMonDisobedient(void) obedienceLevel = 70; } - if (gBattleMons[gBankAttacker].level <= obedienceLevel) + if (gBattleMons[gBattlerAttacker].level <= obedienceLevel) return 0; rnd = (Random() & 255); - calc = (gBattleMons[gBankAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattlerAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) return 0; // is not obedient if (gCurrentMove == MOVE_RAGE) - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RAGE); - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RAGE); + if (gBattleMons[gBattlerAttacker].status1 & STATUS_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { gBattlescriptCurrInstr = gUnknown_081D995F; return 1; } rnd = (Random() & 255); - calc = (gBattleMons[gBankAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattlerAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) { - calc = CheckMoveLimitations(gBankAttacker, gBitTable[gCurrMovePos], 0xFF); + calc = CheckMoveLimitations(gBattlerAttacker, gBitTable[gCurrMovePos], 0xFF); if (calc == 0xF) // all moves cannot be used { gBattleCommunication[MULTISTRING_CHOOSER] = Random() & 3; @@ -3500,22 +3500,22 @@ u8 IsMonDisobedient(void) { gCurrMovePos = gUnknown_02024BE5 = Random() & 3; } while (gBitTable[gCurrMovePos] & calc); - gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; + gRandomMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; gBattleCommunication[3] = 0; gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; - gBankTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; } } else { - obedienceLevel = gBattleMons[gBankAttacker].level - obedienceLevel; + obedienceLevel = gBattleMons[gBattlerAttacker].level - obedienceLevel; calc = (Random() & 255); - if (calc < obedienceLevel && !(gBattleMons[gBankAttacker].status1 & STATUS_ANY) && gBattleMons[gBankAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBankAttacker].ability != ABILITY_INSOMNIA) + if (calc < obedienceLevel && !(gBattleMons[gBattlerAttacker].status1 & STATUS_ANY) && gBattleMons[gBattlerAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBattlerAttacker].ability != ABILITY_INSOMNIA) { // try putting asleep int i; @@ -3533,8 +3533,8 @@ u8 IsMonDisobedient(void) calc -= obedienceLevel; if (calc < obedienceLevel) { - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); - gBankTarget = gBankAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker); + gBattlerTarget = gBattlerAttacker; gBattlescriptCurrInstr = gUnknown_081D99A0; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; diff --git a/src/berry_blender.c b/src/berry_blender.c index 85c992d8d..70cb34809 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -180,8 +180,8 @@ s8 GetFirstFreePokeblockSlot(void); extern void de_sub_8073110(); #endif -extern struct MusicPlayerInfo gMPlay_SE2; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u16 gSpecialVar_ItemId; extern u8 gUnknown_020297ED; extern u8 byte_3002A68; @@ -778,7 +778,7 @@ static const u8 sNewLineString_2[] = _("\n"); static void Blender_ControlHitPitch(void) { - m4aMPlayPitchControl(&gMPlay_SE2, 0xFFFF, (gBerryBlenderData->field_56 - 128) * 2); + m4aMPlayPitchControl(&gMPlayInfo_SE2, 0xFFFF, (gBerryBlenderData->field_56 - 128) * 2); } static void VBlankCB0_BerryBlender(void) @@ -1793,9 +1793,9 @@ static void sub_804FE70(void) if (gRecvCmds[2][i] == 0x2345 || gRecvCmds[2][i] == 0x4523 || gRecvCmds[2][i] == 0x5432) { if (gBerryBlenderData->field_56 > 1500) - m4aMPlayTempoControl(&gMPlay_BGM, ((gBerryBlenderData->field_56 - 750) / 20) + 256); + m4aMPlayTempoControl(&gMPlayInfo_BGM, ((gBerryBlenderData->field_56 - 750) / 20) + 256); else - m4aMPlayTempoControl(&gMPlay_BGM, 256); + m4aMPlayTempoControl(&gMPlayInfo_BGM, 256); } } } @@ -2164,7 +2164,7 @@ static void sub_8050954(void) { case 1: ClearLinkCallback(); - m4aMPlayTempoControl(&gMPlay_BGM, 256); + m4aMPlayTempoControl(&gMPlayInfo_BGM, 256); for (i = 0; i < gSpecialVar_0x8004; i++) { DestroyTask(gBerryBlenderData->field_148[i]); @@ -2181,7 +2181,7 @@ static void sub_8050954(void) else gBerryBlenderData->field_6F = 5; gBerryBlenderData->field_0 = 0; - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE2); } Blender_ControlHitPitch(); break; diff --git a/src/cable_club.c b/src/cable_club.c index 39027fc08..b030d8cc2 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -784,7 +784,7 @@ static void sub_808382C(u8 taskId) break; } - SetMainCallback2(sub_800E7C4); + SetMainCallback2(CB2_InitBattle); gMain.savedCallback = sub_8083958; DestroyTask(taskId); break; diff --git a/src/contest.c b/src/contest.c index c41f25077..b66a0ed93 100644 --- a/src/contest.c +++ b/src/contest.c @@ -40,14 +40,14 @@ extern void sub_80C8A38(u8); extern void sub_80C8AD0(u8); extern void sub_80C8C80(u8); -extern struct MusicPlayerInfo gMPlay_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE1; extern u8 gBattleMonForms[]; extern u8 gDisplayedStringBattle[]; extern u16 gBattleTypeFlags; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u8 gBanksBySide[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern struct Window gUnknown_03004210; extern u32 gContestRngValue; @@ -533,9 +533,9 @@ u8 sub_80AB70C(u8 *a) gBanksBySide[2] = 3; gBanksBySide[3] = 2; gBattleTypeFlags = 0; - gBankAttacker = 2; - gBankTarget = 3; - gBankSpriteIds[gBankAttacker] = CreateJudgeSprite(); + gBattlerAttacker = 2; + gBattlerTarget = 3; + gBattlerSpriteIds[gBattlerAttacker] = CreateJudgeSprite(); sub_80B292C(); break; default: @@ -912,7 +912,7 @@ void debug_sub_80BA054(u8 taskId) gSprites[r6].pos2.x = 120; gSprites[r6].callback = sub_80AD8FC; gTasks[taskId].data[2] = r6; - gBankSpriteIds[gBankAttacker] = r6; + gBattlerSpriteIds[gBattlerAttacker] = r6; gTasks[taskId].data[3] = 0; gTasks[taskId].data[0]++; sContest.unk1925E = 0; @@ -1124,7 +1124,7 @@ void sub_80AC2CC(u8 taskId) gSprites[spriteId].pos2.x = 120; gSprites[spriteId].callback = sub_80AD8FC; gTasks[taskId].data[2] = spriteId; - gBankSpriteIds[gBankAttacker] = spriteId; + gBattlerSpriteIds[gBattlerAttacker] = spriteId; sub_80B0BC4(sub_80B09E4(sContest.unk19215), FALSE); gTasks[taskId].data[0] = 4; return; @@ -3366,8 +3366,8 @@ void sub_80AFC74(u8 taskId) if (r1 > 0) { PlaySE(SE_C_GAJI); - m4aMPlayImmInit(&gMPlay_SE1); - m4aMPlayPitchControl(&gMPlay_SE1, 0xFFFF, r10 * 256); + m4aMPlayImmInit(&gMPlayInfo_SE1); + m4aMPlayPitchControl(&gMPlayInfo_SE1, 0xFFFF, r10 * 256); } else { @@ -5393,14 +5393,14 @@ void sub_80B28F0(u8 a) void sub_80B292C(void) { - gBankSpriteIds[3] = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); - InitSpriteAffineAnim(&gSprites[gBankSpriteIds[gBankTarget]]); + gBattlerSpriteIds[3] = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + InitSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattlerTarget]]); sub_80B2968(); } void sub_80B2968(void) { - struct Sprite *sprite = &gSprites[gBankSpriteIds[3]]; + struct Sprite *sprite = &gSprites[gBattlerSpriteIds[3]]; sprite->pos2.x = 0; sprite->pos2.y = 0; @@ -5415,14 +5415,14 @@ void SelectContestMoveBankTarget(u16 move) { case TARGET_UNK2: case TARGET_USER: - gBankTarget = 2; + gBattlerTarget = 2; break; case TARGET_SELECTED_POKEMON: case TARGET_RANDOM: case TARGET_BOTH_ENEMIES: case TARGET_ALL_EXCEPT_USER: default: - gBankTarget = 3; + gBattlerTarget = 3; break; } } diff --git a/src/debug/sound_check_menu.c b/src/debug/sound_check_menu.c index ba2439a64..1ead5ae1b 100644 --- a/src/debug/sound_check_menu.c +++ b/src/debug/sound_check_menu.c @@ -60,7 +60,7 @@ extern u8 gUnknown_03005E98; struct MusicPlayerInfo *gUnknown_03005D30; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; void Task_InitSoundCheckMenu(u8); void sub_80BA384(u8); @@ -1249,7 +1249,7 @@ void Task_InitCryTest(u8 taskId) REG_BG2CNT = 0xF01; REG_BG3CNT = 0x1D03; REG_DISPCNT = 0x1d40; - m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2); + m4aMPlayFadeOutTemporarily(&gMPlayInfo_BGM, 2); gTasks[taskId].func = Task_ProcessCryTestInput; } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index a51c08a0c..041fd292c 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -712,7 +712,7 @@ static void Task_EvolutionScene(u8 taskID) { sub_8024CEC(); PlayFanfare(MUS_FANFA1); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[3]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[3]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; @@ -729,7 +729,7 @@ static void Task_EvolutionScene(u8 taskID) if (gUnknown_03004210.state == 0 && !IsSEPlaying()) { sub_8024CEC(); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[4]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[4]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -737,7 +737,7 @@ static void Task_EvolutionScene(u8 taskID) case 1: if (gUnknown_03004210.state == 0 && !IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[5]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[5]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -747,7 +747,7 @@ static void Task_EvolutionScene(u8 taskID) break; if (!IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[6]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[6]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tData9 = 5; gTasks[taskID].tdata10 = 9; @@ -780,7 +780,7 @@ static void Task_EvolutionScene(u8 taskID) if (gMain.newKeys & A_BUTTON) { sub_8023AD8(); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); PlaySE(SE_SELECT); if (sEvoCursorPos != 0) @@ -795,7 +795,7 @@ static void Task_EvolutionScene(u8 taskID) if (gMain.newKeys & B_BUTTON) { sub_8023AD8(); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); PlaySE(SE_SELECT); gTasks[taskID].tLearnMoveState = gTasks[taskID].tdata10; @@ -821,7 +821,7 @@ static void Task_EvolutionScene(u8 taskID) u16 move = GetMonData(mon, var + MON_DATA_MOVE1); if (IsHMMove2(move)) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[307]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[307]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tLearnMoveState = 11; } @@ -834,7 +834,7 @@ static void Task_EvolutionScene(u8 taskID) gBattleTextBuff2[4] = EOS; RemoveMonPPBonus(mon, var); SetMonMoveSlot(mon, gMoveToLearn, var); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[207]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[207]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -844,7 +844,7 @@ static void Task_EvolutionScene(u8 taskID) case 7: if (gUnknown_03004210.state == 0 && !IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[7]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[7]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -852,20 +852,20 @@ static void Task_EvolutionScene(u8 taskID) case 8: if (gUnknown_03004210.state == 0 && !IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[208]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[208]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tState = 19; } break; case 9: - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[8]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[8]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tData9 = 10; gTasks[taskID].tdata10 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 10: - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[9]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[9]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tState = 14; break; @@ -1026,7 +1026,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { sub_8024CEC(); PlayFanfare(MUS_FANFA1); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[3]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[3]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; @@ -1043,7 +1043,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { sub_8024CEC(); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[4]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[4]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -1051,7 +1051,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 1: if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[5]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[5]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -1061,7 +1061,7 @@ static void Task_TradeEvolutionScene(u8 taskID) break; if (!IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[6]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[6]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tData9 = 5; gTasks[taskID].tdata10 = 9; @@ -1099,7 +1099,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { Text_EraseWindowRect(&gUnknown_03004828->window, 0x18, 8, 0x1D, 0xD); DestroyMenuCursor(); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); PlaySE(SE_SELECT); if (sEvoCursorPos != 0) @@ -1115,7 +1115,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { Text_EraseWindowRect(&gUnknown_03004828->window, 0x18, 8, 0x1D, 0xD); DestroyMenuCursor(); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); PlaySE(SE_SELECT); gTasks[taskID].tLearnMoveState = gTasks[taskID].tdata10; @@ -1141,7 +1141,7 @@ static void Task_TradeEvolutionScene(u8 taskID) u16 move = GetMonData(mon, var + MON_DATA_MOVE1); if (IsHMMove2(move)) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[307]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[307]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState = 11; } @@ -1154,7 +1154,7 @@ static void Task_TradeEvolutionScene(u8 taskID) gBattleTextBuff2[4] = EOS; RemoveMonPPBonus(mon, var); SetMonMoveSlot(mon, gMoveToLearn, var); - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[207]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[207]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -1164,7 +1164,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 7: if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[7]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[7]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } @@ -1172,20 +1172,20 @@ static void Task_TradeEvolutionScene(u8 taskID) case 8: if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[208]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[208]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tState = 15; } break; case 9: - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[8]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[8]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tData9 = 10; gTasks[taskID].tdata10 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 10: - StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[9]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[9]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tState = 13; break; diff --git a/src/field_door.c b/src/field_door.c index 89dae725c..db840e663 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -3,8 +3,8 @@ #include "field_camera.h" #include "fieldmap.h" #include "metatile_behavior.h" -#include "constants/songs.h" #include "task.h" +#include "constants/songs.h" const u8 DoorAnimTiles_04[][0x100] = { @@ -517,7 +517,7 @@ static s8 StartDoorAnimationTask(const struct DoorGraphics *gfx, const struct Do } } -static void DrawClosedDoor(const struct DoorGraphics *unused, u32 x, u32 y) +static void DrawClosedDoor(const struct DoorGraphics *gfx, u32 x, u32 y) { DrawClosedDoorTiles(x, y); } @@ -553,7 +553,7 @@ static s8 cur_mapdata_get_door_x2_at(const struct DoorGraphics *gfx, u32 x, u32 if (gfx == NULL) return -1; else - return gfx->unk2; + return gfx->sound; } void unref_sub_805869C(u32 x, u32 y) diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 74db6ac26..93532d396 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -27,7 +27,7 @@ static EWRAM_DATA u32 sUnknown_0203931C = 0; extern bool8 gUnknown_02039324; // has hall of fame records extern void (*gGameContinueCallback)(void); -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u8 gReservedSpritePaletteCount; extern struct SpriteTemplate gUnknown_02024E8C; @@ -983,7 +983,7 @@ static void sub_8142DF4(u8 taskID) if (IsCryPlayingOrClearCrySongs()) { StopCryAndClearCrySongs(); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } gTasks[taskID].func = sub_8142F78; } @@ -993,7 +993,7 @@ static void sub_8142DF4(u8 taskID) if (IsCryPlayingOrClearCrySongs()) { StopCryAndClearCrySongs(); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } gTasks[taskID].func = sub_8142F78; } diff --git a/src/link.c b/src/link.c index a4bd87333..73652a194 100644 --- a/src/link.c +++ b/src/link.c @@ -274,7 +274,7 @@ void LinkTestScreen(void) void sub_8007270(u8 a1) { - localLinkPlayer.lp_field_18 = a1; + localLinkPlayer.id = a1; } static void InitLocalLinkPlayer(void) diff --git a/src/mauville_man.c b/src/mauville_man.c index bfdfe9cf1..7eab67823 100644 --- a/src/mauville_man.c +++ b/src/mauville_man.c @@ -20,7 +20,7 @@ #define MACRO1(a) (((a) % 4) + (((a) / 8) & 1)) -extern struct MusicPlayerInfo gMPlay_SE2; +extern struct MusicPlayerInfo gMPlayInfo_SE2; extern u16 gSpecialVar_Result; extern u16 gSpecialVar_0x8004; @@ -651,8 +651,8 @@ static void BardSing(struct Task *task, struct BardSong *song) song->pitch += 64; else song->pitch -= 64; - m4aMPlayVolumeControl(&gMPlay_SE2, 0xFFFF, song->volume); - m4aMPlayPitchControl(&gMPlay_SE2, 0xFFFF, song->pitch); + m4aMPlayVolumeControl(&gMPlayInfo_SE2, 0xFFFF, song->volume); + m4aMPlayPitchControl(&gMPlayInfo_SE2, 0xFFFF, song->pitch); song->voiceInflection++; } song->phonemeTimer--; @@ -663,13 +663,13 @@ static void BardSing(struct Task *task, struct BardSong *song) if (phoneme->sound <= 50) { song->volume = 0x100 + phoneme->volume * 16; - m4aMPlayVolumeControl(&gMPlay_SE2, 0xFFFF, song->volume); + m4aMPlayVolumeControl(&gMPlayInfo_SE2, 0xFFFF, song->volume); song->pitch = 0x200 + phoneme->pitch; - m4aMPlayPitchControl(&gMPlay_SE2, 0xFFFF, song->pitch); + m4aMPlayPitchControl(&gMPlayInfo_SE2, 0xFFFF, song->pitch); } break; case 0xFE: - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE2); song->state = 0xFF; break; } @@ -746,7 +746,7 @@ static void Task_BardSong(u8 taskId) if (gStringVar4[task->tCharIndex] == EOS) { FadeInNewBGM(MUS_POKECEN, 6); - m4aMPlayFadeOutTemporarily(&gMPlay_SE2, 2); + m4aMPlayFadeOutTemporarily(&gMPlayInfo_SE2, 2); EnableBothScriptContexts(); DestroyTask(taskId); } diff --git a/src/overworld.c b/src/overworld.c index 17ecfaf8d..19fe5f377 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -85,6 +85,11 @@ extern struct MapLayout * const gMapLayouts[]; extern struct MapHeader * const * const gMapGroups[]; extern s32 gMaxFlashLevel; +u16 word_3004858; +void (*gFieldCallback)(void); +u8 gUnknown_03004860; +u8 gFieldLinkPlayerCount; + EWRAM_DATA struct WarpData gLastUsedWarp = {0}; EWRAM_DATA struct WarpData gWarpDestination = {0}; EWRAM_DATA struct WarpData gFixedDiveWarp = {0}; @@ -98,11 +103,6 @@ static u8 gUnknown_03000580[4]; static u16 (*gUnknown_03000584)(u32); static u8 gUnknown_03000588; -u16 word_3004858; -extern void (*gFieldCallback)(void); -u8 gUnknown_03004860; -u8 gFieldLinkPlayerCount; - static void CB2_Overworld(void); static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState*, u16, u8); static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState*, u8, u16, u8); diff --git a/src/pokeball.c b/src/pokeball.c index 7162ee6ac..8a11440ff 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -17,14 +17,14 @@ #include "util.h" #include "ewram.h" -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u16 gBattleTypeFlags; -extern u8 gBankTarget; +extern u8 gBattlerTarget; extern u8 gActiveBattler; extern u16 gBattlerPartyIndexes[]; -extern u8 gBankSpriteIds[]; +extern u8 gBattlerSpriteIds[]; extern u8 gDoingBattleAnim; -extern u8 gHealthboxIDs[]; +extern u8 gHealthboxSpriteIds[]; #define GFX_TAG_POKEBALL 55000 #define GFX_TAG_GREATBALL 55001 @@ -371,7 +371,7 @@ static void SendOutMonAnimation(u8 taskId) switch (side) { case 0xFF: // Player's side - gBankTarget = battler; + gBattlerTarget = battler; gSprites[spriteId].pos1.x = 24; gSprites[spriteId].pos1.y = 68; gSprites[spriteId].callback = SendOutPlayerMonAnimation_Step0; @@ -379,17 +379,17 @@ static void SendOutMonAnimation(u8 taskId) case 0xFE: // Opponent's side gSprites[spriteId].pos1.x = GetBattlerSpriteCoord(battler, 0); gSprites[spriteId].pos1.y = GetBattlerSpriteCoord(battler, 1) + 24; - gBankTarget = battler; + gBattlerTarget = battler; gSprites[spriteId].data[0] = 0; gSprites[spriteId].callback = SendOutOpponentMonAnimation_Step0; break; default: - gBankTarget = GetBattlerAtPosition(1); + gBattlerTarget = GetBattlerAtPosition(1); debug = TRUE; break; } - gSprites[spriteId].data[6] = gBankTarget; + gSprites[spriteId].data[6] = gBattlerTarget; if (!debug) { DestroyTask(taskId); @@ -397,12 +397,12 @@ static void SendOutMonAnimation(u8 taskId) } gSprites[spriteId].data[0] = 0x22; - gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBankTarget, 0); - gSprites[spriteId].data[4] = GetBattlerSpriteCoord(gBankTarget, 1) - 16; + gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, 0); + gSprites[spriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, 1) - 16; gSprites[spriteId].data[5] = -40; InitAnimArcTranslation(&gSprites[spriteId]); gSprites[spriteId].oam.affineParam = taskId; - gTasks[taskId].data[4] = gBankTarget; + gTasks[taskId].data[4] = gBattlerTarget; gTasks[taskId].func = TaskDummy; PlaySE(SE_NAGERU); } @@ -445,9 +445,9 @@ static void sub_80466F4(struct Sprite *sprite) { sprite->data[5] = 0; sprite->callback = sub_8046760; - StartSpriteAffineAnim(&gSprites[gBankSpriteIds[sprite->data[6]]], 2); - AnimateSprite(&gSprites[gBankSpriteIds[sprite->data[6]]]); - gSprites[gBankSpriteIds[sprite->data[6]]].data[1] = 0; + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->data[6]]], 2); + AnimateSprite(&gSprites[gBattlerSpriteIds[sprite->data[6]]]); + gSprites[gBattlerSpriteIds[sprite->data[6]]].data[1] = 0; } } @@ -456,17 +456,17 @@ static void sub_8046760(struct Sprite *sprite) sprite->data[5]++; if (sprite->data[5] == 11) PlaySE(SE_SUIKOMU); - if (gSprites[gBankSpriteIds[sprite->data[6]]].affineAnimEnded) + if (gSprites[gBattlerSpriteIds[sprite->data[6]]].affineAnimEnded) { StartSpriteAnim(sprite, 2); - gSprites[gBankSpriteIds[sprite->data[6]]].invisible = TRUE; + gSprites[gBattlerSpriteIds[sprite->data[6]]].invisible = TRUE; sprite->data[5] = 0; sprite->callback = sub_80467F8; } else { - gSprites[gBankSpriteIds[sprite->data[6]]].data[1] += 0x60; - gSprites[gBankSpriteIds[sprite->data[6]]].pos2.y = -gSprites[gBankSpriteIds[sprite->data[6]]].data[1] >> 8; + gSprites[gBattlerSpriteIds[sprite->data[6]]].data[1] += 0x60; + gSprites[gBattlerSpriteIds[sprite->data[6]]].pos2.y = -gSprites[gBattlerSpriteIds[sprite->data[6]]].data[1] >> 8; } } @@ -732,11 +732,11 @@ static void sub_8046C78(struct Sprite *sprite) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { if (IsBGMPlaying()) - m4aMPlayStop(&gMPlay_BGM); + m4aMPlayStop(&gMPlayInfo_BGM); } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 128); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 128); } } @@ -754,9 +754,9 @@ static void sub_8046C78(struct Sprite *sprite) gTasks[taskId].data[15] = 0; } - StartSpriteAffineAnim(&gSprites[gBankSpriteIds[sprite->data[6]]], 1); - AnimateSprite(&gSprites[gBankSpriteIds[sprite->data[6]]]); - gSprites[gBankSpriteIds[sprite->data[6]]].data[1] = 0x1000; + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->data[6]]], 1); + AnimateSprite(&gSprites[gBattlerSpriteIds[sprite->data[6]]]); + gSprites[gBattlerSpriteIds[sprite->data[6]]].data[1] = 0x1000; } static void sub_8046E7C(struct Sprite *sprite) @@ -773,25 +773,25 @@ static void sub_8046E9C(struct Sprite *sprite) bool8 r7 = FALSE; u8 r4 = sprite->data[6]; - gSprites[gBankSpriteIds[r4]].invisible = FALSE; + gSprites[gBattlerSpriteIds[r4]].invisible = FALSE; if (sprite->animEnded) sprite->invisible = TRUE; - if (gSprites[gBankSpriteIds[r4]].affineAnimEnded) + if (gSprites[gBattlerSpriteIds[r4]].affineAnimEnded) { - StartSpriteAffineAnim(&gSprites[gBankSpriteIds[r4]], 0); + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[r4]], 0); r7 = TRUE; } else { - gSprites[gBankSpriteIds[r4]].data[1] -= 288; - gSprites[gBankSpriteIds[r4]].pos2.y = gSprites[gBankSpriteIds[r4]].data[1] >> 8; + gSprites[gBattlerSpriteIds[r4]].data[1] -= 288; + gSprites[gBattlerSpriteIds[r4]].pos2.y = gSprites[gBattlerSpriteIds[r4]].data[1] >> 8; } if (sprite->animEnded && r7) { s32 i; u32 r3; - gSprites[gBankSpriteIds[r4]].pos2.y = 0; + gSprites[gBattlerSpriteIds[r4]].pos2.y = 0; gDoingBattleAnim = 0; ewram17810[r4].unk0_3 = 0; FreeSpriteOamMatrix(sprite); @@ -826,8 +826,8 @@ static void sub_8046FBC(struct Sprite *sprite) } else if (sprite->data[4] == 315) { - FreeOamMatrix(gSprites[gBankSpriteIds[sprite->data[6]]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[sprite->data[6]]]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[sprite->data[6]]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[sprite->data[6]]]); DestroySpriteAndFreeResources(sprite); if (gMain.inBattle) ewram17810[r7].unk0_3 = 0; @@ -1103,7 +1103,7 @@ void obj_delete_and_free_associated_resources_(struct Sprite *sprite) void sub_804777C(u8 a) { - struct Sprite *sprite = &gSprites[gHealthboxIDs[a]]; + struct Sprite *sprite = &gSprites[gHealthboxSpriteIds[a]]; sprite->data[0] = 5; sprite->data[1] = 0; @@ -1146,7 +1146,7 @@ void sub_8047858(u8 a) spriteId = CreateInvisibleSpriteWithCallback(oamc_804BEB4); gSprites[spriteId].data[0] = 1; - gSprites[spriteId].data[1] = gHealthboxIDs[a]; + gSprites[spriteId].data[1] = gHealthboxSpriteIds[a]; gSprites[spriteId].callback = oamc_804BEB4; } diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index a4614f52d..cb3d8789e 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -21,7 +21,7 @@ #include "trig.h" #include "ewram.h" -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u8 gPokeblockMonID; extern s16 gPokeblockGain; @@ -743,7 +743,7 @@ static void Task_ReturnAfterPaletteFade(u8 taskID) { if (!gPaletteFade.active) { - m4aMPlayVolumeControl(&gMPlay_BGM, -1, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, -1, 256); SetMainCallback2(gMain.savedCallback); DestroyTask(taskID); } diff --git a/src/pokedex.c b/src/pokedex.c index caa6a1565..ad02efc1e 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -126,7 +126,7 @@ struct UnknownStruct4 u8 unk9; }; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u8 gReservedSpritePaletteCount; extern struct SpriteTemplate gUnknown_02024E8C; extern u8 gUnknown_03005E98; @@ -1448,7 +1448,7 @@ void CB2_InitPokedex(void) SetVBlankCallback(sub_808C0B8); SetMainCallback2(MainCB); SortPokedex(gPokedexView->dexMode, gPokedexView->dexOrder); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x80); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80); } break; } @@ -1679,7 +1679,7 @@ static void Task_ClosePokedex(u8 taskId) gSaveBlock2.pokedex.order = gPokedexView->dexOrder; DestroyTask(taskId); SetMainCallback2(c2_exit_to_overworld_1_sub_8080DEC); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } } @@ -3150,7 +3150,7 @@ static void Task_InitCryScreenMultistep(u8 taskId) default: if (!gPaletteFade.active) { - m4aMPlayStop(&gMPlay_BGM); + m4aMPlayStop(&gMPlayInfo_BGM); gPokedexView->unk64A = 6; gUnknown_03005CEC = gMain.vblankCallback; SetVBlankCallback(NULL); @@ -3260,7 +3260,7 @@ static void Task_CryScreenProcessInput(u8 taskId) if (gMain.newKeys & B_BUTTON) { BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); gPokedexView->unk64F = 1; gTasks[taskId].func = sub_808FFBC; PlaySE(SE_PC_OFF); @@ -3270,7 +3270,7 @@ static void Task_CryScreenProcessInput(u8 taskId) || ((gMain.newKeys & L_BUTTON) && gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR)) { BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); gPokedexView->unk64F = 2; gTasks[taskId].func = sub_808FFBC; PlaySE(SE_Z_PAGE); @@ -3286,7 +3286,7 @@ static void Task_CryScreenProcessInput(u8 taskId) else { BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); gPokedexView->unk64F = 3; gTasks[taskId].func = sub_808FFBC; PlaySE(SE_Z_PAGE); diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index e07b5e1c0..0574ca45b 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -9,7 +9,7 @@ #include "sound.h" extern struct SoundInfo gSoundInfo; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; struct Unk201C800 { s8 unk_0; @@ -474,7 +474,7 @@ void sub_8119F88(u8 a0) void sub_811A050(u16 species) { - if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE && !gPokedexCryScreenPtr->unk001A) + if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE && !gPokedexCryScreenPtr->unk001A) { if (!gPokedexCryScreenPtr->unk001B) { diff --git a/src/pokemon_2.c b/src/pokemon_2.c index 1720159a2..a92d12fd9 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -26,8 +26,8 @@ extern u8 gActiveBattler; extern struct BattlePokemon gBattleMons[4]; extern u16 gCurrentMove; extern u8 gLastUsedAbility; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u8 gAbsentBattlerFlags; extern u8 gXXX_CritRelated; extern u16 gBattleWeather; @@ -67,14 +67,14 @@ u8 CountAliveMons(u8 a1) case 1: for (i = 0; i < 4; i++) { - if (GetBattlerSide(i) == GetBattlerSide(gBankAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case 2: for (i = 0; i < 4; i++) { - if (GetBattlerSide(i) == GetBattlerSide(gBankTarget) && !(gAbsentBattlerFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; diff --git a/src/pokemon_3.c b/src/pokemon_3.c index 4814c900d..393d76dbc 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -40,9 +40,9 @@ extern u16 gSpeciesIdToCryId[]; extern u8 gBattleTextBuff1[]; extern u8 gBattleTextBuff2[]; extern u8 gDisplayedStringBattle[]; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern u8 gStringBank; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; +extern u8 gPotentialItemEffectBattler; extern u8 gBankInMenu; extern struct SpindaSpot gSpindaSpotGraphics[]; extern s8 gNatureStatTable[][5]; @@ -197,10 +197,10 @@ const u8 gUnknown_082082F8[] = {1, 1, 3, 2, 4, 6}; void sub_803F324(int stat) { - gBankTarget = gBankInMenu; + gBattlerTarget = gBankInMenu; StringCopy(gBattleTextBuff1, gUnknown_08400F58[gUnknown_082082F8[stat]]); StringCopy(gBattleTextBuff2, BattleText_Rose); - StrCpyDecodeToDisplayedStringBattle(BattleText_UnknownString3); + BattleStringExpandPlaceholdersToDisplayedString(BattleText_UnknownString3); } u8 *sub_803F378(u16 itemId) @@ -224,7 +224,7 @@ u8 *sub_803F378(u16 itemId) itemEffect = gItemEffectTable[itemId - 13]; } - gStringBank = gBankInMenu; + gPotentialItemEffectBattler = gBankInMenu; for (i = 0; i < 3; i++) { @@ -238,16 +238,16 @@ u8 *sub_803F378(u16 itemId) } else { - gBankAttacker = gBankInMenu; - StrCpyDecodeToDisplayedStringBattle(BattleText_GetPumped); + gBattlerAttacker = gBankInMenu; + BattleStringExpandPlaceholdersToDisplayedString(BattleText_GetPumped); } } } if (itemEffect[3] & 0x80) { - gBankAttacker = gBankInMenu; - StrCpyDecodeToDisplayedStringBattle(BattleText_MistShroud); + gBattlerAttacker = gBankInMenu; + BattleStringExpandPlaceholdersToDisplayedString(BattleText_MistShroud); } return gDisplayedStringBattle; @@ -579,7 +579,7 @@ void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies) bool8 sub_803FBBC(void) { bool8 retVal = FALSE; - switch (gLinkPlayers[GetMultiplayerId()].lp_field_18) + switch (gLinkPlayers[GetMultiplayerId()].id) { case 0: case 3: @@ -596,7 +596,7 @@ bool8 sub_803FBBC(void) bool8 sub_803FBFC(u8 id) { bool8 retVal = FALSE; - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -614,7 +614,7 @@ s32 sub_803FC34(u16 a1) { s32 id; for (id = 0; id < MAX_LINK_PLAYERS; id++) - if (gLinkPlayers[id].lp_field_18 == a1) + if (gLinkPlayers[id].id == a1) break; return id; } @@ -1314,7 +1314,7 @@ void sub_8040B8C(void) gBattleTextBuff2[2] = gBankInMenu; gBattleTextBuff2[3] = pokemon_order_func(gBattlerPartyIndexes[gBankInMenu]); gBattleTextBuff2[4] = EOS; - StrCpyDecodeBattle(BattleText_PreventedSwitch, gStringVar4); + BattleStringExpandPlaceholders(BattleText_PreventedSwitch, gStringVar4); } void SetWildMonHeldItem(void) @@ -1360,7 +1360,7 @@ bool8 IsShinyOtIdPersonality(u32 otId, u32 personality) u8 *sub_8040D08(void) { u8 id = GetMultiplayerId(); - return gLinkPlayers[sub_803FC34(gLinkPlayers[id].lp_field_18 ^ 2)].name; + return gLinkPlayers[sub_803FC34(gLinkPlayers[id].id ^ 2)].name; } const u8 gJapaneseNidoranNames[][11] = {_("ニドラン♂"), _("ニドラン♀")}; diff --git a/src/pokemon_item_effect.c b/src/pokemon_item_effect.c index e16d08073..2542e42c3 100644 --- a/src/pokemon_item_effect.c +++ b/src/pokemon_item_effect.c @@ -21,7 +21,7 @@ extern u8 gBankInMenu; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gActiveBattler; -extern u8 gStringBank; +extern u8 gPotentialItemEffectBattler; extern struct BattlePokemon gBattleMons[]; extern struct BattleEnigmaBerry gEnigmaBerries[]; @@ -75,7 +75,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo holdEffect = ItemId_GetHoldEffect(heldItem); } - gStringBank = gBankInMenu; + gPotentialItemEffectBattler = gBankInMenu; if (gMain.inBattle) { gActiveBattler = gBankInMenu; @@ -332,8 +332,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo // I have to re-use this variable to match. r5 = gActiveBattler; gActiveBattler = sp34; - EmitGetAttributes(0, 0, 0); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitGetMonData(0, 0, 0); + MarkBattlerForControllerExec(gActiveBattler); gActiveBattler = r5; } } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 134b2b753..e970cc3bc 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -122,7 +122,7 @@ static void SummaryScreen_PrintColoredText(const u8 *, u8, u8, u8); extern u8 StorageSystemGetNextMonIndex(struct BoxPokemon *, u8, u8, u8); -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u8 gPPUpReadMasks[]; extern TaskFunc gUnknown_03005CF0; extern struct SpriteTemplate gUnknown_02024E8C; @@ -929,7 +929,7 @@ static void SummaryScreen_DestroyTask(u8 taskId) ResetSpriteData(); FreeAllSpritePalettes(); StopCryAndClearCrySongs(); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); SetMainCallback2(pssData.callback); DestroyTask(taskId); } diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 712ec3ea8..ad18b3594 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -17,9 +17,9 @@ extern u8 gBankInMenu; extern u16 gBattlerPartyIndexes[4]; extern u8 gBattlersCount; extern u16 gBattleTypeFlags; -extern u8 gBankSpriteIds[4]; +extern u8 gBattlerSpriteIds[4]; extern u8 gBattleMonForms[4]; -extern u8 gHealthboxIDs[4]; +extern u8 gHealthboxSpriteIds[4]; bool8 LoadChosenBattleElement(u8 a0); bool8 sub_8031C30(u8 a0); @@ -235,46 +235,46 @@ static void sub_807B184(u8 bank) if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(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[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(bank)); + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) { GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(0)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, + gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, GetBattlerSubpriority(0)); - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gBankSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) { GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(0)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, + gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[2].coords) * 4 + 80, GetBattlerSubpriority(0)); - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gBankSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; } else { if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(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[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(bank)); + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); } - gSprites[gBankSpriteIds[bank]].invisible = ewram17800[bank].invisible; + gSprites[gBattlerSpriteIds[bank]].invisible = ewram17800[bank].invisible; } } @@ -289,19 +289,19 @@ static void sub_807B508(u8 bank) return; else healthboxID = battle_make_oam_normal_battle(bank); - gHealthboxIDs[bank] = healthboxID; + gHealthboxSpriteIds[bank] = healthboxID; sub_8043F44(bank); sub_8043DFC(healthboxID); if (GetBattlerSide(bank)) - sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlerPartyIndexes[bank]], 0); + sub_8045A5C(gHealthboxSpriteIds[bank], &gEnemyParty[gBattlerPartyIndexes[bank]], 0); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 10); + sub_8045A5C(gHealthboxSpriteIds[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 10); else - sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 0); + sub_8045A5C(gHealthboxSpriteIds[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 0); if (GetBattlerPosition(bank) == 3 || GetBattlerPosition(bank) == 2) - nullsub_11(gHealthboxIDs[bank], 1); + nullsub_11(gHealthboxSpriteIds[bank], 1); else - nullsub_11(gHealthboxIDs[bank], 0); + nullsub_11(gHealthboxSpriteIds[bank], 0); if (GetBattlerSide(bank)) { if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) diff --git a/src/rom3.c b/src/rom3.c index d332b7027..c4a6ffec0 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -23,15 +23,15 @@ extern u16 gBattleTypeFlags; extern u16 gBattleWeather; extern struct BattlePokemon gBattleMons[]; -static EWRAM_DATA u8 gUnknown_020238C4 = 0; -static EWRAM_DATA u8 gUnknown_020238C5 = 0; +static EWRAM_DATA u8 sLinkSendTaskId = 0; +static EWRAM_DATA u8 sLinkReceiveTaskId = 0; static EWRAM_DATA u8 gUnknown_020238C6 = 0; extern u32 gUnknown_020239FC; extern u8 gBattleBufferA[][0x200]; extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBattler; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; @@ -39,10 +39,10 @@ extern u16 gCurrentMove; extern u16 gChosenMove; extern u16 gLastUsedItem; extern u8 gLastUsedAbility; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern u8 gEffectBank; -extern u8 gStringBank; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; +extern u8 gEffectBattler; +extern u8 gPotentialItemEffectBattler; extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gUnknown_02024C78; @@ -53,7 +53,7 @@ extern u8 gBattleTextBuff1[]; extern u8 gBattleTextBuff2[]; extern u8 gBattleTextBuff3[]; extern void (*gBattleMainFunc)(void); -extern void (*gBattleBankFunc[])(void); +extern void (*gBattlerControllerFuncs[])(void); u8 gBattleBuffersTransferData[0x170]; @@ -63,7 +63,7 @@ void sub_800B858(void) { OpenLink(); CreateTask(sub_8083C50, 0); - sub_800BF28(); + CreateTasksForSendRecvLinkBuffers(); } } @@ -71,20 +71,20 @@ void sub_800B858(void) extern u8 gUnknown_02023A14_50; #endif -void setup_poochyena_battle(void) +void SetUpBattleVarsAndBirchPoochyena(void) { s32 i; gBattleMainFunc = nullsub_41; for (i = 0; i < 4; i++) { - gBattleBankFunc[i] = nullsub_91; + gBattlerControllerFuncs[i] = nullsub_91; gBanksBySide[i] = 0xFF; gActionSelectionCursor[i] = 0; gMoveSelectionCursor[i] = 0; } sub_800B858(); - gBattleExecBuffer = 0; + gBattleControllerExecFlags = 0; ClearBattleAnimationVars(); ClearBattleMonForms(); BattleAI_HandleItemUseBeforeAISetup(); @@ -131,26 +131,26 @@ void sub_800B9A8(void) { gBattleMainFunc = sub_8010800; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - gBattleBankFunc[0] = SetBankFuncToSafariBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToSafariBufferRunCommand; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) - gBattleBankFunc[0] = SetBankFuncToWallyBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToWallyBufferRunCommand; else - gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[0] = 0; - gBattleBankFunc[1] = SetBankFuncToOpponentBufferRunCommand; + gBattlerControllerFuncs[1] = SetBankFuncToOpponentBufferRunCommand; gBanksBySide[1] = 1; gBattlersCount = 2; } else { gBattleMainFunc = sub_8010800; - gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[0] = 0; - gBattleBankFunc[1] = SetBankFuncToOpponentBufferRunCommand; + gBattlerControllerFuncs[1] = SetBankFuncToOpponentBufferRunCommand; gBanksBySide[1] = 1; - gBattleBankFunc[2] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[2] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[2] = 2; - gBattleBankFunc[3] = SetBankFuncToOpponentBufferRunCommand; + gBattlerControllerFuncs[3] = SetBankFuncToOpponentBufferRunCommand; gBanksBySide[3] = 3; gBattlersCount = 4; } @@ -166,17 +166,17 @@ void sub_800BA78(void) if (gBattleTypeFlags & BATTLE_TYPE_WILD) { gBattleMainFunc = sub_8010800; - gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[0] = 0; - gBattleBankFunc[1] = SetBankFuncToLinkOpponentBufferRunCommand; + gBattlerControllerFuncs[1] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[1] = 1; gBattlersCount = 2; } else { - gBattleBankFunc[1] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[1] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[1] = 0; - gBattleBankFunc[0] = SetBankFuncToLinkOpponentBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[0] = 1; gBattlersCount = 2; } @@ -187,25 +187,25 @@ void sub_800BA78(void) if (gBattleTypeFlags & BATTLE_TYPE_WILD) { gBattleMainFunc = sub_8010800; - gBattleBankFunc[0] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[0] = 0; - gBattleBankFunc[1] = SetBankFuncToLinkOpponentBufferRunCommand; + gBattlerControllerFuncs[1] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[1] = 1; - gBattleBankFunc[2] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[2] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[2] = 2; - gBattleBankFunc[3] = SetBankFuncToLinkOpponentBufferRunCommand; + gBattlerControllerFuncs[3] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[3] = 3; gBattlersCount = 4; } else { - gBattleBankFunc[1] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[1] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[1] = 0; - gBattleBankFunc[0] = SetBankFuncToLinkOpponentBufferRunCommand; + gBattlerControllerFuncs[0] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[0] = 1; - gBattleBankFunc[3] = SetBankFuncToPlayerBufferRunCommand; + gBattlerControllerFuncs[3] = SetBankFuncToPlayerBufferRunCommand; gBanksBySide[3] = 2; - gBattleBankFunc[2] = SetBankFuncToLinkOpponentBufferRunCommand; + gBattlerControllerFuncs[2] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[2] = 3; gBattlersCount = 4; @@ -217,69 +217,69 @@ void sub_800BA78(void) gBattleMainFunc = sub_8010800; for (i = 0; i < 4; i++) { - switch (gLinkPlayers[i].lp_field_18) + switch (gLinkPlayers[i].id) { case 0: case 3: - sub_8094978(gLinkPlayers[i].lp_field_18, 0); + sub_8094978(gLinkPlayers[i].id, 0); break; case 1: case 2: - sub_8094978(gLinkPlayers[i].lp_field_18, 1); + sub_8094978(gLinkPlayers[i].id, 1); break; } if (i == multiplayerId) { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetBankFuncToPlayerBufferRunCommand; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetBankFuncToPlayerBufferRunCommand; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBanksBySide[gLinkPlayers[i].id] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBanksBySide[gLinkPlayers[i].id] = 2; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } else { - if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[multiplayerId].lp_field_18 & 1)) - || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[multiplayerId].lp_field_18 & 1))) + if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[multiplayerId].id & 1)) + || ((gLinkPlayers[i].id & 1) && (gLinkPlayers[multiplayerId].id & 1))) { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetBankFuncToLinkPartnerBufferRunCommand; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetBankFuncToLinkPartnerBufferRunCommand; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBanksBySide[gLinkPlayers[i].id] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBanksBySide[gLinkPlayers[i].id] = 2; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } else { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetBankFuncToLinkOpponentBufferRunCommand; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetBankFuncToLinkOpponentBufferRunCommand; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBanksBySide[gLinkPlayers[i].lp_field_18] = 1; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBanksBySide[gLinkPlayers[i].id] = 1; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBanksBySide[gLinkPlayers[i].lp_field_18] = 3; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBanksBySide[gLinkPlayers[i].id] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } @@ -386,19 +386,21 @@ void PrepareBufferDataTransfer(u8 a, u8 *data, u16 size) } } -void sub_800BF28(void) +void CreateTasksForSendRecvLinkBuffers(void) { - gUnknown_020238C4 = CreateTask(sub_800C1A8, 0); - gTasks[gUnknown_020238C4].data[11] = 0; - gTasks[gUnknown_020238C4].data[12] = 0; - gTasks[gUnknown_020238C4].data[13] = 0; - gTasks[gUnknown_020238C4].data[14] = 0; - gTasks[gUnknown_020238C4].data[15] = 0; - gUnknown_020238C5 = CreateTask(sub_800C47C, 0); - gTasks[gUnknown_020238C5].data[12] = 0; - gTasks[gUnknown_020238C5].data[13] = 0; - gTasks[gUnknown_020238C5].data[14] = 0; - gTasks[gUnknown_020238C5].data[15] = 0; + sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0); + gTasks[sLinkSendTaskId].data[11] = 0; + gTasks[sLinkSendTaskId].data[12] = 0; + gTasks[sLinkSendTaskId].data[13] = 0; + gTasks[sLinkSendTaskId].data[14] = 0; + gTasks[sLinkSendTaskId].data[15] = 0; + + sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0); + gTasks[sLinkReceiveTaskId].data[12] = 0; + gTasks[sLinkReceiveTaskId].data[13] = 0; + gTasks[sLinkReceiveTaskId].data[14] = 0; + gTasks[sLinkReceiveTaskId].data[15] = 0; + gUnknown_020238C6 = 0; CpuFill16(0, EWRAM_14000, 0x2000); } @@ -409,27 +411,27 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) int i; r9 = size - size % 4 + 4; - if (gTasks[gUnknown_020238C4].data[14] + r9 + 9 > 0x1000) + if (gTasks[sLinkSendTaskId].data[14] + r9 + 9 > 0x1000) { - gTasks[gUnknown_020238C4].data[12] = gTasks[gUnknown_020238C4].data[14]; - gTasks[gUnknown_020238C4].data[14] = 0; + gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14]; + gTasks[sLinkSendTaskId].data[14] = 0; } - ewram14000arr(0, gTasks[gUnknown_020238C4].data[14]) = a; - 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]) = gAbsentBattlerFlags; - ewram14000arr(7, gTasks[gUnknown_020238C4].data[14]) = gEffectBank; + ewram14000arr(0, gTasks[sLinkSendTaskId].data[14]) = a; + ewram14000arr(1, gTasks[sLinkSendTaskId].data[14]) = gActiveBattler; + ewram14000arr(2, gTasks[sLinkSendTaskId].data[14]) = gBattlerAttacker; + ewram14000arr(3, gTasks[sLinkSendTaskId].data[14]) = gBattlerTarget; + ewram14000arr(4, gTasks[sLinkSendTaskId].data[14]) = r9; + ewram14000arr(5, gTasks[sLinkSendTaskId].data[14]) = (r9 & 0x0000FF00) >> 8; + ewram14000arr(6, gTasks[sLinkSendTaskId].data[14]) = gAbsentBattlerFlags; + ewram14000arr(7, gTasks[sLinkSendTaskId].data[14]) = gEffectBattler; for (i = 0; i < size; i++) - ewram14008arr(i, gTasks[gUnknown_020238C4].data[14]) = data[i]; - gTasks[gUnknown_020238C4].data[14] = gTasks[gUnknown_020238C4].data[14] + r9 + 8; + ewram14008arr(i, gTasks[sLinkSendTaskId].data[14]) = data[i]; + gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + r9 + 8; } -void sub_800C1A8(u8 taskId) +void Task_HandleSendLinkBuffersData(u8 taskId) { u16 var; @@ -519,24 +521,24 @@ void sub_800C35C(void) recvBuffer = gBlockRecvBuffer[i]; #endif r6 = gBlockRecvBuffer[i][2]; - if (gTasks[gUnknown_020238C5].data[14] + 9 + r6 > 0x1000) + if (gTasks[sLinkReceiveTaskId].data[14] + 9 + r6 > 0x1000) { - gTasks[gUnknown_020238C5].data[12] = gTasks[gUnknown_020238C5].data[14]; - gTasks[gUnknown_020238C5].data[14] = 0; + gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14]; + gTasks[sLinkReceiveTaskId].data[14] = 0; } //_0800C402 - dest = EWRAM_15000 + gTasks[gUnknown_020238C5].data[14]; + dest = EWRAM_15000 + gTasks[sLinkReceiveTaskId].data[14]; src = (u8 *)recvBuffer; for (j = 0; j < r6 + 8; j++) dest[j] = src[j]; - gTasks[gUnknown_020238C5].data[14] = gTasks[gUnknown_020238C5].data[14] + r6 + 8; + gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + r6 + 8; } //_0800C446 } } } -void sub_800C47C(u8 taskId) +void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) { u16 r7; u8 r4; @@ -555,16 +557,16 @@ void sub_800C47C(u8 taskId) switch (ewram15000arr(0, gTasks[taskId].data[15])) { case 0: - if (gBattleExecBuffer & gBitTable[r4]) + if (gBattleControllerExecFlags & gBitTable[r4]) return; memcpy(gBattleBufferA[r4], &ewram15000arr(8, gTasks[taskId].data[15]), r7); sub_80155A4(r4); if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) { - gBankAttacker = ewram15000arr(2, gTasks[taskId].data[15]); - gBankTarget = ewram15000arr(3, gTasks[taskId].data[15]); + gBattlerAttacker = ewram15000arr(2, gTasks[taskId].data[15]); + gBattlerTarget = ewram15000arr(3, gTasks[taskId].data[15]); gAbsentBattlerFlags = ewram15000arr(6, gTasks[taskId].data[15]); - gEffectBank = ewram15000arr(7, gTasks[taskId].data[15]); + gEffectBattler = ewram15000arr(7, gTasks[taskId].data[15]); } break; case 1: @@ -572,32 +574,33 @@ void sub_800C47C(u8 taskId) break; case 2: r2 = ewram15000arr(8, gTasks[taskId].data[15]); - gBattleExecBuffer &= ~(gBitTable[r4] << (r2 * 4)); + gBattleControllerExecFlags &= ~(gBitTable[r4] << (r2 * 4)); break; } + gTasks[taskId].data[15] = gTasks[taskId].data[15] + r7 + 8; } } -void EmitGetAttributes(u8 a, u8 b, u8 c) +void BtlController_EmitGetMonData(u8 bufferId, u8 b, u8 c) { gBattleBuffersTransferData[0] = 0; gBattleBuffersTransferData[1] = b; gBattleBuffersTransferData[2] = c; gBattleBuffersTransferData[3] = 0; - PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); + PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void Emitcmd1(u8 a, u8 b, u8 c) +void BtlController_EmitGetRawMonData(u8 bufferId, u8 b, u8 c) { gBattleBuffersTransferData[0] = 1; gBattleBuffersTransferData[1] = b; gBattleBuffersTransferData[2] = c; gBattleBuffersTransferData[3] = 0; - PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); + PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitSetMonData(u8 a, u8 b, u8 c, u8 d, void *e) +void BtlController_EmitSetMonData(u8 bufferId, u8 b, u8 c, u8 d, void *e) { int i; @@ -606,10 +609,10 @@ void EmitSetMonData(u8 a, u8 b, u8 c, u8 d, void *e) gBattleBuffersTransferData[2] = c; for (i = 0; i < d; i++) gBattleBuffersTransferData[3 + i] = *(u8*)(e++); - PrepareBufferDataTransfer(a, gBattleBuffersTransferData, d + 3); + PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, d + 3); } -void Emitcmd3(u8 a, u8 b, u8 c, u8 *d) +void BtlController_EmitSetRawMonData(u8 bufferId, u8 b, u8 c, u8 *d) { int i; @@ -618,35 +621,35 @@ void Emitcmd3(u8 a, u8 b, u8 c, u8 *d) gBattleBuffersTransferData[2] = c; for (i = 0; i < c; i++) gBattleBuffersTransferData[3 + i] = *(d++); - PrepareBufferDataTransfer(a, gBattleBuffersTransferData, c + 3); + PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, c + 3); } -void EmitLoadPokeSprite(u8 a) +void BtlController_EmitLoadMonSprite(u8 bufferId) { gBattleBuffersTransferData[0] = 4; gBattleBuffersTransferData[1] = 4; gBattleBuffersTransferData[2] = 4; gBattleBuffersTransferData[3] = 4; - PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); + PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitSendOutPoke(u8 a, u8 b, u8 c) +void BtlController_EmitSwitchInAnim(u8 bufferId, u8 b, u8 c) { gBattleBuffersTransferData[0] = 5; gBattleBuffersTransferData[1] = b; gBattleBuffersTransferData[2] = c; gBattleBuffersTransferData[3] = 5; - PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); + PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitReturnPokeToBall(u8 a, u8 b) +void BtlController_EmitReturnMonToBall(u8 bufferId, u8 b) { gBattleBuffersTransferData[0] = 6; gBattleBuffersTransferData[1] = b; - PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); + PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 2); } -void EmitTrainerThrow(u8 a) +void BtlController_EmitDrawTrainerPic(u8 a) { gBattleBuffersTransferData[0] = 7; gBattleBuffersTransferData[1] = 7; @@ -655,7 +658,7 @@ void EmitTrainerThrow(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitTrainerSlide(u8 a) +void BtlController_EmitTrainerSlide(u8 a) { gBattleBuffersTransferData[0] = 8; gBattleBuffersTransferData[1] = 8; @@ -664,7 +667,7 @@ void EmitTrainerSlide(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitTrainerSlideBack(u8 a) +void BtlController_EmitTrainerSlideBack(u8 a) { gBattleBuffersTransferData[0] = 9; gBattleBuffersTransferData[1] = 9; @@ -673,7 +676,7 @@ void EmitTrainerSlideBack(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd10(u8 a) +void BtlController_EmitFaintAnimation(u8 a) { gBattleBuffersTransferData[0] = 10; gBattleBuffersTransferData[1] = 10; @@ -682,7 +685,7 @@ void Emitcmd10(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd11(u8 a) +void BtlController_EmitPaletteFade(u8 a) { gBattleBuffersTransferData[0] = 11; gBattleBuffersTransferData[1] = 11; @@ -691,7 +694,7 @@ void Emitcmd11(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd12(u8 a) +void BtlController_EmitSuccessBallThrowAnim(u8 a) { gBattleBuffersTransferData[0] = 12; gBattleBuffersTransferData[1] = 12; @@ -700,14 +703,14 @@ void Emitcmd12(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitBallThrow(u8 a, u8 b) +void BtlController_EmitBallThrowAnim(u8 a, u8 b) { gBattleBuffersTransferData[0] = 13; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); } -void EmitPuase(u8 a, u8 b, u8 *c) +void BtlController_EmitPause(u8 a, u8 b, u8 *c) { int i; @@ -718,7 +721,7 @@ void EmitPuase(u8 a, u8 b, u8 *c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, b * 3 + 2); } -void EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, struct DisableStruct *g) +void BtlController_EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, struct DisableStruct *g) { gBattleBuffersTransferData[0] = 15; gBattleBuffersTransferData[1] = b; @@ -748,7 +751,7 @@ void EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, struct DisableStru PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 0x2C); } -void EmitPrintString(u8 a, u16 stringID) +void BtlController_EmitPrintString(u8 a, u16 stringID) { s32 i; struct StringInfoBattle* stringInfo; @@ -766,7 +769,7 @@ void EmitPrintString(u8 a, u16 stringID) stringInfo->scrActive = gBattleStruct->scriptingActive; stringInfo->unk1605E = gBattleStruct->unk1605E; stringInfo->hpScale = gBattleStruct->hpScale; - stringInfo->StringBank = gStringBank; + stringInfo->StringBank = gPotentialItemEffectBattler; stringInfo->moveType = gBattleMoves[gCurrentMove].type; for (i = 0; i < 4; i++) @@ -780,7 +783,7 @@ void EmitPrintString(u8 a, u16 stringID) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4); } -void EmitPrintStringPlayerOnly(u8 a, u16 stringID) +void BtlController_EmitPrintSelectionString(u8 a, u16 stringID) { s32 i; struct StringInfoBattle* stringInfo; @@ -809,7 +812,7 @@ void EmitPrintStringPlayerOnly(u8 a, u16 stringID) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4); } -void Emitcmd18(u8 a, u8 b, u16 c) +void BtlController_EmitChooseAction(u8 a, u8 b, u16 c) { gBattleBuffersTransferData[0] = 18; gBattleBuffersTransferData[1] = b; @@ -818,14 +821,14 @@ void Emitcmd18(u8 a, u8 b, u16 c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd19(u8 a, u8 b) +void BtlController_EmitUnknownYesNoBox(u8 a, u8 b) { gBattleBuffersTransferData[0] = 19; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); } -void Emitcmd20(u8 a, u8 b, u8 c, u8 *d) +void BtlController_EmitChooseMove(u8 a, u8 b, u8 c, u8 *d) { u32 i; @@ -838,7 +841,7 @@ void Emitcmd20(u8 a, u8 b, u8 c, u8 *d) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 24); } -void EmitOpenBag(u8 a, u8 *b) +void BtlController_EmitChooseItem(u8 a, u8 *b) { int i; @@ -848,7 +851,7 @@ void EmitOpenBag(u8 a, u8 *b) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitChoosePokemon(u8 a, u8 b, u8 c, u8 d, u8 *e) +void BtlController_EmitChoosePokemon(u8 a, u8 b, u8 c, u8 d, u8 *e) { int i; @@ -861,7 +864,7 @@ void EmitChoosePokemon(u8 a, u8 b, u8 c, u8 d, u8 *e) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 8); //but only 7 bytes were written } -void Emitcmd23(u8 a) +void BtlController_EmitCmd23(u8 a) { gBattleBuffersTransferData[0] = 23; gBattleBuffersTransferData[1] = 23; @@ -872,7 +875,7 @@ void Emitcmd23(u8 a) // FIXME: I think this function is supposed to take s16 as its second argument, // but battle_4.c expects u16 -void EmitHealthBarUpdate(u8 a, u16 b) +void BtlController_EmitHealthBarUpdate(u8 a, u16 b) { gBattleBuffersTransferData[0] = 24; gBattleBuffersTransferData[1] = 0; @@ -883,7 +886,7 @@ void EmitHealthBarUpdate(u8 a, u16 b) // FIXME: I think this function is supposed to take s16 as its third argument, // but battle_4.c expects u16 -void EmitExpBarUpdate(u8 a, u8 b, u16 c) +void BtlController_EmitExpUpdate(u8 a, u8 b, u16 c) { gBattleBuffersTransferData[0] = 25; gBattleBuffersTransferData[1] = b; @@ -892,7 +895,7 @@ void EmitExpBarUpdate(u8 a, u8 b, u16 c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitStatusIconUpdate(u8 a, u32 b, u32 c) +void BtlController_EmitStatusIconUpdate(u8 a, u32 b, u32 c) { gBattleBuffersTransferData[0] = 26; gBattleBuffersTransferData[1] = b; @@ -906,7 +909,7 @@ void EmitStatusIconUpdate(u8 a, u32 b, u32 c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 9); } -void EmitStatusAnimation(u8 a, u8 b, u32 c) +void BtlController_EmitStatusAnimation(u8 a, u8 b, u32 c) { gBattleBuffersTransferData[0] = 27; gBattleBuffersTransferData[1] = b; @@ -917,14 +920,14 @@ void EmitStatusAnimation(u8 a, u8 b, u32 c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 6); } -void EmitStatusXor(u8 a, u8 b) +void BtlController_EmitStatusXor(u8 a, u8 b) { gBattleBuffersTransferData[0] = 28; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); } -void Emitcmd29(u8 a, u16 b, u8 *c) +void BtlController_EmitDataTransfer(u8 a, u16 b, u8 *c) { int i; @@ -937,7 +940,7 @@ void Emitcmd29(u8 a, u16 b, u8 *c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, b + 4); } -void EmitDMATransfer(u8 a, u32 b, u16 c, u8 *d) +void BtlController_EmitDMA3Transfer(u8 a, u32 b, u16 c, u8 *d) { int i; @@ -953,7 +956,7 @@ void EmitDMATransfer(u8 a, u32 b, u16 c, u8 *d) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, c + 7); } -void Emitcmd31(u8 a, u16 b, u8 *c) +void BtlController_EmitPlayBGM(u8 a, u16 b, u8 *c) { int i; @@ -965,7 +968,7 @@ void Emitcmd31(u8 a, u16 b, u8 *c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, b + 3); } -void Emitcmd32(u8 a, u16 b, u8 *c) +void BtlController_EmitCmd32(u8 a, u16 b, u8 *c) { int i; @@ -977,7 +980,7 @@ void Emitcmd32(u8 a, u16 b, u8 *c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, b + 3); } -void Emitcmd33(u8 a, u8 b, u16 c) +void BtlController_EmitTwoReturnValues(u8 a, u8 b, u16 c) { gBattleBuffersTransferData[0] = 33; gBattleBuffersTransferData[1] = b; @@ -986,7 +989,7 @@ void Emitcmd33(u8 a, u8 b, u16 c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd34(u8 a, u8 b, u8 *c) +void BtlController_EmitChosenMonReturnValue(u8 a, u8 b, u8 *c) { int i; @@ -997,7 +1000,7 @@ void Emitcmd34(u8 a, u8 b, u8 *c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 5); } -void Emitcmd35(u8 a, u16 b) +void BtlController_EmitOneReturnValue(u8 a, u16 b) { gBattleBuffersTransferData[0] = 35; gBattleBuffersTransferData[1] = b; @@ -1006,7 +1009,7 @@ void Emitcmd35(u8 a, u16 b) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd36(u8 a, u16 b) +void BtlController_EmitOneReturnValue_Duplicate(u8 a, u16 b) { gBattleBuffersTransferData[0] = 36; gBattleBuffersTransferData[1] = b; @@ -1015,7 +1018,7 @@ void Emitcmd36(u8 a, u16 b) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd37(u8 a) +void BtlController_EmitCmd37(u8 a) { gBattleBuffersTransferData[0] = 37; gBattleBuffersTransferData[1] = 37; @@ -1024,14 +1027,14 @@ void Emitcmd37(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd38(u8 a, u8 b) +void BtlController_EmitCmd38(u8 a, u8 b) { gBattleBuffersTransferData[0] = 38; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); } -void Emitcmd39(u8 a) +void BtlController_EmitCmd39(u8 a) { gBattleBuffersTransferData[0] = 39; gBattleBuffersTransferData[1] = 39; @@ -1040,7 +1043,7 @@ void Emitcmd39(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd40(u8 a) +void BtlController_EmitCmd40(u8 a) { gBattleBuffersTransferData[0] = 40; gBattleBuffersTransferData[1] = 40; @@ -1049,7 +1052,7 @@ void Emitcmd40(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitHitAnimation(u8 a) +void BtlController_EmitHitAnimation(u8 a) { gBattleBuffersTransferData[0] = 41; gBattleBuffersTransferData[1] = 41; @@ -1058,7 +1061,7 @@ void EmitHitAnimation(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd42(u8 a) +void BtlController_EmitCmd42(u8 a) { gBattleBuffersTransferData[0] = 42; gBattleBuffersTransferData[1] = 42; @@ -1067,7 +1070,7 @@ void Emitcmd42(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitEffectivenessSound(u8 a, u16 b) +void BtlController_EmitPlaySE(u8 a, u16 b) { gBattleBuffersTransferData[0] = 43; gBattleBuffersTransferData[1] = b; @@ -1076,7 +1079,7 @@ void EmitEffectivenessSound(u8 a, u16 b) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd44(u8 a, u16 b) +void BtlController_EmitPlayFanfareOrBGM(u8 a, u16 b) { gBattleBuffersTransferData[0] = 44; gBattleBuffersTransferData[1] = b; @@ -1085,7 +1088,7 @@ void Emitcmd44(u8 a, u16 b) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitFaintingCry(u8 a) +void BtlController_EmitFaintingCry(u8 a) { gBattleBuffersTransferData[0] = 45; gBattleBuffersTransferData[1] = 45; @@ -1094,14 +1097,14 @@ void EmitFaintingCry(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitIntroSlide(u8 a, u8 battleTerrain) +void BtlController_EmitIntroSlide(u8 a, u8 battleTerrain) { gBattleBuffersTransferData[0] = 46; gBattleBuffersTransferData[1] = battleTerrain; PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); } -void EmitTrainerBallThrow(u8 a) +void BtlController_EmitIntroTrainerBallThrow(u8 a) { gBattleBuffersTransferData[0] = 47; gBattleBuffersTransferData[1] = 47; @@ -1110,7 +1113,7 @@ void EmitTrainerBallThrow(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c) +void BtlController_EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c) { int i; @@ -1123,7 +1126,7 @@ void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 52); } -void Emitcmd49(u8 a) +void BtlController_EmitHidePartyStatusSummary(u8 a) { gBattleBuffersTransferData[0] = 49; gBattleBuffersTransferData[1] = 49; @@ -1132,7 +1135,7 @@ void Emitcmd49(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd50(u8 a) +void BtlController_EmitEndBounceEffect(u8 a) { gBattleBuffersTransferData[0] = 50; gBattleBuffersTransferData[1] = 50; @@ -1141,7 +1144,7 @@ void Emitcmd50(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitSpriteInvisibility(u8 a, u8 b) +void BtlController_EmitSpriteInvisibility(u8 a, u8 b) { gBattleBuffersTransferData[0] = 51; gBattleBuffersTransferData[1] = b; @@ -1150,7 +1153,7 @@ void EmitSpriteInvisibility(u8 a, u8 b) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitBattleAnimation(u8 a, u8 b, u16 c) +void BtlController_EmitBattleAnimation(u8 a, u8 b, u16 c) { gBattleBuffersTransferData[0] = 52; gBattleBuffersTransferData[1] = b; @@ -1159,21 +1162,21 @@ void EmitBattleAnimation(u8 a, u8 b, u16 c) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void EmitLinkStandbyMsg(u8 a, u8 b) +void BtlController_EmitLinkStandbyMsg(u8 a, u8 b) { gBattleBuffersTransferData[0] = 53; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); } -void EmitResetActionMoveSelection(u8 a, u8 b) +void BtlController_EmitResetActionMoveSelection(u8 a, u8 b) { gBattleBuffersTransferData[0] = 54; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 2); } -void Emitcmd55(u8 a, u8 b) +void BtlController_EmitCmd55(u8 a, u8 b) { gBattleBuffersTransferData[0] = 55; gBattleBuffersTransferData[1] = b; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index c19ec570b..e7c49144e 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -31,7 +31,7 @@ #define gCastformElevations gUnknownCastformData_0837F5A8 #define gCastformBackSpriteYCoords gUnknown_0837F5AC #define gTransformPersonalities gTransformedPersonalities -#define gBattleMonSprites gBankSpriteIds +#define gBattleMonSprites gBattlerSpriteIds struct Struct_gUnknown_0837F578 { diff --git a/src/roulette.c b/src/roulette.c index 418482394..c4f6067a1 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -544,9 +544,9 @@ void sub_8115634(u8 taskId) if (unk_203955C[0] != 0 && (gMain.newKeys & START_BUTTON)) { gTasks[eRoulette->varA4].func = sub_81157AC; - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); - m4aMPlayStop(&gMPlay_SE3); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); + m4aMPlayStop(&gMPlayInfo_SE3); } #endif } diff --git a/src/roulette_gfx.c b/src/roulette_gfx.c index 1cac00daf..afcb94df6 100644 --- a/src/roulette_gfx.c +++ b/src/roulette_gfx.c @@ -1160,8 +1160,8 @@ void sub_8118724(struct Sprite *sprite) sprite->pos2.y = -cos * sprite->data[4] >> 12; if (IsSEPlaying()) { - m4aMPlayPanpotControl(&gMPlay_SE1, 0xffff, sprite->pos2.x); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xffff, sprite->pos2.x); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xffff, sprite->pos2.x); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xffff, sprite->pos2.x); } } @@ -2221,8 +2221,8 @@ void sub_8119BCC(struct Sprite *sprite) if (IsSEPlaying()) { s8 u = -((116 - sprite->pos1.x) / 2); - m4aMPlayPanpotControl(&gMPlay_SE1, 0xffff, u); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xffff, u); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xffff, u); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xffff, u); } } else diff --git a/src/sound.c b/src/sound.c index b9756c1dc..73040c4df 100644 --- a/src/sound.c +++ b/src/sound.c @@ -27,10 +27,10 @@ static u16 sFanfareCounter; bool8 gDisableMusic; -extern struct MusicPlayerInfo gMPlay_BGM; -extern struct MusicPlayerInfo gMPlay_SE1; -extern struct MusicPlayerInfo gMPlay_SE2; -extern struct MusicPlayerInfo gMPlay_SE3; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_SE3; extern struct ToneData gCryTable[]; extern struct ToneData gCryTable2[]; @@ -180,7 +180,7 @@ bool8 IsNotWaitingForBGMStop(void) void PlayFanfareByFanfareNum(u8 fanfareNum) { u16 songNum; - m4aMPlayStop(&gMPlay_BGM); + m4aMPlayStop(&gMPlayInfo_BGM); songNum = sFanfares[fanfareNum].songNum; sFanfareCounter = sFanfares[fanfareNum].duration; m4aSongNumStart(songNum); @@ -196,7 +196,7 @@ bool8 WaitFanfare(bool8 stop) else { if (!stop) - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); else m4aSongNumStart(SE_STOP); @@ -241,7 +241,7 @@ static void Task_Fanfare(u8 taskId) } else { - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); DestroyTask(taskId); } } @@ -257,46 +257,46 @@ void FadeInNewBGM(u16 songNum, u8 speed) if (gDisableMusic) songNum = 0; m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_BGM); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0); + m4aMPlayImmInit(&gMPlayInfo_BGM); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0); m4aSongNumStop(songNum); - m4aMPlayFadeIn(&gMPlay_BGM, speed); + m4aMPlayFadeIn(&gMPlayInfo_BGM, speed); } void FadeOutBGMTemporarily(u8 speed) { - m4aMPlayFadeOutTemporarily(&gMPlay_BGM, speed); + m4aMPlayFadeOutTemporarily(&gMPlayInfo_BGM, speed); } bool8 IsBGMPausedOrStopped(void) { - if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE) + if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE) return TRUE; - if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_TRACK)) return TRUE; return FALSE; } void FadeInBGM(u8 speed) { - m4aMPlayFadeIn(&gMPlay_BGM, speed); + m4aMPlayFadeIn(&gMPlayInfo_BGM, speed); } void FadeOutBGM(u8 speed) { - m4aMPlayFadeOut(&gMPlay_BGM, speed); + m4aMPlayFadeOut(&gMPlayInfo_BGM, speed); } bool8 IsBGMStopped(void) { - if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_TRACK)) return TRUE; return FALSE; } void PlayCry1(u16 species, s8 pan) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, pan, 125, 10, 0); gPokemonCryBGMDuckingCounter = 2; RestoreBGMVolumeAfterPokemonCry(); @@ -315,7 +315,7 @@ void PlayCry3(u16 species, s8 pan, u8 mode) } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, pan, 125, 10, mode); gPokemonCryBGMDuckingCounter = 2; RestoreBGMVolumeAfterPokemonCry(); @@ -331,14 +331,14 @@ void PlayCry4(u16 species, s8 pan, u8 mode) else { if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, pan, 125, 10, mode); } } void PlayCry5(u16 species, u8 mode) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, 0, 125, 10, mode); gPokemonCryBGMDuckingCounter = 2; RestoreBGMVolumeAfterPokemonCry(); @@ -481,7 +481,7 @@ static void Task_DuckBGMForPokemonCry(u8 taskId) if (!IsPokemonCryPlaying(gMPlay_PokemonCry)) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); DestroyTask(taskId); } } @@ -507,55 +507,55 @@ void PlaySE(u16 songNum) void PlaySE12WithPanning(u16 songNum, s8 pan) { m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_SE1); - m4aMPlayImmInit(&gMPlay_SE2); - m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan); + m4aMPlayImmInit(&gMPlayInfo_SE1); + m4aMPlayImmInit(&gMPlayInfo_SE2); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, pan); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, pan); } void PlaySE1WithPanning(u16 songNum, s8 pan) { m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_SE1); - m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan); + m4aMPlayImmInit(&gMPlayInfo_SE1); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, pan); } void PlaySE2WithPanning(u16 songNum, s8 pan) { m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_SE2); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan); + m4aMPlayImmInit(&gMPlayInfo_SE2); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, pan); } void SE12PanpotControl(s8 pan) { - m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, pan); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, pan); } bool8 IsSEPlaying(void) { - if ((gMPlay_SE1.status & MUSICPLAYER_STATUS_PAUSE) && (gMPlay_SE2.status & MUSICPLAYER_STATUS_PAUSE)) + if ((gMPlayInfo_SE1.status & MUSICPLAYER_STATUS_PAUSE) && (gMPlayInfo_SE2.status & MUSICPLAYER_STATUS_PAUSE)) return FALSE; - if (!(gMPlay_SE1.status & MUSICPLAYER_STATUS_TRACK) && !(gMPlay_SE2.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_SE1.status & MUSICPLAYER_STATUS_TRACK) && !(gMPlayInfo_SE2.status & MUSICPLAYER_STATUS_TRACK)) return FALSE; return TRUE; } bool8 IsBGMPlaying(void) { - if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE) + if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE) return FALSE; - if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_TRACK)) return FALSE; return TRUE; } bool8 IsSpecialSEPlaying(void) { - if (gMPlay_SE3.status & MUSICPLAYER_STATUS_PAUSE) + if (gMPlayInfo_SE3.status & MUSICPLAYER_STATUS_PAUSE) return FALSE; - if (!(gMPlay_SE3.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_SE3.status & MUSICPLAYER_STATUS_TRACK)) return FALSE; return TRUE; } diff --git a/src/sprite.c b/src/sprite.c index 22b3a6d0f..b26fe2d12 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -18,15 +18,15 @@ #define ALLOC_SPRITE_TILE(n) \ { \ - gSpriteTileAllocBitmap[(n) / 8] |= (1 << ((n) % 8)); \ + sSpriteTileAllocBitmap[(n) / 8] |= (1 << ((n) % 8)); \ } #define FREE_SPRITE_TILE(n) \ { \ - gSpriteTileAllocBitmap[(n) / 8] &= ~(1 << ((n) % 8)); \ + sSpriteTileAllocBitmap[(n) / 8] &= ~(1 << ((n) % 8)); \ } -#define SPRITE_TILE_IS_ALLOCATED(n) ((gSpriteTileAllocBitmap[(n) / 8] >> ((n) % 8)) & 1) +#define SPRITE_TILE_IS_ALLOCATED(n) ((sSpriteTileAllocBitmap[(n) / 8] >> ((n) % 8)) & 1) struct SpriteCopyRequest { @@ -93,21 +93,21 @@ typedef void (*AnimFunc)(struct Sprite *); typedef void (*AnimCmdFunc)(struct Sprite *); typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *); -#define DUMMY_OAM_DATA \ -{ \ - 160, /* Y (off-screen) */ \ - 0, \ - 0, \ - 0, \ - 0, \ - 0, \ - 304, /* X */ \ - 0, \ - 0, \ - 0, \ - 3, /* lowest priority */ \ - 0, \ - 0 \ +#define DUMMY_OAM_DATA \ +{ \ + .y = 160, \ + .affineMode = 0, \ + .objMode = 0, \ + .mosaic = 0, \ + .bpp = 0, \ + .shape = SPRITE_SHAPE(8x8), \ + .x = 304, \ + .matrixNum = 0, \ + .size = SPRITE_SIZE(8x8), \ + .tileNum = 0, \ + .priority = 3, /* lowest priority */ \ + .paletteNum = 0, \ + .affineParam = 0 \ } #define ANIM_END 0xFFFF @@ -180,10 +180,10 @@ static const struct Sprite sDummySprite = .animPaused = 0, .affineAnimPaused = 0, .animLoopCounter = 0, - .data = {0}, + .data = {0, 0, 0, 0, 0, 0, 0}, .inUse = 0, .coordOffsetEnabled = 0, - .invisible = 0, + .invisible = FALSE, .flags_3 = 0, .flags_4 = 0, .flags_5 = 0, @@ -287,22 +287,22 @@ static u16 sSpriteTileRanges[MAX_SPRITES * 2]; static struct AffineAnimState sAffineAnimStates[OAM_MATRIX_COUNT]; static u16 sSpritePaletteTags[16]; -u8 gSpriteOrder[MAX_SPRITES]; -bool8 gShouldProcessSpriteCopyRequests; +u32 gOamMatrixAllocBitmap; +u8 gReservedSpritePaletteCount; + +EWRAM_DATA struct Sprite gSprites[MAX_SPRITES + 1] = {0}; +EWRAM_DATA u16 sSpritePriorities[MAX_SPRITES] = {0}; +u8 sSpriteOrder[MAX_SPRITES]; +bool8 sShouldProcessSpriteCopyRequests; u8 gSpriteCopyRequestCount; -struct SpriteCopyRequest gSpriteCopyRequests[MAX_SPRITE_COPY_REQUESTS]; +struct SpriteCopyRequest sSpriteCopyRequests[MAX_SPRITE_COPY_REQUESTS]; u8 gOamLimit; u16 gReservedSpriteTileCount; -u8 gSpriteTileAllocBitmap[128]; +u8 sSpriteTileAllocBitmap[128]; s16 gSpriteCoordOffsetX; s16 gSpriteCoordOffsetY; -u32 gOamMatrixAllocBitmap; struct OamMatrix gOamMatrices[OAM_MATRIX_COUNT]; -u8 gReservedSpritePaletteCount; - -EWRAM_DATA struct Sprite gSprites[MAX_SPRITES + 1] = {0}; -EWRAM_DATA u16 gSpritePriorities[MAX_SPRITES] = {0}; -EWRAM_DATA u8 gAffineAnimsDisabled = {0}; +EWRAM_DATA bool8 gAffineAnimsDisabled = 0; void ResetSpriteData(void) { @@ -346,7 +346,7 @@ void BuildOamBuffer(void) AddSpritesToOamBuffer(); CopyMatricesToOamBuffer(); gMain.oamLoadDisabled = temp; - gShouldProcessSpriteCopyRequests = TRUE; + sShouldProcessSpriteCopyRequests = TRUE; } static void UpdateOamCoords(void) @@ -378,7 +378,7 @@ static void BuildSpritePriorities(void) { struct Sprite *sprite = &gSprites[i]; u16 priority = sprite->subpriority | (sprite->oam.priority << 8); - gSpritePriorities[i] = priority; + sSpritePriorities[i] = priority; } } @@ -388,10 +388,10 @@ static void SortSprites(void) for (i = 1; i < MAX_SPRITES; i++) { u8 j = i; - struct Sprite *sprite1 = &gSprites[gSpriteOrder[i - 1]]; - struct Sprite *sprite2 = &gSprites[gSpriteOrder[i]]; - u16 sprite1Priority = gSpritePriorities[gSpriteOrder[i - 1]]; - u16 sprite2Priority = gSpritePriorities[gSpriteOrder[i]]; + struct Sprite *sprite1 = &gSprites[sSpriteOrder[i - 1]]; + struct Sprite *sprite2 = &gSprites[sSpriteOrder[i]]; + u16 sprite1Priority = sSpritePriorities[sSpriteOrder[i - 1]]; + u16 sprite2Priority = sSpritePriorities[sSpriteOrder[i]]; s16 sprite1Y = sprite1->oam.y; s16 sprite2Y = sprite2->oam.y; @@ -427,20 +427,20 @@ static void SortSprites(void) && ((sprite1Priority > sprite2Priority) || (sprite1Priority == sprite2Priority && sprite1Y < sprite2Y))) { - u8 temp = gSpriteOrder[j]; - gSpriteOrder[j] = gSpriteOrder[j - 1]; - gSpriteOrder[j - 1] = temp; + u8 temp = sSpriteOrder[j]; + sSpriteOrder[j] = sSpriteOrder[j - 1]; + sSpriteOrder[j - 1] = temp; // UB: If j equals 1, then j-- makes j equal 0. - // Then, gSpriteOrder[-1] gets accessed below. + // Then, sSpriteOrder[-1] gets accessed below. // Although this doesn't result in a bug in the ROM, // the behavior is undefined. j--; - sprite1 = &gSprites[gSpriteOrder[j - 1]]; - sprite2 = &gSprites[gSpriteOrder[j]]; - sprite1Priority = gSpritePriorities[gSpriteOrder[j - 1]]; - sprite2Priority = gSpritePriorities[gSpriteOrder[j]]; + sprite1 = &gSprites[sSpriteOrder[j - 1]]; + sprite2 = &gSprites[sSpriteOrder[j]]; + sprite1Priority = sSpritePriorities[sSpriteOrder[j - 1]]; + sprite2Priority = sSpritePriorities[sSpriteOrder[j]]; sprite1Y = sprite1->oam.y; sprite2Y = sprite2->oam.y; @@ -495,7 +495,7 @@ static void AddSpritesToOamBuffer(void) while (i < MAX_SPRITES) { - struct Sprite *sprite = &gSprites[gSpriteOrder[i]]; + struct Sprite *sprite = &gSprites[sSpriteOrder[i]]; if (sprite->inUse && !sprite->invisible && AddSpriteToOamBuffer(sprite, &oamIndex)) break; i++; @@ -662,14 +662,14 @@ static void ClearSpriteCopyRequests(void) { u8 i; - gShouldProcessSpriteCopyRequests = FALSE; + sShouldProcessSpriteCopyRequests = FALSE; gSpriteCopyRequestCount = 0; for (i = 0; i < MAX_SPRITE_COPY_REQUESTS; i++) { - gSpriteCopyRequests[i].src = 0; - gSpriteCopyRequests[i].dest = 0; - gSpriteCopyRequests[i].size = 0; + sSpriteCopyRequests[i].src = 0; + sSpriteCopyRequests[i].dest = 0; + sSpriteCopyRequests[i].size = 0; } } @@ -777,17 +777,17 @@ u8 SpriteTileAllocBitmapOp(u16 bit, u8 op) if (op == 0) { val = ~(1 << val); - gSpriteTileAllocBitmap[index] &= val; + sSpriteTileAllocBitmap[index] &= val; } else if (op == 1) { val = (1 << val); - gSpriteTileAllocBitmap[index] |= val; + sSpriteTileAllocBitmap[index] |= val; } else { retVal = 1 << shift; - retVal &= gSpriteTileAllocBitmap[index]; + retVal &= sSpriteTileAllocBitmap[index]; } return retVal; @@ -799,18 +799,18 @@ void SpriteCallbackDummy(struct Sprite *sprite) void ProcessSpriteCopyRequests(void) { - if (gShouldProcessSpriteCopyRequests) + if (sShouldProcessSpriteCopyRequests) { u8 i = 0; while (gSpriteCopyRequestCount > 0) { - CpuCopy16(gSpriteCopyRequests[i].src, gSpriteCopyRequests[i].dest, gSpriteCopyRequests[i].size); + CpuCopy16(sSpriteCopyRequests[i].src, sSpriteCopyRequests[i].dest, sSpriteCopyRequests[i].size); gSpriteCopyRequestCount--; i++; } - gShouldProcessSpriteCopyRequests = FALSE; + sShouldProcessSpriteCopyRequests = FALSE; } } @@ -818,9 +818,9 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { - gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data; - gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; - gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; + sSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data; + sSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; + sSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } #if DEBUG @@ -835,9 +835,9 @@ void RequestSpriteCopy(const void *src, u8 *dest, u16 size) { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { - gSpriteCopyRequests[gSpriteCopyRequestCount].src = src; - gSpriteCopyRequests[gSpriteCopyRequestCount].dest = dest; - gSpriteCopyRequests[gSpriteCopyRequestCount].size = size; + sSpriteCopyRequests[gSpriteCopyRequestCount].src = src; + sSpriteCopyRequests[gSpriteCopyRequestCount].dest = dest; + sSpriteCopyRequests[gSpriteCopyRequestCount].size = size; gSpriteCopyRequestCount++; } #if DEBUG @@ -880,7 +880,7 @@ static void ResetAllSprites(void) for (i = 0; i < MAX_SPRITES; i++) { ResetSprite(&gSprites[i]); - gSpriteOrder[i] = i; + sSpriteOrder[i] = i; } ResetSprite(&gSprites[i]); diff --git a/src/task.c b/src/task.c index 3e8a5588c..2956bf8b8 100644 --- a/src/task.c +++ b/src/task.c @@ -7,7 +7,7 @@ #define TAIL_SENTINEL 0xFF // gTasks is a queue of the active 16 tasks -struct Task gTasks[ACTIVE_SENTINEL]; +struct Task gTasks[NUM_TASKS]; static void InsertTask(u8 newTaskId); static u8 FindFirstActiveTask(); @@ -16,38 +16,38 @@ const u8 gError_NoTasksLeft[] = _( "TASK OVER\n" "タスクがオーバーしました"); -void ResetTasks() +void ResetTasks(void) { - u8 taskId; + u8 i; - for (taskId = 0; taskId < ACTIVE_SENTINEL; taskId++) + for (i = 0; i < NUM_TASKS; i++) { - gTasks[taskId].isActive = FALSE; - gTasks[taskId].func = TaskDummy; - gTasks[taskId].prev = taskId; - gTasks[taskId].next = taskId + 1; - gTasks[taskId].priority = -1; - memset(gTasks[taskId].data, 0, sizeof(gTasks[taskId].data)); + gTasks[i].isActive = FALSE; + gTasks[i].func = TaskDummy; + gTasks[i].prev = i; + gTasks[i].next = i + 1; + gTasks[i].priority = -1; + memset(gTasks[i].data, 0, sizeof(gTasks[i].data)); } gTasks[0].prev = HEAD_SENTINEL; - gTasks[ACTIVE_SENTINEL - 1].next = TAIL_SENTINEL; + gTasks[NUM_TASKS - 1].next = TAIL_SENTINEL; } u8 CreateTask(TaskFunc func, u8 priority) { - u8 taskId; + u8 i; - for (taskId = 0; taskId < ACTIVE_SENTINEL; taskId++) + for (i = 0; i < NUM_TASKS; i++) { - if (!gTasks[taskId].isActive) + if (!gTasks[i].isActive) { - gTasks[taskId].func = func; - gTasks[taskId].priority = priority; - InsertTask(taskId); - memset(gTasks[taskId].data, 0, sizeof(gTasks[taskId].data)); - gTasks[taskId].isActive = TRUE; - return taskId; + gTasks[i].func = func; + gTasks[i].priority = priority; + InsertTask(i); + memset(gTasks[i].data, 0, sizeof(gTasks[i].data)); + gTasks[i].isActive = TRUE; + return i; } } @@ -62,7 +62,7 @@ static void InsertTask(u8 newTaskId) { u8 taskId = FindFirstActiveTask(); - if (taskId == ACTIVE_SENTINEL) + if (taskId == NUM_TASKS) { // The task system inserts from the top downwards starting from the end (0xFF) to 0. If FindFirstActiveTask returned the value equivalent to ACTIVE_SENTINEL, it means it is the only task because it searched the entire queue. gTasks[newTaskId].prev = HEAD_SENTINEL; @@ -78,10 +78,8 @@ static void InsertTask(u8 newTaskId) // so we insert the new task before it. gTasks[newTaskId].prev = gTasks[taskId].prev; gTasks[newTaskId].next = taskId; - if (gTasks[taskId].prev != HEAD_SENTINEL) gTasks[gTasks[taskId].prev].next = newTaskId; // as long as we are not at the end, insert the newTask appropriately. - gTasks[taskId].prev = newTaskId; return; } @@ -127,7 +125,7 @@ void RunTasks(void) { u8 taskId = FindFirstActiveTask(); - if (taskId != ACTIVE_SENTINEL) + if (taskId != NUM_TASKS) { do { @@ -141,7 +139,7 @@ static u8 FindFirstActiveTask(void) { u8 taskId; - for (taskId = 0; taskId < ACTIVE_SENTINEL; taskId++) + for (taskId = 0; taskId < NUM_TASKS; taskId++) if (gTasks[taskId].isActive == TRUE && gTasks[taskId].prev == HEAD_SENTINEL) break; @@ -184,7 +182,7 @@ bool8 FuncIsActiveTask(TaskFunc func) { u8 i; - for (i = 0; i < ACTIVE_SENTINEL; i++) + for (i = 0; i < NUM_TASKS; i++) if (gTasks[i].isActive == TRUE && gTasks[i].func == func) return TRUE; @@ -195,11 +193,11 @@ u8 FindTaskIdByFunc(TaskFunc func) { s32 i; - for (i = 0; i < ACTIVE_SENTINEL; i++) + for (i = 0; i < NUM_TASKS; i++) if (gTasks[i].isActive == TRUE && gTasks[i].func == func) return (u8)i; - return -1; + return 0xFF; } u8 GetTaskCount(void) @@ -207,7 +205,7 @@ u8 GetTaskCount(void) u8 i; u8 count = 0; - for (i = 0; i < ACTIVE_SENTINEL; i++) + for (i = 0; i < NUM_TASKS; i++) if (gTasks[i].isActive == TRUE) count++; diff --git a/src/title_screen.c b/src/title_screen.c index df737fd06..b4aa9f8ed 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -41,7 +41,7 @@ #endif extern u8 gReservedSpritePaletteCount; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG1_X; extern const u8 gUnknown_08E9D8CC[]; @@ -851,7 +851,7 @@ static void Task_TitleScreenPhase3(u8 taskId) gBattle_BG1_X = 0; } UpdateLegendaryMarkingColor(gTasks[taskId].tCounter); - if ((gMPlay_BGM.status & 0xFFFF) == 0) + if ((gMPlayInfo_BGM.status & 0xFFFF) == 0) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, FADE_COLOR_WHITE); SetMainCallback2(CB2_GoToCopyrightScreen); diff --git a/src/trade.c b/src/trade.c index bd298b58e..5422a6ace 100644 --- a/src/trade.c +++ b/src/trade.c @@ -126,6 +126,8 @@ struct TradeEwramSubstruct { /*0x08fc*/ u8 filler_08fc[0x704]; }; +struct TradeEwramSubstruct2 *gUnknown_03004828; + IWRAM_DATA u8 gUnknown_03000508[8]; struct UnkStructF { @@ -209,7 +211,7 @@ EWRAM_DATA u8 *gUnknown_020296CC[13] = {0}; EWRAM_DATA struct MailStruct gUnknown_02029700[6] = {0}; EWRAM_DATA u8 gUnknown_020297D8[2] = {0}; -extern struct TradeEwramSubstruct *gUnknown_03004824; +struct TradeEwramSubstruct *gUnknown_03004824; const u32 unref_data_820ABD4[] = { |