Port/dump dodrio_berry_picking data.

This commit is contained in:
ultima-soul
2019-12-02 22:47:45 -08:00
parent 385740fc14
commit e45aee1ff2
18 changed files with 899 additions and 240 deletions
+748
View File
@@ -0,0 +1,748 @@
#include "global.h"
#include "bg.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);
// const rom data
/*static*/ const u8 gUnknown_8471F50[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},
},
};
/*static*/ const u8 gUnknown_8472063[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},
},
};
/*static*/ const u8 gUnknown_84720AE[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)
/*static*/ const u8 gUnknown_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},
{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},
};
/*static*/ const u8 gUnknown_8472133[5][5] =
{
{5},
{4, 6},
{3, 5, 7},
{2, 4, 6, 8},
{1, 3, 5, 6, 9},
};
// Duplicate and unused gfx. Feel free to remove.
/*static*/ 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",
"graphics/link_games/dodrioberry_status.gbapal",
"graphics/link_games/dodrioberry_berrysprites.gbapal",
"graphics/link_games/dodrioberry_berrysprites.4bpp.lz",
"graphics/link_games/dodrioberry_platform.gbapal",
"graphics/link_games/dodrioberry_bg1.4bpp.lz",
"graphics/link_games/dodrioberry_bg2.4bpp.lz",
"graphics/link_games/dodrioberry_status.4bpp.lz",
"graphics/link_games/dodrioberry_platform.4bpp.lz",
"graphics/link_games/dodrioberry_pkmn.4bpp.lz",
"graphics/link_games/dodrioberry_bg1.bin.lz",
"graphics/link_games/dodrioberry_bg2right.bin.lz",
"graphics/link_games/dodrioberry_bg2left.bin.lz");
/*static*/ const u8 gUnknown_847553C[][3] =
{
{40, 24, 13},
{32, 19, 10},
{22, 13, 7},
};
ALIGNED(4)
/*static*/ const u8 gUnknown_8475548[] = {8, 5, 8, 11, 15};
ALIGNED(4)
/*static*/ const u8 gUnknown_8475550[] = {5, 10, 20, 30, 50, 70, 100};
ALIGNED(4)
/*static*/ const u8 gUnknown_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 gUnknown_8475578[])(void) =
{
sub_8150C78,
sub_8150CBC,
sub_8150CF4,
sub_8150D7C,
sub_8150DA4,
sub_8150FDC,
sub_8151198,
sub_81512B4,
sub_8151488,
sub_81514F0,
sub_815159C,
sub_8150F40
};
/*static*/ void (*const gUnknown_84755A8[])(void) =
{
sub_8150C78,
sub_8150CBC,
sub_8150CF4,
sub_8150D7C,
sub_8150E68,
sub_815109C,
sub_8151198,
sub_81512B4,
sub_8151488,
sub_81514F0,
sub_815159C,
sub_8150FC4
};
/*static*/ const s16 gUnknown_84755D8[] = {10, 30, 50, 50};
// Data related to printing saved results.
/*static*/ const struct WindowTemplate gUnknown_84755E0 =
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 28,
.height = 11,
.paletteNum = 15,
.baseBlock = 1,
};
/*static*/ const u8 *const gUnknown_84755E8[] = {gText_BerryPickingRecords, gText_BerriesPicked, gText_BestScore, gText_BerriesInRowFivePlayers};
/*static*/ const u8 gUnknown_84755F8[] = {4, 7, 4};
ALIGNED(4)
/*static*/ const u8 gUnknown_84755FC[][2] = {{24}, {40}, {56}};
/*static*/ const u8 gUnknown_8475602[][2] = {{24}, {40}, {70}};
// Debug functions?
/*static*/ const u16 gUnknown_8475608[][4] =
{
{9999, 0, 90, 9999},
{9999, 9999, 70, 9999},
{9999, 0, 9999, 0},
{9999, 9999, 60, 0},
{9999, 9999, 9999, 0},
};
/*static*/ const u8 gUnknown_8475630[] = _("あいうえおかき");
/*static*/ const u8 gUnknown_8475638[] = _("ABCDEFG");
/*static*/ const u8 gUnknown_8475640[] = _("0123456");
/*static*/ const u8 *const gUnknown_8475648[] =
{
gUnknown_8475630,
gUnknown_8475630,
gUnknown_8475630,
gUnknown_8475638,
gUnknown_8475640
};
// Large chunk of data
/*static*/ const struct BgTemplate gUnknown_847565C[] =
{
{
.bg = 0,
.charBaseIndex = 0,
.mapBaseIndex = 30,
.screenSize = 0,
.paletteMode = 0,
.priority = 0,
.baseTile = 0
},
{
.bg = 1,
.charBaseIndex = 2,
.mapBaseIndex = 12,
.screenSize = 1,
.paletteMode = 0,
.priority = 1,
.baseTile = 0
},
{
.bg = 2,
.charBaseIndex = 2,
.mapBaseIndex = 14,
.screenSize = 1,
.paletteMode = 0,
.priority = 1,
.baseTile = 0
},
{
.bg = 3,
.charBaseIndex = 3,
.mapBaseIndex = 31,
.screenSize = 0,
.paletteMode = 0,
.priority = 2,
.baseTile = 0
},
};
// Unknown unreferenced data, feel free to remove.
/*static*/ const u32 sUnused[] = {255, 0};
/*static*/ const struct WindowTemplate gUnknown_8475674[] =
{
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 28,
.height = 3,
.paletteNum = 13,
.baseBlock = 0x13,
},
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 6,
.width = 28,
.height = 13,
.paletteNum = 13,
.baseBlock = 0x67,
}
};
/*static*/ const struct WindowTemplate gUnknown_8475684 =
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 6,
.width = 28,
.height = 7,
.paletteNum = 13,
.baseBlock = 0x67,
};
/*static*/ const struct WindowTemplate gUnknown_847568C[] =
{
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 8,
.width = 19,
.height = 3,
.paletteNum = 13,
.baseBlock = 0x13,
},
{
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 7,
.width = 6,
.height = 4,
.paletteNum = 13,
.baseBlock = 0x4C,
}
};
/*static*/ const struct WindowTemplate gUnknown_847569C =
{
.bg = 0,
.tilemapLeft = 4,
.tilemapTop = 6,
.width = 22,
.height = 5,
.paletteNum = 13,
.baseBlock = 0x13,
};
/*static*/ const struct WindowTemplate gUnknown_84756A4 =
{
.bg = 0,
.tilemapLeft = 5,
.tilemapTop = 8,
.width = 19,
.height = 3,
.paletteNum = 13,
.baseBlock = 0x13,
};
// 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 gDodrioBerryBgPal1[] = INCBIN_U16("graphics/link_games/dodrioberry_bg1.gbapal",
"graphics/link_games/dodrioberry_bg2.gbapal");
/*static*/ const u16 gDodrioBerryPkmnPal[] = INCBIN_U16("graphics/link_games/dodrioberry_pkmn.gbapal");
/*static*/ const u16 gDodrioBerryShinyPal[] = INCBIN_U16("graphics/link_games/dodrioberry_shiny.gbapal");
/*static*/ const u16 gDodrioBerryStatusPal[] = INCBIN_U16("graphics/link_games/dodrioberry_status.gbapal");
/*static*/ const u16 gDodrioBerrySpritesPal[] = INCBIN_U16("graphics/link_games/dodrioberry_berrysprites.gbapal");
/*static*/ const u32 gDodrioBerrySpritesGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_berrysprites.4bpp.lz");
/*static*/ const u16 gDodrioBerryPlatformPal[] = INCBIN_U16("graphics/link_games/dodrioberry_platform.gbapal");
/*static*/ const u32 gDodrioBerryBgGfx1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.4bpp.lz");
/*static*/ const u32 gDodrioBerryBgGfx2[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2.4bpp.lz");
/*static*/ const u32 gDodrioBerryStatusGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_status.4bpp.lz");
/*static*/ const u32 gDodrioBerryPlatformGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_platform.4bpp.lz");
/*static*/ const u32 gDodrioBerryPkmnGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_pkmn.4bpp.lz");
/*static*/ const u32 gDodrioBerryBgTilemap1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.bin.lz");
/*static*/ const u32 gDodrioBerryBgTilemap2Right[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2right.bin.lz");
/*static*/ const u32 gDodrioBerryBgTilemap2Left[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2left.bin.lz");
/*static*/ const struct OamData sOamData_8478C98 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
.affineParam = 0
};
/*static*/ const struct OamData sOamData_8478CA0 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 1,
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0
};
/*static*/ const struct OamData sOamData_8478CA8 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 1,
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
.affineParam = 0
};
/*static*/ const struct OamData sOamData_8478CB0 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 1,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
.affineParam = 0
};
/*static*/ const union AnimCmd sSpriteAnim_8478CB8[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478CC0[] =
{
ANIMCMD_FRAME(64, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478CC8[] =
{
ANIMCMD_FRAME(128, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478CD0[] =
{
ANIMCMD_FRAME(192, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478CD8[] =
{
ANIMCMD_FRAME(256, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd *const sSpriteAnimTable_8478CE0[] =
{
sSpriteAnim_8478CB8,
sSpriteAnim_8478CC0,
sSpriteAnim_8478CC8,
sSpriteAnim_8478CD0,
sSpriteAnim_8478CD8
};
/*static*/ const union AnimCmd sSpriteAnim_8478CF4[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478CFC[] =
{
ANIMCMD_FRAME(4, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D04[] =
{
ANIMCMD_FRAME(8, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D0C[] =
{
sSpriteAnim_8478CF4,
sSpriteAnim_8478CFC,
sSpriteAnim_8478D04
};
/*static*/ const union AnimCmd sSpriteAnim_8478D18[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D20[] =
{
ANIMCMD_FRAME(4, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D28[] =
{
ANIMCMD_FRAME(8, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D30[] =
{
ANIMCMD_FRAME(12, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D38[] =
{
ANIMCMD_FRAME(16, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D40[] =
{
ANIMCMD_FRAME(20, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D48[] =
{
ANIMCMD_FRAME(24, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D50[] =
{
ANIMCMD_FRAME(28, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd sSpriteAnim_8478D58[] =
{
ANIMCMD_FRAME(32, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D60[] =
{
sSpriteAnim_8478D18,
sSpriteAnim_8478D20,
sSpriteAnim_8478D28,
sSpriteAnim_8478D30,
sSpriteAnim_8478D38,
sSpriteAnim_8478D40,
sSpriteAnim_8478D48,
sSpriteAnim_8478D50,
sSpriteAnim_8478D58
};
/*static*/ const union AnimCmd sSpriteAnim_8478D84[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_JUMP(0)
};
/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D8C[] =
{
sSpriteAnim_8478D84
};
// These are declared inside pokeemerald's sub_80283A8
const struct SpritePalette gUnknown_8478D90 = {gDodrioBerryPkmnPal, 0};
const struct SpritePalette gUnknown_8478D98 = {gDodrioBerryShinyPal, 1};
// These are declared inside pokeemerald's sub_8028734
const struct SpritePalette gUnknown_8478DA0 = {gDodrioBerryStatusPal, 2};
const struct SpriteTemplate gUnknown_8478DA8 =
{
.tileTag = 1,
.paletteTag = 2,
.oam = &sOamData_8478CA0,
.anims = sSpriteAnimTable_8478D0C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = nullsub_97,
};
// Unknown unused data, feel free to remove.
/*static*/ const u8 sUnused2[] = {0xCD, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0xF4, 0x0, 0x0};
// This is declared inside pokeemerald's sub_8028A34
const struct SpritePalette gUnknown_8478DCC = {gDodrioBerrySpritesPal, 3};
/*static*/ const s16 gUnknown_8478DD4[] = {88, 128, 168, 208};
// These are declared inside pokeemerald's sub_8028A88
const struct SpriteTemplate gUnknown_8478DDC =
{
.tileTag = 2,
.paletteTag = 3,
.oam = &sOamData_8478CA8,
.anims = sSpriteAnimTable_8478D60,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
};
const struct SpriteTemplate gUnknown_8478DF4 =
{
.tileTag = 2,
.paletteTag = 3,
.oam = &sOamData_8478CA0,
.anims = sSpriteAnimTable_8478D60,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
};
// This is declared inside pokeemerald's sub_8028CF4
/*static*/ const u8 gUnknown_8478E0C[] = {30, 20};
/*static*/ const s16 gUnknown_8478E0E[][2] = {{230, 55}, {30, 74}};
// These are declared inside pokeemerald's sub_8028D44
const struct SpritePalette gUnknown_8478E18 = {gDodrioBerryPlatformPal, 6};
const struct SpriteTemplate gUnknown_8478E20 =
{
.tileTag = 5,
.paletteTag = 6,
.oam = &sOamData_8478CB0,
.anims = sSpriteAnimTable_8478D8C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81543E8,
};
struct WinCoords
{
u8 left;
u8 top;
};
/*static*/ const u8 gUnknown_8478E38[][3] =
{
{1, 2, 3},
{1, 4, 5},
{1, 8, 9},
{1, 6, 7},
};
/*static*/ const struct WinCoords gUnknown_8478E44[] = {{12, 6}};
/*static*/ const struct WinCoords gUnknown_8478E48[] = {{9, 10}, {15, 6}};
/*static*/ const struct WinCoords gUnknown_8478E50[] = {{12, 6}, {18, 10}, {6, 10}};
/*static*/ const struct WinCoords gUnknown_8478E5C[] = {{9, 10}, {15, 6}, {21, 10}, {3, 6}};
/*static*/ const struct WinCoords gUnknown_8478E6C[] = {{12, 6}, {18, 10}, {23, 6}, {1, 6}, {6, 10}};
/*static*/ const struct WinCoords *const gUnknown_8478E80[] =
{
gUnknown_8478E44,
gUnknown_8478E48,
gUnknown_8478E50,
gUnknown_8478E5C,
gUnknown_8478E6C,
};
/*static*/ const u8 *const gUnknown_8478E94[] =
{
gText_1Colon,
gText_2Colon,
gText_3Colon,
gText_4Colon,
gText_5Colon,
};
/*static*/ const u16 gUnknown_8478EA8[] = {92, 132, 172, 212};
/*static*/ const u16 gUnknown_8478EB0[] = {30, 45, 60, 75, 90};
/*static*/ const u16 gUnknown_8478EBA[] = {12, 28, 44, 60, 76};
struct
{
u8 id;
void (*func)(void);
} const gUnknown_8478EC4[] =
{
{0, sub_8154A2C},
{1, sub_8154B34},
{2, sub_8154F80},
{3, sub_81556E0},
{4, sub_8155A78},
{5, sub_8155B4C},
{6, sub_8155C2C},
{7, sub_8155C80},
{8, unused_0},
{9, nullsub_98},
};
// This is declared inside pokeemerald's sub_80296A8
const u8 gUnknown_8478F14[5] = {0, 1, 2, 3, 4};