diff options
Diffstat (limited to 'src/pokemon.c')
-rw-r--r-- | src/pokemon.c | 66 |
1 files changed, 31 insertions, 35 deletions
diff --git a/src/pokemon.c b/src/pokemon.c index 640d70776..7c4103855 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1,4 +1,5 @@ #include "global.h" +#include "alloc.h" #include "apprentice.h" #include "battle.h" #include "battle_controllers.h" @@ -12,12 +13,14 @@ #include "item.h" #include "link.h" #include "main.h" -#include "alloc.h" +#include "overworld.h" #include "m4a.h" +#include "party_menu.h" #include "pokedex.h" #include "pokeblock.h" #include "pokemon.h" #include "pokemon_animation.h" +#include "pokemon_summary_screen.h" #include "pokemon_storage_system.h" #include "pokenav.h" #include "random.h" @@ -45,8 +48,6 @@ struct SpeciesItem u16 item; }; -extern const struct OamData gUnknown_0831ACB0; -extern const struct OamData gUnknown_0831ACA8; extern const struct SpriteFrameImage gUnknown_082FF3A8[]; extern const struct SpriteFrameImage gUnknown_082FF3C8[]; extern const struct SpriteFrameImage gUnknown_082FF3E8[]; @@ -70,15 +71,10 @@ extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const u8 gTrainerClassNames[][13]; -extern u8 pokemon_order_func(u8); extern u16 get_unknown_box_id(void); -extern u8 StorageGetCurrentBox(void); extern void set_unknown_box_id(u8); -extern void sub_803FA70(u8 battlerId); -extern u8 sav1_map_get_name(void); extern bool8 sub_806F104(void); extern u8 sub_81D63C8(u16 trainerOpponentId); -extern void SummaryScreen_SetUnknownTaskId(u8); // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); @@ -2298,7 +2294,7 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] = { // B_POSITION_PLAYER_LEFT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF3A8, .affineAnims = gUnknown_082FF618, @@ -2307,16 +2303,16 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] = { // B_POSITION_OPPONENT_LEFT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACA8, + .oam = &gOamData_831ACA8, .anims = NULL, .images = gUnknown_082FF3C8, .affineAnims = gUnknown_082FF694, - .callback = oac_poke_opponent, + .callback = SpriteCb_WildMon, }, { // B_POSITION_PLAYER_RIGHT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF3E8, .affineAnims = gUnknown_082FF618, @@ -2325,11 +2321,11 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] = { // B_POSITION_OPPONENT_RIGHT .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACA8, + .oam = &gOamData_831ACA8, .anims = NULL, .images = gUnknown_082FF408, .affineAnims = gUnknown_082FF694, - .callback = oac_poke_opponent + .callback = SpriteCb_WildMon }, }; @@ -2338,7 +2334,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF428, .affineAnims = gUnknown_082FF618, @@ -2347,7 +2343,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF448, .affineAnims = gUnknown_082FF618, @@ -2356,7 +2352,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF468, .affineAnims = gUnknown_082FF618, @@ -2365,7 +2361,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF490, .affineAnims = gUnknown_082FF618, @@ -2374,7 +2370,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF4B8, .affineAnims = gUnknown_082FF618, @@ -2383,7 +2379,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF4D8, .affineAnims = gUnknown_082FF618, @@ -2392,7 +2388,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF4F8, .affineAnims = gUnknown_082FF618, @@ -2401,7 +2397,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] = { .tileTag = 0xFFFF, .paletteTag = 0, - .oam = &gUnknown_0831ACB0, + .oam = &gOamData_831ACB0, .anims = NULL, .images = gUnknown_082FF518, .affineAnims = gUnknown_082FF618, @@ -4091,13 +4087,13 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) case MON_DATA_LANGUAGE: retVal = boxMon->language; break; - case MON_DATA_SANITY_BIT1: + case MON_DATA_SANITY_IS_BAD_EGG: retVal = boxMon->isBadEgg; break; - case MON_DATA_SANITY_BIT2: + case MON_DATA_SANITY_HAS_SPECIES: retVal = boxMon->hasSpecies; break; - case MON_DATA_SANITY_BIT3: + case MON_DATA_SANITY_IS_EGG: retVal = boxMon->isEgg; break; case MON_DATA_OT_NAME: @@ -4298,7 +4294,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) u16 *moves = (u16 *)data; s32 i = 0; - while (moves[i] != 355) + while (moves[i] != MOVES_COUNT) { u16 move = moves[i]; if (substruct1->moves[0] == move @@ -4460,13 +4456,13 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) case MON_DATA_LANGUAGE: SET8(boxMon->language); break; - case MON_DATA_SANITY_BIT1: + case MON_DATA_SANITY_IS_BAD_EGG: SET8(boxMon->isBadEgg); break; - case MON_DATA_SANITY_BIT2: + case MON_DATA_SANITY_HAS_SPECIES: SET8(boxMon->hasSpecies); break; - case MON_DATA_SANITY_BIT3: + case MON_DATA_SANITY_IS_EGG: SET8(boxMon->isEgg); break; case MON_DATA_OT_NAME: @@ -4722,7 +4718,7 @@ u8 SendMonToPC(struct Pokemon* mon) do { - for (boxPos = 0; boxPos < 30; boxPos++) + for (boxPos = 0; boxPos < IN_BOX_COUNT; boxPos++) { struct BoxPokemon* checkingMon = GetBoxedMonPtr(boxNo, boxPos); if (GetBoxMonData(checkingMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE) @@ -4739,7 +4735,7 @@ u8 SendMonToPC(struct Pokemon* mon) } boxNo++; - if (boxNo == 14) + if (boxNo == TOTAL_BOXES_COUNT) boxNo = 0; } while (boxNo != StorageGetCurrentBox()); @@ -4889,9 +4885,9 @@ bool8 IsPokemonStorageFull(void) { s32 i, j; - for (i = 0; i < 14; i++) - for (j = 0; j < 30; j++) - if (GetBoxMonDataFromAnyBox(i, j, MON_DATA_SPECIES) == SPECIES_NONE) + for (i = 0; i < TOTAL_BOXES_COUNT; i++) + for (j = 0; j < IN_BOX_COUNT; j++) + if (GetBoxMonDataAt(i, j, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; return TRUE; @@ -6847,7 +6843,7 @@ void SetWildMonHeldItem(void) u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0); u16 var1 = 45; u16 var2 = 95; - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3, 0) + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG, 0) && GetMonAbility(&gPlayerParty[0]) == ABILITY_COMPOUND_EYES) { var1 = 20; |