summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_party_menu.c2
-rw-r--r--src/choose_party.c5
-rw-r--r--src/party_menu.c506
-rw-r--r--src/pokemon_menu.c16
-rw-r--r--src/sprite.c4
5 files changed, 142 insertions, 391 deletions
diff --git a/src/battle_party_menu.c b/src/battle_party_menu.c
index 34af8147e..dc7c5db5b 100644
--- a/src/battle_party_menu.c
+++ b/src/battle_party_menu.c
@@ -566,7 +566,7 @@ static void Task_809538C(void)
{
do
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0);
sub_806BF74(EWRAM_1B000.unk260, 0);
diff --git a/src/choose_party.c b/src/choose_party.c
index ea310b0e3..475f96695 100644
--- a/src/choose_party.c
+++ b/src/choose_party.c
@@ -46,7 +46,6 @@ extern u8 sub_806BD58(u8, u8);
extern void PartyMenuPrintMonsLevelOrStatus(void);
extern void sub_806BC3C(u8, u8);
extern u8 sub_806B58C(u8);
-extern u8 sub_806B124();
extern void sub_806AEDC(void);
extern void sub_806AF4C();
extern void ShowPokemonSummaryScreen(struct Pokemon *, u8, u8, void (*)(void), int);
@@ -422,7 +421,7 @@ static void sub_8122530(void)
{
while (1)
{
- if (sub_806B124() == 1)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(ewram1B000.unk260, gUnknown_020384F0);
sub_806C658(ewram1B000.unk260, 0);
@@ -873,7 +872,7 @@ static void sub_8122F90(void)
{
while (1)
{
- if (sub_806B124() == 1)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(ewram1B000.unk260, gUnknown_020384F0);
sub_806BF74(ewram1B000.unk260, 0);
diff --git a/src/party_menu.c b/src/party_menu.c
index a27f29482..db1fde55a 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -33,6 +33,7 @@
#include "string_util.h"
#include "strings.h"
#include "task.h"
+#include "unknown_task.h"
#include "util.h"
struct Coords8
@@ -92,6 +93,9 @@ static void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite);
static void ItemUseMoveMenu_HandleMoveSelection(u8 taskId);
static void ItemUseMoveMenu_HandleCancel(u8 taskId);
static bool8 sub_806AFD0(void);
+static void sub_806B4A8(void);
+static void sub_806AF34(void);
+static bool8 LoadPartyMenuGraphics(u8 a);
const u16 TMHMMoves[] = {
MOVE_FOCUS_PUNCH,
@@ -688,385 +692,133 @@ bool8 sub_806AFD0(void)
return FALSE;
}
-__attribute__((naked))
-bool8 sub_806B124(void)
+bool8 InitPartyMenu(void)
{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- sub sp, 0xC\n\
- ldr r0, _0806B144 @ =gMain\n\
- ldr r1, _0806B148 @ =0x0000043c\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x11\n\
- bls _0806B13A\n\
- b _0806B450\n\
-_0806B13A:\n\
- lsls r0, 2\n\
- ldr r1, _0806B14C @ =_0806B150\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
-_0806B144: .4byte gMain\n\
-_0806B148: .4byte 0x0000043c\n\
-_0806B14C: .4byte _0806B150\n\
- .align 2, 0\n\
-_0806B150:\n\
- .4byte _0806B198\n\
- .4byte _0806B240\n\
- .4byte _0806B246\n\
- .4byte _0806B27C\n\
- .4byte _0806B282\n\
- .4byte _0806B2AC\n\
- .4byte _0806B2B2\n\
- .4byte _0806B2D0\n\
- .4byte _0806B2EC\n\
- .4byte _0806B318\n\
- .4byte _0806B344\n\
- .4byte _0806B37C\n\
- .4byte _0806B382\n\
- .4byte _0806B3C0\n\
- .4byte _0806B3CC\n\
- .4byte _0806B3E4\n\
- .4byte _0806B40C\n\
- .4byte _0806B440\n\
-_0806B198:\n\
- movs r0, 0\n\
- bl SetVBlankCallback\n\
- movs r3, 0xC0\n\
- lsls r3, 19\n\
- movs r4, 0xC0\n\
- lsls r4, 9\n\
- add r2, sp, 0x8\n\
- mov r8, r2\n\
- add r2, sp, 0x4\n\
- movs r6, 0\n\
- ldr r1, _0806B22C @ =0x040000d4\n\
- movs r5, 0x80\n\
- lsls r5, 5\n\
- ldr r7, _0806B230 @ =0x81000800\n\
- movs r0, 0x81\n\
- lsls r0, 24\n\
- mov r12, r0\n\
-_0806B1BC:\n\
- strh r6, [r2]\n\
- add r0, sp, 0x4\n\
- str r0, [r1]\n\
- str r3, [r1, 0x4]\n\
- str r7, [r1, 0x8]\n\
- ldr r0, [r1, 0x8]\n\
- adds r3, r5\n\
- subs r4, r5\n\
- cmp r4, r5\n\
- bhi _0806B1BC\n\
- strh r6, [r2]\n\
- add r2, sp, 0x4\n\
- str r2, [r1]\n\
- str r3, [r1, 0x4]\n\
- lsrs r0, r4, 1\n\
- mov r3, r12\n\
- orrs r0, r3\n\
- str r0, [r1, 0x8]\n\
- ldr r0, [r1, 0x8]\n\
- movs r0, 0xE0\n\
- lsls r0, 19\n\
- movs r3, 0x80\n\
- lsls r3, 3\n\
- movs r4, 0\n\
- str r4, [sp, 0x8]\n\
- ldr r2, _0806B22C @ =0x040000d4\n\
- mov r1, r8\n\
- str r1, [r2]\n\
- str r0, [r2, 0x4]\n\
- lsrs r0, r3, 2\n\
- movs r1, 0x85\n\
- lsls r1, 24\n\
- orrs r0, r1\n\
- str r0, [r2, 0x8]\n\
- ldr r0, [r2, 0x8]\n\
- movs r1, 0xA0\n\
- lsls r1, 19\n\
- add r0, sp, 0x4\n\
- strh r4, [r0]\n\
- str r0, [r2]\n\
- str r1, [r2, 0x4]\n\
- lsrs r3, 1\n\
- movs r0, 0x81\n\
- lsls r0, 24\n\
- orrs r3, r0\n\
- str r3, [r2, 0x8]\n\
- ldr r0, [r2, 0x8]\n\
- ldr r2, _0806B234 @ =gPaletteFade\n\
- ldrb r0, [r2, 0x8]\n\
- movs r1, 0x80\n\
- orrs r0, r1\n\
- strb r0, [r2, 0x8]\n\
- ldr r1, _0806B238 @ =gMain\n\
- ldr r2, _0806B23C @ =0x0000043c\n\
- adds r1, r2\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B22C: .4byte 0x040000d4\n\
-_0806B230: .4byte 0x81000800\n\
-_0806B234: .4byte gPaletteFade\n\
-_0806B238: .4byte gMain\n\
-_0806B23C: .4byte 0x0000043c\n\
-_0806B240:\n\
- bl remove_some_task\n\
- b _0806B426\n\
-_0806B246:\n\
- bl sub_806B4A8\n\
- ldr r1, _0806B26C @ =0x0201b000\n\
- movs r2, 0x99\n\
- lsls r2, 2\n\
- adds r0, r1, r2\n\
- movs r2, 0\n\
- strh r2, [r0]\n\
- ldr r3, _0806B270 @ =0x00000266\n\
- adds r0, r1, r3\n\
- strh r2, [r0]\n\
- movs r0, 0x9A\n\
- lsls r0, 2\n\
- adds r1, r0\n\
- strh r2, [r1]\n\
- ldr r1, _0806B274 @ =gMain\n\
- ldr r2, _0806B278 @ =0x0000043c\n\
- adds r1, r2\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B26C: .4byte 0x0201b000\n\
-_0806B270: .4byte 0x00000266\n\
-_0806B274: .4byte gMain\n\
-_0806B278: .4byte 0x0000043c\n\
-_0806B27C:\n\
- bl ResetSpriteData\n\
- b _0806B426\n\
-_0806B282:\n\
- ldr r0, _0806B2A0 @ =0x0201b000\n\
- movs r1, 0x96\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x1\n\
- beq _0806B298\n\
- cmp r0, 0x5\n\
- beq _0806B298\n\
- bl ResetTasks\n\
-_0806B298:\n\
- ldr r1, _0806B2A4 @ =gMain\n\
- ldr r2, _0806B2A8 @ =0x0000043c\n\
- adds r1, r2\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B2A0: .4byte 0x0201b000\n\
-_0806B2A4: .4byte gMain\n\
-_0806B2A8: .4byte 0x0000043c\n\
-_0806B2AC:\n\
- bl FreeAllSpritePalettes\n\
- b _0806B426\n\
-_0806B2B2:\n\
- ldr r4, _0806B2CC @ =0x0201b000\n\
- movs r1, 0x97\n\
- lsls r1, 2\n\
- adds r0, r4, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0\n\
- bl CreateTask\n\
- movs r2, 0x98\n\
- lsls r2, 2\n\
- adds r1, r4, r2\n\
- strb r0, [r1]\n\
- b _0806B426\n\
- .align 2, 0\n\
-_0806B2CC: .4byte 0x0201b000\n\
-_0806B2D0:\n\
- ldr r0, _0806B2E0 @ =gWindowConfig_81E6C90\n\
- bl SetUpWindowConfig\n\
- ldr r1, _0806B2E4 @ =gMain\n\
- ldr r0, _0806B2E8 @ =0x0000043c\n\
- adds r1, r0\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B2E0: .4byte gWindowConfig_81E6C90\n\
-_0806B2E4: .4byte gMain\n\
-_0806B2E8: .4byte 0x0000043c\n\
-_0806B2EC:\n\
- ldr r4, _0806B308 @ =gUnknown_03004210\n\
- ldr r1, _0806B30C @ =gWindowConfig_81E6C90\n\
- adds r0, r4, 0\n\
- bl InitWindowFromConfig\n\
- adds r0, r4, 0\n\
- movs r1, 0x1\n\
- bl MultistepInitWindowTileData\n\
- ldr r1, _0806B310 @ =gMain\n\
- ldr r2, _0806B314 @ =0x0000043c\n\
- adds r1, r2\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B308: .4byte gUnknown_03004210\n\
-_0806B30C: .4byte gWindowConfig_81E6C90\n\
-_0806B310: .4byte gMain\n\
-_0806B314: .4byte 0x0000043c\n\
-_0806B318:\n\
- bl MultistepLoadFont\n\
- cmp r0, 0\n\
- bne _0806B322\n\
- b _0806B450\n\
-_0806B322:\n\
- ldr r0, _0806B338 @ =0x0201b000\n\
- movs r3, 0x99\n\
- lsls r3, 2\n\
- adds r0, r3\n\
- movs r1, 0x1\n\
- strh r1, [r0]\n\
- ldr r1, _0806B33C @ =gMain\n\
- ldr r0, _0806B340 @ =0x0000043c\n\
- adds r1, r0\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B338: .4byte 0x0201b000\n\
-_0806B33C: .4byte gMain\n\
-_0806B340: .4byte 0x0000043c\n\
-_0806B344:\n\
- ldr r0, _0806B368 @ =0x0201b000\n\
- movs r1, 0x99\n\
- lsls r1, 2\n\
- adds r4, r0, r1\n\
- ldrb r0, [r4]\n\
- bl LoadPartyMenuGraphics\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _0806B374\n\
- movs r0, 0\n\
- strh r0, [r4]\n\
- ldr r1, _0806B36C @ =gMain\n\
- ldr r2, _0806B370 @ =0x0000043c\n\
- adds r1, r2\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B368: .4byte 0x0201b000\n\
-_0806B36C: .4byte gMain\n\
-_0806B370: .4byte 0x0000043c\n\
-_0806B374:\n\
- ldrh r0, [r4]\n\
- adds r0, 0x1\n\
- strh r0, [r4]\n\
- b _0806B450\n\
-_0806B37C:\n\
- bl sub_809D51C\n\
- b _0806B426\n\
-_0806B382:\n\
- ldr r2, _0806B3B0 @ =gUnknown_08376C74\n\
- ldr r0, _0806B3B4 @ =0x0201b000\n\
- movs r1, 0x96\n\
- lsls r1, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, 0x4\n\
- adds r0, r2\n\
- ldr r0, [r0]\n\
- bl _call_via_r0\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _0806B450\n\
- ldr r1, _0806B3B8 @ =gMain\n\
- ldr r2, _0806B3BC @ =0x0000043c\n\
- adds r1, r2\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B3B0: .4byte gUnknown_08376C74\n\
-_0806B3B4: .4byte 0x0201b000\n\
-_0806B3B8: .4byte gMain\n\
-_0806B3BC: .4byte 0x0000043c\n\
-_0806B3C0:\n\
- ldr r0, _0806B3C8 @ =gWindowConfig_81E6CC8\n\
- bl MultistepInitMenuWindowBegin\n\
- b _0806B426\n\
- .align 2, 0\n\
-_0806B3C8: .4byte gWindowConfig_81E6CC8\n\
-_0806B3CC:\n\
- bl MultistepInitMenuWindowContinue\n\
- cmp r0, 0\n\
- beq _0806B450\n\
- ldr r1, _0806B3DC @ =gMain\n\
- ldr r0, _0806B3E0 @ =0x0000043c\n\
- adds r1, r0\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B3DC: .4byte gMain\n\
-_0806B3E0: .4byte 0x0000043c\n\
-_0806B3E4:\n\
- ldr r0, _0806B3FC @ =0x0201b000\n\
- ldr r1, _0806B400 @ =0x00000259\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- movs r1, 0\n\
- bl sub_806D538\n\
- ldr r1, _0806B404 @ =gMain\n\
- ldr r2, _0806B408 @ =0x0000043c\n\
- adds r1, r2\n\
- b _0806B42C\n\
- .align 2, 0\n\
-_0806B3FC: .4byte 0x0201b000\n\
-_0806B400: .4byte 0x00000259\n\
-_0806B404: .4byte gMain\n\
-_0806B408: .4byte 0x0000043c\n\
-_0806B40C:\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- movs r1, 0\n\
- str r1, [sp]\n\
- movs r2, 0x10\n\
- movs r3, 0\n\
- bl BeginNormalPaletteFade\n\
- ldr r2, _0806B434 @ =gPaletteFade\n\
- ldrb r1, [r2, 0x8]\n\
- movs r0, 0x7F\n\
- ands r0, r1\n\
- strb r0, [r2, 0x8]\n\
-_0806B426:\n\
- ldr r1, _0806B438 @ =gMain\n\
- ldr r3, _0806B43C @ =0x0000043c\n\
- adds r1, r3\n\
-_0806B42C:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- b _0806B450\n\
- .align 2, 0\n\
-_0806B434: .4byte gPaletteFade\n\
-_0806B438: .4byte gMain\n\
-_0806B43C: .4byte 0x0000043c\n\
-_0806B440:\n\
- ldr r0, _0806B44C @ =sub_806AF34\n\
- bl SetVBlankCallback\n\
- movs r0, 0x1\n\
- b _0806B452\n\
- .align 2, 0\n\
-_0806B44C: .4byte sub_806AF34\n\
-_0806B450:\n\
- movs r0, 0\n\
-_0806B452:\n\
- add sp, 0xC\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .syntax divided\n");
+ u8 *addr;
+ u32 size;
+
+ switch (gMain.state)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ addr = (u8 *)VRAM;
+ size = VRAM_SIZE;
+ while (1)
+ {
+ DmaFill16(3, 0, addr, 0x1000);
+ addr += 0x1000;
+ size -= 0x1000;
+ if (size <= 0x1000)
+ {
+ DmaFill16(3, 0, addr, size);
+ break;
+ }
+ }
+
+ DmaClear32(3, OAM, OAM_SIZE);
+ DmaClear16(3, PLTT, PLTT_SIZE);
+
+ gPaletteFade.bufferTransferDisabled = 1;
+ gMain.state++;
+ break;
+ case 1:
+ remove_some_task();
+ gMain.state++;
+ break;
+ case 2:
+ sub_806B4A8();
+ ewram1B000_alt.unk264 = 0;
+ ewram1B000_alt.unk266 = 0;
+ ewram1B000_alt.unk268 = 0;
+ gMain.state++;
+ break;
+ case 3:
+ ResetSpriteData();
+ gMain.state++;
+ break;
+ case 4:
+ if (ewram1B000.unk258 != 1 && ewram1B000.unk258 != 5)
+ {
+ ResetTasks();
+ }
+
+ gMain.state++;
+ break;
+ case 5:
+ FreeAllSpritePalettes();
+ gMain.state++;
+ break;
+ case 6:
+ ewram1B000.unk260 = CreateTask(ewram1B000.taskFunc, 0);
+ gMain.state++;
+ break;
+ case 7:
+ SetUpWindowConfig(&gWindowConfig_81E6C90);
+ gMain.state++;
+ break;
+ case 8:
+ InitWindowFromConfig(&gUnknown_03004210, &gWindowConfig_81E6C90);
+ MultistepInitWindowTileData(&gUnknown_03004210, 1);
+ gMain.state++;
+ break;
+ case 9:
+ if (MultistepLoadFont())
+ {
+ ewram1B000_alt.unk264 = 1;
+ gMain.state++;
+ }
+ break;
+ case 10:
+ if (LoadPartyMenuGraphics(ewram1B000_alt.unk264) == TRUE)
+ {
+ ewram1B000_alt.unk264 = 0;
+ gMain.state++;
+ }
+ else
+ {
+ ewram1B000_alt.unk264++;
+ }
+ break;
+ case 11:
+ sub_809D51C();
+ gMain.state++;
+ break;
+ case 12:
+ if (gUnknown_08376C74[ewram1B000.unk258].func2() == TRUE)
+ {
+ gMain.state++;
+ }
+ break;
+ case 13:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E6CC8);
+ gMain.state++;
+ break;
+ case 14:
+ if (MultistepInitMenuWindowContinue())
+ {
+ gMain.state++;
+ }
+ break;
+ case 15:
+ sub_806D538(ewram1B000.unk259, 0);
+ gMain.state++;
+ break;
+ case 16:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ gPaletteFade.bufferTransferDisabled = 0;
+ gMain.state++;
+ break;
+ case 17:
+ SetVBlankCallback(sub_806AF34);
+ return TRUE;
+ }
+
+ return FALSE;
}
void sub_806B460(void)
{
- while (sub_806B124() != TRUE)
+ while (InitPartyMenu() != TRUE)
{
if (sub_80F9344() == TRUE)
{
@@ -3446,10 +3198,10 @@ void sub_806D668(u8 monIndex)
CpuFastSet(&var1, (void *)(OBJ_VRAM1 + 0x300 + monIndex * 0x400), 0x1000040);
}
-u8 LoadPartyMenuGraphics(u8 a)
+bool8 LoadPartyMenuGraphics(u8 a)
{
u16 palette = 0x7FFF;
- u8 retVal = 0;
+ bool8 retVal = FALSE;
if (a < 2)
{
@@ -3490,7 +3242,7 @@ u8 LoadPartyMenuGraphics(u8 a)
if (a == 8 || a == 0)
{
LoadCompressedPalette(gStatusPal_Icons, 0xB0, 0x20);
- retVal = 1;
+ retVal = TRUE;
}
return retVal;
diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c
index dc5d018d4..5baf180a1 100644
--- a/src/pokemon_menu.c
+++ b/src/pokemon_menu.c
@@ -324,7 +324,7 @@ static void sub_8089EBC(void)
{
do
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0);
sub_806BF74(EWRAM_1B000.unk260, 0);
@@ -475,7 +475,7 @@ static void sub_808A358(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
sub_806BF74(EWRAM_1B000.unk260, 0);
@@ -491,7 +491,7 @@ static void sub_808A3A4(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
sub_806BF74(EWRAM_1B000.unk260, 0);
@@ -539,7 +539,7 @@ static void sub_808A4D4(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
sub_806BF74(EWRAM_1B000.unk260, 0);
@@ -848,7 +848,7 @@ static void sub_808AD0C(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
sub_806BF74(EWRAM_1B000.unk260, 0);
@@ -951,7 +951,7 @@ static void sub_808AF80(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
if (gUnknown_02038561 == 0)
{
@@ -1103,7 +1103,7 @@ static void sub_808B3A0(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened);
sub_806BF74(EWRAM_1B000.unk260, 0);
@@ -1163,7 +1163,7 @@ static void sub_808B518(void)
{
while (1)
{
- if (sub_806B124() == TRUE)
+ if (InitPartyMenu() == TRUE)
{
sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0);
sub_806BF74(EWRAM_1B000.unk260, 0);
diff --git a/src/sprite.c b/src/sprite.c
index fb8c2b648..5700bc86b 100644
--- a/src/sprite.c
+++ b/src/sprite.c
@@ -916,9 +916,9 @@ void DestroySpriteAndFreeResources(struct Sprite *sprite)
DestroySprite(sprite);
}
-void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5)
+void sub_800142C(u32 a1, u32 a2, const u16 *a3, u16 a4, u32 a5)
{
- u16 *d = a3;
+ const u16 *d = a3;
struct OamData *oam = &gMain.oamBuffer[gMain.objCount];
while (!(gMain.objCount & 0x80) && (s16)(d[0] + 1) != 0)
{