summaryrefslogtreecommitdiff
path: root/src/field/party_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field/party_menu.c')
-rw-r--r--src/field/party_menu.c332
1 files changed, 165 insertions, 167 deletions
diff --git a/src/field/party_menu.c b/src/field/party_menu.c
index 86ad9ecc9..089f93f9e 100644
--- a/src/field/party_menu.c
+++ b/src/field/party_menu.c
@@ -11,12 +11,12 @@
#include "item.h"
#include "item_use.h"
#include "item_menu.h"
-#include "items.h"
+#include "constants/items.h"
#include "mail_data.h"
#include "main.h"
#include "menu.h"
#include "menu_helpers.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "palette.h"
#include "pokemon.h"
#include "pokemon_icon.h"
@@ -25,16 +25,17 @@
#include "pokemon_summary_screen.h"
#include "rom_8077ABC.h"
#include "rom_8094928.h"
-#include "script_pokemon_80F9.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
-#include "species.h"
+#include "constants/species.h"
#include "sprite.h"
#include "string_util.h"
#include "strings.h"
#include "task.h"
#include "unknown_task.h"
#include "util.h"
+#include "script_pokemon_80F9.h"
+#include "ewram.h"
struct Coords8
{
@@ -460,7 +461,7 @@ static const u8 StatDataTypes[] = {
MON_DATA_DEF,
MON_DATA_SPATK,
MON_DATA_SPDEF,
- MON_DATA_SPD,
+ MON_DATA_SPEED,
};
struct Unk201C000
@@ -483,9 +484,6 @@ struct Unk201FE00
u8 unkE02;
};
-#define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000))
-#define ewram1FE00 (*(struct Unk201FE00 *)(ewram + 0x1FE00))
-
extern u16 gBattleTypeFlags;
extern u8 gTileBuffer[];
extern u8 gUnknown_0202E8F4;
@@ -1111,7 +1109,7 @@ _0806B980:\n\
movs r3, 0x3\n\
bl sub_806BA94\n\
_0806B98C:\n\
- ldr r0, _0806B99C @ =0x0201b000\n\
+ ldr r0, _0806B99C @ =gSharedMem + 0x1B000\n\
ldr r1, _0806B9A0 @ =0x00000261\n\
adds r0, r1\n\
movs r1, 0x2\n\
@@ -1120,7 +1118,7 @@ _0806B98C:\n\
pop {r0}\n\
bx r0\n\
.align 2, 0\n\
-_0806B99C: .4byte 0x0201b000\n\
+_0806B99C: .4byte gSharedMem + 0x1B000\n\
_0806B9A0: .4byte 0x00000261\n\
.syntax divided\n");
}
@@ -1424,7 +1422,7 @@ u16 HandleDefaultPartyMenuInput(u8 taskId)
if (menuDirectionPressed == 0)
{
- if ((gMain.newKeys & A_BUTTON) && gSprites[sub_806CA00(taskId)].data0 == 7)
+ if ((gMain.newKeys & A_BUTTON) && gSprites[sub_806CA00(taskId)].data[0] == 7)
{
// Selected "CANCEL"
return B_BUTTON;
@@ -1597,7 +1595,7 @@ u16 HandleBattleTowerPartyMenuInput(u8 taskId)
{
if (gMain.newKeys & A_BUTTON)
{
- if (gSprites[sub_806CA00(taskId)].data0 == 7)
+ if (gSprites[sub_806CA00(taskId)].data[0] == 7)
{
return B_BUTTON;
}
@@ -1631,7 +1629,7 @@ void ChangePartyMenuSelection(u8 taskId, s8 directionPressed)
{
bool8 isLinkDoubleBattle;
u8 spriteId = sub_806CA00(taskId);
- u8 menuIndex = gSprites[spriteId].data0;
+ u8 menuIndex = gSprites[spriteId].data[0];
UpdateMonIconFrame_806DA44(taskId, menuIndex, 0);
@@ -1647,17 +1645,17 @@ void ChangePartyMenuSelection(u8 taskId, s8 directionPressed)
ChangeLinkDoubleBattlePartyMenuSelection(spriteId, menuIndex, directionPressed);
- if (gSprites[spriteId].data0 == 0 || gSprites[spriteId].data0 == 2 || gSprites[spriteId].data0 == 3)
- sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 3, 1);
- if (gSprites[spriteId].data0 == 1 || gSprites[spriteId].data0 == 4 || gSprites[spriteId].data0 == 5)
- sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 4, 1);
- if (gSprites[spriteId].data0 == 7)
+ if (gSprites[spriteId].data[0] == 0 || gSprites[spriteId].data[0] == 2 || gSprites[spriteId].data[0] == 3)
+ sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data[0] * 2], gSprites[spriteId].data[0], 3, 1);
+ if (gSprites[spriteId].data[0] == 1 || gSprites[spriteId].data[0] == 4 || gSprites[spriteId].data[0] == 5)
+ sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data[0] * 2], gSprites[spriteId].data[0], 4, 1);
+ if (gSprites[spriteId].data[0] == 7)
sub_806BBEC(2);
ewram1B000.unk261 = 2;
- gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data0].x;
- gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data0].y;
+ gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data[0]].x;
+ gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data[0]].y;
}
else
{
@@ -1681,9 +1679,9 @@ void ChangePartyMenuSelection(u8 taskId, s8 directionPressed)
ChangeDoubleBattlePartyMenuSelection(spriteId, menuIndex, directionPressed);
}
- if (gSprites[spriteId].data0 < PARTY_SIZE)
+ if (gSprites[spriteId].data[0] < PARTY_SIZE)
{
- sub_806BF24(&gUnknown_083769A8[isDoubleBattle * 12 + gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 3, 1);
+ sub_806BF24(&gUnknown_083769A8[isDoubleBattle * 12 + gSprites[spriteId].data[0] * 2], gSprites[spriteId].data[0], 3, 1);
}
else
{
@@ -1692,13 +1690,13 @@ void ChangePartyMenuSelection(u8 taskId, s8 directionPressed)
ewram1B000.unk261 = 2;
- gSprites[spriteId].pos1.x = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data0].x;
- gSprites[spriteId].pos1.y = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data0].y;
+ gSprites[spriteId].pos1.x = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data[0]].x;
+ gSprites[spriteId].pos1.y = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data[0]].y;
}
- UpdateMonIconFrame_806DA44(taskId, gSprites[spriteId].data0, 1);
+ UpdateMonIconFrame_806DA44(taskId, gSprites[spriteId].data[0], 1);
- if (menuIndex != gSprites[spriteId].data0)
+ if (menuIndex != gSprites[spriteId].data[0])
{
PlaySE(5);
}
@@ -1712,47 +1710,47 @@ void ChangeDefaultPartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPres
switch (menuMovement)
{
case 2: // no movement
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 1: // moving up
if (menuIndex == 0) {
- gSprites[spriteId].data0 = 7;
+ gSprites[spriteId].data[0] = 7;
} else if (menuIndex == 7) {
- gSprites[spriteId].data0 = gPlayerPartyCount - 1;
+ gSprites[spriteId].data[0] = gPlayerPartyCount - 1;
} else {
s8 diff = directionPressed;
- gSprites[spriteId].data0 += diff;
+ gSprites[spriteId].data[0] += diff;
}
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 3: // moving down
if (menuIndex == gPlayerPartyCount - 1) {
- gSprites[spriteId].data0 = 7;
+ gSprites[spriteId].data[0] = 7;
} else if (menuIndex == 7) {
- gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data[0] = 0;
} else {
s8 diff = directionPressed;
- gSprites[spriteId].data0 += diff;
+ gSprites[spriteId].data[0] += diff;
}
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 4: // moving right
if (gPlayerPartyCount > 1 && menuIndex == 0)
{
- if (gSprites[spriteId].data1 == 0)
- gSprites[spriteId].data1 = 1;
+ if (gSprites[spriteId].data[1] == 0)
+ gSprites[spriteId].data[1] = 1;
- gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ gSprites[spriteId].data[0] = gSprites[spriteId].data[1];
}
break;
case 0: // moving left
// Only move the selection to the left side if one of the mons in the right-hand column are currently selected
nextIndex = menuIndex - 1;
if (nextIndex <= 4) {
- gSprites[spriteId].data0 = 0;
- gSprites[spriteId].data1 = menuIndex;
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = menuIndex;
}
break;
}
@@ -1766,62 +1764,62 @@ void ChangeDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directio
switch(menuMovement)
{
case 2: // no movement
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 3: // moving down
if (menuIndex == 7) {
- gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data[0] = 0;
} else if (menuIndex == gPlayerPartyCount - 1) {
- gSprites[spriteId].data0 = 7;
+ gSprites[spriteId].data[0] = 7;
} else {
s8 diff = directionPressed;
- gSprites[spriteId].data0 += diff;
+ gSprites[spriteId].data[0] += diff;
}
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 1: // moving up
if (menuIndex == 0) {
- gSprites[spriteId].data0 = 7;
+ gSprites[spriteId].data[0] = 7;
} else if (menuIndex == 7) {
- gSprites[spriteId].data0 = gPlayerPartyCount - 1;
+ gSprites[spriteId].data[0] = gPlayerPartyCount - 1;
} else {
s8 diff = directionPressed;
- gSprites[spriteId].data0 += diff;
+ gSprites[spriteId].data[0] += diff;
}
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 4: // moving right
if (menuIndex == 0) {
if (gPlayerPartyCount > 2) {
- u16 var1 = gSprites[spriteId].data1 - 2;
+ u16 var1 = gSprites[spriteId].data[1] - 2;
if (var1 > 1)
- gSprites[spriteId].data0 = 2;
+ gSprites[spriteId].data[0] = 2;
else
- gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ gSprites[spriteId].data[0] = gSprites[spriteId].data[1];
}
}
else if (menuIndex == 1) {
if (gPlayerPartyCount > 4) {
- u16 var1 = gSprites[spriteId].data1 - 4;
+ u16 var1 = gSprites[spriteId].data[1] - 4;
if (var1 <= 1)
- gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ gSprites[spriteId].data[0] = gSprites[spriteId].data[1];
else
- gSprites[spriteId].data0 = 4;
+ gSprites[spriteId].data[0] = 4;
}
}
break;
case 0: // moving left
var1 = menuIndex - 2;
if (var1 <= 1) {
- gSprites[spriteId].data0 = 0;
- gSprites[spriteId].data1 = menuIndex;
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = menuIndex;
} else {
u8 var2 = menuIndex - 4;
if (var2 <= 1) {
- gSprites[spriteId].data0 = 1;
- gSprites[spriteId].data1 = menuIndex;
+ gSprites[spriteId].data[0] = 1;
+ gSprites[spriteId].data[1] = menuIndex;
}
}
break;
@@ -1839,62 +1837,62 @@ void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 dire
switch (menuMovement)
{
case 2: // no movement
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 3: // moving down
if (menuIndex == 7) {
- gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data[0] = 0;
} else {
while (menuIndex != PARTY_SIZE - 1) {
menuIndex++;
if (GetMonData(&gPlayerParty[menuIndex], MON_DATA_SPECIES))
{
- gSprites[spriteId].data0 = menuIndex;
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[0] = menuIndex;
+ gSprites[spriteId].data[1] = 0;
return;
}
}
- gSprites[spriteId].data0 = 7;
+ gSprites[spriteId].data[0] = 7;
}
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 1: // moving up
while (menuIndex != 0) {
menuIndex--;
if (menuIndex != PARTY_SIZE && GetMonData(gPlayerParty[menuIndex], MON_DATA_SPECIES))
{
- gSprites[spriteId].data0 = menuIndex;
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[0] = menuIndex;
+ gSprites[spriteId].data[1] = 0;
return;
}
}
- gSprites[spriteId].data0 = 7;
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[0] = 7;
+ gSprites[spriteId].data[1] = 0;
break;
case 4: // moving right
if (menuIndex == 0) {
- var1 = gSprites[spriteId].data1 - 2;
+ var1 = gSprites[spriteId].data[1] - 2;
if (var1 > 1) {
if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES)) {
- gSprites[spriteId].data0 = 2;
+ gSprites[spriteId].data[0] = 2;
} else if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES)) {
- gSprites[spriteId].data0 = 3;
+ gSprites[spriteId].data[0] = 3;
}
} else {
- gSprites[spriteId].data0 = 1;
+ gSprites[spriteId].data[0] = 1;
}
} else if (menuIndex == 1) {
- var1 = gSprites[spriteId].data1 - 4;
+ var1 = gSprites[spriteId].data[1] - 4;
if (var1 <= 1) {
- gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ gSprites[spriteId].data[0] = gSprites[spriteId].data[1];
} else {
if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES)) {
- gSprites[spriteId].data0 = 4;
+ gSprites[spriteId].data[0] = 4;
} else if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES)) {
- gSprites[spriteId].data0 = 5;
+ gSprites[spriteId].data[0] = 5;
}
}
}
@@ -1902,13 +1900,13 @@ void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 dire
case 0: // moving left
var2 = menuIndex - 2;
if (var2 <= 1) {
- gSprites[spriteId].data0 = 0;
- gSprites[spriteId].data1 = menuIndex;
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = menuIndex;
} else {
var2 = menuIndex - 4;
if (var2 <= 1) {
- gSprites[spriteId].data0 = 1;
- gSprites[spriteId].data1 = menuIndex;
+ gSprites[spriteId].data[0] = 1;
+ gSprites[spriteId].data[1] = menuIndex;
}
}
@@ -2167,7 +2165,7 @@ void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed)
u8 newMenuIndex3;
s8 menuMovement;
u8 spriteId = sub_806CA00(taskId);
- u8 menuIndex = gSprites[spriteId].data0;
+ u8 menuIndex = gSprites[spriteId].data[0];
UpdateMonIconFrame_806DA44(taskId, menuIndex, 0);
@@ -2189,60 +2187,60 @@ void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed)
switch (menuMovement)
{
case 2: // no movement
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 1: // moving up
if (menuIndex == 0) {
- gSprites[spriteId].data0 = 7;
+ gSprites[spriteId].data[0] = 7;
} else if (menuIndex == PARTY_SIZE) {
- gSprites[spriteId].data0 = gPlayerPartyCount - 1;
+ gSprites[spriteId].data[0] = gPlayerPartyCount - 1;
} else {
- gSprites[spriteId].data0 += directionPressed;
+ gSprites[spriteId].data[0] += directionPressed;
}
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 3: // moving down
if (menuIndex == gPlayerPartyCount - 1) {
- gSprites[spriteId].data0 = 6;
+ gSprites[spriteId].data[0] = 6;
} else if (menuIndex == 7) {
- gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data[0] = 0;
} else {
- gSprites[spriteId].data0 += directionPressed;
+ gSprites[spriteId].data[0] += directionPressed;
}
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
break;
case 4: // moving right
if (gPlayerPartyCount > 1 && menuIndex == 0)
{
- if (gSprites[spriteId].data1 == 0) {
- gSprites[spriteId].data1 = 1;
+ if (gSprites[spriteId].data[1] == 0) {
+ gSprites[spriteId].data[1] = 1;
}
- gSprites[spriteId].data0 = gSprites[spriteId].data1;
+ gSprites[spriteId].data[0] = gSprites[spriteId].data[1];
}
break;
case 0: // moving left
newMenuIndex3 = menuIndex - 1;
if (newMenuIndex3 <= 4)
{
- gSprites[spriteId].data0 = 0;
- gSprites[spriteId].data1 = menuIndex;
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = menuIndex;
}
break;
}
- gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data0].x;
- gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data0].y;
+ gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data[0]].x;
+ gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data[0]].y;
- newMenuIndex = gSprites[spriteId].data0;
- if (gSprites[spriteId].data0 < PARTY_SIZE)
+ newMenuIndex = gSprites[spriteId].data[0];
+ if (gSprites[spriteId].data[0] < PARTY_SIZE)
{
- sub_806BF24(&gUnknown_083769A8[gSprites[spriteId].data0 * 2], newMenuIndex, 3, 1);
+ sub_806BF24(&gUnknown_083769A8[gSprites[spriteId].data[0] * 2], newMenuIndex, 3, 1);
}
- else if (gSprites[spriteId].data0 == PARTY_SIZE)
+ else if (gSprites[spriteId].data[0] == PARTY_SIZE)
{
sub_806BB9C(2);
}
@@ -2253,10 +2251,10 @@ void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed)
ewram1B000.unk261 = 2;
- newMenuIndex2 = gSprites[spriteId].data0;
+ newMenuIndex2 = gSprites[spriteId].data[0];
UpdateMonIconFrame_806DA44(taskId, newMenuIndex2, 1);
- if (menuIndex != gSprites[spriteId].data0)
+ if (menuIndex != gSprites[spriteId].data[0])
{
PlaySE(5);
}
@@ -2267,7 +2265,7 @@ void SelectBattleTowerOKButton(u8 taskId)
{
u8 spriteId = sub_806CA00(taskId);
- u8 menuIndex = gSprites[spriteId].data0;
+ u8 menuIndex = gSprites[spriteId].data[0];
if (menuIndex != 6)
{
UpdateMonIconFrame_806DA44(taskId, menuIndex, 0);
@@ -2281,8 +2279,8 @@ void SelectBattleTowerOKButton(u8 taskId)
sub_806BBEC(1);
}
- gSprites[spriteId].data1 = 0;
- gSprites[spriteId].data0 = 6;
+ gSprites[spriteId].data[1] = 0;
+ gSprites[spriteId].data[0] = 6;
gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].x;
gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].y;
@@ -2295,8 +2293,8 @@ void SelectBattleTowerOKButton(u8 taskId)
void sub_806C92C(u8 spriteId)
{
- u8 menuIndex1 = gSprites[spriteId].data0;
- u8 menuIndex2 = gSprites[spriteId].data1;
+ u8 menuIndex1 = gSprites[spriteId].data[0];
+ u8 menuIndex2 = gSprites[spriteId].data[1];
if (!IsDoubleBattle())
{
@@ -2321,14 +2319,14 @@ void sub_806C92C(u8 spriteId)
}
}
- gSprites[spriteId].data1 = menuIndex2;
+ gSprites[spriteId].data[1] = menuIndex2;
}
void sub_806C994(u8 taskId, u8 b)
{
u8 spriteId = sub_806CA00(taskId);
- gSprites[spriteId].data0 = b;
+ gSprites[spriteId].data[0] = b;
sub_806C92C(spriteId);
}
@@ -2338,7 +2336,7 @@ void sub_806C9C4(u8 taskId, u8 spriteId)
gSprites[spriteId].pos1.x = gSprites[spriteId2].pos1.x;
gSprites[spriteId].pos1.y = gSprites[spriteId2].pos1.y;
- gSprites[spriteId].data0 = gSprites[spriteId2].data0;
+ gSprites[spriteId].data[0] = gSprites[spriteId2].data[0];
}
u8 sub_806CA00(u8 taskId)
@@ -2355,7 +2353,7 @@ void sub_806CA18(u8 taskId, u8 b)
u8 sub_806CA38(u8 taskId)
{
u8 spriteId = sub_806CA00(taskId);
- return gSprites[spriteId].data0;
+ return gSprites[spriteId].data[0];
}
void SetupDefaultPartyMenuSwitchPokemon(u8 taskId)
@@ -2371,7 +2369,7 @@ void SetupDefaultPartyMenuSwitchPokemon(u8 taskId)
PrintPartyMenuPromptText(ewram1B000_alt.unk272, 0);
- sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data0 * 2], gSprites[ewram01000.unk1].data0, 6, 0);
+ sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data[0] * 2], gSprites[ewram01000.unk1].data[0], 6, 0);
ewram1B000.unk261 = 2;
}
@@ -2383,13 +2381,13 @@ void ChangePartyMenuSwitchPokemonSelection(u8 taskId, s16 menuDirectionPressed)
ChangePartyMenuSelection(taskId, menuDirectionPressed);
- if (sprite1->data0 != sprite2->data0)
+ if (sprite1->data[0] != sprite2->data[0])
{
- sub_806BF24(&gUnknown_083769A8[sprite1->data0 * 2], sprite1->data0, 6, 1);
+ sub_806BF24(&gUnknown_083769A8[sprite1->data[0] * 2], sprite1->data[0], 6, 1);
}
else
{
- sub_806BF24(&gUnknown_083769A8[sprite1->data0 * 2], sprite1->data0, 6, 0);
+ sub_806BF24(&gUnknown_083769A8[sprite1->data[0] * 2], sprite1->data[0], 6, 0);
}
}
@@ -2436,15 +2434,15 @@ void sub_806CC2C(u8 taskId)
void sub_806CC74(u8 taskId)
{
- sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk2].data0 * 2], gSprites[ewram01000.unk2].data0, 3, 1);
- sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data0 * 2], gSprites[ewram01000.unk1].data0, 3, 0);
+ sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk2].data[0] * 2], gSprites[ewram01000.unk2].data[0], 3, 1);
+ sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data[0] * 2], gSprites[ewram01000.unk1].data[0], 3, 0);
sub_806CC2C(taskId);
}
void sub_806CCE4()
{
- u8 monIndex1 = gSprites[ewram01000.unk1].data0;
- u8 monIndex2 = gSprites[ewram01000.unk2].data0;
+ u8 monIndex1 = gSprites[ewram01000.unk1].data[0];
+ u8 monIndex2 = gSprites[ewram01000.unk2].data[0];
if (monIndex1 <= 5)
{
@@ -2465,8 +2463,8 @@ void sub_806CD44(u8 taskId)
void sub_806CD5C(u8 taskId)
{
- u8 monIndex1 = gSprites[ewram01000.unk1].data0;
- u8 monIndex2 = gSprites[ewram01000.unk2].data0;
+ u8 monIndex1 = gSprites[ewram01000.unk1].data[0];
+ u8 monIndex2 = gSprites[ewram01000.unk2].data[0];
if (monIndex1 == monIndex2 || monIndex1 == 7 || monIndex2 == 7)
{
@@ -2496,8 +2494,8 @@ void sub_806CD5C(u8 taskId)
var1 = ewram01000.unk5;
if (!var1)
{
- gSprites[ewram01000.unk3].data0 = -8;
- gSprites[ewram01000.unk3].data2 = -0xA8;
+ gSprites[ewram01000.unk3].data[0] = -8;
+ gSprites[ewram01000.unk3].data[2] = -0xA8;
ewram01000.unk8 = var1;
ewram01000.unkA = 11;
@@ -2506,8 +2504,8 @@ void sub_806CD5C(u8 taskId)
}
else
{
- gSprites[ewram01000.unk3].data0 = 8;
- gSprites[ewram01000.unk3].data2 = 0xA8;
+ gSprites[ewram01000.unk3].data[0] = 8;
+ gSprites[ewram01000.unk3].data[2] = 0xA8;
ewram01000.unk8 = 11;
ewram01000.unkA = 11;
@@ -2517,8 +2515,8 @@ void sub_806CD5C(u8 taskId)
gSprites[ewram01000.unk3].callback = SpriteCB_sub_806D37C;
- gSprites[ewram01000.unk4].data0 = 8;
- gSprites[ewram01000.unk4].data2 = 0xA8;
+ gSprites[ewram01000.unk4].data[0] = 8;
+ gSprites[ewram01000.unk4].data[2] = 0xA8;
gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C;
gSprites[ewram01000.unk3].callback(&gSprites[ewram01000.unk3]);
@@ -2539,7 +2537,7 @@ void sub_806CF04(void)
SwapValues_s16(&gSprites[ewram01000.unk3].pos1.x, &gSprites[ewram01000.unk4].pos1.x);
SwapValues_s16(&gSprites[ewram01000.unk3].pos1.y, &gSprites[ewram01000.unk4].pos1.y);
SwapValues_s16(&gSprites[ewram01000.unk3].pos2.x, &gSprites[ewram01000.unk4].pos2.x);
- SwapValues_s16(&gSprites[ewram01000.unk3].data0, &gSprites[ewram01000.unk4].data0);
+ SwapValues_s16(&gSprites[ewram01000.unk3].data[0], &gSprites[ewram01000.unk4].data[0]);
gSprites[ewram01000.unk3].callback = SpriteCB_sub_806D37C;
gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C;
@@ -2550,7 +2548,7 @@ void sub_806CF04(void)
{
asm(".syntax unified\n\
push {r4,r5,lr}\n\
- ldr r4, _0806CF94 @ =0x02001000\n\
+ ldr r4, _0806CF94 @ =gSharedMem + 0x1000\n\
ldrb r1, [r4, 0x3]\n\
lsls r0, r1, 4\n\
adds r0, r1\n\
@@ -2618,7 +2616,7 @@ void sub_806CF04(void)
pop {r0}\n\
bx r0\n\
.align 2, 0\n\
-_0806CF94: .4byte 0x02001000\n\
+_0806CF94: .4byte gSharedMem + 0x1000\n\
_0806CF98: .4byte gSprites + 0x20\n\
_0806CF9C: .4byte SpriteCB_sub_806D37C\n\
.syntax divided\n");
@@ -2731,7 +2729,7 @@ void sub_806D198(u8 taskId)
gSprites[ewram01000.unk4].pos2.y = 0;
gSprites[ewram01000.unk4].callback = UpdateMonIconFrame_806DA38;
- spriteId = GetMonIconSpriteId(ewram01000.unk0, gSprites[ewram01000.unk2].data0);
+ spriteId = GetMonIconSpriteId(ewram01000.unk0, gSprites[ewram01000.unk2].data[0]);
gSprites[spriteId].callback = UpdateMonIconFrame_806DA0C;
SwapPokemon(&gPlayerParty[ewram01000.unk5], &gPlayerParty[ewram01000.unk6]);
@@ -2754,15 +2752,15 @@ void SpriteCB_sub_806D37C(struct Sprite *sprite)
{
UpdateMonIconFrame(sprite);
- if (sprite->pos2.x == sprite->data2)
+ if (sprite->pos2.x == sprite->data[2])
{
- sprite->data0 *= -1;
- sprite->data2 = 0;
+ sprite->data[0] *= -1;
+ sprite->data[2] = 0;
sprite->callback = UpdateMonIconFrame_806DA38;
}
else
{
- sprite->pos2.x += sprite->data0;
+ sprite->pos2.x += sprite->data[0];
}
}
@@ -2804,8 +2802,8 @@ void sub_806D4AC(u8 taskId, u16 species, u8 c)
u8 monIndex = c + 3;
u8 spriteId = GetMonIconSpriteId(taskId, monIndex);
- gSprites[spriteId].data0 = -8;
- gSprites[spriteId].data2 = gTasks[taskId].data[0] * -8;
+ gSprites[spriteId].data[0] = -8;
+ gSprites[spriteId].data[2] = gTasks[taskId].data[0] * -8;
gSprites[spriteId].callback = SpriteCB_sub_806D37C;
}
}
@@ -2855,7 +2853,7 @@ void sub_806D5B8(u8 monIndex)
ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom);
var1 = 0;
- CpuFastSet(&var1, (void *)(OBJ_VRAM1 + monIndex * 0x400), 0x1000100);
+ CpuFastSet(&var1, OBJ_VRAM1 + monIndex * 0x400, 0x1000100);
}
void sub_806D668(u8 monIndex)
@@ -2869,7 +2867,7 @@ void sub_806D668(u8 monIndex)
ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom);
var1 = 0;
- CpuFastSet(&var1, (void *)(OBJ_VRAM1 + 0x300 + monIndex * 0x400), 0x1000040);
+ CpuFastSet(&var1, OBJ_VRAM1 + 0x300 + monIndex * 0x400, 0x1000040);
}
bool8 LoadPartyMenuGraphics(u8 a)
@@ -3037,7 +3035,7 @@ void UpdateMonIconFrame_806DA44(u8 taskId, u8 monIndex, u8 c)
{
spriteId = GetMonIconSpriteId(taskId, monIndex);
gSprites[spriteId].pos2.y = 0;
- gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data[0] = 0;
if (!c)
{
@@ -3059,7 +3057,7 @@ void LoadHeldItemIconGraphics(void)
void SpriteCB_HeldItemIcon(struct Sprite *sprite)
{
- u8 data7 = sprite->data7;
+ u8 data7 = sprite->data[7];
if (gSprites[data7].invisible)
{
sprite->invisible = 1;
@@ -3083,7 +3081,7 @@ void CreateHeldItemIcon(u8 a, u8 b)
gSprites[spriteId].pos2.x = 4;
gSprites[spriteId].pos2.y = 10;
gSprites[spriteId].callback = SpriteCB_HeldItemIcon;
- gSprites[spriteId].data7 = a;
+ gSprites[spriteId].data[7] = a;
StartSpriteAnim(&gSprites[spriteId], b);
gSprites[spriteId].callback(&gSprites[spriteId]);
@@ -3140,8 +3138,8 @@ void CreateHeldItemIcons_806DC34(u8 taskId)
gSprites[heldItemSpriteId].pos2.x = 4;
gSprites[heldItemSpriteId].pos2.y = 10;
- gSprites[heldItemSpriteId].data7 = monIconSpriteId;
- gSprites[monIconSpriteId].data7 = heldItemSpriteId;
+ gSprites[heldItemSpriteId].data[7] = monIconSpriteId;
+ gSprites[monIconSpriteId].data[7] = heldItemSpriteId;
SetHeldItemIconVisibility(taskId, i);
gSprites[heldItemSpriteId].callback(&gSprites[heldItemSpriteId]);
@@ -3160,8 +3158,8 @@ void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item)
gSprites[heldItemSpriteId].pos2.x = 4;
gSprites[heldItemSpriteId].pos2.y = 10;
- gSprites[heldItemSpriteId].data7 = monIconSpriteId;
- gSprites[monIconSpriteId].data7 = heldItemSpriteId;
+ gSprites[heldItemSpriteId].data[7] = monIconSpriteId;
+ gSprites[monIconSpriteId].data[7] = heldItemSpriteId;
if (!item)
{
@@ -3276,7 +3274,7 @@ _0806DD78: .4byte gSprites\n\
void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite)
{
- u8 spriteId = sprite->data7;
+ u8 spriteId = sprite->data[7];
sprite->pos1.x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
sprite->pos1.y = gSprites[spriteId].pos1.y;
@@ -3336,7 +3334,7 @@ void SetMonIconSpriteId(u8 taskId, u8 monIndex, u8 spriteId)
u16 GetMonHeldItemIconSpriteId(u8 taskId, u8 monIndex)
{
u8 spriteId = GetMonIconSpriteId(taskId, monIndex);
- u8 retVal = gSprites[spriteId].data7;
+ u8 retVal = gSprites[spriteId].data[7];
return retVal;
}
@@ -3460,7 +3458,7 @@ void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer)
u32 var1 = 0;
CpuFastSet(&var1, gTileBuffer, 0x1000100);
sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gTileBuffer, nameBuffer);
- CpuFastSet(gTileBuffer, (void *)(OBJ_VRAM1 + (monIndex * 0x400)), 128);
+ CpuFastSet(gTileBuffer, OBJ_VRAM1 + (monIndex * 0x400), 128);
}
void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon)
@@ -3570,7 +3568,7 @@ void PartyMenuDoPrintLevel(u8 monIndex, u8 menuLayout, u8 level)
var1 = 0;
CpuFastSet(&var1, gUnknown_02039460, 0x1000020);
sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1);
- CpuFastSet(gUnknown_02039460, (void *)(OBJ_VRAM1 + 0x200 + (monIndex * 0x400)), 32);
+ CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x200 + (monIndex * 0x400), 32);
}
void PartyMenuPrintLevel(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon)
@@ -3664,7 +3662,7 @@ void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP)
CpuFastSet(&var, gUnknown_02039460, 0x1000040);
sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1);
- CpuFastSet(gUnknown_02039460, (void *)(OBJ_VRAM1 + 0x300 + (monIndex * 0x400)), 64);
+ CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x300 + (monIndex * 0x400), 64);
}
void PartyMenuPrintHP(u8 monIndex, u8 b, struct Pokemon *pokemon)
@@ -4294,7 +4292,7 @@ void sub_806F3FC(u8 taskId)
{
if (!gPaletteFade.active)
{
- sub_809D9F0(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8);
+ ShowSelectMovePokemonSummaryScreen(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8);
DestroyTask(taskId);
}
}
@@ -4316,7 +4314,7 @@ void TaughtMove(u8 taskId)
u16 r4;
gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, gScriptItemId, sub_808B508);
+ sub_806E8D0(taskId, gSpecialVar_ItemId, sub_808B508);
moveIndex = sub_809FA30();
r4 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + moveIndex);
GetMonNickname(ewram1C000.pokemon, gStringVar1);
@@ -4342,7 +4340,7 @@ void StopTryingToTeachMove_806F588(u8 taskId)
if (!gPaletteFade.active)
{
gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, gScriptItemId, sub_808B508);
+ sub_806E8D0(taskId, gSpecialVar_ItemId, sub_808B508);
StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo);
sub_806E834(gStringVar4, 1);
@@ -4457,7 +4455,7 @@ void sub_806F8AC(u8 taskId)
ewram1B000.unk261 = 2;
sub_806E834(gStringVar4, 1);
sp14 += sp0.unk4;
- SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&sp14);
+ SetMonData(ewram1C000.pokemon, MON_DATA_HP, &sp14);
RemoveBagItem(ewram1C000.unk6, 1);
sub_8032638();
gTasks[taskId].func = sub_806FB44;
@@ -4478,9 +4476,9 @@ void sub_806FA18(u8 taskId)
PlaySE(SE_KAIFUKU);
ewram1C000.unkC = 0;
gTasks[taskId].data[11] -= gTasks[taskId].data[12];
- SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&gTasks[taskId].data[11]);
+ SetMonData(ewram1C000.pokemon, MON_DATA_HP, &gTasks[taskId].data[11]);
SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon);
- ewram1C000.unk5 = gSprites[ewram01000.unk2].data0;
+ ewram1C000.unk5 = gSprites[ewram01000.unk2].data[0];
ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
gTasks[taskId].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
gTasks[taskId].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
@@ -5035,7 +5033,7 @@ void PrintStatGrowthsInLevelUpWindow(u8 taskId) {
movs r2, 0x13\n\
mov r8, r2\n\
_0807086C:\n\
- ldr r1, _08070930 @ =0x0201c000\n\
+ ldr r1, _08070930 @ =gSharedMem + 0x1C000\n\
ldr r0, [r1]\n\
ldr r1, _08070934 @ =StatDataTypes\n\
adds r1, r7, r1\n\
@@ -5043,7 +5041,7 @@ _0807086C:\n\
bl GetMonData\n\
adds r1, r7, 0x6\n\
lsls r1, 1\n\
- ldr r2, _08070938 @ =0x0201b264\n\
+ ldr r2, _08070938 @ =gSharedMem + 0x1B264\n\
adds r1, r2, r1\n\
strh r0, [r1]\n\
lsls r6, r7, 1\n\
@@ -5125,9 +5123,9 @@ _0807086C:\n\
bx r0\n\
.align 2, 0\n\
_0807092C: .4byte gStringVar1\n\
-_08070930: .4byte 0x0201c000\n\
+_08070930: .4byte gSharedMem + 0x1C000\n\
_08070934: .4byte StatDataTypes\n\
-_08070938: .4byte 0x0201b264\n\
+_08070938: .4byte gSharedMem + 0x1B264\n\
_0807093C: .4byte StatNames\n\
_08070940: .4byte gOtherText_TallPlusAndRightArrow\n\
.syntax divided\n");
@@ -5645,7 +5643,7 @@ _08070F8A:\n\
void unref_sub_8070F90(void)
{
- FlagSet(SYS_POKEDEX_GET);
- FlagSet(SYS_POKEMON_GET);
- FlagSet(SYS_POKENAV_GET);
+ FlagSet(FLAG_SYS_POKEDEX_GET);
+ FlagSet(FLAG_SYS_POKEMON_GET);
+ FlagSet(FLAG_SYS_POKENAV_GET);
}