Decompile credits

This commit is contained in:
Diegoisawesome
2018-02-17 03:55:32 -06:00
parent bc4bb5b32e
commit 1605f62535
16 changed files with 2813 additions and 6483 deletions

2355
src/credits.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -369,7 +369,7 @@ static const struct HallofFameMon sDummyFameMon =
0x3EA03EA, 0, 0, 0, {0}
};
static const u8 sUnused2[6] = {2, 1, 3, 6, 4, 5};
static const u8 sUnused2[] = {2, 1, 3, 6, 4, 5, 0, 0};
// code
static void VBlankCB_HallOfFame(void)

View File

@@ -5,63 +5,329 @@
#include "gpu_regs.h"
#include "task.h"
#include "main.h"
#include "graphics.h"
struct IntroCreditsSpriteMetadata
{
u8 animNum:4;
u8 shape:2;
u8 size:2;
u8 x;
u8 y;
u8 subpriority;
u16 xOff;
};
static const u16 gUnknown_085F06E0[] = INCBIN_U16("graphics/intro/intro2_grass.gbapal");
static const u16 gUnknown_085F0700[] = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal");
static const u16 gUnknown_085F0720[] = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal");
static const u8 gUnknown_085F0740[] = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz");
static const u8 gUnknown_085F0BC0[] = INCBIN_U8("graphics/intro/intro2_grass_map.bin.lz");
static const u16 gUnknown_085F0CFC[] = INCBIN_U16("graphics/intro/85F0CFC.gbapal");
static const u16 gUnknown_085F0D5C[] = INCBIN_U16("graphics/intro/85F0D5C.gbapal");
static const u8 gUnknown_085F0DBC[] = INCBIN_U8("graphics/intro/intro2_bgclouds.4bpp.lz");
static const u8 gUnknown_085F1398[] = INCBIN_U8("graphics/intro/intro2_bgclouds_map.bin.lz");
static const u16 gUnknown_085F1668[] = INCBIN_U16("graphics/intro/intro2_bgclouds.gbapal");
static const u16 gUnknown_085F1688[] = INCBIN_U16("graphics/intro/intro2_bgclouds_afternoon.gbapal");
static const u8 gUnknown_085F16A8[] = INCBIN_U8("graphics/intro/intro2_bgclouds2.4bpp.lz");
static const u16 gUnknown_085F17E4[] = INCBIN_U16("graphics/intro/intro2_bgtrees2.gbapal");
static const u16 gUnknown_085F1804[] = INCBIN_U16("graphics/intro/intro2_bgtrees2_afternoon.gbapal");
static const u8 gUnknown_085F1824[] = INCBIN_U8("graphics/intro/intro2_bgtrees.4bpp.lz");
static const u8 gUnknown_085F1EAC[] = INCBIN_U8("graphics/intro/intro2_bgtrees_map.bin.lz");
static const u16 gUnknown_085F21B0[] = INCBIN_U16("graphics/intro/intro2_bgtrees.gbapal");
static const u8 gIntro2TreeTiles[] = INCBIN_U8("graphics/intro/intro2_bgtreessmall.4bpp.lz");
static const u16 gUnknown_085F231C[] = INCBIN_U16("graphics/intro/85F231C.gbapal");
static const u8 gUnknown_085F235C[] = INCBIN_U8("graphics/intro/intro2_bgnight.4bpp.lz");
static const u16 gUnknown_085F2548[] = INCBIN_U16("graphics/intro/intro2_bgnight.gbapal");
static const u8 gUnknown_085F2568[] = INCBIN_U8("graphics/intro/intro2_bgnight_map.bin.lz");
static const u8 gIntro2NightTiles[] = INCBIN_U8("graphics/intro/intro2_night.4bpp.lz");
static const u16 gIntro2BrendanPalette[] = INCBIN_U16("graphics/intro/intro2_brendan.gbapal");
static const u8 gIntro2BrendanTiles[] = INCBIN_U8("graphics/intro/intro2_brendan.4bpp.lz");
static const u16 gIntro2MayPalette[] = INCBIN_U16("graphics/intro/intro2_may.gbapal");
static const u16 gUnknown_085F3490[0xF0] = {0};
static const u8 gIntro2MayTiles[] = INCBIN_U8("graphics/intro/intro2_may.4bpp.lz");
static const u8 gIntro2BicycleTiles[] = INCBIN_U8("graphics/intro/intro2_bicycle.4bpp.lz");
static const u16 gIntro2LatiosPalette[] = INCBIN_U16("graphics/intro/intro2_latios.gbapal");
static const u8 gIntro2LatiosTiles[] = INCBIN_U8("graphics/intro/intro2_latios.4bpp.lz");
static const u16 gIntro2LatiasPalette[] = INCBIN_U16("graphics/intro/intro2_latias.gbapal");
static const u8 gIntro2LatiasTiles[] = INCBIN_U8("graphics/intro/intro2_latias.4bpp.lz");
static void sub_817B62C(struct Sprite *sprite);
static void nullsub_65(struct Sprite *sprite);
static void sub_817B7C4(struct Sprite *sprite);
static void nullsub_66(struct Sprite *sprite);
static const struct SpriteTemplate gUnknown_085F504C = {
2000, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C
};
static const struct CompressedSpriteSheet gUnknown_085F5064[] = {
{ gUnknown_085F16A8, 0x400, 2000 },
{ NULL }
};
static const union AnimCmd gUnknown_085F5074[] = {
ANIMCMD_FRAME( 0, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F507C[] = {
ANIMCMD_FRAME(16, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F5084[] = {
ANIMCMD_FRAME(20, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F508C[] = {
ANIMCMD_FRAME(22, 30),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5094[] = {
gUnknown_085F5074,
gUnknown_085F507C,
gUnknown_085F5084,
gUnknown_085F508C
};
static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = {
{ 0, ST_OAM_SQUARE, 2, 72, 32, 100, 0xc00 },
{ 0, ST_OAM_SQUARE, 2, 158, 32, 100, 0xc00 },
{ 1, ST_OAM_SQUARE, 1, 192, 40, 101, 0x800 },
{ 1, ST_OAM_SQUARE, 1, 56, 40, 101, 0x800 },
{ 2, ST_OAM_H_RECTANGLE, 0, 100, 44, 102, 0x400 },
{ 2, ST_OAM_H_RECTANGLE, 0, 152, 44, 102, 0x400 },
{ 3, ST_OAM_H_RECTANGLE, 0, 8, 46, 103, 0x100 },
{ 3, ST_OAM_H_RECTANGLE, 0, 56, 46, 103, 0x100 },
{ 3, ST_OAM_H_RECTANGLE, 0, 240, 46, 103, 0x100 },
};
static const struct CompressedSpriteSheet gUnknown_085F50EC[] = {
{ gIntro2TreeTiles, 0x400, 2000 },
{ NULL }
};
static const union AnimCmd gUnknown_085F50FC[] = {
ANIMCMD_FRAME( 0, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F5104[] = {
ANIMCMD_FRAME(16, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F510C[] = {
ANIMCMD_FRAME(24, 30),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5114[] = {
gUnknown_085F50FC,
gUnknown_085F5104,
gUnknown_085F510C
};
static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = {
{ 0, ST_OAM_SQUARE, 2, 16, 88, 100, 0x2000 },
{ 0, ST_OAM_SQUARE, 2, 80, 88, 100, 0x2000 },
{ 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x2000 },
{ 0, ST_OAM_SQUARE, 2, 208, 88, 100, 0x2000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 40, 88, 101, 0x1000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 104, 88, 101, 0x1000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 168, 88, 101, 0x1000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 232, 88, 101, 0x1000 },
{ 2, ST_OAM_V_RECTANGLE, 2, 56, 88, 102, 0x800 },
{ 2, ST_OAM_V_RECTANGLE, 2, 120, 88, 102, 0x800 },
{ 2, ST_OAM_V_RECTANGLE, 2, 184, 88, 102, 0x800 },
{ 2, ST_OAM_V_RECTANGLE, 2, 248, 88, 102, 0x800 },
};
static const struct CompressedSpriteSheet gUnknown_085F5180[] = {
{ gIntro2NightTiles, 0x400, 2000 },
{ NULL }
};
static const union AnimCmd gUnknown_085F5190[] = {
ANIMCMD_FRAME(0, 30),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5198[] = {
gUnknown_085F5190
};
static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = {
{ 0, ST_OAM_SQUARE, 2, 24, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 64, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 104, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 184, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 224, 88, 100, 0x1000 },
};
static const struct OamData gOamData_85F51CC = {
.y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
};
static const union AnimCmd gUnknown_085F51D4[] = {
ANIMCMD_FRAME( 0, 8),
ANIMCMD_FRAME( 64, 8),
ANIMCMD_FRAME(128, 8),
ANIMCMD_FRAME(192, 8),
ANIMCMD_JUMP(0)
};
static const union AnimCmd *const gUnknown_085F51E8[] = {
gUnknown_085F51D4
};
static const struct SpriteTemplate gUnknown_085F51EC = {
1002, 1002, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
};
static const struct SpriteTemplate gUnknown_085F5204 = {
1003, 1003, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
};
static const struct OamData gUnknown_085F521C = {
.y = 160, .shape = ST_OAM_H_RECTANGLE, .size = 3, .priority = 1
};
static const union AnimCmd gUnknown_085F5224[] = {
ANIMCMD_FRAME( 0, 8),
ANIMCMD_FRAME( 32, 8),
ANIMCMD_FRAME( 64, 8),
ANIMCMD_FRAME( 96, 8),
ANIMCMD_JUMP(0)
};
static const union AnimCmd *const gUnknown_085F5238[] = {
gUnknown_085F5224
};
static const struct SpriteTemplate gUnknown_085F523C = {
1001, 1002, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
};
static const struct SpriteTemplate gUnknown_085F5254 = {
1001, 1003, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
};
static const struct OamData gUnknown_085F526C = {
.y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
};
static const union AnimCmd gUnknown_085F5274[] = {
ANIMCMD_FRAME( 0, 16),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F527C[] = {
ANIMCMD_FRAME( 64, 16),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5284[] = {
gUnknown_085F5274,
gUnknown_085F527C
};
static const struct SpriteTemplate gUnknown_085F528C = {
1004, 1004, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
};
static const struct SpriteTemplate gUnknown_085F52A4 = {
1005, 1005, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
};
const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = {
{ gIntro2BrendanNoTurnGfx, 0x2000, 1002 },
{ NULL }
};
const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = {
{ gIntro2MayNoTurnGfx, 0x2000, 1003 },
{ NULL }
};
const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = {
{ gIntro2BicycleTiles, 0x1000, 1001 },
{ NULL }
};
static const struct CompressedSpriteSheet gUnknown_085F52EC[] = {
{ gIntro2FlygonGfx, 0x1000, 1004 },
{ NULL }
};
const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] = {
{ gIntro2FlygonGfx, 0x1000, 1005 },
{ NULL }
};
const struct SpritePalette gUnknown_085F530C[] = {
{ gIntro2BrendanNoTurnPal, 1002 },
{ gIntro2BrendanNoTurnPal, 1003 },
{ gIntro2FlygonPal, 1004 },
{ gIntro2FlygonPal, 1005 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F5334[] = {
{ gIntro2BrendanTiles, 0x3800, 1002 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F5344[] = {
{ gIntro2MayTiles, 0x3800, 1003 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F5354[] = {
{ gIntro2BicycleTiles, 0x1000, 1001 },
{ NULL }
};
static const struct CompressedSpriteSheet gUnknown_085F5364[] = {
{ gIntro2LatiosTiles, 0x1000, 1004 },
{ NULL }
};
static const struct CompressedSpriteSheet gUnknown_085F5374[] = {
{ gIntro2LatiasTiles, 0x1000, 1005 },
{ NULL }
};
const struct SpritePalette gUnknown_085F5384[] = {
{ gIntro2BrendanPalette, 1002 },
{ gIntro2MayPalette, 1003 },
{ gIntro2LatiosPalette, 1004 },
{ gIntro2LatiasPalette, 1005 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F53AC[] = {
{ gIntro2BrendanTiles, 0x2000, 1002},
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F53BC[] = {
{ gIntro2MayTiles, 0x2000, 1003},
{ NULL }
};
EWRAM_DATA u16 gUnknown_0203BD24 = 0;
EWRAM_DATA s16 gUnknown_0203BD26 = 0;
EWRAM_DATA s16 gUnknown_0203BD28 = 0;
extern const u16 gUnknown_085F06E0[]/* = INCBIN_U16("graphics/intro/intro2_grass.gbapal")*/;
extern const u16 gUnknown_085F0700[]/* = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal")*/;
extern const u16 gUnknown_085F0720[]/* = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal")*/;
extern const u8 gUnknown_085F0740[]/* = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz")*/;
extern const u8 gUnknown_085F0BC0[]/* = INCBIN_U8("graphics/intro/intro2_grass_map.bin.lz")*/;
extern const u16 gUnknown_085F0CFC[]/* = INCBIN_U16("graphics/intro/8412818.gbapal")*/;
extern const u16 gUnknown_085F0D5C[]/* = INCBIN_U16("graphics/intro/8412878.gbapal")*/;
extern const u8 gUnknown_085F0DBC[]/* = INCBIN_U8("graphics/intro/intro2_bgclouds.4bpp.lz")*/;
extern const u8 gUnknown_085F1398[]/* = INCBIN_U8("graphics/intro/intro2_bgclouds_map.bin.lz")*/;
extern const u16 gUnknown_085F1668[]/* = INCBIN_U16("graphics/intro/intro2_bgclouds.gbapal")*/;
extern const u16 gUnknown_085F1688[]/* = INCBIN_U16("graphics/intro/intro2_bgclouds_afternoon.gbapal")*/;
extern const u8 gUnknown_085F16A8[]/* = INCBIN_U8("graphics/intro/intro2_bgclouds2.4bpp.lz")*/;
extern const u16 gUnknown_085F17E4[]/* = INCBIN_U16("graphics/intro/intro2_bgtrees2.gbapal")*/;
extern const u16 gUnknown_085F1804[]/* = INCBIN_U16("graphics/intro/intro2_bgtrees2_afternoon.gbapal")*/;
extern const u8 gUnknown_085F1824[]/* = INCBIN_U8("graphics/intro/intro2_bgtrees.4bpp.lz")*/;
extern const u8 gUnknown_085F1EAC[]/* = INCBIN_U8("graphics/intro/intro2_bgtrees_map.bin.lz")*/;
extern const u16 gUnknown_085F21B0[]/* = INCBIN_U16("graphics/intro/intro2_bgtrees.gbapal")*/;
extern const u8 gIntro2TreeTiles[]/* = INCBIN_U8("graphics/intro/intro2_bgtreessmall.4bpp.lz")*/;
extern const u16 gUnknown_085F231C[]/* = INCBIN_U16("graphics/intro/8413E38.gbapal")*/;
extern const u8 gUnknown_085F235C[]/* = INCBIN_U8("graphics/intro/intro2_bgnight.4bpp.lz")*/; // only used in credits, coupled with intro because bicycle sequence
extern const u16 gUnknown_085F2548[]/* = INCBIN_U16("graphics/intro/intro2_bgnight.gbapal")*/;
extern const u8 gUnknown_085F2568[]/* = INCBIN_U8("graphics/intro/intro2_bgnight_map.bin.lz")*/;
extern const u8 gIntro2NightTiles[]/* = INCBIN_U8("graphics/intro/intro2_night.4bpp.lz")*/;
extern const u16 gIntro2BrendanPalette[]/* = INCBIN_U16("graphics/intro/intro2_brendan.gbapal")*/;
extern const u8 gIntro2BrendanTiles[]/* = INCBIN_U8("graphics/intro/intro2_brendan.4bpp.lz")*/;
extern const u16 gIntro2MayPalette[]/* = INCBIN_U16("graphics/intro/intro2_may.gbapal")*/;
extern const u16 gUnknown_08414F90[0xF0]/* = {0}*/;
extern const u8 gIntro2MayTiles[]/* = INCBIN_U8("graphics/intro/intro2_may.4bpp.lz")*/;
extern const u8 gIntro2BicycleTiles[]/* = INCBIN_U8("graphics/intro/intro2_bicycle.4bpp.lz")*/;
extern const u16 gIntro2LatiosPalette[]/* = INCBIN_U16("graphics/intro/intro2_latios.gbapal")*/;
extern const u8 gIntro2LatiosTiles[]/* = INCBIN_U8("graphics/intro/intro2_latios.4bpp.lz")*/;
extern const u16 gIntro2LatiasPalette[]/* = INCBIN_U16("graphics/intro/intro2_latias.gbapal")*/;
extern const u8 gIntro2LatiasTiles[]/* = INCBIN_U8("graphics/intro/intro2_latias.4bpp.lz")*/;
extern const struct CompressedSpriteSheet gUnknown_085F5064[]/* = {
{ gUnknown_085F16A8, 0x400, 2000 },
{}
}*/;
extern const struct CompressedSpriteSheet gUnknown_085F50EC[]/* = {
{ gIntro2TreeTiles, 0x400, 2000 },
{}
}*/;
extern const struct CompressedSpriteSheet gUnknown_085F5180[]/* = {
{ gIntro2NightTiles, 0x400, 2000 },
{}
}*/;
void sub_817B76C();
void sub_817B788();
void sub_817B7A4();
static void sub_817B76C(void);
static void sub_817B788(void);
static void sub_817B7A4(void);
static void sub_817B458(u8);
void load_intro_part2_graphics(u8 a)
{
@@ -262,7 +528,7 @@ u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d)
}
#ifdef NONMATCHING
void sub_817B458(u8 taskId)
static void sub_817B458(u8 taskId)
{
s16 r4;
s32 r2;
@@ -305,7 +571,7 @@ void sub_817B458(u8 taskId)
}
#else
ASM_DIRECT
void sub_817B458(u8 taskId)
static void sub_817B458(u8 taskId)
{
asm("push {r4,r5,lr}\n\
lsl r0, #24\n\
@@ -459,7 +725,7 @@ void sub_817B540(u8 mode)
}
}
void sub_817B62C(struct Sprite *sprite)
static void sub_817B62C(struct Sprite *sprite)
{
s32 var;
s16 var2 = gUnknown_0203BD28;
@@ -485,3 +751,99 @@ void sub_817B62C(struct Sprite *sprite)
}
}
}
static void sub_817B698(u8 a, const struct IntroCreditsSpriteMetadata *b, const union AnimCmd *const *c, u8 d)
{
u8 i;
for(i = 0; i < d; i++)
{
u8 sprite = CreateSprite(&gUnknown_085F504C, b[i].x, b[i].y, b[i].subpriority);
CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, 0);
gSprites[sprite].oam.priority = 3;
gSprites[sprite].oam.shape = b[i].shape;
gSprites[sprite].oam.size = b[i].size;
gSprites[sprite].oam.paletteNum = 0;
gSprites[sprite].anims = c;
StartSpriteAnim(&gSprites[sprite], b[i].animNum);
gSprites[sprite].data[0] = a;
gSprites[sprite].data[1] = b[i].xOff;
gSprites[sprite].data[2] = 0;
}
}
static void sub_817B76C(void)
{
sub_817B698(0, gUnknown_085F50A4, gUnknown_085F5094, 9);
}
static void sub_817B788(void)
{
sub_817B698(1, gUnknown_085F5120, gUnknown_085F5114, 12);
}
static void sub_817B7A4(void)
{
sub_817B698(1, gUnknown_085F519C, gUnknown_085F5198, 6);
}
static void nullsub_65(struct Sprite *sprite)
{
}
static void sub_817B7C4(struct Sprite* sprite)
{
sprite->invisible = gSprites[sprite->data[0]].invisible;
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y + 8;
sprite->pos2.x = gSprites[sprite->data[0]].pos2.x;
sprite->pos2.y = gSprites[sprite->data[0]].pos2.y;
}
u8 intro_create_brendan_sprite(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F51EC, a, b, 2);
u8 brendan = CreateSprite(&gUnknown_085F523C, a, b + 8, 3);
gSprites[brendan].data[0] = sprite;
return sprite;
}
u8 intro_create_may_sprite(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F5204, a, b, 2);
u8 may = CreateSprite(&gUnknown_085F5254, a, b + 8, 3);
gSprites[may].data[0] = sprite;
return sprite;
}
static void nullsub_66(struct Sprite *sprite)
{
}
static void sub_817B8E8(struct Sprite* sprite)
{
sprite->invisible = gSprites[sprite->data[0]].invisible;
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
sprite->pos2.x = gSprites[sprite->data[0]].pos2.x;
sprite->pos2.y = gSprites[sprite->data[0]].pos2.y;
}
static u8 sub_817B948(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F528C, a - 32, b, 5);
u8 latios = CreateSprite(&gUnknown_085F528C, a + 32, b, 6);
gSprites[latios].data[0] = sprite;
StartSpriteAnim(&gSprites[latios], 1);
gSprites[latios].callback = &sub_817B8E8;
return sprite;
}
u8 intro_create_flygon_sprite(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F52A4, a - 32, b, 5);
u8 flygon = CreateSprite(&gUnknown_085F52A4, a + 32, b, 6);
gSprites[flygon].data[0] = sprite;
StartSpriteAnim(&gSprites[flygon], 1);
gSprites[flygon].callback = &sub_817B8E8;
return sprite;
}

View File

@@ -25,12 +25,6 @@
#define STARTER_PKMN_POS_X 120
#define STARTER_PKMN_POS_Y 64
// graphics
extern const u32 gBirchHelpGfx[];
extern const u32 gBirchBagTilemap[];
extern const u32 gBirchGrassTilemap[];
extern const u16 gBirchBagGrassPal[];
// text
extern const u8 gText_BirchInTrouble[];
extern const u8 gText_ConfirmStarterChoice[];