summaryrefslogtreecommitdiff
path: root/src/battle/battle_interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/battle_interface.c')
-rw-r--r--src/battle/battle_interface.c237
1 files changed, 116 insertions, 121 deletions
diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c
index 8bfeedd4d..ea393277e 100644
--- a/src/battle/battle_interface.c
+++ b/src/battle/battle_interface.c
@@ -7,12 +7,13 @@
#include "pokemon.h"
#include "rom_8077ABC.h"
#include "safari_zone.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
+#include "ewram.h"
struct UnknownStruct5
{
@@ -28,12 +29,6 @@ struct UnknownStruct7
u8 filler0[0x180];
};
-extern u8 ewram[];
-#define ewram520 ((struct UnknownStruct7 *)(ewram + 0x00520))
-#define ewram16088 (*(u8 *) (ewram + 0x16088))
-#define ewram16089 (*(u8 *) (ewram + 0x16089))
-#define ewram17850 ((struct UnknownStruct5 *)(ewram + 0x17850))
-
extern u8 gDisplayedStringBattle[];
extern u8 gNoOfAllBanks;
extern u16 gBattlePartyID[];
@@ -444,7 +439,7 @@ u8 battle_make_oam_normal_battle(u8 a)
//_080439F2
gSprites[spriteId1].oam.affineParam = spriteId2;
- gSprites[spriteId2].data5 = spriteId1;
+ gSprites[spriteId2].data[5] = spriteId1;
gSprites[spriteId2].callback = sub_8043D5C;
}
//_08043A28
@@ -456,7 +451,7 @@ u8 battle_make_oam_normal_battle(u8 a)
spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1);
gSprites[spriteId1].oam.affineParam = spriteId2;
- gSprites[spriteId2].data5 = spriteId1;
+ gSprites[spriteId2].data[5] = spriteId1;
gSprites[spriteId2].oam.tileNum += 32;
gSprites[spriteId2].callback = sub_8043D5C;
sp0 = 1;
@@ -468,7 +463,7 @@ u8 battle_make_oam_normal_battle(u8 a)
spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A51C[GetBankIdentity(a) / 2], 240, 160, 1);
gSprites[spriteId1].oam.affineParam = spriteId2;
- gSprites[spriteId2].data5 = spriteId1;
+ gSprites[spriteId2].data[5] = spriteId1;
gSprites[spriteId2].oam.tileNum += 32;
gSprites[spriteId2].callback = sub_8043D5C;
sp0 = 2;
@@ -482,14 +477,14 @@ u8 battle_make_oam_normal_battle(u8 a)
SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]);
sprite->subspriteMode = 2;
sprite->oam.priority = 1;
- CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + sprite->oam.tileNum * 32), 64);
+ CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64);
- gSprites[spriteId1].data5 = spriteId3;
- gSprites[spriteId1].data6 = a;
+ gSprites[spriteId1].data[5] = spriteId3;
+ gSprites[spriteId1].data[6] = a;
gSprites[spriteId1].invisible = TRUE;
gSprites[spriteId2].invisible = TRUE;
- sprite->data5 = spriteId1;
- sprite->data6 = sp0;
+ sprite->data[5] = spriteId1;
+ sprite->data[6] = sp0;
sprite->invisible = TRUE;
return spriteId1;
@@ -504,7 +499,7 @@ u8 battle_make_oam_safari_battle(void)
gSprites[spriteId2].oam.shape = 0;
gSprites[spriteId2].oam.tileNum += 0x40;
gSprites[spriteId1].oam.affineParam = spriteId2;
- gSprites[spriteId2].data5 = spriteId1;
+ gSprites[spriteId2].data[5] = spriteId1;
gSprites[spriteId2].callback = sub_8043D5C;
return spriteId1;
}
@@ -516,9 +511,9 @@ static const void *sub_8043CDC(u8 a)
void sub_8043CEC(struct Sprite *sprite)
{
- u8 r5 = sprite->data5;
+ u8 r5 = sprite->data[5];
- switch (sprite->data6)
+ switch (sprite->data[6])
{
case 0:
sprite->pos1.x = gSprites[r5].pos1.x + 16;
@@ -540,7 +535,7 @@ void sub_8043CEC(struct Sprite *sprite)
static void sub_8043D5C(struct Sprite *sprite)
{
- u8 data5 = sprite->data5;
+ u8 data5 = sprite->data[5];
sprite->pos1.x = gSprites[data5].pos1.x + 64;
sprite->pos1.y = gSprites[data5].pos1.y;
@@ -560,14 +555,14 @@ void sub_8043D84(u8 a, u8 b, u32 c, u32 d, u32 e)
void sub_8043DB0(u8 a)
{
gSprites[a].invisible = TRUE;
- gSprites[gSprites[a].data5].invisible = TRUE;
+ gSprites[gSprites[a].data[5]].invisible = TRUE;
gSprites[gSprites[a].oam.affineParam].invisible = TRUE;
}
void sub_8043DFC(u8 a)
{
gSprites[a].invisible = FALSE;
- gSprites[gSprites[a].data5].invisible = FALSE;
+ gSprites[gSprites[a].data[5]].invisible = FALSE;
gSprites[gSprites[a].oam.affineParam].invisible = FALSE;
}
@@ -580,7 +575,7 @@ static void sub_8043E50(u8 spriteId, s16 x, s16 y)
void unref_sub_8043E70(u8 a)
{
DestroySprite(&gSprites[gSprites[a].oam.affineParam]);
- DestroySprite(&gSprites[gSprites[a].data5]);
+ DestroySprite(&gSprites[gSprites[a].data[5]]);
DestroySprite(&gSprites[a]);
}
@@ -600,7 +595,7 @@ void sub_8043EB4(u8 priority)
spriteId1 = gHealthboxIDs[i];
spriteId2 = gSprites[spriteId1].oam.affineParam;
- spriteId3 = gSprites[spriteId1].data5;
+ spriteId3 = gSprites[spriteId1].data[5];
gSprites[spriteId1].oam.priority = priority;
gSprites[spriteId2].oam.priority = priority;
gSprites[spriteId3].oam.priority = priority;
@@ -668,14 +663,14 @@ static void sub_8043FC0(u8 a, u8 b)
memcpy(str, gUnknown_0820A81C, sizeof(str));
if (!IsDoubleBattle())
{
- if (GetBankSide(gSprites[a].data6) == 0)
+ if (GetBankSide(gSprites[a].data[6]) == 0)
r7 = gUnknown_0820A804;
else
r7 = gUnknown_0820A80C;
}
else
{
- if (GetBankSide(gSprites[a].data6) == 0)
+ if (GetBankSide(gSprites[a].data[6]) == 0)
r7 = gUnknown_0820A814;
else
r7 = gUnknown_0820A80C;
@@ -705,11 +700,11 @@ static void sub_8043FC0(u8 a, u8 b)
*(ptr++) = 0x13;
*(ptr++) = 0xF;
*(ptr++) = EOS;
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
two = 2;
for (i = 0; i < two; i++)
- CpuCopy32((void *)(0x02000020 + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32);
+ CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32);
}
#ifdef NONMATCHING
@@ -723,7 +718,7 @@ void sub_80440EC(u8 a, s16 b, u8 c)
// TODO: make this a local variable
memcpy(str, gUnknown_0820A864, sizeof(str));
- foo = gSprites[a].data6;
+ foo = gSprites[a].data[6];
if (IsDoubleBattle() == TRUE || GetBankSide(foo) == 1)
{
@@ -735,7 +730,7 @@ void sub_80440EC(u8 a, s16 b, u8 c)
ptr = str + 6;
if (c == 0)
{
- if (GetBankSide(gSprites[a].data6) == 0)
+ if (GetBankSide(gSprites[a].data[6]) == 0)
r4 = gUnknown_0820A83C;
else
r4 = gUnknown_0820A848;
@@ -743,24 +738,24 @@ void sub_80440EC(u8 a, s16 b, u8 c)
ptr = sub_8003504(ptr, b, 0x13, 1);
*(ptr++) = 0xBA;
*(ptr++) = 0xFF;
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
}
else
{
- if (GetBankSide(gSprites[a].data6) == 0)
+ if (GetBankSide(gSprites[a].data[6]) == 0)
r4 = gUnknown_0820A854;
else
r4 = gUnknown_0820A85C;
c = 2;
sub_8003504(ptr, b, 0xF, 1);
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
}
//asm(""::"r"(a));
//_080441B6
for (i = 0; i < c; i++) // _080440BC
{
void *temp = r4[i] + gSprites[a].oam.tileNum * 32;
- CpuCopy32((void *)(0x02000020 + i * 0x40), temp, 0x20);
+ CpuCopy32((void *)(ewram0_9(1) + i * 0x40), temp, 0x20);
}
}
#else
@@ -878,7 +873,7 @@ _080441B6:\n\
lsls r0, 2\n\
adds r6, r0, r1\n\
adds r7, r4, 0\n\
- ldr r5, _08044208 @ =0x02000020\n\
+ ldr r5, _08044208 @ =gSharedMem + 0x20\n\
mov r4, r8\n\
_080441D6:\n\
ldrh r0, [r6, 0x4]\n\
@@ -904,7 +899,7 @@ _080441F0:\n\
_080441FC: .4byte gUnknown_0820A85C\n\
_08044200: .4byte gUnknown_0820A854\n\
_08044204: .4byte gSprites\n\
-_08044208: .4byte 0x02000020\n\
+_08044208: .4byte gSharedMem + 0x20\n\
_0804420C: .4byte 0x04000008\n\
.syntax divided\n");
}
@@ -921,7 +916,7 @@ static void sub_8044210(u8 a, s16 b, u8 c)
// TODO: make this a local variable
memcpy(str, gUnknown_0820A89C, sizeof(str));
- r4 = gSprites[a].data6;
+ r4 = gSprites[a].data[6];
if ((ewram17800[r4].unk0_4) == 0)
return;
ptr = str + 6;
@@ -940,14 +935,14 @@ static void sub_8044210(u8 a, s16 b, u8 c)
sub_8003504(ptr, b, 0xF, 1);
if (GetBankSide(r4) == 0)
{
- CpuCopy32(sub_8043CDC(0x74), (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32), 32);
+ CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32);
}
}
- r4 = gSprites[a].data5;
- sub_80034D4((u8 *)0x02000000, str);
+ r4 = gSprites[a].data[5];
+ sub_80034D4(ewram0_9(0), str);
for (i = 0; i < r10; i++)
{
- CpuCopy32((void *)(0x02000020 + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20);
+ CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20);
}
}
@@ -964,7 +959,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
// TODO: make this a local variable
memcpy(str, gUnknown_0820A864, sizeof(str));
- r6 = ewram520[GetBankIdentity(gSprites[a].data6)].filler0;
+ r6 = ewram520[GetBankIdentity(gSprites[a].data[6])].filler0;
r8 = 5;
nature = GetNature(pkmn);
StringCopy(str + 6, gNatureNames[nature]);
@@ -999,24 +994,24 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
r6 += 32;
}
//_08044486
- r5 = gSprites[a].data5;
- ConvertIntToDecimalStringN(str + 6, ewram[0x16089], 1, 2);
- ConvertIntToDecimalStringN(str + 9, ewram[0x16088], 1, 2);
+ r5 = gSprites[a].data[5];
+ ConvertIntToDecimalStringN(str + 6, ewram16089, 1, 2);
+ ConvertIntToDecimalStringN(str + 9, ewram16088, 1, 2);
str[5] = 0;
str[8] = 0xBA;
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
for (r7 = 0; r7 < 5; r7++)
{
if (r7 <= 1)
{
int foo = (gSprites[r5].oam.tileNum + 2 + r7);
- CpuCopy32((u8 *)0x02000020 + r7 * 0x40, (u8 *)0x06010000 + foo * 32, 32);
+ CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)0x06010000 + foo * 32, 32);
}
else
{
int foo = (r7 + gSprites[r5].oam.tileNum);
- CpuCopy32((u8 *)0x02000020 + r7 * 0x40, (u8 *)0x060100C0 + foo * 32, 32);
+ CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)0x060100C0 + foo * 32, 32);
}
}
}
@@ -1054,7 +1049,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
lsls r1, r0, 1\n\
adds r1, r0\n\
lsls r1, 7\n\
- ldr r3, _080443D4 @ =0x02000520\n\
+ ldr r3, _080443D4 @ =gSharedMem + 0x520\n\
adds r6, r1, r3\n\
movs r0, 0x5\n\
mov r8, r0\n\
@@ -1099,7 +1094,7 @@ _080443C8:\n\
.align 2, 0\n\
_080443CC: .4byte gUnknown_0820A864\n\
_080443D0: .4byte gSprites\n\
-_080443D4: .4byte 0x02000520\n\
+_080443D4: .4byte gSharedMem + 0x520\n\
_080443D8: .4byte gNatureNames\n\
_080443DC:\n\
adds r0, r1, 0\n\
@@ -1198,7 +1193,7 @@ _08044486:\n\
ldrh r5, [r0, 0x38]\n\
lsls r5, 24\n\
lsrs r5, 24\n\
- ldr r4, _08044504 @ =0x02000000\n\
+ ldr r4, _08044504 @ =gSharedMem\n\
ldr r2, _08044508 @ =0x00016089\n\
adds r0, r4, r2\n\
ldrb r1, [r0]\n\
@@ -1227,7 +1222,7 @@ _08044486:\n\
adds r0, r5\n\
lsls r0, 2\n\
adds r5, r0, r6\n\
- ldr r4, _08044510 @ =0x02000020\n\
+ ldr r4, _08044510 @ =gSharedMem + 0x20\n\
_080444DA:\n\
cmp r7, 0x1\n\
bgt _08044514\n\
@@ -1247,10 +1242,10 @@ _080444DA:\n\
_080444F8: .4byte 0x04000008\n\
_080444FC: .4byte gSprites\n\
_08044500: .4byte 0x06010000\n\
-_08044504: .4byte 0x02000000\n\
+_08044504: .4byte gSharedMem\n\
_08044508: .4byte 0x00016089\n\
_0804450C: .4byte 0x00016088\n\
-_08044510: .4byte 0x02000020\n\
+_08044510: .4byte gSharedMem + 0x20\n\
_08044514:\n\
ldrh r1, [r5, 0x4]\n\
lsls r1, 22\n\
@@ -1307,9 +1302,9 @@ void sub_804454C(void)
if (r6 == 1)
{
- spriteId = gSprites[gHealthboxIDs[i]].data5;
+ spriteId = gSprites[gHealthboxIDs[i]].data[5];
- CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
+ CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0);
sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
}
@@ -1317,7 +1312,7 @@ void sub_804454C(void)
{
draw_status_ailment_maybe(gHealthboxIDs[i]);
sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5);
- CpuCopy32(sub_8043CDC(0x75), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32), 32);
+ CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32);
}
}
else
@@ -1330,9 +1325,9 @@ void sub_804454C(void)
}
else
{
- spriteId = gSprites[gHealthboxIDs[i]].data5;
+ spriteId = gSprites[gHealthboxIDs[i]].data[5];
- CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
+ CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0);
sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
}
@@ -1345,7 +1340,7 @@ void sub_804454C(void)
sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 4);
}
}
- gSprites[gHealthboxIDs[i]].data7 ^= 1;
+ gSprites[gHealthboxIDs[i]].data[7] ^= 1;
}
}
}
@@ -1418,7 +1413,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
sp18 = CreateSprite(&gSpriteTemplate_820A7A4[r7], x, y, 10);
SetSubspriteTables(&gSprites[sp18], gSubspriteTables_820A6E4);
gSprites[sp18].pos2.x = r8;
- gSprites[sp18].data0 = r5;
+ gSprites[sp18].data[0] = r5;
if (r7 != 0)
{
gSprites[sp18].pos1.x -= 96;
@@ -1443,22 +1438,22 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
gSprites[sp[i]].pos2.y = 0;
}
//_080449BE
- gSprites[sp[i]].data0 = sp18;
+ gSprites[sp[i]].data[0] = sp18;
if (r7 == 0)
{
gSprites[sp[i]].pos1.x += 10 * i + 24;
- gSprites[sp[i]].data1 = i * 7 + 10;
+ gSprites[sp[i]].data[1] = i * 7 + 10;
gSprites[sp[i]].pos2.x = 120;
}
//_08044A18
else
{
gSprites[sp[i]].pos1.x -= 10 * (5 - i) + 24;
- gSprites[sp[i]].data1 = (6 - i) * 7 + 10;
+ gSprites[sp[i]].data[1] = (6 - i) * 7 + 10;
gSprites[sp[i]].pos2.x = -120;
}
//_08044A56
- gSprites[sp[i]].data2 = r7;
+ gSprites[sp[i]].data[2] = r7;
}
//_08044A76
if (GetBankSide(a) == 0)
@@ -1471,7 +1466,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
{
//_08044AE6
gSprites[sp[i]].oam.tileNum += 1;
- gSprites[sp[i]].data7 = 1;
+ gSprites[sp[i]].data[7] = 1;
// to _08044B52
}
else if (b[i].unk0 == 0)
@@ -1491,7 +1486,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
{
//_08044AE6
gSprites[sp[i]].oam.tileNum += 1;
- gSprites[sp[i]].data7 = 1;
+ gSprites[sp[i]].data[7] = 1;
// to _08044B52
}
else if (b[i].unk0 == 0)
@@ -1518,7 +1513,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
if (b[i].unk0 == 0xFFFF)
{
gSprites[sp[5 - i]].oam.tileNum += 1;
- gSprites[sp[5 - i]].data7 = 1;
+ gSprites[sp[5 - i]].data[7] = 1;
}
else if (b[i].unk0 == 0)
{
@@ -1534,7 +1529,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
if (i >= sp14)
{
gSprites[sp[5 - i]].oam.tileNum += 1;
- gSprites[sp[5 - i]].data7 = 1;
+ gSprites[sp[5 - i]].data[7] = 1;
}
else if (b[i].unk0 == 0)
{
@@ -2179,21 +2174,21 @@ void sub_8044CA0(u8 taskId)
{
if (GetBankSide(sp8) != 0)
{
- gSprites[sp[5 - i]].data1 = 7 * i;
- gSprites[sp[5 - i]].data3 = 0;
- gSprites[sp[5 - i]].data4 = 0;
+ gSprites[sp[5 - i]].data[1] = 7 * i;
+ gSprites[sp[5 - i]].data[3] = 0;
+ gSprites[sp[5 - i]].data[4] = 0;
gSprites[sp[5 - i]].callback = sub_8045110;
}
else
{
- gSprites[sp[i]].data1 = 7 * i;
- gSprites[sp[i]].data3 = 0;
- gSprites[sp[i]].data4 = 0;
+ gSprites[sp[i]].data[1] = 7 * i;
+ gSprites[sp[i]].data[3] = 0;
+ gSprites[sp[i]].data[4] = 0;
gSprites[sp[i]].callback = sub_8045110;
}
}
- gSprites[r10].data0 /= 2;
- gSprites[r10].data1 = 0;
+ gSprites[r10].data[0] /= 2;
+ gSprites[r10].data[1] = 0;
gSprites[r10].callback = sub_8045048;
SetSubspriteTables(&gSprites[r10], gSubspriteTables_820A6EC);
gTasks[taskId].func = sub_8044E74;
@@ -2277,17 +2272,17 @@ static void sub_8044F70(u8 taskId)
void sub_8045030(struct Sprite *sprite)
{
if (sprite->pos2.x != 0)
- sprite->pos2.x += sprite->data0;
+ sprite->pos2.x += sprite->data[0];
}
static void sub_8045048(struct Sprite *sprite)
{
- sprite->data1 += 32;
- if (sprite->data0 > 0)
- sprite->pos2.x += sprite->data1 >> 4;
+ sprite->data[1] += 32;
+ if (sprite->data[0] > 0)
+ sprite->pos2.x += sprite->data[1] >> 4;
else
- sprite->pos2.x -= sprite->data1 >> 4;
- sprite->data1 &= 0xF;
+ sprite->pos2.x -= sprite->data[1] >> 4;
+ sprite->data[1] &= 0xF;
}
void sub_804507C(struct Sprite *sprite)
@@ -2296,15 +2291,15 @@ void sub_804507C(struct Sprite *sprite)
u16 r2;
s8 pan;
- if (sprite->data1 > 0)
+ if (sprite->data[1] > 0)
{
- sprite->data1--;
+ sprite->data[1]--;
return;
}
- r3 = sprite->data2;
- r2 = sprite->data3;
+ r3 = sprite->data[2];
+ r2 = sprite->data[3];
r2 += 56;
- sprite->data3 = r2 & 0xFFF0;
+ sprite->data[3] = r2 & 0xFFF0;
if (r3 != 0)
{
sprite->pos2.x += r2 >> 4;
@@ -2322,7 +2317,7 @@ void sub_804507C(struct Sprite *sprite)
pan = 63;
if (r3 != 0)
pan = -64;
- if (sprite->data7 != 0)
+ if (sprite->data[7] != 0)
PlaySE2WithPanning(SE_TB_KARA, pan);
else
PlaySE1WithPanning(SE_TB_KON, pan);
@@ -2335,15 +2330,15 @@ static void sub_8045110(struct Sprite *sprite)
u8 r0;
u16 r2;
- if (sprite->data1 > 0)
+ if (sprite->data[1] > 0)
{
- sprite->data1--;
+ sprite->data[1]--;
return;
}
- r0 = sprite->data2;
- r2 = sprite->data3;
+ r0 = sprite->data[2];
+ r2 = sprite->data[3];
r2 += 56;
- sprite->data3 = r2 & 0xFFF0;
+ sprite->data[3] = r2 & 0xFFF0;
if (r0 != 0)
sprite->pos2.x += r2 >> 4;
else
@@ -2358,7 +2353,7 @@ static void sub_8045110(struct Sprite *sprite)
void sub_8045180(struct Sprite *sprite)
{
- u8 spriteId = sprite->data0;
+ u8 spriteId = sprite->data[0];
sprite->pos2.x = gSprites[spriteId].pos2.x;
sprite->pos2.y = gSprites[spriteId].pos2.y;
@@ -2414,7 +2409,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn)
ptr[1] = 0x13;
ptr[2] = 0x37;
ptr[3] = EOS;
- ptr = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180;
+ ptr = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180;
sub_80034D4(ptr, gDisplayedStringBattle);
i = 0;
@@ -2451,7 +2446,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn)
for (; i < _7; i++)
CpuCopy32(sub_8043CDC(0x2B), ptr + 64 * i, 32);
- if (GetBankSide(gSprites[a].data6) == 0 && !IsDoubleBattle())
+ if (GetBankSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle())
{
r1 = (u8 *const *)gUnknown_0820A8B4;
for (i = 0; i < _7; i++)
@@ -2469,7 +2464,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn)
}
else
{
- if (GetBankSide(gSprites[a].data6) == 0)
+ if (GetBankSide(gSprites[a].data[6]) == 0)
r1 = (u8 *const *)gUnknown_0820A904;
else
r1 = (u8 *const *)gUnknown_0820A8DC;
@@ -2497,17 +2492,17 @@ static void sub_8045458(u8 a, u8 b)
if (gBattleTypeFlags & 8)
return;
- r4 = gSprites[a].data6;
+ r4 = gSprites[a].data[6];
if (GetBankSide(r4) != 0)
{
u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES);
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0)
{
- r4 = gSprites[a].data5;
+ r4 = gSprites[a].data[5];
if (b != 0)
- CpuCopy32(sub_8043CDC(0x46), (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32);
+ CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32);
else
- CpuFill32(0, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32);
+ CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32);
}
}
}
@@ -2523,8 +2518,8 @@ static void draw_status_ailment_maybe(u8 a)
u8 r0;
s32 i;
- r7 = gSprites[a].data6;
- r10 = gSprites[a].data5;
+ r7 = gSprites[a].data[6];
+ r10 = gSprites[a].data[5];
if (GetBankSide(r7) == 0)
{
r4 = GetMonData(&gPlayerParty[gBattlePartyID[r7]], MON_DATA_STATUS);
@@ -2568,10 +2563,10 @@ static void draw_status_ailment_maybe(u8 a)
r6 = sub_8043CDC(0x27);
for (i = 0; i < 3; i++)
- CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32), 32);
+ CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32);
if (!ewram17800[r7].unk0_4)
- CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 64);
+ CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64);
sub_8045458(a, 1);
return;
@@ -2582,13 +2577,13 @@ static void draw_status_ailment_maybe(u8 a)
// I don't like writing the array index like this, but I can't get it to match otherwise.
FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2);
CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2);
- CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32), 96);
+ CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96);
if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE)
{
if (!ewram17800[r7].unk0_4)
{
- CpuCopy32(sub_8043CDC(0), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 32);
- CpuCopy32(sub_8043CDC(0x41), (void *)(OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32), 32);
+ 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);
}
}
sub_8045458(a, 0);
@@ -2662,18 +2657,18 @@ static void sub_80458B0(u8 a)
s32 r7;
u8 *addr;
- r6 = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180;
+ r6 = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180;
r8 = 7;
sub_80034D4(r6, BattleText_SafariBalls);
for (i = 0; i < r8; i++)
CpuCopy32(sub_8043CDC(0x2B), r6 + i * 64, 32);
for (r7 = 3; r7 < 3 + r8; r7++)
{
- addr = (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32);
+ addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32;
CpuCopy32(r6, addr, 32);
r6 += 32;
- addr = (void *)(OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32);
+ addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32;
CpuCopy32(r6, addr, 32);
r6 += 32;
}
@@ -2690,14 +2685,14 @@ static void sub_8045998(u8 a)
r7 = StringCopy(gDisplayedStringBattle, BattleText_SafariBallsLeft);
r7 = sub_8003504(r7, gNumSafariBalls, 10, 1);
StringAppend(r7, BattleText_HighlightRed);
- status = GetBankIdentity(gSprites[a].data6);
- r7 = (u8 *)0x02000520 + status * 0x180;
+ status = GetBankIdentity(gSprites[a].data[6]);
+ r7 = ewram520_2 + status * 0x180;
r6 = 5;
sub_80034D4(r7, gDisplayedStringBattle);
- r7 = (u8 *)0x02000520 + status * 0x180 + 32;
+ r7 = ewram520_2 + status * 0x180 + 32;
for (i = 6; i < 6 + r6; i++)
{
- CpuCopy32(r7, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32), 32);
+ CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32);
r7 += 64;
}
}
@@ -2708,7 +2703,7 @@ void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c)
u32 maxhp;
u32 currhp;
- r10 = gSprites[a].data6;
+ r10 = gSprites[a].data[6];
if (GetBankSide(r10) == 0)
{
if (c == 3 || c == 0)
@@ -2819,11 +2814,11 @@ static void sub_8045D58(u8 a, u8 b)
}
for (i = 0; i < 6; i++)
{
- u8 r4 = gSprites[ewram17850[a].unk0].data5;
+ u8 r4 = gSprites[ewram17850[a].unk0].data[5];
if (i < 2)
- CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32), 32);
+ CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32);
else
- CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32), 32);
+ CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32);
}
break;
case 1:
@@ -2837,9 +2832,9 @@ static void sub_8045D58(u8 a, u8 b)
for (i = 0; i < 8; i++)
{
if (i < 4)
- CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32), 32);
+ CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32);
else
- CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32), 32);
+ CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32);
}
break;
}