summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-06-17 16:56:13 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-06-17 16:56:13 -0400
commitf5a444af5d4e7b33706bc051c3e932d3d75d8a24 (patch)
treea7a567d55a07f077903164a4d500c0fb0bb7bf0a /src
parent42650e1507008d0ad3a710e0b8ec27d8ad97bd26 (diff)
Replace simple ewram access with battle struct, 2
Diffstat (limited to 'src')
-rw-r--r--src/battle/anim/battle_intro.c8
-rw-r--r--src/battle/anim/normal.c6
-rw-r--r--src/battle_ai_switch_items.c2
-rwxr-xr-xsrc/battle_anim_special.c2
-rw-r--r--src/battle_controller_link_opponent.c14
-rw-r--r--src/battle_controller_link_partner.c14
-rw-r--r--src/battle_controller_opponent.c14
-rw-r--r--src/battle_controller_player.c21
-rw-r--r--src/battle_controller_wally.c6
-rw-r--r--src/battle_gfx_sfx_util.c58
-rw-r--r--src/battle_interface.c12
-rw-r--r--src/battle_main.c187
-rw-r--r--src/battle_script_commands.c12
-rw-r--r--src/pokemon_2.c5
-rw-r--r--src/reshow_battle_screen.c8
15 files changed, 187 insertions, 182 deletions
diff --git a/src/battle/anim/battle_intro.c b/src/battle/anim/battle_intro.c
index 568f5071d..1c1972bb4 100644
--- a/src/battle/anim/battle_intro.c
+++ b/src/battle/anim/battle_intro.c
@@ -402,10 +402,10 @@ static void BattleIntroTask_80E4C34(u8 taskId)
if (gTasks[taskId].tBgXOffset == 0)
{
gTasks[taskId].tState++;
- gSprites[ewram1608A].oam.objMode = 2;
- gSprites[ewram1608A].callback = sub_800FE20;
- gSprites[ewram1608B].oam.objMode = 2;
- gSprites[ewram1608B].callback = sub_800FE20;
+ gSprites[gBattleStruct->unk1608A].oam.objMode = 2;
+ gSprites[gBattleStruct->unk1608A].callback = sub_800FE20;
+ gSprites[gBattleStruct->unk1608B].oam.objMode = 2;
+ gSprites[gBattleStruct->unk1608B].callback = sub_800FE20;
REG_WININ = 0x3F;
REG_WINOUT = 0x3F06;
}
diff --git a/src/battle/anim/normal.c b/src/battle/anim/normal.c
index 9053d7844..9be913b70 100644
--- a/src/battle/anim/normal.c
+++ b/src/battle/anim/normal.c
@@ -1932,8 +1932,8 @@ void sub_80E4300(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = ewram17800[gBattleAnimAttacker].invisible;
- ewram17800[gBattleAnimAttacker].invisible = TRUE;
+ gTasks[taskId].data[0] = gBattleSpriteInfo[gBattleAnimAttacker].invisible;
+ gBattleSpriteInfo[gBattleAnimAttacker].invisible = TRUE;
gTasks[taskId].func = sub_80E4368;
gAnimVisualTaskCount--;
}
@@ -1943,7 +1943,7 @@ static void sub_80E4368(u8 taskId)
{
if (gBattleAnimArgs[7] == 0x1000)
{
- ewram17800[gBattleAnimAttacker].invisible = gTasks[taskId].data[0] & 1;
+ gBattleSpriteInfo[gBattleAnimAttacker].invisible = gTasks[taskId].data[0] & 1;
DestroyTask(taskId);
}
}
diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c
index f83334be3..9de1e9b1f 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -82,7 +82,7 @@ static bool8 ShouldSwitchIfWonderGuard(void)
continue;
GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); // Unused return value.
GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY); // Unused return value.
-
+
for (opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT), j = 0; j < MAX_MON_MOVES; ++j)
{
move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j);
diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c
index e86b9359c..50a5323e3 100755
--- a/src/battle_anim_special.c
+++ b/src/battle_anim_special.c
@@ -1843,7 +1843,7 @@ void sub_81416C4(u8 taskId)
void sub_81417D8(u8 taskId)
{
- gBattleAnimArgs[7] = ewram17800[gBattleAnimAttacker].substituteSprite;
+ gBattleAnimArgs[7] = gBattleSpriteInfo[gBattleAnimAttacker].substituteSprite;
DestroyAnimVisualTask(taskId);
}
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index bd1ab3e23..eafe78b42 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -454,7 +454,7 @@ void sub_8037CC0(void)
{
if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
{
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
gBattlerControllerFuncs[gActiveBattler] = sub_8037D2C;
}
@@ -1214,7 +1214,7 @@ void sub_8039648(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4 = 1;
break;
@@ -1283,7 +1283,7 @@ void LinkOpponentHandlecmd10(void)
{
if (ewram17810[gActiveBattler].unk4 == 0)
{
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4++;
}
@@ -1358,9 +1358,9 @@ void sub_8039B64(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite && !gBattleSpriteInfo[gActiveBattler].flag_x8)
{
- ewram17800[gActiveBattler].unk0_3 = 1;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 1;
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
}
ewram17810[gActiveBattler].unk4 = 1;
@@ -1378,10 +1378,10 @@ void sub_8039B64(void)
if (!gAnimScriptActive)
{
sub_80326EC(1);
- if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1)
+ if ((gBattleSpriteInfo[gActiveBattler].substituteSprite) && r7 <= 1)
{
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
- ewram17800[gActiveBattler].unk0_3 = 0;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 0;
}
ewram17810[gActiveBattler].unk4 = 3;
}
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index bbe366ac0..946e943e4 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -396,7 +396,7 @@ void sub_811E034(void)
{
if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
{
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
gBattlerControllerFuncs[gActiveBattler] = sub_811E0A0;
}
@@ -1153,7 +1153,7 @@ void sub_811FA5C(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4 = 1;
break;
@@ -1219,7 +1219,7 @@ void LinkPartnerHandlecmd10(void)
{
if (ewram17810[gActiveBattler].unk4 == 0)
{
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4++;
}
@@ -1294,9 +1294,9 @@ void sub_811FF30(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite && !gBattleSpriteInfo[gActiveBattler].flag_x8)
{
- ewram17800[gActiveBattler].unk0_3 = 1;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 1;
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
}
ewram17810[gActiveBattler].unk4 = 1;
@@ -1314,10 +1314,10 @@ void sub_811FF30(void)
if (!gAnimScriptActive)
{
sub_80326EC(1);
- if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1)
+ if ((gBattleSpriteInfo[gActiveBattler].substituteSprite) && r7 <= 1)
{
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
- ewram17800[gActiveBattler].unk0_3 = 0;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 0;
}
ewram17810[gActiveBattler].unk4 = 3;
}
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 39a05c2af..882c34b7f 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -459,7 +459,7 @@ void sub_8033264(void)
{
if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
{
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
gBattlerControllerFuncs[gActiveBattler] = sub_80332D0;
}
@@ -1187,7 +1187,7 @@ void sub_8034B74(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4 = 1;
break;
@@ -1287,7 +1287,7 @@ void OpponentHandlecmd10(void)
{
if (ewram17810[gActiveBattler].unk4 == 0)
{
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4++;
}
@@ -1362,9 +1362,9 @@ void sub_8035238(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite && !gBattleSpriteInfo[gActiveBattler].flag_x8)
{
- ewram17800[gActiveBattler].unk0_3 = 1;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 1;
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
}
ewram17810[gActiveBattler].unk4 = 1;
@@ -1382,10 +1382,10 @@ void sub_8035238(void)
if (!gAnimScriptActive)
{
sub_80326EC(1);
- if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1)
+ if ((gBattleSpriteInfo[gActiveBattler].substituteSprite) && r7 <= 1)
{
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
- ewram17800[gActiveBattler].unk0_3 = 0;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 0;
}
ewram17810[gActiveBattler].unk4 = 3;
}
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 24968cb9d..271f5cfd1 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -1258,7 +1258,7 @@ void sub_802D680(void)
ewram17810[gActiveBattler].unk1_0 = 0;
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
gBattlerControllerFuncs[gActiveBattler] = sub_802D730;
}
@@ -2385,7 +2385,7 @@ void sub_802FB2C(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4 = 1;
break;
@@ -2460,7 +2460,7 @@ void PlayerHandlecmd10(void)
{
if (ewram17810[gActiveBattler].unk4 == 0)
{
- if (ewram17800[gActiveBattler].substituteSprite)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4++;
}
@@ -2548,9 +2548,10 @@ void sub_8030190(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite == 1 && ewram17800[gActiveBattler].unk0_3 == 0)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite == 1 &&
+ gBattleSpriteInfo[gActiveBattler].flag_x8 == 0)
{
- ewram17800[gActiveBattler].unk0_3 = 1;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 1;
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
}
ewram17810[gActiveBattler].unk4 = 1;
@@ -2568,10 +2569,10 @@ void sub_8030190(void)
if (!gAnimScriptActive)
{
sub_80326EC(1);
- if (ewram17800[gActiveBattler].substituteSprite == 1 && r7 < 2)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite == 1 && r7 < 2)
{
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
- ewram17800[gActiveBattler].unk0_3 = 0;
+ gBattleSpriteInfo[gActiveBattler].flag_x8 = 0;
}
ewram17810[gActiveBattler].unk4 = 3;
}
@@ -2674,9 +2675,9 @@ void PlayerHandlecmd22(void)
gUnknown_0300434C[gActiveBattler] = CreateTask(TaskDummy, 0xFF);
gTasks[gUnknown_0300434C[gActiveBattler]].data[0] = gBattleBufferA[gActiveBattler][1] & 0xF;
- ewram16054 = gBattleBufferA[gActiveBattler][1] >> 4;
- EWRAM_1609D = gBattleBufferA[gActiveBattler][2];
- ewram160C0 = gBattleBufferA[gActiveBattler][3];
+ gBattleStruct->unk16054 = gBattleBufferA[gActiveBattler][1] >> 4;
+ gBattleStruct->unk1609D = gBattleBufferA[gActiveBattler][2];
+ gBattleStruct->unk160C0 = gBattleBufferA[gActiveBattler][3];
for (i = 0; i < 3; i++)
gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][4 + i];
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index 7d6070aa1..3e54668b0 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -1195,7 +1195,7 @@ void sub_81390D0(void)
switch (ewram17810[gActiveBattler].unk4)
{
case 0:
- if (ewram17800[gActiveBattler].substituteSprite == 1)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite == 1)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5);
ewram17810[gActiveBattler].unk4 = 1;
break;
@@ -1212,7 +1212,7 @@ void sub_81390D0(void)
if (!gAnimScriptActive)
{
sub_80326EC(1);
- if (ewram17800[gActiveBattler].substituteSprite == 1)
+ if (gBattleSpriteInfo[gActiveBattler].substituteSprite == 1)
move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6);
ewram17810[gActiveBattler].unk4 = 3;
}
@@ -1496,7 +1496,7 @@ void sub_81398BC(u8 bank)
{
u16 species;
- ewram17800[bank].transformedSpecies = 0;
+ gBattleSpriteInfo[bank].transformedSpecies = 0;
gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1];
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES);
gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0);
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index a7e65137d..49da3c9e6 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -194,9 +194,9 @@ bool8 move_anim_start_t3(u8 a, u8 b, u8 c, u8 d, u16 e)
gBattleMonForms[a] = e & 0x7F;
return TRUE;
}
- if (ewram17800[a].substituteSprite && sub_803163C(d) == 0)
+ if (gBattleSpriteInfo[a].substituteSprite && sub_803163C(d) == 0)
return TRUE;
- if (ewram17800[a].substituteSprite && d == 2 && gSprites[gBattlerSpriteIds[a]].invisible)
+ if (gBattleSpriteInfo[a].substituteSprite && d == 2 && gSprites[gBattlerSpriteIds[a]].invisible)
{
refresh_graphics_maybe(a, 1, gBattlerSpriteIds[a]);
sub_80324E0(a);
@@ -296,14 +296,14 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
const u8 *lzPaletteData;
personalityValue = GetMonData(pkmn, MON_DATA_PERSONALITY);
- if (ewram17800[b].transformedSpecies == 0)
+ if (gBattleSpriteInfo[b].transformedSpecies == 0)
{
species = GetMonData(pkmn, MON_DATA_SPECIES);
r7 = personalityValue;
}
else
{
- species = ewram17800[b].transformedSpecies;
+ species = gBattleSpriteInfo[b].transformedSpecies;
r7 = gTransformedPersonalities[b];
}
otId = GetMonData(pkmn, MON_DATA_OT_ID);
@@ -317,7 +317,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
species,
r7);
paletteOffset = 0x100 + b * 16;
- if (ewram17800[b].transformedSpecies == 0)
+ if (gBattleSpriteInfo[b].transformedSpecies == 0)
lzPaletteData = GetMonSpritePal(pkmn);
else
lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue);
@@ -330,7 +330,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
LZDecompressWram(lzPaletteData, ewram16400);
LoadPalette(ewram16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20);
}
- if (ewram17800[b].transformedSpecies != 0)
+ if (gBattleSpriteInfo[b].transformedSpecies != 0)
{
BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31));
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
@@ -348,14 +348,14 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
const u8 *lzPaletteData;
personalityValue = GetMonData(pkmn, MON_DATA_PERSONALITY);
- if (ewram17800[b].transformedSpecies == 0)
+ if (gBattleSpriteInfo[b].transformedSpecies == 0)
{
species = GetMonData(pkmn, MON_DATA_SPECIES);
r7 = personalityValue;
}
else
{
- species = ewram17800[b].transformedSpecies;
+ species = gBattleSpriteInfo[b].transformedSpecies;
r7 = gTransformedPersonalities[b];
}
otId = GetMonData(pkmn, MON_DATA_OT_ID);
@@ -369,7 +369,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
species,
r7);
paletteOffset = 0x100 + b * 16;
- if (ewram17800[b].transformedSpecies == 0)
+ if (gBattleSpriteInfo[b].transformedSpecies == 0)
lzPaletteData = GetMonSpritePal(pkmn);
else
lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue);
@@ -382,7 +382,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
LZDecompressWram(lzPaletteData, ewram16400);
LoadPalette(ewram16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20);
}
- if (ewram17800[b].transformedSpecies != 0)
+ if (gBattleSpriteInfo[b].transformedSpecies != 0)
{
BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31));
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
@@ -611,7 +611,7 @@ void sub_8031EE8(void)
void sub_8031F0C(void)
{
sub_8031EE8();
- memset(ewram17800, 0, 0x10);
+ memset(gBattleSpriteInfo, 0, 0x10);
}
void sub_8031F24(void)
@@ -619,12 +619,12 @@ void sub_8031F24(void)
s32 i;
for (i = 0; i < gBattlersCount; i++)
- ewram17800[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible;
+ gBattleSpriteInfo[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible;
}
void sub_8031F88(u8 a)
{
- ewram17800[a].invisible = gSprites[gBattlerSpriteIds[a]].invisible;
+ gBattleSpriteInfo[a].invisible = gSprites[gBattlerSpriteIds[a]].invisible;
}
void sub_8031FC4(u8 a, u8 b, bool8 c)
@@ -642,7 +642,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
paletteOffset = 0x100 + a * 16;
LoadPalette(ewram16400 + ewram17840.unk0 * 32, paletteOffset, 32);
gBattleMonForms[a] = ewram17840.unk0;
- if (ewram17800[a].transformedSpecies != 0)
+ if (gBattleSpriteInfo[a].transformedSpecies != 0)
{
BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31));
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
@@ -716,7 +716,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
if (!IsContest())
{
- ewram17800[a].transformedSpecies = species;
+ gBattleSpriteInfo[a].transformedSpecies = species;
gBattleMonForms[a] = gBattleMonForms[b];
}
gSprites[gBattlerSpriteIds[a]].pos1.y = sub_8077F68(a);
@@ -777,12 +777,12 @@ void refresh_graphics_maybe(u8 a, u8 b, u8 spriteId)
void sub_80324BC(u8 a, u16 b)
{
if (b == 0xA4)
- ewram17800[a].substituteSprite = 1;
+ gBattleSpriteInfo[a].substituteSprite = 1;
}
void sub_80324E0(u8 a)
{
- ewram17800[a].substituteSprite = 0;
+ gBattleSpriteInfo[a].substituteSprite = 0;
}
void HandleLowHpMusicChange(struct Pokemon *pkmn, u8 b)
@@ -792,22 +792,22 @@ void HandleLowHpMusicChange(struct Pokemon *pkmn, u8 b)
if (GetHPBarLevel(hp, maxHP) == 1)
{
- if (!ewram17800[b].unk0_1)
+ if (!gBattleSpriteInfo[b].lowHpSong)
{
- if (!ewram17800[b ^ 2].unk0_1)
+ if (!gBattleSpriteInfo[b ^ 2].lowHpSong)
PlaySE(SE_LOW_HEALTH);
- ewram17800[b].unk0_1 = 1;
+ gBattleSpriteInfo[b].lowHpSong = 1;
}
}
else
{
- ewram17800[b].unk0_1 = 0;
+ gBattleSpriteInfo[b].lowHpSong = 0;
if (!IsDoubleBattle())
{
m4aSongNumStop(SE_LOW_HEALTH);
return;
}
- if (IsDoubleBattle() && !ewram17800[b ^ 2].unk0_1)
+ if (IsDoubleBattle() && !gBattleSpriteInfo[b ^ 2].lowHpSong)
{
m4aSongNumStop(SE_LOW_HEALTH);
return;
@@ -819,9 +819,9 @@ void BattleStopLowHpSound(void)
{
u8 r4 = GetBattlerAtPosition(0);
- ewram17800[r4].unk0_1 = 0;
+ gBattleSpriteInfo[r4].lowHpSong = 0;
if (IsDoubleBattle())
- ewram17800[r4 ^ 2].unk0_1 = 0;
+ gBattleSpriteInfo[r4 ^ 2].lowHpSong = 0;
m4aSongNumStop(SE_LOW_HEALTH);
}
@@ -903,9 +903,9 @@ void sub_80328A4(struct Sprite *sprite)
}
if (gAnimScriptActive || r7->invisible)
invisible = TRUE;
- else if (ewram17800[r4].transformedSpecies != 0 && gEnemyMonElevation[ewram17800[r4].transformedSpecies] == 0)
+ else if (gBattleSpriteInfo[r4].transformedSpecies != 0 && gEnemyMonElevation[gBattleSpriteInfo[r4].transformedSpecies] == 0)
invisible = TRUE;
- if (ewram17800[r4].substituteSprite)
+ if (gBattleSpriteInfo[r4].substituteSprite)
invisible = TRUE;
sprite->pos1.x = r7->pos1.x;
sprite->pos2.x = r7->pos2.x;
@@ -921,8 +921,8 @@ void sub_8032984(u8 a, u16 b)
{
if (GetBattlerSide(a) != 0)
{
- if (ewram17800[a].transformedSpecies != 0)
- b = ewram17800[a].transformedSpecies;
+ if (gBattleSpriteInfo[a].transformedSpecies != 0)
+ b = gBattleSpriteInfo[a].transformedSpecies;
if (gEnemyMonElevation[b] != 0)
gSprites[ewram17810[a].unk7].callback = sub_80328A4;
else
@@ -960,7 +960,7 @@ void sub_8032A38(void)
void sub_8032AA8(u8 a, u8 b)
{
- ewram17800[a].transformedSpecies = 0;
+ gBattleSpriteInfo[a].transformedSpecies = 0;
gBattleMonForms[a] = 0;
if (b == 0)
sub_80324E0(a);
diff --git a/src/battle_interface.c b/src/battle_interface.c
index c36556f11..be9554bf2 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -1048,7 +1048,7 @@ _0804420C: .4byte 0x04000008\n\
// TODO: make this a local variable
memcpy(str, gUnknown_0820A89C, sizeof(str));
r4 = gSprites[a].data[6];
- if ((ewram17800[r4].unk0_4) == 0)
+ if ((gBattleSpriteInfo[r4].hpNumbersNoBars) == 0)
return;
ptr = str + 6;
if (c == 0)
@@ -1427,8 +1427,8 @@ void sub_804454C(void)
{
u8 r6;
- ewram17800[i].unk0_4 ^= 1;
- r6 = ewram17800[i].unk0_4;
+ gBattleSpriteInfo[i].hpNumbersNoBars ^= 1;
+ r6 = gBattleSpriteInfo[i].hpNumbersNoBars;
if (GetBattlerSide(i) == 0)
{
@@ -2702,7 +2702,7 @@ static void sub_8045458(u8 a, u8 b)
for (i = 0; i < 3; i++)
CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32);
- if (!ewram17800[r7].unk0_4)
+ if (!gBattleSpriteInfo[r7].hpNumbersNoBars)
CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64);
sub_8045458(a, 1);
@@ -2717,7 +2717,7 @@ static void sub_8045458(u8 a, u8 b)
CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96);
if (IsDoubleBattle() == TRUE || GetBattlerSide(r7) == TRUE)
{
- if (!ewram17800[r7].unk0_4)
+ if (!gBattleSpriteInfo[r7].hpNumbersNoBars)
{
CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32);
CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32);
@@ -2933,7 +2933,7 @@ s32 sub_8045C78(u8 a, u8 unused1, u8 c, u8 unused2)
r5 = ABS(r8 / r5);
r6 = sub_8045F58(ewram17850[a].unk4, ewram17850[a].unk8, r8, &ewram17850[a].unk10, 8, r5);
}
- if (c == 1 || (c == 0 && (!ewram17800[a].unk0_4)))
+ if (c == 1 || (c == 0 && (!gBattleSpriteInfo[a].hpNumbersNoBars)))
sub_8045D58(a, c);
if (r6 == -1)
ewram17850[a].unk10 = 0;
diff --git a/src/battle_main.c b/src/battle_main.c
index 1d4736d60..fee505c43 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -611,8 +611,8 @@ void sub_800F104(void)
playerId = GetMultiplayerId();
gBattleStruct->multiplayerId = playerId;
// Seriously, Game Freak?
- pSavedCallback = ewram160C4_Callback;
- pSavedBattleTypeFlags = ewram160C2_Flags;
+ pSavedCallback = &gBattleStruct->unk160C4;
+ pSavedBattleTypeFlags = &gBattleStruct->unk160C2;
RunTasks();
AnimateSprites();
BuildOamBuffer();
@@ -2084,9 +2084,9 @@ void debug_sub_801174C(void)
{
gUnknown_02023A14_50 |= 0x10;
if (gUnknown_Debug_2023A76[0][2] > 5)
- gSharedMem[0x160A3] = gUnknown_Debug_2023A76[0][2] - 2;
+ gBattleStruct->unk160A3 = gUnknown_Debug_2023A76[0][2] - 2;
else
- gSharedMem[0x160A3] = gUnknown_Debug_2023A76[0][2];
+ gBattleStruct->unk160A3 = gUnknown_Debug_2023A76[0][2];
sub_80408BC();
}
else if (gUnknown_Debug_2023A76[0][0x22] == 5)
@@ -3122,8 +3122,8 @@ void sub_8010384(struct Sprite *sprite)
u16 species;
u8 yOffset;
- if (ewram17800[r6].transformedSpecies != 0)
- species = ewram17800[r6].transformedSpecies;
+ if (gBattleSpriteInfo[r6].transformedSpecies != 0)
+ species = gBattleSpriteInfo[r6].transformedSpecies;
else
species = sprite->data[2];
@@ -3340,39 +3340,39 @@ void debug_sub_80138CC(void)
{
if (GetBattlerSide(gActiveBattler) == 0)
{
- switch (gSharedMem[0x160FD])
+ switch (gBattleStruct->unk160FD)
{
case 0:
if (gBattlerControllerFuncs[gActiveBattler] == sub_802C098)
- gSharedMem[0x160FD]++;
+ gBattleStruct->unk160FD++;
break;
case 1:
gMain.heldKeys = A_BUTTON;
gMain.newKeys = A_BUTTON;
- gSharedMem[0x160FD]++;
- gSharedMem[0x160FE] = 0x80;
+ gBattleStruct->unk160FD++;
+ gBattleStruct->unk160FE = 0x80;
break;
case 2:
- gSharedMem[0x160FE]--;
- if (gSharedMem[0x160FE] == 0)
+ gBattleStruct->unk160FE--;
+ if (gBattleStruct->unk160FE == 0)
{
gMain.heldKeys = A_BUTTON;
gMain.newKeys = A_BUTTON;
- gSharedMem[0x160FD]++;
- gSharedMem[0x160FE] = 0x80;
+ gBattleStruct->unk160FD++;
+ gBattleStruct->unk160FE = 0x80;
}
break;
case 3:
- gSharedMem[0x160FE]--;
- if (gSharedMem[0x160FE] == 0)
+ gBattleStruct->unk160FE--;
+ if (gBattleStruct->unk160FE == 0)
{
gMain.heldKeys = A_BUTTON;
gMain.newKeys = A_BUTTON;
- gSharedMem[0x160FD]++;
+ gBattleStruct->unk160FD++;
}
break;
case 4:
- gSharedMem[0x160FD] = 0;
+ gBattleStruct->unk160FD = 0;
break;
}
}
@@ -3471,7 +3471,7 @@ void BattleStartClearSetData(void)
for (i = 0; i < 8; i++)
{
// TODO: Find matching access here
- ewram160ACarr(i) = 0;/*((u8 *)(gBattleStruct->lastTakenMove))[i] = 0;*/
+ eLastTakenMove_flat(i) = 0;/*((u8 *)(gBattleStruct->lastTakenMove))[i] = 0;*/
ewram160CCarr(i) = 0;/*((u8 *)(gBattleStruct->usedHeldItems))[i] = 0;*/
ewram160E8arr(i) = 0;/*((u8 *)(gBattleStruct->choicedMove))[i] = 0;*/
ewram160F0arr(i) = 0;/*((u8 *)(gBattleStruct->changedItems))[i] = 0;*/
@@ -3585,8 +3585,8 @@ void SwitchInClearSetData(void)
gLastPrintedMoves[gActiveBattler] = 0;
gLastHitBy[gActiveBattler] = 0xFF;
- ewram160ACarr2(0, gActiveBattler) = 0;
- ewram160ACarr2(1, gActiveBattler) = 0;
+ eLastTakenMove_2d(0, gActiveBattler) = 0;
+ eLastTakenMove_2d(1, gActiveBattler) = 0;
ewram16100arr2(0, gActiveBattler) = 0;
ewram16100arr2(1, gActiveBattler) = 0;
ewram16100arr2(2, gActiveBattler) = 0;
@@ -3651,8 +3651,8 @@ void UndoEffectsAfterFainting(void)
ewram160E8arr2(0, gActiveBattler) = 0;
ewram160E8arr2(1, gActiveBattler) = 0;
- ewram160ACarr2(0, gActiveBattler) = 0;
- ewram160ACarr2(1, gActiveBattler) = 0;
+ eLastTakenMove_2d(0, gActiveBattler) = 0;
+ eLastTakenMove_2d(1, gActiveBattler) = 0;
ewram16100arr2(0, gActiveBattler) = 0;
ewram16100arr2(1, gActiveBattler) = 0;
ewram16100arr2(2, gActiveBattler) = 0;
@@ -3716,14 +3716,15 @@ void sub_8011384(void)
}
else
{
- u8 r0;
+ u16 *hpOnSwitchout;
MEMSET_ALT(&gBattleMons[gActiveBattler], gBattleBufferB[gActiveBattler][4 + i], 0x58, i, ptr);
gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1;
gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2;
gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility);
- r0 = GetBattlerSide(gActiveBattler);
- ewram160BC[r0] = gBattleMons[gActiveBattler].hp;
+
+ hpOnSwitchout = &gBattleStruct->HP_OnSwitchout[GetBattlerSide(gActiveBattler)];
+ *hpOnSwitchout = gBattleMons[gActiveBattler].hp;
for (i = 0; i < 8; i++)
gBattleMons[gActiveBattler].statStages[i] = 6;
gBattleMons[gActiveBattler].status2 = 0;
@@ -3942,9 +3943,9 @@ void sub_80119B4(void)
MarkBattlerForControllerExec(gActiveBattler);
}
}
- ewram16058 = 0;
- ewram160F9 = 0;
- ewram160E6 = 0;
+ gBattleStruct->unk16058 = 0;
+ gBattleStruct->unk160F9 = 0;
+ gBattleStruct->unk160E6 = 0;
gBattleMainFunc = BattleBeginFirstTurn;
}
}
@@ -3961,9 +3962,9 @@ void unref_sub_8011A68(void)
MarkBattlerForControllerExec(gActiveBattler);
}
}
- ewram16058 = 0;
- ewram160F9 = 0;
- ewram160E6 = 0;
+ gBattleStruct->unk16058 = 0;
+ gBattleStruct->unk160F9 = 0;
+ gBattleStruct->unk160E6 = 0;
gBattleMainFunc = BattleBeginFirstTurn;
}
}
@@ -3976,7 +3977,7 @@ void BattleBeginFirstTurn(void)
if (gBattleControllerExecFlags == 0)
{
- if (ewram16058 == 0)
+ if (gBattleStruct->unk16058 == 0)
{
for (i = 0; i < gBattlersCount; i++)
gBattlerByTurnOrder[i] = i;
@@ -3989,16 +3990,16 @@ void BattleBeginFirstTurn(void)
}
}
}
- if (ewram160E6 == 0 && AbilityBattleEffects(0, 0, 0, 0xFF, 0) != 0)
+ if (gBattleStruct->unk160E6 == 0 && AbilityBattleEffects(0, 0, 0, 0xFF, 0) != 0)
{
- ewram160E6 = 1;
+ gBattleStruct->unk160E6 = 1;
return;
}
- while (ewram16058 < gBattlersCount)
+ while (gBattleStruct->unk16058 < gBattlersCount)
{
- if (AbilityBattleEffects(0, gBattlerByTurnOrder[ewram16058], 0, 0, 0) != 0)
+ if (AbilityBattleEffects(0, gBattlerByTurnOrder[gBattleStruct->unk16058], 0, 0, 0) != 0)
r9++;
- ewram16058++;
+ gBattleStruct->unk16058++;
if (r9 != 0)
return;
}
@@ -4006,11 +4007,11 @@ void BattleBeginFirstTurn(void)
return;
if (AbilityBattleEffects(11, 0, 0, 0, 0) != 0)
return;
- while (ewram160F9 < gBattlersCount)
+ while (gBattleStruct->unk160F9 < gBattlersCount)
{
- if (ItemBattleEffects(0, gBattlerByTurnOrder[ewram160F9], 0) != 0)
+ if (ItemBattleEffects(0, gBattlerByTurnOrder[gBattleStruct->unk160F9], 0) != 0)
r9++;
- ewram160F9++;
+ gBattleStruct->unk160F9++;
if (r9 != 0)
return;
}
@@ -4025,20 +4026,20 @@ void BattleBeginFirstTurn(void)
}
TurnValuesCleanUp(0);
SpecialStatusesClear();
- ewram160A6 = gAbsentBattlerFlags;
+ gBattleStruct->unk160A6 = gAbsentBattlerFlags;
gBattleMainFunc = sub_8012324;
ResetSentPokesToOpponentValue();
for (i = 0; i < 8; i++)
gBattleCommunication[i] = 0;
for (i = 0; i < gBattlersCount; i++)
gBattleMons[i].status2 &= ~8;
- ewram16000 = 0;
- ewram16001 = 0;
- ewram16110 = 0;
- ewram16111 = 0;
- ewram1600C = 0;
- ewram16059 = 0;
- ewram1600E = 0;
+ gBattleStruct->turnEffectsTracker = 0;
+ gBattleStruct->turnEffectsBattlerId = 0;
+ gBattleStruct->wishPerishSongState = 0;
+ gBattleStruct->wishPerishSongBattlerId = 0;
+ gBattleStruct->cmd49StateTracker = 0;
+ gBattleStruct->sub80173A4_Tracker = 0;
+ gBattleStruct->turnCountersTracker = 0;
gMoveResultFlags = 0;
gRandomTurnNumber = Random();
}
@@ -4059,11 +4060,11 @@ void bc_8013B1C(void)
if ((gBattleMons[i].status1 & 7) && (gBattleMons[i].status2 & 0x1000))
CancelMultiTurnMoves(i);
}
- ewram16000 = 0;
- ewram16001 = 0;
- ewram16110 = 0;
- ewram16111 = 0;
- ewram1600E = 0;
+ gBattleStruct->turnEffectsTracker = 0;
+ gBattleStruct->turnEffectsBattlerId = 0;
+ gBattleStruct->wishPerishSongState = 0;
+ gBattleStruct->wishPerishSongBattlerId = 0;
+ gBattleStruct->turnCountersTracker = 0;
gMoveResultFlags = 0;
}
}
@@ -4082,7 +4083,7 @@ void BattleTurnPassed(void)
}
if (HandleFaintedMonActions() != 0)
return;
- ewram16059 = 0;
+ gBattleStruct->sub80173A4_Tracker = 0;
if (HandleWishPerishSongOnTurnEnd() != 0)
return;
TurnValuesCleanUp(0);
@@ -4090,9 +4091,9 @@ void BattleTurnPassed(void)
gHitMarker &= ~0x80000;
gHitMarker &= ~0x400000;
gHitMarker &= ~0x100000;
- ewram16002 = 0;
- ewram160A1 = 0;
- ewram1600C = 0;
+ gBattleStruct->animTurn = 0;
+ gBattleStruct->animTargetsHit = 0;
+ gBattleStruct->cmd49StateTracker = 0;
gBattleMoveDamage = 0;
gMoveResultFlags = 0;
for (i = 0; i < 5; i++)
@@ -4112,7 +4113,7 @@ void BattleTurnPassed(void)
}
for (i = 0; i < 4; i++)
ewram16068arr(i) = 6;
- ewram160A6 = gAbsentBattlerFlags;
+ gBattleStruct->unk160A6 = gAbsentBattlerFlags;
gBattleMainFunc = sub_8012324;
gRandomTurnNumber = Random();
}
@@ -4140,7 +4141,7 @@ u8 CanRunFromBattle(void)
if (r6 != GetBattlerSide(i)
&& gBattleMons[i].ability == ABILITY_SHADOW_TAG)
{
- ewram16003 = i;
+ gBattleStruct->scriptingActive = i;
gLastUsedAbility = gBattleMons[i].ability;
gBattleCommunication[5] = 2;
return 2;
@@ -4151,7 +4152,7 @@ u8 CanRunFromBattle(void)
&& gBattleMons[gActiveBattler].type2 != 2
&& gBattleMons[i].ability == ABILITY_ARENA_TRAP)
{
- ewram16003 = i;
+ gBattleStruct->scriptingActive = i;
gLastUsedAbility = gBattleMons[i].ability;
gBattleCommunication[5] = 2;
return 2;
@@ -4160,7 +4161,7 @@ u8 CanRunFromBattle(void)
i = AbilityBattleEffects(15, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0);
if (i != 0 && (gBattleMons[gActiveBattler].type1 == 8 || gBattleMons[gActiveBattler].type2 == 8))
{
- ewram16003 = i - 1;
+ gBattleStruct->scriptingActive = i - 1;
gLastUsedAbility = gBattleMons[i - 1].ability;
gBattleCommunication[5] = 2;
return 2;
@@ -4241,11 +4242,11 @@ void sub_8012324(void)
ewram16068arr(gActiveBattler) = 6;
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)
&& (position & BIT_FLANK) != B_FLANK_LEFT
- && !(ewram160A6 & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])
+ && !(gBattleStruct->unk160A6 & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])
&& gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] != STATE_WAIT_ACTION_CONFIRMED)
break;
//_080123F8
- if (ewram160A6 & gBitTable[gActiveBattler])
+ if (gBattleStruct->unk160A6 & gBitTable[gActiveBattler])
{
gActionForBanks[gActiveBattler] = 13;
if (!(gBattleTypeFlags & 0x40))
@@ -4518,7 +4519,7 @@ void sub_8012324(void)
{
if (((gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_DOUBLE)) != BATTLE_TYPE_DOUBLE)
|| (position & BIT_FLANK) != B_FLANK_LEFT
- || (ewram160A6 & gBitTable[GetBattlerAtPosition(position ^ BIT_FLANK)]))
+ || (gBattleStruct->unk160A6 & gBitTable[GetBattlerAtPosition(position ^ BIT_FLANK)]))
{
BtlController_EmitLinkStandbyMsg(0, 0);
}
@@ -4904,7 +4905,7 @@ void CheckFocusPunch_ClearVarsBeforeTurnStarts(void)
gBattleMainFunc = RunTurnActionsFunctions;
gBattleCommunication[3] = 0;
gBattleCommunication[4] = 0;
- eMultihitMoveEffect = 0;
+ gBattleStruct->multihitMoveEffect = 0;
B_BATTLESCRIPTS_STACK->size = 0;
}
@@ -5179,7 +5180,7 @@ void HandleAction_UseMove(void)
gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber];
- if (ewram160A6 & gBitTable[gBattlerAttacker])
+ if (gBattleStruct->unk160A6 & gBitTable[gBattlerAttacker])
{
gCurrentActionFuncId = B_ACTION_FINISHED;
return;
@@ -5187,7 +5188,7 @@ void HandleAction_UseMove(void)
gCritMultiplier = 1;
eDmgMultiplier = 1;
- ewram160E7 = 0;
+ gBattleStruct->atkCancellerTracker = 0;
gMoveResultFlags = 0;
gMultiHitCounter = 0;
gBattleCommunication[6] = 0;
@@ -5368,7 +5369,7 @@ void HandleAction_Switch(void)
PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, ewram16064arr(gBattlerAttacker))
- ewram16003 = gBattlerAttacker;
+ gBattleStruct->scriptingActive = gBattlerAttacker;
gBattlescriptCurrInstr = BattleScript_ActionSwitch;
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
@@ -5399,7 +5400,7 @@ void HandleAction_UseItem(void)
else
{
- switch (ewram160D8((ewram16003 = gBattlerAttacker)))
+ switch (ewram160D8((gBattleStruct->scriptingActive = gBattlerAttacker)))
{
case AI_ITEM_FULL_RESTORE:
case AI_ITEM_HEAL_HP:
@@ -5437,8 +5438,8 @@ void HandleAction_UseItem(void)
gBattleTextBuff1[2]++;
}
- ewram160A4 = gBattleTextBuff1[2] + 14;
- ewram160A5 = 0;
+ gBattleStruct->animArg1 = gBattleTextBuff1[2] + 14;
+ gBattleStruct->animArg2 = 0;
}
break;
case AI_ITEM_GUARD_SPECS:
@@ -5485,7 +5486,7 @@ bool8 TryRunFromBattle(u8 bank)
{
if (gBattleMons[bank].speed < gBattleMons[bank ^ BIT_SIDE].speed)
{
- speedVar = (gBattleMons[bank].speed * 128) / (gBattleMons[bank ^ BIT_SIDE].speed) + (ewram16078 * 30);
+ speedVar = (gBattleMons[bank].speed * 128) / (gBattleMons[bank ^ BIT_SIDE].speed) + (gBattleStruct->runTries * 30);
if (speedVar > (Random() & 0xFF))
effect++;
}
@@ -5495,7 +5496,7 @@ bool8 TryRunFromBattle(u8 bank)
}
}
- ewram16078++;
+ gBattleStruct->runTries++;
}
if (effect)
@@ -5588,14 +5589,14 @@ void HandleAction_ThrowPokeblock(void)
gBattleCommunication[MULTISTRING_CHOOSER] = gBattleBufferB[gBattlerAttacker][1] - 1;
gLastUsedItem = gBattleBufferB[gBattlerAttacker][2];
- if (ewram16087 < 3)
- ewram16087++;
- if (ewram16088 > 1)
+ if (gBattleStruct->safariPkblThrowCounter < 3)
+ gBattleStruct->safariPkblThrowCounter++;
+ if (gBattleStruct->safariFleeRate > 1)
{
- if (ewram16088 < gUnknown_081FA70C[ewram16087][gBattleCommunication[MULTISTRING_CHOOSER]])
- ewram16088 = 1;
+ if (gBattleStruct->safariFleeRate < gUnknown_081FA70C[gBattleStruct->safariPkblThrowCounter][gBattleCommunication[MULTISTRING_CHOOSER]])
+ gBattleStruct->safariFleeRate = 1;
else
- ewram16088 -= gUnknown_081FA70C[ewram16087][gBattleCommunication[MULTISTRING_CHOOSER]];
+ gBattleStruct->safariFleeRate -= gUnknown_081FA70C[gBattleStruct->safariPkblThrowCounter][gBattleCommunication[MULTISTRING_CHOOSER]];
}
gBattlescriptCurrInstr = gBattlescriptsForSafariActions[2];
@@ -5608,17 +5609,17 @@ void HandleAction_GoNear(void)
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
- ewram16089 += gUnknown_081FA71B[ewram16086];
- if (ewram16089 > 20)
- ewram16089 = 20;
+ gBattleStruct->safariCatchFactor += gUnknown_081FA71B[gBattleStruct->safariGoNearCounter];
+ if (gBattleStruct->safariCatchFactor > 20)
+ gBattleStruct->safariCatchFactor = 20;
- ewram16088 += gUnknown_081FA71F[ewram16086];
- if (ewram16088 > 20)
- ewram16088 = 20;
+ gBattleStruct->safariFleeRate += gUnknown_081FA71F[gBattleStruct->safariGoNearCounter];
+ if (gBattleStruct->safariFleeRate > 20)
+ gBattleStruct->safariFleeRate = 20;
- if (ewram16086 < 3)
+ if (gBattleStruct->safariGoNearCounter < 3)
{
- ewram16086++;
+ gBattleStruct->safariGoNearCounter++;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
else
@@ -5654,7 +5655,7 @@ void HandleAction_Action11(void)
{
if (!HandleFaintedMonActions())
{
- ewram16059 = 0;
+ gBattleStruct->sub80173A4_Tracker = 0;
gCurrentActionFuncId = B_ACTION_FINISHED;
}
}
@@ -5682,15 +5683,15 @@ void HandleAction_ActionFinished(void)
| HITMARKER_CHARGING | HITMARKER_x4000000);
gBattleMoveDamage = 0;
- ewram16002 = 0;
- ewram160A1 = 0;
+ gBattleStruct->animTurn = 0;
+ gBattleStruct->animTargetsHit = 0;
gLastLandedMoves[gBattlerAttacker] = 0;
gLastHitByType[gBattlerAttacker] = 0;
eDynamicMoveType = 0;
gDynamicBasePower = 0;
- ewram1600C = 0;
+ gBattleStruct->cmd49StateTracker = 0;
gBattleCommunication[3] = 0;
gBattleCommunication[4] = 0;
- eMultihitMoveEffect = 0;
+ gBattleStruct->multihitMoveEffect = 0;
B_BATTLESCRIPTS_STACK->size = 0;
}
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 2ac0c114f..c9c22ec6f 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -4991,7 +4991,7 @@ static void atk15_seteffectwithchance(void)
}
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
- gBattleStruct->unk16112 = 0;
+ gBattleStruct->multihitMoveEffect = 0;
}
static void atk16_seteffectprimary(void)
@@ -5015,7 +5015,7 @@ static void atk18_clearstatusfromeffect(void)
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
gBattlescriptCurrInstr += 2;
- gBattleStruct->unk16112 = 0;
+ gBattleStruct->multihitMoveEffect = 0;
}
static void atk19_tryfaintmon(void)
@@ -5057,8 +5057,8 @@ static void atk19_tryfaintmon(void)
if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])
&& gBattleMons[gActiveBattler].hp == 0)
{
- ewram160ACarr2(0, battlerId) = 0;
- ewram160ACarr2(1, battlerId) = 0;
+ eLastTakenMove_2d(0, battlerId) = 0;
+ eLastTakenMove_2d(1, battlerId) = 0;
ewram16100arr2(0, battlerId) = 0;
ewram16100arr2(1, battlerId) = 0;
ewram16100arr2(2, battlerId) = 0;
@@ -9574,7 +9574,7 @@ static void atk74_hpthresholds2(void)
{
gActiveBattler = GetBattlerForBattleScript(T2_READ_8(gBattlescriptCurrInstr + 1));
opposing_bank = gActiveBattler ^ 1;
- hp_switchout = ewram160BCarr(GetBattlerSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBattlerSide(opposing_bank)];
+ hp_switchout = eHpOnSwitchout(GetBattlerSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBattlerSide(opposing_bank)];
result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout;
if (gBattleMons[opposing_bank].hp >= hp_switchout)
@@ -9788,7 +9788,7 @@ static void atk7B_tryhealhalfhealth(void)
static void atk7C_trymirrormove(void)
{
- u16 r7 = ewram160ACarr2(0, gBattlerAttacker) | (ewram160ACarr2(1, gBattlerAttacker) << 8);
+ u16 r7 = eLastTakenMove_2d(0, gBattlerAttacker) | (eLastTakenMove_2d(1, gBattlerAttacker) << 8);
u16 r6 = ewram16100arr2(0, gBattlerAttacker) | (ewram16100arr2(1, gBattlerAttacker) << 8);
u16 r5 = ewram16100arr2(2, gBattlerAttacker) | (ewram16100arr2(3, gBattlerAttacker) << 8);
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index f19b0f0be..2d0ee9cfb 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -1188,6 +1188,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex)
{
s32 i;
s8 nickname[POKEMON_NAME_LENGTH * 2];
+ u16 * hpSwitchout;
gBattleMons[battleIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL);
gBattleMons[battleIndex].item = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM, NULL);
@@ -1226,7 +1227,9 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex)
GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname);
StringCopy10(gBattleMons[battleIndex].nickname, nickname);
GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battleIndex].otName);
- ewram160BC[GetBattlerSide(battleIndex)] = gBattleMons[battleIndex].hp;
+
+ hpSwitchout = &gBattleStruct->HP_OnSwitchout[GetBattlerSide(battleIndex)];
+ *hpSwitchout = gBattleMons[battleIndex].hp;
for (i = 0; i < 8; i++)
gBattleMons[battleIndex].statStages[i] = 6;
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index ad18b3594..e6a1081cc 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -201,7 +201,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank)
{
if (GetBattlerSide(bank))
{
- if (!ewram17800[bank].substituteSprite)
+ if (!gBattleSpriteInfo[bank].substituteSprite)
BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[bank]], bank);
else
BattleLoadSubstituteSprite(bank, 0);
@@ -210,7 +210,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank)
LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, 0);
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0)
LoadPlayerTrainerBankSprite(2, 0);
- else if (!ewram17800[bank].substituteSprite)
+ else if (!gBattleSpriteInfo[bank].substituteSprite)
BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[bank]], bank);
else
BattleLoadSubstituteSprite(bank, 0);
@@ -226,7 +226,7 @@ static void sub_807B184(u8 bank)
{
u8 posY;
- if (ewram17800[bank].substituteSprite)
+ if (gBattleSpriteInfo[bank].substituteSprite)
posY = sub_8077F7C(bank);
else
posY = sub_8077F68(bank);
@@ -274,7 +274,7 @@ static void sub_807B184(u8 bank)
gSprites[gBattlerSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]);
}
- gSprites[gBattlerSpriteIds[bank]].invisible = ewram17800[bank].invisible;
+ gSprites[gBattlerSpriteIds[bank]].invisible = gBattleSpriteInfo[bank].invisible;
}
}