summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-03-04 11:19:39 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-03-04 11:19:39 -0500
commit8dcae92a5fba55497bf69d7d263cbabb2f9537ea (patch)
tree7b7dd570659f448f75bfee2502f07b42a954ed50 /src
parent437fe6631adfe04ce89f966c189b7b015d81cf26 (diff)
port/decomp through sub_8150FDC
Diffstat (limited to 'src')
-rw-r--r--src/dodrio_berry_picking.c957
1 files changed, 811 insertions, 146 deletions
diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c
index 36dc3fdd2..2341e4341 100644
--- a/src/dodrio_berry_picking.c
+++ b/src/dodrio_berry_picking.c
@@ -1,40 +1,201 @@
#include "global.h"
-#include "bg.h"
+#include "gflib.h"
+#include "link.h"
+#include "minigame_countdown.h"
#include "strings.h"
-#include "window.h"
-
-/*static*/ void sub_8150C78(void);
-/*static*/ void sub_8150CBC(void);
-/*static*/ void sub_8150CF4(void);
-/*static*/ void sub_8150D7C(void);
-/*static*/ void sub_8150DA4(void);
-/*static*/ void sub_8150FDC(void);
-/*static*/ void sub_8151198(void);
-/*static*/ void sub_81512B4(void);
-/*static*/ void sub_8151488(void);
-/*static*/ void sub_81514F0(void);
-/*static*/ void sub_815159C(void);
-/*static*/ void sub_8150F40(void);
-/*static*/ void sub_8150E68(void);
-/*static*/ void sub_815109C(void);
-/*static*/ void sub_8150FC4(void);
-/*static*/ void nullsub_97(struct Sprite *sprite);
-/*static*/ void sub_81543E8(struct Sprite *sprite);
-/*static*/ void sub_8154A2C(void);
-/*static*/ void sub_8154B34(void);
-/*static*/ void sub_8154F80(void);
-/*static*/ void sub_81556E0(void);
-/*static*/ void sub_8155A78(void);
-/*static*/ void sub_8155B4C(void);
-/*static*/ void sub_8155C2C(void);
-/*static*/ void sub_8155C80(void);
-/*static*/ void unused_0(void);
-/*static*/ void nullsub_98(void);
+#include "task.h"
+#include "constants/songs.h"
+
+struct DodrioSubstruct_0160
+{
+ /*0x0000 : 0x3000*/ u16 ALIGNED(4) tilemapBuffers[3][BG_SCREEN_SIZE];
+ /*0x3000 : 0x3160*/ bool32 finished;
+ /*0x3004 : 0x3164*/ u8 ALIGNED(4) unk3004;
+ /*0x3008 : 0x3168*/ u8 ALIGNED(4) unk3008[10];
+ /*0x3014 : 0x3174*/ u8 ALIGNED(4) state;
+ /*0x3018 : 0x3178*/ u8 ALIGNED(4) unk3018;
+ /*0x301C : 0x317C*/ u16 ALIGNED(4) unk301C;
+ /*0x3020 : 0x3180*/ u8 ALIGNED(4) unk3020;
+ /*0x3024 : 0x3184*/ u8 ALIGNED(4) unk3024;
+ /*0x3024 : 0x3184*/ void (*unk3028)(void);
+}; // size = 0x302C
+
+struct DodrioStruct_2022CF4
+{
+ u8 filler_00[0xc];
+ u8 unkC[10];
+ s16 unk16[10];
+ u16 unk2A[10];
+ u16 unk3E;
+}; // size = 0x40
+
+struct DodrioSubstruct_31A0_14
+{
+ u8 unk0[11];
+ u8 unkB[11];
+};
+
+struct DodrioSubstruct_31A0_2C
+{
+ u8 unk0;
+ u8 ALIGNED(4) unk4;
+ u8 ALIGNED(4) unk8;
+};
+
+struct DodrioSubstruct_31A0
+{
+ u8 name[0x10];
+ u32 unk10;
+ struct DodrioSubstruct_31A0_14 unk14;
+ struct DodrioSubstruct_31A0_2C unk2C;
+ u8 filler_35[4];
+}; // size = 0x3C
+
+struct DodrioSubstruct_318C
+{
+ bool8 isShiny;
+};
+
+struct DodrioSubstruct_3308
+{
+ u8 unk0;
+ u32 unk4;
+};
+
+struct DodrioStruct
+{
+ /*0x0000*/ void (*savedCallback)(void);
+ /*0x0004*/ u8 ALIGNED(4) unk04;
+ /*0x0008*/ u8 ALIGNED(4) unk08;
+ /*0x000C*/ u8 ALIGNED(4) unk0C;
+ /*0x0010*/ u8 ALIGNED(4) unk10;
+ /*0x0014*/ u8 ALIGNED(4) unk14;
+ /*0x0018*/ u8 ALIGNED(4) unk18;
+ /*0x001C*/ u8 ALIGNED(4) unk1C;
+ /*0x0020*/ u8 ALIGNED(4) unk20;
+ /*0x0024*/ u8 ALIGNED(4) unk24;
+ /*0x0028*/ u8 ALIGNED(4) multiplayerId;
+ /*0x0029*/ u8 filler_0029[7];
+ /*0x0030*/ u8 ALIGNED(4) unk30;
+ /*0x0034*/ u8 ALIGNED(4) unk34[5];
+ /*0x003C*/ u8 ALIGNED(4) unk3C;
+ /*0x0040*/ u8 ALIGNED(4) unk40;
+ /*0x0044*/ u8 ALIGNED(4) unk44;
+ /*0x0048*/ u8 ALIGNED(4) unk48;
+ /*0x004A*/ u16 unk4A[5][6];
+ /*0x0086*/ u16 unk86[5];
+ /*0x0090*/ u8 ALIGNED(4) unk90[5];
+ /*0x0098*/ u8 ALIGNED(4) unk98[4];
+ /*0x009C*/ u8 ALIGNED(4) unk9C[11];
+ /*0x00A8*/ u8 ALIGNED(4) unkA8[5];
+ /*0x00B0*/ u8 ALIGNED(4) unkB0[5];
+ /*0x00B8*/ u8 ALIGNED(4) unkB8[11];
+ /*0x00C4*/ u8 ALIGNED(4) unkC4[11];
+ /*0x00D0*/ u8 ALIGNED(4) unkD0[11];
+ /*0x00DC*/ u8 ALIGNED(4) unkDC[11];
+ /*0x00E8*/ u8 ALIGNED(4) unkE8[11];
+ /*0x00F4*/ u8 ALIGNED(4) unkF4[11][2];
+ /*0x010C*/ u8 ALIGNED(4) unk10C[5];
+ /*0x0112*/ u16 unk112;
+ /*0x0114*/ u16 unk114;
+ /*0x0118*/ u32 unk118;
+ /*0x011C*/ u32 unk11C;
+ /*0x0120*/ u32 unk120;
+ /*0x0124*/ u8 ALIGNED(4) unk124;
+ /*0x0128*/ u8 ALIGNED(4) unk128;
+ /*0x012C*/ u32 unk12C;
+ /*0x0130*/ u32 unk130[5];
+ /*0x0144*/ u8 ALIGNED(4) unk144;
+ /*0x0148*/ u8 ALIGNED(4) unk148[11];
+ /*0x0154*/ u8 ALIGNED(4) unk154;
+ /*0x0158*/ u8 ALIGNED(4) unk158[5];
+ /*0x0160*/ struct DodrioSubstruct_0160 unk160;
+ /*0x318C*/ struct DodrioSubstruct_318C unk318C[5];
+ /*0x31A0*/ struct DodrioSubstruct_31A0 unk31A0[5];
+ /*0x32CC*/ struct DodrioSubstruct_31A0 unk32CC;
+ /*0x3308*/ struct DodrioSubstruct_3308 unk3308[5];
+}; // size = 0x3330
+
+EWRAM_DATA struct DodrioStruct * gUnknown_203F3E0 = NULL;
+EWRAM_DATA u16 *gUnknown_203F3E4[5] = {NULL};
+EWRAM_DATA u16 *gUnknown_203F3F8[2] = {NULL};
+EWRAM_DATA u16 *gUnknown_203F400[11] = {NULL};
+EWRAM_DATA u16 *gUnknown_203F42C[4] = {NULL};
+EWRAM_DATA struct DodrioStruct_2022CF4 *gUnknown_203F43C = NULL;
+EWRAM_DATA struct DodrioSubstruct_0160 *gUnknown_203F440 = NULL;
+
+IWRAM_DATA bool32 gUnknown_3002044;
+
+bool32 sub_8155E68(void);
+void sub_81508D8(void);
+void sub_81508EC(struct DodrioStruct * dodrio);
+void sub_8150A84(u8 taskId);
+void sub_8150C78(void);
+void sub_8150CBC(void);
+void sub_8150CF4(void);
+void sub_8150D7C(void);
+void sub_8150DA4(void);
+void sub_8150E68(void);
+void sub_8150F40(void);
+void sub_8150FC4(void);
+void sub_8150FDC(void);
+void sub_815109C(void);
+void sub_8151198(void);
+void sub_81512B4(void);
+void sub_8151488(void);
+void sub_81514F0(void);
+void sub_815159C(void);
+void sub_81516DC(u8 taskId);
+void sub_8151750(u8 taskId);
+void sub_8151B54(void);
+void sub_8151BA0(void);
+void sub_8151C5C(void);
+void sub_8151D28(void);
+void sub_8151D98(void);
+void sub_8151E94(void);
+void sub_815201C(void);
+void sub_8152034(void);
+void sub_8152048(struct DodrioSubstruct_318C * dodrioMon, struct Pokemon * partyMon);
+void sub_815205C(TaskFunc func, u8 priority);
+void sub_815206C(TaskFunc func);
+void sub_8152090(u8 a0);
+void sub_8152110(void);
+void sub_815256C(void);
+void sub_815293C(void);
+void sub_8152970(void);
+void sub_81529A4(u8 a0, u8 *a1, u8 *a2);
+bool32 sub_8152A98(void);
+bool32 sub_8152AD8(void);
+void sub_8153004(void);
+void sub_8153150(void);
+u8 sub_815327C(u8);
+void sub_8153A9C(void);
+void sub_8153AFC(struct DodrioSubstruct_318C * unk318C, u8 a1, u8 a2, u8 a3);
+void sub_8153BF8(u8 a0);
+void sub_8153D80(bool8 a0, u8 a1);
+void nullsub_97(struct Sprite *sprite);
+void sub_8153E28(void);
+void sub_8154128(void);
+void sub_815417C(void);
+void sub_81543E8(struct Sprite *sprite);
+void sub_8154438(void);
+void sub_8154968(struct DodrioSubstruct_0160 * unk0160);
+void sub_81549D4(u8 a0);
+void sub_8154A2C(void);
+void sub_8154B34(void);
+void sub_8154F80(void);
+void sub_81556E0(void);
+void sub_8155A78(void);
+void sub_8155B4C(void);
+void sub_8155C2C(void);
+void sub_8155C80(void);
+void unused_0(void);
+void nullsub_98(void);
// const rom data
// Large chunk of data
-/*static*/ const struct BgTemplate sUnknown_847565C_Unref_Dupe[] =
+const struct BgTemplate sUnknown_847565C_Unref_Dupe[] =
{
{
.bg = 0,
@@ -75,9 +236,9 @@
};
// Unknown unreferenced data, feel free to remove.
-/*static*/ const u32 sUnused_Unref_Dupe[] = {255, 0};
+const u32 sUnused_Unref_Dupe[] = {255, 0};
-/*static*/ const struct WindowTemplate sUnknown_8475674_Unref_Dupe[] =
+const struct WindowTemplate sUnknown_8475674_Unref_Dupe[] =
{
{
.bg = 0,
@@ -99,7 +260,7 @@
}
};
-/*static*/ const struct WindowTemplate sUnknown_8475684_Unref_Dupe =
+const struct WindowTemplate sUnknown_8475684_Unref_Dupe =
{
.bg = 0,
.tilemapLeft = 1,
@@ -110,7 +271,7 @@
.baseBlock = 0x67,
};
-/*static*/ const struct WindowTemplate sUnknown_847568C_Unref_Dupe[] =
+const struct WindowTemplate sUnknown_847568C_Unref_Dupe[] =
{
{
.bg = 0,
@@ -132,7 +293,7 @@
}
};
-/*static*/ const struct WindowTemplate sUnknown_847569C_Unref_Dupe =
+const struct WindowTemplate sUnknown_847569C_Unref_Dupe =
{
.bg = 0,
.tilemapLeft = 4,
@@ -143,7 +304,7 @@
.baseBlock = 0x13,
};
-/*static*/ const struct WindowTemplate sUnknown_84756A4_Unref_Dupe =
+const struct WindowTemplate sUnknown_84756A4_Unref_Dupe =
{
.bg = 0,
.tilemapLeft = 5,
@@ -154,7 +315,7 @@
.baseBlock = 0x13,
};
-/*static*/ const u8 sUnknown_8471F50[5][5][11] =
+const u8 sUnknown_8471F50[5][5][11] =
{
{
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
@@ -183,7 +344,7 @@
},
};
-/*static*/ const u8 sUnknown_8472063[5][5][3] =
+const u8 sUnknown_8472063[5][5][3] =
{
{
{4, 5, 6},
@@ -212,7 +373,7 @@
},
};
-/*static*/ const u8 sUnknown_84720AE[5][5][3] =
+const u8 sUnknown_84720AE[5][5][3] =
{
{
{1, 0, 1},
@@ -242,7 +403,7 @@
};
ALIGNED(4)
-/*static*/ const u8 sUnknown_84720FC[5][11] =
+const u8 sUnknown_84720FC[5][11] =
{
{9, 9, 9, 9, 1, 1, 1, 9, 9, 9, 9},
{9, 9, 9, 0, 0, 1, 1, 0, 9, 9, 9},
@@ -251,7 +412,7 @@ ALIGNED(4)
{3, 3, 4, 4, 0, 0, 1, 1, 2, 2, 3},
};
-/*static*/ const u8 sUnknown_8472133[5][5] =
+const u8 sUnknown_8472133[5][5] =
{
{5},
{4, 6},
@@ -261,7 +422,7 @@ ALIGNED(4)
};
// Duplicate and unused gfx. Feel free to remove.
-/*static*/ const u32 sDuplicateGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.gbapal",
+const u32 sDuplicateGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.gbapal",
"graphics/link_games/dodrioberry_bg2.gbapal",
"graphics/link_games/dodrioberry_pkmn.gbapal",
"graphics/link_games/dodrioberry_shiny.gbapal",
@@ -278,7 +439,7 @@ ALIGNED(4)
"graphics/link_games/dodrioberry_bg2right.bin.lz",
"graphics/link_games/dodrioberry_bg2left.bin.lz");
-/*static*/ const u8 sUnknown_847553C[][3] =
+const u8 sUnknown_847553C[][3] =
{
{40, 24, 13},
{32, 19, 10},
@@ -286,20 +447,20 @@ ALIGNED(4)
};
ALIGNED(4)
-/*static*/ const u8 sUnknown_8475548[] = {8, 5, 8, 11, 15};
+const u8 sUnknown_8475548[] = {8, 5, 8, 11, 15};
ALIGNED(4)
-/*static*/ const u8 sUnknown_8475550[] = {5, 10, 20, 30, 50, 70, 100};
+const u8 sUnknown_8475550[] = {5, 10, 20, 30, 50, 70, 100};
ALIGNED(4)
-/*static*/ const u8 sUnknown_8475558[][10] =
+const u8 sUnknown_8475558[][10] =
{
{15, 16, 17, 18, 19, 19, 18, 17, 16, 15},
{20, 21, 22, 23, 24, 25, 26, 27, 28, 29},
{30, 31, 32, 33, 34, 34, 33, 32, 31, 30},
};
-/*static*/ void (*const sUnknown_8475578[])(void) =
+void (*const sUnknown_8475578[])(void) =
{
sub_8150C78,
sub_8150CBC,
@@ -315,7 +476,7 @@ ALIGNED(4)
sub_8150F40
};
-/*static*/ void (*const sUnknown_84755A8[])(void) =
+void (*const sUnknown_84755A8[])(void) =
{
sub_8150C78,
sub_8150CBC,
@@ -331,10 +492,425 @@ ALIGNED(4)
sub_8150FC4
};
-/*static*/ const s16 sUnknown_84755D8[] = {10, 30, 50, 50};
+void StartDodrioBerryPicking(u16 a0, MainCallback callback)
+{
+ gUnknown_3002044 = FALSE;
+
+ if (gReceivedRemoteLinkPlayers != 0 && (gUnknown_203F3E0 = AllocZeroed(sizeof(*gUnknown_203F3E0))) != NULL)
+ {
+ sub_81508D8();
+ sub_81508EC(gUnknown_203F3E0);
+ gUnknown_203F3E0->savedCallback = callback;
+ gUnknown_203F3E0->multiplayerId = GetMultiplayerId();
+ gUnknown_203F3E0->unk32CC = gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId];
+ sub_8152048(&gUnknown_203F3E0->unk318C[gUnknown_203F3E0->multiplayerId], &gPlayerParty[a0]);
+ CreateTask(sub_8150A84, 1);
+ SetMainCallback2(sub_815201C);
+ sub_8153150();
+ sub_81529A4(gUnknown_203F3E0->unk24, &gUnknown_203F3E0->unk44, &gUnknown_203F3E0->unk48);
+ StopMapMusic();
+ PlayNewMapMusic(MUS_KINOMIKUI);
+ }
+ else
+ {
+ SetMainCallback2(callback);
+ return;
+ }
+}
+
+void sub_81508D8(void)
+{
+ ResetTasks();
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+}
+
+void sub_81508EC(struct DodrioStruct * data)
+{
+ u8 i;
+
+ data->unk0C = 0;
+ data->unk10 = 0;
+ data->unk14 = 0;
+ data->unk18 = 0;
+ data->unk1C = 0;
+ data->unk11C = 0;
+ data->unk120 = 0;
+ data->unk30 = 0;
+ data->unk40 = 0;
+ data->unk3C = 0;
+ data->unk12C = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ data->unk98[i] = 0;
+ }
+
+ for (i = 0; i < 5; i++)
+ {
+ data->unkA8[i] = 0;
+ data->unkB0[i] = 0;
+ data->unk4A[i][0] = 0;
+ data->unk4A[i][1] = 0;
+ data->unk4A[i][2] = 0;
+ data->unk4A[i][3] = 0;
+ data->unk4A[i][5] = 0;
+ data->unk10C[i] = 0;
+ data->unk130[i] = 0;
+ }
+
+ for (i = 0; i < 11; i++)
+ {
+ data->unkD0[i] = 0;
+ data->unkDC[i] = 0;
+ data->unkC4[i] = 0;
+ data->unkF4[i][0] = 0xFF;
+ data->unkF4[i][1] = 0xFF;
+ }
+
+ data->unk20 = GetMultiplayerId() == 0 ? 1 : 0;
+ data->unk24 = GetLinkPlayerCount();
+ data->unk34[0] = GetMultiplayerId();
+ for (i = 1; i < data->unk24; i++)
+ {
+ data->unk34[i] = data->unk34[i - 1] + 1;
+ if (data->unk34[i] > data->unk24 - 1)
+ data->unk34[i] %= data->unk24;
+ }
+}
+
+void sub_8150A84(u8 taskId)
+{
+ u8 r4, r5;
+
+ switch (gUnknown_203F3E0->unk0C)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ sub_815205C(sub_8151750, 4);
+ gUnknown_203F3E0->unk0C++;
+ break;
+ case 1:
+ if (!FuncIsActiveTask(sub_8151750))
+ {
+ sub_8154968(&gUnknown_203F3E0->unk160);
+ gUnknown_203F3E0->unk0C++;
+ }
+ break;
+ case 2:
+ if (!sub_8155E68())
+ {
+ LinkRfu_SetRfuFuncToSend6600();
+ gUnknown_203F3E0->unk0C++;
+ }
+ break;
+ case 3:
+ if (IsLinkTaskFinished())
+ {
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ LoadWirelessStatusIndicatorSpriteGfx();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ }
+ gUnknown_203F3E0->unk0C++;
+ }
+ break;
+ case 4:
+ r5 = gUnknown_203F3E0->unk24;
+ sub_8153A9C();
+ for (r4 = 0; r4 < r5; r4++)
+ {
+ sub_8153AFC(&gUnknown_203F3E0->unk318C[gUnknown_203F3E0->unk34[r4]], r4, gUnknown_203F3E0->unk34[r4], gUnknown_203F3E0->unk24);
+ }
+ sub_8153D80(FALSE, gUnknown_203F3E0->unk24);
+ gUnknown_203F3E0->unk0C++;
+ break;
+ case 5:
+ sub_8154128();
+ sub_815417C();
+ sub_8154438();
+ sub_8153E28();
+ gUnknown_203F3E0->unk0C++;
+ break;
+ case 6:
+ BlendPalettes(0xFFFFFFFF, 0x10, 0x00);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ SetVBlankCallback(sub_8152034);
+ gUnknown_203F3E0->unk0C++;
+ break;
+ case 7:
+ UpdatePaletteFade();
+ if (!gPaletteFade.active)
+ {
+ gUnknown_203F3E0->unk0C++;
+ }
+ break;
+ default:
+ DestroyTask(taskId);
+ sub_815206C(sub_81516DC);
+ break;
+ }
+}
+
+void sub_8150C08(u8 taskId)
+{
+ sub_8151B54();
+ sUnknown_8475578[gUnknown_203F3E0->unk18]();
+ if (!gUnknown_3002044)
+ {
+ sub_815293C();
+ }
+ sub_8151BA0();
+}
+
+void sub_8150C40(u8 taskId)
+{
+ sub_8151C5C();
+ sUnknown_84755A8[gUnknown_203F3E0->unk18]();
+ if (!gUnknown_3002044)
+ {
+ sub_8152970();
+ }
+ sub_8151D28();
+}
+
+void sub_8150C78(void)
+{
+ switch (gUnknown_203F3E0->unk10)
+ {
+ case 0:
+ sub_8153BF8(1);
+ sub_81549D4(1);
+ gUnknown_203F3E0->unk10++;
+ break;
+ case 1:
+ if (!sub_8155E68())
+ sub_8152090(1);
+ break;
+ }
+}
+
+void sub_8150CBC(void)
+{
+ if (gUnknown_203F3E0->unk10 == 0)
+ {
+ sub_8152110();
+ gUnknown_203F3E0->unk10++;
+ }
+ else
+ {
+ gUnknown_203F3E0->unk118 = 1;
+ sub_8152090(2);
+ }
+}
+
+void sub_8150CF4(void)
+{
+ switch (gUnknown_203F3E0->unk10)
+ {
+ case 0:
+ StartMinigameCountdown(7, 8, 120, 80, 0);
+ gUnknown_203F3E0->unk10++;
+ break;
+ case 1:
+ LinkRfu_SetRfuFuncToSend6600();
+ gUnknown_203F3E0->unk10++;
+ break;
+ case 2:
+ if (IsLinkTaskFinished())
+ {
+ gUnknown_203F3E0->unk10++;
+ }
+ break;
+ case 3:
+ if (!IsMinigameCountdownRunning())
+ {
+ LinkRfu_SetRfuFuncToSend6600();
+ gUnknown_203F3E0->unk10++;
+ }
+ break;
+ case 4:
+ if (IsLinkTaskFinished())
+ {
+ sub_8152090(3);
+ }
+ break;
+ }
+}
+
+void sub_8150D7C(void)
+{
+ if (gUnknown_203F3E0->unk10 == 0)
+ {
+ if (gUnknown_203F3E0->unk11C != 0)
+ {
+ sub_8152090(4);
+ }
+ }
+}
+
+void sub_8150DA4(void)
+{
+ if (gUnknown_203F3E0->unk10 == 0)
+ {
+ if (gUnknown_203F3E0->unk40 < 10)
+ {
+ if (gUnknown_203F3E0->unkA8[0] == 0)
+ {
+ if (JOY_NEW(DPAD_UP))
+ {
+ if (gUnknown_203F3E0->unk31A0[0].unk2C.unk0 == 0)
+ {
+ gUnknown_203F3E0->unk31A0[0].unk2C.unk4 = 0;
+ gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(2);
+ }
+ }
+ else if (JOY_NEW(DPAD_RIGHT))
+ {
+ if (gUnknown_203F3E0->unk31A0[0].unk2C.unk0 == 0)
+ {
+ gUnknown_203F3E0->unk31A0[0].unk2C.unk4 = 0;
+ gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(1);
+ }
+ }
+ else if (JOY_NEW(DPAD_LEFT))
+ {
+ if (gUnknown_203F3E0->unk31A0[0].unk2C.unk0 == 0)
+ {
+ gUnknown_203F3E0->unk31A0[0].unk2C.unk4 = 0;
+ gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(3);
+ }
+ }
+ else
+ {
+ gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(0);
+ }
+ }
+ }
+ else
+ {
+ sub_8152090(11);
+ }
+ sub_815256C();
+ sub_8151D98();
+ }
+}
+void sub_8150E68(void)
+{
+ if (gUnknown_203F3E0->unk40 < 10)
+ {
+ if (JOY_NEW(DPAD_UP))
+ {
+ if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0)
+ {
+ gUnknown_203F3E0->unk32CC.unk2C.unk0 = 2;
+ }
+ }
+ else if (JOY_NEW(DPAD_RIGHT))
+ {
+ if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0)
+ {
+ gUnknown_203F3E0->unk32CC.unk2C.unk0 = 1;
+ }
+ }
+ else if (JOY_NEW(DPAD_LEFT))
+ {
+ if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0)
+ {
+ gUnknown_203F3E0->unk32CC.unk2C.unk0 = 3;
+ }
+ }
+ else
+ {
+ gUnknown_203F3E0->unk32CC.unk2C.unk0 = 0;
+ }
+ }
+ else
+ {
+ sub_8152090(11);
+ }
+ sub_8151E94();
+}
+
+void sub_8150F40(void)
+{
+ u8 i;
+
+ sub_815256C();
+ sub_8151D98();
+ if (sub_8152A98() == 1)
+ {
+ sub_8153004();
+ sub_8152090(5);
+ }
+ else
+ {
+ gUnknown_203F3E0->unk12C = 1;
+ for (i = 1; i < gUnknown_203F3E0->unk24; i++)
+ {
+ if (gUnknown_203F3E0->unk130[i] != 1)
+ {
+ gUnknown_203F3E0->unk12C = 0;
+ break;
+ }
+ }
+ }
+}
+
+void sub_8150FC4(void)
+{
+ sub_8151E94();
+ if (sub_8152AD8() == 1)
+ sub_8152090(5);
+}
+
+void sub_8150FDC(void)
+{
+ u8 blockReceivedStatus;
+ u8 i;
+ switch (gUnknown_203F3E0->unk10)
+ {
+ case 0:
+ SendBlock(0, gUnknown_203F3E0->unk4A, sizeof(gUnknown_203F3E0->unk4A));
+ gUnknown_203F3E0->unk08 = 0;
+ gUnknown_203F3E0->unk10++;
+ break;
+ case 1:
+ if (IsLinkTaskFinished())
+ {
+ gUnknown_203F3E0->unk10++;
+ }
+ break;
+ case 2:
+ blockReceivedStatus = GetBlockReceivedStatus();
+ for (i = 0; i < gUnknown_203F3E0->unk24; blockReceivedStatus >>= 1, i++)
+ {
+ if (blockReceivedStatus & 1)
+ {
+ ResetBlockReceivedFlag(i);
+ gUnknown_203F3E0->unk08++;
+ }
+ }
+ if (gUnknown_203F3E0->unk08 >= gUnknown_203F3E0->unk24)
+ {
+ gUnknown_203F3E0->unk14++;
+ gUnknown_203F3E0->unk10++;
+ }
+ break;
+ default:
+ if (WaitFanfare(TRUE))
+ {
+ sub_8152090(6);
+ FadeOutAndPlayNewMapMusic(MUS_WIN_YASEI, 4);
+ }
+ break;
+ }
+}
+
+const s16 sUnknown_84755D8[] = {10, 30, 50, 50};
// Data related to printing saved results.
-/*static*/ const struct WindowTemplate sUnknown_84755E0 =
+const struct WindowTemplate sUnknown_84755E0 =
{
.bg = 0,
.tilemapLeft = 1,
@@ -345,15 +921,15 @@ ALIGNED(4)
.baseBlock = 1,
};
-/*static*/ const u8 *const sUnknown_84755E8[] = {gText_BerryPickingRecords, gText_BerriesPicked, gText_BestScore, gText_BerriesInRowFivePlayers};
-/*static*/ const u8 sUnknown_84755F8[] = {4, 7, 4};
+const u8 *const sUnknown_84755E8[] = {gText_BerryPickingRecords, gText_BerriesPicked, gText_BestScore, gText_BerriesInRowFivePlayers};
+const u8 sUnknown_84755F8[] = {4, 7, 4};
ALIGNED(4)
-/*static*/ const u8 sUnknown_84755FC[][2] = {{24}, {40}, {56}};
-/*static*/ const u8 sUnknown_8475602[][2] = {{24}, {40}, {70}};
+const u8 sUnknown_84755FC[][2] = {{24}, {40}, {56}};
+const u8 sUnknown_8475602[][2] = {{24}, {40}, {70}};
// Debug functions?
-/*static*/ const u16 sUnknown_8475608[][4] =
+const u16 sUnknown_8475608[][4] =
{
{9999, 0, 90, 9999},
{9999, 9999, 70, 9999},
@@ -362,11 +938,11 @@ ALIGNED(4)
{9999, 9999, 9999, 0},
};
-/*static*/ const u8 sUnknown_8475630[] = _("あいうえおかき");
-/*static*/ const u8 sUnknown_8475638[] = _("ABCDEFG");
-/*static*/ const u8 sUnknown_8475640[] = _("0123456");
+const u8 sUnknown_8475630[] = _("あいうえおかき");
+const u8 sUnknown_8475638[] = _("ABCDEFG");
+const u8 sUnknown_8475640[] = _("0123456");
-/*static*/ const u8 *const sUnknown_8475648[] =
+const u8 *const sUnknown_8475648[] =
{
sUnknown_8475630,
sUnknown_8475630,
@@ -376,7 +952,7 @@ ALIGNED(4)
};
// Large chunk of data
-/*static*/ const struct BgTemplate sUnknown_847565C[] =
+const struct BgTemplate sUnknown_847565C[] =
{
{
.bg = 0,
@@ -417,9 +993,9 @@ ALIGNED(4)
};
// Unknown unreferenced data, feel free to remove.
-/*static*/ const u32 sUnused[] = {255, 0};
+const u32 sUnused[] = {255, 0};
-/*static*/ const struct WindowTemplate sUnknown_8475674[] =
+const struct WindowTemplate sUnknown_8475674[] =
{
{
.bg = 0,
@@ -441,7 +1017,7 @@ ALIGNED(4)
}
};
-/*static*/ const struct WindowTemplate sUnknown_8475684 =
+const struct WindowTemplate sUnknown_8475684 =
{
.bg = 0,
.tilemapLeft = 1,
@@ -452,7 +1028,7 @@ ALIGNED(4)
.baseBlock = 0x67,
};
-/*static*/ const struct WindowTemplate sUnknown_847568C[] =
+const struct WindowTemplate sUnknown_847568C[] =
{
{
.bg = 0,
@@ -474,7 +1050,7 @@ ALIGNED(4)
}
};
-/*static*/ const struct WindowTemplate sUnknown_847569C =
+const struct WindowTemplate sUnknown_847569C =
{
.bg = 0,
.tilemapLeft = 4,
@@ -485,7 +1061,7 @@ ALIGNED(4)
.baseBlock = 0x13,
};
-/*static*/ const struct WindowTemplate sUnknown_84756A4 =
+const struct WindowTemplate sUnknown_84756A4 =
{
.bg = 0,
.tilemapLeft = 5,
@@ -497,41 +1073,130 @@ ALIGNED(4)
};
// This is an unused copy of the tables from the top of the file. Feel free to remove.
-/*static*/ const u8 sDuplicateArray[] =
-{
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 3, 8, 9, 0, 0, 1, 2, 5, 6, 3, 4, 5, 8, 9, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 2, 9,
- 0, 0, 1, 4, 5, 6, 7, 2, 3, 4, 9, 0, 0, 1, 6, 7, 2, 3, 4, 5, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 1, 0, 0, 3, 4, 5, 6, 7, 8, 1, 2, 3, 0, 0, 5, 6, 7, 8, 1, 2, 3, 4, 5, 0, 0, 7,
- 8, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 2, 3, 4, 5, 6, 7, 8, 9, 0,
- 1, 2, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 4, 5, 6, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 5, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 6, 7, 2, 2, 3, 4, 0, 0, 0, 0, 0, 0,
- 3, 4, 5, 5, 6, 7, 7, 8, 1, 1, 2, 3, 0, 0, 0, 4, 5, 6, 6, 7, 8, 8, 9, 0, 0, 1, 2, 2, 3, 4, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 1,
- 2, 1, 2, 3, 2, 3, 0, 0, 0, 0, 4, 0, 1, 0, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4, 0, 0, 0, 0, 9, 9, 9, 9, 1, 1, 1, 9, 9, 9, 9, 9,
- 9, 9, 0, 0, 1, 1, 0, 9, 9, 9, 9, 9, 2, 2, 0, 0, 1, 1, 1, 9, 9, 9, 3, 3, 0, 0, 1, 1, 2, 2, 3, 9, 3, 3, 4, 4, 0, 0, 1, 1,
- 2, 2, 3, 5, 0, 0, 0, 0, 4, 6, 0, 0, 0, 3, 5, 7, 0, 0, 2, 4, 6, 8, 0, 1, 3, 5, 6, 9
-};
-
-/*static*/ const u16 sDodrioBerryBgPal1[] = INCBIN_U16("graphics/link_games/dodrioberry_bg1.gbapal",
+const u8 sUnknown_8471F50_UnrefDup[5][5][11] =
+{
+ {
+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ },
+ {
+ {0, 1, 2, 3, 4, 5, 6, 3, 8, 9, 0},
+ {0, 1, 2, 5, 6, 3, 4, 5, 8, 9, 0},
+ },
+ {
+ {0, 1, 2, 3, 4, 5, 6, 7, 2, 9, 0},
+ {0, 1, 4, 5, 6, 7, 2, 3, 4, 9, 0},
+ {0, 1, 6, 7, 2, 3, 4, 5, 6, 9, 0},
+ },
+ {
+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 1, 0},
+ {0, 3, 4, 5, 6, 7, 8, 1, 2, 3, 0},
+ {0, 5, 6, 7, 8, 1, 2, 3, 4, 5, 0},
+ {0, 7, 8, 1, 2, 3, 4, 5, 6, 7, 0},
+ },
+ {
+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+ {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2},
+ {4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4},
+ {6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6},
+ {8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8},
+ },
+};
+
+const u8 sUnknown_8472063_UnrefDup[5][5][3] =
+{
+ {
+ {4, 5, 6},
+ },
+ {
+ {3, 4, 5},
+ {5, 6, 3},
+ },
+ {
+ {4, 5, 6},
+ {6, 7, 2},
+ {2, 3, 4},
+ },
+ {
+ {3, 4, 5},
+ {5, 6, 7},
+ {7, 8, 1},
+ {1, 2, 3},
+ },
+ {
+ {4, 5, 6},
+ {6, 7, 8},
+ {8, 9, 0},
+ {0, 1, 2},
+ {2, 3, 4},
+ },
+};
+
+const u8 sUnknown_84720AE_UnrefDup[5][5][3] =
+{
+ {
+ {1, 0, 1},
+ },
+ {
+ {1, 0, 1},
+ {0, 1, 0},
+ },
+ {
+ {2, 0, 1},
+ {0, 1, 2},
+ {1, 2, 0},
+ },
+ {
+ {3, 0, 1},
+ {0, 1, 2},
+ {1, 2, 3},
+ {2, 3, 0},
+ },
+ {
+ {4, 0, 1},
+ {0, 1, 2},
+ {1, 2, 3},
+ {2, 3, 4},
+ {3, 4, 0},
+ },
+};
+
+ALIGNED(4)
+const u8 sUnknown_84720FC_UnrefDup[5][11] =
+{
+ {9, 9, 9, 9, 1, 1, 1, 9, 9, 9, 9},
+ {9, 9, 9, 0, 0, 1, 1, 0, 9, 9, 9},
+ {9, 9, 2, 2, 0, 0, 1, 1, 1, 9, 9},
+ {9, 3, 3, 0, 0, 1, 1, 2, 2, 3, 9},
+ {3, 3, 4, 4, 0, 0, 1, 1, 2, 2, 3},
+};
+
+const u8 sUnknown_8472133_UnrefDup[5][5] =
+{
+ {5},
+ {4, 6},
+ {3, 5, 7},
+ {2, 4, 6, 8},
+ {1, 3, 5, 6, 9},
+};
+
+const u16 sDodrioBerryBgPal1[] = INCBIN_U16("graphics/link_games/dodrioberry_bg1.gbapal",
"graphics/link_games/dodrioberry_bg2.gbapal");
-/*static*/ const u16 sDodrioBerryPkmnPal[] = INCBIN_U16("graphics/link_games/dodrioberry_pkmn.gbapal");
-/*static*/ const u16 sDodrioBerryShinyPal[] = INCBIN_U16("graphics/link_games/dodrioberry_shiny.gbapal");
-/*static*/ const u16 sDodrioBerryStatusPal[] = INCBIN_U16("graphics/link_games/dodrioberry_status.gbapal");
-/*static*/ const u16 sDodrioBerrySpritesPal[] = INCBIN_U16("graphics/link_games/dodrioberry_berrysprites.gbapal");
-/*static*/ const u32 sDodrioBerrySpritesGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_berrysprites.4bpp.lz");
-/*static*/ const u16 sDodrioBerryPlatformPal[] = INCBIN_U16("graphics/link_games/dodrioberry_platform.gbapal");
-/*static*/ const u32 sDodrioBerryBgGfx1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.4bpp.lz");
-/*static*/ const u32 sDodrioBerryBgGfx2[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2.4bpp.lz");
-/*static*/ const u32 sDodrioBerryStatusGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_status.4bpp.lz");
-/*static*/ const u32 sDodrioBerryPlatformGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_platform.4bpp.lz");
-/*static*/ const u32 sDodrioBerryPkmnGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_pkmn.4bpp.lz");
-/*static*/ const u32 sDodrioBerryBgTilemap1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.bin.lz");
-/*static*/ const u32 sDodrioBerryBgTilemap2Right[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2right.bin.lz");
-/*static*/ const u32 sDodrioBerryBgTilemap2Left[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2left.bin.lz");
-
-/*static*/ const struct OamData sOamData_8478C98 =
+const u16 sDodrioBerryPkmnPal[] = INCBIN_U16("graphics/link_games/dodrioberry_pkmn.gbapal");
+const u16 sDodrioBerryShinyPal[] = INCBIN_U16("graphics/link_games/dodrioberry_shiny.gbapal");
+const u16 sDodrioBerryStatusPal[] = INCBIN_U16("graphics/link_games/dodrioberry_status.gbapal");
+const u16 sDodrioBerrySpritesPal[] = INCBIN_U16("graphics/link_games/dodrioberry_berrysprites.gbapal");
+const u32 sDodrioBerrySpritesGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_berrysprites.4bpp.lz");
+const u16 sDodrioBerryPlatformPal[] = INCBIN_U16("graphics/link_games/dodrioberry_platform.gbapal");
+const u32 sDodrioBerryBgGfx1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.4bpp.lz");
+const u32 sDodrioBerryBgGfx2[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2.4bpp.lz");
+const u32 sDodrioBerryStatusGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_status.4bpp.lz");
+const u32 sDodrioBerryPlatformGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_platform.4bpp.lz");
+const u32 sDodrioBerryPkmnGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_pkmn.4bpp.lz");
+const u32 sDodrioBerryBgTilemap1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.bin.lz");
+const u32 sDodrioBerryBgTilemap2Right[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2right.bin.lz");
+const u32 sDodrioBerryBgTilemap2Left[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2left.bin.lz");
+
+const struct OamData sOamData_8478C98 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -548,7 +1213,7 @@ ALIGNED(4)
.affineParam = 0
};
-/*static*/ const struct OamData sOamData_8478CA0 =
+const struct OamData sOamData_8478CA0 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -565,7 +1230,7 @@ ALIGNED(4)
.affineParam = 0
};
-/*static*/ const struct OamData sOamData_8478CA8 =
+const struct OamData sOamData_8478CA8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -582,7 +1247,7 @@ ALIGNED(4)
.affineParam = 0
};
-/*static*/ const struct OamData sOamData_8478CB0 =
+const struct OamData sOamData_8478CB0 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -599,37 +1264,37 @@ ALIGNED(4)
.affineParam = 0
};
-/*static*/ const union AnimCmd sSpriteAnim_8478CB8[] =
+const union AnimCmd sSpriteAnim_8478CB8[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478CC0[] =
+const union AnimCmd sSpriteAnim_8478CC0[] =
{
ANIMCMD_FRAME(64, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478CC8[] =
+const union AnimCmd sSpriteAnim_8478CC8[] =
{
ANIMCMD_FRAME(128, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478CD0[] =
+const union AnimCmd sSpriteAnim_8478CD0[] =
{
ANIMCMD_FRAME(192, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478CD8[] =
+const union AnimCmd sSpriteAnim_8478CD8[] =
{
ANIMCMD_FRAME(256, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd *const sSpriteAnimTable_8478CE0[] =
+const union AnimCmd *const sSpriteAnimTable_8478CE0[] =
{
sSpriteAnim_8478CB8,
sSpriteAnim_8478CC0,
@@ -638,86 +1303,86 @@ ALIGNED(4)
sSpriteAnim_8478CD8
};
-/*static*/ const union AnimCmd sSpriteAnim_8478CF4[] =
+const union AnimCmd sSpriteAnim_8478CF4[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478CFC[] =
+const union AnimCmd sSpriteAnim_8478CFC[] =
{
ANIMCMD_FRAME(4, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D04[] =
+const union AnimCmd sSpriteAnim_8478D04[] =
{
ANIMCMD_FRAME(8, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D0C[] =
+const union AnimCmd *const sSpriteAnimTable_8478D0C[] =
{
sSpriteAnim_8478CF4,
sSpriteAnim_8478CFC,
sSpriteAnim_8478D04
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D18[] =
+const union AnimCmd sSpriteAnim_8478D18[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D20[] =
+const union AnimCmd sSpriteAnim_8478D20[] =
{
ANIMCMD_FRAME(4, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D28[] =
+const union AnimCmd sSpriteAnim_8478D28[] =
{
ANIMCMD_FRAME(8, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D30[] =
+const union AnimCmd sSpriteAnim_8478D30[] =
{
ANIMCMD_FRAME(12, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D38[] =
+const union AnimCmd sSpriteAnim_8478D38[] =
{
ANIMCMD_FRAME(16, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D40[] =
+const union AnimCmd sSpriteAnim_8478D40[] =
{
ANIMCMD_FRAME(20, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D48[] =
+const union AnimCmd sSpriteAnim_8478D48[] =
{
ANIMCMD_FRAME(24, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D50[] =
+const union AnimCmd sSpriteAnim_8478D50[] =
{
ANIMCMD_FRAME(28, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D58[] =
+const union AnimCmd sSpriteAnim_8478D58[] =
{
ANIMCMD_FRAME(32, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D60[] =
+const union AnimCmd *const sSpriteAnimTable_8478D60[] =
{
sSpriteAnim_8478D18,
sSpriteAnim_8478D20,
@@ -730,22 +1395,22 @@ ALIGNED(4)
sSpriteAnim_8478D58
};
-/*static*/ const union AnimCmd sSpriteAnim_8478D84[] =
+const union AnimCmd sSpriteAnim_8478D84[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
-/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D8C[] =
+const union AnimCmd *const sSpriteAnimTable_8478D8C[] =
{
sSpriteAnim_8478D84
};
-// These are declared inside pokeemerald's sub_80283A8
+// These are declared inside pokeemerald's sub_8153A9C
const struct SpritePalette gUnknown_8478D90 = {sDodrioBerryPkmnPal, 0};
const struct SpritePalette gUnknown_8478D98 = {sDodrioBerryShinyPal, 1};
-// These are declared inside pokeemerald's sub_8028734
+// These are declared inside pokeemerald's sub_8153E28
const struct SpritePalette gUnknown_8478DA0 = {sDodrioBerryStatusPal, 2};
const struct SpriteTemplate gUnknown_8478DA8 =
{
@@ -759,14 +1424,14 @@ const struct SpriteTemplate gUnknown_8478DA8 =
};
// Unknown unused data, feel free to remove.
-/*static*/ const u8 sUnused2[] = {0xCD, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0xF4, 0x0, 0x0};
+const u8 sUnused2[] = {0xCD, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0xF4, 0x0, 0x0};
-// This is declared inside pokeemerald's sub_8028A34
+// This is declared inside pokeemerald's sub_8154128
const struct SpritePalette gUnknown_8478DCC = {sDodrioBerrySpritesPal, 3};
-/*static*/ const s16 sUnknown_8478DD4[] = {88, 128, 168, 208};
+const s16 sUnknown_8478DD4[] = {88, 128, 168, 208};
-// These are declared inside pokeemerald's sub_8028A88
+// These are declared inside pokeemerald's sub_815417C
const struct SpriteTemplate gUnknown_8478DDC =
{
.tileTag = 2,
@@ -789,11 +1454,11 @@ const struct SpriteTemplate gUnknown_8478DF4 =
};
// This is declared inside pokeemerald's sub_8028CF4
-/*static*/ const u8 gUnknown_8478E0C[] = {30, 20};
+const u8 gUnknown_8478E0C[] = {30, 20};
-/*static*/ const s16 gUnknown_8478E0E[][2] = {{230, 55}, {30, 74}};
+const s16 gUnknown_8478E0E[][2] = {{230, 55}, {30, 74}};
-// These are declared inside pokeemerald's sub_8028D44
+// These are declared inside pokeemerald's sub_8154438
const struct SpritePalette gUnknown_8478E18 = {sDodrioBerryPlatformPal, 6};
const struct SpriteTemplate gUnknown_8478E20 =
{
@@ -812,7 +1477,7 @@ struct WinCoords
u8 top;
};
-/*static*/ const u8 sUnknown_8478E38[][3] =
+const u8 sUnknown_8478E38[][3] =
{
{1, 2, 3},
{1, 4, 5},
@@ -820,13 +1485,13 @@ struct WinCoords
{1, 6, 7},
};
-/*static*/ const struct WinCoords sUnknown_8478E44[] = {{12, 6}};
-/*static*/ const struct WinCoords sUnknown_8478E48[] = {{9, 10}, {15, 6}};
-/*static*/ const struct WinCoords sUnknown_8478E50[] = {{12, 6}, {18, 10}, {6, 10}};
-/*static*/ const struct WinCoords sUnknown_8478E5C[] = {{9, 10}, {15, 6}, {21, 10}, {3, 6}};
-/*static*/ const struct WinCoords sUnknown_8478E6C[] = {{12, 6}, {18, 10}, {23, 6}, {1, 6}, {6, 10}};
+const struct WinCoords sUnknown_8478E44[] = {{12, 6}};
+const struct WinCoords sUnknown_8478E48[] = {{9, 10}, {15, 6}};
+const struct WinCoords sUnknown_8478E50[] = {{12, 6}, {18, 10}, {6, 10}};
+const struct WinCoords sUnknown_8478E5C[] = {{9, 10}, {15, 6}, {21, 10}, {3, 6}};
+const struct WinCoords sUnknown_8478E6C[] = {{12, 6}, {18, 10}, {23, 6}, {1, 6}, {6, 10}};
-/*static*/ const struct WinCoords *const sUnknown_8478E80[] =
+const struct WinCoords *const sUnknown_8478E80[] =
{
sUnknown_8478E44,
sUnknown_8478E48,
@@ -835,7 +1500,7 @@ struct WinCoords
sUnknown_8478E6C,
};
-/*static*/ const u8 *const sUnknown_8478E94[] =
+const u8 *const sUnknown_8478E94[] =
{
gText_1Colon,
gText_2Colon,
@@ -844,9 +1509,9 @@ struct WinCoords
gText_5Colon,
};
-/*static*/ const u16 sUnknown_8478EA8[] = {92, 132, 172, 212};
-/*static*/ const u16 sUnknown_8478EB0[] = {30, 45, 60, 75, 90};
-/*static*/ const u16 sUnknown_8478EBA[] = {12, 28, 44, 60, 76};
+const u16 sUnknown_8478EA8[] = {92, 132, 172, 212};
+const u16 sUnknown_8478EB0[] = {30, 45, 60, 75, 90};
+const u16 sUnknown_8478EBA[] = {12, 28, 44, 60, 76};
struct
{