@@ -42,6 +42,7 @@ extern const u8 gUnknown_08D9ADD0[];
|
||||
extern const u8 gUnknown_08D9AE04[];
|
||||
extern const u8 gUnknown_08D9AF44[];
|
||||
extern const u16 gUnknown_0860F074[];
|
||||
extern const u8 gBattleFrontierGfx_PyramidBag[];
|
||||
|
||||
// This file's functions.
|
||||
static void Task_HandlePyramidBagInput(u8 taskId);
|
||||
@@ -281,8 +282,67 @@ static const struct WindowTemplate gUnknown_0861F350[] =
|
||||
},
|
||||
};
|
||||
|
||||
extern const struct CompressedSpriteSheet gUnknown_0861F3CC;
|
||||
extern const struct SpriteTemplate gUnknown_0861F3D4;
|
||||
static const struct OamData gOamData_861F378 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 1,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = 0,
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = 3,
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_861F380[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const gSpriteAnimTable_861F388[] =
|
||||
{
|
||||
gSpriteAnim_861F380,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_861F38C[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_861F39C[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 254, 2),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 2, 4),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 254, 4),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 2, 2),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd * const gSpriteAffineAnimTable_861F3C4[] =
|
||||
{
|
||||
gSpriteAffineAnim_861F38C,
|
||||
gSpriteAffineAnim_861F39C,
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_0861F3CC = {gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_0861F3D4 =
|
||||
{
|
||||
.tileTag = 0x1024,
|
||||
.paletteTag = 0x1024,
|
||||
.oam = &gOamData_861F378,
|
||||
.anims = gSpriteAnimTable_861F388,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_861F3C4,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
// code
|
||||
void sub_81C4EEC(void)
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
#include "global.h"
|
||||
#include "global.fieldmap.h"
|
||||
#include "sprite.h"
|
||||
#include "event_object_movement.h"
|
||||
#include "bike.h"
|
||||
#include "event_data.h"
|
||||
#include "event_object_movement.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "fieldmap.h"
|
||||
#include "global.fieldmap.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "metatile_behaviors.h"
|
||||
#include "constants/flags.h"
|
||||
#include "event_data.h"
|
||||
#include "fieldmap.h"
|
||||
#include "overworld.h"
|
||||
#include "rotating_gate.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "constants/event_objects.h"
|
||||
#include "constants/event_object_movement_constants.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "constants/flags.h"
|
||||
|
||||
extern void task_add_bump_boulder(u8, u8);
|
||||
static bool8 ShouldJumpLedge(s16, s16, u8);
|
||||
@@ -42,6 +44,42 @@ static void PlayerNotOnBikeTurningInPlace(u8, u16);
|
||||
static void PlayerNotOnBikeMoving(u8, u16);
|
||||
extern void sub_808C750(u8);
|
||||
|
||||
extern void PlayerAvatarTransition_Normal(struct EventObject *a);
|
||||
extern void PlayerAvatarTransition_MachBike(struct EventObject *a);
|
||||
extern void PlayerAvatarTransition_AcroBike(struct EventObject *a);
|
||||
extern void PlayerAvatarTransition_Surfing(struct EventObject *a);
|
||||
extern void PlayerAvatarTransition_Underwater(struct EventObject *a);
|
||||
extern void PlayerAvatarTransition_ReturnToField(struct EventObject *a);
|
||||
extern void PlayerAvatarTransition_Dummy(struct EventObject *a);
|
||||
|
||||
extern u8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
|
||||
extern u8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
|
||||
extern u8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
|
||||
|
||||
extern u8 sub_808C544(struct Task *task, struct EventObject *eventObject);
|
||||
|
||||
extern u8 sub_808C61C(struct Task *task, struct EventObject *eventObject);
|
||||
extern u8 sub_808C644(struct Task *task, struct EventObject *eventObject);
|
||||
extern u8 sub_808C6BC(struct Task *task, struct EventObject *eventObject);
|
||||
extern u8 sub_808C6FC(struct Task *task, struct EventObject *eventObject);
|
||||
|
||||
extern u8 fish0(struct Task *task);
|
||||
extern u8 fish1(struct Task *task);
|
||||
extern u8 fish2(struct Task *task);
|
||||
extern u8 fish3(struct Task *task);
|
||||
extern u8 fish4(struct Task *task);
|
||||
extern u8 fish5(struct Task *task);
|
||||
extern u8 fish6(struct Task *task);
|
||||
extern u8 fish7(struct Task *task);
|
||||
extern u8 fish8(struct Task *task);
|
||||
extern u8 fish9(struct Task *task);
|
||||
extern u8 fishA_wait_for_a_pressed(struct Task *task);
|
||||
extern u8 fishB(struct Task *task);
|
||||
extern u8 fishC(struct Task *task);
|
||||
extern u8 fishD(struct Task *task);
|
||||
extern u8 fishE(struct Task *task);
|
||||
extern u8 fishF(struct Task *task);
|
||||
|
||||
static bool8 (*const gUnknown_084973FC[])(u8) =
|
||||
{
|
||||
MetatileBehavior_IsTrickHouseSlipperyFloor,
|
||||
@@ -105,6 +143,144 @@ static bool8 (*const gUnknown_0849749C[])(u8) =
|
||||
|
||||
static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0};
|
||||
|
||||
void (*const gUnknown_084974B8[])(struct EventObject *) =
|
||||
{
|
||||
PlayerAvatarTransition_Normal,
|
||||
PlayerAvatarTransition_MachBike,
|
||||
PlayerAvatarTransition_AcroBike,
|
||||
PlayerAvatarTransition_Surfing,
|
||||
PlayerAvatarTransition_Underwater,
|
||||
PlayerAvatarTransition_ReturnToField,
|
||||
PlayerAvatarTransition_Dummy,
|
||||
PlayerAvatarTransition_Dummy,
|
||||
};
|
||||
|
||||
bool8 (*const gUnknown_084974D8[])(u8) =
|
||||
{
|
||||
MetatileBehavior_IsSouthArrowWarp,
|
||||
MetatileBehavior_IsNorthArrowWarp,
|
||||
MetatileBehavior_IsWestArrowWarp,
|
||||
MetatileBehavior_IsEastArrowWarp,
|
||||
};
|
||||
|
||||
const u8 gUnknown_084974E8[][2] =
|
||||
{
|
||||
{EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL},
|
||||
{EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE},
|
||||
{EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE},
|
||||
{EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING, EVENT_OBJ_GFX_RIVAL_MAY_SURFING},
|
||||
{EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER},
|
||||
{EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE},
|
||||
{EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING},
|
||||
{EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING}
|
||||
};
|
||||
|
||||
const u8 gUnknown_084974F8[][2] =
|
||||
{
|
||||
{EVENT_OBJ_GFX_BRENDAN_NORMAL, EVENT_OBJ_GFX_MAY_NORMAL},
|
||||
{EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_MAY_MACH_BIKE},
|
||||
{EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_MAY_ACRO_BIKE},
|
||||
{EVENT_OBJ_GFX_BRENDAN_SURFING, EVENT_OBJ_GFX_MAY_SURFING},
|
||||
{EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER},
|
||||
{EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_MAY_FIELD_MOVE},
|
||||
{EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING},
|
||||
{EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING},
|
||||
};
|
||||
|
||||
const u8 gUnknown_08497508[] = {EVENT_OBJ_GFX_RED, EVENT_OBJ_GFX_LEAF};
|
||||
|
||||
const u8 gUnknown_0849750A[] = {EVENT_OBJ_GFX_LINK_RS_BRENDAN, EVENT_OBJ_GFX_LINK_RS_MAY};
|
||||
|
||||
const u8 gUnknown_0849750C[2][5][2] =
|
||||
{
|
||||
//male
|
||||
{
|
||||
{EVENT_OBJ_GFX_BRENDAN_NORMAL, 1},
|
||||
{EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, 2},
|
||||
{EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, 4},
|
||||
{EVENT_OBJ_GFX_BRENDAN_SURFING, 8},
|
||||
{EVENT_OBJ_GFX_BRENDAN_UNDERWATER, 16},
|
||||
},
|
||||
//female
|
||||
{
|
||||
{EVENT_OBJ_GFX_MAY_NORMAL, 1},
|
||||
{EVENT_OBJ_GFX_MAY_MACH_BIKE, 2},
|
||||
{EVENT_OBJ_GFX_MAY_ACRO_BIKE, 4},
|
||||
{EVENT_OBJ_GFX_MAY_SURFING, 8},
|
||||
{EVENT_OBJ_GFX_MAY_UNDERWATER, 16},
|
||||
}
|
||||
};
|
||||
|
||||
bool8 (*const gUnknown_08497520[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks
|
||||
{
|
||||
MetatileBehavior_IsSouthArrowWarp,
|
||||
MetatileBehavior_IsNorthArrowWarp,
|
||||
MetatileBehavior_IsWestArrowWarp,
|
||||
MetatileBehavior_IsEastArrowWarp,
|
||||
};
|
||||
|
||||
u8 (*const gUnknown_08497530[])(struct Task *, struct EventObject *, struct EventObject *) =
|
||||
{
|
||||
sub_808C3A4,
|
||||
do_boulder_dust,
|
||||
sub_808C484,
|
||||
};
|
||||
|
||||
u8 (*const gUnknown_0849753C[])(struct Task *, struct EventObject *) =
|
||||
{
|
||||
sub_808C544,
|
||||
};
|
||||
|
||||
u8 (*const gUnknown_08497540[])(struct Task *, struct EventObject *) =
|
||||
{
|
||||
sub_808C61C,
|
||||
sub_808C644,
|
||||
sub_808C6BC,
|
||||
sub_808C6FC,
|
||||
};
|
||||
|
||||
const u8 gUnknown_08497550[] = {3, 4, 2, 1};
|
||||
|
||||
const u8 gUnknown_08497554[] = {16, 16, 17, 18, 19};
|
||||
|
||||
u8 (*const gUnknown_0849755C[])(struct Task *) =
|
||||
{
|
||||
fish0,
|
||||
fish1,
|
||||
fish2,
|
||||
fish3,
|
||||
fish4,
|
||||
fish5,
|
||||
fish6,
|
||||
fish7,
|
||||
fish8,
|
||||
fish9,
|
||||
fishA_wait_for_a_pressed,
|
||||
fishB,
|
||||
fishC,
|
||||
fishD,
|
||||
fishE,
|
||||
fishF,
|
||||
};
|
||||
|
||||
const u16 gUnknown_0849759C[] = {1, 1, 1};
|
||||
|
||||
const u16 gUnknown_084975A2[] = {1, 3, 6};
|
||||
|
||||
const u8 gUnknown_084975A8[] = _("·");
|
||||
|
||||
const u16 gUnknown_084975AA[] = {36, 33, 30};
|
||||
|
||||
const u16 gUnknown_084975B0[] =
|
||||
{
|
||||
0, 0,
|
||||
0x28, 10,
|
||||
0x46, 30,
|
||||
};
|
||||
|
||||
const u8 gUnknown_084975BC[] = {0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00};
|
||||
|
||||
// .text
|
||||
void MovementType_Player(struct Sprite *sprite)
|
||||
{
|
||||
UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2);
|
||||
|
||||
@@ -1,26 +1,27 @@
|
||||
#include "global.h"
|
||||
#include "starter_choose.h"
|
||||
#include "palette.h"
|
||||
#include "sprite.h"
|
||||
#include "pokemon.h"
|
||||
#include "task.h"
|
||||
#include "bg.h"
|
||||
#include "data2.h"
|
||||
#include "decompress.h"
|
||||
#include "event_data.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "international_string_util.h"
|
||||
#include "main.h"
|
||||
#include "window.h"
|
||||
#include "menu.h"
|
||||
#include "palette.h"
|
||||
#include "pokedex.h"
|
||||
#include "pokemon.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "sound.h"
|
||||
#include "sprite.h"
|
||||
#include "starter_choose.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
#include "text_window.h"
|
||||
#include "decompress.h"
|
||||
#include "menu.h"
|
||||
#include "sound.h"
|
||||
#include "constants/songs.h"
|
||||
#include "event_data.h"
|
||||
#include "pokedex.h"
|
||||
#include "data2.h"
|
||||
#include "international_string_util.h"
|
||||
#include "trig.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "trig.h"
|
||||
#include "window.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/species.h"
|
||||
|
||||
#define STARTER_MON_COUNT 3
|
||||
|
||||
@@ -32,23 +33,6 @@
|
||||
extern const u8 gText_BirchInTrouble[];
|
||||
extern const u8 gText_ConfirmStarterChoice[];
|
||||
|
||||
extern const u16 sStarterMon[STARTER_MON_COUNT];
|
||||
extern const struct BgTemplate gUnknown_085B1E00[3];
|
||||
extern const struct WindowTemplate gUnknown_085B1DCC[];
|
||||
extern const struct WindowTemplate gUnknown_085B1DDC;
|
||||
extern const struct CompressedSpriteSheet gUnknown_085B1ED8[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_085B1EE8[];
|
||||
extern const struct SpritePalette gUnknown_085B1EF8[];
|
||||
extern const struct SpriteTemplate sSpriteTemplate_PokeBall;
|
||||
extern const struct SpriteTemplate sSpriteTemplate_Hand;
|
||||
extern const struct SpriteTemplate gUnknown_085B1F40;
|
||||
extern const union AffineAnimCmd *const gUnknown_085B1ED0;
|
||||
extern const u8 sPokeballCoords[STARTER_MON_COUNT][2];
|
||||
extern const struct WindowTemplate gUnknown_085B1DE4;
|
||||
extern const u8 gStarterChoose_LabelCoords[][2];
|
||||
extern const u8 gUnknown_085B1E0C[];
|
||||
extern const u8 gUnknown_085B1E28[][2];
|
||||
|
||||
// this file's functions
|
||||
static void MainCallback2_StarterChoose(void);
|
||||
static void sub_8134604(void);
|
||||
@@ -62,10 +46,307 @@ static void Task_MoveStarterChooseCursor(u8 taskId);
|
||||
static void sub_8134668(u8 taskId);
|
||||
static void CreateStarterPokemonLabel(u8 selection);
|
||||
static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y);
|
||||
void sub_81346DC(struct Sprite *sprite);
|
||||
void sub_813473C(struct Sprite *sprite);
|
||||
void StarterPokemonSpriteCallback(struct Sprite *sprite);
|
||||
|
||||
static IWRAM_DATA u16 sStarterChooseWindowId;
|
||||
|
||||
// .rodata
|
||||
const u16 gBirchBagGrassPal[][16] =
|
||||
{
|
||||
INCBIN_U16("graphics/misc/birch_bag.gbapal"),
|
||||
INCBIN_U16("graphics/misc/birch_grass.gbapal"),
|
||||
};
|
||||
|
||||
const u16 gBirchBallarrow_Pal[] = INCBIN_U16("graphics/misc/birch_ballarrow.gbapal");
|
||||
|
||||
const u16 gBirchCircle_Pal[] = INCBIN_U16("graphics/misc/birch_circle.gbapal");
|
||||
|
||||
const u8 gBirchBagTilemap[] = INCBIN_U8("graphics/misc/birch_bag_map.bin.lz");
|
||||
|
||||
const u8 gBirchGrassTilemap[] = INCBIN_U8("graphics/misc/birch_grass_map.bin.lz");
|
||||
|
||||
const u8 gBirchHelpGfx[] = INCBIN_U8("graphics/misc/birch_help.4bpp.lz");
|
||||
|
||||
const u8 gUnknown_085B18AC[] = INCBIN_U8("graphics/misc/birch_ballarrow.4bpp.lz");
|
||||
|
||||
const u8 gUnknown_085B1BCC[] = INCBIN_U8("graphics/misc/birch_circle.4bpp.lz");
|
||||
|
||||
static const struct WindowTemplate gUnknown_085B1DCC[] =
|
||||
{
|
||||
{
|
||||
.priority = 0,
|
||||
.tilemapLeft = 3,
|
||||
.tilemapTop = 15,
|
||||
.width = 24,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0200
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
};
|
||||
|
||||
static const struct WindowTemplate gUnknown_085B1DDC =
|
||||
{
|
||||
.priority = 0,
|
||||
.tilemapLeft = 24,
|
||||
.tilemapTop = 9,
|
||||
.width = 5,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0260
|
||||
};
|
||||
|
||||
static const struct WindowTemplate gUnknown_085B1DE4 =
|
||||
{
|
||||
.priority = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 13,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x0274
|
||||
};
|
||||
|
||||
static const u8 sPokeballCoords[STARTER_MON_COUNT][2] =
|
||||
{
|
||||
{0x3c, 0x40},
|
||||
{0x78, 0x58},
|
||||
{0xb4, 0x40},
|
||||
};
|
||||
|
||||
static const u8 gStarterChoose_LabelCoords[][2] =
|
||||
{
|
||||
{0x00, 0x09},
|
||||
{0x10, 0x0a},
|
||||
{0x08, 0x04},
|
||||
};
|
||||
|
||||
static const u16 sStarterMon[STARTER_MON_COUNT] =
|
||||
{
|
||||
SPECIES_TREECKO,
|
||||
SPECIES_TORCHIC,
|
||||
SPECIES_MUDKIP,
|
||||
};
|
||||
|
||||
static const struct BgTemplate gUnknown_085B1E00[3] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 2,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 7,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 3,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 6,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0
|
||||
},
|
||||
};
|
||||
|
||||
static const u8 gUnknown_085B1E0C[] = {0x00, 0x01, 0x03};
|
||||
|
||||
static const struct OamData gOamData_85B1E10 =
|
||||
{
|
||||
.y = 160,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = 0,
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = 2,
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const struct OamData gOamData_85B1E18 =
|
||||
{
|
||||
.y = 160,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = 0,
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = 2,
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const struct OamData gOamData_85B1E20 =
|
||||
{
|
||||
.y = 160,
|
||||
.affineMode = 3,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = 0,
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = 3,
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const u8 gUnknown_085B1E28[][2] =
|
||||
{
|
||||
{0x3c, 0x20},
|
||||
{0x78, 0x38},
|
||||
{0xb4, 0x20},
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_85B1E30[] =
|
||||
{
|
||||
ANIMCMD_FRAME(48, 30),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_85B1E38[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 30),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_85B1E40[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(0, 32),
|
||||
ANIMCMD_FRAME(16, 8),
|
||||
ANIMCMD_FRAME(0, 8),
|
||||
ANIMCMD_FRAME(32, 8),
|
||||
ANIMCMD_FRAME(0, 8),
|
||||
ANIMCMD_FRAME(16, 8),
|
||||
ANIMCMD_FRAME(0, 8),
|
||||
ANIMCMD_FRAME(32, 8),
|
||||
ANIMCMD_FRAME(0, 8),
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_85B1E88[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 8),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const gSpriteAnimTable_85B1E90[] =
|
||||
{
|
||||
gSpriteAnim_85B1E30,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const gSpriteAnimTable_85B1E94[] =
|
||||
{
|
||||
gSpriteAnim_85B1E38,
|
||||
gSpriteAnim_85B1E40,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const gSpriteAnimTable_85B1E9C[] =
|
||||
{
|
||||
gSpriteAnim_85B1E88,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_85B1EA0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(16, 16, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(16, 16, 0, 15),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_85B1EB8[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(20, 20, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(20, 20, 0, 15),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd * const gUnknown_085B1ED0 = {gSpriteAffineAnim_85B1EA0};
|
||||
static const union AffineAnimCmd * const gSpriteAffineAnimTable_85B1ED4[] = {gSpriteAffineAnim_85B1EB8};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085B1ED8[] =
|
||||
{
|
||||
gUnknown_085B18AC, 0x0800, 0x1000,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085B1EE8[] =
|
||||
{
|
||||
gUnknown_085B1BCC, 0x0800, 0x1001,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static const struct SpritePalette gUnknown_085B1EF8[] =
|
||||
{
|
||||
gBirchBallarrow_Pal, 0x1000,
|
||||
gBirchCircle_Pal, 0x1001,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Hand =
|
||||
{
|
||||
.tileTag = 0x1000,
|
||||
.paletteTag = 0x1000,
|
||||
.oam = &gOamData_85B1E10,
|
||||
.anims = gSpriteAnimTable_85B1E90,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_81346DC
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_PokeBall =
|
||||
{
|
||||
.tileTag = 0x1000,
|
||||
.paletteTag = 0x1000,
|
||||
.oam = &gOamData_85B1E18,
|
||||
.anims = gSpriteAnimTable_85B1E94,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_813473C
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085B1F40 =
|
||||
{
|
||||
.tileTag = 0x1001,
|
||||
.paletteTag = 0x1001,
|
||||
.oam = &gOamData_85B1E20,
|
||||
.anims = gSpriteAnimTable_85B1E9C,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_85B1ED4,
|
||||
.callback = StarterPokemonSpriteCallback
|
||||
};
|
||||
|
||||
// .text
|
||||
u16 GetStarterPokemon(u16 chosenStarterId)
|
||||
{
|
||||
if (chosenStarterId > STARTER_MON_COUNT)
|
||||
|
||||
Reference in New Issue
Block a user