diff options
Diffstat (limited to 'src')
116 files changed, 13506 insertions, 1654 deletions
@@ -1,5 +1,4 @@ #include "global.h" -#include "task.h" #include "palette.h" #include "item_menu.h" #include "text.h" @@ -9,7 +8,6 @@ #include "new_menu_helpers.h" #include "menu.h" #include "money.h" -#include "bag.h" #include "strings.h" static const u16 sBagWindowPalF[] = INCBIN_U16("data/bag/bag_window_pal.gbapal"); diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 647d2f367..33b5ceacc 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1,15 +1,9 @@ #include "global.h" -#include "malloc.h" #include "battle_anim.h" #include "battle_interface.h" -#include "decompress.h" #include "gpu_regs.h" -#include "graphics.h" -#include "main.h" -#include "math_util.h" #include "palette.h" #include "random.h" -#include "scanline_effect.h" #include "sound.h" #include "trig.h" #include "util.h" diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 23be07785..093660389 100644 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -5,7 +5,6 @@ #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" -#include "main.h" #include "math_util.h" #include "palette.h" #include "random.h" diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index d74b743e8..f2740a1a5 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -178,7 +178,7 @@ void sub_80DD148(u8 taskId) gTasks[taskId].data[2] = pan; if (species != SPECIES_NONE) { - if (gBattleAnimArgs[1] == TASK_NONE) + if (gBattleAnimArgs[1] == TAIL_SENTINEL) PlayCry3(species, pan, 9); else PlayCry3(species, pan, 7); @@ -199,7 +199,7 @@ static void sub_80DD270(u8 taskId) { ++gTasks[taskId].data[9]; } - else if (gTasks[taskId].data[0] == TASK_NONE) + else if (gTasks[taskId].data[0] == TAIL_SENTINEL) { if (!IsCryPlaying()) { diff --git a/src/battle_bg.c b/src/battle_bg.c new file mode 100644 index 000000000..1c0b41bb4 --- /dev/null +++ b/src/battle_bg.c @@ -0,0 +1,1076 @@ +#include "global.h" +#include "gflib.h" +#include "battle.h" +#include "battle_bg.h" +#include "battle_message.h" +#include "decompress.h" +#include "graphics.h" +#include "link.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "text_window.h" +#include "trig.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/trainer_classes.h" + +#define TAG_VS_LETTERS 10000 + +struct BattleBackground +{ + const void *tileset; + const void *tilemap; + const void *entryTileset; + const void *entryTilemap; + const void *palette; +}; + +static void CB2_unused(void); +static u8 GetBattleTerrainOverride(void); + +static const u8 gUnknown_824829C[] = {1, 2}; + +static const struct OamData gOamData_82482A0 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0x000, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData gOamData_82482A8 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0x040, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AffineAnimCmd gUnknown_82482B0[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gUnknown_82482C0[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0x0, 0x80), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0x0, 0x80), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gAffineAnimTable_82482E0[] = { + gUnknown_82482B0, + gUnknown_82482C0 +}; + +static const struct SpriteTemplate sVsLetter_V_SpriteTemplate = { + .tileTag = TAG_VS_LETTERS, + .paletteTag = TAG_VS_LETTERS, + .oam = &gOamData_82482A0, + .anims = gDummySpriteAnimTable, + .affineAnims = gAffineAnimTable_82482E0, + .callback = nullsub_9 +}; + +static const struct SpriteTemplate sVsLetter_S_SpriteTemplate = { + .tileTag = TAG_VS_LETTERS, + .paletteTag = TAG_VS_LETTERS, + .oam = &gOamData_82482A8, + .anims = gDummySpriteAnimTable, + .affineAnims = gAffineAnimTable_82482E0, + .callback = nullsub_9 +}; + +static const struct CompressedSpriteSheet sVsLettersSpriteSheet = { + gVsLettersGfx, + 0x1000, + TAG_VS_LETTERS +}; + +const struct BgTemplate gBattleBgTemplates[4] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x000 + }, { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 26, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0x000 + } +}; + +static const struct WindowTemplate gUnknown_8248330[] = { + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x090 + }, { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 35, + .width = 14, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x1c0 + }, { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 35, + .width = 12, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x190 + }, { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x300 + }, { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x310 + }, { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x320 + }, { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x330 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 3, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x290 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x296 + }, { + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 55, + .width = 5, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x2a6 + }, { + .bg = 0, + .tilemapLeft = 25, + .tilemapTop = 57, + .width = 0, + .height = 0, + .paletteNum = 5, + .baseBlock = 0x2b0 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 8, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x2b0 + }, { + .bg = 1, + .tilemapLeft = 19, + .tilemapTop = 8, + .width = 10, + .height = 11, + .paletteNum = 5, + .baseBlock = 0x100 + }, { + .bg = 2, + .tilemapLeft = 18, + .tilemapTop = 0, + .width = 12, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x16e + }, { + .bg = 0, + .tilemapLeft = 25, + .tilemapTop = 9, + .width = 4, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x100 + }, { + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x020 + }, { + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x040 + }, { + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x020 + }, { + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x040 + }, { + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x060 + }, { + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x080 + }, { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 2, + .width = 8, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x0a0 + }, { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 2, + .width = 8, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x0a0 + }, { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 2, + .width = 8, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x0b0 + }, { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 7, + .baseBlock = 0x090 + }, DUMMY_WIN_TEMPLATE +}; + +static const u32 sBattleTerrainPalette_Grass[] = INCBIN_U32("graphics/battle/unk_8248400.gbapal.lz"); +static const u32 sBattleTerrainTiles_Grass[] = INCBIN_U32("graphics/battle/unk_824844C.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Grass[] = INCBIN_U32("graphics/battle/unk_82489A8.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Grass[] = INCBIN_U32("graphics/battle/unk_8248C68.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Grass[] = INCBIN_U32("graphics/battle/unk_8248F58.bin.lz"); +static const u32 sBattleTerrainPalette_LongGrass[] = INCBIN_U32("graphics/battle/unk_8249074.gbapal.lz"); +static const u32 sBattleTerrainTiles_LongGrass[] = INCBIN_U32("graphics/battle/unk_82490C4.4bpp.lz"); +static const u32 sBattleTerrainTilemap_LongGrass[] = INCBIN_U32("graphics/battle/unk_8249620.bin.lz"); +static const u32 sBattleTerrainAnimTiles_LongGrass[] = INCBIN_U32("graphics/battle/unk_82498DC.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U32("graphics/battle/unk_8249E10.bin.lz"); +static const u32 sBattleTerrainPalette_Sand[] = INCBIN_U32("graphics/battle/unk_8249F98.gbapal.lz"); +static const u32 sBattleTerrainTiles_Sand[] = INCBIN_U32("graphics/battle/unk_8249FE4.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Sand[] = INCBIN_U32("graphics/battle/unk_824A37C.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Sand[] = INCBIN_U32("graphics/battle/unk_824A618.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Sand[] = INCBIN_U32("graphics/battle/unk_824A844.bin.lz"); +static const u32 sBattleTerrainPalette_Underwater[] = INCBIN_U32("graphics/battle/unk_824A940.gbapal.lz"); +static const u32 sBattleTerrainTiles_Underwater[] = INCBIN_U32("graphics/battle/unk_824A990.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Underwater[] = INCBIN_U32("graphics/battle/unk_824ACD0.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Underwater[] = INCBIN_U32("graphics/battle/unk_824AF70.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Underwater[] = INCBIN_U32("graphics/battle/unk_824B0DC.bin.lz"); +static const u32 sBattleTerrainPalette_Water[] = INCBIN_U32("graphics/battle/unk_824B19C.gbapal.lz"); +static const u32 sBattleTerrainTiles_Water[] = INCBIN_U32("graphics/battle/unk_824B1EC.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Water[] = INCBIN_U32("graphics/battle/unk_824B608.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Water[] = INCBIN_U32("graphics/battle/unk_824B8A8.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Water[] = INCBIN_U32("graphics/battle/unk_824BBE0.bin.lz"); +static const u32 sBattleTerrainPalette_Pond[] = INCBIN_U32("graphics/battle/unk_824BCE0.gbapal.lz"); +static const u32 sBattleTerrainTiles_Pond[] = INCBIN_U32("graphics/battle/unk_824BD38.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Pond[] = INCBIN_U32("graphics/battle/unk_824C07C.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Pond[] = INCBIN_U32("graphics/battle/unk_824C314.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Pond[] = INCBIN_U32("graphics/battle/unk_824C520.bin.lz"); +static const u32 sBattleTerrainPalette_Mountain[] = INCBIN_U32("graphics/battle/unk_824C5D8.gbapal.lz"); +static const u32 sBattleTerrainTiles_Mountain[] = INCBIN_U32("graphics/battle/unk_824C624.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Mountain[] = INCBIN_U32("graphics/battle/unk_824C958.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Mountain[] = INCBIN_U32("graphics/battle/unk_824CBF8.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Mountain[] = INCBIN_U32("graphics/battle/unk_824CEC8.bin.lz"); +static const u32 sBattleTerrainPalette_Cave[] = INCBIN_U32("graphics/battle/unk_824CF98.gbapal.lz"); +static const u32 sBattleTerrainTiles_Cave[] = INCBIN_U32("graphics/battle/unk_824CFEC.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Cave[] = INCBIN_U32("graphics/battle/unk_824D418.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Cave[] = INCBIN_U32("graphics/battle/unk_824D6B8.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Cave[] = INCBIN_U32("graphics/battle/unk_824DC98.bin.lz"); +static const u32 sBattleTerrainPalette_Building[] = INCBIN_U32("graphics/battle/unk_824DDF0.gbapal.lz"); +static const u32 sBattleTerrainTiles_Building[] = INCBIN_U32("graphics/battle/unk_824DE34.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Building[] = INCBIN_U32("graphics/battle/unk_824E16C.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Building[] = INCBIN_U32("graphics/battle/unk_824E410.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Building[] = INCBIN_U32("graphics/battle/unk_824E490.bin.lz"); +static const u32 sBattleTerrainPalette_Link[] = INCBIN_U32("graphics/battle/unk_824E528.gbapal.lz"); +static const u32 sBattleTerrainPalette_Gym[] = INCBIN_U32("graphics/battle/unk_824E56C.gbapal.lz"); +static const u32 sBattleTerrainPalette_Leader[] = INCBIN_U32("graphics/battle/unk_824E5B8.gbapal.lz"); +static const u32 sBattleTerrainPalette_Indoor2[] = INCBIN_U32("graphics/battle/unk_824E604.gbapal.lz"); +static const u32 sBattleTerrainPalette_Indoor1[] = INCBIN_U32("graphics/battle/unk_824E650.gbapal.lz"); +static const u32 sBattleTerrainPalette_Lorelei[] = INCBIN_U32("graphics/battle/unk_824E6A4.gbapal.lz"); +static const u32 sBattleTerrainPalette_Bruno[] = INCBIN_U32("graphics/battle/unk_824E6F0.gbapal.lz"); +static const u32 sBattleTerrainPalette_Agatha[] = INCBIN_U32("graphics/battle/unk_824E740.gbapal.lz"); +static const u32 sBattleTerrainPalette_Lance[] = INCBIN_U32("graphics/battle/unk_824E78C.gbapal.lz"); +static const u32 sBattleTerrainPalette_Champion[] = INCBIN_U32("graphics/battle/unk_824E7DC.gbapal.lz"); +static const u32 sBattleTerrainPalette_Plain[] = INCBIN_U32("graphics/battle/unk_824E81C.gbapal.lz"); +static const u32 sBattleTerrainTiles_Indoor2[] = INCBIN_U32("graphics/battle/unk_824E858.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Indoor2[] = INCBIN_U32("graphics/battle/unk_824EB90.bin.lz"); + +static const struct BattleBackground sBattleTerrainTable[] = { + [BATTLE_TERRAIN_GRASS] = + { + .tileset = sBattleTerrainTiles_Grass, + .tilemap = sBattleTerrainTilemap_Grass, + .entryTileset = sBattleTerrainAnimTiles_Grass, + .entryTilemap = sBattleTerrainAnimTilemap_Grass, + .palette = sBattleTerrainPalette_Grass + }, + [BATTLE_TERRAIN_LONG_GRASS] = + { + .tileset = sBattleTerrainTiles_LongGrass, + .tilemap = sBattleTerrainTilemap_LongGrass, + .entryTileset = sBattleTerrainAnimTiles_LongGrass, + .entryTilemap = sBattleTerrainAnimTilemap_LongGrass, + .palette = sBattleTerrainPalette_LongGrass + }, + [BATTLE_TERRAIN_SAND] = + { + .tileset = sBattleTerrainTiles_Sand, + .tilemap = sBattleTerrainTilemap_Sand, + .entryTileset = sBattleTerrainAnimTiles_Sand, + .entryTilemap = sBattleTerrainAnimTilemap_Sand, + .palette = sBattleTerrainPalette_Sand + }, + [BATTLE_TERRAIN_UNDERWATER] = + { + .tileset = sBattleTerrainTiles_Underwater, + .tilemap = sBattleTerrainTilemap_Underwater, + .entryTileset = sBattleTerrainAnimTiles_Underwater, + .entryTilemap = sBattleTerrainAnimTilemap_Underwater, + .palette = sBattleTerrainPalette_Underwater + }, + [BATTLE_TERRAIN_WATER] = + { + .tileset = sBattleTerrainTiles_Water, + .tilemap = sBattleTerrainTilemap_Water, + .entryTileset = sBattleTerrainAnimTiles_Water, + .entryTilemap = sBattleTerrainAnimTilemap_Water, + .palette = sBattleTerrainPalette_Water + }, + [BATTLE_TERRAIN_POND] = + { + .tileset = sBattleTerrainTiles_Pond, + .tilemap = sBattleTerrainTilemap_Pond, + .entryTileset = sBattleTerrainAnimTiles_Pond, + .entryTilemap = sBattleTerrainAnimTilemap_Pond, + .palette = sBattleTerrainPalette_Pond + }, + [BATTLE_TERRAIN_MOUNTAIN] = + { + .tileset = sBattleTerrainTiles_Mountain, + .tilemap = sBattleTerrainTilemap_Mountain, + .entryTileset = sBattleTerrainAnimTiles_Mountain, + .entryTilemap = sBattleTerrainAnimTilemap_Mountain, + .palette = sBattleTerrainPalette_Mountain + }, + [BATTLE_TERRAIN_CAVE] = + { + .tileset = sBattleTerrainTiles_Cave, + .tilemap = sBattleTerrainTilemap_Cave, + .entryTileset = sBattleTerrainAnimTiles_Cave, + .entryTilemap = sBattleTerrainAnimTilemap_Cave, + .palette = sBattleTerrainPalette_Cave + }, + [BATTLE_TERRAIN_BUILDING] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Building + }, + [BATTLE_TERRAIN_PLAIN] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Plain + }, + [BATTLE_TERRAIN_LINK] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Link + }, + [BATTLE_TERRAIN_GYM] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Gym + }, + [BATTLE_TERRAIN_LEADER] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Leader + }, + [BATTLE_TERRAIN_INDOOR_2] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Indoor2 + }, + [BATTLE_TERRAIN_INDOOR_1] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Indoor1 + }, + [BATTLE_TERRAIN_LORELEI] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Lorelei + }, + [BATTLE_TERRAIN_BRUNO] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Bruno + }, + [BATTLE_TERRAIN_AGATHA] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Agatha + }, + [BATTLE_TERRAIN_LANCE] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Lance + }, + [BATTLE_TERRAIN_CHAMPION] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Champion + } +}; + +static const struct { + u8 mapScene; + u8 battleTerrain; +} sMapBattleSceneMapping[] = { + {MAP_BATTLE_SCENE_GYM, BATTLE_TERRAIN_GYM}, + {MAP_BATTLE_SCENE_INDOOR_1, BATTLE_TERRAIN_INDOOR_1}, + {MAP_BATTLE_SCENE_INDOOR_2, BATTLE_TERRAIN_INDOOR_2}, + {MAP_BATTLE_SCENE_LORELEI, BATTLE_TERRAIN_LORELEI}, + {MAP_BATTLE_SCENE_BRUNO, BATTLE_TERRAIN_BRUNO}, + {MAP_BATTLE_SCENE_AGATHA, BATTLE_TERRAIN_AGATHA}, + {MAP_BATTLE_SCENE_LANCE, BATTLE_TERRAIN_LANCE}, + {MAP_BATTLE_SCENE_LINK, BATTLE_TERRAIN_LINK} +}; + +UNUSED void CreateUnknownDebugSprite(void) +{ + u8 spriteId; + + ResetSpriteData(); + spriteId = CreateSprite(&gUnknown_824EFF0, 0, 0, 0); + gSprites[spriteId].invisible = TRUE; + SetMainCallback2(CB2_unused); +} + +static void CB2_unused(void) +{ + AnimateSprites(); + BuildOamBuffer(); +} + +static u8 GetBattleTerrainByMapScene(u8 mapBattleScene) +{ + int i; + for (i = 0; i < NELEMS(sMapBattleSceneMapping); i++) + { + if (mapBattleScene == sMapBattleSceneMapping[i].mapScene) + return sMapBattleSceneMapping[i].battleTerrain; + } + return 9; +} + +static void LoadBattleTerrainGfx(u16 terrain) +{ + if (terrain >= NELEMS(sBattleTerrainTable)) + terrain = 9; + // Copy to bg3 + LZDecompressVram(sBattleTerrainTable[terrain].tileset, (void *)BG_CHAR_ADDR(2)); + LZDecompressVram(sBattleTerrainTable[terrain].tilemap, (void *)BG_SCREEN_ADDR(26)); + LoadCompressedPalette(sBattleTerrainTable[terrain].palette, 0x20, 0x60); +} + +static void LoadBattleTerrainEntryGfx(u16 terrain) +{ + if (terrain >= NELEMS(sBattleTerrainTable)) + terrain = 9; + // Copy to bg1 + LZDecompressVram(sBattleTerrainTable[terrain].entryTileset, (void *)BG_CHAR_ADDR(1)); + LZDecompressVram(sBattleTerrainTable[terrain].entryTilemap, (void *)BG_SCREEN_ADDR(28)); +} + +UNUSED void GetBattleTerrainGfxPtrs(u8 terrain, const u32 **tilesPtr, const u32 **mapPtr, const u32 **palPtr) +{ + if (terrain > 9) + terrain = 9; + *tilesPtr = sBattleTerrainTable[terrain].tileset; + *mapPtr = sBattleTerrainTable[terrain].tilemap; + *palPtr = sBattleTerrainTable[terrain].palette; +} + +void sub_800F324(void) +{ + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, gBattleBgTemplates, NELEMS(gBattleBgTemplates)); + InitWindows(gUnknown_8248330); + DeactivateAllTextPrinters(); +} + +void InitBattleBgsVideo(void) +{ + EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); + sub_800F324(); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_OBJWIN_ON); +} + +void LoadBattleMenuWindowGfx(void) +{ + TextWindow_SetUserSelectedFrame(2, 0x012, 0x10); + TextWindow_SetUserSelectedFrame(2, 0x022, 0x10); + gPlttBufferUnfaded[0x5C] = RGB( 9, 9, 9); + gPlttBufferUnfaded[0x5D] = RGB( 9, 9, 9); + gPlttBufferUnfaded[0x5E] = RGB(31, 31, 31); + gPlttBufferUnfaded[0x5F] = RGB( 26, 26, 25); + CpuCopy16(&gPlttBufferUnfaded[0x5C], &gPlttBufferFaded[0x5C], 8); + if (gBattleTypeFlags & (BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_POKEDUDE)) + { + Menu_LoadStdPalAt(0x70); + TextWindow_LoadResourcesStdFrame0(0, 0x030, 0x70); + gPlttBufferUnfaded[0x76] = RGB( 0, 0, 0); + CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2); + } +} + +void DrawMainBattleBackground(void) +{ + LoadBattleTerrainGfx(GetBattleTerrainOverride()); +} + +void LoadBattleTextboxAndBackground(void) +{ + LZDecompressVram(gBattleTextboxTiles, (void *)BG_CHAR_ADDR(0)); + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0x000); + CopyBgTilemapBufferToVram(0); + LoadCompressedPalette(gBattleTextboxPalette, 0x00, 0x40); + LoadBattleMenuWindowGfx(); + DrawMainBattleBackground(); +} + +static void DrawLinkBattleParticipantPokeballs(u8 taskId, u8 multiplayerId, u8 bgId, u8 destX, u8 destY) +{ + s32 i; + u16 pokeballStatuses = 0; + u16 tiles[6]; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gTasks[taskId].data[5] != 0) + { + switch (multiplayerId) + { + case 0: + pokeballStatuses = 0x3F & gTasks[taskId].data[3]; + break; + case 1: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6; + break; + case 2: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6; + break; + case 3: + pokeballStatuses = 0x3F & gTasks[taskId].data[4]; + break; + } + } + else + { + switch (multiplayerId) + { + case 0: + pokeballStatuses = 0x3F & gTasks[taskId].data[3]; + break; + case 1: + pokeballStatuses = 0x3F & gTasks[taskId].data[4]; + break; + case 2: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6; + break; + case 3: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6; + break; + } + } + + for (i = 0; i < 3; i++) + tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001; + + CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 3, 1, 0x11); + CopyBgTilemapBufferToVram(bgId); + } + else + { + if (multiplayerId == gBattleStruct->multiplayerId) + pokeballStatuses = gTasks[taskId].data[3]; + else + pokeballStatuses = gTasks[taskId].data[4]; + + for (i = 0; i < 6; i++) + tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001; + + CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 6, 1, 0x11); + CopyBgTilemapBufferToVram(bgId); + } +} + +static void DrawLinkBattleVsScreenOutcomeText(void) +{ + if (gBattleOutcome == B_OUTCOME_DREW) + { + BattlePutTextOnWindow(gText_Draw, 0x15); + } + else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gBattleOutcome == B_OUTCOME_WON) + { + switch (gLinkPlayers[gBattleStruct->multiplayerId].id) + { + case 0: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + case 1: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + case 2: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + case 3: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + } + } + else + { + switch (gLinkPlayers[gBattleStruct->multiplayerId].id) + { + case 0: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + case 1: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + case 2: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + case 3: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + } + } + } + else if (gBattleOutcome == B_OUTCOME_WON) + { + if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0) + { + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + } + else + { + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + } + } + else + { + if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0) + { + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + } + else + { + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + } + } +} + +void InitLinkBattleVsScreen(u8 taskId) +{ + struct LinkPlayer *linkPlayer; + u8 *name; + s32 i, palId; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + name = gLinkPlayers[i].name; + linkPlayer = &gLinkPlayers[i]; + + switch (linkPlayer->id) + { + case 0: + BattlePutTextOnWindow(name, 0x11); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 4); + break; + case 1: + BattlePutTextOnWindow(name, 0x12); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 4); + break; + case 2: + BattlePutTextOnWindow(name, 0x13); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 8); + break; + case 3: + BattlePutTextOnWindow(name, 0x14); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 8); + break; + } + } + } + else + { + u8 playerId = gBattleStruct->multiplayerId; + u8 opponentId = playerId ^ BIT_SIDE; + u8 opponentId_copy = opponentId; + + if (gLinkPlayers[playerId].id != 0) + opponentId = playerId, playerId = opponentId_copy; + + name = gLinkPlayers[playerId].name; + BattlePutTextOnWindow(name, 0xF); + + name = gLinkPlayers[opponentId].name; + BattlePutTextOnWindow(name, 0x10); + + DrawLinkBattleParticipantPokeballs(taskId, playerId, 1, 2, 7); + DrawLinkBattleParticipantPokeballs(taskId, opponentId, 2, 2, 7); + } + gTasks[taskId].data[0]++; + break; + case 1: + palId = AllocSpritePalette(TAG_VS_LETTERS); + gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = RGB(31, 31, 31); + gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&sVsLetter_V_SpriteTemplate, 108, 80, 0); + gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&sVsLetter_S_SpriteTemplate, 132, 80, 0); + gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = TRUE; + gTasks[taskId].data[0]++; + break; + case 2: + if (gTasks[taskId].data[5] != 0) + { + gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG1_Y = -36; + gBattle_BG2_Y = -36; + } + else + { + gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG1_Y = (Cos2(gTasks[taskId].data[1]) / 32) - 164; + gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG2_Y = (Cos2(gTasks[taskId].data[2]) / 32) - 164; + } + + if (gTasks[taskId].data[2] != 0) + { + gTasks[taskId].data[2] -= 2; + gTasks[taskId].data[1] += 2; + } + else + { + if (gTasks[taskId].data[5] != 0) + DrawLinkBattleVsScreenOutcomeText(); + + PlaySE(SE_W231); + DestroyTask(taskId); + gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = FALSE; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = FALSE; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.tileNum += 0x40; + gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[0] = 0; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[0] = 1; + gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].pos1.x; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].pos1.x; + gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[2] = 0; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[2] = 0; + } + break; + } +} + +void DrawBattleEntryBackground(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + LZDecompressVram(gFile_graphics_battle_transitions_vs_frame_sheet, (void*)(BG_CHAR_ADDR(1))); + LZDecompressVram(gVsLettersGfx, (void*)(VRAM + 0x10000)); + LoadCompressedPalette(gFile_graphics_battle_transitions_vs_frame_palette, 0x60, 0x20); + SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT512x256); + CopyToBgTilemapBuffer(1, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0); + CopyToBgTilemapBuffer(2, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + gBattle_BG1_Y = -164; + gBattle_BG2_Y = -164; + LoadCompressedSpriteSheetUsingHeap(&sVsLettersSpriteSheet); + } + else if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_GRASS); + } + else if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_FIRE_RED) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_CAVE); + } + else + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_WATER); + } + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + if (trainerClass == CLASS_LEADER_2) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + return; + } + else if (trainerClass == CLASS_CHAMPION_2) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + return; + } + } + + if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL) + { + LoadBattleTerrainEntryGfx(gBattleTerrain); + } + else + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + } + } +} + +static u8 GetBattleTerrainOverride(void) +{ + u8 battleScene; + if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)) + { + return BATTLE_TERRAIN_LINK; + } + else if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE) + { + gBattleTerrain = BATTLE_TERRAIN_GRASS; + return BATTLE_TERRAIN_GRASS; + } + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_LEADER_2) + { + return BATTLE_TERRAIN_LEADER; + } + else if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_CHAMPION_2) + { + return BATTLE_TERRAIN_CHAMPION; + } + } + battleScene = GetCurrentMapBattleScene(); + if (battleScene == MAP_BATTLE_SCENE_NORMAL) + { + return gBattleTerrain; + } + return GetBattleTerrainByMapScene(battleScene); +} + +bool8 LoadChosenBattleElement(u8 caseId) +{ + bool8 ret = FALSE; + u8 battleScene; + switch (caseId) + { + case 0: + LZDecompressVram(gBattleTextboxTiles, (void *)BG_CHAR_ADDR(0)); + break; + case 1: + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0x000); + CopyBgTilemapBufferToVram(0); + break; + case 2: + LoadCompressedPalette(gBattleTextboxPalette, 0x00, 0x40); + break; + case 3: + battleScene = GetBattleTerrainOverride(); + LZDecompressVram(sBattleTerrainTable[battleScene].tileset, (void *)BG_CHAR_ADDR(2)); + // fallthrough + case 4: + battleScene = GetBattleTerrainOverride(); + LZDecompressVram(sBattleTerrainTable[battleScene].tilemap, (void *)BG_SCREEN_ADDR(26)); + break; + case 5: + battleScene = GetBattleTerrainOverride(); + LoadCompressedPalette(sBattleTerrainTable[battleScene].palette, 0x20, 0x60); + break; + case 6: + LoadBattleMenuWindowGfx(); + break; + default: + ret = TRUE; + break; + } + return ret; +} diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 7df93e170..3d8729824 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1,27 +1,20 @@ #include "global.h" -#include "bg.h" #include "data.h" #include "link.h" -#include "main.h" #include "m4a.h" #include "palette.h" #include "pokeball.h" #include "pokemon.h" -#include "reshow_battle_screen.h" #include "sound.h" #include "string_util.h" #include "task.h" #include "text.h" #include "util.h" -#include "window.h" #include "battle.h" -#include "battle_ai_script_commands.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_interface.h" #include "battle_message.h" -#include "battle_setup.h" -#include "battle_tower.h" #include "constants/battle_anim.h" #include "constants/songs.h" #include "constants/facility_trainer_classes.h" diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 96130f049..5ac4f1abc 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1,9 +1,6 @@ #include "global.h" -#include "bg.h" #include "data.h" #include "link.h" -#include "main.h" -#include "m4a.h" #include "palette.h" #include "pokeball.h" #include "pokemon.h" @@ -12,16 +9,11 @@ #include "task.h" #include "text.h" #include "util.h" -#include "window.h" #include "battle.h" -#include "battle_ai_script_commands.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_interface.h" #include "battle_message.h" -#include "battle_setup.h" -#include "battle_tower.h" -#include "reshow_battle_screen.h" #include "constants/battle_anim.h" #include "constants/songs.h" diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 3cb6d1432..26e35ae65 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1,15 +1,10 @@ #include "global.h" -#include "bg.h" #include "data.h" -#include "item.h" -#include "link.h" #include "main.h" #include "m4a.h" #include "task.h" #include "text.h" #include "util.h" -#include "window.h" -#include "palette.h" #include "pokeball.h" #include "pokemon.h" #include "random.h" @@ -20,15 +15,12 @@ #include "battle_controllers.h" #include "battle_message.h" #include "battle_interface.h" -#include "battle_setup.h" #include "battle_tower.h" #include "battle_gfx_sfx_util.h" #include "battle_ai_script_commands.h" #include "battle_ai_switch_items.h" #include "trainer_tower.h" -#include "reshow_battle_screen.h" #include "constants/battle_anim.h" -#include "constants/items.h" #include "constants/moves.h" #include "constants/songs.h" diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 7b0a8aa47..a751c0eea 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -10,7 +10,6 @@ #include "party_menu.h" #include "pokeball.h" #include "pokemon.h" -#include "random.h" #include "sound.h" #include "strings.h" #include "string_util.h" @@ -24,7 +23,6 @@ #include "battle_controllers.h" #include "battle_interface.h" #include "battle_message.h" -#include "battle_setup.h" #include "battle_script_commands.h" #include "reshow_battle_screen.h" #include "constants/battle_anim.h" diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c index d8ebe5ba4..8737a3866 100644 --- a/src/battle_controller_pokedude.c +++ b/src/battle_controller_pokedude.c @@ -11,7 +11,6 @@ #include "link.h" #include "sound.h" #include "event_data.h" -#include "item.h" #include "item_menu.h" #include "text.h" #include "strings.h" @@ -25,7 +24,6 @@ #include "reshow_battle_screen.h" #include "teachy_tv.h" #include "constants/songs.h" -#include "constants/items.h" #include "constants/moves.h" #include "constants/pokemon.h" #include "constants/trainers.h" diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 4b5153c7c..28ed4091e 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -9,16 +9,12 @@ #include "item_menu.h" #include "link.h" #include "main.h" -#include "m4a.h" #include "palette.h" #include "pokeball.h" #include "pokemon.h" -#include "reshow_battle_screen.h" #include "sound.h" -#include "task.h" #include "text.h" #include "util.h" -#include "window.h" #include "strings.h" #include "constants/songs.h" #include "constants/battle_anim.h" diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 60cff27be..127b0903b 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -13,8 +13,6 @@ #include "party_menu.h" #include "battle.h" #include "battle_main.h" -#include "battle_controllers.h" -#include "battle_ai_script_commands.h" #include "battle_anim.h" #include "battle_interface.h" #include "constants/battle_anim.h" @@ -546,7 +544,7 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) void LoadBattleBarGfx(u8 arg0) { - LZDecompressWram(gFile_graphics_interface_hp_numbers, gMonSpritesGfxPtr->barFontGfx); + LZDecompressWram(gInterfaceGfx_HPNumbers, gMonSpritesGfxPtr->barFontGfx); } bool8 BattleInitAllSprites(u8 *state, u8 *battlerId) diff --git a/src/battle_interface.c b/src/battle_interface.c index 56e9e0fad..e5145adc0 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -12,7 +12,6 @@ #include "safari_zone.h" #include "sound.h" #include "string_util.h" -#include "strings.h" #include "text.h" #include "window.h" #include "constants/songs.h" diff --git a/src/battle_main.c b/src/battle_main.c index faad8bafb..e7d02c673 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -8,13 +8,11 @@ #include "battle_message.h" #include "battle_scripts.h" #include "battle_setup.h" -#include "battle_tower.h" #include "battle_string_ids.h" #include "berry.h" #include "bg.h" #include "data.h" #include "decompress.h" -#include "dma3.h" #include "event_data.h" #include "evolution_scene.h" #include "graphics.h" @@ -40,14 +38,12 @@ #include "sound.h" #include "sprite.h" #include "string_util.h" -#include "strings.h" #include "task.h" #include "text.h" #include "trig.h" #include "vs_seeker.h" #include "util.h" #include "window.h" -#include "cable_club.h" #include "constants/abilities.h" #include "constants/battle_move_effects.h" #include "constants/battle_setup.h" @@ -979,7 +975,7 @@ static void CB2_HandleStartBattle(void) ResetBlockReceivedFlags(); sub_8010414(2, playerMultiplayerId); SetAllPlayersBerryData(); - taskId = CreateTask(sub_800F6FC, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 270; gTasks[taskId].data[2] = 90; gTasks[taskId].data[5] = 0; @@ -1227,7 +1223,7 @@ static void CB2_HandleStartMultiBattle(void) SetAllPlayersBerryData(); SetDeoxysStats(); memcpy(gDecompressionBuffer, gPlayerParty, sizeof(struct Pokemon) * 3); - taskId = CreateTask(sub_800F6FC, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 270; gTasks[taskId].data[2] = 90; gTasks[taskId].data[5] = 0; @@ -1785,7 +1781,7 @@ void sub_8011A1C(void) FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; SetVBlankCallback(VBlankCB_Battle); - taskId = CreateTask(sub_800F6FC, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 270; gTasks[taskId].data[2] = 90; gTasks[taskId].data[5] = 1; diff --git a/src/battle_message.c b/src/battle_message.c index d8367c75e..7ca47e6fb 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -22,7 +22,6 @@ #include "constants/moves.h" #include "constants/items.h" #include "constants/trainer_classes.h" -#include "constants/trainer_tower.h" struct BattleWindowText { @@ -1272,9 +1271,9 @@ const u8 gUnknown_83FE860[] = _(" is"); const u8 gUnknown_83FE864[] = _(" is"); const u8 gText_BadEgg[] = _("Bad EGG"); const u8 gUnknown_83FE870[] = _("ミツル"); -const u8 gUnknown_83FE874[] = _("{HIGHLIGHT 0}Win"); -const u8 gUnknown_83FE87B[] = _("{HIGHLIGHT 0}Loss"); -const u8 gUnknown_83FE883[] = _("{HIGHLIGHT 0}Draw"); +const u8 gText_Win[] = _("{HIGHLIGHT 0}Win"); +const u8 gText_Loss[] = _("{HIGHLIGHT 0}Loss"); +const u8 gText_Draw[] = _("{HIGHLIGHT 0}Draw"); static const u8 sText_SpaceIs[] = _(" is"); static const u8 sText_ApostropheS[] = _("'s"); const u8 gUnknown_83FE892[] = _("a NORMAL move"); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4875a63f2..de505827f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3,7 +3,6 @@ #include "util.h" #include "pokemon.h" #include "random.h" -#include "data.h" #include "text.h" #include "sound.h" #include "pokedex.h" @@ -14,7 +13,6 @@ #include "bg.h" #include "string_util.h" #include "pokemon_icon.h" -#include "m4a.h" #include "mail.h" #include "event_data.h" #include "strings.h" @@ -30,7 +28,6 @@ #include "battle.h" #include "battle_message.h" #include "battle_anim.h" -#include "battle_setup.h" #include "battle_ai_script_commands.h" #include "battle_scripts.h" #include "battle_string_ids.h" diff --git a/src/battle_setup.c b/src/battle_setup.c index 73e7acc1a..354487abd 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -13,7 +13,7 @@ #include "strings.h" #include "string_util.h" #include "event_data.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "metatile_behavior.h" #include "event_scripts.h" #include "fldeff.h" @@ -22,10 +22,8 @@ #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_message_box.h" -#include "event_object_movement.h" #include "vs_seeker.h" #include "battle.h" -#include "battle_setup.h" #include "battle_transition.h" #include "battle_controllers.h" #include "constants/battle_setup.h" @@ -37,7 +35,6 @@ #include "constants/pokemon.h" #include "constants/trainers.h" #include "constants/trainer_classes.h" -#include "constants/maps.h" enum { diff --git a/src/battle_tower.c b/src/battle_tower.c index cecc05e29..82d3c4d85 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -24,7 +24,7 @@ #include "constants/moves.h" #include "constants/pokemon.h" #include "constants/vars.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" static EWRAM_DATA u16 sSpecialVar_0x8004_Copy = 0; @@ -389,7 +389,7 @@ void ChooseNextBattleTowerTrainer(void) static void SetBattleTowerTrainerGfxId(u8 trainerClass) { - VarSet(VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_YOUNGSTER); + VarSet(VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_YOUNGSTER); } void SetEReaderTrainerGfxId(void) diff --git a/src/battle_transition.c b/src/battle_transition.c index 463a3d930..b33d72f15 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -644,7 +644,7 @@ static bool8 BT_Phase1Blink(struct Task *task) static bool8 BT_WaitForPhase1(struct Task *task) { - if (FindTaskIdByFunc(sBT_Phase1Tasks[task->tTransitionId]) == TASK_NONE) + if (FindTaskIdByFunc(sBT_Phase1Tasks[task->tTransitionId]) == TAIL_SENTINEL) { ++task->tState; return TRUE; @@ -665,7 +665,7 @@ static bool8 BT_Phase2LaunchAnimTask(struct Task *task) static bool8 BT_WaitForPhase2(struct Task *task) { task->tTransitionDone = FALSE; - if (FindTaskIdByFunc(sBT_Phase2Tasks[task->tTransitionId]) == TASK_NONE) + if (FindTaskIdByFunc(sBT_Phase2Tasks[task->tTransitionId]) == TAIL_SENTINEL) task->tTransitionDone = TRUE; return FALSE; } @@ -3432,7 +3432,7 @@ static void BT_CreatePhase1SubTask(s16 fadeOutDelay, s16 fadeInDelay, s16 blinkT static bool8 BT_IsPhase1Done(void) { - if (FindTaskIdByFunc(BT_Phase1SubTask) == TASK_NONE) + if (FindTaskIdByFunc(BT_Phase1SubTask) == TAIL_SENTINEL) return TRUE; else return FALSE; diff --git a/src/battle_util2.c b/src/battle_util2.c index a3a748767..6de4941cb 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -5,7 +5,6 @@ #include "pokemon.h" #include "malloc.h" #include "trainer_tower.h" -#include "battle_util2.h" void AllocateBattleResources(void) { diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index e60a53ef9..2e0bf8256 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -1,17 +1,12 @@ #include "global.h" #include "gpu_regs.h" #include "multiboot.h" -#include "malloc.h" -#include "bg.h" #include "graphics.h" #include "main.h" #include "sprite.h" #include "task.h" #include "scanline_effect.h" -#include "window.h" -#include "text.h" #include "help_system.h" -#include "menu.h" #include "m4a.h" // Static type declarations diff --git a/src/credits.c b/src/credits.c index ceb2028f9..a53d72f31 100644 --- a/src/credits.c +++ b/src/credits.c @@ -11,8 +11,6 @@ #include "decompress.h" #include "graphics.h" #include "strings.h" -#include "menu.h" -#include "field_weather.h" #include "trainer_pokemon_sprites.h" #include "sound.h" #include "constants/species.h" diff --git a/src/data/graphics/battle_terrain.h b/src/data/graphics/battle_terrain.h new file mode 100644 index 000000000..f91c2d0d9 --- /dev/null +++ b/src/data/graphics/battle_terrain.h @@ -0,0 +1,30 @@ + +const u32 gFile_graphics_battle_terrain_plain_palette_palette[] = INCBIN_U32("graphics/battle_terrain/plain/palette.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_tiles_sheet[] = INCBIN_U32("graphics/battle_terrain/building/tiles.4bpp.lz"); + +const u32 gFile_graphics_battle_terrain_stadium_battle_frontier_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_map_tilemap[] = INCBIN_U32("graphics/battle_terrain/building/map.bin.lz"); + +const u32 gFile_graphics_battle_terrain_stadium_tiles_sheet[] = INCBIN_U32("graphics/battle_terrain/stadium/tiles.4bpp.lz"); +const u32 gFile_graphics_battle_terrain_stadium_map_tilemap[] = INCBIN_U32("graphics/battle_terrain/stadium/map.bin.lz"); + +const u32 gFile_graphics_battle_terrain_building_palette_palette[] = INCBIN_U32("graphics/battle_terrain/building/palette.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_water_kyogre_palette[] = INCBIN_U32("graphics/battle_terrain/water/kyogre.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_cave_groudon_palette[] = INCBIN_U32("graphics/battle_terrain/cave/groudon.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_palette2_palette[] = INCBIN_U32("graphics/battle_terrain/building/palette2.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_building_palette3_palette[] = INCBIN_U32("graphics/battle_terrain/building/palette3.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_stadium_palette1_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette1.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette2_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette2.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette3_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette3.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette4_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette4.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette5_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette5.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette6_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette6.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette7_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette7.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_anim_tiles_sheet[] = INCBIN_U32("graphics/battle_terrain/building/anim_tiles.4bpp.lz"); +const u32 gFile_graphics_battle_terrain_building_anim_map_tilemap[] = INCBIN_U32("graphics/battle_terrain/building/anim_map.bin.lz"); diff --git a/src/data/graphics/interface_pokeballs.h b/src/data/graphics/interface_pokeballs.h new file mode 100644 index 000000000..fe9a4e5be --- /dev/null +++ b/src/data/graphics/interface_pokeballs.h @@ -0,0 +1,37 @@ +const u32 gInterfaceGfx_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.4bpp.lz"); +const u32 gInterfacePal_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.gbapal.lz"); + +const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz"); +const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz"); + +const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz"); +const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz"); + +const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz"); +const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz"); + +const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz"); +const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz"); + +const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz"); +const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz"); + +const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz"); +const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz"); + +const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz"); +const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz"); + +const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz"); +const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz"); + +const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz"); +const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz"); + +const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz"); +const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz"); + +const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz"); +const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz"); + +const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz"); diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h new file mode 100644 index 000000000..ee86b454c --- /dev/null +++ b/src/data/graphics/items.h @@ -0,0 +1,672 @@ +const u32 gFile_graphics_items_icons_question_mark_sheet[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_question_mark_palette[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz"); + +const u32 gFile_graphics_items_icons_return_to_field_arrow_sheet[] = INCBIN_U32("graphics/items/icons/return_to_field_arrow.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_return_to_field_arrow_palette[] = INCBIN_U32("graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz"); + +const u32 gFile_graphics_items_icons_master_ball_sheet[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_master_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ultra_ball_sheet[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ultra_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_great_ball_sheet[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_great_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poke_ball_sheet[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poke_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_safari_ball_sheet[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_safari_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_net_ball_sheet[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_net_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dive_ball_sheet[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dive_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_nest_ball_sheet[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nest_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_repeat_ball_sheet[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_repeat_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_timer_ball_sheet[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz"); + +const u32 gFile_graphics_items_icons_luxury_ball_sheet[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_luxury_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_premier_ball_sheet[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz"); + +const u32 gFile_graphics_items_icons_potion_sheet[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/potion.gbapal.lz"); + +const u32 gFile_graphics_items_icons_antidote_sheet[] = INCBIN_U32("graphics/items/icons/antidote.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_antidote_palette[] = INCBIN_U32("graphics/items/icon_palettes/antidote.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_burn_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/burn_heal.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ice_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/ice_heal.gbapal.lz"); +const u32 gFile_graphics_items_icons_status_heal_sheet[] = INCBIN_U32("graphics/items/icons/status_heal.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_awakening_palette[] = INCBIN_U32("graphics/items/icon_palettes/awakening.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_paralyze_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/paralyze_heal.gbapal.lz"); + +const u32 gFile_graphics_items_icons_large_potion_sheet[] = INCBIN_U32("graphics/items/icons/large_potion.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_full_restore_palette[] = INCBIN_U32("graphics/items/icon_palettes/full_restore.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_potion.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_hyper_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/hyper_potion.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_super_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_potion.gbapal.lz"); + +const u32 gFile_graphics_items_icons_full_heal_sheet[] = INCBIN_U32("graphics/items/icons/full_heal.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_full_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/full_heal.gbapal.lz"); + +const u32 gFile_graphics_items_icons_revive_sheet[] = INCBIN_U32("graphics/items/icons/revive.4bpp.lz"); +const u32 gFile_graphics_items_icons_max_revive_sheet[] = INCBIN_U32("graphics/items/icons/max_revive.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_revive_palette[] = INCBIN_U32("graphics/items/icon_palettes/revive.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fresh_water_sheet[] = INCBIN_U32("graphics/items/icons/fresh_water.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fresh_water_palette[] = INCBIN_U32("graphics/items/icon_palettes/fresh_water.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soda_pop_sheet[] = INCBIN_U32("graphics/items/icons/soda_pop.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soda_pop_palette[] = INCBIN_U32("graphics/items/icon_palettes/soda_pop.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lemonade_sheet[] = INCBIN_U32("graphics/items/icons/lemonade.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lemonade_palette[] = INCBIN_U32("graphics/items/icon_palettes/lemonade.gbapal.lz"); + +const u32 gFile_graphics_items_icons_moomoo_milk_sheet[] = INCBIN_U32("graphics/items/icons/moomoo_milk.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_moomoo_milk_palette[] = INCBIN_U32("graphics/items/icon_palettes/moomoo_milk.gbapal.lz"); + +const u32 gFile_graphics_items_icons_powder_sheet[] = INCBIN_U32("graphics/items/icons/powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_energy_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/energy_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_energy_root_sheet[] = INCBIN_U32("graphics/items/icons/energy_root.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_energy_root_palette[] = INCBIN_U32("graphics/items/icon_palettes/energy_root.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_heal_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/heal_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_revival_herb_sheet[] = INCBIN_U32("graphics/items/icons/revival_herb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_revival_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/revival_herb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ether_sheet[] = INCBIN_U32("graphics/items/icons/ether.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ether_palette[] = INCBIN_U32("graphics/items/icon_palettes/ether.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_ether_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_ether.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_elixir_palette[] = INCBIN_U32("graphics/items/icon_palettes/elixir.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_elixir_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_elixir.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lava_cookie_sheet[] = INCBIN_U32("graphics/items/icons/lava_cookie.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette[] = INCBIN_U32("graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz"); + +const u32 gFile_graphics_items_icons_flute_sheet[] = INCBIN_U32("graphics/items/icons/flute.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_yellow_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_red_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_black_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/black_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_white_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/white_flute.gbapal.lz"); + +const u32 gFile_graphics_items_icons_berry_juice_sheet[] = INCBIN_U32("graphics/items/icons/berry_juice.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_berry_juice_palette[] = INCBIN_U32("graphics/items/icon_palettes/berry_juice.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sacred_ash_sheet[] = INCBIN_U32("graphics/items/icons/sacred_ash.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sacred_ash_palette[] = INCBIN_U32("graphics/items/icon_palettes/sacred_ash.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_shoal_salt_palette[] = INCBIN_U32("graphics/items/icon_palettes/shoal_salt.gbapal.lz"); +const u32 gFile_graphics_items_icons_shoal_shell_sheet[] = INCBIN_U32("graphics/items/icons/shoal_shell.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_shell_palette[] = INCBIN_U32("graphics/items/icon_palettes/shell.gbapal.lz"); + +const u32 gFile_graphics_items_icons_shard_sheet[] = INCBIN_U32("graphics/items/icons/shard.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_red_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_shard.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_shard.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_yellow_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_shard.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_green_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/green_shard.gbapal.lz"); + +const u32 gFile_graphics_items_icons_hp_up_sheet[] = INCBIN_U32("graphics/items/icons/hp_up.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hp_up_palette[] = INCBIN_U32("graphics/items/icon_palettes/hp_up.gbapal.lz"); + +const u32 gFile_graphics_items_icons_vitamin_sheet[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_protein_palette[] = INCBIN_U32("graphics/items/icon_palettes/protein.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_iron_palette[] = INCBIN_U32("graphics/items/icon_palettes/iron.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_carbos_palette[] = INCBIN_U32("graphics/items/icon_palettes/carbos.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_calcium_palette[] = INCBIN_U32("graphics/items/icon_palettes/calcium.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rare_candy_sheet[] = INCBIN_U32("graphics/items/icons/rare_candy.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rare_candy_palette[] = INCBIN_U32("graphics/items/icon_palettes/rare_candy.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pp_up_sheet[] = INCBIN_U32("graphics/items/icons/pp_up.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pp_up_palette[] = INCBIN_U32("graphics/items/icon_palettes/pp_up.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_zinc_palette[] = INCBIN_U32("graphics/items/icon_palettes/zinc.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pp_max_sheet[] = INCBIN_U32("graphics/items/icons/pp_max.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pp_max_palette[] = INCBIN_U32("graphics/items/icon_palettes/pp_max.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_guard_spec_palette[] = INCBIN_U32("graphics/items/icon_palettes/guard_spec.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_dire_hit_palette[] = INCBIN_U32("graphics/items/icon_palettes/dire_hit.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_attack_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_attack.gbapal.lz"); +const u32 gFile_graphics_items_icons_battle_stat_item_sheet[] = INCBIN_U32("graphics/items/icons/battle_stat_item.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_x_defend_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_defend.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_speed_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_speed.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_accuracy_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_accuracy.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_special_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_special.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poke_doll_sheet[] = INCBIN_U32("graphics/items/icons/poke_doll.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poke_doll_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_doll.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fluffy_tail_sheet[] = INCBIN_U32("graphics/items/icons/fluffy_tail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fluffy_tail_palette[] = INCBIN_U32("graphics/items/icon_palettes/fluffy_tail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_repel_sheet[] = INCBIN_U32("graphics/items/icons/repel.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_super_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_repel.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_repel.gbapal.lz"); + +const u32 gFile_graphics_items_icons_escape_rope_sheet[] = INCBIN_U32("graphics/items/icons/escape_rope.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_escape_rope_palette[] = INCBIN_U32("graphics/items/icon_palettes/escape_rope.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/repel.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sun_stone_sheet[] = INCBIN_U32("graphics/items/icons/sun_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sun_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/sun_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_moon_stone_sheet[] = INCBIN_U32("graphics/items/icons/moon_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_moon_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/moon_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fire_stone_sheet[] = INCBIN_U32("graphics/items/icons/fire_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fire_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/fire_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_thunder_stone_sheet[] = INCBIN_U32("graphics/items/icons/thunder_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_thunder_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/thunder_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_water_stone_sheet[] = INCBIN_U32("graphics/items/icons/water_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_water_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/water_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_leaf_stone_sheet[] = INCBIN_U32("graphics/items/icons/leaf_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_leaf_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/leaf_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tiny_mushroom_sheet[] = INCBIN_U32("graphics/items/icons/tiny_mushroom.4bpp.lz"); +const u32 gFile_graphics_items_icons_big_mushroom_sheet[] = INCBIN_U32("graphics/items/icons/big_mushroom.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mushroom_palette[] = INCBIN_U32("graphics/items/icon_palettes/mushroom.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pearl_sheet[] = INCBIN_U32("graphics/items/icons/pearl.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pearl_palette[] = INCBIN_U32("graphics/items/icon_palettes/pearl.gbapal.lz"); +const u32 gFile_graphics_items_icons_big_pearl_sheet[] = INCBIN_U32("graphics/items/icons/big_pearl.4bpp.lz"); + +const u32 gFile_graphics_items_icons_stardust_sheet[] = INCBIN_U32("graphics/items/icons/stardust.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_star_palette[] = INCBIN_U32("graphics/items/icon_palettes/star.gbapal.lz"); +const u32 gFile_graphics_items_icons_star_piece_sheet[] = INCBIN_U32("graphics/items/icons/star_piece.4bpp.lz"); + +const u32 gFile_graphics_items_icons_nugget_sheet[] = INCBIN_U32("graphics/items/icons/nugget.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nugget_palette[] = INCBIN_U32("graphics/items/icon_palettes/nugget.gbapal.lz"); + +const u32 gFile_graphics_items_icons_heart_scale_sheet[] = INCBIN_U32("graphics/items/icons/heart_scale.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_heart_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/heart_scale.gbapal.lz"); + +const u32 gFile_graphics_items_icons_orange_mail_sheet[] = INCBIN_U32("graphics/items/icons/orange_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_orange_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/orange_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_harbor_mail_sheet[] = INCBIN_U32("graphics/items/icons/harbor_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_harbor_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/harbor_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_glitter_mail_sheet[] = INCBIN_U32("graphics/items/icons/glitter_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_glitter_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/glitter_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mech_mail_sheet[] = INCBIN_U32("graphics/items/icons/mech_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mech_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/mech_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wood_mail_sheet[] = INCBIN_U32("graphics/items/icons/wood_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wood_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wood_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wave_mail_sheet[] = INCBIN_U32("graphics/items/icons/wave_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wave_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wave_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bead_mail_sheet[] = INCBIN_U32("graphics/items/icons/bead_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bead_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/bead_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_shadow_mail_sheet[] = INCBIN_U32("graphics/items/icons/shadow_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_shadow_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/shadow_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tropic_mail_sheet[] = INCBIN_U32("graphics/items/icons/tropic_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tropic_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/tropic_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dream_mail_sheet[] = INCBIN_U32("graphics/items/icons/dream_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dream_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/dream_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fab_mail_sheet[] = INCBIN_U32("graphics/items/icons/fab_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fab_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/fab_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_retro_mail_sheet[] = INCBIN_U32("graphics/items/icons/retro_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_retro_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/retro_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_cheri_berry_sheet[] = INCBIN_U32("graphics/items/icons/cheri_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_cheri_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/cheri_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_chesto_berry_sheet[] = INCBIN_U32("graphics/items/icons/chesto_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_chesto_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/chesto_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pecha_berry_sheet[] = INCBIN_U32("graphics/items/icons/pecha_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pecha_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pecha_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rawst_berry_sheet[] = INCBIN_U32("graphics/items/icons/rawst_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rawst_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/rawst_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_aspear_berry_sheet[] = INCBIN_U32("graphics/items/icons/aspear_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_aspear_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/aspear_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_leppa_berry_sheet[] = INCBIN_U32("graphics/items/icons/leppa_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_leppa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/leppa_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_oran_berry_sheet[] = INCBIN_U32("graphics/items/icons/oran_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_oran_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/oran_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_persim_berry_sheet[] = INCBIN_U32("graphics/items/icons/persim_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_persim_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/persim_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lum_berry_sheet[] = INCBIN_U32("graphics/items/icons/lum_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lum_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/lum_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sitrus_berry_sheet[] = INCBIN_U32("graphics/items/icons/sitrus_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sitrus_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/sitrus_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_figy_berry_sheet[] = INCBIN_U32("graphics/items/icons/figy_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_figy_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/figy_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wiki_berry_sheet[] = INCBIN_U32("graphics/items/icons/wiki_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wiki_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/wiki_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mago_berry_sheet[] = INCBIN_U32("graphics/items/icons/mago_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mago_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/mago_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_aguav_berry_sheet[] = INCBIN_U32("graphics/items/icons/aguav_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_aguav_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/aguav_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_iapapa_berry_sheet[] = INCBIN_U32("graphics/items/icons/iapapa_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_iapapa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/iapapa_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_razz_berry_sheet[] = INCBIN_U32("graphics/items/icons/razz_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_razz_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/razz_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bluk_berry_sheet[] = INCBIN_U32("graphics/items/icons/bluk_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bluk_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/bluk_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_nanab_berry_sheet[] = INCBIN_U32("graphics/items/icons/nanab_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nanab_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/nanab_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wepear_berry_sheet[] = INCBIN_U32("graphics/items/icons/wepear_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wepear_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/wepear_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pinap_berry_sheet[] = INCBIN_U32("graphics/items/icons/pinap_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pinap_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pinap_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pomeg_berry_sheet[] = INCBIN_U32("graphics/items/icons/pomeg_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pomeg_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pomeg_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_kelpsy_berry_sheet[] = INCBIN_U32("graphics/items/icons/kelpsy_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_kelpsy_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/kelpsy_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_qualot_berry_sheet[] = INCBIN_U32("graphics/items/icons/qualot_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_qualot_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/qualot_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_hondew_berry_sheet[] = INCBIN_U32("graphics/items/icons/hondew_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hondew_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/hondew_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_grepa_berry_sheet[] = INCBIN_U32("graphics/items/icons/grepa_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_grepa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/grepa_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tamato_berry_sheet[] = INCBIN_U32("graphics/items/icons/tamato_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tamato_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/tamato_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_cornn_berry_sheet[] = INCBIN_U32("graphics/items/icons/cornn_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_cornn_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/cornn_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_magost_berry_sheet[] = INCBIN_U32("graphics/items/icons/magost_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_magost_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/magost_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rabuta_berry_sheet[] = INCBIN_U32("graphics/items/icons/rabuta_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rabuta_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/rabuta_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_nomel_berry_sheet[] = INCBIN_U32("graphics/items/icons/nomel_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nomel_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/nomel_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_spelon_berry_sheet[] = INCBIN_U32("graphics/items/icons/spelon_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_spelon_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/spelon_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pamtre_berry_sheet[] = INCBIN_U32("graphics/items/icons/pamtre_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pamtre_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pamtre_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_watmel_berry_sheet[] = INCBIN_U32("graphics/items/icons/watmel_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_watmel_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/watmel_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_durin_berry_sheet[] = INCBIN_U32("graphics/items/icons/durin_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_durin_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/durin_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_belue_berry_sheet[] = INCBIN_U32("graphics/items/icons/belue_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_belue_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/belue_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_liechi_berry_sheet[] = INCBIN_U32("graphics/items/icons/liechi_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_liechi_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/liechi_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ganlon_berry_sheet[] = INCBIN_U32("graphics/items/icons/ganlon_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ganlon_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/ganlon_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_salac_berry_sheet[] = INCBIN_U32("graphics/items/icons/salac_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_salac_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/salac_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_petaya_berry_sheet[] = INCBIN_U32("graphics/items/icons/petaya_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_petaya_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/petaya_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_apicot_berry_sheet[] = INCBIN_U32("graphics/items/icons/apicot_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_apicot_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/apicot_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lansat_berry_sheet[] = INCBIN_U32("graphics/items/icons/lansat_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lansat_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/lansat_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_starf_berry_sheet[] = INCBIN_U32("graphics/items/icons/starf_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_starf_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/starf_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_enigma_berry_sheet[] = INCBIN_U32("graphics/items/icons/enigma_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_enigma_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/enigma_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bright_powder_sheet[] = INCBIN_U32("graphics/items/icons/bright_powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bright_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/bright_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_in_battle_herb_sheet[] = INCBIN_U32("graphics/items/icons/in_battle_herb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_white_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/white_herb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_macho_brace_sheet[] = INCBIN_U32("graphics/items/icons/macho_brace.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_macho_brace_palette[] = INCBIN_U32("graphics/items/icon_palettes/macho_brace.gbapal.lz"); + +const u32 gFile_graphics_items_icons_exp_share_sheet[] = INCBIN_U32("graphics/items/icons/exp_share.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_exp_share_palette[] = INCBIN_U32("graphics/items/icon_palettes/exp_share.gbapal.lz"); + +const u32 gFile_graphics_items_icons_quick_claw_sheet[] = INCBIN_U32("graphics/items/icons/quick_claw.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_quick_claw_palette[] = INCBIN_U32("graphics/items/icon_palettes/quick_claw.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soothe_bell_sheet[] = INCBIN_U32("graphics/items/icons/soothe_bell.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soothe_bell_palette[] = INCBIN_U32("graphics/items/icon_palettes/soothe_bell.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_mental_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/mental_herb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_choice_band_sheet[] = INCBIN_U32("graphics/items/icons/choice_band.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_choice_band_palette[] = INCBIN_U32("graphics/items/icon_palettes/choice_band.gbapal.lz"); + +const u32 gFile_graphics_items_icons_kings_rock_sheet[] = INCBIN_U32("graphics/items/icons/kings_rock.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_kings_rock_palette[] = INCBIN_U32("graphics/items/icon_palettes/kings_rock.gbapal.lz"); + +const u32 gFile_graphics_items_icons_silver_powder_sheet[] = INCBIN_U32("graphics/items/icons/silver_powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_silver_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/silver_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_amulet_coin_sheet[] = INCBIN_U32("graphics/items/icons/amulet_coin.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_amulet_coin_palette[] = INCBIN_U32("graphics/items/icon_palettes/amulet_coin.gbapal.lz"); + +const u32 gFile_graphics_items_icons_cleanse_tag_sheet[] = INCBIN_U32("graphics/items/icons/cleanse_tag.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_cleanse_tag_palette[] = INCBIN_U32("graphics/items/icon_palettes/cleanse_tag.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soul_dew_sheet[] = INCBIN_U32("graphics/items/icons/soul_dew.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soul_dew_palette[] = INCBIN_U32("graphics/items/icon_palettes/soul_dew.gbapal.lz"); + +const u32 gFile_graphics_items_icons_deep_sea_tooth_sheet[] = INCBIN_U32("graphics/items/icons/deep_sea_tooth.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_deep_sea_tooth_palette[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz"); + +const u32 gFile_graphics_items_icons_deep_sea_scale_sheet[] = INCBIN_U32("graphics/items/icons/deep_sea_scale.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_deep_sea_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_scale.gbapal.lz"); + +const u32 gFile_graphics_items_icons_smoke_ball_sheet[] = INCBIN_U32("graphics/items/icons/smoke_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_smoke_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/smoke_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_everstone_sheet[] = INCBIN_U32("graphics/items/icons/everstone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_everstone_palette[] = INCBIN_U32("graphics/items/icon_palettes/everstone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_focus_band_sheet[] = INCBIN_U32("graphics/items/icons/focus_band.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_focus_band_palette[] = INCBIN_U32("graphics/items/icon_palettes/focus_band.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lucky_egg_sheet[] = INCBIN_U32("graphics/items/icons/lucky_egg.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lucky_egg_palette[] = INCBIN_U32("graphics/items/icon_palettes/lucky_egg.gbapal.lz"); + +const u32 gFile_graphics_items_icons_scope_lens_sheet[] = INCBIN_U32("graphics/items/icons/scope_lens.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_scope_lens_palette[] = INCBIN_U32("graphics/items/icon_palettes/scope_lens.gbapal.lz"); + +const u32 gFile_graphics_items_icons_metal_coat_sheet[] = INCBIN_U32("graphics/items/icons/metal_coat.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_metal_coat_palette[] = INCBIN_U32("graphics/items/icon_palettes/metal_coat.gbapal.lz"); + +const u32 gFile_graphics_items_icons_leftovers_sheet[] = INCBIN_U32("graphics/items/icons/leftovers.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_leftovers_palette[] = INCBIN_U32("graphics/items/icon_palettes/leftovers.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dragon_scale_sheet[] = INCBIN_U32("graphics/items/icons/dragon_scale.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dragon_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_scale.gbapal.lz"); + +const u32 gFile_graphics_items_icons_light_ball_sheet[] = INCBIN_U32("graphics/items/icons/light_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_light_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/light_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soft_sand_sheet[] = INCBIN_U32("graphics/items/icons/soft_sand.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soft_sand_palette[] = INCBIN_U32("graphics/items/icon_palettes/soft_sand.gbapal.lz"); + +const u32 gFile_graphics_items_icons_hard_stone_sheet[] = INCBIN_U32("graphics/items/icons/hard_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hard_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/hard_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_miracle_seed_sheet[] = INCBIN_U32("graphics/items/icons/miracle_seed.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_miracle_seed_palette[] = INCBIN_U32("graphics/items/icon_palettes/miracle_seed.gbapal.lz"); + +const u32 gFile_graphics_items_icons_black_glasses_sheet[] = INCBIN_U32("graphics/items/icons/black_glasses.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette[] = INCBIN_U32("graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz"); +const u32 gFile_graphics_items_icons_black_belt_sheet[] = INCBIN_U32("graphics/items/icons/black_belt.4bpp.lz"); + +const u32 gFile_graphics_items_icons_magnet_sheet[] = INCBIN_U32("graphics/items/icons/magnet.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_magnet_palette[] = INCBIN_U32("graphics/items/icon_palettes/magnet.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mystic_water_sheet[] = INCBIN_U32("graphics/items/icons/mystic_water.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mystic_water_palette[] = INCBIN_U32("graphics/items/icon_palettes/mystic_water.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sharp_beak_sheet[] = INCBIN_U32("graphics/items/icons/sharp_beak.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sharp_beak_palette[] = INCBIN_U32("graphics/items/icon_palettes/sharp_beak.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poison_barb_sheet[] = INCBIN_U32("graphics/items/icons/poison_barb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poison_barb_palette[] = INCBIN_U32("graphics/items/icon_palettes/poison_barb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_never_melt_ice_sheet[] = INCBIN_U32("graphics/items/icons/never_melt_ice.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_never_melt_ice_palette[] = INCBIN_U32("graphics/items/icon_palettes/never_melt_ice.gbapal.lz"); + +const u32 gFile_graphics_items_icons_spell_tag_sheet[] = INCBIN_U32("graphics/items/icons/spell_tag.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_spell_tag_palette[] = INCBIN_U32("graphics/items/icon_palettes/spell_tag.gbapal.lz"); + +const u32 gFile_graphics_items_icons_twisted_spoon_sheet[] = INCBIN_U32("graphics/items/icons/twisted_spoon.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_twisted_spoon_palette[] = INCBIN_U32("graphics/items/icon_palettes/twisted_spoon.gbapal.lz"); + +const u32 gFile_graphics_items_icons_charcoal_sheet[] = INCBIN_U32("graphics/items/icons/charcoal.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_charcoal_palette[] = INCBIN_U32("graphics/items/icon_palettes/charcoal.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dragon_fang_sheet[] = INCBIN_U32("graphics/items/icons/dragon_fang.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dragon_fang_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_fang.gbapal.lz"); + +const u32 gFile_graphics_items_icons_silk_scarf_sheet[] = INCBIN_U32("graphics/items/icons/silk_scarf.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_silk_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/silk_scarf.gbapal.lz"); + +const u32 gFile_graphics_items_icons_up_grade_sheet[] = INCBIN_U32("graphics/items/icons/up_grade.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_up_grade_palette[] = INCBIN_U32("graphics/items/icon_palettes/up_grade.gbapal.lz"); + +const u32 gFile_graphics_items_icons_shell_bell_sheet[] = INCBIN_U32("graphics/items/icons/shell_bell.4bpp.lz"); + +const u32 gFile_graphics_items_icons_sea_incense_sheet[] = INCBIN_U32("graphics/items/icons/sea_incense.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sea_incense_palette[] = INCBIN_U32("graphics/items/icon_palettes/sea_incense.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lax_incense_sheet[] = INCBIN_U32("graphics/items/icons/lax_incense.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lax_incense_palette[] = INCBIN_U32("graphics/items/icon_palettes/lax_incense.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lucky_punch_sheet[] = INCBIN_U32("graphics/items/icons/lucky_punch.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lucky_punch_palette[] = INCBIN_U32("graphics/items/icon_palettes/lucky_punch.gbapal.lz"); + +const u32 gFile_graphics_items_icons_metal_powder_sheet[] = INCBIN_U32("graphics/items/icons/metal_powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_metal_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/metal_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_thick_club_sheet[] = INCBIN_U32("graphics/items/icons/thick_club.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_thick_club_palette[] = INCBIN_U32("graphics/items/icon_palettes/thick_club.gbapal.lz"); + +const u32 gFile_graphics_items_icons_stick_sheet[] = INCBIN_U32("graphics/items/icons/stick.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_stick_palette[] = INCBIN_U32("graphics/items/icon_palettes/stick.gbapal.lz"); + +const u32 gFile_graphics_items_icons_scarf_sheet[] = INCBIN_U32("graphics/items/icons/scarf.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_red_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_pink_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/pink_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_green_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/green_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_yellow_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_scarf.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mach_bike_sheet[] = INCBIN_U32("graphics/items/icons/mach_bike.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mach_bike_palette[] = INCBIN_U32("graphics/items/icon_palettes/mach_bike.gbapal.lz"); + +const u32 gFile_graphics_items_icons_coin_case_sheet[] = INCBIN_U32("graphics/items/icons/coin_case.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_coin_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/coin_case.gbapal.lz"); + +const u32 gFile_graphics_items_icons_itemfinder_sheet[] = INCBIN_U32("graphics/items/icons/itemfinder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_itemfinder_palette[] = INCBIN_U32("graphics/items/icon_palettes/itemfinder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_old_rod_sheet[] = INCBIN_U32("graphics/items/icons/old_rod.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_old_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_rod.gbapal.lz"); + +const u32 gFile_graphics_items_icons_good_rod_sheet[] = INCBIN_U32("graphics/items/icons/good_rod.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_good_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/good_rod.gbapal.lz"); + +const u32 gFile_graphics_items_icons_super_rod_sheet[] = INCBIN_U32("graphics/items/icons/super_rod.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_super_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_rod.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ss_ticket_sheet[] = INCBIN_U32("graphics/items/icons/ss_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ss_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/ss_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_contest_pass_sheet[] = INCBIN_U32("graphics/items/icons/contest_pass.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_contest_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/contest_pass.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wailmer_pail_sheet[] = INCBIN_U32("graphics/items/icons/wailmer_pail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wailmer_pail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wailmer_pail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_devon_goods_sheet[] = INCBIN_U32("graphics/items/icons/devon_goods.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_devon_goods_palette[] = INCBIN_U32("graphics/items/icon_palettes/devon_goods.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soot_sack_sheet[] = INCBIN_U32("graphics/items/icons/soot_sack.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soot_sack_palette[] = INCBIN_U32("graphics/items/icon_palettes/soot_sack.gbapal.lz"); + +const u32 gFile_graphics_items_icons_basement_key_sheet[] = INCBIN_U32("graphics/items/icons/basement_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_old_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_acro_bike_sheet[] = INCBIN_U32("graphics/items/icons/acro_bike.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_acro_bike_palette[] = INCBIN_U32("graphics/items/icon_palettes/acro_bike.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pokeblock_case_sheet[] = INCBIN_U32("graphics/items/icons/pokeblock_case.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pokeblock_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/pokeblock_case.gbapal.lz"); + +const u32 gFile_graphics_items_icons_letter_sheet[] = INCBIN_U32("graphics/items/icons/letter.4bpp.lz"); + +const u32 gFile_graphics_items_icons_eon_ticket_sheet[] = INCBIN_U32("graphics/items/icons/eon_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_eon_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/eon_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_orb_sheet[] = INCBIN_U32("graphics/items/icons/orb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_red_orb_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_orb.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_orb_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_orb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_scanner_sheet[] = INCBIN_U32("graphics/items/icons/scanner.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_scanner_palette[] = INCBIN_U32("graphics/items/icon_palettes/scanner.gbapal.lz"); + +const u32 gFile_graphics_items_icons_go_goggles_sheet[] = INCBIN_U32("graphics/items/icons/go_goggles.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_go_goggles_palette[] = INCBIN_U32("graphics/items/icon_palettes/go_goggles.gbapal.lz"); + +const u32 gFile_graphics_items_icons_meteorite_sheet[] = INCBIN_U32("graphics/items/icons/meteorite.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_meteorite_palette[] = INCBIN_U32("graphics/items/icon_palettes/meteorite.gbapal.lz"); + +const u32 gFile_graphics_items_icons_room1_key_sheet[] = INCBIN_U32("graphics/items/icons/room1_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_room2_key_sheet[] = INCBIN_U32("graphics/items/icons/room2_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_room4_key_sheet[] = INCBIN_U32("graphics/items/icons/room4_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_room6_key_sheet[] = INCBIN_U32("graphics/items/icons/room6_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_storage_key_sheet[] = INCBIN_U32("graphics/items/icons/storage_key.4bpp.lz"); + +const u32 gFile_graphics_items_icons_root_fossil_sheet[] = INCBIN_U32("graphics/items/icons/root_fossil.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hoenn_fossil_palette[] = INCBIN_U32("graphics/items/icon_palettes/hoenn_fossil.gbapal.lz"); +const u32 gFile_graphics_items_icons_claw_fossil_sheet[] = INCBIN_U32("graphics/items/icons/claw_fossil.4bpp.lz"); + +const u32 gFile_graphics_items_icons_devon_scope_sheet[] = INCBIN_U32("graphics/items/icons/devon_scope.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_devon_scope_palette[] = INCBIN_U32("graphics/items/icon_palettes/devon_scope.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tm_sheet[] = INCBIN_U32("graphics/items/icons/tm.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_dragon_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_water_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/water_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/normal_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_poison_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/poison_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ice_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/grass_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/fire_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/dark_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_steel_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/steel_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/electric_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ground_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ground_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ghost_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_rock_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/rock_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_flying_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/flying_tm_hm.gbapal.lz"); + +const u32 gFile_graphics_items_icons_oaks_parcel_sheet[] = INCBIN_U32("graphics/items/icons/oaks_parcel.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_oaks_parcel_palette[] = INCBIN_U32("graphics/items/icon_palettes/oaks_parcel.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poke_flute_sheet[] = INCBIN_U32("graphics/items/icons/poke_flute.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poke_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_flute.gbapal.lz"); + +const u32 gFile_graphics_items_icons_secret_key_sheet[] = INCBIN_U32("graphics/items/icons/secret_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_secret_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/secret_key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bike_voucher_sheet[] = INCBIN_U32("graphics/items/icons/bike_voucher.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bike_voucher_palette[] = INCBIN_U32("graphics/items/icon_palettes/bike_voucher.gbapal.lz"); + +const u32 gFile_graphics_items_icons_gold_teeth_sheet[] = INCBIN_U32("graphics/items/icons/gold_teeth.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_gold_teeth_palette[] = INCBIN_U32("graphics/items/icon_palettes/gold_teeth.gbapal.lz"); + +const u32 gFile_graphics_items_icons_old_amber_sheet[] = INCBIN_U32("graphics/items/icons/old_amber.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_old_amber_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_amber.gbapal.lz"); + +const u32 gFile_graphics_items_icons_card_key_sheet[] = INCBIN_U32("graphics/items/icons/card_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_card_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/card_key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lift_key_sheet[] = INCBIN_U32("graphics/items/icons/lift_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_helix_fossil_sheet[] = INCBIN_U32("graphics/items/icons/helix_fossil.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_kanto_fossil_palette[] = INCBIN_U32("graphics/items/icon_palettes/kanto_fossil.gbapal.lz"); +const u32 gFile_graphics_items_icons_dome_fossil_sheet[] = INCBIN_U32("graphics/items/icons/dome_fossil.4bpp.lz"); + +const u32 gFile_graphics_items_icons_silph_scope_sheet[] = INCBIN_U32("graphics/items/icons/silph_scope.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_silph_scope_palette[] = INCBIN_U32("graphics/items/icon_palettes/silph_scope.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bicycle_sheet[] = INCBIN_U32("graphics/items/icons/bicycle.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bicycle_palette[] = INCBIN_U32("graphics/items/icon_palettes/bicycle.gbapal.lz"); + +const u32 gFile_graphics_items_icons_town_map_sheet[] = INCBIN_U32("graphics/items/icons/town_map.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_town_map_palette[] = INCBIN_U32("graphics/items/icon_palettes/town_map.gbapal.lz"); + +const u32 gFile_graphics_items_icons_vs_seeker_sheet[] = INCBIN_U32("graphics/items/icons/vs_seeker.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_vs_seeker_palette[] = INCBIN_U32("graphics/items/icon_palettes/vs_seeker.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fame_checker_sheet[] = INCBIN_U32("graphics/items/icons/fame_checker.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fame_checker_palette[] = INCBIN_U32("graphics/items/icon_palettes/fame_checker.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tm_case_sheet[] = INCBIN_U32("graphics/items/icons/tm_case.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tm_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/tm_case.gbapal.lz"); + +const u32 gFile_graphics_items_icons_berry_pouch_sheet[] = INCBIN_U32("graphics/items/icons/berry_pouch.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_berry_pouch_palette[] = INCBIN_U32("graphics/items/icon_palettes/berry_pouch.gbapal.lz"); + +const u32 gFile_graphics_items_icons_teachy_tv_sheet[] = INCBIN_U32("graphics/items/icons/teachy_tv.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_teachy_tv_palette[] = INCBIN_U32("graphics/items/icon_palettes/teachy_tv.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tri_pass_sheet[] = INCBIN_U32("graphics/items/icons/tri_pass.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tri_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/tri_pass.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rainbow_pass_sheet[] = INCBIN_U32("graphics/items/icons/rainbow_pass.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rainbow_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/rainbow_pass.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tea_sheet[] = INCBIN_U32("graphics/items/icons/tea.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tea_palette[] = INCBIN_U32("graphics/items/icon_palettes/tea.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mystic_ticket_sheet[] = INCBIN_U32("graphics/items/icons/mystic_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mystic_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/mystic_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_aurora_ticket_sheet[] = INCBIN_U32("graphics/items/icons/aurora_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_aurora_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/aurora_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_powder_jar_sheet[] = INCBIN_U32("graphics/items/icons/powder_jar.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_powder_jar_palette[] = INCBIN_U32("graphics/items/icon_palettes/powder_jar.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_ruby_palette[] = INCBIN_U32("graphics/items/icon_palettes/ruby.gbapal.lz"); +const u32 gFile_graphics_items_icons_gem_sheet[] = INCBIN_U32("graphics/items/icons/gem.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sapphire_palette[] = INCBIN_U32("graphics/items/icon_palettes/sapphire.gbapal.lz"); diff --git a/src/data/graphics/mail.h b/src/data/graphics/mail.h new file mode 100644 index 000000000..86d827b49 --- /dev/null +++ b/src/data/graphics/mail.h @@ -0,0 +1,38 @@ +const u16 gFile_graphics_mail_orange_palette_pal[] = INCBIN_U16("graphics/mail/orange/palette.gbapal"); +const u16 gFile_graphics_mail_harbor_palette_pal[] = INCBIN_U16("graphics/mail/harbor/palette.gbapal"); +const u16 gFile_graphics_mail_glitter_palette_pal[] = INCBIN_U16("graphics/mail/glitter/palette.gbapal"); +const u16 gFile_graphics_mail_mech_palette_pal[] = INCBIN_U16("graphics/mail/mech/palette.gbapal"); +const u16 gFile_graphics_mail_wood_palette_pal[] = INCBIN_U16("graphics/mail/wood/palette.gbapal"); +const u16 gFile_graphics_mail_wave_palette_pal[] = INCBIN_U16("graphics/mail/wave/palette.gbapal"); +const u16 gFile_graphics_mail_bead_palette_pal[] = INCBIN_U16("graphics/mail/bead/palette.gbapal"); +const u16 gFile_graphics_mail_shadow_palette_pal[] = INCBIN_U16("graphics/mail/shadow/palette.gbapal"); +const u16 gFile_graphics_mail_tropic_palette_pal[] = INCBIN_U16("graphics/mail/tropic/palette.gbapal"); +const u16 gFile_graphics_mail_dream_palette_pal[] = INCBIN_U16("graphics/mail/dream/palette.gbapal"); +const u16 gFile_graphics_mail_fab_palette_pal[] = INCBIN_U16("graphics/mail/fab/palette.gbapal"); +const u16 gFile_graphics_mail_retro_palette_pal[] = INCBIN_U16("graphics/mail/retro/palette.gbapal"); + +const u32 gFile_graphics_mail_orange_tiles_sheet[] = INCBIN_U32("graphics/mail/orange/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_harbor_tiles_sheet[] = INCBIN_U32("graphics/mail/harbor/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_glitter_tiles_sheet[] = INCBIN_U32("graphics/mail/glitter/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_mech_tiles_sheet[] = INCBIN_U32("graphics/mail/mech/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_wood_tiles_sheet[] = INCBIN_U32("graphics/mail/wood/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_wave_tiles_sheet[] = INCBIN_U32("graphics/mail/wave/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_bead_tiles_sheet[] = INCBIN_U32("graphics/mail/bead/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_shadow_tiles_sheet[] = INCBIN_U32("graphics/mail/shadow/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_tropic_tiles_sheet[] = INCBIN_U32("graphics/mail/tropic/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_dream_tiles_sheet[] = INCBIN_U32("graphics/mail/dream/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_fab_tiles_sheet[] = INCBIN_U32("graphics/mail/fab/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_retro_tiles_sheet[] = INCBIN_U32("graphics/mail/retro/tiles.4bpp.lz"); + +const u32 gFile_graphics_mail_orange_map_tilemap[] = INCBIN_U32("graphics/mail/orange/map.bin.lz"); +const u32 gFile_graphics_mail_harbor_map_tilemap[] = INCBIN_U32("graphics/mail/harbor/map.bin.lz"); +const u32 gFile_graphics_mail_glitter_map_tilemap[] = INCBIN_U32("graphics/mail/glitter/map.bin.lz"); +const u32 gFile_graphics_mail_mech_map_tilemap[] = INCBIN_U32("graphics/mail/mech/map.bin.lz"); +const u32 gFile_graphics_mail_wood_map_tilemap[] = INCBIN_U32("graphics/mail/wood/map.bin.lz"); +const u32 gFile_graphics_mail_wave_map_tilemap[] = INCBIN_U32("graphics/mail/wave/map.bin.lz"); +const u32 gFile_graphics_mail_bead_map_tilemap[] = INCBIN_U32("graphics/mail/bead/map.bin.lz"); +const u32 gFile_graphics_mail_shadow_map_tilemap[] = INCBIN_U32("graphics/mail/shadow/map.bin.lz"); +const u32 gFile_graphics_mail_tropic_map_tilemap[] = INCBIN_U32("graphics/mail/tropic/map.bin.lz"); +const u32 gFile_graphics_mail_dream_map_tilemap[] = INCBIN_U32("graphics/mail/dream/map.bin.lz"); +const u32 gFile_graphics_mail_fab_map_tilemap[] = INCBIN_U32("graphics/mail/fab/map.bin.lz"); +const u32 gFile_graphics_mail_retro_map_tilemap[] = INCBIN_U32("graphics/mail/retro/map.bin.lz"); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h new file mode 100644 index 000000000..edb7e982d --- /dev/null +++ b/src/data/graphics/pokemon.h @@ -0,0 +1,2833 @@ +const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/front.4bpp.lz"); +const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal.gbapal.lz"); +const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny.gbapal.lz"); +const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/icon.4bpp"); +const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/footprint.1bpp"); + +const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/front.4bpp.lz"); +const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/normal.gbapal.lz"); +const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/shiny.gbapal.lz"); +const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/icon.4bpp"); +const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/footprint.1bpp"); + +const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/front.4bpp.lz"); +const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/normal.gbapal.lz"); +const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/shiny.gbapal.lz"); +const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/icon.4bpp"); +const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/footprint.1bpp"); + +const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/front.4bpp.lz"); +const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/normal.gbapal.lz"); +const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/back.4bpp.lz"); +const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/shiny.gbapal.lz"); +const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/icon.4bpp"); +const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/footprint.1bpp"); + +const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/front.4bpp.lz"); +const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/normal.gbapal.lz"); +const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/back.4bpp.lz"); +const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/shiny.gbapal.lz"); +const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/icon.4bpp"); +const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/footprint.1bpp"); + +const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/front.4bpp.lz"); +const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/normal.gbapal.lz"); +const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/back.4bpp.lz"); +const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/shiny.gbapal.lz"); +const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/icon.4bpp"); +const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/footprint.1bpp"); + +const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/front.4bpp.lz"); +const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/normal.gbapal.lz"); +const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/back.4bpp.lz"); +const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/shiny.gbapal.lz"); +const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/icon.4bpp"); +const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/footprint.1bpp"); + +const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/front.4bpp.lz"); +const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/normal.gbapal.lz"); +const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/back.4bpp.lz"); +const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/shiny.gbapal.lz"); +const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/icon.4bpp"); +const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/footprint.1bpp"); + +const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/front.4bpp.lz"); +const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/normal.gbapal.lz"); +const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/back.4bpp.lz"); +const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/shiny.gbapal.lz"); +const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/icon.4bpp"); +const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/footprint.1bpp"); + +const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/front.4bpp.lz"); +const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/normal.gbapal.lz"); +const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/back.4bpp.lz"); +const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/shiny.gbapal.lz"); +const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/icon.4bpp"); +const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/footprint.1bpp"); + +const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/front.4bpp.lz"); +const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/normal.gbapal.lz"); +const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/back.4bpp.lz"); +const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/shiny.gbapal.lz"); +const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/metapod/icon.4bpp"); +const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/metapod/footprint.1bpp"); + +const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/front.4bpp.lz"); +const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/normal.gbapal.lz"); +const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/back.4bpp.lz"); +const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/shiny.gbapal.lz"); +const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/icon.4bpp"); +const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/footprint.1bpp"); + +const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/front.4bpp.lz"); +const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/normal.gbapal.lz"); +const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/back.4bpp.lz"); +const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/shiny.gbapal.lz"); +const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/icon.4bpp"); +const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/footprint.1bpp"); + +const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/front.4bpp.lz"); +const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/normal.gbapal.lz"); +const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/back.4bpp.lz"); +const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/shiny.gbapal.lz"); +const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/icon.4bpp"); +const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/footprint.1bpp"); + +const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/front.4bpp.lz"); +const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/normal.gbapal.lz"); +const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/back.4bpp.lz"); +const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/shiny.gbapal.lz"); +const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/icon.4bpp"); +const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/footprint.1bpp"); + +const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/front.4bpp.lz"); +const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/icon.4bpp"); +const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/footprint.1bpp"); + +const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/front.4bpp.lz"); +const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/icon.4bpp"); +const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/footprint.1bpp"); + +const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/front.4bpp.lz"); +const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/icon.4bpp"); +const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/footprint.1bpp"); + +const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/front.4bpp.lz"); +const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/normal.gbapal.lz"); +const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/back.4bpp.lz"); +const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/shiny.gbapal.lz"); +const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/icon.4bpp"); +const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/footprint.1bpp"); + +const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/front.4bpp.lz"); +const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/normal.gbapal.lz"); +const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/back.4bpp.lz"); +const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/shiny.gbapal.lz"); +const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/icon.4bpp"); +const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/footprint.1bpp"); + +const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/front.4bpp.lz"); +const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/normal.gbapal.lz"); +const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/back.4bpp.lz"); +const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/shiny.gbapal.lz"); +const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/icon.4bpp"); +const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/footprint.1bpp"); + +const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/front.4bpp.lz"); +const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/normal.gbapal.lz"); +const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back.4bpp.lz"); +const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/shiny.gbapal.lz"); +const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/icon.4bpp"); +const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/footprint.1bpp"); + +const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/front.4bpp.lz"); +const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/normal.gbapal.lz"); +const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back.4bpp.lz"); +const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/shiny.gbapal.lz"); +const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/icon.4bpp"); +const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/footprint.1bpp"); + +const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/front.4bpp.lz"); +const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/normal.gbapal.lz"); +const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/back.4bpp.lz"); +const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/shiny.gbapal.lz"); +const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/icon.4bpp"); +const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/footprint.1bpp"); + +const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/front.4bpp.lz"); +const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/normal.gbapal.lz"); +const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/back.4bpp.lz"); +const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/shiny.gbapal.lz"); +const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/icon.4bpp"); +const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/footprint.1bpp"); + +const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/front.4bpp.lz"); +const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/normal.gbapal.lz"); +const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/back.4bpp.lz"); +const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/shiny.gbapal.lz"); +const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/icon.4bpp"); +const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/footprint.1bpp"); + +const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/front.4bpp.lz"); +const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/normal.gbapal.lz"); +const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/back.4bpp.lz"); +const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/shiny.gbapal.lz"); +const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/icon.4bpp"); +const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/footprint.1bpp"); + +const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/front.4bpp.lz"); +const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/normal.gbapal.lz"); +const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/back.4bpp.lz"); +const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/shiny.gbapal.lz"); +const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/icon.4bpp"); +const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/footprint.1bpp"); + +const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/front.4bpp.lz"); +const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/normal.gbapal.lz"); +const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/back.4bpp.lz"); +const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/shiny.gbapal.lz"); +const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/icon.4bpp"); +const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/footprint.1bpp"); + +const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/front.4bpp.lz"); +const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/normal.gbapal.lz"); +const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/shiny.gbapal.lz"); +const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/icon.4bpp"); +const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/footprint.1bpp"); + +const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/front.4bpp.lz"); +const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/normal.gbapal.lz"); +const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/shiny.gbapal.lz"); +const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/icon.4bpp"); +const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/footprint.1bpp"); + +const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/front.4bpp.lz"); +const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/normal.gbapal.lz"); +const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/back.4bpp.lz"); +const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/shiny.gbapal.lz"); +const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/icon.4bpp"); +const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/footprint.1bpp"); + +const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/front.4bpp.lz"); +const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/normal.gbapal.lz"); +const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/shiny.gbapal.lz"); +const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/icon.4bpp"); +const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/footprint.1bpp"); + +const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/front.4bpp.lz"); +const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/normal.gbapal.lz"); +const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/shiny.gbapal.lz"); +const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/icon.4bpp"); +const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/footprint.1bpp"); + +const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/front.4bpp.lz"); +const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/normal.gbapal.lz"); +const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/back.4bpp.lz"); +const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/shiny.gbapal.lz"); +const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/icon.4bpp"); +const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/footprint.1bpp"); + +const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/front.4bpp.lz"); +const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/normal.gbapal.lz"); +const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/back.4bpp.lz"); +const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/shiny.gbapal.lz"); +const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/icon.4bpp"); +const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/footprint.1bpp"); + +const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/front.4bpp.lz"); +const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/normal.gbapal.lz"); +const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/back.4bpp.lz"); +const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/shiny.gbapal.lz"); +const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/icon.4bpp"); +const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/footprint.1bpp"); + +const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/front.4bpp.lz"); +const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/normal.gbapal.lz"); +const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/back.4bpp.lz"); +const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/shiny.gbapal.lz"); +const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/icon.4bpp"); +const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/footprint.1bpp"); + +const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/front.4bpp.lz"); +const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/normal.gbapal.lz"); +const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/shiny.gbapal.lz"); +const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/icon.4bpp"); +const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/footprint.1bpp"); + +const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/front.4bpp.lz"); +const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/normal.gbapal.lz"); +const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/shiny.gbapal.lz"); +const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/icon.4bpp"); +const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/footprint.1bpp"); + +const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/front.4bpp.lz"); +const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/normal.gbapal.lz"); +const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back.4bpp.lz"); +const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/shiny.gbapal.lz"); +const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/icon.4bpp"); +const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/footprint.1bpp"); + +const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/front.4bpp.lz"); +const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/normal.gbapal.lz"); +const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back.4bpp.lz"); +const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/shiny.gbapal.lz"); +const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/icon.4bpp"); +const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/footprint.1bpp"); + +const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/front.4bpp.lz"); +const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/normal.gbapal.lz"); +const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back.4bpp.lz"); +const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/shiny.gbapal.lz"); +const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/icon.4bpp"); +const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/footprint.1bpp"); + +const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/front.4bpp.lz"); +const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/normal.gbapal.lz"); +const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back.4bpp.lz"); +const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/shiny.gbapal.lz"); +const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/icon.4bpp"); +const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/footprint.1bpp"); + +const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/front.4bpp.lz"); +const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/normal.gbapal.lz"); +const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/back.4bpp.lz"); +const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/shiny.gbapal.lz"); +const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/icon.4bpp"); +const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/footprint.1bpp"); + +const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/front.4bpp.lz"); +const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/normal.gbapal.lz"); +const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/back.4bpp.lz"); +const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/shiny.gbapal.lz"); +const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/paras/icon.4bpp"); +const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/paras/footprint.1bpp"); + +const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/front.4bpp.lz"); +const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/normal.gbapal.lz"); +const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/back.4bpp.lz"); +const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/shiny.gbapal.lz"); +const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/icon.4bpp"); +const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/footprint.1bpp"); + +const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/front.4bpp.lz"); +const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/normal.gbapal.lz"); +const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/back.4bpp.lz"); +const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/shiny.gbapal.lz"); +const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/icon.4bpp"); +const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/footprint.1bpp"); + +const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/front.4bpp.lz"); +const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/normal.gbapal.lz"); +const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/back.4bpp.lz"); +const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/shiny.gbapal.lz"); +const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/icon.4bpp"); +const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/footprint.1bpp"); + +const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/front.4bpp.lz"); +const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/normal.gbapal.lz"); +const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/back.4bpp.lz"); +const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/shiny.gbapal.lz"); +const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/icon.4bpp"); +const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/footprint.1bpp"); + +const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/front.4bpp.lz"); +const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/normal.gbapal.lz"); +const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/back.4bpp.lz"); +const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/shiny.gbapal.lz"); +const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/icon.4bpp"); +const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/footprint.1bpp"); + +const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/front.4bpp.lz"); +const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/normal.gbapal.lz"); +const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/back.4bpp.lz"); +const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/shiny.gbapal.lz"); +const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/icon.4bpp"); +const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/footprint.1bpp"); + +const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/front.4bpp.lz"); +const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/normal.gbapal.lz"); +const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/back.4bpp.lz"); +const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/shiny.gbapal.lz"); +const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/persian/icon.4bpp"); +const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/persian/footprint.1bpp"); + +const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/front.4bpp.lz"); +const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/normal.gbapal.lz"); +const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/back.4bpp.lz"); +const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/shiny.gbapal.lz"); +const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/icon.4bpp"); +const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/footprint.1bpp"); + +const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/front.4bpp.lz"); +const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/normal.gbapal.lz"); +const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/back.4bpp.lz"); +const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/shiny.gbapal.lz"); +const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/icon.4bpp"); +const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/footprint.1bpp"); + +const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/front.4bpp.lz"); +const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/normal.gbapal.lz"); +const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/back.4bpp.lz"); +const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/shiny.gbapal.lz"); +const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/icon.4bpp"); +const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/footprint.1bpp"); + +const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/front.4bpp.lz"); +const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/normal.gbapal.lz"); +const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/back.4bpp.lz"); +const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/shiny.gbapal.lz"); +const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/icon.4bpp"); +const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/footprint.1bpp"); + +const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/front.4bpp.lz"); +const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/normal.gbapal.lz"); +const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/back.4bpp.lz"); +const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/shiny.gbapal.lz"); +const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/icon.4bpp"); +const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/footprint.1bpp"); + +const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/front.4bpp.lz"); +const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/normal.gbapal.lz"); +const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/back.4bpp.lz"); +const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/shiny.gbapal.lz"); +const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/icon.4bpp"); +const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/footprint.1bpp"); + +const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/front.4bpp.lz"); +const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/icon.4bpp"); +const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/footprint.1bpp"); + +const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/front.4bpp.lz"); +const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/icon.4bpp"); +const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/footprint.1bpp"); + +const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/front.4bpp.lz"); +const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/icon.4bpp"); +const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/footprint.1bpp"); + +const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/front.4bpp.lz"); +const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/normal.gbapal.lz"); +const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/back.4bpp.lz"); +const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/shiny.gbapal.lz"); +const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/abra/icon.4bpp"); +const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/abra/footprint.1bpp"); + +const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/front.4bpp.lz"); +const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/normal.gbapal.lz"); +const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/back.4bpp.lz"); +const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/shiny.gbapal.lz"); +const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/icon.4bpp"); +const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/footprint.1bpp"); + +const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/front.4bpp.lz"); +const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/normal.gbapal.lz"); +const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/back.4bpp.lz"); +const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/shiny.gbapal.lz"); +const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/icon.4bpp"); +const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/footprint.1bpp"); + +const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/front.4bpp.lz"); +const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/normal.gbapal.lz"); +const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/back.4bpp.lz"); +const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/shiny.gbapal.lz"); +const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/machop/icon.4bpp"); +const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/machop/footprint.1bpp"); + +const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/front.4bpp.lz"); +const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/normal.gbapal.lz"); +const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/back.4bpp.lz"); +const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/shiny.gbapal.lz"); +const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/icon.4bpp"); +const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/footprint.1bpp"); + +const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/front.4bpp.lz"); +const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/normal.gbapal.lz"); +const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/back.4bpp.lz"); +const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/shiny.gbapal.lz"); +const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/icon.4bpp"); +const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/footprint.1bpp"); + +const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/front.4bpp.lz"); +const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/normal.gbapal.lz"); +const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/back.4bpp.lz"); +const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/shiny.gbapal.lz"); +const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/icon.4bpp"); +const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/footprint.1bpp"); + +const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/front.4bpp.lz"); +const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/normal.gbapal.lz"); +const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/back.4bpp.lz"); +const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/shiny.gbapal.lz"); +const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/icon.4bpp"); +const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/footprint.1bpp"); + +const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/front.4bpp.lz"); +const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/normal.gbapal.lz"); +const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/back.4bpp.lz"); +const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/shiny.gbapal.lz"); +const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/icon.4bpp"); +const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/footprint.1bpp"); + +const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/front.4bpp.lz"); +const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/normal.gbapal.lz"); +const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/back.4bpp.lz"); +const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/shiny.gbapal.lz"); +const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/icon.4bpp"); +const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/footprint.1bpp"); + +const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/front.4bpp.lz"); +const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/normal.gbapal.lz"); +const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/back.4bpp.lz"); +const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/shiny.gbapal.lz"); +const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/icon.4bpp"); +const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/footprint.1bpp"); + +const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/front.4bpp.lz"); +const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/normal.gbapal.lz"); +const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/back.4bpp.lz"); +const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/shiny.gbapal.lz"); +const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/icon.4bpp"); +const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/footprint.1bpp"); + +const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/front.4bpp.lz"); +const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/normal.gbapal.lz"); +const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/back.4bpp.lz"); +const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/shiny.gbapal.lz"); +const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/icon.4bpp"); +const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/footprint.1bpp"); + +const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/front.4bpp.lz"); +const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/normal.gbapal.lz"); +const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/back.4bpp.lz"); +const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/shiny.gbapal.lz"); +const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/golem/icon.4bpp"); +const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/golem/footprint.1bpp"); + +const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/front.4bpp.lz"); +const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/normal.gbapal.lz"); +const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/back.4bpp.lz"); +const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/shiny.gbapal.lz"); +const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/icon.4bpp"); +const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/footprint.1bpp"); + +const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/front.4bpp.lz"); +const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/normal.gbapal.lz"); +const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/back.4bpp.lz"); +const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/shiny.gbapal.lz"); +const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/icon.4bpp"); +const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/footprint.1bpp"); + +const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/front.4bpp.lz"); +const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/normal.gbapal.lz"); +const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/shiny.gbapal.lz"); +const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/icon.4bpp"); +const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/footprint.1bpp"); + +const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/front.4bpp.lz"); +const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/normal.gbapal.lz"); +const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/shiny.gbapal.lz"); +const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/icon.4bpp"); +const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/footprint.1bpp"); + +const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/front.4bpp.lz"); +const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/normal.gbapal.lz"); +const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/back.4bpp.lz"); +const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/shiny.gbapal.lz"); +const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/icon.4bpp"); +const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/footprint.1bpp"); + +const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/front.4bpp.lz"); +const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/normal.gbapal.lz"); +const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/back.4bpp.lz"); +const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/shiny.gbapal.lz"); +const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp"); +const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp"); + +const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/front.4bpp.lz"); +const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/normal.gbapal.lz"); +const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/back.4bpp.lz"); +const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/shiny.gbapal.lz"); +const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/icon.4bpp"); +const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/footprint.1bpp"); + +const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/front.4bpp.lz"); +const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz"); +const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/back.4bpp.lz"); +const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/shiny.gbapal.lz"); +const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/icon.4bpp"); +const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/footprint.1bpp"); + +const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/front.4bpp.lz"); +const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/normal.gbapal.lz"); +const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/back.4bpp.lz"); +const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/shiny.gbapal.lz"); +const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/icon.4bpp"); +const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/footprint.1bpp"); + +const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/front.4bpp.lz"); +const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/normal.gbapal.lz"); +const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/back.4bpp.lz"); +const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/shiny.gbapal.lz"); +const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/seel/icon.4bpp"); +const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/seel/footprint.1bpp"); + +const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/front.4bpp.lz"); +const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/normal.gbapal.lz"); +const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/back.4bpp.lz"); +const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/shiny.gbapal.lz"); +const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/icon.4bpp"); +const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/footprint.1bpp"); + +const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/front.4bpp.lz"); +const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/normal.gbapal.lz"); +const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/back.4bpp.lz"); +const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/shiny.gbapal.lz"); +const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/icon.4bpp"); +const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/footprint.1bpp"); + +const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/front.4bpp.lz"); +const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/normal.gbapal.lz"); +const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/back.4bpp.lz"); +const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/shiny.gbapal.lz"); +const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/muk/icon.4bpp"); +const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/muk/footprint.1bpp"); + +const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/front.4bpp.lz"); +const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/normal.gbapal.lz"); +const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/back.4bpp.lz"); +const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/shiny.gbapal.lz"); +const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/icon.4bpp"); +const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/footprint.1bpp"); + +const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/front.4bpp.lz"); +const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/normal.gbapal.lz"); +const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/back.4bpp.lz"); +const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/shiny.gbapal.lz"); +const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/icon.4bpp"); +const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/footprint.1bpp"); + +const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/front.4bpp.lz"); +const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/normal.gbapal.lz"); +const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/back.4bpp.lz"); +const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/shiny.gbapal.lz"); +const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/icon.4bpp"); +const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/footprint.1bpp"); + +const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/front.4bpp.lz"); +const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/normal.gbapal.lz"); +const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/back.4bpp.lz"); +const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/shiny.gbapal.lz"); +const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/icon.4bpp"); +const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/footprint.1bpp"); + +const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/front.4bpp.lz"); +const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/normal.gbapal.lz"); +const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/back.4bpp.lz"); +const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/shiny.gbapal.lz"); +const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/icon.4bpp"); +const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/footprint.1bpp"); + +const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/front.4bpp.lz"); +const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/normal.gbapal.lz"); +const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/back.4bpp.lz"); +const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/shiny.gbapal.lz"); +const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/onix/icon.4bpp"); +const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/onix/footprint.1bpp"); + +const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/front.4bpp.lz"); +const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/normal.gbapal.lz"); +const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/back.4bpp.lz"); +const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/shiny.gbapal.lz"); +const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/icon.4bpp"); +const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/footprint.1bpp"); + +const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/front.4bpp.lz"); +const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/normal.gbapal.lz"); +const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/back.4bpp.lz"); +const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/shiny.gbapal.lz"); +const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/icon.4bpp"); +const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/footprint.1bpp"); + +const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/front.4bpp.lz"); +const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/normal.gbapal.lz"); +const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/back.4bpp.lz"); +const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/shiny.gbapal.lz"); +const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/icon.4bpp"); +const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/footprint.1bpp"); + +const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/front.4bpp.lz"); +const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/normal.gbapal.lz"); +const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/back.4bpp.lz"); +const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/shiny.gbapal.lz"); +const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/icon.4bpp"); +const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/footprint.1bpp"); + +const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/front.4bpp.lz"); +const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/normal.gbapal.lz"); +const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/back.4bpp.lz"); +const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/shiny.gbapal.lz"); +const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/icon.4bpp"); +const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/footprint.1bpp"); + +const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/front.4bpp.lz"); +const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/normal.gbapal.lz"); +const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/back.4bpp.lz"); +const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/shiny.gbapal.lz"); +const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/icon.4bpp"); +const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/footprint.1bpp"); + +const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/front.4bpp.lz"); +const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/normal.gbapal.lz"); +const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/back.4bpp.lz"); +const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/shiny.gbapal.lz"); +const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/icon.4bpp"); +const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/footprint.1bpp"); + +const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/front.4bpp.lz"); +const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/normal.gbapal.lz"); +const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/back.4bpp.lz"); +const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/shiny.gbapal.lz"); +const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/icon.4bpp"); +const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/footprint.1bpp"); + +const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/front.4bpp.lz"); +const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/normal.gbapal.lz"); +const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/back.4bpp.lz"); +const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/shiny.gbapal.lz"); +const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/icon.4bpp"); +const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/footprint.1bpp"); + +const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/front.4bpp.lz"); +const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/normal.gbapal.lz"); +const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/back.4bpp.lz"); +const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/shiny.gbapal.lz"); +const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/icon.4bpp"); +const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/footprint.1bpp"); + +const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/front.4bpp.lz"); +const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/icon.4bpp"); +const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/footprint.1bpp"); + +const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/front.4bpp.lz"); +const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/icon.4bpp"); +const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/footprint.1bpp"); + +const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/front.4bpp.lz"); +const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/normal.gbapal.lz"); +const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/back.4bpp.lz"); +const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/shiny.gbapal.lz"); +const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/icon.4bpp"); +const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/footprint.1bpp"); + +const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/front.4bpp.lz"); +const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/normal.gbapal.lz"); +const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/back.4bpp.lz"); +const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/shiny.gbapal.lz"); +const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/icon.4bpp"); +const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/footprint.1bpp"); + +const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/front.4bpp.lz"); +const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/normal.gbapal.lz"); +const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/back.4bpp.lz"); +const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/shiny.gbapal.lz"); +const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/icon.4bpp"); +const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/footprint.1bpp"); + +const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/front.4bpp.lz"); +const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/normal.gbapal.lz"); +const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/back.4bpp.lz"); +const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/shiny.gbapal.lz"); +const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/icon.4bpp"); +const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/footprint.1bpp"); + +const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/front.4bpp.lz"); +const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/normal.gbapal.lz"); +const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/back.4bpp.lz"); +const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/shiny.gbapal.lz"); +const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/icon.4bpp"); +const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/footprint.1bpp"); + +const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/front.4bpp.lz"); +const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/normal.gbapal.lz"); +const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/back.4bpp.lz"); +const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/shiny.gbapal.lz"); +const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/icon.4bpp"); +const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/footprint.1bpp"); + +const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/front.4bpp.lz"); +const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/normal.gbapal.lz"); +const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/back.4bpp.lz"); +const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/shiny.gbapal.lz"); +const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/icon.4bpp"); +const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/footprint.1bpp"); + +const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/front.4bpp.lz"); +const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/normal.gbapal.lz"); +const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/back.4bpp.lz"); +const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/shiny.gbapal.lz"); +const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/icon.4bpp"); +const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/footprint.1bpp"); + +const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/front.4bpp.lz"); +const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/normal.gbapal.lz"); +const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/back.4bpp.lz"); +const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/shiny.gbapal.lz"); +const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/icon.4bpp"); +const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/footprint.1bpp"); + +const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/front.4bpp.lz"); +const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/normal.gbapal.lz"); +const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/back.4bpp.lz"); +const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/shiny.gbapal.lz"); +const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/icon.4bpp"); +const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/footprint.1bpp"); + +const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/front.4bpp.lz"); +const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/normal.gbapal.lz"); +const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/back.4bpp.lz"); +const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/shiny.gbapal.lz"); +const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/icon.4bpp"); +const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/footprint.1bpp"); + +const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/front.4bpp.lz"); +const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/normal.gbapal.lz"); +const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/back.4bpp.lz"); +const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/shiny.gbapal.lz"); +const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/icon.4bpp"); +const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/footprint.1bpp"); + +const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/front.4bpp.lz"); +const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/normal.gbapal.lz"); +const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/back.4bpp.lz"); +const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/shiny.gbapal.lz"); +const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/icon.4bpp"); +const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/footprint.1bpp"); + +const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/front.4bpp.lz"); +const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/normal.gbapal.lz"); +const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/back.4bpp.lz"); +const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/shiny.gbapal.lz"); +const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/icon.4bpp"); +const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/footprint.1bpp"); + +const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/front.4bpp.lz"); +const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal.gbapal.lz"); +const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz"); +const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny.gbapal.lz"); +const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon.4bpp"); +const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/footprint.1bpp"); + +const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/front.4bpp.lz"); +const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/normal.gbapal.lz"); +const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/back.4bpp.lz"); +const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/shiny.gbapal.lz"); +const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/icon.4bpp"); +const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/footprint.1bpp"); + +const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/front.4bpp.lz"); +const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/normal.gbapal.lz"); +const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/back.4bpp.lz"); +const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/shiny.gbapal.lz"); +const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/icon.4bpp"); +const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/footprint.1bpp"); + +const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/front.4bpp.lz"); +const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/normal.gbapal.lz"); +const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/back.4bpp.lz"); +const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/shiny.gbapal.lz"); +const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/icon.4bpp"); +const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/footprint.1bpp"); + +const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/front.4bpp.lz"); +const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/normal.gbapal.lz"); +const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/back.4bpp.lz"); +const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/shiny.gbapal.lz"); +const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/icon.4bpp"); +const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/footprint.1bpp"); + +const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/front.4bpp.lz"); +const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/normal.gbapal.lz"); +const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/back.4bpp.lz"); +const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/shiny.gbapal.lz"); +const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/icon.4bpp"); +const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/footprint.1bpp"); + +const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/front.4bpp.lz"); +const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/normal.gbapal.lz"); +const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/back.4bpp.lz"); +const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/shiny.gbapal.lz"); +const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/icon.4bpp"); +const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/footprint.1bpp"); + +const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/front.4bpp.lz"); +const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/normal.gbapal.lz"); +const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/back.4bpp.lz"); +const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/shiny.gbapal.lz"); +const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/icon.4bpp"); +const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/footprint.1bpp"); + +const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/front.4bpp.lz"); +const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/normal.gbapal.lz"); +const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4bpp.lz"); +const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/shiny.gbapal.lz"); +const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/icon.4bpp"); +const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/footprint.1bpp"); + +const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/front.4bpp.lz"); +const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/normal.gbapal.lz"); +const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz"); +const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/shiny.gbapal.lz"); +const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/icon.4bpp"); +const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/footprint.1bpp"); + +const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/front.4bpp.lz"); +const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/normal.gbapal.lz"); +const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz"); +const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/shiny.gbapal.lz"); +const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/icon.4bpp"); +const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/footprint.1bpp"); + +const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/front.4bpp.lz"); +const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/normal.gbapal.lz"); +const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz"); +const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/shiny.gbapal.lz"); +const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/icon.4bpp"); +const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/footprint.1bpp"); + +const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/front.4bpp.lz"); +const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/normal.gbapal.lz"); +const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz"); +const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/shiny.gbapal.lz"); +const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/icon.4bpp"); +const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/footprint.1bpp"); + +const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/front.4bpp.lz"); +const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/normal.gbapal.lz"); +const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz"); +const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/shiny.gbapal.lz"); +const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/icon.4bpp"); +const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/footprint.1bpp"); + +const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/front.4bpp.lz"); +const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/normal.gbapal.lz"); +const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz"); +const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/shiny.gbapal.lz"); +const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/icon.4bpp"); +const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/footprint.1bpp"); + +const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/front.4bpp.lz"); +const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/normal.gbapal.lz"); +const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/back.4bpp.lz"); +const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/shiny.gbapal.lz"); +const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/icon.4bpp"); +const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/footprint.1bpp"); + +const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/front.4bpp.lz"); +const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/normal.gbapal.lz"); +const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/back.4bpp.lz"); +const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/shiny.gbapal.lz"); +const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/icon.4bpp"); +const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/footprint.1bpp"); + +const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/front.4bpp.lz"); +const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/normal.gbapal.lz"); +const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/back.4bpp.lz"); +const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/shiny.gbapal.lz"); +const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/icon.4bpp"); +const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/footprint.1bpp"); + +const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/front.4bpp.lz"); +const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/normal.gbapal.lz"); +const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/back.4bpp.lz"); +const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/shiny.gbapal.lz"); +const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/icon.4bpp"); +const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/footprint.1bpp"); + +const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/front.4bpp.lz"); +const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/normal.gbapal.lz"); +const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/back.4bpp.lz"); +const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/shiny.gbapal.lz"); +const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/icon.4bpp"); +const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/footprint.1bpp"); + +const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/front.4bpp.lz"); +const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/normal.gbapal.lz"); +const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/back.4bpp.lz"); +const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/shiny.gbapal.lz"); +const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/icon.4bpp"); +const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/footprint.1bpp"); + +const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/front.4bpp.lz"); +const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/normal.gbapal.lz"); +const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/back.4bpp.lz"); +const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/shiny.gbapal.lz"); +const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/icon.4bpp"); +const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/footprint.1bpp"); + +const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/front.4bpp.lz"); +const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/normal.gbapal.lz"); +const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/back.4bpp.lz"); +const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/shiny.gbapal.lz"); +const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/icon.4bpp"); +const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/footprint.1bpp"); + +const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/front.4bpp.lz"); +const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/normal.gbapal.lz"); +const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/back.4bpp.lz"); +const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/shiny.gbapal.lz"); +const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/icon.4bpp"); +const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/footprint.1bpp"); + +const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/front.4bpp.lz"); +const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/normal.gbapal.lz"); +const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/back.4bpp.lz"); +const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/shiny.gbapal.lz"); +const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/icon.4bpp"); +const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/footprint.1bpp"); + +const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/front.4bpp.lz"); +const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/normal.gbapal.lz"); +const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/back.4bpp.lz"); +const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/shiny.gbapal.lz"); +const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/icon.4bpp"); +const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/footprint.1bpp"); + +const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/front.4bpp.lz"); +const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/normal.gbapal.lz"); +const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/back.4bpp.lz"); +const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/shiny.gbapal.lz"); +const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/icon.4bpp"); +const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/footprint.1bpp"); + +const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/front.4bpp.lz"); +const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/normal.gbapal.lz"); +const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/back.4bpp.lz"); +const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/shiny.gbapal.lz"); +const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/icon.4bpp"); +const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/footprint.1bpp"); + +const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/front.4bpp.lz"); +const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/normal.gbapal.lz"); +const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/back.4bpp.lz"); +const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/shiny.gbapal.lz"); +const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/icon.4bpp"); +const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/footprint.1bpp"); + +const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/front.4bpp.lz"); +const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/normal.gbapal.lz"); +const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/back.4bpp.lz"); +const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/shiny.gbapal.lz"); +const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/mew/icon.4bpp"); +const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/mew/footprint.1bpp"); + +const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/front.4bpp.lz"); +const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/normal.gbapal.lz"); +const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/back.4bpp.lz"); +const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/shiny.gbapal.lz"); +const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/icon.4bpp"); +const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/footprint.1bpp"); + +const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/front.4bpp.lz"); +const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/normal.gbapal.lz"); +const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/back.4bpp.lz"); +const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/shiny.gbapal.lz"); +const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/icon.4bpp"); +const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/footprint.1bpp"); + +const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/front.4bpp.lz"); +const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/normal.gbapal.lz"); +const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/back.4bpp.lz"); +const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/shiny.gbapal.lz"); +const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/icon.4bpp"); +const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/footprint.1bpp"); + +const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/front.4bpp.lz"); +const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/normal.gbapal.lz"); +const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/back.4bpp.lz"); +const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/shiny.gbapal.lz"); +const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/icon.4bpp"); +const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/footprint.1bpp"); + +const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/front.4bpp.lz"); +const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/normal.gbapal.lz"); +const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/back.4bpp.lz"); +const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/shiny.gbapal.lz"); +const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/icon.4bpp"); +const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/footprint.1bpp"); + +const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/front.4bpp.lz"); +const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/normal.gbapal.lz"); +const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/back.4bpp.lz"); +const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/shiny.gbapal.lz"); +const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/icon.4bpp"); +const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/footprint.1bpp"); + +const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/front.4bpp.lz"); +const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/normal.gbapal.lz"); +const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/back.4bpp.lz"); +const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/shiny.gbapal.lz"); +const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/icon.4bpp"); +const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/footprint.1bpp"); + +const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/front.4bpp.lz"); +const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/normal.gbapal.lz"); +const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/back.4bpp.lz"); +const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/shiny.gbapal.lz"); +const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/icon.4bpp"); +const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/footprint.1bpp"); + +const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/front.4bpp.lz"); +const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/normal.gbapal.lz"); +const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/back.4bpp.lz"); +const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/shiny.gbapal.lz"); +const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/icon.4bpp"); +const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/footprint.1bpp"); + +const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/front.4bpp.lz"); +const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/normal.gbapal.lz"); +const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/back.4bpp.lz"); +const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/shiny.gbapal.lz"); +const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/icon.4bpp"); +const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/footprint.1bpp"); + +const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/front.4bpp.lz"); +const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/normal.gbapal.lz"); +const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/back.4bpp.lz"); +const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/shiny.gbapal.lz"); +const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/furret/icon.4bpp"); +const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/furret/footprint.1bpp"); + +const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/front.4bpp.lz"); +const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/normal.gbapal.lz"); +const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/back.4bpp.lz"); +const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/shiny.gbapal.lz"); +const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/icon.4bpp"); +const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/footprint.1bpp"); + +const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/front.4bpp.lz"); +const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/normal.gbapal.lz"); +const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/back.4bpp.lz"); +const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/shiny.gbapal.lz"); +const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/icon.4bpp"); +const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/footprint.1bpp"); + +const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/front.4bpp.lz"); +const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/normal.gbapal.lz"); +const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/back.4bpp.lz"); +const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/shiny.gbapal.lz"); +const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/icon.4bpp"); +const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/footprint.1bpp"); + +const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/front.4bpp.lz"); +const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/normal.gbapal.lz"); +const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/back.4bpp.lz"); +const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/shiny.gbapal.lz"); +const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/icon.4bpp"); +const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/footprint.1bpp"); + +const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/front.4bpp.lz"); +const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/normal.gbapal.lz"); +const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/back.4bpp.lz"); +const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/shiny.gbapal.lz"); +const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/icon.4bpp"); +const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/footprint.1bpp"); + +const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/front.4bpp.lz"); +const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/normal.gbapal.lz"); +const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/back.4bpp.lz"); +const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/shiny.gbapal.lz"); +const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/icon.4bpp"); +const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/footprint.1bpp"); + +const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/front.4bpp.lz"); +const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/normal.gbapal.lz"); +const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/back.4bpp.lz"); +const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/shiny.gbapal.lz"); +const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/icon.4bpp"); +const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/footprint.1bpp"); + +const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/front.4bpp.lz"); +const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/normal.gbapal.lz"); +const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/back.4bpp.lz"); +const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/shiny.gbapal.lz"); +const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/icon.4bpp"); +const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/footprint.1bpp"); + +const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/front.4bpp.lz"); +const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/normal.gbapal.lz"); +const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/back.4bpp.lz"); +const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/shiny.gbapal.lz"); +const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/icon.4bpp"); +const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/footprint.1bpp"); + +const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/front.4bpp.lz"); +const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/normal.gbapal.lz"); +const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/back.4bpp.lz"); +const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/shiny.gbapal.lz"); +const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/icon.4bpp"); +const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/footprint.1bpp"); + +const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/front.4bpp.lz"); +const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/normal.gbapal.lz"); +const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/back.4bpp.lz"); +const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/shiny.gbapal.lz"); +const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/icon.4bpp"); +const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/footprint.1bpp"); + +const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/front.4bpp.lz"); +const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/normal.gbapal.lz"); +const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/shiny.gbapal.lz"); +const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/icon.4bpp"); +const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/footprint.1bpp"); + +const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/front.4bpp.lz"); +const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/normal.gbapal.lz"); +const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/back.4bpp.lz"); +const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/shiny.gbapal.lz"); +const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/icon.4bpp"); +const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/footprint.1bpp"); + +const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/front.4bpp.lz"); +const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/normal.gbapal.lz"); +const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/back.4bpp.lz"); +const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/shiny.gbapal.lz"); +const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/icon.4bpp"); +const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/footprint.1bpp"); + +const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/front.4bpp.lz"); +const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/normal.gbapal.lz"); +const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/back.4bpp.lz"); +const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/shiny.gbapal.lz"); +const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/natu/icon.4bpp"); +const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/natu/footprint.1bpp"); + +const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/front.4bpp.lz"); +const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/normal.gbapal.lz"); +const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/back.4bpp.lz"); +const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/shiny.gbapal.lz"); +const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/icon.4bpp"); +const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/footprint.1bpp"); + +const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/front.4bpp.lz"); +const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/normal.gbapal.lz"); +const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/back.4bpp.lz"); +const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/shiny.gbapal.lz"); +const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/icon.4bpp"); +const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/footprint.1bpp"); + +const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/front.4bpp.lz"); +const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/normal.gbapal.lz"); +const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/back.4bpp.lz"); +const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/shiny.gbapal.lz"); +const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/icon.4bpp"); +const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/footprint.1bpp"); + +const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/front.4bpp.lz"); +const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/normal.gbapal.lz"); +const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/back.4bpp.lz"); +const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/shiny.gbapal.lz"); +const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/icon.4bpp"); +const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/footprint.1bpp"); + +const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/front.4bpp.lz"); +const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/normal.gbapal.lz"); +const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/back.4bpp.lz"); +const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/shiny.gbapal.lz"); +const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/icon.4bpp"); +const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/footprint.1bpp"); + +const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/front.4bpp.lz"); +const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/normal.gbapal.lz"); +const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/back.4bpp.lz"); +const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/shiny.gbapal.lz"); +const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/marill/icon.4bpp"); +const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/marill/footprint.1bpp"); + +const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/front.4bpp.lz"); +const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/normal.gbapal.lz"); +const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/back.4bpp.lz"); +const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/shiny.gbapal.lz"); +const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/icon.4bpp"); +const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/footprint.1bpp"); + +const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/front.4bpp.lz"); +const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/normal.gbapal.lz"); +const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/shiny.gbapal.lz"); +const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/icon.4bpp"); +const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/footprint.1bpp"); + +const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/front.4bpp.lz"); +const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/normal.gbapal.lz"); +const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/back.4bpp.lz"); +const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/shiny.gbapal.lz"); +const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/icon.4bpp"); +const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/footprint.1bpp"); + +const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/front.4bpp.lz"); +const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/normal.gbapal.lz"); +const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/back.4bpp.lz"); +const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/shiny.gbapal.lz"); +const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/icon.4bpp"); +const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/footprint.1bpp"); + +const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/front.4bpp.lz"); +const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/normal.gbapal.lz"); +const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/back.4bpp.lz"); +const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/shiny.gbapal.lz"); +const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/icon.4bpp"); +const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/footprint.1bpp"); + +const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/front.4bpp.lz"); +const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/normal.gbapal.lz"); +const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/back.4bpp.lz"); +const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/shiny.gbapal.lz"); +const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/icon.4bpp"); +const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/footprint.1bpp"); + +const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/front.4bpp.lz"); +const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/normal.gbapal.lz"); +const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/back.4bpp.lz"); +const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/shiny.gbapal.lz"); +const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/icon.4bpp"); +const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/footprint.1bpp"); + +const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/front.4bpp.lz"); +const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/normal.gbapal.lz"); +const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/back.4bpp.lz"); +const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/shiny.gbapal.lz"); +const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/icon.4bpp"); +const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/footprint.1bpp"); + +const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/front.4bpp.lz"); +const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/normal.gbapal.lz"); +const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/back.4bpp.lz"); +const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/shiny.gbapal.lz"); +const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/icon.4bpp"); +const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/footprint.1bpp"); + +const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/front.4bpp.lz"); +const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/normal.gbapal.lz"); +const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/back.4bpp.lz"); +const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/shiny.gbapal.lz"); +const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/icon.4bpp"); +const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/footprint.1bpp"); + +const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/front.4bpp.lz"); +const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/normal.gbapal.lz"); +const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/back.4bpp.lz"); +const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/shiny.gbapal.lz"); +const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/icon.4bpp"); +const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/footprint.1bpp"); + +const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/front.4bpp.lz"); +const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/normal.gbapal.lz"); +const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/back.4bpp.lz"); +const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/shiny.gbapal.lz"); +const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/icon.4bpp"); +const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/footprint.1bpp"); + +const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/front.4bpp.lz"); +const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/normal.gbapal.lz"); +const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/back.4bpp.lz"); +const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/shiny.gbapal.lz"); +const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/icon.4bpp"); +const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/footprint.1bpp"); + +const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/front.4bpp.lz"); +const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/normal.gbapal.lz"); +const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/back.4bpp.lz"); +const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/shiny.gbapal.lz"); +const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/icon.4bpp"); +const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/footprint.1bpp"); + +const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/front.4bpp.lz"); +const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/normal.gbapal.lz"); +const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/back.4bpp.lz"); +const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/shiny.gbapal.lz"); +const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/icon.4bpp"); +const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/footprint.1bpp"); + +const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/front.4bpp.lz"); +const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/normal.gbapal.lz"); +const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/shiny.gbapal.lz"); +const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/icon.4bpp"); +const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/footprint.1bpp"); + +const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/front.4bpp.lz"); +const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/normal.gbapal.lz"); +const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/back.4bpp.lz"); +const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/shiny.gbapal.lz"); +const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/icon.4bpp"); +const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/footprint.1bpp"); + +const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/front.4bpp.lz"); +const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/normal.gbapal.lz"); +const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/back.4bpp.lz"); +const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/shiny.gbapal.lz"); +const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/unown/a/icon.4bpp"); +const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/unown/footprint.1bpp"); + +const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/front.4bpp.lz"); +const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/normal.gbapal.lz"); +const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/back.4bpp.lz"); +const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/shiny.gbapal.lz"); +const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/icon.4bpp"); +const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/footprint.1bpp"); + +const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/front.4bpp.lz"); +const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/normal.gbapal.lz"); +const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/back.4bpp.lz"); +const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/shiny.gbapal.lz"); +const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/icon.4bpp"); +const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/footprint.1bpp"); + +const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/front.4bpp.lz"); +const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/normal.gbapal.lz"); +const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/back.4bpp.lz"); +const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/shiny.gbapal.lz"); +const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/icon.4bpp"); +const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/footprint.1bpp"); + +const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/front.4bpp.lz"); +const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/normal.gbapal.lz"); +const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/back.4bpp.lz"); +const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/shiny.gbapal.lz"); +const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/icon.4bpp"); +const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/footprint.1bpp"); + +const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/front.4bpp.lz"); +const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/normal.gbapal.lz"); +const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/back.4bpp.lz"); +const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/shiny.gbapal.lz"); +const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/icon.4bpp"); +const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/footprint.1bpp"); + +const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/front.4bpp.lz"); +const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/normal.gbapal.lz"); +const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/back.4bpp.lz"); +const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/shiny.gbapal.lz"); +const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/icon.4bpp"); +const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/footprint.1bpp"); + +const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/front.4bpp.lz"); +const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/normal.gbapal.lz"); +const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/back.4bpp.lz"); +const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/shiny.gbapal.lz"); +const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/icon.4bpp"); +const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/footprint.1bpp"); + +const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/front.4bpp.lz"); +const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/normal.gbapal.lz"); +const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/back.4bpp.lz"); +const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/shiny.gbapal.lz"); +const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/icon.4bpp"); +const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/footprint.1bpp"); + +const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/front.4bpp.lz"); +const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/normal.gbapal.lz"); +const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/back.4bpp.lz"); +const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/shiny.gbapal.lz"); +const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/icon.4bpp"); +const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/footprint.1bpp"); + +const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/front.4bpp.lz"); +const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/normal.gbapal.lz"); +const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/back.4bpp.lz"); +const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/shiny.gbapal.lz"); +const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/icon.4bpp"); +const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/footprint.1bpp"); + +const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/front.4bpp.lz"); +const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/normal.gbapal.lz"); +const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/back.4bpp.lz"); +const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/shiny.gbapal.lz"); +const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/icon.4bpp"); +const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/footprint.1bpp"); + +const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/front.4bpp.lz"); +const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/normal.gbapal.lz"); +const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/back.4bpp.lz"); +const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/shiny.gbapal.lz"); +const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/icon.4bpp"); +const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/footprint.1bpp"); + +const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/front.4bpp.lz"); +const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/normal.gbapal.lz"); +const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/back.4bpp.lz"); +const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/shiny.gbapal.lz"); +const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/icon.4bpp"); +const u8 gUnknown_heracross_icon[] = INCBIN_U8("graphics/pokemon/heracross/unk_icon.4bpp"); +const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/footprint.1bpp"); + +const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/front.4bpp.lz"); +const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/normal.gbapal.lz"); +const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/back.4bpp.lz"); +const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/shiny.gbapal.lz"); +const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/icon.4bpp"); +const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/footprint.1bpp"); + +const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/front.4bpp.lz"); +const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/normal.gbapal.lz"); +const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/back.4bpp.lz"); +const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/shiny.gbapal.lz"); +const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/icon.4bpp"); +const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/footprint.1bpp"); + +const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/front.4bpp.lz"); +const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/normal.gbapal.lz"); +const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/back.4bpp.lz"); +const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/shiny.gbapal.lz"); +const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/icon.4bpp"); +const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/footprint.1bpp"); + +const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/front.4bpp.lz"); +const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/normal.gbapal.lz"); +const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/back.4bpp.lz"); +const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/shiny.gbapal.lz"); +const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/icon.4bpp"); +const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/footprint.1bpp"); + +const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/front.4bpp.lz"); +const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/normal.gbapal.lz"); +const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/back.4bpp.lz"); +const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/shiny.gbapal.lz"); +const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/icon.4bpp"); +const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/footprint.1bpp"); + +const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/front.4bpp.lz"); +const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/normal.gbapal.lz"); +const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/back.4bpp.lz"); +const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/shiny.gbapal.lz"); +const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/icon.4bpp"); +const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/footprint.1bpp"); + +const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/front.4bpp.lz"); +const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/normal.gbapal.lz"); +const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/back.4bpp.lz"); +const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/shiny.gbapal.lz"); +const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/icon.4bpp"); +const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/footprint.1bpp"); + +const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/front.4bpp.lz"); +const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/normal.gbapal.lz"); +const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/back.4bpp.lz"); +const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/shiny.gbapal.lz"); +const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/icon.4bpp"); +const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/footprint.1bpp"); + +const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/front.4bpp.lz"); +const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/normal.gbapal.lz"); +const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/back.4bpp.lz"); +const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/shiny.gbapal.lz"); +const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/icon.4bpp"); +const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/footprint.1bpp"); + +const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/front.4bpp.lz"); +const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/normal.gbapal.lz"); +const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/back.4bpp.lz"); +const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/shiny.gbapal.lz"); +const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/icon.4bpp"); +const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/footprint.1bpp"); + +const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/front.4bpp.lz"); +const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/normal.gbapal.lz"); +const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/back.4bpp.lz"); +const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/shiny.gbapal.lz"); +const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/icon.4bpp"); +const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/footprint.1bpp"); + +const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/front.4bpp.lz"); +const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/normal.gbapal.lz"); +const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/back.4bpp.lz"); +const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/shiny.gbapal.lz"); +const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/icon.4bpp"); +const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/footprint.1bpp"); + +const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/front.4bpp.lz"); +const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/normal.gbapal.lz"); +const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/back.4bpp.lz"); +const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/shiny.gbapal.lz"); +const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/icon.4bpp"); +const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/footprint.1bpp"); + +const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/front.4bpp.lz"); +const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/normal.gbapal.lz"); +const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/back.4bpp.lz"); +const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/shiny.gbapal.lz"); +const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/icon.4bpp"); +const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/footprint.1bpp"); + +const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/front.4bpp.lz"); +const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/normal.gbapal.lz"); +const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/back.4bpp.lz"); +const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/shiny.gbapal.lz"); +const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/icon.4bpp"); +const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/footprint.1bpp"); + +const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/front.4bpp.lz"); +const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/normal.gbapal.lz"); +const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/back.4bpp.lz"); +const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/shiny.gbapal.lz"); +const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/icon.4bpp"); +const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/footprint.1bpp"); + +const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/front.4bpp.lz"); +const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/normal.gbapal.lz"); +const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/back.4bpp.lz"); +const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/shiny.gbapal.lz"); +const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/icon.4bpp"); +const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/footprint.1bpp"); + +const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/front.4bpp.lz"); +const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/normal.gbapal.lz"); +const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/back.4bpp.lz"); +const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/shiny.gbapal.lz"); +const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/icon.4bpp"); +const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/footprint.1bpp"); + +const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/front.4bpp.lz"); +const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/normal.gbapal.lz"); +const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/back.4bpp.lz"); +const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/shiny.gbapal.lz"); +const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/icon.4bpp"); +const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/footprint.1bpp"); + +const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/front.4bpp.lz"); +const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/normal.gbapal.lz"); +const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/back.4bpp.lz"); +const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/shiny.gbapal.lz"); +const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/icon.4bpp"); +const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/footprint.1bpp"); + +const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/front.4bpp.lz"); +const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/normal.gbapal.lz"); +const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/back.4bpp.lz"); +const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/shiny.gbapal.lz"); +const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/icon.4bpp"); +const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/footprint.1bpp"); + +const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/front.4bpp.lz"); +const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/normal.gbapal.lz"); +const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/back.4bpp.lz"); +const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/shiny.gbapal.lz"); +const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/icon.4bpp"); +const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/footprint.1bpp"); + +const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/front.4bpp.lz"); +const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/icon.4bpp"); + +// This might be undefined memory garbage. Its all 00s except for 1 0F. Its also not referenced. +const u32 gUndefined_8DD1E90[] = INCBIN_U32("data/garbage_8DD2290.bin"); + +const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/footprint.1bpp"); + +const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/front.4bpp.lz"); +const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/normal.gbapal.lz"); +const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/back.4bpp.lz"); +const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/shiny.gbapal.lz"); +const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/icon.4bpp"); +const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/footprint.1bpp"); + +const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/front.4bpp.lz"); +const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/normal.gbapal.lz"); +const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/back.4bpp.lz"); +const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/shiny.gbapal.lz"); +const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/icon.4bpp"); +const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/footprint.1bpp"); + +const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/front.4bpp.lz"); +const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/normal.gbapal.lz"); +const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/back.4bpp.lz"); +const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/shiny.gbapal.lz"); +const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/magby/icon.4bpp"); +const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/magby/footprint.1bpp"); + +const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/front.4bpp.lz"); +const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/normal.gbapal.lz"); +const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/back.4bpp.lz"); +const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/shiny.gbapal.lz"); +const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/icon.4bpp"); +const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/footprint.1bpp"); + +const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/front.4bpp.lz"); +const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/normal.gbapal.lz"); +const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/back.4bpp.lz"); +const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/shiny.gbapal.lz"); +const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/icon.4bpp"); +const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/footprint.1bpp"); + +const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/front.4bpp.lz"); +const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/normal.gbapal.lz"); +const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/back.4bpp.lz"); +const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/shiny.gbapal.lz"); +const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/icon.4bpp"); +const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/footprint.1bpp"); + +const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/front.4bpp.lz"); +const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/normal.gbapal.lz"); +const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/back.4bpp.lz"); +const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/shiny.gbapal.lz"); +const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/entei/icon.4bpp"); +const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/entei/footprint.1bpp"); + +const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/front.4bpp.lz"); +const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/normal.gbapal.lz"); +const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/back.4bpp.lz"); +const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/shiny.gbapal.lz"); +const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/icon.4bpp"); +const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/footprint.1bpp"); + +const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/front.4bpp.lz"); +const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/normal.gbapal.lz"); +const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/shiny.gbapal.lz"); +const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/icon.4bpp"); +const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/footprint.1bpp"); + +const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/front.4bpp.lz"); +const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/normal.gbapal.lz"); +const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/shiny.gbapal.lz"); +const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/icon.4bpp"); +const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/footprint.1bpp"); + +const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/front.4bpp.lz"); +const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/normal.gbapal.lz"); +const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/shiny.gbapal.lz"); +const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/icon.4bpp"); +const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/footprint.1bpp"); + +const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/front.4bpp.lz"); +const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/normal.gbapal.lz"); +const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/back.4bpp.lz"); +const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/shiny.gbapal.lz"); +const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/icon.4bpp"); +const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/footprint.1bpp"); + +const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/front.4bpp.lz"); +const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/normal.gbapal.lz"); +const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/back.4bpp.lz"); +const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/shiny.gbapal.lz"); +const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/icon.4bpp"); +const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/footprint.1bpp"); + +const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/front.4bpp.lz"); +const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/normal.gbapal.lz"); +const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/back.4bpp.lz"); +const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/shiny.gbapal.lz"); +const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/icon.4bpp"); +const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/footprint.1bpp"); + +const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/front.4bpp.lz"); +const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/normal.gbapal.lz"); +const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/back.4bpp.lz"); +const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/shiny.gbapal.lz"); + +const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/front.4bpp.lz"); +const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/normal.gbapal.lz"); +const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/back.4bpp.lz"); +const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/shiny.gbapal.lz"); +const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/icon.4bpp"); +const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/footprint.1bpp"); + +const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/front.4bpp.lz"); +const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/normal.gbapal.lz"); +const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/back.4bpp.lz"); +const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/shiny.gbapal.lz"); +const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/icon.4bpp"); +const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/footprint.1bpp"); + +const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/front.4bpp.lz"); +const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/normal.gbapal.lz"); +const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/back.4bpp.lz"); +const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/shiny.gbapal.lz"); +const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/icon.4bpp"); +const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/footprint.1bpp"); + +const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/front.4bpp.lz"); +const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/normal.gbapal.lz"); +const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/back.4bpp.lz"); +const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/shiny.gbapal.lz"); +const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/icon.4bpp"); +const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/footprint.1bpp"); + +const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/front.4bpp.lz"); +const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/normal.gbapal.lz"); +const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/back.4bpp.lz"); +const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/shiny.gbapal.lz"); +const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/icon.4bpp"); +const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/footprint.1bpp"); + +const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/front.4bpp.lz"); +const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/normal.gbapal.lz"); +const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/back.4bpp.lz"); +const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/shiny.gbapal.lz"); +const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/icon.4bpp"); +const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/footprint.1bpp"); + +const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/front.4bpp.lz"); +const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/normal.gbapal.lz"); +const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/back.4bpp.lz"); +const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/shiny.gbapal.lz"); +const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/icon.4bpp"); +const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/footprint.1bpp"); + +const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/front.4bpp.lz"); +const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/normal.gbapal.lz"); +const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/back.4bpp.lz"); +const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/shiny.gbapal.lz"); +const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/icon.4bpp"); +const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/footprint.1bpp"); + +const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/front.4bpp.lz"); +const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/normal.gbapal.lz"); +const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/back.4bpp.lz"); +const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/shiny.gbapal.lz"); +const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/icon.4bpp"); +const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/footprint.1bpp"); + +const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/front.4bpp.lz"); +const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/normal.gbapal.lz"); +const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/back.4bpp.lz"); +const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/shiny.gbapal.lz"); +const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/icon.4bpp"); +const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/footprint.1bpp"); + +const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/front.4bpp.lz"); +const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/normal.gbapal.lz"); +const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/back.4bpp.lz"); +const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/shiny.gbapal.lz"); +const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/icon.4bpp"); +const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/footprint.1bpp"); + +const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/front.4bpp.lz"); +const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/normal.gbapal.lz"); +const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/shiny.gbapal.lz"); +const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/icon.4bpp"); +const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/footprint.1bpp"); + +const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/front.4bpp.lz"); +const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/normal.gbapal.lz"); +const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/back.4bpp.lz"); +const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/shiny.gbapal.lz"); +const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/icon.4bpp"); +const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/footprint.1bpp"); + +const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/front.4bpp.lz"); +const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/normal.gbapal.lz"); +const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/back.4bpp.lz"); +const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/shiny.gbapal.lz"); +const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/icon.4bpp"); +const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/footprint.1bpp"); + +const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/front.4bpp.lz"); +const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/normal.gbapal.lz"); +const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/shiny.gbapal.lz"); +const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/icon.4bpp"); +const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/footprint.1bpp"); + +const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/front.4bpp.lz"); +const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/normal.gbapal.lz"); +const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/back.4bpp.lz"); +const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/shiny.gbapal.lz"); +const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/icon.4bpp"); +const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/footprint.1bpp"); + +const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/front.4bpp.lz"); +const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/normal.gbapal.lz"); +const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/shiny.gbapal.lz"); +const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/icon.4bpp"); +const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/footprint.1bpp"); + +const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/front.4bpp.lz"); +const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/normal.gbapal.lz"); +const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/back.4bpp.lz"); +const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/shiny.gbapal.lz"); +const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/icon.4bpp"); +const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/footprint.1bpp"); + +const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/front.4bpp.lz"); +const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/normal.gbapal.lz"); +const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/back.4bpp.lz"); +const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/shiny.gbapal.lz"); +const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/icon.4bpp"); +const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/footprint.1bpp"); + +const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/front.4bpp.lz"); +const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/normal.gbapal.lz"); +const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/back.4bpp.lz"); +const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/shiny.gbapal.lz"); +const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/icon.4bpp"); +const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/footprint.1bpp"); + +const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/front.4bpp.lz"); +const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/normal.gbapal.lz"); +const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/back.4bpp.lz"); +const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/shiny.gbapal.lz"); +const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/icon.4bpp"); +const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/footprint.1bpp"); + +const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/front.4bpp.lz"); +const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/normal.gbapal.lz"); +const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/back.4bpp.lz"); +const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/shiny.gbapal.lz"); +const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/icon.4bpp"); +const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/footprint.1bpp"); + +const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/front.4bpp.lz"); +const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/normal.gbapal.lz"); +const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/back.4bpp.lz"); +const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/shiny.gbapal.lz"); +const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/icon.4bpp"); +const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/footprint.1bpp"); + +const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/front.4bpp.lz"); +const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/normal.gbapal.lz"); +const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/back.4bpp.lz"); +const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/shiny.gbapal.lz"); +const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/icon.4bpp"); +const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/footprint.1bpp"); + +const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/front.4bpp.lz"); +const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/normal.gbapal.lz"); +const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/back.4bpp.lz"); +const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/shiny.gbapal.lz"); +const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/icon.4bpp"); +const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/footprint.1bpp"); + +const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/front.4bpp.lz"); +const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/normal.gbapal.lz"); +const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/back.4bpp.lz"); +const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/shiny.gbapal.lz"); +const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/icon.4bpp"); +const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/footprint.1bpp"); + +const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/front.4bpp.lz"); +const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/normal.gbapal.lz"); +const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/back.4bpp.lz"); +const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/shiny.gbapal.lz"); +const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/icon.4bpp"); +const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/footprint.1bpp"); + +const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/front.4bpp.lz"); +const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/normal.gbapal.lz"); +const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/back.4bpp.lz"); +const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/shiny.gbapal.lz"); +const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/icon.4bpp"); +const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/footprint.1bpp"); + +const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/front.4bpp.lz"); +const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/normal.gbapal.lz"); +const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/back.4bpp.lz"); +const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/shiny.gbapal.lz"); +const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/icon.4bpp"); +const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/footprint.1bpp"); + +const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/front.4bpp.lz"); +const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/normal.gbapal.lz"); +const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/back.4bpp.lz"); +const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/shiny.gbapal.lz"); +const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/icon.4bpp"); +const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/footprint.1bpp"); + +const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/front.4bpp.lz"); +const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/normal.gbapal.lz"); +const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/back.4bpp.lz"); +const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/shiny.gbapal.lz"); +const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/icon.4bpp"); +const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/footprint.1bpp"); + +const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/front.4bpp.lz"); +const u32 gMonPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/normal.gbapal.lz"); +const u32 gMonBackPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/back.4bpp.lz"); +const u32 gMonShinyPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/shiny.gbapal.lz"); +const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/icon.4bpp"); +const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/footprint.1bpp"); + +const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/front.4bpp.lz"); +const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/normal.gbapal.lz"); +const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/back.4bpp.lz"); +const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/shiny.gbapal.lz"); +const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/icon.4bpp"); +const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/footprint.1bpp"); + +const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/front.4bpp.lz"); +const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/normal.gbapal.lz"); +const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/back.4bpp.lz"); +const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/shiny.gbapal.lz"); +const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/icon.4bpp"); +const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/footprint.1bpp"); + +const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/front.4bpp.lz"); +const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/normal.gbapal.lz"); +const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/back.4bpp.lz"); +const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/shiny.gbapal.lz"); +const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/icon.4bpp"); +const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/footprint.1bpp"); + +const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/front.4bpp.lz"); +const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/normal.gbapal.lz"); +const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/back.4bpp.lz"); +const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/shiny.gbapal.lz"); +const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/icon.4bpp"); +const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/footprint.1bpp"); + +const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/front.4bpp.lz"); +const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/normal.gbapal.lz"); +const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/back.4bpp.lz"); +const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/shiny.gbapal.lz"); +const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/icon.4bpp"); +const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/footprint.1bpp"); + +const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/front.4bpp.lz"); +const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/normal.gbapal.lz"); +const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/back.4bpp.lz"); +const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/shiny.gbapal.lz"); +const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/icon.4bpp"); +const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/footprint.1bpp"); + +const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/front.4bpp.lz"); +const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/normal.gbapal.lz"); +const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/back.4bpp.lz"); +const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/shiny.gbapal.lz"); +const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/icon.4bpp"); +const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/footprint.1bpp"); + +const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/front.4bpp.lz"); +const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/normal.gbapal.lz"); +const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/back.4bpp.lz"); +const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/shiny.gbapal.lz"); +const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/icon.4bpp"); +const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/footprint.1bpp"); + +const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/front.4bpp.lz"); +const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/normal.gbapal.lz"); +const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/back.4bpp.lz"); +const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/shiny.gbapal.lz"); +const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/icon.4bpp"); +const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/footprint.1bpp"); + +const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/front.4bpp.lz"); +const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/normal.gbapal.lz"); +const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/back.4bpp.lz"); +const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/shiny.gbapal.lz"); +const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/icon.4bpp"); +const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/footprint.1bpp"); + +const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/front.4bpp.lz"); +const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/normal.gbapal.lz"); +const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/back.4bpp.lz"); +const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/shiny.gbapal.lz"); +const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/icon.4bpp"); +const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/footprint.1bpp"); + +const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/front.4bpp.lz"); +const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/normal.gbapal.lz"); +const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/back.4bpp.lz"); +const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/shiny.gbapal.lz"); +const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/icon.4bpp"); +const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/footprint.1bpp"); + +const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/front.4bpp.lz"); +const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/normal.gbapal.lz"); +const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/back.4bpp.lz"); +const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/shiny.gbapal.lz"); +const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/icon.4bpp"); +const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/footprint.1bpp"); + +const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/front.4bpp.lz"); +const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/normal.gbapal.lz"); +const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/back.4bpp.lz"); +const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/shiny.gbapal.lz"); +const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/icon.4bpp"); +const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/footprint.1bpp"); + +const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/front.4bpp.lz"); +const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/normal.gbapal.lz"); +const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/back.4bpp.lz"); +const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/shiny.gbapal.lz"); +const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/icon.4bpp"); +const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/footprint.1bpp"); + +const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/front.4bpp.lz"); +const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/normal.gbapal.lz"); +const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/back.4bpp.lz"); +const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/shiny.gbapal.lz"); +const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/icon.4bpp"); +const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/footprint.1bpp"); + +const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/front.4bpp.lz"); +const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/normal.gbapal.lz"); +const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/back.4bpp.lz"); +const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/shiny.gbapal.lz"); +const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/icon.4bpp"); +const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/footprint.1bpp"); + +const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/front.4bpp.lz"); +const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/normal.gbapal.lz"); +const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/back.4bpp.lz"); +const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/shiny.gbapal.lz"); +const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/icon.4bpp"); +const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/footprint.1bpp"); + +const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/front.4bpp.lz"); +const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/normal.gbapal.lz"); +const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/back.4bpp.lz"); +const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/shiny.gbapal.lz"); +const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/icon.4bpp"); +const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/footprint.1bpp"); + +const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/front.4bpp.lz"); +const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/normal.gbapal.lz"); +const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/back.4bpp.lz"); +const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/shiny.gbapal.lz"); +const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/icon.4bpp"); +const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/footprint.1bpp"); + +const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/front.4bpp.lz"); +const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/normal.gbapal.lz"); +const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/back.4bpp.lz"); +const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/shiny.gbapal.lz"); +const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/icon.4bpp"); +const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/footprint.1bpp"); + +const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/front.4bpp.lz"); +const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/normal.gbapal.lz"); +const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/back.4bpp.lz"); +const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/shiny.gbapal.lz"); +const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/icon.4bpp"); +const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/footprint.1bpp"); + +const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/front.4bpp.lz"); +const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/normal.gbapal.lz"); +const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/shiny.gbapal.lz"); +const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/icon.4bpp"); +const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/footprint.1bpp"); + +const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/front.4bpp.lz"); +const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/normal.gbapal.lz"); +const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/back.4bpp.lz"); +const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/shiny.gbapal.lz"); +const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/icon.4bpp"); +const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/footprint.1bpp"); + +const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/front.4bpp.lz"); +const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/normal.gbapal.lz"); +const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/back.4bpp.lz"); +const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/shiny.gbapal.lz"); +const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/icon.4bpp"); +const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/footprint.1bpp"); + +const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/front.4bpp.lz"); +const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/normal.gbapal.lz"); +const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/back.4bpp.lz"); +const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/shiny.gbapal.lz"); +const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/icon.4bpp"); +const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/footprint.1bpp"); + +const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/front.4bpp.lz"); +const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/normal.gbapal.lz"); +const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/back.4bpp.lz"); +const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/shiny.gbapal.lz"); +const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/icon.4bpp"); +const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/footprint.1bpp"); + +const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/front.4bpp.lz"); +const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/normal.gbapal.lz"); +const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/back.4bpp.lz"); +const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/shiny.gbapal.lz"); +const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/icon.4bpp"); +const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/footprint.1bpp"); + +const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/front.4bpp.lz"); +const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/normal.gbapal.lz"); +const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/back.4bpp.lz"); +const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/shiny.gbapal.lz"); +const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/icon.4bpp"); +const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/footprint.1bpp"); + +const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/front.4bpp.lz"); +const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/normal.gbapal.lz"); +const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/back.4bpp.lz"); +const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/shiny.gbapal.lz"); +const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/icon.4bpp"); +const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/footprint.1bpp"); + +const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/front.4bpp.lz"); +const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/normal.gbapal.lz"); +const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/back.4bpp.lz"); +const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/shiny.gbapal.lz"); +const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/numel/icon.4bpp"); +const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/numel/footprint.1bpp"); + +const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/front.4bpp.lz"); +const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/normal.gbapal.lz"); +const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/back.4bpp.lz"); +const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/shiny.gbapal.lz"); +const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/icon.4bpp"); +const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/footprint.1bpp"); + +const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/front.4bpp.lz"); +const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/normal.gbapal.lz"); +const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/back.4bpp.lz"); +const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/shiny.gbapal.lz"); +const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/icon.4bpp"); +const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/footprint.1bpp"); + +const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/front.4bpp.lz"); +const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/normal.gbapal.lz"); +const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/shiny.gbapal.lz"); +const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/icon.4bpp"); +const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/footprint.1bpp"); + +const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/front.4bpp.lz"); +const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/normal.gbapal.lz"); +const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/back.4bpp.lz"); +const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/shiny.gbapal.lz"); +const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/icon.4bpp"); +const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/footprint.1bpp"); + +const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/front.4bpp.lz"); +const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/normal.gbapal.lz"); +const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/back.4bpp.lz"); +const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/shiny.gbapal.lz"); +const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/icon.4bpp"); +const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/footprint.1bpp"); + +const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/front.4bpp.lz"); +const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/normal.gbapal.lz"); +const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/back.4bpp.lz"); +const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/shiny.gbapal.lz"); +const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/icon.4bpp"); +const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/footprint.1bpp"); + +const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/front.4bpp.lz"); +const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/normal.gbapal.lz"); +const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/back.4bpp.lz"); +const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/shiny.gbapal.lz"); +const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/icon.4bpp"); +const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/footprint.1bpp"); + +const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/front.4bpp.lz"); +const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/normal.gbapal.lz"); +const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/back.4bpp.lz"); +const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/shiny.gbapal.lz"); +const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/icon.4bpp"); +const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/footprint.1bpp"); + +const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/front.4bpp.lz"); +const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/normal.gbapal.lz"); +const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/back.4bpp.lz"); +const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/shiny.gbapal.lz"); +const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/icon.4bpp"); +const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/footprint.1bpp"); + +const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/front.4bpp.lz"); +const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/normal.gbapal.lz"); +const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/back.4bpp.lz"); +const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/shiny.gbapal.lz"); +const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/icon.4bpp"); +const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/footprint.1bpp"); + +const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/front.4bpp.lz"); +const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/normal.gbapal.lz"); +const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/back.4bpp.lz"); +const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/shiny.gbapal.lz"); +const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/icon.4bpp"); +const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/footprint.1bpp"); + +const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/front.4bpp.lz"); +const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/normal.gbapal.lz"); +const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/back.4bpp.lz"); +const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/shiny.gbapal.lz"); +const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/icon.4bpp"); +const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/footprint.1bpp"); + +const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/front.4bpp.lz"); +const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/normal.gbapal.lz"); +const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/back.4bpp.lz"); +const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/shiny.gbapal.lz"); +const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/icon.4bpp"); +const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/footprint.1bpp"); + +const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/front.4bpp.lz"); +const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/normal.gbapal.lz"); +const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/back.4bpp.lz"); +const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/shiny.gbapal.lz"); +const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/icon.4bpp"); +const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/footprint.1bpp"); + +const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/front.4bpp.lz"); +const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/normal.gbapal.lz"); +const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/back.4bpp.lz"); +const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/shiny.gbapal.lz"); +const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/minun/icon.4bpp"); +const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/minun/footprint.1bpp"); + +const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/front.4bpp.lz"); +const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/normal.gbapal.lz"); +const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/back.4bpp.lz"); +const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/shiny.gbapal.lz"); +const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/icon.4bpp"); +const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/footprint.1bpp"); + +const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/front.4bpp.lz"); +const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/normal.gbapal.lz"); +const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/back.4bpp.lz"); +const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/shiny.gbapal.lz"); +const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/icon.4bpp"); +const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/footprint.1bpp"); + +const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/front.4bpp.lz"); +const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/normal.gbapal.lz"); +const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/back.4bpp.lz"); +const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/shiny.gbapal.lz"); +const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/icon.4bpp"); +const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/footprint.1bpp"); + +const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/front.4bpp.lz"); +const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/normal.gbapal.lz"); +const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/back.4bpp.lz"); +const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/shiny.gbapal.lz"); +const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/icon.4bpp"); +const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/footprint.1bpp"); + +const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/front.4bpp.lz"); +const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/normal.gbapal.lz"); +const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/back.4bpp.lz"); +const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/shiny.gbapal.lz"); +const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/icon.4bpp"); +const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/footprint.1bpp"); + +const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/front.4bpp.lz"); +const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/normal.gbapal.lz"); +const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/back.4bpp.lz"); +const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/shiny.gbapal.lz"); +const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/icon.4bpp"); +const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/footprint.1bpp"); + +const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/front.4bpp.lz"); +const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/normal.gbapal.lz"); +const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/back.4bpp.lz"); +const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/shiny.gbapal.lz"); +const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/icon.4bpp"); +const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/footprint.1bpp"); + +const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/front.4bpp.lz"); +const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/normal.gbapal.lz"); +const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/back.4bpp.lz"); +const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/shiny.gbapal.lz"); +const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/icon.4bpp"); +const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/footprint.1bpp"); + +const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/front.4bpp.lz"); +const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/normal.gbapal.lz"); +const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/back.4bpp.lz"); +const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/shiny.gbapal.lz"); +const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/icon.4bpp"); +const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/footprint.1bpp"); + +const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/front.4bpp.lz"); +const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/normal.gbapal.lz"); +const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/back.4bpp.lz"); +const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/shiny.gbapal.lz"); +const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/icon.4bpp"); +const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/footprint.1bpp"); + +const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/front.4bpp.lz"); +const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/normal.gbapal.lz"); +const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/back.4bpp.lz"); +const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/shiny.gbapal.lz"); +const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/icon.4bpp"); +const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/footprint.1bpp"); + +const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/front.4bpp.lz"); +const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/normal.gbapal.lz"); +const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/back.4bpp.lz"); +const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/shiny.gbapal.lz"); +const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/icon.4bpp"); +const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/footprint.1bpp"); + +const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/front.4bpp.lz"); +const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/normal.gbapal.lz"); +const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/back.4bpp.lz"); +const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/shiny.gbapal.lz"); +const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/icon.4bpp"); +const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/footprint.1bpp"); + +const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/front.4bpp.lz"); +const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/normal.gbapal.lz"); +const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/back.4bpp.lz"); +const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/shiny.gbapal.lz"); +const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/icon.4bpp"); +const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/footprint.1bpp"); + +const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/front.4bpp.lz"); +const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/normal.gbapal.lz"); +const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/back.4bpp.lz"); +const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/shiny.gbapal.lz"); +const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/icon.4bpp"); +const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/footprint.1bpp"); + +const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/front.4bpp.lz"); +const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/normal.gbapal.lz"); +const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/back.4bpp.lz"); +const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/shiny.gbapal.lz"); +const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/icon.4bpp"); +const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/footprint.1bpp"); + +const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/front.4bpp.lz"); +const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/normal.gbapal.lz"); +const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/back.4bpp.lz"); +const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/shiny.gbapal.lz"); +const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/icon.4bpp"); +const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/footprint.1bpp"); + +const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/front.4bpp.lz"); +const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/normal.gbapal.lz"); +const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/back.4bpp.lz"); +const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/shiny.gbapal.lz"); +const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/icon.4bpp"); +const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/footprint.1bpp"); + +const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/front.4bpp.lz"); +const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/normal.gbapal.lz"); +const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/back.4bpp.lz"); +const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/shiny.gbapal.lz"); +const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/icon.4bpp"); +const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/footprint.1bpp"); + +const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/front.4bpp.lz"); +const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/normal.gbapal.lz"); +const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/back.4bpp.lz"); +const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/shiny.gbapal.lz"); +const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/icon.4bpp"); +const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/footprint.1bpp"); + +const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/front.4bpp.lz"); +const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/normal.gbapal.lz"); +const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/back.4bpp.lz"); +const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/shiny.gbapal.lz"); +const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/icon.4bpp"); +const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/footprint.1bpp"); + +const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/front.4bpp.lz"); +const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/normal.gbapal.lz"); +const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/back.4bpp.lz"); +const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/shiny.gbapal.lz"); +const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/absol/icon.4bpp"); +const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/absol/footprint.1bpp"); + +const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/front.4bpp.lz"); +const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/normal.gbapal.lz"); +const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/back.4bpp.lz"); +const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/shiny.gbapal.lz"); +const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/icon.4bpp"); +const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/footprint.1bpp"); + +const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/front.4bpp.lz"); +const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/normal.gbapal.lz"); +const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/back.4bpp.lz"); +const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/shiny.gbapal.lz"); +const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/banette/icon.4bpp"); +const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/banette/footprint.1bpp"); + +const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/front.4bpp.lz"); +const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/normal.gbapal.lz"); +const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/back.4bpp.lz"); +const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/shiny.gbapal.lz"); +const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/icon.4bpp"); +const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/footprint.1bpp"); + +const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/front.4bpp.lz"); +const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/normal.gbapal.lz"); +const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/back.4bpp.lz"); +const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/shiny.gbapal.lz"); +const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/icon.4bpp"); +const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/footprint.1bpp"); + +const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/front.4bpp.lz"); +const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/normal.gbapal.lz"); +const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/back.4bpp.lz"); +const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/shiny.gbapal.lz"); +const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/icon.4bpp"); +const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/footprint.1bpp"); + +const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/front.4bpp.lz"); +const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/normal.gbapal.lz"); +const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/back.4bpp.lz"); +const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/shiny.gbapal.lz"); +const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/aron/icon.4bpp"); +const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/aron/footprint.1bpp"); + +const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/front.4bpp.lz"); +const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/normal.gbapal.lz"); +const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/back.4bpp.lz"); +const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/shiny.gbapal.lz"); +const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/icon.4bpp"); +const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/footprint.1bpp"); + +const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/front.4bpp.lz"); +const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/normal.gbapal.lz"); +const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/back.4bpp.lz"); +const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/shiny.gbapal.lz"); +const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/icon.4bpp"); +const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/footprint.1bpp"); + +const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/front.4bpp.lz"); +const u32 gMonPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/normal.gbapal.lz"); +const u32 gMonBackPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/back.4bpp.lz"); +const u32 gMonShinyPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/shiny.gbapal.lz"); +const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/castform/icon.4bpp"); +const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/castform/footprint.1bpp"); + +const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/front.4bpp.lz"); +const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/normal.gbapal.lz"); +const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/back.4bpp.lz"); +const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/shiny.gbapal.lz"); +const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/icon.4bpp"); +const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/footprint.1bpp"); + +const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/front.4bpp.lz"); +const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/normal.gbapal.lz"); +const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/back.4bpp.lz"); +const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/shiny.gbapal.lz"); +const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/icon.4bpp"); +const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/footprint.1bpp"); + +const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/front.4bpp.lz"); +const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/normal.gbapal.lz"); +const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/back.4bpp.lz"); +const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/shiny.gbapal.lz"); +const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/icon.4bpp"); +const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/footprint.1bpp"); + +const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/front.4bpp.lz"); +const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/normal.gbapal.lz"); +const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/back.4bpp.lz"); +const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/shiny.gbapal.lz"); +const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/icon.4bpp"); +const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/footprint.1bpp"); + +const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/front.4bpp.lz"); +const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/normal.gbapal.lz"); +const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/back.4bpp.lz"); +const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/shiny.gbapal.lz"); +const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/icon.4bpp"); +const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/footprint.1bpp"); + +const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/front.4bpp.lz"); +const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/normal.gbapal.lz"); +const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/back.4bpp.lz"); +const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/shiny.gbapal.lz"); +const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/icon.4bpp"); +const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/footprint.1bpp"); + +const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/front.4bpp.lz"); +const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/normal.gbapal.lz"); +const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/back.4bpp.lz"); +const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/shiny.gbapal.lz"); +const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/icon.4bpp"); +const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/footprint.1bpp"); + +const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/front.4bpp.lz"); +const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/normal.gbapal.lz"); +const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/back.4bpp.lz"); +const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/shiny.gbapal.lz"); +const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/icon.4bpp"); +const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/footprint.1bpp"); + +const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/front.4bpp.lz"); +const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/normal.gbapal.lz"); +const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/back.4bpp.lz"); +const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/shiny.gbapal.lz"); +const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/icon.4bpp"); +const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/footprint.1bpp"); + +const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/front.4bpp.lz"); +const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/normal.gbapal.lz"); +const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/back.4bpp.lz"); +const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/shiny.gbapal.lz"); +const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/icon.4bpp"); +const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/footprint.1bpp"); + +const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/front.4bpp.lz"); +const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/normal.gbapal.lz"); +const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/back.4bpp.lz"); +const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/shiny.gbapal.lz"); +const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/icon.4bpp"); +const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/footprint.1bpp"); + +const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/front.4bpp.lz"); +const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/normal.gbapal.lz"); +const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/back.4bpp.lz"); +const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/shiny.gbapal.lz"); +const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/icon.4bpp"); +const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/footprint.1bpp"); + +const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/front.4bpp.lz"); +const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/normal.gbapal.lz"); +const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/back.4bpp.lz"); +const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/shiny.gbapal.lz"); +const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/icon.4bpp"); +const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/footprint.1bpp"); + +const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/front.4bpp.lz"); +const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/normal.gbapal.lz"); +const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/back.4bpp.lz"); +const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/shiny.gbapal.lz"); +const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/metang/icon.4bpp"); +const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/metang/footprint.1bpp"); + +const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/front.4bpp.lz"); +const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/normal.gbapal.lz"); +const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/back.4bpp.lz"); +const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/shiny.gbapal.lz"); +const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/icon.4bpp"); +const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/footprint.1bpp"); + +const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/front.4bpp.lz"); +const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/normal.gbapal.lz"); +const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/back.4bpp.lz"); +const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/shiny.gbapal.lz"); +const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/icon.4bpp"); +const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/footprint.1bpp"); + +const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/front.4bpp.lz"); +const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/normal.gbapal.lz"); +const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/back.4bpp.lz"); +const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/shiny.gbapal.lz"); +const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/regice/icon.4bpp"); +const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/regice/footprint.1bpp"); + +const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/front.4bpp.lz"); +const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/normal.gbapal.lz"); +const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/back.4bpp.lz"); +const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/shiny.gbapal.lz"); +const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/icon.4bpp"); +const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/footprint.1bpp"); + +const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/front.4bpp.lz"); +const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/normal.gbapal.lz"); +const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/back.4bpp.lz"); +const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/shiny.gbapal.lz"); +const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/icon.4bpp"); +const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/footprint.1bpp"); + +const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/front.4bpp.lz"); +const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gbapal.lz"); +const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp.lz"); +const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shiny.gbapal.lz"); +const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp"); +const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/footprint.1bpp"); + +const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/front.4bpp.lz"); +const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz"); +const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz"); +const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz"); +const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp"); +const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/footprint.1bpp"); + +const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/front.4bpp.lz"); +const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/normal.gbapal.lz"); +const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/back.4bpp.lz"); +const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/shiny.gbapal.lz"); +const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/latias/icon.4bpp"); +const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/latias/footprint.1bpp"); + +const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/front.4bpp.lz"); +const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/normal.gbapal.lz"); +const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/back.4bpp.lz"); +const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/shiny.gbapal.lz"); +const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/latios/icon.4bpp"); +const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1bpp"); + +const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/front.4bpp.lz"); +const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz"); +const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz"); +const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz"); +const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp"); +const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp"); + +#ifdef FIRERED +const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/front.4bpp.lz"); +const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); +const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); +const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); +const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp", "graphics/pokemon/deoxys/icon_attack.4bpp"); +const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); +#endif + +#ifdef LEAFGREEN +const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/front_def.4bpp.lz"); +const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); +const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back_def.4bpp.lz"); +const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); +const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp", "graphics/pokemon/deoxys/icon_defense.4bpp"); +const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); +#endif + +const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/front.4bpp.lz"); +const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/normal.gbapal.lz"); +const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/back.4bpp.lz"); +const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/shiny.gbapal.lz"); +const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/icon.4bpp"); +const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp"); + +const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/front.4bpp.lz"); +const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz"); + +const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/front.4bpp.lz"); +const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/back.4bpp.lz"); +const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/b/icon.4bpp"); + +const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/front.4bpp.lz"); +const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/back.4bpp.lz"); +const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/c/icon.4bpp"); + +const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/front.4bpp.lz"); +const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/back.4bpp.lz"); +const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/d/icon.4bpp"); + +const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/front.4bpp.lz"); +const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/back.4bpp.lz"); +const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/unown/e/icon.4bpp"); + +const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/front.4bpp.lz"); +const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/back.4bpp.lz"); +const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/unown/f/icon.4bpp"); + +const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/front.4bpp.lz"); +const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/back.4bpp.lz"); +const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/unown/g/icon.4bpp"); + +const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/front.4bpp.lz"); +const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/back.4bpp.lz"); +const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/unown/h/icon.4bpp"); + +const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/front.4bpp.lz"); +const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/back.4bpp.lz"); +const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/unown/i/icon.4bpp"); + +const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/front.4bpp.lz"); +const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/back.4bpp.lz"); +const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/unown/j/icon.4bpp"); + +const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/front.4bpp.lz"); +const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/back.4bpp.lz"); +const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/unown/k/icon.4bpp"); + +const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/front.4bpp.lz"); +const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/back.4bpp.lz"); +const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/unown/l/icon.4bpp"); + +const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/front.4bpp.lz"); +const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/back.4bpp.lz"); +const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/unown/m/icon.4bpp"); + +const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/front.4bpp.lz"); +const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/back.4bpp.lz"); +const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/unown/n/icon.4bpp"); + +const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/front.4bpp.lz"); +const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/back.4bpp.lz"); +const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/unown/o/icon.4bpp"); + +const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/front.4bpp.lz"); +const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/back.4bpp.lz"); +const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/unown/p/icon.4bpp"); + +const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/front.4bpp.lz"); +const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/back.4bpp.lz"); +const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/unown/q/icon.4bpp"); + +const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/front.4bpp.lz"); +const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/back.4bpp.lz"); +const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/unown/r/icon.4bpp"); + +const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/front.4bpp.lz"); +const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/back.4bpp.lz"); +const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/unown/s/icon.4bpp"); + +const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/front.4bpp.lz"); +const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/back.4bpp.lz"); +const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/unown/t/icon.4bpp"); + +const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/front.4bpp.lz"); +const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/back.4bpp.lz"); +const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/unown/u/icon.4bpp"); + +const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/front.4bpp.lz"); +const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/back.4bpp.lz"); +const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/unown/v/icon.4bpp"); + +const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/front.4bpp.lz"); +const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/back.4bpp.lz"); +const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/unown/w/icon.4bpp"); + +const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/front.4bpp.lz"); +const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/back.4bpp.lz"); +const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/unown/x/icon.4bpp"); + +const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/front.4bpp.lz"); +const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/back.4bpp.lz"); +const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/unown/y/icon.4bpp"); + +const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/front.4bpp.lz"); +const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/back.4bpp.lz"); +const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/unown/z/icon.4bpp"); + +const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/front.4bpp.lz"); +const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/back.4bpp.lz"); +const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/unown/exclamation_mark/icon.4bpp"); + +const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/front.4bpp.lz"); +const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/back.4bpp.lz"); +const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/unown/question_mark/icon.4bpp"); diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h new file mode 100644 index 000000000..07183e288 --- /dev/null +++ b/src/data/graphics/trainers.h @@ -0,0 +1,456 @@ +const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSAromaLady[] = INCBIN_U32("graphics/trainers/front_pics/rs_aroma_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSAromaLady[] = INCBIN_U32("graphics/trainers/palettes/rs_aroma_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RSRuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/rs_ruin_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSRuinManiac[] = INCBIN_U32("graphics/trainers/palettes/rs_ruin_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/palettes/interviewer.gbapal.lz"); + +const u32 gTrainerFrontPic_RSTuberF[] = INCBIN_U32("graphics/trainers/front_pics/rs_tuber_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSTuberF[] = INCBIN_U32("graphics/trainers/palettes/rs_tuber_f.gbapal.lz"); + +const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/palettes/tuber_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSCooltrainerM[] = INCBIN_U32("graphics/trainers/front_pics/rs_cool_trainer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSCooltrainerM[] = INCBIN_U32("graphics/trainers/palettes/rs_cool_trainer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSCooltrainerF[] = INCBIN_U32("graphics/trainers/front_pics/rs_cool_trainer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSCooltrainerF[] = INCBIN_U32("graphics/trainers/palettes/rs_cool_trainer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/palettes/hex_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_RSLady[] = INCBIN_U32("graphics/trainers/front_pics/rs_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSLady[] = INCBIN_U32("graphics/trainers/palettes/rs_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBeauty[] = INCBIN_U32("graphics/trainers/front_pics/rs_beauty_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBeauty[] = INCBIN_U32("graphics/trainers/palettes/rs_beauty.gbapal.lz"); + +const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/palettes/rich_boy.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokeManiac[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemaniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokeManiac[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemaniac.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/rs_swimmer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSwimmerM[] = INCBIN_U32("graphics/trainers/palettes/rs_swimmer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/rs_black_belt_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBlackBelt[] = INCBIN_U32("graphics/trainers/palettes/rs_black_belt.gbapal.lz"); + +const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/palettes/guitarist.gbapal.lz"); + +const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/palettes/kindler.gbapal.lz"); + +const u32 gTrainerFrontPic_RSCamper[] = INCBIN_U32("graphics/trainers/front_pics/rs_camper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSCamper[] = INCBIN_U32("graphics/trainers/palettes/rs_camper.gbapal.lz"); + +const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/palettes/bug_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPsychicM[] = INCBIN_U32("graphics/trainers/front_pics/rs_psychic_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPsychicM[] = INCBIN_U32("graphics/trainers/palettes/rs_psychic_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPsychicF[] = INCBIN_U32("graphics/trainers/front_pics/rs_psychic_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPsychicF[] = INCBIN_U32("graphics/trainers/palettes/rs_psychic_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSGentleman[] = INCBIN_U32("graphics/trainers/front_pics/rs_gentleman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSGentleman[] = INCBIN_U32("graphics/trainers/palettes/rs_gentleman.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/palettes/elite_four_sidney.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/palettes/leader_roxanne.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/palettes/leader_brawly.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz"); + +const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/palettes/school_kid_m.gbapal.lz"); + +const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/school_kid_f.gbapal.lz"); + +const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz"); + +const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz"); + +const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz"); + +const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/palettes/expert_m.gbapal.lz"); + +const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/palettes/expert_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSYoungster[] = INCBIN_U32("graphics/trainers/front_pics/rs_youngster_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSYoungster[] = INCBIN_U32("graphics/trainers/palettes/rs_youngster.gbapal.lz"); + +const u32 gTrainerFrontPic_ChampionSteven[] = INCBIN_U32("graphics/trainers/front_pics/champion_steven_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ChampionSteven[] = INCBIN_U32("graphics/trainers/palettes/champion_steven.gbapal.lz"); + +const u32 gTrainerFrontPic_RSFisherman[] = INCBIN_U32("graphics/trainers/front_pics/rs_fisherman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSFisherman[] = INCBIN_U32("graphics/trainers/palettes/rs_fisherman.gbapal.lz"); + +const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_f.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz"); + +const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/palettes/dragon_tamer.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/rs_bird_keeper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/rs_bird_keeper.gbapal.lz"); + +const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz"); +const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/palettes/ninja_boy.gbapal.lz"); + +const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/palettes/battle_girl.gbapal.lz"); + +const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/palettes/parasol_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/rs_swimmer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSwimmerF[] = INCBIN_U32("graphics/trainers/palettes/rs_swimmer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPicnicker[] = INCBIN_U32("graphics/trainers/front_pics/rs_picnicker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPicnicker[] = INCBIN_U32("graphics/trainers/palettes/rs_picnicker.gbapal.lz"); + +const u32 gTrainerFrontPic_RSTwins[] = INCBIN_U32("graphics/trainers/front_pics/rs_twins_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSTwins[] = INCBIN_U32("graphics/trainers/palettes/rs_twins.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSailor[] = INCBIN_U32("graphics/trainers/front_pics/rs_sailor_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSailor[] = INCBIN_U32("graphics/trainers/palettes/rs_sailor.gbapal.lz"); + +const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/palettes/collector.gbapal.lz"); + +const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Wally[] = INCBIN_U32("graphics/trainers/palettes/wally.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBrendan1[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBrendan1[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); + +const u32 gTrainerFrontPic_RSMay1[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSMay1[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemon_breeder_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemon_breeder_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemon_ranger_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemon_ranger_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemon_ranger_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemon_ranger_f.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_m.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSLass[] = INCBIN_U32("graphics/trainers/front_pics/rs_lass_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSLass[] = INCBIN_U32("graphics/trainers/palettes/rs_lass.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/rs_bug_catcher_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBugCatcher[] = INCBIN_U32("graphics/trainers/palettes/rs_bug_catcher.gbapal.lz"); + +const u32 gTrainerFrontPic_RSHiker[] = INCBIN_U32("graphics/trainers/front_pics/rs_hiker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSHiker[] = INCBIN_U32("graphics/trainers/palettes/rs_hiker.gbapal.lz"); + +const u32 gTrainerFrontPic_RSYoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/rs_young_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSYoungCouple[] = INCBIN_U32("graphics/trainers/palettes/rs_young_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/palettes/old_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/rs_sis_and_bro_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSisAndBro[] = INCBIN_U32("graphics/trainers/palettes/rs_sis_and_bro.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_m.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_f.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaAdminM[] = INCBIN_U32("graphics/trainers/palettes/magma_admin_m.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaAdminF[] = INCBIN_U32("graphics/trainers/palettes/magma_admin_f.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/palettes/leader_wattson.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/palettes/leader_flannery.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/palettes/leader_norman.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/palettes/leader_winona.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderWallace[] = INCBIN_U32("graphics/trainers/front_pics/leader_wallace_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderWallace[] = INCBIN_U32("graphics/trainers/palettes/leader_wallace.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/palettes/elite_four_glacia.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/palettes/elite_four_drake.gbapal.lz"); + +const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz"); + +const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/palettes/bug_catcher.gbapal.lz"); + +const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/palettes/lass.gbapal.lz"); + +const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/palettes/sailor.gbapal.lz"); + +const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/palettes/camper.gbapal.lz"); + +const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/palettes/picnicker.gbapal.lz"); + +const u32 gTrainerFrontPic_PokeManiac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokeManiac[] = INCBIN_U32("graphics/trainers/palettes/pokemaniac.gbapal.lz"); + +const u32 gTrainerFrontPic_SuperNerd[] = INCBIN_U32("graphics/trainers/front_pics/super_nerd_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SuperNerd[] = INCBIN_U32("graphics/trainers/palettes/super_nerd.gbapal.lz"); + +const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/palettes/hiker.gbapal.lz"); + +const u32 gTrainerFrontPic_Biker[] = INCBIN_U32("graphics/trainers/front_pics/biker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Biker[] = INCBIN_U32("graphics/trainers/palettes/biker.gbapal.lz"); + +const u32 gTrainerFrontPic_Burglar[] = INCBIN_U32("graphics/trainers/front_pics/burglar_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Burglar[] = INCBIN_U32("graphics/trainers/palettes/burglar.gbapal.lz"); + +const u32 gTrainerFrontPic_Engineer[] = INCBIN_U32("graphics/trainers/front_pics/engineer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Engineer[] = INCBIN_U32("graphics/trainers/palettes/engineer.gbapal.lz"); + +const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/palettes/fisherman.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/palettes/swimmer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CueBall[] = INCBIN_U32("graphics/trainers/front_pics/cue_ball_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CueBall[] = INCBIN_U32("graphics/trainers/palettes/cue_ball.gbapal.lz"); + +const u32 gTrainerFrontPic_Gamer[] = INCBIN_U32("graphics/trainers/front_pics/gamer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Gamer[] = INCBIN_U32("graphics/trainers/palettes/gamer.gbapal.lz"); + +const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/palettes/beauty.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/palettes/swimmer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/palettes/psychic_m.gbapal.lz"); + +const u32 gTrainerFrontPic_Rocker[] = INCBIN_U32("graphics/trainers/front_pics/rocker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Rocker[] = INCBIN_U32("graphics/trainers/palettes/rocker.gbapal.lz"); + +const u32 gTrainerFrontPic_Juggler[] = INCBIN_U32("graphics/trainers/front_pics/juggler_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Juggler[] = INCBIN_U32("graphics/trainers/palettes/juggler.gbapal.lz"); + +const u32 gTrainerFrontPic_Tamer[] = INCBIN_U32("graphics/trainers/front_pics/tamer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Tamer[] = INCBIN_U32("graphics/trainers/palettes/tamer.gbapal.lz"); + +const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/bird_keeper.gbapal.lz"); + +const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/palettes/black_belt.gbapal.lz"); + +const u32 gTrainerFrontPic_Rival1[] = INCBIN_U32("graphics/trainers/front_pics/rival_1_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Rival1[] = INCBIN_U32("graphics/trainers/palettes/rival_1.gbapal.lz"); + +const u32 gTrainerFrontPic_Scientist[] = INCBIN_U32("graphics/trainers/front_pics/scientist_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Scientist[] = INCBIN_U32("graphics/trainers/palettes/scientist.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderGiovanni[] = INCBIN_U32("graphics/trainers/front_pics/leader_giovanni_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderGiovanni[] = INCBIN_U32("graphics/trainers/palettes/leader_giovanni.gbapal.lz"); + +const u32 gTrainerFrontPic_RocketGruntM[] = INCBIN_U32("graphics/trainers/front_pics/rocket_grunt_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RocketGruntM[] = INCBIN_U32("graphics/trainers/palettes/rocket_grunt_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CooltrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CooltrainerM[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CooltrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CooltrainerF[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourLorelei[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_lorelei_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourLorelei[] = INCBIN_U32("graphics/trainers/palettes/elite_four_lorelei.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourBruno[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_bruno_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourBruno[] = INCBIN_U32("graphics/trainers/palettes/elite_four_bruno.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourAgatha[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_agatha_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourAgatha[] = INCBIN_U32("graphics/trainers/palettes/elite_four_agatha.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourLance[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_lance_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourLance[] = INCBIN_U32("graphics/trainers/palettes/elite_four_lance.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderBrock[] = INCBIN_U32("graphics/trainers/front_pics/leader_brock_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderBrock[] = INCBIN_U32("graphics/trainers/palettes/leader_brock.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderMisty[] = INCBIN_U32("graphics/trainers/front_pics/leader_misty_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderMisty[] = INCBIN_U32("graphics/trainers/palettes/leader_misty.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderLtSurge[] = INCBIN_U32("graphics/trainers/front_pics/leader_lt_surge_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderLtSurge[] = INCBIN_U32("graphics/trainers/palettes/leader_lt_surge.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderErika[] = INCBIN_U32("graphics/trainers/front_pics/leader_erika_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderErika[] = INCBIN_U32("graphics/trainers/palettes/leader_erika.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderKoga[] = INCBIN_U32("graphics/trainers/front_pics/leader_koga_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderKoga[] = INCBIN_U32("graphics/trainers/palettes/leader_koga.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderBlaine[] = INCBIN_U32("graphics/trainers/front_pics/leader_blaine_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderBlaine[] = INCBIN_U32("graphics/trainers/palettes/leader_blaine.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderSabrina[] = INCBIN_U32("graphics/trainers/front_pics/leader_sabrina_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderSabrina[] = INCBIN_U32("graphics/trainers/palettes/leader_sabrina.gbapal.lz"); + +const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/palettes/gentleman.gbapal.lz"); + +const u32 gTrainerFrontPic_Rival2[] = INCBIN_U32("graphics/trainers/front_pics/rival_2_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Rival2[] = INCBIN_U32("graphics/trainers/palettes/rival_2.gbapal.lz"); + +const u32 gTrainerFrontPic_ChampionRival[] = INCBIN_U32("graphics/trainers/front_pics/champion_rival_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ChampionRival[] = INCBIN_U32("graphics/trainers/palettes/champion_rival.gbapal.lz"); + +const u32 gTrainerFrontPic_Channeler[] = INCBIN_U32("graphics/trainers/front_pics/channeler_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Channeler[] = INCBIN_U32("graphics/trainers/palettes/channeler.gbapal.lz"); + +const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/palettes/twins.gbapal.lz"); + +const u32 gTrainerFrontPic_CoolCouple[] = INCBIN_U32("graphics/trainers/front_pics/cool_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CoolCouple[] = INCBIN_U32("graphics/trainers/palettes/cool_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/palettes/young_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_CrushKin[] = INCBIN_U32("graphics/trainers/front_pics/crush_kin_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CrushKin[] = INCBIN_U32("graphics/trainers/palettes/crush_kin.gbapal.lz"); + +const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/palettes/sis_and_bro.gbapal.lz"); + +const u32 gTrainerFrontPic_ProfessorOak[] = INCBIN_U32("graphics/trainers/front_pics/professor_oak_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ProfessorOak[] = INCBIN_U32("graphics/trainers/palettes/professor_oak.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBrendan2[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBrendan2[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); + +const u32 gTrainerFrontPic_RSMay2[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSMay2[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); + +const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red.gbapal.lz"); + +const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf.gbapal.lz"); + +const u32 gTrainerFrontPic_RocketGruntF[] = INCBIN_U32("graphics/trainers/front_pics/rocket_grunt_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RocketGruntF[] = INCBIN_U32("graphics/trainers/palettes/rocket_grunt_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/palettes/psychic_f.gbapal.lz"); + +const u32 gTrainerFrontPic_CrushGirl[] = INCBIN_U32("graphics/trainers/front_pics/crush_girl_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CrushGirl[] = INCBIN_U32("graphics/trainers/palettes/crush_girl.gbapal.lz"); + +const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/palettes/tuber_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz"); + +const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/palettes/aroma_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/palettes/ruin_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/palettes/lady.gbapal.lz"); + +const u32 gTrainerFrontPic_Painter[] = INCBIN_U32("graphics/trainers/front_pics/painter_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Painter[] = INCBIN_U32("graphics/trainers/palettes/painter.gbapal.lz"); + +const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red_back_pic.4bpp"); +const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf_back_pic.4bpp"); +const u8 gTrainerBackPic_Pokedude[] = INCBIN_U8("graphics/trainers/back_pics/pokedude_back_pic.4bpp"); +const u8 gTrainerBackPic_OldMan[] = INCBIN_U8("graphics/trainers/back_pics/old_man_back_pic.4bpp"); + +const u8 gTrainerBackPic_RSBrendan[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp"); +const u8 gTrainerBackPic_RSMay[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp"); + +const u32 gTrainerPalette_RedBackPic[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); +const u32 gTrainerPalette_LeafBackPic[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz"); +const u32 gTrainerPalette_PokedudeBackPic[] = INCBIN_U32("graphics/trainers/palettes/pokedude_back_pic.gbapal.lz"); +const u32 gTrainerPalette_OldManBackPic[] = INCBIN_U32("graphics/trainers/palettes/old_man_back_pic.gbapal.lz"); diff --git a/src/data/trainers.h b/src/data/trainers.h index 4cb0b8443..0c3a3f1ee 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -22,7 +22,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1A0} }, [TRAINER_TEAM_AQUA_1] = { @@ -34,7 +34,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1A8} }, [TRAINER_TEAM_AQUA_2] = { @@ -46,7 +46,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1B0} }, [TRAINER_AROMA_LADY_1] = { @@ -58,7 +58,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1B8} }, [TRAINER_RUIN_MANIAC_1] = { @@ -70,7 +70,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1C0} }, [TRAINER_INTERVIEWER_1] = { @@ -82,7 +82,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1C8} }, [TRAINER_TUBER_1] = { @@ -94,7 +94,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1D0} }, [TRAINER_TUBER_2] = { @@ -106,7 +106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1D8} }, [TRAINER_COOLTRAINER_1] = { @@ -118,7 +118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1E0} }, [TRAINER_COOLTRAINER_2] = { @@ -130,7 +130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1E8} }, [TRAINER_HEX_MANIAC_1] = { @@ -142,7 +142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1F0} }, [TRAINER_LADY_1] = { @@ -154,7 +154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1F8} }, [TRAINER_BEAUTY_1] = { @@ -166,7 +166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A200), .party = {.NoItemDefaultMoves = sTrainerMons_823A200} }, [TRAINER_RICH_BOY_1] = { @@ -178,7 +178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A208), .party = {.NoItemDefaultMoves = sTrainerMons_823A208} }, [TRAINER_POKEMANIAC_1] = { @@ -190,7 +190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A210), .party = {.NoItemDefaultMoves = sTrainerMons_823A210} }, [TRAINER_SWIMMER_MALE_1] = { @@ -202,7 +202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A218), .party = {.NoItemDefaultMoves = sTrainerMons_823A218} }, [TRAINER_BLACK_BELT_1] = { @@ -214,7 +214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A220), .party = {.NoItemDefaultMoves = sTrainerMons_823A220} }, [TRAINER_GUITARIST_1] = { @@ -226,7 +226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A228), .party = {.NoItemDefaultMoves = sTrainerMons_823A228} }, [TRAINER_KINDLER_1] = { @@ -238,7 +238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A230), .party = {.NoItemDefaultMoves = sTrainerMons_823A230} }, [TRAINER_CAMPER_1] = { @@ -250,7 +250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A238), .party = {.NoItemDefaultMoves = sTrainerMons_823A238} }, [TRAINER_BUG_MANIAC_1] = { @@ -262,7 +262,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A240), .party = {.NoItemDefaultMoves = sTrainerMons_823A240} }, [TRAINER_PSYCHIC_1] = { @@ -274,7 +274,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A248), .party = {.NoItemDefaultMoves = sTrainerMons_823A248} }, [TRAINER_PSYCHIC_2] = { @@ -286,7 +286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A250), .party = {.NoItemDefaultMoves = sTrainerMons_823A250} }, [TRAINER_GENTLEMAN_1] = { @@ -298,7 +298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A258), .party = {.NoItemDefaultMoves = sTrainerMons_823A258} }, [TRAINER_ELITE_FOUR_SIDNEY] = { @@ -310,7 +310,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A260), .party = {.NoItemDefaultMoves = sTrainerMons_823A260} }, [TRAINER_ELITE_FOUR_PHOEBE] = { @@ -322,7 +322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A268), .party = {.NoItemDefaultMoves = sTrainerMons_823A268} }, [TRAINER_LEADER_ROXANNE] = { @@ -334,7 +334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A270), .party = {.NoItemDefaultMoves = sTrainerMons_823A270} }, [TRAINER_LEADER_BRAWLY] = { @@ -346,7 +346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A278), .party = {.NoItemDefaultMoves = sTrainerMons_823A278} }, [TRAINER_LEADER_TATE_LIZA] = { @@ -358,7 +358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A280), .party = {.NoItemDefaultMoves = sTrainerMons_823A280} }, [TRAINER_SCHOOL_KID_1] = { @@ -370,7 +370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A288), .party = {.NoItemDefaultMoves = sTrainerMons_823A288} }, [TRAINER_SCHOOL_KID_2] = { @@ -382,7 +382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A290), .party = {.NoItemDefaultMoves = sTrainerMons_823A290} }, [TRAINER_SR_AND_JR_1] = { @@ -394,7 +394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A298), .party = {.NoItemDefaultMoves = sTrainerMons_823A298} }, [TRAINER_POKEFAN_1] = { @@ -406,7 +406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2A0} }, [TRAINER_POKEFAN_2] = { @@ -418,7 +418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2A8} }, [TRAINER_EXPERT_1] = { @@ -430,7 +430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2B0} }, [TRAINER_EXPERT_2] = { @@ -442,7 +442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2B8} }, [TRAINER_YOUNGSTER_1] = { @@ -454,7 +454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2C0} }, [TRAINER_CHAMPION_1] = { @@ -466,7 +466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2C8} }, [TRAINER_FISHERMAN_1] = { @@ -478,7 +478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2D0} }, [TRAINER_TRIATHLETE_1] = { @@ -490,7 +490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2D8} }, [TRAINER_TRIATHLETE_2] = { @@ -502,7 +502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2E0} }, [TRAINER_TRIATHLETE_3] = { @@ -514,7 +514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2E8} }, [TRAINER_TRIATHLETE_4] = { @@ -526,7 +526,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2F0} }, [TRAINER_TRIATHLETE_5] = { @@ -538,7 +538,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2F8} }, [TRAINER_TRIATHLETE_6] = { @@ -550,7 +550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A300), .party = {.NoItemDefaultMoves = sTrainerMons_823A300} }, [TRAINER_DRAGON_TAMER_1] = { @@ -562,7 +562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A308), .party = {.NoItemDefaultMoves = sTrainerMons_823A308} }, [TRAINER_BIRD_KEEPER_1] = { @@ -574,7 +574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A310), .party = {.NoItemDefaultMoves = sTrainerMons_823A310} }, [TRAINER_NINJA_BOY_1] = { @@ -586,7 +586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A318), .party = {.NoItemDefaultMoves = sTrainerMons_823A318} }, [TRAINER_BATTLE_GIRL_1] = { @@ -598,7 +598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A320), .party = {.NoItemDefaultMoves = sTrainerMons_823A320} }, [TRAINER_PARASOL_LADY_1] = { @@ -610,7 +610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A328), .party = {.NoItemDefaultMoves = sTrainerMons_823A328} }, [TRAINER_SWIMMER_FEMALE_1] = { @@ -622,7 +622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A330), .party = {.NoItemDefaultMoves = sTrainerMons_823A330} }, [TRAINER_PICNICKER_1] = { @@ -634,7 +634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A338), .party = {.NoItemDefaultMoves = sTrainerMons_823A338} }, [TRAINER_TWINS_1] = { @@ -646,7 +646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A340), .party = {.NoItemDefaultMoves = sTrainerMons_823A340} }, [TRAINER_SAILOR_1] = { @@ -658,7 +658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A348), .party = {.NoItemDefaultMoves = sTrainerMons_823A348} }, [TRAINER_BOARDER_1] = { @@ -670,7 +670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A350), .party = {.NoItemDefaultMoves = sTrainerMons_823A350} }, [TRAINER_BOARDER_2] = { @@ -682,7 +682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A358), .party = {.NoItemDefaultMoves = sTrainerMons_823A358} }, [TRAINER_COLLECTOR_1] = { @@ -694,7 +694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A360), .party = {.NoItemDefaultMoves = sTrainerMons_823A360} }, [TRAINER_PKMN_TRAINER_2] = { @@ -706,7 +706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A368), .party = {.NoItemDefaultMoves = sTrainerMons_823A368} }, [TRAINER_PKMN_TRAINER_3] = { @@ -718,7 +718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A370), .party = {.NoItemDefaultMoves = sTrainerMons_823A370} }, [TRAINER_PKMN_TRAINER_4] = { @@ -730,7 +730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A378), .party = {.NoItemDefaultMoves = sTrainerMons_823A378} }, [TRAINER_PKMN_TRAINER_5] = { @@ -742,7 +742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A380), .party = {.NoItemDefaultMoves = sTrainerMons_823A380} }, [TRAINER_PKMN_TRAINER_6] = { @@ -754,7 +754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A388), .party = {.NoItemDefaultMoves = sTrainerMons_823A388} }, [TRAINER_PKMN_TRAINER_7] = { @@ -766,7 +766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A390), .party = {.NoItemDefaultMoves = sTrainerMons_823A390} }, [TRAINER_PKMN_TRAINER_8] = { @@ -778,7 +778,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A398), .party = {.NoItemDefaultMoves = sTrainerMons_823A398} }, [TRAINER_PKMN_BREEDER_1] = { @@ -790,7 +790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3A0} }, [TRAINER_PKMN_BREEDER_2] = { @@ -802,7 +802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3A8} }, [TRAINER_PKMN_RANGER_1] = { @@ -814,7 +814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3B0} }, [TRAINER_PKMN_RANGER_2] = { @@ -826,7 +826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3B8} }, [TRAINER_MAGMA_LEADER_1] = { @@ -838,7 +838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3C0} }, [TRAINER_TEAM_MAGMA_1] = { @@ -850,7 +850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3C8} }, [TRAINER_TEAM_MAGMA_2] = { @@ -862,7 +862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3D0} }, [TRAINER_LASS_1] = { @@ -874,7 +874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3D8} }, [TRAINER_BUG_CATCHER_1] = { @@ -886,7 +886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3E0} }, [TRAINER_HIKER_1] = { @@ -898,7 +898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3E8} }, [TRAINER_YOUNG_COUPLE_1] = { @@ -910,7 +910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A3F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3F0} }, [TRAINER_OLD_COUPLE_1] = { @@ -922,7 +922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A400), .party = {.NoItemDefaultMoves = sTrainerMons_823A400} }, [TRAINER_SIS_AND_BRO_1] = { @@ -934,7 +934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A408), .party = {.NoItemDefaultMoves = sTrainerMons_823A408} }, [TRAINER_AQUA_ADMIN_MATT] = { @@ -946,7 +946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A410), .party = {.NoItemDefaultMoves = sTrainerMons_823A410} }, [TRAINER_AQUA_ADMIN_SHELLY] = { @@ -958,7 +958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A418), .party = {.NoItemDefaultMoves = sTrainerMons_823A418} }, [TRAINER_MAGMA_ADMIN_TABITHA] = { @@ -970,7 +970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A420), .party = {.NoItemDefaultMoves = sTrainerMons_823A420} }, [TRAINER_MAGMA_ADMIN_COURTNEY] = { @@ -982,7 +982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A428), .party = {.NoItemDefaultMoves = sTrainerMons_823A428} }, [TRAINER_LEADER_WATTSON] = { @@ -994,7 +994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A430), .party = {.NoItemDefaultMoves = sTrainerMons_823A430} }, [TRAINER_LEADER_FLANNERY] = { @@ -1006,7 +1006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A438), .party = {.NoItemDefaultMoves = sTrainerMons_823A438} }, [TRAINER_LEADER_NORMAN] = { @@ -1018,7 +1018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A440), .party = {.NoItemDefaultMoves = sTrainerMons_823A440} }, [TRAINER_LEADER_WINONA] = { @@ -1030,7 +1030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A448), .party = {.NoItemDefaultMoves = sTrainerMons_823A448} }, [TRAINER_LEADER_WALLACE] = { @@ -1042,7 +1042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A450), .party = {.NoItemDefaultMoves = sTrainerMons_823A450} }, [TRAINER_ELITE_FOUR_GLACIA] = { @@ -1054,7 +1054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A458), .party = {.NoItemDefaultMoves = sTrainerMons_823A458} }, [TRAINER_ELITE_FOUR_DRAKE] = { @@ -1066,7 +1066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A460), .party = {.NoItemDefaultMoves = sTrainerMons_823A460} }, [TRAINER_YOUNGSTER_BEN] = { @@ -1078,7 +1078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A468), .party = {.NoItemDefaultMoves = sTrainerMons_823A468} }, [TRAINER_YOUNGSTER_CALVIN] = { @@ -1090,7 +1090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A478), .party = {.NoItemDefaultMoves = sTrainerMons_823A478} }, [TRAINER_YOUNGSTER_JOSH] = { @@ -1102,7 +1102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A480), .party = {.NoItemDefaultMoves = sTrainerMons_823A480} }, [TRAINER_YOUNGSTER_TIMMY] = { @@ -1114,7 +1114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A498), .party = {.NoItemDefaultMoves = sTrainerMons_823A498} }, [TRAINER_YOUNGSTER_JOEY] = { @@ -1126,7 +1126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A4A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A4A8} }, [TRAINER_YOUNGSTER_DAN] = { @@ -1138,7 +1138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A4B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A4B8} }, [TRAINER_YOUNGSTER_CHAD] = { @@ -1150,7 +1150,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A4C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4C0} }, [TRAINER_YOUNGSTER_TYLER] = { @@ -1162,7 +1162,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A4D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4D0} }, [TRAINER_YOUNGSTER_EDDIE] = { @@ -1174,7 +1174,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A4D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A4D8} }, [TRAINER_YOUNGSTER_DILLON] = { @@ -1186,7 +1186,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A4E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4E0} }, [TRAINER_YOUNGSTER_YASU] = { @@ -1198,7 +1198,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A4F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4F0} }, [TRAINER_YOUNGSTER_DAVE] = { @@ -1210,7 +1210,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A508), .party = {.NoItemDefaultMoves = sTrainerMons_823A508} }, [TRAINER_YOUNGSTER_BEN_2] = { @@ -1222,7 +1222,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A518), .party = {.NoItemDefaultMoves = sTrainerMons_823A518} }, [TRAINER_BUG_CATCHER_RICK] = { @@ -1234,7 +1234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A528), .party = {.NoItemDefaultMoves = sTrainerMons_823A528} }, [TRAINER_BUG_CATCHER_DOUG] = { @@ -1246,7 +1246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A538), .party = {.NoItemDefaultMoves = sTrainerMons_823A538} }, [TRAINER_BUG_CATCHER_SAMMY] = { @@ -1258,7 +1258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A550), .party = {.NoItemDefaultMoves = sTrainerMons_823A550} }, [TRAINER_BUG_CATCHER_COLTON] = { @@ -1270,7 +1270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A558), .party = {.NoItemDefaultMoves = sTrainerMons_823A558} }, [TRAINER_BUG_CATCHER_GREG] = { @@ -1282,7 +1282,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A570), .party = {.NoItemDefaultMoves = sTrainerMons_823A570} }, [TRAINER_BUG_CATCHER_JAMES] = { @@ -1294,7 +1294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A590), .party = {.NoItemDefaultMoves = sTrainerMons_823A590} }, [TRAINER_BUG_CATCHER_KENT] = { @@ -1306,7 +1306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A5A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A5A0} }, [TRAINER_BUG_CATCHER_ROBBY] = { @@ -1318,7 +1318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A5B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A5B0} }, [TRAINER_BUG_CATCHER_CALE] = { @@ -1330,7 +1330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A5C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A5C8} }, [TRAINER_BUG_CATCHER_KEIGO] = { @@ -1342,7 +1342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A5E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A5E8} }, [TRAINER_BUG_CATCHER_ELIJAH] = { @@ -1354,7 +1354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A600), .party = {.NoItemDefaultMoves = sTrainerMons_823A600} }, [TRAINER_BUG_CATCHER_2] = { @@ -1366,7 +1366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A608), .party = {.NoItemDefaultMoves = sTrainerMons_823A608} }, [TRAINER_BUG_CATCHER_BRENT] = { @@ -1378,7 +1378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A620), .party = {.NoItemDefaultMoves = sTrainerMons_823A620} }, [TRAINER_BUG_CATCHER_CONNER] = { @@ -1390,7 +1390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A630), .party = {.NoItemDefaultMoves = sTrainerMons_823A630} }, [TRAINER_LASS_JANICE] = { @@ -1402,7 +1402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A648), .party = {.NoItemDefaultMoves = sTrainerMons_823A648} }, [TRAINER_LASS_SALLY] = { @@ -1414,7 +1414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A658), .party = {.NoItemDefaultMoves = sTrainerMons_823A658} }, [TRAINER_LASS_ROBIN] = { @@ -1426,7 +1426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A668), .party = {.NoItemDefaultMoves = sTrainerMons_823A668} }, [TRAINER_LASS_CRISSY] = { @@ -1438,7 +1438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A670), .party = {.NoItemDefaultMoves = sTrainerMons_823A670} }, [TRAINER_LASS_MIRIAM] = { @@ -1450,7 +1450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A688), .party = {.NoItemDefaultMoves = sTrainerMons_823A688} }, [TRAINER_LASS_IRIS] = { @@ -1462,7 +1462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A698), .party = {.NoItemDefaultMoves = sTrainerMons_823A698} }, [TRAINER_LASS_RELI] = { @@ -1474,7 +1474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A6A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A6A0} }, [TRAINER_LASS_ALI] = { @@ -1486,7 +1486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A6B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A6B0} }, [TRAINER_LASS_2] = { @@ -1498,7 +1498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A6C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A6C8} }, [TRAINER_LASS_HALEY] = { @@ -1510,7 +1510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A6D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A6D8} }, [TRAINER_LASS_ANN] = { @@ -1522,7 +1522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A6F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A6F0} }, [TRAINER_LASS_DAWN] = { @@ -1534,7 +1534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A700), .party = {.NoItemDefaultMoves = sTrainerMons_823A700} }, [TRAINER_LASS_PAIGE] = { @@ -1546,7 +1546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A710), .party = {.NoItemDefaultMoves = sTrainerMons_823A710} }, [TRAINER_LASS_ANDREA] = { @@ -1558,7 +1558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A720), .party = {.NoItemDefaultMoves = sTrainerMons_823A720} }, [TRAINER_LASS_MEGAN] = { @@ -1570,7 +1570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823A738), .party = {.NoItemDefaultMoves = sTrainerMons_823A738} }, [TRAINER_LASS_JULIA] = { @@ -1582,7 +1582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A760), .party = {.NoItemDefaultMoves = sTrainerMons_823A760} }, [TRAINER_LASS_KAY] = { @@ -1594,7 +1594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A770), .party = {.NoItemDefaultMoves = sTrainerMons_823A770} }, [TRAINER_LASS_LISA] = { @@ -1606,7 +1606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A780), .party = {.NoItemDefaultMoves = sTrainerMons_823A780} }, [TRAINER_SAILOR_EDMOND] = { @@ -1618,7 +1618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A790), .party = {.NoItemDefaultMoves = sTrainerMons_823A790} }, [TRAINER_SAILOR_TREVOR] = { @@ -1630,7 +1630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A7A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7A0} }, [TRAINER_SAILOR_LEONARD] = { @@ -1642,7 +1642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A7B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7B0} }, [TRAINER_SAILOR_DUNCAN] = { @@ -1654,7 +1654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A7B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A7B8} }, [TRAINER_SAILOR_HUEY] = { @@ -1666,7 +1666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A7D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7D0} }, [TRAINER_SAILOR_DYLAN] = { @@ -1678,7 +1678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A7E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7E0} }, [TRAINER_SAILOR_PHILLIP] = { @@ -1690,7 +1690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A7F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A7F8} }, [TRAINER_SAILOR_DWAYNE] = { @@ -1702,7 +1702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A800), .party = {.NoItemDefaultMoves = sTrainerMons_823A800} }, [TRAINER_CAMPER_LIAM] = { @@ -1714,7 +1714,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A810), .party = {.NoItemCustomMoves = sTrainerMons_823A810} }, [TRAINER_CAMPER_SHANE] = { @@ -1726,7 +1726,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A830), .party = {.NoItemDefaultMoves = sTrainerMons_823A830} }, [TRAINER_CAMPER_ETHAN] = { @@ -1738,7 +1738,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A840), .party = {.NoItemDefaultMoves = sTrainerMons_823A840} }, [TRAINER_CAMPER_RICKY] = { @@ -1750,7 +1750,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A848), .party = {.NoItemDefaultMoves = sTrainerMons_823A848} }, [TRAINER_CAMPER_JEFF] = { @@ -1762,7 +1762,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A850), .party = {.NoItemDefaultMoves = sTrainerMons_823A850} }, [TRAINER_CAMPER_2] = { @@ -1774,7 +1774,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A860), .party = {.NoItemDefaultMoves = sTrainerMons_823A860} }, [TRAINER_CAMPER_CHRIS] = { @@ -1786,7 +1786,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A868), .party = {.NoItemDefaultMoves = sTrainerMons_823A868} }, [TRAINER_CAMPER_DREW] = { @@ -1798,7 +1798,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A878), .party = {.NoItemDefaultMoves = sTrainerMons_823A878} }, [TRAINER_PICNICKER_DIANA] = { @@ -1810,7 +1810,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A898), .party = {.NoItemDefaultMoves = sTrainerMons_823A898} }, [TRAINER_PICNICKER_NANCY] = { @@ -1822,7 +1822,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A8A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A8A0} }, [TRAINER_PICNICKER_ISABELLE] = { @@ -1834,7 +1834,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A8B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A8B0} }, [TRAINER_PICNICKER_KELSEY] = { @@ -1846,7 +1846,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A8C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A8C8} }, [TRAINER_PICNICKER_ALICIA] = { @@ -1858,7 +1858,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A8D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A8D8} }, [TRAINER_PICNICKER_CAITLIN] = { @@ -1870,7 +1870,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A8F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A8F8} }, [TRAINER_PICNICKER_HEIDI] = { @@ -1882,7 +1882,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A900), .party = {.NoItemDefaultMoves = sTrainerMons_823A900} }, [TRAINER_PICNICKER_CAROL] = { @@ -1894,7 +1894,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A910), .party = {.NoItemDefaultMoves = sTrainerMons_823A910} }, [TRAINER_PICNICKER_SOFIA] = { @@ -1906,7 +1906,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A920), .party = {.NoItemDefaultMoves = sTrainerMons_823A920} }, [TRAINER_PICNICKER_MARTHA] = { @@ -1918,7 +1918,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A938), .party = {.NoItemDefaultMoves = sTrainerMons_823A938} }, [TRAINER_PICNICKER_TINA] = { @@ -1930,7 +1930,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A948), .party = {.NoItemDefaultMoves = sTrainerMons_823A948} }, [TRAINER_PICNICKER_HANNAH] = { @@ -1942,7 +1942,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823A958), .party = {.NoItemDefaultMoves = sTrainerMons_823A958} }, [TRAINER_POKEMANIAC_MARK] = { @@ -1954,7 +1954,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A980), .party = {.NoItemDefaultMoves = sTrainerMons_823A980} }, [TRAINER_POKEMANIAC_HERMAN] = { @@ -1966,7 +1966,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A990), .party = {.NoItemDefaultMoves = sTrainerMons_823A990} }, [TRAINER_POKEMANIAC_COOPER] = { @@ -1978,7 +1978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A9A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A9A0} }, [TRAINER_POKEMANIAC_STEVE] = { @@ -1990,7 +1990,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A9B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9B8} }, [TRAINER_POKEMANIAC_WINSTON] = { @@ -2002,7 +2002,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A9C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9C8} }, [TRAINER_POKEMANIAC_DAWSON] = { @@ -2014,7 +2014,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A9D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A9D0} }, [TRAINER_POKEMANIAC_ASHTON] = { @@ -2026,7 +2026,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A9E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9E8} }, [TRAINER_SUPER_NERD_JOVAN] = { @@ -2038,7 +2038,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A9F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9F8} }, [TRAINER_SUPER_NERD_MIGUEL] = { @@ -2050,7 +2050,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AA08), .party = {.NoItemDefaultMoves = sTrainerMons_823AA08} }, [TRAINER_SUPER_NERD_AIDAN] = { @@ -2062,7 +2062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AA20), .party = {.NoItemCustomMoves = sTrainerMons_823AA20} }, [TRAINER_SUPER_NERD_GLENN] = { @@ -2074,7 +2074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AA60), .party = {.NoItemDefaultMoves = sTrainerMons_823AA60} }, [TRAINER_SUPER_NERD_LESLIE] = { @@ -2086,7 +2086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AA78), .party = {.NoItemCustomMoves = sTrainerMons_823AA78} }, [TRAINER_SUPER_NERD_1] = { @@ -2098,7 +2098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AA88), .party = {.NoItemDefaultMoves = sTrainerMons_823AA88} }, [TRAINER_SUPER_NERD_2] = { @@ -2110,7 +2110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AAA0), .party = {.NoItemDefaultMoves = sTrainerMons_823AAA0} }, [TRAINER_SUPER_NERD_3] = { @@ -2122,7 +2122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AAC0), .party = {.NoItemDefaultMoves = sTrainerMons_823AAC0} }, [TRAINER_SUPER_NERD_ERIK] = { @@ -2134,7 +2134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AAD0), .party = {.NoItemDefaultMoves = sTrainerMons_823AAD0} }, [TRAINER_SUPER_NERD_AVERY] = { @@ -2146,7 +2146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AAE8), .party = {.NoItemDefaultMoves = sTrainerMons_823AAE8} }, [TRAINER_SUPER_NERD_DEREK] = { @@ -2158,7 +2158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AB08), .party = {.NoItemDefaultMoves = sTrainerMons_823AB08} }, [TRAINER_SUPER_NERD_ZAC] = { @@ -2170,7 +2170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AB10), .party = {.NoItemDefaultMoves = sTrainerMons_823AB10} }, [TRAINER_HIKER_MARCOS] = { @@ -2182,7 +2182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AB20), .party = {.NoItemDefaultMoves = sTrainerMons_823AB20} }, [TRAINER_HIKER_FRANKLIN] = { @@ -2194,7 +2194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AB38), .party = {.NoItemDefaultMoves = sTrainerMons_823AB38} }, [TRAINER_HIKER_NOB] = { @@ -2206,7 +2206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AB48), .party = {.NoItemDefaultMoves = sTrainerMons_823AB48} }, [TRAINER_HIKER_WAYNE] = { @@ -2218,7 +2218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AB68), .party = {.NoItemDefaultMoves = sTrainerMons_823AB68} }, [TRAINER_HIKER_ALAN] = { @@ -2230,7 +2230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AB70), .party = {.NoItemCustomMoves = sTrainerMons_823AB70} }, [TRAINER_HIKER_BRICE] = { @@ -2242,7 +2242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AB90), .party = {.NoItemDefaultMoves = sTrainerMons_823AB90} }, [TRAINER_HIKER_CLARK] = { @@ -2254,7 +2254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ABA8), .party = {.NoItemCustomMoves = sTrainerMons_823ABA8} }, [TRAINER_HIKER_TRENT] = { @@ -2266,7 +2266,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ABC8), .party = {.NoItemDefaultMoves = sTrainerMons_823ABC8} }, [TRAINER_HIKER_DUDLEY] = { @@ -2278,7 +2278,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823ABD8), .party = {.NoItemCustomMoves = sTrainerMons_823ABD8} }, [TRAINER_HIKER_ALLEN] = { @@ -2290,7 +2290,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AC08), .party = {.NoItemCustomMoves = sTrainerMons_823AC08} }, [TRAINER_HIKER_ERIC] = { @@ -2302,7 +2302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AC18), .party = {.NoItemDefaultMoves = sTrainerMons_823AC18} }, [TRAINER_HIKER_LENNY] = { @@ -2314,7 +2314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AC28), .party = {.NoItemDefaultMoves = sTrainerMons_823AC28} }, [TRAINER_HIKER_OLIVER] = { @@ -2326,7 +2326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AC48), .party = {.NoItemDefaultMoves = sTrainerMons_823AC48} }, [TRAINER_HIKER_LUCAS] = { @@ -2338,7 +2338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AC60), .party = {.NoItemCustomMoves = sTrainerMons_823AC60} }, [TRAINER_BIKER_JARED] = { @@ -2350,7 +2350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AC80), .party = {.NoItemCustomMoves = sTrainerMons_823AC80} }, [TRAINER_BIKER_MALIK] = { @@ -2362,7 +2362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ACB0), .party = {.NoItemCustomMoves = sTrainerMons_823ACB0} }, [TRAINER_BIKER_ERNEST] = { @@ -2374,7 +2374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823ACD0), .party = {.NoItemCustomMoves = sTrainerMons_823ACD0} }, [TRAINER_BIKER_ALEX] = { @@ -2386,7 +2386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AD20), .party = {.NoItemCustomMoves = sTrainerMons_823AD20} }, [TRAINER_BIKER_LAO] = { @@ -2398,7 +2398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AD50), .party = {.NoItemCustomMoves = sTrainerMons_823AD50} }, [TRAINER_BIKER_1] = { @@ -2410,7 +2410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AD70), .party = {.NoItemDefaultMoves = sTrainerMons_823AD70} }, [TRAINER_BIKER_HIDEO] = { @@ -2422,7 +2422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AD78), .party = {.NoItemDefaultMoves = sTrainerMons_823AD78} }, [TRAINER_BIKER_RUBEN] = { @@ -2434,7 +2434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AD80), .party = {.NoItemCustomMoves = sTrainerMons_823AD80} }, [TRAINER_BIKER_BILLY] = { @@ -2446,7 +2446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823ADB0), .party = {.NoItemDefaultMoves = sTrainerMons_823ADB0} }, [TRAINER_BIKER_NIKOLAS] = { @@ -2458,7 +2458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ADB8), .party = {.NoItemCustomMoves = sTrainerMons_823ADB8} }, [TRAINER_BIKER_JAXON] = { @@ -2470,7 +2470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ADD8), .party = {.NoItemCustomMoves = sTrainerMons_823ADD8} }, [TRAINER_BIKER_WILLIAM] = { @@ -2482,7 +2482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823ADF8), .party = {.NoItemCustomMoves = sTrainerMons_823ADF8} }, [TRAINER_BIKER_LUKAS] = { @@ -2494,7 +2494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AE48), .party = {.NoItemCustomMoves = sTrainerMons_823AE48} }, [TRAINER_BIKER_ISAAC] = { @@ -2506,7 +2506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AE88), .party = {.NoItemCustomMoves = sTrainerMons_823AE88} }, [TRAINER_BIKER_GERALD] = { @@ -2518,7 +2518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AEB8), .party = {.NoItemCustomMoves = sTrainerMons_823AEB8} }, [TRAINER_BURGLAR_1] = { @@ -2530,7 +2530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AED8), .party = {.NoItemDefaultMoves = sTrainerMons_823AED8} }, [TRAINER_BURGLAR_2] = { @@ -2542,7 +2542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AEE8), .party = {.NoItemDefaultMoves = sTrainerMons_823AEE8} }, [TRAINER_BURGLAR_3] = { @@ -2554,7 +2554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AEF0), .party = {.NoItemDefaultMoves = sTrainerMons_823AEF0} }, [TRAINER_BURGLAR_QUINN] = { @@ -2566,7 +2566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AF08), .party = {.NoItemDefaultMoves = sTrainerMons_823AF08} }, [TRAINER_BURGLAR_RAMON] = { @@ -2578,7 +2578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AF20), .party = {.NoItemDefaultMoves = sTrainerMons_823AF20} }, [TRAINER_BURGLAR_DUSTY] = { @@ -2590,7 +2590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF28), .party = {.NoItemDefaultMoves = sTrainerMons_823AF28} }, [TRAINER_BURGLAR_ARNIE] = { @@ -2602,7 +2602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF38), .party = {.NoItemDefaultMoves = sTrainerMons_823AF38} }, [TRAINER_BURGLAR_4] = { @@ -2614,7 +2614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF48), .party = {.NoItemDefaultMoves = sTrainerMons_823AF48} }, [TRAINER_BURGLAR_SIMON] = { @@ -2626,7 +2626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AF58), .party = {.NoItemDefaultMoves = sTrainerMons_823AF58} }, [TRAINER_BURGLAR_LEWIS] = { @@ -2638,7 +2638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF60), .party = {.NoItemDefaultMoves = sTrainerMons_823AF60} }, [TRAINER_ENGINEER_BAILY] = { @@ -2650,7 +2650,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF70), .party = {.NoItemDefaultMoves = sTrainerMons_823AF70} }, [TRAINER_ENGINEER_BRAXTON] = { @@ -2662,7 +2662,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AF80), .party = {.NoItemDefaultMoves = sTrainerMons_823AF80} }, [TRAINER_ENGINEER_BERNIE] = { @@ -2674,7 +2674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AF88), .party = {.NoItemDefaultMoves = sTrainerMons_823AF88} }, [TRAINER_FISHERMAN_DALE] = { @@ -2686,7 +2686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AFA0), .party = {.NoItemDefaultMoves = sTrainerMons_823AFA0} }, [TRAINER_FISHERMAN_BARNY] = { @@ -2698,7 +2698,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AFB8), .party = {.NoItemDefaultMoves = sTrainerMons_823AFB8} }, [TRAINER_FISHERMAN_NED] = { @@ -2710,7 +2710,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AFD0), .party = {.NoItemDefaultMoves = sTrainerMons_823AFD0} }, [TRAINER_FISHERMAN_CHIP] = { @@ -2722,7 +2722,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AFE8), .party = {.NoItemDefaultMoves = sTrainerMons_823AFE8} }, [TRAINER_FISHERMAN_HANK] = { @@ -2734,7 +2734,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AFF8), .party = {.NoItemDefaultMoves = sTrainerMons_823AFF8} }, [TRAINER_FISHERMAN_ELLIOT] = { @@ -2746,7 +2746,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B000), .party = {.NoItemDefaultMoves = sTrainerMons_823B000} }, [TRAINER_FISHERMAN_RONALD] = { @@ -2758,7 +2758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B020), .party = {.NoItemDefaultMoves = sTrainerMons_823B020} }, [TRAINER_FISHERMAN_CLAUDE] = { @@ -2770,7 +2770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B040), .party = {.NoItemDefaultMoves = sTrainerMons_823B040} }, [TRAINER_FISHERMAN_WADE] = { @@ -2782,7 +2782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823B050), .party = {.NoItemDefaultMoves = sTrainerMons_823B050} }, [TRAINER_FISHERMAN_NOLAN] = { @@ -2794,7 +2794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B080), .party = {.NoItemDefaultMoves = sTrainerMons_823B080} }, [TRAINER_FISHERMAN_ANDREW] = { @@ -2806,7 +2806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B090), .party = {.NoItemDefaultMoves = sTrainerMons_823B090} }, [TRAINER_SWIMMER_MALE_LUIS] = { @@ -2818,7 +2818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B0A0), .party = {.NoItemDefaultMoves = sTrainerMons_823B0A0} }, [TRAINER_SWIMMER_MALE_RICHARD] = { @@ -2830,7 +2830,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B0B0), .party = {.NoItemDefaultMoves = sTrainerMons_823B0B0} }, [TRAINER_SWIMMER_MALE_REECE] = { @@ -2842,7 +2842,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B0C0), .party = {.NoItemDefaultMoves = sTrainerMons_823B0C0} }, [TRAINER_SWIMMER_MALE_MATTHEW] = { @@ -2854,7 +2854,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B0D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B0D8} }, [TRAINER_SWIMMER_MALE_DOUGLAS] = { @@ -2866,7 +2866,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B0E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B0E8} }, [TRAINER_SWIMMER_MALE_DAVID] = { @@ -2878,7 +2878,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B108), .party = {.NoItemDefaultMoves = sTrainerMons_823B108} }, [TRAINER_SWIMMER_MALE_TONY] = { @@ -2890,7 +2890,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B120), .party = {.NoItemDefaultMoves = sTrainerMons_823B120} }, [TRAINER_SWIMMER_MALE_AXLE] = { @@ -2902,7 +2902,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B130), .party = {.NoItemDefaultMoves = sTrainerMons_823B130} }, [TRAINER_SWIMMER_MALE_BARRY] = { @@ -2914,7 +2914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B158), .party = {.NoItemDefaultMoves = sTrainerMons_823B158} }, [TRAINER_SWIMMER_MALE_DEAN] = { @@ -2926,7 +2926,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B168), .party = {.NoItemDefaultMoves = sTrainerMons_823B168} }, [TRAINER_SWIMMER_MALE_DARRIN] = { @@ -2938,7 +2938,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B170), .party = {.NoItemDefaultMoves = sTrainerMons_823B170} }, [TRAINER_SWIMMER_MALE_SPENCER] = { @@ -2950,7 +2950,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B190), .party = {.NoItemDefaultMoves = sTrainerMons_823B190} }, [TRAINER_SWIMMER_MALE_JACK] = { @@ -2962,7 +2962,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B1A0), .party = {.NoItemDefaultMoves = sTrainerMons_823B1A0} }, [TRAINER_SWIMMER_MALE_JEROME] = { @@ -2974,7 +2974,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B1A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1A8} }, [TRAINER_SWIMMER_MALE_ROLAND] = { @@ -2986,7 +2986,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B1B8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1B8} }, [TRAINER_CUE_BALL_KOJI] = { @@ -2998,7 +2998,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B1D0), .party = {.NoItemDefaultMoves = sTrainerMons_823B1D0} }, [TRAINER_CUE_BALL_LUKE] = { @@ -3010,7 +3010,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B1E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1E8} }, [TRAINER_CUE_BALL_CAMRON] = { @@ -3022,7 +3022,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B1F8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1F8} }, [TRAINER_CUE_BALL_RAUL] = { @@ -3034,7 +3034,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B208), .party = {.NoItemDefaultMoves = sTrainerMons_823B208} }, [TRAINER_CUE_BALL_ISAIAH] = { @@ -3046,7 +3046,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B218), .party = {.NoItemDefaultMoves = sTrainerMons_823B218} }, [TRAINER_CUE_BALL_ZEEK] = { @@ -3058,7 +3058,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B228), .party = {.NoItemDefaultMoves = sTrainerMons_823B228} }, [TRAINER_CUE_BALL_JAMAL] = { @@ -3070,7 +3070,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B230), .party = {.NoItemDefaultMoves = sTrainerMons_823B230} }, [TRAINER_CUE_BALL_COREY] = { @@ -3082,7 +3082,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B250), .party = {.NoItemDefaultMoves = sTrainerMons_823B250} }, [TRAINER_CUE_BALL_CHASE] = { @@ -3094,7 +3094,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B260), .party = {.NoItemDefaultMoves = sTrainerMons_823B260} }, [TRAINER_GAMER_HUGO] = { @@ -3106,7 +3106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B278), .party = {.NoItemDefaultMoves = sTrainerMons_823B278} }, [TRAINER_GAMER_JASPER] = { @@ -3118,7 +3118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B288), .party = {.NoItemDefaultMoves = sTrainerMons_823B288} }, [TRAINER_GAMER_DIRK] = { @@ -3130,7 +3130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B298), .party = {.NoItemDefaultMoves = sTrainerMons_823B298} }, [TRAINER_GAMER_DARIAN] = { @@ -3142,7 +3142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B2A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2A8} }, [TRAINER_GAMER_STAN] = { @@ -3154,7 +3154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B2B8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2B8} }, [TRAINER_GAMER_1] = { @@ -3166,7 +3166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B2D0), .party = {.NoItemDefaultMoves = sTrainerMons_823B2D0} }, [TRAINER_GAMER_RICH] = { @@ -3178,7 +3178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2D8} }, [TRAINER_BEAUTY_BRIDGET] = { @@ -3190,7 +3190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B2E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2E8} }, [TRAINER_BEAUTY_TAMIA] = { @@ -3202,7 +3202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B308), .party = {.NoItemDefaultMoves = sTrainerMons_823B308} }, [TRAINER_BEAUTY_LORI] = { @@ -3214,7 +3214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B318), .party = {.NoItemDefaultMoves = sTrainerMons_823B318} }, [TRAINER_BEAUTY_LOLA] = { @@ -3226,7 +3226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B320), .party = {.NoItemDefaultMoves = sTrainerMons_823B320} }, [TRAINER_BEAUTY_SHEILA] = { @@ -3238,7 +3238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B338), .party = {.NoItemDefaultMoves = sTrainerMons_823B338} }, [TRAINER_SWIMMER_FEMALE_TIFFANY] = { @@ -3250,7 +3250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B348), .party = {.NoItemDefaultMoves = sTrainerMons_823B348} }, [TRAINER_SWIMMER_FEMALE_NORA] = { @@ -3262,7 +3262,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B350), .party = {.NoItemDefaultMoves = sTrainerMons_823B350} }, [TRAINER_SWIMMER_FEMALE_MELISSA] = { @@ -3274,7 +3274,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B368), .party = {.NoItemDefaultMoves = sTrainerMons_823B368} }, [TRAINER_BEAUTY_GRACE] = { @@ -3286,7 +3286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B378), .party = {.NoItemDefaultMoves = sTrainerMons_823B378} }, [TRAINER_BEAUTY_OLIVIA] = { @@ -3298,7 +3298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B388), .party = {.NoItemDefaultMoves = sTrainerMons_823B388} }, [TRAINER_BEAUTY_LAUREN] = { @@ -3310,7 +3310,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B398), .party = {.NoItemDefaultMoves = sTrainerMons_823B398} }, [TRAINER_SWIMMER_FEMALE_ANYA] = { @@ -3322,7 +3322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B3B0), .party = {.NoItemDefaultMoves = sTrainerMons_823B3B0} }, [TRAINER_SWIMMER_FEMALE_ALICE] = { @@ -3334,7 +3334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B3D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B3D8} }, [TRAINER_SWIMMER_FEMALE_CONNIE] = { @@ -3346,7 +3346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B3E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B3E8} }, [TRAINER_SWIMMER_FEMALE_SHIRLEY] = { @@ -3358,7 +3358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B400), .party = {.NoItemDefaultMoves = sTrainerMons_823B400} }, [TRAINER_PSYCHIC_JOHAN] = { @@ -3370,7 +3370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B418), .party = {.NoItemDefaultMoves = sTrainerMons_823B418} }, [TRAINER_PSYCHIC_TYRON] = { @@ -3382,7 +3382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B438), .party = {.NoItemDefaultMoves = sTrainerMons_823B438} }, [TRAINER_PSYCHIC_CAMERON] = { @@ -3394,7 +3394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B448), .party = {.NoItemDefaultMoves = sTrainerMons_823B448} }, [TRAINER_PSYCHIC_PRESTON] = { @@ -3406,7 +3406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B460), .party = {.NoItemDefaultMoves = sTrainerMons_823B460} }, [TRAINER_ROCKER_RANDALL] = { @@ -3418,7 +3418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B468), .party = {.NoItemDefaultMoves = sTrainerMons_823B468} }, [TRAINER_ROCKER_LUCA] = { @@ -3430,7 +3430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B480), .party = {.NoItemDefaultMoves = sTrainerMons_823B480} }, [TRAINER_JUGGLER_DALTON] = { @@ -3442,7 +3442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B490), .party = {.NoItemDefaultMoves = sTrainerMons_823B490} }, [TRAINER_JUGGLER_NELSON] = { @@ -3454,7 +3454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B4A0), .party = {.NoItemDefaultMoves = sTrainerMons_823B4A0} }, [TRAINER_JUGGLER_KIRK] = { @@ -3466,7 +3466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B4C0), .party = {.NoItemDefaultMoves = sTrainerMons_823B4C0} }, [TRAINER_JUGGLER_SHAWN] = { @@ -3478,7 +3478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B4E0), .party = {.NoItemDefaultMoves = sTrainerMons_823B4E0} }, [TRAINER_JUGGLER_GREGORY] = { @@ -3490,7 +3490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B4F0), .party = {.NoItemCustomMoves = sTrainerMons_823B4F0} }, [TRAINER_JUGGLER_EDWARD] = { @@ -3502,7 +3502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B500), .party = {.NoItemCustomMoves = sTrainerMons_823B500} }, [TRAINER_JUGGLER_KAYDEN] = { @@ -3514,7 +3514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B540), .party = {.NoItemDefaultMoves = sTrainerMons_823B540} }, [TRAINER_JUGGLER_NATE] = { @@ -3526,7 +3526,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B548), .party = {.NoItemDefaultMoves = sTrainerMons_823B548} }, [TRAINER_TAMER_PHIL] = { @@ -3538,7 +3538,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B558), .party = {.NoItemDefaultMoves = sTrainerMons_823B558} }, [TRAINER_TAMER_EDGAR] = { @@ -3550,7 +3550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B568), .party = {.NoItemDefaultMoves = sTrainerMons_823B568} }, [TRAINER_TAMER_JASON] = { @@ -3562,7 +3562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B580), .party = {.NoItemDefaultMoves = sTrainerMons_823B580} }, [TRAINER_TAMER_COLE] = { @@ -3574,7 +3574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B588), .party = {.NoItemDefaultMoves = sTrainerMons_823B588} }, [TRAINER_TAMER_VINCENT] = { @@ -3586,7 +3586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B598), .party = {.NoItemDefaultMoves = sTrainerMons_823B598} }, [TRAINER_TAMER_JOHN] = { @@ -3598,7 +3598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B5A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B5A8} }, [TRAINER_BIRD_KEEPER_SEBASTIAN] = { @@ -3610,7 +3610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B5C8), .party = {.NoItemDefaultMoves = sTrainerMons_823B5C8} }, [TRAINER_BIRD_KEEPER_PERRY] = { @@ -3622,7 +3622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B5D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B5D8} }, [TRAINER_BIRD_KEEPER_ROBERT] = { @@ -3634,7 +3634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B600), .party = {.NoItemDefaultMoves = sTrainerMons_823B600} }, [TRAINER_BIRD_KEEPER_DONALD] = { @@ -3646,7 +3646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B620), .party = {.NoItemDefaultMoves = sTrainerMons_823B620} }, [TRAINER_BIRD_KEEPER_BENNY] = { @@ -3658,7 +3658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B628), .party = {.NoItemDefaultMoves = sTrainerMons_823B628} }, [TRAINER_BIRD_KEEPER_EDWIN] = { @@ -3670,7 +3670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B638), .party = {.NoItemDefaultMoves = sTrainerMons_823B638} }, [TRAINER_BIRD_KEEPER_CHESTER] = { @@ -3682,7 +3682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B658), .party = {.NoItemDefaultMoves = sTrainerMons_823B658} }, [TRAINER_BIRD_KEEPER_WILTON] = { @@ -3694,7 +3694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B670), .party = {.NoItemDefaultMoves = sTrainerMons_823B670} }, [TRAINER_BIRD_KEEPER_RAMIRO] = { @@ -3706,7 +3706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B680), .party = {.NoItemDefaultMoves = sTrainerMons_823B680} }, [TRAINER_BIRD_KEEPER_JACOB] = { @@ -3718,7 +3718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B688), .party = {.NoItemDefaultMoves = sTrainerMons_823B688} }, [TRAINER_BIRD_KEEPER_ROGER] = { @@ -3730,7 +3730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B6A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B6A8} }, [TRAINER_BIRD_KEEPER_REED] = { @@ -3742,7 +3742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B6C0), .party = {.NoItemDefaultMoves = sTrainerMons_823B6C0} }, [TRAINER_BIRD_KEEPER_KEITH] = { @@ -3754,7 +3754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B6E0), .party = {.NoItemDefaultMoves = sTrainerMons_823B6E0} }, [TRAINER_BIRD_KEEPER_CARTER] = { @@ -3766,7 +3766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B6F0), .party = {.NoItemDefaultMoves = sTrainerMons_823B6F0} }, [TRAINER_BIRD_KEEPER_MITCH] = { @@ -3778,7 +3778,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B708), .party = {.NoItemDefaultMoves = sTrainerMons_823B708} }, [TRAINER_BIRD_KEEPER_BECK] = { @@ -3790,7 +3790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B728), .party = {.NoItemDefaultMoves = sTrainerMons_823B728} }, [TRAINER_BIRD_KEEPER_MARLON] = { @@ -3802,7 +3802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B738), .party = {.NoItemDefaultMoves = sTrainerMons_823B738} }, [TRAINER_BLACK_BELT_KOICHI] = { @@ -3814,7 +3814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B750), .party = {.ItemDefaultMoves = sTrainerMons_823B750} }, [TRAINER_BLACK_BELT_MIKE] = { @@ -3826,7 +3826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B760), .party = {.ItemDefaultMoves = sTrainerMons_823B760} }, [TRAINER_BLACK_BELT_HIDEKI] = { @@ -3838,7 +3838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B778), .party = {.ItemDefaultMoves = sTrainerMons_823B778} }, [TRAINER_BLACK_BELT_AARON] = { @@ -3850,7 +3850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B788), .party = {.ItemDefaultMoves = sTrainerMons_823B788} }, [TRAINER_BLACK_BELT_HITOSHI] = { @@ -3862,7 +3862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B790), .party = {.ItemDefaultMoves = sTrainerMons_823B790} }, [TRAINER_BLACK_BELT_ATSUSHI] = { @@ -3874,7 +3874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B7A8), .party = {.ItemDefaultMoves = sTrainerMons_823B7A8} }, [TRAINER_BLACK_BELT_KIYO] = { @@ -3886,7 +3886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B7B8), .party = {.ItemDefaultMoves = sTrainerMons_823B7B8} }, [TRAINER_BLACK_BELT_TAKASHI] = { @@ -3898,7 +3898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B7C0), .party = {.ItemDefaultMoves = sTrainerMons_823B7C0} }, [TRAINER_BLACK_BELT_DAISUKE] = { @@ -3910,7 +3910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B7D8), .party = {.ItemDefaultMoves = sTrainerMons_823B7D8} }, [TRAINER_RIVAL_OAKS_LAB_SQUIRTLE] = { @@ -3922,7 +3922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B7F0), .party = {.NoItemDefaultMoves = sTrainerMons_823B7F0} }, [TRAINER_RIVAL_OAKS_LAB_BULBASAUR] = { @@ -3934,7 +3934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B7F8), .party = {.NoItemDefaultMoves = sTrainerMons_823B7F8} }, [TRAINER_RIVAL_OAKS_LAB_CHARMANDER] = { @@ -3946,7 +3946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B800), .party = {.NoItemDefaultMoves = sTrainerMons_823B800} }, [TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE] = { @@ -3958,7 +3958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B808), .party = {.NoItemCustomMoves = sTrainerMons_823B808} }, [TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR] = { @@ -3970,7 +3970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B828), .party = {.NoItemCustomMoves = sTrainerMons_823B828} }, [TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER] = { @@ -3982,7 +3982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B848), .party = {.NoItemCustomMoves = sTrainerMons_823B848} }, [TRAINER_RIVAL_CERULEAN_SQUIRTLE] = { @@ -3994,7 +3994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B868), .party = {.NoItemCustomMoves = sTrainerMons_823B868} }, [TRAINER_RIVAL_CERULEAN_BULBASAUR] = { @@ -4006,7 +4006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B8A8), .party = {.NoItemCustomMoves = sTrainerMons_823B8A8} }, [TRAINER_RIVAL_CERULEAN_CHARMANDER] = { @@ -4018,7 +4018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B8E8), .party = {.NoItemCustomMoves = sTrainerMons_823B8E8} }, [TRAINER_SCIENTIST_TED] = { @@ -4030,7 +4030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B928), .party = {.NoItemDefaultMoves = sTrainerMons_823B928} }, [TRAINER_SCIENTIST_CONNOR] = { @@ -4042,7 +4042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B938), .party = {.NoItemCustomMoves = sTrainerMons_823B938} }, [TRAINER_SCIENTIST_JERRY] = { @@ -4054,7 +4054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B978), .party = {.NoItemDefaultMoves = sTrainerMons_823B978} }, [TRAINER_SCIENTIST_JOSE] = { @@ -4066,7 +4066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B990), .party = {.NoItemCustomMoves = sTrainerMons_823B990} }, [TRAINER_SCIENTIST_RODNEY] = { @@ -4078,7 +4078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B9B0), .party = {.NoItemDefaultMoves = sTrainerMons_823B9B0} }, [TRAINER_SCIENTIST_BEAU] = { @@ -4090,7 +4090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B9B8), .party = {.NoItemCustomMoves = sTrainerMons_823B9B8} }, [TRAINER_SCIENTIST_TAYLOR] = { @@ -4102,7 +4102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B9F8), .party = {.NoItemCustomMoves = sTrainerMons_823B9F8} }, [TRAINER_SCIENTIST_JOSHUA] = { @@ -4114,7 +4114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BA48), .party = {.NoItemDefaultMoves = sTrainerMons_823BA48} }, [TRAINER_SCIENTIST_PARKER] = { @@ -4126,7 +4126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BA58), .party = {.NoItemDefaultMoves = sTrainerMons_823BA58} }, [TRAINER_SCIENTIST_ED] = { @@ -4138,7 +4138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BA68), .party = {.NoItemCustomMoves = sTrainerMons_823BA68} }, [TRAINER_SCIENTIST_TRAVIS] = { @@ -4150,7 +4150,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BA98), .party = {.NoItemDefaultMoves = sTrainerMons_823BA98} }, [TRAINER_SCIENTIST_BRAYDON] = { @@ -4162,7 +4162,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BAA8), .party = {.NoItemDefaultMoves = sTrainerMons_823BAA8} }, [TRAINER_SCIENTIST_IVAN] = { @@ -4174,7 +4174,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BAC0), .party = {.NoItemDefaultMoves = sTrainerMons_823BAC0} }, [TRAINER_BOSS_GIOVANNI] = { @@ -4186,7 +4186,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BAD0), .party = {.NoItemDefaultMoves = sTrainerMons_823BAD0} }, [TRAINER_BOSS_GIOVANNI_2] = { @@ -4198,7 +4198,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BAE8), .party = {.NoItemDefaultMoves = sTrainerMons_823BAE8} }, [TRAINER_LEADER_GIOVANNI] = { @@ -4210,7 +4210,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BB08), .party = {.NoItemCustomMoves = sTrainerMons_823BB08} }, [TRAINER_TEAM_ROCKET_GRUNT] = { @@ -4222,7 +4222,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BB58), .party = {.NoItemDefaultMoves = sTrainerMons_823BB58} }, [TRAINER_TEAM_ROCKET_GRUNT_2] = { @@ -4234,7 +4234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BB68), .party = {.NoItemDefaultMoves = sTrainerMons_823BB68} }, [TRAINER_TEAM_ROCKET_GRUNT_3] = { @@ -4246,7 +4246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BB80), .party = {.NoItemDefaultMoves = sTrainerMons_823BB80} }, [TRAINER_TEAM_ROCKET_GRUNT_4] = { @@ -4258,7 +4258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BB90), .party = {.NoItemDefaultMoves = sTrainerMons_823BB90} }, [TRAINER_TEAM_ROCKET_GRUNT_5] = { @@ -4270,7 +4270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBA0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBA0} }, [TRAINER_TEAM_ROCKET_GRUNT_6] = { @@ -4282,7 +4282,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBB0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBB0} }, [TRAINER_TEAM_ROCKET_GRUNT_7] = { @@ -4294,7 +4294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBC0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBC0} }, [TRAINER_TEAM_ROCKET_GRUNT_8] = { @@ -4306,7 +4306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBD0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBD0} }, [TRAINER_TEAM_ROCKET_GRUNT_9] = { @@ -4318,7 +4318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBE0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBE0} }, [TRAINER_TEAM_ROCKET_GRUNT_10] = { @@ -4330,7 +4330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BBF0), .party = {.NoItemCustomMoves = sTrainerMons_823BBF0} }, [TRAINER_TEAM_ROCKET_GRUNT_11] = { @@ -4342,7 +4342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BC20), .party = {.NoItemDefaultMoves = sTrainerMons_823BC20} }, [TRAINER_TEAM_ROCKET_GRUNT_12] = { @@ -4354,7 +4354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BC40), .party = {.NoItemCustomMoves = sTrainerMons_823BC40} }, [TRAINER_TEAM_ROCKET_GRUNT_13] = { @@ -4366,7 +4366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BC60), .party = {.NoItemCustomMoves = sTrainerMons_823BC60} }, [TRAINER_TEAM_ROCKET_GRUNT_14] = { @@ -4378,7 +4378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BCB0), .party = {.NoItemDefaultMoves = sTrainerMons_823BCB0} }, [TRAINER_TEAM_ROCKET_GRUNT_15] = { @@ -4390,7 +4390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BCC8), .party = {.NoItemDefaultMoves = sTrainerMons_823BCC8} }, [TRAINER_TEAM_ROCKET_GRUNT_16] = { @@ -4402,7 +4402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BCD8), .party = {.NoItemDefaultMoves = sTrainerMons_823BCD8} }, [TRAINER_TEAM_ROCKET_GRUNT_17] = { @@ -4414,7 +4414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BCF0), .party = {.NoItemDefaultMoves = sTrainerMons_823BCF0} }, [TRAINER_TEAM_ROCKET_GRUNT_18] = { @@ -4426,7 +4426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD08), .party = {.NoItemDefaultMoves = sTrainerMons_823BD08} }, [TRAINER_TEAM_ROCKET_GRUNT_19] = { @@ -4438,7 +4438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BD18), .party = {.NoItemDefaultMoves = sTrainerMons_823BD18} }, [TRAINER_TEAM_ROCKET_GRUNT_20] = { @@ -4450,7 +4450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD30), .party = {.NoItemDefaultMoves = sTrainerMons_823BD30} }, [TRAINER_TEAM_ROCKET_GRUNT_21] = { @@ -4462,7 +4462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BD40), .party = {.NoItemDefaultMoves = sTrainerMons_823BD40} }, [TRAINER_TEAM_ROCKET_GRUNT_22] = { @@ -4474,7 +4474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD60), .party = {.NoItemDefaultMoves = sTrainerMons_823BD60} }, [TRAINER_TEAM_ROCKET_GRUNT_23] = { @@ -4486,7 +4486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD70), .party = {.NoItemDefaultMoves = sTrainerMons_823BD70} }, [TRAINER_TEAM_ROCKET_GRUNT_24] = { @@ -4498,7 +4498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BD80), .party = {.NoItemDefaultMoves = sTrainerMons_823BD80} }, [TRAINER_TEAM_ROCKET_GRUNT_25] = { @@ -4510,7 +4510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BDA8), .party = {.NoItemDefaultMoves = sTrainerMons_823BDA8} }, [TRAINER_TEAM_ROCKET_GRUNT_26] = { @@ -4522,7 +4522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BDC0), .party = {.NoItemDefaultMoves = sTrainerMons_823BDC0} }, [TRAINER_TEAM_ROCKET_GRUNT_27] = { @@ -4534,7 +4534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BDD0), .party = {.NoItemDefaultMoves = sTrainerMons_823BDD0} }, [TRAINER_TEAM_ROCKET_GRUNT_28] = { @@ -4546,7 +4546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823BDE8), .party = {.NoItemDefaultMoves = sTrainerMons_823BDE8} }, [TRAINER_TEAM_ROCKET_GRUNT_29] = { @@ -4558,7 +4558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823BDF0), .party = {.NoItemDefaultMoves = sTrainerMons_823BDF0} }, [TRAINER_TEAM_ROCKET_GRUNT_30] = { @@ -4570,7 +4570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BDF8), .party = {.NoItemDefaultMoves = sTrainerMons_823BDF8} }, [TRAINER_TEAM_ROCKET_GRUNT_31] = { @@ -4582,7 +4582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BE08), .party = {.NoItemDefaultMoves = sTrainerMons_823BE08} }, [TRAINER_TEAM_ROCKET_GRUNT_32] = { @@ -4594,7 +4594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BE20), .party = {.NoItemCustomMoves = sTrainerMons_823BE20} }, [TRAINER_TEAM_ROCKET_GRUNT_33] = { @@ -4606,7 +4606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BE60), .party = {.NoItemDefaultMoves = sTrainerMons_823BE60} }, [TRAINER_TEAM_ROCKET_GRUNT_34] = { @@ -4618,7 +4618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BE70), .party = {.NoItemDefaultMoves = sTrainerMons_823BE70} }, [TRAINER_TEAM_ROCKET_GRUNT_35] = { @@ -4630,7 +4630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BE80), .party = {.NoItemDefaultMoves = sTrainerMons_823BE80} }, [TRAINER_TEAM_ROCKET_GRUNT_36] = { @@ -4642,7 +4642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BEA0), .party = {.NoItemDefaultMoves = sTrainerMons_823BEA0} }, [TRAINER_TEAM_ROCKET_GRUNT_37] = { @@ -4654,7 +4654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BEB8), .party = {.NoItemDefaultMoves = sTrainerMons_823BEB8} }, [TRAINER_TEAM_ROCKET_GRUNT_38] = { @@ -4666,7 +4666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BED0), .party = {.NoItemDefaultMoves = sTrainerMons_823BED0} }, [TRAINER_TEAM_ROCKET_GRUNT_39] = { @@ -4678,7 +4678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823BEE8), .party = {.NoItemDefaultMoves = sTrainerMons_823BEE8} }, [TRAINER_TEAM_ROCKET_GRUNT_40] = { @@ -4690,7 +4690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BEF0), .party = {.NoItemDefaultMoves = sTrainerMons_823BEF0} }, [TRAINER_TEAM_ROCKET_GRUNT_41] = { @@ -4702,7 +4702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BF18), .party = {.NoItemDefaultMoves = sTrainerMons_823BF18} }, [TRAINER_COOLTRAINER_SAMUEL] = { @@ -4714,7 +4714,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BF30), .party = {.NoItemCustomMoves = sTrainerMons_823BF30} }, [TRAINER_COOLTRAINER_GEORGE] = { @@ -4726,7 +4726,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BF80), .party = {.NoItemCustomMoves = sTrainerMons_823BF80} }, [TRAINER_COOLTRAINER_COLBY] = { @@ -4738,7 +4738,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BFD0), .party = {.NoItemCustomMoves = sTrainerMons_823BFD0} }, [TRAINER_COOLTRAINER_PAUL] = { @@ -4750,7 +4750,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C020), .party = {.NoItemCustomMoves = sTrainerMons_823C020} }, [TRAINER_COOLTRAINER_ROLANDO] = { @@ -4762,7 +4762,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C070), .party = {.NoItemCustomMoves = sTrainerMons_823C070} }, [TRAINER_COOLTRAINER_GILBERT] = { @@ -4774,7 +4774,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C0C0), .party = {.NoItemCustomMoves = sTrainerMons_823C0C0} }, [TRAINER_COOLTRAINER_OWEN] = { @@ -4786,7 +4786,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C110), .party = {.NoItemCustomMoves = sTrainerMons_823C110} }, [TRAINER_COOLTRAINER_BERKE] = { @@ -4798,7 +4798,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C160), .party = {.NoItemCustomMoves = sTrainerMons_823C160} }, [TRAINER_COOLTRAINER_YUJI] = { @@ -4810,7 +4810,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C1B0), .party = {.NoItemCustomMoves = sTrainerMons_823C1B0} }, [TRAINER_COOLTRAINER_WARREN] = { @@ -4822,7 +4822,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C200), .party = {.NoItemCustomMoves = sTrainerMons_823C200} }, [TRAINER_COOLTRAINER_MARY] = { @@ -4834,7 +4834,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C250), .party = {.NoItemCustomMoves = sTrainerMons_823C250} }, [TRAINER_COOLTRAINER_CAROLINE] = { @@ -4846,7 +4846,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C2A0), .party = {.NoItemCustomMoves = sTrainerMons_823C2A0} }, [TRAINER_COOLTRAINER_ALEXA] = { @@ -4858,7 +4858,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C2F0), .party = {.NoItemCustomMoves = sTrainerMons_823C2F0} }, [TRAINER_COOLTRAINER_SHANNON] = { @@ -4870,7 +4870,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C340), .party = {.NoItemCustomMoves = sTrainerMons_823C340} }, [TRAINER_COOLTRAINER_NAOMI] = { @@ -4882,7 +4882,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C390), .party = {.NoItemCustomMoves = sTrainerMons_823C390} }, [TRAINER_COOLTRAINER_BROOKE] = { @@ -4894,7 +4894,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C3E0), .party = {.NoItemCustomMoves = sTrainerMons_823C3E0} }, [TRAINER_COOLTRAINER_AUSTINA] = { @@ -4906,7 +4906,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C430), .party = {.NoItemCustomMoves = sTrainerMons_823C430} }, [TRAINER_COOLTRAINER_JULIE] = { @@ -4918,7 +4918,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C480), .party = {.NoItemCustomMoves = sTrainerMons_823C480} }, [TRAINER_ELITE_FOUR_LORELEI] = { @@ -4930,7 +4930,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C4D0), .party = {.ItemCustomMoves = sTrainerMons_823C4D0} }, [TRAINER_ELITE_FOUR_BRUNO] = { @@ -4942,7 +4942,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C520), .party = {.ItemCustomMoves = sTrainerMons_823C520} }, [TRAINER_ELITE_FOUR_AGATHA] = { @@ -4954,7 +4954,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C570), .party = {.ItemCustomMoves = sTrainerMons_823C570} }, [TRAINER_ELITE_FOUR_LANCE] = { @@ -4966,7 +4966,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C5C0), .party = {.ItemCustomMoves = sTrainerMons_823C5C0} }, [TRAINER_LEADER_BROCK] = { @@ -4978,7 +4978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C610), .party = {.NoItemCustomMoves = sTrainerMons_823C610} }, [TRAINER_LEADER_MISTY] = { @@ -4990,7 +4990,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C630), .party = {.NoItemCustomMoves = sTrainerMons_823C630} }, [TRAINER_LEADER_LT_SURGE] = { @@ -5002,7 +5002,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823C650), .party = {.NoItemCustomMoves = sTrainerMons_823C650} }, [TRAINER_LEADER_ERIKA] = { @@ -5014,7 +5014,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823C680), .party = {.NoItemCustomMoves = sTrainerMons_823C680} }, [TRAINER_LEADER_KOGA] = { @@ -5026,7 +5026,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C6B0), .party = {.NoItemCustomMoves = sTrainerMons_823C6B0} }, [TRAINER_LEADER_BLAINE] = { @@ -5038,7 +5038,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C6F0), .party = {.NoItemCustomMoves = sTrainerMons_823C6F0} }, [TRAINER_LEADER_SABRINA] = { @@ -5050,7 +5050,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C730), .party = {.NoItemCustomMoves = sTrainerMons_823C730} }, [TRAINER_GENTLEMAN_THOMAS] = { @@ -5062,7 +5062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C770), .party = {.NoItemDefaultMoves = sTrainerMons_823C770} }, [TRAINER_GENTLEMAN_ARTHUR] = { @@ -5074,7 +5074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C780), .party = {.NoItemDefaultMoves = sTrainerMons_823C780} }, [TRAINER_GENTLEMAN_TUCKER] = { @@ -5086,7 +5086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823C790), .party = {.NoItemDefaultMoves = sTrainerMons_823C790} }, [TRAINER_GENTLEMAN_NORTON] = { @@ -5098,7 +5098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823C798), .party = {.NoItemDefaultMoves = sTrainerMons_823C798} }, [TRAINER_GENTLEMAN_WALTER] = { @@ -5110,7 +5110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C7A0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7A0} }, [TRAINER_RIVAL_SS_ANNE_SQUIRTLE] = { @@ -5122,7 +5122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C7B0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7B0} }, [TRAINER_RIVAL_SS_ANNE_BULBASAUR] = { @@ -5134,7 +5134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C7D0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7D0} }, [TRAINER_RIVAL_SS_ANNE_CHARMANDER] = { @@ -5146,7 +5146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C7F0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7F0} }, [TRAINER_RIVAL_POKENON_TOWER_SQUIRTLE] = { @@ -5158,7 +5158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C810), .party = {.NoItemDefaultMoves = sTrainerMons_823C810} }, [TRAINER_RIVAL_POKENON_TOWER_BULBASAUR] = { @@ -5170,7 +5170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C838), .party = {.NoItemDefaultMoves = sTrainerMons_823C838} }, [TRAINER_RIVAL_POKENON_TOWER_CHARMANDER] = { @@ -5182,7 +5182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C860), .party = {.NoItemDefaultMoves = sTrainerMons_823C860} }, [TRAINER_RIVAL_SILPH_SQUIRTLE] = { @@ -5194,7 +5194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C888), .party = {.NoItemDefaultMoves = sTrainerMons_823C888} }, [TRAINER_RIVAL_SILPH_BULBASAUR] = { @@ -5206,7 +5206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C8B0), .party = {.NoItemDefaultMoves = sTrainerMons_823C8B0} }, [TRAINER_RIVAL_SILPH_CHARMANDER] = { @@ -5218,7 +5218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C8D8), .party = {.NoItemDefaultMoves = sTrainerMons_823C8D8} }, [TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE] = { @@ -5230,7 +5230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823C900), .party = {.NoItemCustomMoves = sTrainerMons_823C900} }, [TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR] = { @@ -5242,7 +5242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823C960), .party = {.NoItemCustomMoves = sTrainerMons_823C960} }, [TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER] = { @@ -5254,7 +5254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823C9C0), .party = {.NoItemCustomMoves = sTrainerMons_823C9C0} }, [TRAINER_CHAMPION_FIRST_SQUIRTLE] = { @@ -5266,7 +5266,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823CA20), .party = {.ItemCustomMoves = sTrainerMons_823CA20} }, [TRAINER_CHAMPION_FIRST_BULBASAUR] = { @@ -5278,7 +5278,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823CA80), .party = {.ItemCustomMoves = sTrainerMons_823CA80} }, [TRAINER_CHAMPION_FIRST_CHARMANDER] = { @@ -5290,7 +5290,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823CAE0), .party = {.ItemCustomMoves = sTrainerMons_823CAE0} }, [TRAINER_CHANNELER_PATRICIA] = { @@ -5302,7 +5302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB40), .party = {.NoItemDefaultMoves = sTrainerMons_823CB40} }, [TRAINER_CHANNELER_CARLY] = { @@ -5314,7 +5314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB48), .party = {.NoItemDefaultMoves = sTrainerMons_823CB48} }, [TRAINER_CHANNELER_HOPE] = { @@ -5326,7 +5326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB50), .party = {.NoItemDefaultMoves = sTrainerMons_823CB50} }, [TRAINER_CHANNELER_PAULA] = { @@ -5338,7 +5338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB58), .party = {.NoItemDefaultMoves = sTrainerMons_823CB58} }, [TRAINER_CHANNELER_LAUREL] = { @@ -5350,7 +5350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CB60), .party = {.NoItemDefaultMoves = sTrainerMons_823CB60} }, [TRAINER_CHANNELER_JODY] = { @@ -5362,7 +5362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB70), .party = {.NoItemDefaultMoves = sTrainerMons_823CB70} }, [TRAINER_CHANNELER_TAMMY] = { @@ -5374,7 +5374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB78), .party = {.NoItemDefaultMoves = sTrainerMons_823CB78} }, [TRAINER_CHANNELER_RUTH] = { @@ -5386,7 +5386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB80), .party = {.NoItemDefaultMoves = sTrainerMons_823CB80} }, [TRAINER_CHANNELER_KARINA] = { @@ -5398,7 +5398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB88), .party = {.NoItemDefaultMoves = sTrainerMons_823CB88} }, [TRAINER_CHANNELER_JANAE] = { @@ -5410,7 +5410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB90), .party = {.NoItemDefaultMoves = sTrainerMons_823CB90} }, [TRAINER_CHANNELER_ANGELICA] = { @@ -5422,7 +5422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CB98), .party = {.NoItemDefaultMoves = sTrainerMons_823CB98} }, [TRAINER_CHANNELER_EMILIA] = { @@ -5434,7 +5434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBB0} }, [TRAINER_CHANNELER_JENNIFER] = { @@ -5446,7 +5446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBB8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBB8} }, [TRAINER_CHANNELER_1] = { @@ -5458,7 +5458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBC0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBC0} }, [TRAINER_CHANNELER_2] = { @@ -5470,7 +5470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBC8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBC8} }, [TRAINER_CHANNELER_3] = { @@ -5482,7 +5482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBD0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBD0} }, [TRAINER_CHANNELER_4] = { @@ -5494,7 +5494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBD8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBD8} }, [TRAINER_CHANNELER_5] = { @@ -5506,7 +5506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBE0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBE0} }, [TRAINER_CHANNELER_6] = { @@ -5518,7 +5518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CBE8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBE8} }, [TRAINER_CHANNELER_7] = { @@ -5530,7 +5530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CC00), .party = {.NoItemDefaultMoves = sTrainerMons_823CC00} }, [TRAINER_CHANNELER_8] = { @@ -5542,7 +5542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CC08), .party = {.NoItemDefaultMoves = sTrainerMons_823CC08} }, [TRAINER_CHANNELER_AMANDA] = { @@ -5554,7 +5554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CC10), .party = {.NoItemDefaultMoves = sTrainerMons_823CC10} }, [TRAINER_CHANNELER_STACY] = { @@ -5566,7 +5566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CC20), .party = {.NoItemDefaultMoves = sTrainerMons_823CC20} }, [TRAINER_CHANNELER_TASHA] = { @@ -5578,7 +5578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CC28), .party = {.NoItemDefaultMoves = sTrainerMons_823CC28} }, [TRAINER_HIKER_JEREMY] = { @@ -5590,7 +5590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CC40), .party = {.NoItemDefaultMoves = sTrainerMons_823CC40} }, [TRAINER_PICNICKER_ALMA] = { @@ -5602,7 +5602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CC50), .party = {.NoItemDefaultMoves = sTrainerMons_823CC50} }, [TRAINER_PICNICKER_SUSIE] = { @@ -5614,7 +5614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823CC68), .party = {.NoItemDefaultMoves = sTrainerMons_823CC68} }, [TRAINER_PICNICKER_VALERIE] = { @@ -5626,7 +5626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CC90), .party = {.NoItemDefaultMoves = sTrainerMons_823CC90} }, [TRAINER_PICNICKER_GWEN] = { @@ -5638,7 +5638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823CCA0), .party = {.NoItemDefaultMoves = sTrainerMons_823CCA0} }, [TRAINER_BIKER_VIRGIL] = { @@ -5650,7 +5650,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CCC0), .party = {.NoItemCustomMoves = sTrainerMons_823CCC0} }, [TRAINER_CAMPER_FLINT] = { @@ -5662,7 +5662,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CCF0), .party = {.NoItemDefaultMoves = sTrainerMons_823CCF0} }, [TRAINER_PICNICKER_MISSY] = { @@ -5674,7 +5674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CD00), .party = {.NoItemDefaultMoves = sTrainerMons_823CD00} }, [TRAINER_PICNICKER_IRENE] = { @@ -5686,7 +5686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD10), .party = {.NoItemDefaultMoves = sTrainerMons_823CD10} }, [TRAINER_PICNICKER_DANA] = { @@ -5698,7 +5698,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD28), .party = {.NoItemDefaultMoves = sTrainerMons_823CD28} }, [TRAINER_PICNICKER_ARIANA] = { @@ -5710,7 +5710,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823CD40), .party = {.NoItemDefaultMoves = sTrainerMons_823CD40} }, [TRAINER_PICNICKER_LEAH] = { @@ -5722,7 +5722,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CD60), .party = {.NoItemDefaultMoves = sTrainerMons_823CD60} }, [TRAINER_CAMPER_JUSTIN] = { @@ -5734,7 +5734,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CD70), .party = {.NoItemDefaultMoves = sTrainerMons_823CD70} }, [TRAINER_PICNICKER_YAZMIN] = { @@ -5746,7 +5746,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD80), .party = {.NoItemDefaultMoves = sTrainerMons_823CD80} }, [TRAINER_PICNICKER_KINDRA] = { @@ -5758,7 +5758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD98), .party = {.NoItemDefaultMoves = sTrainerMons_823CD98} }, [TRAINER_PICNICKER_BECKY] = { @@ -5770,7 +5770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDB0} }, [TRAINER_PICNICKER_CELIA] = { @@ -5782,7 +5782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CDC0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDC0} }, [TRAINER_GENTLEMAN_BROOKS] = { @@ -5794,7 +5794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CDC8), .party = {.NoItemDefaultMoves = sTrainerMons_823CDC8} }, [TRAINER_GENTLEMAN_LAMAR] = { @@ -5806,7 +5806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDD0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDD0} }, [TRAINER_TWINS_ELI_ANNE] = { @@ -5818,7 +5818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDE0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDE0} }, [TRAINER_COOL_COUPLE_RAY_TYRA] = { @@ -5830,7 +5830,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDF0), .party = {.NoItemCustomMoves = sTrainerMons_823CDF0} }, [TRAINER_YOUNG_COUPLE_GIA_JES] = { @@ -5842,7 +5842,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE10), .party = {.NoItemDefaultMoves = sTrainerMons_823CE10} }, [TRAINER_TWINS_KIRI_JAN] = { @@ -5854,7 +5854,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE20), .party = {.NoItemDefaultMoves = sTrainerMons_823CE20} }, [TRAINER_CRUSH_KIN_RON_MYA] = { @@ -5866,7 +5866,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE30), .party = {.ItemDefaultMoves = sTrainerMons_823CE30} }, [TRAINER_YOUNG_COUPLE_LEA_JED] = { @@ -5878,7 +5878,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE40), .party = {.NoItemDefaultMoves = sTrainerMons_823CE40} }, [TRAINER_SIS_AND_BRO_LIA_LUC] = { @@ -5890,7 +5890,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE50), .party = {.NoItemDefaultMoves = sTrainerMons_823CE50} }, [TRAINER_SIS_AND_BRO_LIL_IAN] = { @@ -5902,7 +5902,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE60), .party = {.NoItemDefaultMoves = sTrainerMons_823CE60} }, [TRAINER_BUG_CATCHER_3] = { @@ -5914,7 +5914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE70), .party = {.NoItemDefaultMoves = sTrainerMons_823CE70} }, [TRAINER_BUG_CATCHER_4] = { @@ -5926,7 +5926,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE78), .party = {.NoItemDefaultMoves = sTrainerMons_823CE78} }, [TRAINER_BUG_CATCHER_5] = { @@ -5938,7 +5938,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE80), .party = {.NoItemDefaultMoves = sTrainerMons_823CE80} }, [TRAINER_BUG_CATCHER_6] = { @@ -5950,7 +5950,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE88), .party = {.NoItemDefaultMoves = sTrainerMons_823CE88} }, [TRAINER_BUG_CATCHER_7] = { @@ -5962,7 +5962,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE90), .party = {.NoItemDefaultMoves = sTrainerMons_823CE90} }, [TRAINER_BUG_CATCHER_8] = { @@ -5974,7 +5974,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE98), .party = {.NoItemDefaultMoves = sTrainerMons_823CE98} }, [TRAINER_YOUNGSTER_BEN_3] = { @@ -5986,7 +5986,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEA0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEA0} }, [TRAINER_YOUNGSTER_BEN_4] = { @@ -5998,7 +5998,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEB0} }, [TRAINER_YOUNGSTER_CHAD_2] = { @@ -6010,7 +6010,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEC0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEC0} }, [TRAINER_LASS_RELI_2] = { @@ -6022,7 +6022,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CED0), .party = {.NoItemDefaultMoves = sTrainerMons_823CED0} }, [TRAINER_LASS_RELI_3] = { @@ -6034,7 +6034,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEE0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEE0} }, [TRAINER_YOUNGSTER_TIMMY_2] = { @@ -6046,7 +6046,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CEF0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEF0} }, [TRAINER_YOUNGSTER_TIMMY_3] = { @@ -6058,7 +6058,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CF08), .party = {.NoItemDefaultMoves = sTrainerMons_823CF08} }, [TRAINER_YOUNGSTER_TIMMY_4] = { @@ -6070,7 +6070,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CF20), .party = {.NoItemDefaultMoves = sTrainerMons_823CF20} }, [TRAINER_YOUNGSTER_CHAD_3] = { @@ -6082,7 +6082,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF38), .party = {.NoItemDefaultMoves = sTrainerMons_823CF38} }, [TRAINER_LASS_JANICE_2] = { @@ -6094,7 +6094,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF48), .party = {.NoItemDefaultMoves = sTrainerMons_823CF48} }, [TRAINER_LASS_JANICE_3] = { @@ -6106,7 +6106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF58), .party = {.NoItemDefaultMoves = sTrainerMons_823CF58} }, [TRAINER_YOUNGSTER_CHAD_4] = { @@ -6118,7 +6118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF68), .party = {.NoItemDefaultMoves = sTrainerMons_823CF68} }, [TRAINER_HIKER_FRANKLIN_2] = { @@ -6130,7 +6130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF78), .party = {.NoItemDefaultMoves = sTrainerMons_823CF78} }, [TRAINER_PKMN_PROF_PROF_OAK] = { @@ -6142,7 +6142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CF88), .party = {.NoItemDefaultMoves = sTrainerMons_823CF88} }, [TRAINER_PLAYER_BRENDAN] = { @@ -6154,7 +6154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CF90), .party = {.NoItemDefaultMoves = sTrainerMons_823CF90} }, [TRAINER_PLAYER_MAY] = { @@ -6166,7 +6166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CF98), .party = {.NoItemDefaultMoves = sTrainerMons_823CF98} }, [TRAINER_PLAYER_RED] = { @@ -6178,7 +6178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CFA0), .party = {.NoItemDefaultMoves = sTrainerMons_823CFA0} }, [TRAINER_PLAYER_LEAF] = { @@ -6190,7 +6190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CFA8), .party = {.NoItemDefaultMoves = sTrainerMons_823CFA8} }, [TRAINER_TEAM_ROCKET_GRUNT_42] = { @@ -6202,7 +6202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CFB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CFB0} }, [TRAINER_PSYCHIC_JACLYN] = { @@ -6214,7 +6214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CFC0), .party = {.NoItemCustomMoves = sTrainerMons_823CFC0} }, [TRAINER_CRUSH_GIRL_SHARON] = { @@ -6226,7 +6226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CFF0), .party = {.ItemDefaultMoves = sTrainerMons_823CFF0} }, [TRAINER_TUBER_AMIRA] = { @@ -6238,7 +6238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D000), .party = {.NoItemDefaultMoves = sTrainerMons_823D000} }, [TRAINER_PKMN_BREEDER_ALIZE] = { @@ -6250,7 +6250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D018), .party = {.NoItemDefaultMoves = sTrainerMons_823D018} }, [TRAINER_PKMN_RANGER_NICOLAS] = { @@ -6262,7 +6262,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D030), .party = {.NoItemCustomMoves = sTrainerMons_823D030} }, [TRAINER_PKMN_RANGER_MADELINE] = { @@ -6274,7 +6274,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D050), .party = {.NoItemCustomMoves = sTrainerMons_823D050} }, [TRAINER_AROMA_LADY_NIKKI] = { @@ -6286,7 +6286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D070), .party = {.NoItemDefaultMoves = sTrainerMons_823D070} }, [TRAINER_RUIN_MANIAC_STANLY] = { @@ -6298,7 +6298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D080), .party = {.NoItemDefaultMoves = sTrainerMons_823D080} }, [TRAINER_LADY_JACKI] = { @@ -6310,7 +6310,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D098), .party = {.ItemDefaultMoves = sTrainerMons_823D098} }, [TRAINER_PAINTER_DAISY] = { @@ -6322,7 +6322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0A8), .party = {.NoItemCustomMoves = sTrainerMons_823D0A8} }, [TRAINER_BIKER_GOON] = { @@ -6334,7 +6334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D0B8), .party = {.NoItemCustomMoves = sTrainerMons_823D0B8} }, [TRAINER_BIKER_GOON_2] = { @@ -6346,7 +6346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0D8), .party = {.NoItemCustomMoves = sTrainerMons_823D0D8} }, [TRAINER_BIKER_GOON_3] = { @@ -6358,7 +6358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D0E8} }, [TRAINER_BIKER_2] = { @@ -6370,7 +6370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D0F0} }, [TRAINER_BUG_CATCHER_ANTHONY] = { @@ -6382,7 +6382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D0F8), .party = {.NoItemDefaultMoves = sTrainerMons_823D0F8} }, [TRAINER_BUG_CATCHER_CHARLIE] = { @@ -6394,7 +6394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D108), .party = {.NoItemDefaultMoves = sTrainerMons_823D108} }, [TRAINER_TWINS_ELI_ANNE_2] = { @@ -6406,7 +6406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D120), .party = {.NoItemDefaultMoves = sTrainerMons_823D120} }, [TRAINER_YOUNGSTER_JOHNSON] = { @@ -6418,7 +6418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D130), .party = {.NoItemDefaultMoves = sTrainerMons_823D130} }, [TRAINER_BIKER_RICARDO] = { @@ -6430,7 +6430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D148), .party = {.NoItemCustomMoves = sTrainerMons_823D148} }, [TRAINER_BIKER_JAREN] = { @@ -6442,7 +6442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D178), .party = {.NoItemDefaultMoves = sTrainerMons_823D178} }, [TRAINER_TEAM_ROCKET_GRUNT_43] = { @@ -6454,7 +6454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D188), .party = {.NoItemDefaultMoves = sTrainerMons_823D188} }, [TRAINER_TEAM_ROCKET_GRUNT_44] = { @@ -6466,7 +6466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D198), .party = {.NoItemDefaultMoves = sTrainerMons_823D198} }, [TRAINER_TEAM_ROCKET_GRUNT_45] = { @@ -6478,7 +6478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D1B8), .party = {.NoItemDefaultMoves = sTrainerMons_823D1B8} }, [TRAINER_TEAM_ROCKET_GRUNT_46] = { @@ -6490,7 +6490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D1D0), .party = {.NoItemDefaultMoves = sTrainerMons_823D1D0} }, [TRAINER_TEAM_ROCKET_GRUNT_47] = { @@ -6502,7 +6502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D1E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D1E8} }, [TRAINER_TEAM_ROCKET_GRUNT_48] = { @@ -6514,7 +6514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D200), .party = {.NoItemDefaultMoves = sTrainerMons_823D200} }, [TRAINER_TEAM_ROCKET_ADMIN] = { @@ -6526,7 +6526,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D210), .party = {.NoItemCustomMoves = sTrainerMons_823D210} }, [TRAINER_TEAM_ROCKET_ADMIN_2] = { @@ -6538,7 +6538,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D240), .party = {.NoItemCustomMoves = sTrainerMons_823D240} }, [TRAINER_SCIENTIST_GIDEON] = { @@ -6550,7 +6550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D270), .party = {.NoItemCustomMoves = sTrainerMons_823D270} }, [TRAINER_SWIMMER_FEMALE_AMARA] = { @@ -6562,7 +6562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D2C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D2C0} }, [TRAINER_SWIMMER_FEMALE_MARIA] = { @@ -6574,7 +6574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823D2D8} }, [TRAINER_SWIMMER_FEMALE_ABIGAIL] = { @@ -6586,7 +6586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D2E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D2E8} }, [TRAINER_SWIMMER_MALE_FINN] = { @@ -6598,7 +6598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D300), .party = {.NoItemDefaultMoves = sTrainerMons_823D300} }, [TRAINER_SWIMMER_MALE_GARRETT] = { @@ -6610,7 +6610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D308), .party = {.NoItemDefaultMoves = sTrainerMons_823D308} }, [TRAINER_FISHERMAN_TOMMY] = { @@ -6622,7 +6622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D320), .party = {.NoItemDefaultMoves = sTrainerMons_823D320} }, [TRAINER_CRUSH_GIRL_TANYA] = { @@ -6634,7 +6634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D348), .party = {.ItemDefaultMoves = sTrainerMons_823D348} }, [TRAINER_BLACK_BELT_SHEA] = { @@ -6646,7 +6646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D358), .party = {.ItemDefaultMoves = sTrainerMons_823D358} }, [TRAINER_BLACK_BELT_HUGH] = { @@ -6658,7 +6658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D368), .party = {.ItemDefaultMoves = sTrainerMons_823D368} }, [TRAINER_CAMPER_BRYCE] = { @@ -6670,7 +6670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D378), .party = {.NoItemDefaultMoves = sTrainerMons_823D378} }, [TRAINER_PICNICKER_CLAIRE] = { @@ -6682,7 +6682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D390), .party = {.NoItemDefaultMoves = sTrainerMons_823D390} }, [TRAINER_CRUSH_KIN_MIK_KIA] = { @@ -6694,7 +6694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D3B0), .party = {.ItemDefaultMoves = sTrainerMons_823D3B0} }, [TRAINER_AROMA_LADY_VIOLET] = { @@ -6706,7 +6706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D3C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D3C0} }, [TRAINER_TUBER_ALEXIS] = { @@ -6718,7 +6718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D3D8), .party = {.NoItemDefaultMoves = sTrainerMons_823D3D8} }, [TRAINER_TWINS_JOY_MEG] = { @@ -6730,7 +6730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D3F8), .party = {.NoItemDefaultMoves = sTrainerMons_823D3F8} }, [TRAINER_SWIMMER_FEMALE_TISHA] = { @@ -6742,7 +6742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D408), .party = {.NoItemDefaultMoves = sTrainerMons_823D408} }, [TRAINER_PAINTER_CELINA] = { @@ -6754,7 +6754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D410), .party = {.NoItemCustomMoves = sTrainerMons_823D410} }, [TRAINER_PAINTER_RAYNA] = { @@ -6766,7 +6766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D420), .party = {.NoItemCustomMoves = sTrainerMons_823D420} }, [TRAINER_LADY_GILLIAN] = { @@ -6778,7 +6778,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D430), .party = {.ItemDefaultMoves = sTrainerMons_823D430} }, [TRAINER_YOUNGSTER_DESTIN] = { @@ -6790,7 +6790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D448), .party = {.NoItemDefaultMoves = sTrainerMons_823D448} }, [TRAINER_SWIMMER_MALE_TOBY] = { @@ -6802,7 +6802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D458), .party = {.NoItemDefaultMoves = sTrainerMons_823D458} }, [TRAINER_TEAM_ROCKET_GRUNT_49] = { @@ -6814,7 +6814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D470), .party = {.NoItemDefaultMoves = sTrainerMons_823D470} }, [TRAINER_TEAM_ROCKET_GRUNT_50] = { @@ -6826,7 +6826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D488), .party = {.NoItemCustomMoves = sTrainerMons_823D488} }, [TRAINER_TEAM_ROCKET_GRUNT_51] = { @@ -6838,7 +6838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D4A8), .party = {.NoItemDefaultMoves = sTrainerMons_823D4A8} }, [TRAINER_BIRD_KEEPER_MILO] = { @@ -6850,7 +6850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4C0} }, [TRAINER_BIRD_KEEPER_CHAZ] = { @@ -6862,7 +6862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4D0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4D0} }, [TRAINER_BIRD_KEEPER_HAROLD] = { @@ -6874,7 +6874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4E0} }, [TRAINER_FISHERMAN_TYLOR] = { @@ -6886,7 +6886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4F0} }, [TRAINER_SWIMMER_MALE_MYMO] = { @@ -6898,7 +6898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D500), .party = {.NoItemDefaultMoves = sTrainerMons_823D500} }, [TRAINER_SWIMMER_FEMALE_NICOLE] = { @@ -6910,7 +6910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D510), .party = {.NoItemDefaultMoves = sTrainerMons_823D510} }, [TRAINER_SIS_AND_BRO_AVA_GEB] = { @@ -6922,7 +6922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D518), .party = {.NoItemDefaultMoves = sTrainerMons_823D518} }, [TRAINER_AROMA_LADY_ROSE] = { @@ -6934,7 +6934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D528), .party = {.NoItemDefaultMoves = sTrainerMons_823D528} }, [TRAINER_SWIMMER_MALE_SAMIR] = { @@ -6946,7 +6946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D538), .party = {.NoItemDefaultMoves = sTrainerMons_823D538} }, [TRAINER_SWIMMER_FEMALE_DENISE] = { @@ -6958,7 +6958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D540), .party = {.NoItemDefaultMoves = sTrainerMons_823D540} }, [TRAINER_TWINS_MIU_MIA] = { @@ -6970,7 +6970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D550), .party = {.NoItemDefaultMoves = sTrainerMons_823D550} }, [TRAINER_HIKER_EARL] = { @@ -6982,7 +6982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D560), .party = {.NoItemDefaultMoves = sTrainerMons_823D560} }, [TRAINER_RUIN_MANIAC_FOSTER] = { @@ -6994,7 +6994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D570), .party = {.NoItemDefaultMoves = sTrainerMons_823D570} }, [TRAINER_RUIN_MANIAC_LARRY] = { @@ -7006,7 +7006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D578), .party = {.NoItemDefaultMoves = sTrainerMons_823D578} }, [TRAINER_HIKER_DARYL] = { @@ -7018,7 +7018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D588), .party = {.NoItemDefaultMoves = sTrainerMons_823D588} }, [TRAINER_POKEMANIAC_HECTOR] = { @@ -7030,7 +7030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D590), .party = {.NoItemDefaultMoves = sTrainerMons_823D590} }, [TRAINER_PSYCHIC_DARIO] = { @@ -7042,7 +7042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D5A0), .party = {.NoItemCustomMoves = sTrainerMons_823D5A0} }, [TRAINER_PSYCHIC_RODETTE] = { @@ -7054,7 +7054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D5B0), .party = {.NoItemCustomMoves = sTrainerMons_823D5B0} }, [TRAINER_AROMA_LADY_MIAH] = { @@ -7066,7 +7066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D5E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D5E0} }, [TRAINER_YOUNG_COUPLE_EVE_JON] = { @@ -7078,7 +7078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D5F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D5F0} }, [TRAINER_JUGGLER_MASON] = { @@ -7090,7 +7090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D600), .party = {.NoItemCustomMoves = sTrainerMons_823D600} }, [TRAINER_CRUSH_GIRL_CYNDY] = { @@ -7102,7 +7102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D640), .party = {.ItemDefaultMoves = sTrainerMons_823D640} }, [TRAINER_CRUSH_GIRL_JOCELYN] = { @@ -7114,7 +7114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D658), .party = {.ItemDefaultMoves = sTrainerMons_823D658} }, [TRAINER_TAMER_EVAN] = { @@ -7126,7 +7126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D668), .party = {.NoItemDefaultMoves = sTrainerMons_823D668} }, [TRAINER_POKEMANIAC_MARK_2] = { @@ -7138,7 +7138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D680), .party = {.NoItemDefaultMoves = sTrainerMons_823D680} }, [TRAINER_PKMN_RANGER_LOGAN] = { @@ -7150,7 +7150,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D690), .party = {.NoItemCustomMoves = sTrainerMons_823D690} }, [TRAINER_PKMN_RANGER_JACKSON] = { @@ -7162,7 +7162,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D6B0), .party = {.NoItemCustomMoves = sTrainerMons_823D6B0} }, [TRAINER_PKMN_RANGER_BETH] = { @@ -7174,7 +7174,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D6E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D6E0} }, [TRAINER_PKMN_RANGER_KATELYN] = { @@ -7186,7 +7186,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D6F8), .party = {.NoItemCustomMoves = sTrainerMons_823D6F8} }, [TRAINER_COOLTRAINER_LEROY] = { @@ -7198,7 +7198,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D708), .party = {.NoItemCustomMoves = sTrainerMons_823D708} }, [TRAINER_COOLTRAINER_MICHELLE] = { @@ -7210,7 +7210,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D758), .party = {.NoItemCustomMoves = sTrainerMons_823D758} }, [TRAINER_COOL_COUPLE_LEX_NYA] = { @@ -7222,7 +7222,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D7A8), .party = {.NoItemCustomMoves = sTrainerMons_823D7A8} }, [TRAINER_RUIN_MANIAC_BRANDON] = { @@ -7234,7 +7234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D7C8), .party = {.NoItemDefaultMoves = sTrainerMons_823D7C8} }, [TRAINER_RUIN_MANIAC_BENJAMIN] = { @@ -7246,7 +7246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D7D0), .party = {.NoItemCustomMoves = sTrainerMons_823D7D0} }, [TRAINER_PAINTER_EDNA] = { @@ -7258,7 +7258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D800), .party = {.NoItemCustomMoves = sTrainerMons_823D800} }, [TRAINER_GENTLEMAN_CLIFFORD] = { @@ -7270,7 +7270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D810), .party = {.NoItemDefaultMoves = sTrainerMons_823D810} }, [TRAINER_LADY_SELPHY] = { @@ -7282,7 +7282,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D820), .party = {.ItemCustomMoves = sTrainerMons_823D820} }, [TRAINER_RUIN_MANIAC_LAWSON] = { @@ -7294,7 +7294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D840), .party = {.NoItemDefaultMoves = sTrainerMons_823D840} }, [TRAINER_PSYCHIC_LAURA] = { @@ -7306,7 +7306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D858), .party = {.NoItemDefaultMoves = sTrainerMons_823D858} }, [TRAINER_PKMN_BREEDER_BETHANY] = { @@ -7318,7 +7318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D870), .party = {.NoItemDefaultMoves = sTrainerMons_823D870} }, [TRAINER_PKMN_BREEDER_ALLISON] = { @@ -7330,7 +7330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D878), .party = {.NoItemDefaultMoves = sTrainerMons_823D878} }, [TRAINER_BUG_CATCHER_GARRET] = { @@ -7342,7 +7342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D890), .party = {.NoItemDefaultMoves = sTrainerMons_823D890} }, [TRAINER_BUG_CATCHER_JONAH] = { @@ -7354,7 +7354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D898), .party = {.NoItemDefaultMoves = sTrainerMons_823D898} }, [TRAINER_BUG_CATCHER_VANCE] = { @@ -7366,7 +7366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D8B8), .party = {.NoItemDefaultMoves = sTrainerMons_823D8B8} }, [TRAINER_YOUNGSTER_NASH] = { @@ -7378,7 +7378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D8C8), .party = {.NoItemDefaultMoves = sTrainerMons_823D8C8} }, [TRAINER_YOUNGSTER_CORDELL] = { @@ -7390,7 +7390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D8E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D8E0} }, [TRAINER_LASS_DALIA] = { @@ -7402,7 +7402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D8F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D8F0} }, [TRAINER_LASS_JOANA] = { @@ -7414,7 +7414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D910), .party = {.NoItemDefaultMoves = sTrainerMons_823D910} }, [TRAINER_CAMPER_RILEY] = { @@ -7426,7 +7426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D918), .party = {.NoItemDefaultMoves = sTrainerMons_823D918} }, [TRAINER_PICNICKER_MARCY] = { @@ -7438,7 +7438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D928), .party = {.NoItemDefaultMoves = sTrainerMons_823D928} }, [TRAINER_RUIN_MANIAC_LAYTON] = { @@ -7450,7 +7450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D940), .party = {.NoItemDefaultMoves = sTrainerMons_823D940} }, [TRAINER_PICNICKER_KELSEY_2] = { @@ -7462,7 +7462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D958), .party = {.NoItemDefaultMoves = sTrainerMons_823D958} }, [TRAINER_PICNICKER_KELSEY_3] = { @@ -7474,7 +7474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D968), .party = {.NoItemDefaultMoves = sTrainerMons_823D968} }, [TRAINER_PICNICKER_KELSEY_4] = { @@ -7486,7 +7486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D978), .party = {.NoItemDefaultMoves = sTrainerMons_823D978} }, [TRAINER_CAMPER_RICKY_2] = { @@ -7498,7 +7498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D988), .party = {.NoItemDefaultMoves = sTrainerMons_823D988} }, [TRAINER_CAMPER_RICKY_3] = { @@ -7510,7 +7510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D990), .party = {.NoItemDefaultMoves = sTrainerMons_823D990} }, [TRAINER_CAMPER_RICKY_4] = { @@ -7522,7 +7522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D998), .party = {.NoItemDefaultMoves = sTrainerMons_823D998} }, [TRAINER_CAMPER_JEFF_2] = { @@ -7534,7 +7534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D9A0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9A0} }, [TRAINER_CAMPER_JEFF_3] = { @@ -7546,7 +7546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D9B0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9B0} }, [TRAINER_CAMPER_JEFF_4] = { @@ -7558,7 +7558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D9C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9C0} }, [TRAINER_PICNICKER_ISABELLE_2] = { @@ -7570,7 +7570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D9D0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9D0} }, [TRAINER_PICNICKER_ISABELLE_3] = { @@ -7582,7 +7582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D9E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D9E8} }, [TRAINER_PICNICKER_ISABELLE_4] = { @@ -7594,7 +7594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA00), .party = {.NoItemDefaultMoves = sTrainerMons_823DA00} }, [TRAINER_YOUNGSTER_YASU_2] = { @@ -7606,7 +7606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA18), .party = {.NoItemDefaultMoves = sTrainerMons_823DA18} }, [TRAINER_YOUNGSTER_YASU_3] = { @@ -7618,7 +7618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA30), .party = {.NoItemDefaultMoves = sTrainerMons_823DA30} }, [TRAINER_ENGINEER_BERNIE_2] = { @@ -7630,7 +7630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA48), .party = {.NoItemDefaultMoves = sTrainerMons_823DA48} }, [TRAINER_GAMER_DARIAN_2] = { @@ -7642,7 +7642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA60), .party = {.NoItemDefaultMoves = sTrainerMons_823DA60} }, [TRAINER_CAMPER_CHRIS_2] = { @@ -7654,7 +7654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA70), .party = {.NoItemDefaultMoves = sTrainerMons_823DA70} }, [TRAINER_CAMPER_CHRIS_3] = { @@ -7666,7 +7666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA80), .party = {.NoItemDefaultMoves = sTrainerMons_823DA80} }, [TRAINER_CAMPER_CHRIS_4] = { @@ -7678,7 +7678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA90), .party = {.NoItemDefaultMoves = sTrainerMons_823DA90} }, [TRAINER_PICNICKER_ALICIA_2] = { @@ -7690,7 +7690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DAA0), .party = {.NoItemDefaultMoves = sTrainerMons_823DAA0} }, [TRAINER_PICNICKER_ALICIA_3] = { @@ -7702,7 +7702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DAA8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAA8} }, [TRAINER_PICNICKER_ALICIA_4] = { @@ -7714,7 +7714,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DAB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DAB0} }, [TRAINER_HIKER_JEREMY_2] = { @@ -7726,7 +7726,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAB8} }, [TRAINER_POKEMANIAC_MARK_3] = { @@ -7738,7 +7738,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAC8} }, [TRAINER_POKEMANIAC_HERMAN_2] = { @@ -7750,7 +7750,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAD8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAD8} }, [TRAINER_POKEMANIAC_HERMAN_3] = { @@ -7762,7 +7762,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAE8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAE8} }, [TRAINER_HIKER_TRENT_2] = { @@ -7774,7 +7774,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAF8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAF8} }, [TRAINER_LASS_MEGAN_2] = { @@ -7786,7 +7786,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DB08), .party = {.NoItemDefaultMoves = sTrainerMons_823DB08} }, [TRAINER_LASS_MEGAN_3] = { @@ -7798,7 +7798,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DB30), .party = {.NoItemDefaultMoves = sTrainerMons_823DB30} }, [TRAINER_SUPER_NERD_GLENN_2] = { @@ -7810,7 +7810,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DB58), .party = {.NoItemDefaultMoves = sTrainerMons_823DB58} }, [TRAINER_GAMER_RICH_2] = { @@ -7822,7 +7822,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DB70), .party = {.NoItemDefaultMoves = sTrainerMons_823DB70} }, [TRAINER_BIKER_JAREN_2] = { @@ -7834,7 +7834,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DB80), .party = {.NoItemDefaultMoves = sTrainerMons_823DB80} }, [TRAINER_FISHERMAN_ELLIOT_2] = { @@ -7846,7 +7846,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DB90), .party = {.NoItemDefaultMoves = sTrainerMons_823DB90} }, [TRAINER_ROCKER_LUCA_2] = { @@ -7858,7 +7858,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DBB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBB0} }, [TRAINER_BEAUTY_SHEILA_2] = { @@ -7870,7 +7870,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DBC0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBC0} }, [TRAINER_BIRD_KEEPER_ROBERT_2] = { @@ -7882,7 +7882,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DBD0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBD0} }, [TRAINER_BIRD_KEEPER_ROBERT_3] = { @@ -7894,7 +7894,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DBF0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBF0} }, [TRAINER_PICNICKER_SUSIE_2] = { @@ -7906,7 +7906,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DC10), .party = {.NoItemDefaultMoves = sTrainerMons_823DC10} }, [TRAINER_PICNICKER_SUSIE_3] = { @@ -7918,7 +7918,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DC38), .party = {.NoItemDefaultMoves = sTrainerMons_823DC38} }, [TRAINER_PICNICKER_SUSIE_4] = { @@ -7930,7 +7930,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DC60), .party = {.NoItemDefaultMoves = sTrainerMons_823DC60} }, [TRAINER_BIKER_LUKAS_2] = { @@ -7942,7 +7942,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DC88), .party = {.NoItemDefaultMoves = sTrainerMons_823DC88} }, [TRAINER_BIRD_KEEPER_BENNY_2] = { @@ -7954,7 +7954,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DCA8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCA8} }, [TRAINER_BIRD_KEEPER_BENNY_3] = { @@ -7966,7 +7966,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DCB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCB8} }, [TRAINER_BIRD_KEEPER_MARLON_2] = { @@ -7978,7 +7978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DCC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCC8} }, [TRAINER_BIRD_KEEPER_MARLON_3] = { @@ -7990,7 +7990,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DCE0), .party = {.NoItemDefaultMoves = sTrainerMons_823DCE0} }, [TRAINER_BEAUTY_GRACE_2] = { @@ -8002,7 +8002,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DCF8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCF8} }, [TRAINER_BIRD_KEEPER_CHESTER_2] = { @@ -8014,7 +8014,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DD08), .party = {.NoItemDefaultMoves = sTrainerMons_823DD08} }, [TRAINER_BIRD_KEEPER_CHESTER_3] = { @@ -8026,7 +8026,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DD20), .party = {.NoItemDefaultMoves = sTrainerMons_823DD20} }, [TRAINER_PICNICKER_BECKY_2] = { @@ -8038,7 +8038,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD38), .party = {.NoItemDefaultMoves = sTrainerMons_823DD38} }, [TRAINER_PICNICKER_BECKY_3] = { @@ -8050,7 +8050,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD48), .party = {.NoItemDefaultMoves = sTrainerMons_823DD48} }, [TRAINER_PICNICKER_BECKY_4] = { @@ -8062,7 +8062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD58), .party = {.NoItemDefaultMoves = sTrainerMons_823DD58} }, [TRAINER_CRUSH_KIN_RON_MYA_2] = { @@ -8074,7 +8074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD68), .party = {.ItemDefaultMoves = sTrainerMons_823DD68} }, [TRAINER_CRUSH_KIN_RON_MYA_3] = { @@ -8086,7 +8086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD78), .party = {.ItemDefaultMoves = sTrainerMons_823DD78} }, [TRAINER_CRUSH_KIN_RON_MYA_4] = { @@ -8098,7 +8098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD88), .party = {.ItemDefaultMoves = sTrainerMons_823DD88} }, [TRAINER_BIKER_RUBEN_2] = { @@ -8110,7 +8110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DD98), .party = {.NoItemDefaultMoves = sTrainerMons_823DD98} }, [TRAINER_CUE_BALL_CAMRON_2] = { @@ -8122,7 +8122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDB0} }, [TRAINER_BIKER_JAXON_2] = { @@ -8134,7 +8134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDC0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDC0} }, [TRAINER_CUE_BALL_ISAIAH_2] = { @@ -8146,7 +8146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDD0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDD0} }, [TRAINER_CUE_BALL_COREY_2] = { @@ -8158,7 +8158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDE0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDE0} }, [TRAINER_BIRD_KEEPER_JACOB_2] = { @@ -8170,7 +8170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DDF0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDF0} }, [TRAINER_BIRD_KEEPER_JACOB_3] = { @@ -8182,7 +8182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DE10), .party = {.NoItemDefaultMoves = sTrainerMons_823DE10} }, [TRAINER_SWIMMER_FEMALE_ALICE_2] = { @@ -8194,7 +8194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DE30), .party = {.NoItemDefaultMoves = sTrainerMons_823DE30} }, [TRAINER_SWIMMER_MALE_DARRIN_2] = { @@ -8206,7 +8206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DE40), .party = {.NoItemDefaultMoves = sTrainerMons_823DE40} }, [TRAINER_PICNICKER_MISSY_2] = { @@ -8218,7 +8218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DE60), .party = {.NoItemDefaultMoves = sTrainerMons_823DE60} }, [TRAINER_PICNICKER_MISSY_3] = { @@ -8230,7 +8230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DE70), .party = {.NoItemDefaultMoves = sTrainerMons_823DE70} }, [TRAINER_FISHERMAN_WADE_2] = { @@ -8242,7 +8242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823DE80), .party = {.NoItemDefaultMoves = sTrainerMons_823DE80} }, [TRAINER_SWIMMER_MALE_JACK_2] = { @@ -8254,7 +8254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DEB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DEB0} }, [TRAINER_SIS_AND_BRO_LIL_IAN_2] = { @@ -8266,7 +8266,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DEB8} }, [TRAINER_SIS_AND_BRO_LIL_IAN_3] = { @@ -8278,7 +8278,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DEC8} }, [TRAINER_SWIMMER_MALE_FINN_2] = { @@ -8290,7 +8290,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DED8), .party = {.NoItemDefaultMoves = sTrainerMons_823DED8} }, [TRAINER_CRUSH_GIRL_SHARON_2] = { @@ -8302,7 +8302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEE0), .party = {.ItemDefaultMoves = sTrainerMons_823DEE0} }, [TRAINER_CRUSH_GIRL_SHARON_3] = { @@ -8314,7 +8314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEF0), .party = {.ItemDefaultMoves = sTrainerMons_823DEF0} }, [TRAINER_CRUSH_GIRL_TANYA_2] = { @@ -8326,7 +8326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF00), .party = {.ItemDefaultMoves = sTrainerMons_823DF00} }, [TRAINER_CRUSH_GIRL_TANYA_3] = { @@ -8338,7 +8338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF10), .party = {.ItemDefaultMoves = sTrainerMons_823DF10} }, [TRAINER_BLACK_BELT_SHEA_2] = { @@ -8350,7 +8350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF20), .party = {.ItemDefaultMoves = sTrainerMons_823DF20} }, [TRAINER_BLACK_BELT_SHEA_3] = { @@ -8362,7 +8362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF30), .party = {.ItemDefaultMoves = sTrainerMons_823DF30} }, [TRAINER_BLACK_BELT_HUGH_2] = { @@ -8374,7 +8374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF40), .party = {.ItemDefaultMoves = sTrainerMons_823DF40} }, [TRAINER_BLACK_BELT_HUGH_3] = { @@ -8386,7 +8386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF50), .party = {.ItemDefaultMoves = sTrainerMons_823DF50} }, [TRAINER_CRUSH_KIN_MIK_KIA_2] = { @@ -8398,7 +8398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF60), .party = {.ItemDefaultMoves = sTrainerMons_823DF60} }, [TRAINER_CRUSH_KIN_MIK_KIA_3] = { @@ -8410,7 +8410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF70), .party = {.ItemDefaultMoves = sTrainerMons_823DF70} }, [TRAINER_TUBER_AMIRA_2] = { @@ -8422,7 +8422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DF80), .party = {.NoItemDefaultMoves = sTrainerMons_823DF80} }, [TRAINER_TWINS_JOY_MEG_2] = { @@ -8434,7 +8434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF98), .party = {.NoItemDefaultMoves = sTrainerMons_823DF98} }, [TRAINER_PAINTER_RAYNA_2] = { @@ -8446,7 +8446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DFA8), .party = {.NoItemCustomMoves = sTrainerMons_823DFA8} }, [TRAINER_YOUNGSTER_DESTIN_2] = { @@ -8458,7 +8458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DFB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DFB8} }, [TRAINER_PKMN_BREEDER_ALIZE_2] = { @@ -8470,7 +8470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DFC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DFC8} }, [TRAINER_YOUNG_COUPLE_GIA_JES_2] = { @@ -8482,7 +8482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DFE0), .party = {.NoItemDefaultMoves = sTrainerMons_823DFE0} }, [TRAINER_YOUNG_COUPLE_GIA_JES_3] = { @@ -8494,7 +8494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DFF0), .party = {.NoItemDefaultMoves = sTrainerMons_823DFF0} }, [TRAINER_BIRD_KEEPER_MILO_2] = { @@ -8506,7 +8506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E000), .party = {.NoItemDefaultMoves = sTrainerMons_823E000} }, [TRAINER_BIRD_KEEPER_CHAZ_2] = { @@ -8518,7 +8518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E010), .party = {.NoItemDefaultMoves = sTrainerMons_823E010} }, [TRAINER_BIRD_KEEPER_HAROLD_2] = { @@ -8530,7 +8530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E020), .party = {.NoItemDefaultMoves = sTrainerMons_823E020} }, [TRAINER_SWIMMER_FEMALE_NICOLE_2] = { @@ -8542,7 +8542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E030), .party = {.NoItemDefaultMoves = sTrainerMons_823E030} }, [TRAINER_PSYCHIC_JACLYN_2] = { @@ -8554,7 +8554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E038), .party = {.NoItemCustomMoves = sTrainerMons_823E038} }, [TRAINER_SWIMMER_MALE_SAMIR_2] = { @@ -8566,7 +8566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E068), .party = {.NoItemDefaultMoves = sTrainerMons_823E068} }, [TRAINER_HIKER_EARL_2] = { @@ -8578,7 +8578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E070), .party = {.NoItemDefaultMoves = sTrainerMons_823E070} }, [TRAINER_RUIN_MANIAC_LARRY_2] = { @@ -8590,7 +8590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E080), .party = {.NoItemDefaultMoves = sTrainerMons_823E080} }, [TRAINER_POKEMANIAC_HECTOR_2] = { @@ -8602,7 +8602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E090), .party = {.NoItemDefaultMoves = sTrainerMons_823E090} }, [TRAINER_PSYCHIC_DARIO_2] = { @@ -8614,7 +8614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E0A0), .party = {.NoItemCustomMoves = sTrainerMons_823E0A0} }, [TRAINER_PSYCHIC_RODETTE_2] = { @@ -8626,7 +8626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E0B0), .party = {.NoItemCustomMoves = sTrainerMons_823E0B0} }, [TRAINER_JUGGLER_MASON_2] = { @@ -8638,7 +8638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823E0E0), .party = {.NoItemDefaultMoves = sTrainerMons_823E0E0} }, [TRAINER_PKMN_RANGER_NICOLAS_2] = { @@ -8650,7 +8650,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E100), .party = {.NoItemCustomMoves = sTrainerMons_823E100} }, [TRAINER_PKMN_RANGER_MADELINE_2] = { @@ -8662,7 +8662,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E120), .party = {.NoItemCustomMoves = sTrainerMons_823E120} }, [TRAINER_CRUSH_GIRL_CYNDY_2] = { @@ -8674,7 +8674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E140), .party = {.ItemDefaultMoves = sTrainerMons_823E140} }, [TRAINER_TAMER_EVAN_2] = { @@ -8686,7 +8686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E158), .party = {.NoItemDefaultMoves = sTrainerMons_823E158} }, [TRAINER_PKMN_RANGER_JACKSON_2] = { @@ -8698,7 +8698,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E170), .party = {.NoItemCustomMoves = sTrainerMons_823E170} }, [TRAINER_PKMN_RANGER_KATELYN_2] = { @@ -8710,7 +8710,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E1A0), .party = {.NoItemCustomMoves = sTrainerMons_823E1A0} }, [TRAINER_COOLTRAINER_LEROY_2] = { @@ -8722,7 +8722,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E1B0), .party = {.NoItemCustomMoves = sTrainerMons_823E1B0} }, [TRAINER_COOLTRAINER_MICHELLE_2] = { @@ -8734,7 +8734,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E200), .party = {.NoItemCustomMoves = sTrainerMons_823E200} }, [TRAINER_COOL_COUPLE_LEX_NYA_2] = { @@ -8746,7 +8746,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E250), .party = {.NoItemCustomMoves = sTrainerMons_823E250} }, [TRAINER_BUG_CATCHER_COLTON_2] = { @@ -8758,7 +8758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E270), .party = {.NoItemDefaultMoves = sTrainerMons_823E270} }, [TRAINER_BUG_CATCHER_COLTON_3] = { @@ -8770,7 +8770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E288), .party = {.NoItemDefaultMoves = sTrainerMons_823E288} }, [TRAINER_BUG_CATCHER_COLTON_4] = { @@ -8782,7 +8782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E2A0), .party = {.NoItemDefaultMoves = sTrainerMons_823E2A0} }, [TRAINER_SWIMMER_MALE_MATTHEW_2] = { @@ -8794,7 +8794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E2B8), .party = {.NoItemDefaultMoves = sTrainerMons_823E2B8} }, [TRAINER_SWIMMER_MALE_TONY_2] = { @@ -8806,7 +8806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E2C8), .party = {.NoItemDefaultMoves = sTrainerMons_823E2C8} }, [TRAINER_SWIMMER_FEMALE_MELISSA_2] = { @@ -8818,7 +8818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823E2D8} }, [TRAINER_ELITE_FOUR_LORELEI_2] = { @@ -8830,7 +8830,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E2E8), .party = {.ItemCustomMoves = sTrainerMons_823E2E8} }, [TRAINER_ELITE_FOUR_BRUNO_2] = { @@ -8842,7 +8842,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E338), .party = {.ItemCustomMoves = sTrainerMons_823E338} }, [TRAINER_ELITE_FOUR_AGATHA_2] = { @@ -8854,7 +8854,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E388), .party = {.ItemCustomMoves = sTrainerMons_823E388} }, [TRAINER_ELITE_FOUR_LANCE_2] = { @@ -8866,7 +8866,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E3D8), .party = {.ItemCustomMoves = sTrainerMons_823E3D8} }, [TRAINER_CHAMPION_REMATCH_SQUIRTLE] = { @@ -8878,7 +8878,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823E428), .party = {.ItemCustomMoves = sTrainerMons_823E428} }, [TRAINER_CHAMPION_REMATCH_BULBASAUR] = { @@ -8890,7 +8890,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823E488), .party = {.ItemCustomMoves = sTrainerMons_823E488} }, [TRAINER_CHAMPION_REMATCH_CHARMANDER] = { @@ -8902,7 +8902,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823E4E8), .party = {.ItemCustomMoves = sTrainerMons_823E4E8} }, [TRAINER_CUE_BALL_PAXTON] = { @@ -8914,7 +8914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E548), .party = {.NoItemDefaultMoves = sTrainerMons_823E548} }, }; diff --git a/src/daycare.c b/src/daycare.c index 277a382c7..36fb34c79 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1,7 +1,6 @@ #include "global.h" #include "gflib.h" #include "battle.h" -#include "daycare.h" #include "constants/species.h" #include "constants/items.h" #include "mail_data.h" @@ -1816,7 +1815,7 @@ static void CB2_EggHatch_0(void) break; case 2: DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - CopyToBgTilemapBuffer(0, gFile_graphics_interface_menu_map_tilemap, 0, 0); + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); gMain.state++; break; diff --git a/src/decompress.c b/src/decompress.c index caeda738a..3f0c82bce 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -2,7 +2,6 @@ #include "malloc.h" #include "decompress.h" #include "pokemon.h" -#include "text.h" #include "constants/species.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; diff --git a/src/digit_obj_util.c b/src/digit_obj_util.c index af2618615..ed762c3c3 100644 --- a/src/digit_obj_util.c +++ b/src/digit_obj_util.c @@ -3,7 +3,6 @@ #include "decompress.h" #include "digit_obj_util.h" #include "main.h" -#include "battle.h" struct DigitPrinterAlloc { diff --git a/src/diploma.c b/src/diploma.c index afb22400b..f702eebd5 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -4,7 +4,6 @@ #include "dynamic_placeholder_text_util.h" #include "gba/macro.h" #include "gpu_regs.h" -#include "gpu_regs.h" #include "main.h" #include "malloc.h" #include "menu.h" @@ -19,7 +18,6 @@ #include "task.h" #include "text.h" #include "window.h" -#include "diploma.h" struct Diploma { diff --git a/src/dynamic_placeholder_text_util.c b/src/dynamic_placeholder_text_util.c index a2622bf02..921612cfc 100644 --- a/src/dynamic_placeholder_text_util.c +++ b/src/dynamic_placeholder_text_util.c @@ -1,90 +1,89 @@ #include "global.h" #include "text.h" -#include "dynamic_placeholder_text_util.h" #include "string_util.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" static EWRAM_DATA const u8 *sStringPointers[8] = {0}; static const u8 sTextColorTable[] = { // [LOW_NYBBLE / 2] = 0xXY, // HIGH_NYBBLE - [OBJECT_EVENT_GFX_RED_NORMAL / 2] = 0x00, // OBJECT_EVENT_GFX_RED_BIKE - [OBJECT_EVENT_GFX_RED_RUN / 2] = 0x00, // OBJECT_EVENT_GFX_RED_ITEM - [OBJECT_EVENT_GFX_RED_FISH / 2] = 0x00, // OBJECT_EVENT_GFX_RED_ITEM_COPY - [OBJECT_EVENT_GFX_RED_VS_SEEKER / 2] = 0x10, // OBJECT_EVENT_GFX_GREEN_NORMAL - [OBJECT_EVENT_GFX_GREEN_BIKE / 2] = 0x11, // OBJECT_EVENT_GFX_GREEN_RUN - [OBJECT_EVENT_GFX_GREEN_ITEM / 2] = 0x11, // OBJECT_EVENT_GFX_GREEN_FISH - [OBJECT_EVENT_GFX_GREEN_ITEM_COPY / 2] = 0x11, // OBJECT_EVENT_GFX_GREEN_VS_SEEKER - [OBJECT_EVENT_GFX_RS_BRENDAN / 2] = 0x10, // OBJECT_EVENT_GFX_RS_MAY - [OBJECT_EVENT_GFX_LITTLE_BOY / 2] = 0x10, // OBJECT_EVENT_GFX_LITTLE_GIRL - [OBJECT_EVENT_GFX_YOUNGSTER / 2] = 0x00, // OBJECT_EVENT_GFX_BOY - [OBJECT_EVENT_GFX_BUG_CATCHER / 2] = 0x00, // OBJECT_EVENT_GFX_SITTING_BOY - [OBJECT_EVENT_GFX_LASS / 2] = 0x11, // OBJECT_EVENT_GFX_WOMAN_1 - [OBJECT_EVENT_GFX_BATTLE_GIRL / 2] = 0x01, // OBJECT_EVENT_GFX_MAN - [OBJECT_EVENT_GFX_ROCKER / 2] = 0x00, // OBJECT_EVENT_GFX_FAT_MAN - [OBJECT_EVENT_GFX_WOMAN_2 / 2] = 0x11, // OBJECT_EVENT_GFX_BEAUTY - [OBJECT_EVENT_GFX_BALDING_MAN / 2] = 0x10, // OBJECT_EVENT_GFX_WOMAN_3 - [OBJECT_EVENT_GFX_OLD_MAN_1 / 2] = 0x00, // OBJECT_EVENT_GFX_OLD_MAN_2 - [OBJECT_EVENT_GFX_OLD_MAN_LYING_DOWN / 2] = 0x10, // OBJECT_EVENT_GFX_OLD_WOMAN - [OBJECT_EVENT_GFX_TUBER_M_1 / 2] = 0x10, // OBJECT_EVENT_GFX_TUBER_F - [OBJECT_EVENT_GFX_TUBER_M_2 / 2] = 0x00, // OBJECT_EVENT_GFX_CAMPER - [OBJECT_EVENT_GFX_PICNICKER / 2] = 0x01, // OBJECT_EVENT_GFX_COOLTRAINER_M - [OBJECT_EVENT_GFX_COOLTRAINER_F / 2] = 0x01, // OBJECT_EVENT_GFX_SWIMMER_M_WATER - [OBJECT_EVENT_GFX_SWIMMER_F_WATER / 2] = 0x01, // OBJECT_EVENT_GFX_SWIMMER_M_LAND - [OBJECT_EVENT_GFX_SWIMMER_F_LAND / 2] = 0x01, // OBJECT_EVENT_GFX_WORKER_M - [OBJECT_EVENT_GFX_WORKER_F / 2] = 0x01, // OBJECT_EVENT_GFX_ROCKET_M - [OBJECT_EVENT_GFX_ROCKET_F / 2] = 0x01, // OBJECT_EVENT_GFX_GBA_KID - [OBJECT_EVENT_GFX_SUPER_NERD / 2] = 0x00, // OBJECT_EVENT_GFX_BIKER - [OBJECT_EVENT_GFX_BLACKBELT / 2] = 0x00, // OBJECT_EVENT_GFX_SCIENTIST - [OBJECT_EVENT_GFX_HIKER / 2] = 0x00, // OBJECT_EVENT_GFX_FISHER - [OBJECT_EVENT_GFX_CHANNELER / 2] = 0x01, // OBJECT_EVENT_GFX_CHEF - [OBJECT_EVENT_GFX_POLICEMAN / 2] = 0x00, // OBJECT_EVENT_GFX_GENTLEMAN - [OBJECT_EVENT_GFX_SAILOR / 2] = 0x00, // OBJECT_EVENT_GFX_CAPTAIN - [OBJECT_EVENT_GFX_NURSE / 2] = 0x11, // OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST - [OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST / 2] = 0x01, // OBJECT_EVENT_GFX_UNUSED_MALE_RECEPTIONIST - [OBJECT_EVENT_GFX_CLERK / 2] = 0x00, // OBJECT_EVENT_GFX_MG_DELIVERYMAN - [OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE / 2] = 0x00, // OBJECT_EVENT_GFX_PROF_OAK - [OBJECT_EVENT_GFX_BLUE / 2] = 0x00, // OBJECT_EVENT_GFX_BILL - [OBJECT_EVENT_GFX_LANCE / 2] = 0x10, // OBJECT_EVENT_GFX_AGATHA - [OBJECT_EVENT_GFX_DAISY / 2] = 0x11, // OBJECT_EVENT_GFX_LORELEI - [OBJECT_EVENT_GFX_MR_FUJI / 2] = 0x00, // OBJECT_EVENT_GFX_BRUNO - [OBJECT_EVENT_GFX_BROCK / 2] = 0x10, // OBJECT_EVENT_GFX_MISTY - [OBJECT_EVENT_GFX_LT_SURGE / 2] = 0x10, // OBJECT_EVENT_GFX_ERIKA - [OBJECT_EVENT_GFX_KOGA / 2] = 0x10, // OBJECT_EVENT_GFX_SABRINA - [OBJECT_EVENT_GFX_BLAINE / 2] = 0x00, // OBJECT_EVENT_GFX_GIOVANNI - [OBJECT_EVENT_GFX_MOM / 2] = 0x01, // OBJECT_EVENT_GFX_CELIO - [OBJECT_EVENT_GFX_TEACHY_TV_HOST / 2] = 0x00, // OBJECT_EVENT_GFX_GYM_GUY - [OBJECT_EVENT_GFX_ITEM_BALL / 2] = 0x33, // OBJECT_EVENT_GFX_TOWN_MAP - [OBJECT_EVENT_GFX_POKEDEX / 2] = 0x33, // OBJECT_EVENT_GFX_CUT_TREE - [OBJECT_EVENT_GFX_ROCK_SMASH_ROCK / 2] = 0x33, // OBJECT_EVENT_GFX_STRENGTH_BOULDER - [OBJECT_EVENT_GFX_FOSSIL / 2] = 0x33, // OBJECT_EVENT_GFX_RUBY - [OBJECT_EVENT_GFX_SAPPHIRE / 2] = 0x33, // OBJECT_EVENT_GFX_OLD_AMBER - [OBJECT_EVENT_GFX_GYM_SIGN / 2] = 0x33, // OBJECT_EVENT_GFX_SIGN - [OBJECT_EVENT_GFX_TRAINER_TIPS / 2] = 0x33, // OBJECT_EVENT_GFX_CLIPBOARD - [OBJECT_EVENT_GFX_METEORITE / 2] = 0x33, // OBJECT_EVENT_GFX_LAPRAS_DOLL - [OBJECT_EVENT_GFX_SEAGALLOP / 2] = 0x23, // OBJECT_EVENT_GFX_SNORLAX - [OBJECT_EVENT_GFX_SPEAROW / 2] = 0x22, // OBJECT_EVENT_GFX_CUBONE - [OBJECT_EVENT_GFX_POLIWRATH / 2] = 0x22, // OBJECT_EVENT_GFX_CLEFAIRY - [OBJECT_EVENT_GFX_PIDGEOT / 2] = 0x22, // OBJECT_EVENT_GFX_JIGGLYPUFF - [OBJECT_EVENT_GFX_PIDGEY / 2] = 0x22, // OBJECT_EVENT_GFX_CHANSEY - [OBJECT_EVENT_GFX_OMANYTE / 2] = 0x22, // OBJECT_EVENT_GFX_KANGASKHAN - [OBJECT_EVENT_GFX_PIKACHU / 2] = 0x22, // OBJECT_EVENT_GFX_PSYDUCK - [OBJECT_EVENT_GFX_NIDORAN_F / 2] = 0x22, // OBJECT_EVENT_GFX_NIDORAN_M - [OBJECT_EVENT_GFX_NIDORINO / 2] = 0x22, // OBJECT_EVENT_GFX_MEOWTH - [OBJECT_EVENT_GFX_SEEL / 2] = 0x22, // OBJECT_EVENT_GFX_VOLTORB - [OBJECT_EVENT_GFX_SLOWPOKE / 2] = 0x22, // OBJECT_EVENT_GFX_SLOWBRO - [OBJECT_EVENT_GFX_MACHOP / 2] = 0x22, // OBJECT_EVENT_GFX_WIGGLYTUFF - [OBJECT_EVENT_GFX_DODUO / 2] = 0x22, // OBJECT_EVENT_GFX_FEAROW - [OBJECT_EVENT_GFX_MACHOKE / 2] = 0x22, // OBJECT_EVENT_GFX_LAPRAS - [OBJECT_EVENT_GFX_ZAPDOS / 2] = 0x22, // OBJECT_EVENT_GFX_MOLTRES - [OBJECT_EVENT_GFX_ARTICUNO / 2] = 0x22, // OBJECT_EVENT_GFX_MEWTWO - [OBJECT_EVENT_GFX_MEW / 2] = 0x22, // OBJECT_EVENT_GFX_ENTEI - [OBJECT_EVENT_GFX_SUICUNE / 2] = 0x22, // OBJECT_EVENT_GFX_RAIKOU - [OBJECT_EVENT_GFX_LUGIA / 2] = 0x22, // OBJECT_EVENT_GFX_HO_OH - [OBJECT_EVENT_GFX_CELEBI / 2] = 0x22, // OBJECT_EVENT_GFX_KABUTO - [OBJECT_EVENT_GFX_DEOXYS_D / 2] = 0x22, // OBJECT_EVENT_GFX_DEOXYS_A - [OBJECT_EVENT_GFX_DEOXYS_N / 2] = 0x32, // OBJECT_EVENT_GFX_SS_ANNE + [OBJ_EVENT_GFX_RED_NORMAL / 2] = 0x00, // OBJ_EVENT_GFX_RED_BIKE + [OBJ_EVENT_GFX_RED_SURF / 2] = 0x00, // OBJ_EVENT_GFX_RED_ITEM + [OBJ_EVENT_GFX_RED_FISH / 2] = 0x00, // OBJ_EVENT_GFX_RED_ITEM_COPY + [OBJ_EVENT_GFX_RED_VS_SEEKER / 2] = 0x10, // OBJ_EVENT_GFX_GREEN_NORMAL + [OBJ_EVENT_GFX_GREEN_BIKE / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_SURF + [OBJ_EVENT_GFX_GREEN_ITEM / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_FISH + [OBJ_EVENT_GFX_GREEN_ITEM_COPY / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_VS_SEEKER + [OBJ_EVENT_GFX_RS_BRENDAN / 2] = 0x10, // OBJ_EVENT_GFX_RS_MAY + [OBJ_EVENT_GFX_LITTLE_BOY / 2] = 0x10, // OBJ_EVENT_GFX_LITTLE_GIRL + [OBJ_EVENT_GFX_YOUNGSTER / 2] = 0x00, // OBJ_EVENT_GFX_BOY + [OBJ_EVENT_GFX_BUG_CATCHER / 2] = 0x00, // OBJ_EVENT_GFX_SITTING_BOY + [OBJ_EVENT_GFX_LASS / 2] = 0x11, // OBJ_EVENT_GFX_WOMAN_1 + [OBJ_EVENT_GFX_BATTLE_GIRL / 2] = 0x01, // OBJ_EVENT_GFX_MAN + [OBJ_EVENT_GFX_ROCKER / 2] = 0x00, // OBJ_EVENT_GFX_FAT_MAN + [OBJ_EVENT_GFX_WOMAN_2 / 2] = 0x11, // OBJ_EVENT_GFX_BEAUTY + [OBJ_EVENT_GFX_BALDING_MAN / 2] = 0x10, // OBJ_EVENT_GFX_WOMAN_3 + [OBJ_EVENT_GFX_OLD_MAN_1 / 2] = 0x00, // OBJ_EVENT_GFX_OLD_MAN_2 + [OBJ_EVENT_GFX_OLD_MAN_LYING_DOWN / 2] = 0x10, // OBJ_EVENT_GFX_OLD_WOMAN + [OBJ_EVENT_GFX_TUBER_M_1 / 2] = 0x10, // OBJ_EVENT_GFX_TUBER_F + [OBJ_EVENT_GFX_TUBER_M_2 / 2] = 0x00, // OBJ_EVENT_GFX_CAMPER + [OBJ_EVENT_GFX_PICNICKER / 2] = 0x01, // OBJ_EVENT_GFX_COOLTRAINER_M + [OBJ_EVENT_GFX_COOLTRAINER_F / 2] = 0x01, // OBJ_EVENT_GFX_SWIMMER_M_WATER + [OBJ_EVENT_GFX_SWIMMER_F_WATER / 2] = 0x01, // OBJ_EVENT_GFX_SWIMMER_M_LAND + [OBJ_EVENT_GFX_SWIMMER_F_LAND / 2] = 0x01, // OBJ_EVENT_GFX_WORKER_M + [OBJ_EVENT_GFX_WORKER_F / 2] = 0x01, // OBJ_EVENT_GFX_ROCKET_M + [OBJ_EVENT_GFX_ROCKET_F / 2] = 0x01, // OBJ_EVENT_GFX_GBA_KID + [OBJ_EVENT_GFX_SUPER_NERD / 2] = 0x00, // OBJ_EVENT_GFX_BIKER + [OBJ_EVENT_GFX_BLACKBELT / 2] = 0x00, // OBJ_EVENT_GFX_SCIENTIST + [OBJ_EVENT_GFX_HIKER / 2] = 0x00, // OBJ_EVENT_GFX_FISHER + [OBJ_EVENT_GFX_CHANNELER / 2] = 0x01, // OBJ_EVENT_GFX_CHEF + [OBJ_EVENT_GFX_POLICEMAN / 2] = 0x00, // OBJ_EVENT_GFX_GENTLEMAN + [OBJ_EVENT_GFX_SAILOR / 2] = 0x00, // OBJ_EVENT_GFX_CAPTAIN + [OBJ_EVENT_GFX_NURSE / 2] = 0x11, // OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST + [OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST / 2] = 0x01, // OBJ_EVENT_GFX_UNUSED_MALE_RECEPTIONIST + [OBJ_EVENT_GFX_CLERK / 2] = 0x00, // OBJ_EVENT_GFX_MG_DELIVERYMAN + [OBJ_EVENT_GFX_TRAINER_TOWER_DUDE / 2] = 0x00, // OBJ_EVENT_GFX_PROF_OAK + [OBJ_EVENT_GFX_BLUE / 2] = 0x00, // OBJ_EVENT_GFX_BILL + [OBJ_EVENT_GFX_LANCE / 2] = 0x10, // OBJ_EVENT_GFX_AGATHA + [OBJ_EVENT_GFX_DAISY / 2] = 0x11, // OBJ_EVENT_GFX_LORELEI + [OBJ_EVENT_GFX_MR_FUJI / 2] = 0x00, // OBJ_EVENT_GFX_BRUNO + [OBJ_EVENT_GFX_BROCK / 2] = 0x10, // OBJ_EVENT_GFX_MISTY + [OBJ_EVENT_GFX_LT_SURGE / 2] = 0x10, // OBJ_EVENT_GFX_ERIKA + [OBJ_EVENT_GFX_KOGA / 2] = 0x10, // OBJ_EVENT_GFX_SABRINA + [OBJ_EVENT_GFX_BLAINE / 2] = 0x00, // OBJ_EVENT_GFX_GIOVANNI + [OBJ_EVENT_GFX_MOM / 2] = 0x01, // OBJ_EVENT_GFX_CELIO + [OBJ_EVENT_GFX_TEACHY_TV_HOST / 2] = 0x00, // OBJ_EVENT_GFX_GYM_GUY + [OBJ_EVENT_GFX_ITEM_BALL / 2] = 0x33, // OBJ_EVENT_GFX_TOWN_MAP + [OBJ_EVENT_GFX_POKEDEX / 2] = 0x33, // OBJ_EVENT_GFX_CUT_TREE + [OBJ_EVENT_GFX_ROCK_SMASH_ROCK / 2] = 0x33, // OBJ_EVENT_GFX_STRENGTH_BOULDER + [OBJ_EVENT_GFX_FOSSIL / 2] = 0x33, // OBJ_EVENT_GFX_RUBY + [OBJ_EVENT_GFX_SAPPHIRE / 2] = 0x33, // OBJ_EVENT_GFX_OLD_AMBER + [OBJ_EVENT_GFX_GYM_SIGN / 2] = 0x33, // OBJ_EVENT_GFX_SIGN + [OBJ_EVENT_GFX_TRAINER_TIPS / 2] = 0x33, // OBJ_EVENT_GFX_CLIPBOARD + [OBJ_EVENT_GFX_METEORITE / 2] = 0x33, // OBJ_EVENT_GFX_LAPRAS_DOLL + [OBJ_EVENT_GFX_SEAGALLOP / 2] = 0x23, // OBJ_EVENT_GFX_SNORLAX + [OBJ_EVENT_GFX_SPEAROW / 2] = 0x22, // OBJ_EVENT_GFX_CUBONE + [OBJ_EVENT_GFX_POLIWRATH / 2] = 0x22, // OBJ_EVENT_GFX_CLEFAIRY + [OBJ_EVENT_GFX_PIDGEOT / 2] = 0x22, // OBJ_EVENT_GFX_JIGGLYPUFF + [OBJ_EVENT_GFX_PIDGEY / 2] = 0x22, // OBJ_EVENT_GFX_CHANSEY + [OBJ_EVENT_GFX_OMANYTE / 2] = 0x22, // OBJ_EVENT_GFX_KANGASKHAN + [OBJ_EVENT_GFX_PIKACHU / 2] = 0x22, // OBJ_EVENT_GFX_PSYDUCK + [OBJ_EVENT_GFX_NIDORAN_F / 2] = 0x22, // OBJ_EVENT_GFX_NIDORAN_M + [OBJ_EVENT_GFX_NIDORINO / 2] = 0x22, // OBJ_EVENT_GFX_MEOWTH + [OBJ_EVENT_GFX_SEEL / 2] = 0x22, // OBJ_EVENT_GFX_VOLTORB + [OBJ_EVENT_GFX_SLOWPOKE / 2] = 0x22, // OBJ_EVENT_GFX_SLOWBRO + [OBJ_EVENT_GFX_MACHOP / 2] = 0x22, // OBJ_EVENT_GFX_WIGGLYTUFF + [OBJ_EVENT_GFX_DODUO / 2] = 0x22, // OBJ_EVENT_GFX_FEAROW + [OBJ_EVENT_GFX_MACHOKE / 2] = 0x22, // OBJ_EVENT_GFX_LAPRAS + [OBJ_EVENT_GFX_ZAPDOS / 2] = 0x22, // OBJ_EVENT_GFX_MOLTRES + [OBJ_EVENT_GFX_ARTICUNO / 2] = 0x22, // OBJ_EVENT_GFX_MEWTWO + [OBJ_EVENT_GFX_MEW / 2] = 0x22, // OBJ_EVENT_GFX_ENTEI + [OBJ_EVENT_GFX_SUICUNE / 2] = 0x22, // OBJ_EVENT_GFX_RAIKOU + [OBJ_EVENT_GFX_LUGIA / 2] = 0x22, // OBJ_EVENT_GFX_HO_OH + [OBJ_EVENT_GFX_CELEBI / 2] = 0x22, // OBJ_EVENT_GFX_KABUTO + [OBJ_EVENT_GFX_DEOXYS_D / 2] = 0x22, // OBJ_EVENT_GFX_DEOXYS_A + [OBJ_EVENT_GFX_DEOXYS_N / 2] = 0x32, // OBJ_EVENT_GFX_SS_ANNE }; void DynamicPlaceholderTextUtil_Reset(void) diff --git a/src/easy_chat.c b/src/easy_chat.c index 1d2873fc2..14662b660 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -1,33 +1,18 @@ #include "global.h" #include "malloc.h" -#include "bg.h" #include "data.h" -#include "decompress.h" -#include "dynamic_placeholder_text_util.h" #include "easy_chat.h" #include "event_data.h" #include "field_message_box.h" -#include "field_weather.h" -#include "gpu_regs.h" -#include "graphics.h" -#include "main.h" #include "mevent.h" #include "menu.h" #include "mail.h" -#include "overworld.h" -#include "palette.h" #include "pokedex.h" #include "random.h" -#include "sound.h" #include "string_util.h" #include "strings.h" -#include "task.h" -#include "text_window.h" -#include "window.h" #include "constants/easy_chat.h" -#include "constants/object_events.h" #include "constants/flags.h" -#include "constants/songs.h" #include "constants/species.h" struct Unk203A120 diff --git a/src/event_object_80688E4.c b/src/event_object_80688E4.c index 2d79c4f7b..de4cf358a 100644 --- a/src/event_object_80688E4.c +++ b/src/event_object_80688E4.c @@ -1,5 +1,4 @@ #include "global.h" -#include "event_object_80688E4.h" #include "event_object_movement.h" #include "field_effect.h" #include "field_ground_effect.h" @@ -204,6 +203,7 @@ void sub_8068BBC(struct Sprite *sprite, u8 direction) sprite->tStepNo = 0; } +// used by an_walk_any_2 bool8 sub_8068BCC(struct Sprite *sprite) { if (!(sprite->tDelay & 1)) diff --git a/src/event_object_lock.c b/src/event_object_lock.c index 304b71c28..02f0557f2 100644 --- a/src/event_object_lock.c +++ b/src/event_object_lock.c @@ -3,9 +3,7 @@ #include "field_player_avatar.h" #include "event_object_movement.h" #include "script_movement.h" -#include "event_object_80688E4.h" #include "event_data.h" -#include "event_object_lock.h" bool8 walkrun_is_standing_still(void) { @@ -89,7 +87,7 @@ void sub_80696C0(void) { u8 objectEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objectEventId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); } @@ -100,7 +98,7 @@ void UnionRoom_UnlockPlayerAndChatPartner(void) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); objectEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objectEventId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index f3b05b32c..71eb3fc36 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -31,8 +31,6 @@ #include "text.h" #include "text_window.h" #include "trig.h" -#include "trade.h" -#include "util.h" #include "battle_string_ids.h" #include "constants/species.h" #include "constants/songs.h" diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 2e1dcd919..16f691a2d 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -13,16 +13,16 @@ #include "metatile_behavior.h" #include "quest_log.h" #include "link.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "sound.h" #include "field_door.h" #include "field_effect.h" #include "field_screen_effect.h" -#include "event_object_movement.h" #include "field_specials.h" #include "event_object_lock.h" #include "start_menu.h" #include "constants/songs.h" +#include "constants/event_object_movement.h" static void sub_807DF4C(u8 a0); static void sub_807DFBC(u8 taskId); @@ -349,7 +349,7 @@ static void sub_807DFBC(u8 taskId) { PlayerGetDestCoords(&task->data[12], &task->data[13]); sub_807DCB0(TRUE); - ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 16); + ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 8; } break; @@ -373,7 +373,7 @@ static void sub_807DFBC(u8 taskId) if (sub_807E418()) { sub_807DCB0(TRUE); - ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 16); + ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 2; } break; @@ -415,7 +415,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId) if (sub_807E418()) { sub_807DCB0(TRUE); - ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], sub_8063F84(GetPlayerFacingDirection())); + ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], GetWalkNormalMovementAction(GetPlayerFacingDirection())); task->data[0] = 2; } break; @@ -753,7 +753,7 @@ static void sub_807E80C(u8 taskId) if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { ObjectEventClearAnimIfSpecialAnimActive(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)]); - ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 17); + ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_UP); task->data[0] = 2; } break; diff --git a/src/field_specials.c b/src/field_specials.c index a1de82c0f..6554f6116 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -41,11 +41,11 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/items.h" -#include "constants/object_events.h" #include "constants/maps.h" #include "constants/region_map.h" #include "constants/moves.h" #include "constants/menu.h" +#include "constants/event_objects.h" static EWRAM_DATA u8 sElevatorCurrentFloorWindowId = 0; static EWRAM_DATA u16 sElevatorScroll = 0; @@ -315,7 +315,7 @@ void Special_AnimatePcTurnOff() void SpawnCameraObject(void) { - u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJECT_EVENT_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_YOUNGSTER, 8, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); gObjectEvents[objectEventId].invisible = TRUE; CameraObjectSetFollowedObjectId(gObjectEvents[objectEventId].spriteId); } @@ -1528,8 +1528,8 @@ u8 ContextNpcGetTextColor(void) else { gfxId = gObjectEvents[gSelectedObjectEvent].graphicsId; - if (gfxId >= OBJECT_EVENT_GFX_VAR_0) - gfxId = VarGetObjectEventGraphicsId(gfxId - OBJECT_EVENT_GFX_VAR_0); + if (gfxId >= OBJ_EVENT_GFX_VAR_0) + gfxId = VarGetObjectEventGraphicsId(gfxId - OBJ_EVENT_GFX_VAR_0); return GetColorFromTextColorTable(gfxId); } } diff --git a/src/fieldmap.c b/src/fieldmap.c index 90682da10..60ff70f10 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -3,7 +3,6 @@ #include "palette.h" #include "overworld.h" #include "script.h" -#include "menu.h" #include "new_menu_helpers.h" #include "quest_log.h" #include "fieldmap.h" @@ -17,37 +16,37 @@ struct ConnectionFlags }; static void InitMapLayoutData(struct MapHeader *mapHeader); -void map_copy_with_padding(u16 *map, u16 width, u16 height); -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader); -void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void LoadSavedMapView(void); -struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y); -bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection); -bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset); +static void map_copy_with_padding(u16 *map, u16 width, u16 height); +static void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader); +static void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void LoadSavedMapView(void); +static struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y); +static bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection); +static bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset); struct BackupMapLayout VMap; -EWRAM_DATA u16 gBackupMapLayout[VIRTUAL_MAP_SIZE] = {}; +static EWRAM_DATA u16 gBackupMapLayout[VIRTUAL_MAP_SIZE] = {}; EWRAM_DATA struct MapHeader gMapHeader = {}; EWRAM_DATA struct Camera gCamera = {}; -EWRAM_DATA struct ConnectionFlags gMapConnectionFlags = {}; +static EWRAM_DATA struct ConnectionFlags gMapConnectionFlags = {}; -const struct ConnectionFlags sDummyConnectionFlags = {}; +static const struct ConnectionFlags sDummyConnectionFlags = {}; -const u32 gUnknown_8352EF0[] = { - 0x1ff, - 0x3e00, - 0x3c000, - 0xfc0000, - 0x7000000, +static const u32 sMetatileAttrMasks[] = { + 0x000001ff, + 0x00003e00, + 0x0003c000, + 0x00fc0000, + 0x07000000, 0x18000000, 0x60000000, 0x80000000 }; -const u8 gUnknown_8352F10[] = { +static const u8 sMetatileAttrShifts[] = { 0, 9, 14, @@ -88,7 +87,7 @@ static void InitMapLayoutData(struct MapHeader * mapHeader) mapheader_copy_mapdata_of_adjacent_maps(mapHeader); } -void map_copy_with_padding(u16 *map, u16 width, u16 height) +static void map_copy_with_padding(u16 *map, u16 width, u16 height) { s32 y; u16 *dest = VMap.map; @@ -102,7 +101,7 @@ void map_copy_with_padding(u16 *map, u16 width, u16 height) } } -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) +static void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) { s32 count; struct MapConnection *connection; @@ -148,7 +147,7 @@ void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) } } -void sub_8058B54(s32 x, s32 y, const struct MapHeader *connectedMapHeader, s32 x2, s32 y2, s32 width, s32 height) +static void sub_8058B54(s32 x, s32 y, const struct MapHeader *connectedMapHeader, s32 x2, s32 y2, s32 width, s32 height) { s32 i; u16 *src; @@ -167,7 +166,7 @@ void sub_8058B54(s32 x, s32 y, const struct MapHeader *connectedMapHeader, s32 x } } -void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 x, y; s32 x2; @@ -214,7 +213,7 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con } } -void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 x; s32 x2, y2; @@ -263,7 +262,7 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con } } -void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 y; s32 x2, y2; @@ -309,7 +308,7 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons } } -void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 x, y; s32 y2; @@ -444,28 +443,28 @@ u32 MapGridGetMetatileIdAt(s32 x, s32 y) return block & 0x3FF; } -u32 sub_8058F1C(u32 original, u8 bit) +u32 GetMetatileAttributeFromRawMetatileBehavior(u32 original, u8 bit) { if (bit >= 8) return original; - return (original & gUnknown_8352EF0[bit]) >> gUnknown_8352F10[bit]; + return (original & sMetatileAttrMasks[bit]) >> sMetatileAttrShifts[bit]; } -u32 sub_8058F48(s16 x, s16 y, u8 z) +u32 MapGridGetMetatileAttributeAt(s16 x, s16 y, u8 attr) { u16 metatileId = MapGridGetMetatileIdAt(x, y); - return GetBehaviorByMetatileIdAndMapLayout(gMapHeader.mapLayout, metatileId, z); + return GetBehaviorByMetatileIdAndMapLayout(gMapHeader.mapLayout, metatileId, attr); } u32 MapGridGetMetatileBehaviorAt(s32 x, s32 y) { - return sub_8058F48(x, y, 0); + return MapGridGetMetatileAttributeAt(x, y, 0); } u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y) { - return sub_8058F48(x, y, 6); + return MapGridGetMetatileAttributeAt(x, y, 6); } void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatile) @@ -513,12 +512,12 @@ u32 GetBehaviorByMetatileIdAndMapLayout(struct MapLayout *mapLayout, u16 metatil if (metatile < NUM_METATILES_IN_PRIMARY) { attributes = mapLayout->primaryTileset->metatileAttributes; - return sub_8058F1C(attributes[metatile], attr); + return GetMetatileAttributeFromRawMetatileBehavior(attributes[metatile], attr); } else if (metatile < 0x400) { attributes = mapLayout->secondaryTileset->metatileAttributes; - return sub_8058F1C(attributes[metatile - NUM_METATILES_IN_PRIMARY], attr); + return GetMetatileAttributeFromRawMetatileBehavior(attributes[metatile - NUM_METATILES_IN_PRIMARY], attr); } else { @@ -545,7 +544,7 @@ void save_serialize_map(void) } } -bool32 SavedMapViewIsEmpty(void) +static bool32 SavedMapViewIsEmpty(void) { u16 i; u32 marker = 0; @@ -560,12 +559,12 @@ bool32 SavedMapViewIsEmpty(void) return FALSE; } -void ClearSavedMapView(void) +static void ClearSavedMapView(void) { CpuFill16(0, gSaveBlock2Ptr->mapView, sizeof(gSaveBlock2Ptr->mapView)); } -void LoadSavedMapView(void) +static void LoadSavedMapView(void) { s32 i, j; s32 x, y; @@ -589,7 +588,7 @@ void LoadSavedMapView(void) } } -void sub_8059250(u8 a1) +static void sub_8059250(u8 a1) { s32 width; u16 *mapView; @@ -691,7 +690,7 @@ s32 GetMapBorderIdAt(s32 x, s32 y) return 0; } -s32 GetPostCameraMoveMapBorderId(s32 x, s32 y) +static s32 GetPostCameraMoveMapBorderId(s32 x, s32 y) { return GetMapBorderIdAt(7 + gSaveBlock1Ptr->pos.x + x, 7 + gSaveBlock1Ptr->pos.y + y); } @@ -709,7 +708,7 @@ bool32 CanCameraMoveInDirection(s32 direction) return TRUE; } -void sub_80594AC(struct MapConnection *connection, int direction, s32 x, s32 y) +static void sub_80594AC(struct MapConnection *connection, int direction, s32 x, s32 y) { struct MapHeader const *mapHeader; mapHeader = mapconnection_get_mapheader(connection); @@ -780,7 +779,7 @@ struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y) } -bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection) +static bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection) { struct MapHeader const *mapHeader; mapHeader = mapconnection_get_mapheader(connection); @@ -796,7 +795,7 @@ bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection) return FALSE; } -bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset) +static bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset) { s32 offset2 = max(offset, 0); @@ -809,7 +808,7 @@ bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset) return FALSE; } -bool32 sub_80596E8(s32 x, s32 width) +static bool32 sub_80596E8(s32 x, s32 width) { if (x >= 0 && x < width) return TRUE; @@ -817,7 +816,7 @@ bool32 sub_80596E8(s32 x, s32 width) return FALSE; } -s32 sub_80596FC(struct MapConnection *connection, s32 x, s32 y) +static s32 sub_80596FC(struct MapConnection *connection, s32 x, s32 y) { struct MapHeader const *mapHeader; mapHeader = mapconnection_get_mapheader(connection); @@ -879,7 +878,7 @@ void GetCameraFocusCoords(u16 *x, u16 *y) *y = gSaveBlock1Ptr->pos.y + 7; } -void SetCameraCoords(u16 x, u16 y) +static void SetCameraCoords(u16 x, u16 y) { gSaveBlock1Ptr->pos.x = x; gSaveBlock1Ptr->pos.y = y; @@ -890,7 +889,7 @@ void GetCameraCoords(u16 *x, u16 *y) *x = gSaveBlock1Ptr->pos.x; *y = gSaveBlock1Ptr->pos.y; } -void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles, u16 offset) +static void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles, u16 offset) { if (tileset) { @@ -901,7 +900,7 @@ void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles, } } -void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, u16 offset) +static void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, u16 offset) { if (tileset) { @@ -912,7 +911,7 @@ void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, } } -void sub_80598CC(u16 a0, u16 a1) +static void sub_80598CC(u16 a0, u16 a1) { switch (gUnknown_2036E28) { @@ -956,7 +955,7 @@ void sub_8059948(u8 a0, u8 a1) CpuFastCopy(gPlttBufferUnfaded + a0 * 16, gPlttBufferFaded + a0 * 16, a1 * 16 * sizeof(u16)); } -void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u16 size) +static void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u16 size) { u16 black = RGB_BLACK; diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c new file mode 100644 index 000000000..8617a1aaa --- /dev/null +++ b/src/fldeff_cut.c @@ -0,0 +1,299 @@ +#include "global.h" +#include "gflib.h" +#include "event_object_lock.h" +#include "event_object_movement.h" +#include "event_scripts.h" +#include "fieldmap.h" +#include "field_camera.h" +#include "field_specials.h" +#include "fldeff.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "party_menu.h" +#include "script.h" +#include "trig.h" +#include "constants/event_objects.h" +#include "constants/songs.h" +#include "constants/metatile_labels.h" + +#define CUT_GRASS_SPRITE_COUNT 8 + +static EWRAM_DATA u8 *sCutGrassSpriteArrayPtr = NULL; +static EWRAM_DATA bool8 sScheduleOpenDottedHole = FALSE; + +static void FieldCallback_CutGrass(void); +static void FieldCallback_CutTree(void); +static void FieldMoveCallback_CutGrass(void); +static void SetCutGrassMetatileAt(s16 x, s16 y); +static void SpriteCallback_CutGrass_Init(struct Sprite * sprite); +static void SpriteCallback_CutGrass_Run(struct Sprite * sprite); +static void SpriteCallback_CutGrass_Cleanup(struct Sprite * sprite); +static void FieldMoveCallback_CutTree(void); + +static const u16 sCutGrassMetatileMapping[][2] = { + { + METATILE_ID(General, Plain_Grass), + METATILE_ID(General, Plain_Mowed) + }, { + METATILE_ID(General, ThinTreeTop_Grass), + METATILE_ID(General, ThinTreeTop_Mowed) + }, { + METATILE_ID(General, WideTreeTopLeft_Grass), + METATILE_ID(General, WideTreeTopLeft_Mowed) + }, { + METATILE_ID(General, WideTreeTopRight_Grass), + METATILE_ID(General, WideTreeTopRight_Mowed) + }, { + METATILE_ID(CeladonCity, CyclingRoad_Grass), + METATILE_ID(CeladonCity, CyclingRoad_Mowed) + }, { + METATILE_ID(FuchsiaCity, SafariZoneTreeTopLeft_Grass), + METATILE_ID(FuchsiaCity, SafariZoneTreeTopLeft_Mowed) + }, { + METATILE_ID(FuchsiaCity, SafariZoneTreeTopMiddle_Grass), + METATILE_ID(FuchsiaCity, SafariZoneTreeTopMiddle_Mowed) + }, { + METATILE_ID(FuchsiaCity, SafariZoneTreeTopRight_Grass), + METATILE_ID(FuchsiaCity, SafariZoneTreeTopRight_Mowed) + }, { + METATILE_ID(ViridianForest, HugeTreeTopMiddle_Grass), + METATILE_ID(ViridianForest, HugeTreeTopMiddle_Mowed) + }, { + 0xffff, + 0xffff + } +}; + +static const struct OamData sOamData_FldEff_CutGrass = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0x001, + .priority = 1, + .paletteNum = 0x1, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_Fldeff_CutGrass_0[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_FldEff_CutGrass[] = { + sSpriteAnim_Fldeff_CutGrass_0 +}; + +static const struct SpriteFrameImage sSpriteFrameImages_FldEff_CutGrass[] = { + {gUnknown_8398648, 0x20} +}; + +const struct SpritePalette gFldEffPalette_CutGrass[] = { + gUnknown_8398688, 4096 +}; + +static const struct SpriteTemplate sSpriteTemplate_FldEff_CutGrass = { + .tileTag = 0xFFFF, + .paletteTag = 4096, + .oam = &sOamData_FldEff_CutGrass, + .anims = sSpriteAnimTable_FldEff_CutGrass, + .images = sSpriteFrameImages_FldEff_CutGrass, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallback_CutGrass_Init +}; + +static u8 MetatileAtCoordsIsGrassTile(s16 x, s16 y) +{ + return TestMetatileAttributeBit(MapGridGetMetatileAttributeAt(x, y, 1), 1); +} + +bool8 SetUpFieldMove_Cut(void) +{ + s16 x, y; + u8 i, j; + sScheduleOpenDottedHole = FALSE; + if (CutMoveRuinValleyCheck() == TRUE) + { + sScheduleOpenDottedHole = TRUE; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutGrass; + return TRUE; + } + + if (CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_CUT_TREE) == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutTree; + return TRUE; + } + else + { + // FIXME: this fakematch + register s32 neg1 asm("r8"); + struct MapPosition *pos; + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + + for (i = 0, pos = &gPlayerFacingPosition, neg1 = 0xFFFF; i < 3; i++) + { + + y = i + neg1 + pos->y; + for (j = 0; j < 3; j++) + { + x = j + neg1 + pos->x; + if (MapGridGetZCoordAt(x, y) == pos->height) + { + if (MetatileAtCoordsIsGrassTile(x, y) == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutGrass; + return TRUE; + } + } + } + } + return FALSE; + } +} + +static void FieldCallback_CutGrass(void) +{ + FieldEffectStart(FLDEFF_USE_CUT_ON_GRASS); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); +} + +bool8 FldEff_UseCutOnGrass(void) +{ + u8 taskId = CreateFieldEffectShowMon(); + FLDEFF_SET_FUNC_TO_DATA(FieldMoveCallback_CutGrass); + IncrementGameStat(GAME_STAT_USED_CUT); + return FALSE; +} + +static void FieldCallback_CutTree(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + ScriptContext1_SetupScript(EventScript_FldEffCut); +} + +bool8 FldEff_UseCutOnTree(void) +{ + u8 taskId = CreateFieldEffectShowMon(); + FLDEFF_SET_FUNC_TO_DATA(FieldMoveCallback_CutTree); + IncrementGameStat(GAME_STAT_USED_CUT); + return FALSE; +} + +static void FieldMoveCallback_CutGrass(void) +{ + FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_GRASS); + if (sScheduleOpenDottedHole == TRUE) + CutMoveOpenDottedHoleDoor(); + else + FieldEffectStart(FLDEFF_CUT_GRASS); +} + +bool8 FldEff_CutGrass(void) +{ + u8 i, j; + s16 x, y; + // FIXME: this fakematch + register s32 neg1 asm("r9"); + struct MapPosition *pos; + + i = 0; + PlaySE(SE_W015); + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + + for (i = 0, pos = &gPlayerFacingPosition, neg1 = 0xFFFF; i < 3; i++) + { + + y = i + neg1 + pos->y; + for (j = 0; j < 3; j++) + { + x = j + neg1 + pos->x; + if (MapGridGetZCoordAt(x, y) == pos->height) + { + if (MetatileAtCoordsIsGrassTile(x, y) == TRUE) + { + SetCutGrassMetatileAt(x, y); + sub_805F378(x, y); + } + } + } + } + DrawWholeMapView(); + sCutGrassSpriteArrayPtr = Alloc(CUT_GRASS_SPRITE_COUNT); + for (i = 0; i < 8; i++) + { + sCutGrassSpriteArrayPtr[i] = CreateSprite(&sSpriteTemplate_FldEff_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); + gSprites[sCutGrassSpriteArrayPtr[i]].data[2] = i * (0x100 / CUT_GRASS_SPRITE_COUNT); + } + return FALSE; +} + +static void SetCutGrassMetatileAt(s16 x, s16 y) +{ + u16 i = 0; + u16 metatileId = MapGridGetMetatileIdAt(x, y); + while (1) + { + if (sCutGrassMetatileMapping[i][0] == 0xFFFF) + return; + if (sCutGrassMetatileMapping[i][0] == metatileId) + { + MapGridSetMetatileIdAt(x, y, sCutGrassMetatileMapping[i][1]); + break; + } + i++; + } +} + +static void SpriteCallback_CutGrass_Init(struct Sprite * sprite) +{ + sprite->data[0] = 8; + sprite->data[1] = 0; + sprite->data[3] = 0; + sprite->callback = SpriteCallback_CutGrass_Run; +} + +static void SpriteCallback_CutGrass_Run(struct Sprite * sprite) +{ + sprite->pos2.x = Sin(sprite->data[2], sprite->data[0]); + sprite->pos2.y = Cos(sprite->data[2], sprite->data[0]); + sprite->data[2] += 8; + sprite->data[2] &= 0xFF; + sprite->data[0]++; + sprite->data[0] += sprite->data[3] >> 2; + sprite->data[3]++; + if (sprite->data[1] != 28) + sprite->data[1]++; + else + sprite->callback = SpriteCallback_CutGrass_Cleanup; +} + +static void SpriteCallback_CutGrass_Cleanup(struct Sprite * sprite) +{ + u8 i; + for (i = 1; i < CUT_GRASS_SPRITE_COUNT; i++) + { + DestroySprite(&gSprites[sCutGrassSpriteArrayPtr[i]]); + } + FieldEffectStop(&gSprites[sCutGrassSpriteArrayPtr[0]], FLDEFF_CUT_GRASS); + Free(sCutGrassSpriteArrayPtr); + sub_80696C0(); + ScriptContext2_Disable(); +} + +static void FieldMoveCallback_CutTree(void) +{ + PlaySE(SE_W015); + FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_TREE); + EnableBothScriptContexts(); +} diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c index 7d229ce3f..0eb0d3c1e 100644 --- a/src/fldeff_dig.c +++ b/src/fldeff_dig.c @@ -5,8 +5,6 @@ #include "item_use.h" #include "overworld.h" #include "party_menu.h" -#include "sprite.h" -#include "constants/object_events.h" static void FieldCallback_Dig(void); static void sub_80C9AFC(void); @@ -31,7 +29,7 @@ static void FieldCallback_Dig(void) bool8 FldEff_UseDig(void) { - u8 taskId = oei_task_add(); + u8 taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(sub_80C9AFC); SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 00f17a16d..397741806 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -3,25 +3,22 @@ #include "field_player_avatar.h" #include "field_effect.h" #include "party_menu.h" -#include "malloc.h" #include "event_data.h" #include "script.h" #include "fldeff.h" #include "event_scripts.h" -#include "field_weather.h" #include "sound.h" -#include "palette.h" #include "overworld.h" -#include "wild_encounter.h" #include "event_object_movement.h" #include "constants/songs.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" +#include "constants/event_object_movement.h" #include "constants/maps.h" -static void task08_080C9820(u8 taskId); -static void sub_80C98FC(u8 taskId); -static void sub_80C98B0(u8 taskId); -static void sub_80C99A0(u8 taskId); +static void Task_FieldEffectShowMon_Init(u8 taskId); +static void Task_FieldEffectShowMon_WaitFldeff(u8 taskId); +static void Task_FieldEffectShowMon_WaitPlayerAnim(u8 taskId); +static void Task_FieldEffectShowMon_Cleanup(u8 taskId); static void sub_80C9A10(void); static void sub_80C9A60(void); @@ -40,13 +37,13 @@ bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId) return TRUE; } -u8 oei_task_add(void) +u8 CreateFieldEffectShowMon(void) { GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); - return CreateTask(task08_080C9820, 8); + return CreateTask(Task_FieldEffectShowMon_Init, 8); } -static void task08_080C9820(u8 taskId) +static void Task_FieldEffectShowMon_Init(u8 taskId) { u8 mapObjId; @@ -58,48 +55,49 @@ static void task08_080C9820(u8 taskId) { if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) { + // Leftover from RS, inhibits the player anim while underwater. FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); - gTasks[taskId].func = sub_80C98FC; + gTasks[taskId].func = Task_FieldEffectShowMon_WaitFldeff; } else { sub_805CB70(); - ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], 0x45); - gTasks[taskId].func = sub_80C98B0; + ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], MOVEMENT_ACTION_UNKNOWN_STEP_45); + gTasks[taskId].func = Task_FieldEffectShowMon_WaitPlayerAnim; } } } -static void sub_80C98B0(u8 taskId) +static void Task_FieldEffectShowMon_WaitPlayerAnim(u8 taskId) { if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.objectEventId]) == TRUE) { FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); - gTasks[taskId].func = sub_80C98FC; + gTasks[taskId].func = Task_FieldEffectShowMon_WaitFldeff; } } -static void sub_80C98FC(u8 taskId) +static void Task_FieldEffectShowMon_WaitFldeff(u8 taskId) { if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { gFieldEffectArguments[1] = GetPlayerFacingDirection(); - if (gFieldEffectArguments[1] == 1) + if (gFieldEffectArguments[1] == DIR_SOUTH) gFieldEffectArguments[2] = 0; - if (gFieldEffectArguments[1] == 2) + if (gFieldEffectArguments[1] == DIR_NORTH) gFieldEffectArguments[2] = 1; - if (gFieldEffectArguments[1] == 3) + if (gFieldEffectArguments[1] == DIR_WEST) gFieldEffectArguments[2] = 2; - if (gFieldEffectArguments[1] == 4) + if (gFieldEffectArguments[1] == DIR_EAST) gFieldEffectArguments[2] = 3; ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByCurrentState()); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]); - FieldEffectActiveListRemove(6); - gTasks[taskId].func = sub_80C99A0; + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); + gTasks[taskId].func = Task_FieldEffectShowMon_Cleanup; } } -static void sub_80C99A0(u8 taskId) +static void Task_FieldEffectShowMon_Cleanup(u8 taskId) { FLDEFF_CALL_FUNC_IN_DATA(); gPlayerAvatar.unk6 = FALSE; @@ -108,7 +106,7 @@ static void sub_80C99A0(u8 taskId) bool8 SetUpFieldMove_RockSmash(void) { - if (CheckObjectGraphicsInFrontOfPlayer(OBJECT_EVENT_GFX_ROCK_SMASH_ROCK) == TRUE) + if (CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_ROCK_SMASH_ROCK) == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_80C9A10; @@ -125,7 +123,7 @@ static void sub_80C9A10(void) bool8 FldEff_UseRockSmash(void) { - u8 taskId = oei_task_add(); + u8 taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(sub_80C9A60); IncrementGameStat(GAME_STAT_USED_ROCK_SMASH); diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index 60437c125..966a7934c 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -5,7 +5,6 @@ #include "menu.h" #include "new_menu_helpers.h" #include "constants/songs.h" -#include "fldeff.h" static void sub_80E57E8(u8 taskId); static void sub_80E583C(u8 taskId); diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index b8d5af31d..712d9f1c6 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -6,15 +6,14 @@ #include "script.h" #include "fldeff.h" #include "event_scripts.h" -#include "constants/songs.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" static void FldEff_UseStrength(void); static void sub_80D08A8(void); bool8 SetUpFieldMove_Strength(void) { - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || CheckObjectGraphicsInFrontOfPlayer(OBJECT_EVENT_GFX_STRENGTH_BOULDER) != TRUE) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_STRENGTH_BOULDER) != TRUE) { return FALSE; } @@ -34,7 +33,7 @@ static void FldEff_UseStrength(void) bool8 sub_80D0860(void) { - u8 taskId = oei_task_add(); + u8 taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(sub_80D08A8); GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1); return FALSE; diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index 943d8504c..d827aff4d 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -3,7 +3,6 @@ #include "field_effect.h" #include "party_menu.h" #include "malloc.h" -#include "event_data.h" #include "script.h" #include "fldeff.h" #include "event_scripts.h" @@ -44,7 +43,7 @@ bool8 FldEff_SweetScent(void) u8 taskId; SetWeatherScreenFadeOut(); - taskId = oei_task_add(); + taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(StartSweetScentFieldEffect); return FALSE; } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index a66a332bf..44a7af732 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -28,7 +28,7 @@ static void FieldCallback_Teleport(void) bool8 FldEff_UseTeleport(void) { - u8 taskId = oei_task_add(); + u8 taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(StartTeleportFieldEffect); SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); return FALSE; diff --git a/src/flying.c b/src/flying.c index 6d4a1eb56..4ecfa2899 100644 --- a/src/flying.c +++ b/src/flying.c @@ -178,7 +178,7 @@ const struct SpriteTemplate gUnknown_83E6C00 = }; // not used -static const u16 gUnknown_83E6C18[] = INCBIN_U16("graphics/battle_anims/sprites/unk_83E6C18.gbapal"); +static const u16 gUnknown_83E6C18[] = INCBIN_U16("graphics/battle_anims/unk_83E6C18.gbapal"); const struct SpriteTemplate gUnknown_83E6C38 = { diff --git a/src/graphics.c b/src/graphics.c new file mode 100644 index 000000000..47d699fdd --- /dev/null +++ b/src/graphics.c @@ -0,0 +1,1419 @@ +#include "global.h" + +const u32 gBattleTextboxTiles[] = INCBIN_U32("graphics/battle_interface/window.4bpp.lz"); +const u32 gBattleTextboxPalette[] = INCBIN_U32("graphics/battle_interface/window.gbapal.lz"); +const u32 gBattleTextboxTilemap[] = INCBIN_U32("graphics/interface/menu_map.bin.lz"); + +const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/front.4bpp.lz"); +const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/back.4bpp.lz"); +const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/normal.gbapal.lz"); +const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/shiny.gbapal.lz"); + +// From Ruby. +const u32 gUnusedGfx_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.4bpp.lz"); +const u32 gUnusedTimemap_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.bin.lz"); +const u32 gUnusedPal_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.gbapal.lz"); + +const u32 gSmokescreenImpactTiles[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz"); +const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz"); + +#include "data/graphics/interface_pokeballs.h" + +const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz"); + +const u32 gBattleAnimSpritePal_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz"); +const u32 gBattleAnimSpritePal_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz"); +const u32 gBattleAnimSpritePal_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz"); +const u32 gBattleAnimSpritePal_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz"); +const u32 gBattleAnimSpritePal_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz"); + +const u32 gBattleAnimSpritePal_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz"); +const u32 gBattleAnimSpritePal_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz"); + +const u32 gUnknownGfx_8D035A0[] = INCBIN_U32("graphics/unknown/unknown_D035A0.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz"); + +const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz"); + +const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz"); + +const u32 gBattleAnimSpritePal_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz"); +const u32 gBattleAnimSpritePal_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz"); + +const u32 gBattleAnimSpritePal_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz"); + +const u32 gUnknownGfx_D06D80[] = INCBIN_U32("graphics/unknown/unknown_D06D80.4bpp.lz"); +const u32 gUnknownPal_D06DC4[] = INCBIN_U32("graphics/unknown/unknown_D06D80.gbapal.lz"); +const u32 gUnknownPal_D06DD8[] = INCBIN_U32("graphics/unknown/unknown_D06D80_2.gbapal.lz"); + +// old battle interface data, unused +const u32 gOldBattleInterfaceGfx[] = INCBIN_U32("graphics/unused/obi1.4bpp.lz"); +const u32 gOldBattleInterfacePal_1_2_3[] = INCBIN_U32("graphics/unused/obi_palpak1.gbapal.lz"); // palettes 1-3 +const u32 gOldBattleInterfacePal4[] = INCBIN_U32("graphics/unused/old_pal4.gbapal.lz"); // 4 is by itself +const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpak3.gbapal.lz"); // palettes 5-7 +const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz"); +const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz"); + +const u32 gBattleAnimSpritePal_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz"); + +const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz"); + +const u32 gBattleAnimSpritePal_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz"); + +const u32 gBattleAnimSpritePal_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz"); + +const u32 gInterfaceGfx_UnusedWindow[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz"); +const u32 gInterfacePal_UnusedWindow[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz"); + +const u32 gInterfaceGfx_HPNumbers[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz"); +const u32 gBattleAnimSpritePal_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz"); + +const u32 gBattleAnimSpritePal_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz"); + +const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz"); +const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz"); + +const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz"); +const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz"); +const u32 gBattleAnimSpritePal_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz"); +const u32 gBattleAnimSpritePal_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz"); + +const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point + +const u32 gBattleAnimSpritePal_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePal_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz"); +const u32 gBattleAnimSpritePal_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz"); + +const u16 gUnknown_D0CA04[] = INCBIN_U16("graphics/unknown/unknown_D0CA04.bin"); +const u16 gUnknown_D0CA28[] = INCBIN_U16("graphics/unknown/unknown_D0CA28.bin"); +const u16 gUnknown_D0CA4C[] = INCBIN_U16("graphics/unknown/unknown_D0CA4C.bin"); +const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.8bpp.lz"); +const u16 gUnknown_D0CAC8[] = INCBIN_U16("graphics/unknown/unknown_D0CAC8.bin"); +const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz"); + +const u32 gBattleAnimSpriteGfx_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz"); +const u32 gBattleAnimSpritePal_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz"); +const u32 gBattleAnimSpritePal_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz"); +const u32 gBattleAnimSpritePal_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz"); +const u32 gBattleAnimSpritePal_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz"); +const u32 gBattleAnimSpritePal_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz"); + +const u32 gFile_graphics_unknown_unknown_D0CD0C[] = INCBIN_U32("graphics/unknown/unknown_D0CD0C.bin.lz"); + +const u32 gBattleAnimSpritePal_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz"); +const u32 gBattleAnimSpritePal_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz"); +const u32 gBattleAnimSpritePal_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz"); +const u32 gBattleAnimSpritePal_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz"); +const u32 gBattleAnimSpritePal_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz"); + +const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps? +const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz"); +const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz"); +const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz"); + +const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz"); +const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz"); +const u32 gUnusedPalette_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.gbapal.lz"); + +const u32 gUnusedGfx_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.4bpp.lz"); +const u32 gUnusedPal_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.gbapal.lz"); +const u32 gUnusedTilemap_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.bin.lz"); + +// Battle Interface + +const u16 gBattleInterface_BallStatusBarPal[] = INCBIN_U16("graphics/battle_interface/ball_status_bar.gbapal"); + +const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interface/ball_display.gbapal"); + +//Originally an array? +const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hp_bar.4bpp"); +const u8 gHealthboxElementsGfxTable_ExpBar[] = INCBIN_U8("graphics/battle_interface/exp_bar.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusPsn[] = INCBIN_U8("graphics/battle_interface/status_psn.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusPar[] = INCBIN_U8("graphics/battle_interface/status_par.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusSlp[] = INCBIN_U8("graphics/battle_interface/status_slp.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusFrz[] = INCBIN_U8("graphics/battle_interface/status_frz.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusBrn[] = INCBIN_U8("graphics/battle_interface/status_brn.4bpp"); +const u8 gHealthboxElementsGfxTable_Misc[] = INCBIN_U8("graphics/battle_interface/misc.4bpp"); +const u8 gHealthboxElementsGfxTable_HpBarAnim[] = INCBIN_U8("graphics/battle_interface/hp_bar_anim.4bpp"); +const u8 gHealthboxElementsGfxTable_MiscFrameEnd[] = INCBIN_U8("graphics/battle_interface/misc_frame_end.4bpp"); + +const u8 gUnknown_8D12404[] = INCBIN_U8("graphics/battle_interface/ball_display.4bpp"); + +//Originally an array? +const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display_unused_extra.4bpp"); +const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon +const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so +const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now +const u8 gUnknown_8D12A44[] = INCBIN_U8("graphics/unknown/unknown_D12A44.4bpp"); +const u8 gUnknown_8D12A64[] = INCBIN_U8("graphics/unknown/unknown_D12A64.4bpp"); +const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); +const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz"); +const u32 gBattleAnimSpritePal_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz"); +const u32 gBattleAnimSpritePal_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz"); +const u32 gBattleAnimSpritePal_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz"); +const u32 gBattleAnimSpritePal_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz"); + +// Contest + +const u32 gUnusedGfx_OldContest[] = INCBIN_U32("graphics/unused/old_contest.4bpp.lz"); +const u32 gUnusedPal_OldContest[] = INCBIN_U32("graphics/unused/old_contest.gbapal.lz"); +const u32 gUnusedTilemap_OldContest[] = INCBIN_U32("graphics/unused/old_contest.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D15BE8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D15BE8.bin.lz"); + +const u32 gFile_graphics_unused_numbers_sheet[] = INCBIN_U32("graphics/unused/numbers.4bpp.lz"); // From ruby +const u32 gFile_graphics_unused_numbers_palette[] = INCBIN_U32("graphics/unused/numbers.gbapal.lz"); // From ruby + +const u32 gUnusedGfx_OldContest2[] = INCBIN_U32("graphics/unused/old_contest_2.4bpp.lz"); +const u32 gOldContestPalette[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz"); +const u32 gOldContestGfx[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D172A8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D172A8.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D17548_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D17548.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D17654_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D17654.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D17AB8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D17AB8.bin.lz"); + +const u32 gContestMiscGfx[] = INCBIN_U32("graphics/contest/misc.4bpp.lz"); + +const u32 gFile_graphics_contest_audience_sheet[] = INCBIN_U32("graphics/contest/audience.4bpp.lz"); + +const u32 gFile_graphics_contest_faces_sheet[] = INCBIN_U32("graphics/contest/faces.4bpp.lz"); + +const u32 gFile_graphics_contest_judge_symbols_sheet[] = INCBIN_U32("graphics/contest/judge_symbols.4bpp.lz"); +const u32 gFile_graphics_contest_judge_symbols_palette[] = INCBIN_U32("graphics/contest/judge_symbols.gbapal.lz"); + +const u8 gFile_graphics_contest_heart[] = INCBIN_U8("graphics/contest/heart.4bpp"); + +const u32 gFile_graphics_unknown_unknown_D196E4_sheet[] = INCBIN_U32("graphics/unknown/unknown_D196E4.4bpp.lz"); +const u32 gFile_graphics_unknown_unknown_D196E4_palette[] = INCBIN_U32("graphics/unknown/unknown_D196E4.gbapal.lz"); + +const u32 gUnknown_8D197FC[] = INCBIN_U32("graphics/contest/misc_2.4bpp.lz"); + +const u32 gFile_graphics_contest_misc_2_tilemap_1_tilemap[] = INCBIN_U32("graphics/contest/misc_2_tilemap_1.bin.lz"); +const u32 gFile_graphics_contest_misc_2_tilemap_2_tilemap[] = INCBIN_U32("graphics/contest/misc_2_tilemap_2.bin.lz"); +const u32 gFile_graphics_contest_misc_2_tilemap_3_tilemap[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bin.lz"); + +const u32 gFile_graphics_contest_misc_2_palette[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz"); +const u32 gBattleAnimSpritePal_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz"); + +const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz"); +const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz"); +const u32 gBattleAnimSpritePal_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz"); + +const u32 gFile_graphics_unknown_unknown_D1BE74_sheet[] = INCBIN_U32("graphics/unknown/unknown_D1BE74.4bpp.lz"); +const u32 gFile_graphics_unknown_unknown_D1BE74_palette[] = INCBIN_U32("graphics/unknown/unknown_D1BE74.gbapal.lz"); +const u32 gFile_graphics_unknown_unknown_D1BE74_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D1BE74.bin.lz"); + +const u32 gBattleAnimSpriteGfx_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz"); + +const u32 gBattleAnimSpritePal_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz"); + +const u32 gFile_graphics_contest_judge_sheet[] = INCBIN_U32("graphics/contest/judge.4bpp.lz"); +const u32 gFile_graphics_contest_judge_palette[] = INCBIN_U32("graphics/contest/judge.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); + +const u32 gBattleAnimBgImage_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.4bpp.lz"); +const u32 gBattleAnimBgPalette_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.bin.lz"); + +const u32 gMetalShineGfx[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz"); +const u32 gMetalShinePalette[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz"); +const u32 gMetalShineTilemap[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.bin.lz"); + +const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); // ghost +const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz"); +const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz"); + +const u32 gBattleAnimSpriteGfx_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz"); + +const u32 gBattleAnimSpritePal_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz"); +const u32 gBattleAnimSpritePal_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); +const u32 gBattleAnimSpritePal_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); + +const u32 gBattleAnimBgImage_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.4bpp.lz"); +const u32 gBattleAnimBgPalette_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz"); + +const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz"); +const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz"); +const u32 gHealthboxDoublesPlayerGfx[] = INCBIN_U32( "graphics/battle_interface/healthbox_doubles_player.4bpp.lz"); +const u32 gHealthboxDoublesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_doubles_opponent.4bpp.lz"); +const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_safari.4bpp.lz"); + +const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz"); +const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz"); +const u32 gBattleAnimSpritePal_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz"); +const u32 gBattleAnimSpritePal_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz"); + +const u32 gFile_graphics_battle_anims_masks_curse_sheet[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz"); +const u32 gFile_graphics_battle_anims_masks_curse_tilemap[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz"); +const u32 gBattleAnimSpritePal_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz"); +const u32 gBattleAnimSpritePal_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz"); +const u32 gBattleAnimSpritePal_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz"); + +const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); + +const u32 gBattleAnimBg_AttractGfx[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); +const u32 gBattleAnimBg_AttractPal[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); +const u32 gBattleAnimBg_AttractTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); + +const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz"); + +const u32 gBattleAnimSpritePal_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); + +const u32 gBattleAnim_ScaryFacePal[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); +const u32 gBattleAnim_ScaryFaceGfx[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); + +const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz"); +const u32 gBattleAnimSpritePal_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz"); + +const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); + +const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.4bpp.lz"); + +const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); + +const u32 gBattleAnimBgPalette_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.gbapal.lz"); +const u32 gBattleAnimBgImage_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.4bpp.lz"); +const u32 gBattleAnimBgTilemap_ImpactOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_opponent.bin.lz"); + +const u32 gBattleAnimBgTilemap_ImpactPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_contests.bin.lz"); + +const u32 gBattleAnimSpriteGfx_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); +const u32 gBattleAnimSpritePal_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz"); +const u32 gBattleAnimSpritePal_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz"); +const u32 gBattleAnimSpritePal_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz"); + +const u32 gBattleAnimSpritePal_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); + +const u32 gBattleAnimBgImage_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.4bpp.lz"); +const u32 gBattleAnimBgPalette_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.gbapal.lz"); + +const u32 gBattleAnimBgPalette_Sky[] = INCBIN_U32("graphics/battle_anims/backgrounds/sky.gbapal.lz"); + +const u32 gBattleAnimBgTilemap_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.bin.lz"); +const u32 gBattleAnimBgTilemap_DrillContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill_contests.bin.lz"); + +const u32 gBattleAnimBgImage_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.4bpp.lz"); +const u32 gBattleAnimBgPalette_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.bin.lz"); + +const u32 gBattleAnimBgTilemap_HighspeedOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_opponent.bin.lz"); +const u32 gBattleAnimBgPalette_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.gbapal.lz"); + +const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgrounds/bug.gbapal.lz"); + +const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz"); +const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz"); + +const u32 gBattleAnim_MorningSunGfx[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.4bpp.lz"); +const u32 gBattleAnim_MorningSunPal[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.gbapal.lz"); +const u32 gBattleAnim_MorningSunTilemap[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.bin.lz"); + +const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_contests.bin.lz"); + +const u32 gBattleAnimBgImage_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.4bpp.lz"); +const u32 gBattleAnimBgPalette_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.gbapal.lz"); + +const u32 gBattleAnimBgImage_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.4bpp.lz"); +const u32 gBattleAnimBgPalette_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.bin.lz"); + +const u32 gBattleAnimSpriteGfx_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); +const u32 gBattleAnimSpritePal_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz"); +const u32 gBattleAnimSpritePal_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz"); +const u32 gBattleAnimSpritePal_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz"); + +const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz"); +const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); +const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz"); + +const u32 gBattleAnimSpriteGfx_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz"); + +const u32 gFile_graphics_misc_confetti_sheet[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz"); +const u32 gFile_graphics_misc_confetti_palette[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz"); +const u32 gBattleAnimSpritePal_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz"); + +const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz"); +const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz"); +const u32 gBattleStatMask2_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_2.bin.lz"); + +const u32 gBattleStatMask1_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat1.gbapal.lz"); +const u32 gBattleStatMask2_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat2.gbapal.lz"); +const u32 gBattleStatMask3_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat3.gbapal.lz"); +const u32 gBattleStatMask4_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat4.gbapal.lz"); +const u32 gBattleStatMask5_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat5.gbapal.lz"); +const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6.gbapal.lz"); +const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz"); +const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz"); + +const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); +const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); +const u32 gCureBubblesTilemap[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); + +const u32 gBattleAnimSpritePal_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz"); + +const u32 gUnknown_D2EC24_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/unknown_D2EC24.4bpp.lz"); +const u32 gUnknown_D2EC24_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/unknown_D2EC24.bin.lz"); + +const u32 gBattleAnimSpriteGfx_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); +const u32 gBattleAnimSpritePal_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz"); +const u32 gBattleAnimSpritePal_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz"); +const u32 gBattleAnimSpritePal_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz"); + +const u16 gUnknown_8D2FBB4[] = INCBIN_U16("graphics/interface/unk_8D2FBB4.gbapal"); + +#include "data/graphics/pokemon.h" +#include "data/graphics/trainers.h" + +const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp"); +const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp"); + +const u32 gFile_graphics_battle_transitions_vs_frame_sheet[] = INCBIN_U32("graphics/battle_transitions/vs_frame.4bpp.lz"); +const u32 gFile_graphics_battle_transitions_vs_frame_tilemap[] = INCBIN_U32("graphics/battle_transitions/vs_frame.bin.lz"); +const u32 gFile_graphics_battle_transitions_vs_frame_palette[] = INCBIN_U32("graphics/battle_transitions/vs_frame.gbapal.lz"); + +const u32 gVsLettersGfx[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz"); + +#include "data/graphics/battle_terrain.h" + +const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); + +const u32 gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); +const u32 gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); + +const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); + +const u32 gBattleAnimBgImage_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.bin.lz"); + +const u32 gBattleAnimSpriteGfx_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); +const u32 gBattleAnimSpritePal_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); + +const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/next_turn.4bpp.lz"); +const u8 gFile_graphics_contest_nextturn_numbers[] = INCBIN_U8("graphics/contest/next_turn_numbers.4bpp"); +const u8 gFile_graphics_contest_nextturn_random[] = INCBIN_U8("graphics/contest/next_turn_random.4bpp"); + +const u32 gBattleAnimSpriteGfx_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz"); +const u32 gBattleAnimSpritePal_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz"); + +const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz"); +const u8 gFile_graphics_contest_applause_meter[] = INCBIN_U8("graphics/contest/applause_meter.4bpp"); + +const u16 gFile_graphics_contest_nextturn[] = INCBIN_U16("graphics/contest/next_turn.gbapal"); + +const u32 gBattleAnimSpriteGfx_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); + +const u32 gBattleAnimBgImage_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.4bpp.lz"); +const u32 gBattleAnimBgPalette_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.gbapal.lz"); +const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); +const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); + +const u32 gFile_graphics_battle_anims_backgrounds_water_muddy_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); + +const u32 gFile_graphics_battle_interface_enemy_mon_shadow_sheet[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadow.4bpp.lz"); + +const u32 gFile_graphics_battle_interface_ball_status_bar_sheet[] = INCBIN_U32("graphics/battle_interface/ball_status_bar.4bpp.lz"); + +const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); + +const u32 gBattleAnimBgImage_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.bin.lz"); + +const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); + +const u32 gBattleAnimBgPalette_Solarbeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz"); + +const u32 gFile_graphics_unknown_unknown_E7CFB0_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E7CFB0.bin.lz"); + +const u32 gFile_graphics_berry_blender_center_sheet[] = INCBIN_U32("graphics/berry_blender/center.8bpp.lz"); + +const u32 gFile_graphics_berry_blender_outer_sheet[] = INCBIN_U32("graphics/berry_blender/outer.4bpp.lz"); +const u32 gFile_graphics_berry_blender_outer_map_tilemap[] = INCBIN_U32("graphics/berry_blender/outer_map.bin.lz"); + +const u32 gBattleAnimBgPalette_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.gbapal.lz"); +const u32 gBattleAnimBgImage_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.4bpp.lz"); +const u32 gBattleAnimBgTilemap_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.bin.lz"); + +const u32 gBattleAnimSpritePal_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); + +const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz"); + +const u32 gBattleAnimSpritePal_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); + +const u32 gBattleAnimBgTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); +const u32 gBattleAnimSpritePal_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); + +const u32 gBattleAnimBgImage_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.4bpp.lz"); +const u32 gBattleAnimBgPalette_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); + +const u32 gFile_graphics_battle_anims_backgrounds_water_sheet[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); +const u32 gFile_graphics_battle_anims_backgrounds_water_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); +const u32 gFile_graphics_unknown_unknown_E81D14_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81D14.bin.lz"); +const u32 gFile_graphics_unknown_unknown_E81FE4_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81FE4.bin.lz"); +const u32 gFile_graphics_unknown_unknown_E822B8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E822B8.bin.lz"); + +const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); + +const u32 gPartyMenuBg_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz"); +const u32 gPartyMenuBg_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz"); +const u32 gPartyMenuBg_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_misc.bin.lz"); + +const u32 gPartyMenuPokeball_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball.4bpp.lz"); +const u32 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused +const u32 gPartyMenuPokeball_Pal[] = INCBIN_U32("graphics/interface/party_menu_pokeball.gbapal.lz"); + +const u32 gStatusGfx_Icons[] = INCBIN_U32("graphics/interface/status_icons.4bpp.lz"); +const u32 gStatusPal_Icons[] = INCBIN_U32("graphics/interface/status_icons.gbapal.lz"); + +const u32 gUnknown_8E830CC[] = INCBIN_U32("graphics/item_menu/bag_tiles.4bpp.lz"); + +const u32 gUnknown_8E832C0[] = INCBIN_U32("graphics/item_menu/bag_tilemap1.bin.lz"); // bag menu +const u32 gUnknown_8E83444[] = INCBIN_U32("graphics/item_menu/bag_tilemap2.bin.lz"); // PC deposit items + +const u32 gBagBgPalette[] = INCBIN_U32("graphics/item_menu/bag_pal1.gbapal.lz"); // palette 1 (Boy + misc Pal) +const u32 gBagBgPalette_FemaleOverride[] = INCBIN_U32("graphics/item_menu/bag_pal2.gbapal.lz"); // palette 2 (Girl) + +const u32 gUnknown_8E8362C[] = INCBIN_U32("graphics/interface/unk_8E8362C.4bpp.lz"); +const u32 gUnknown_8E83DBC[] = INCBIN_U32("graphics/interface/unk_8E83DBC.4bpp.lz"); +const u32 gUnknown_8E84560[] = INCBIN_U32("graphics/interface/unk_8E84560.gbapal.lz"); + +const u32 gFile_graphics_interface_bag_swap_sheet[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz"); +const u32 gFile_graphics_interface_bag_swap_palette[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz"); + +const u32 gUnknown_8E845D8[] = INCBIN_U32("graphics/tm_case/unk_8E845D8.4bpp.lz"); +const u32 gUnknown_8E84A24[] = INCBIN_U32("graphics/tm_case/unk_8E84A24.bin.lz"); +const u32 gUnknown_8E84B70[] = INCBIN_U32("graphics/tm_case/unk_8E84B70.bin.lz"); +const u32 gUnknown_8E84CB0[] = INCBIN_U32("graphics/tm_case/unk_8E84CB0.gbapal.lz"); +const u32 gUnknown_8E84D20[] = INCBIN_U32("graphics/tm_case/unk_8E84D20.gbapal.lz"); +const u32 gTMCase_TMSpriteGfx[] = INCBIN_U32("graphics/tm_case/unk_8E84D90.4bpp.lz"); +const u32 gUnknown_8E84F20[] = INCBIN_U32("graphics/tm_case/unk_8E84F20.gbapal.lz"); +const u32 gUnknown_8E85068[] = INCBIN_U32("graphics/tm_case/unk_8E85068.gbapal.lz"); + +const u8 gItemPcTiles[] = INCBIN_U8("graphics/item_pc/unk_8E85090.4bpp.lz"); +const u32 gItemPcBgPals[] = INCBIN_U32("graphics/item_pc/unk_8E85408.gbapal.lz"); +const u8 gItemPcTilemap[] = INCBIN_U8("graphics/item_pc/unk_8E85458.bin.lz"); + +const u32 gBerryPouchSpriteTiles[] = INCBIN_U32("graphics/berry_pouch/unk_8E8560C.4bpp.lz"); +const u8 gBerryPouchBgGfx[] = INCBIN_U8("graphics/berry_pouch/unk_8E859D0.4bpp.lz"); +const u32 gBerryPouchBgPals[] = INCBIN_U32("graphics/berry_pouch/unk_8E85BA4.gbapal.lz"); +const u32 gBerryPouchBgPal0FemaleOverride[] = INCBIN_U32("graphics/berry_pouch/unk_8E85BF4.gbapal.lz"); +const u32 gBerryPouchSpritePalette[] = INCBIN_U32("graphics/berry_pouch/unk_8E85C1C.gbapal.lz"); +const u8 gBerryPouchBg1Tilemap[] = INCBIN_U8("graphics/berry_pouch/unk_8E85C44.bin.lz"); + +const u32 gBuyMenuFrame_Gfx[] = INCBIN_U32("graphics/shop_menu/shop_menu.4bpp.lz"); +const u32 gBuyMenuFrame_Tilemap[] = INCBIN_U32("graphics/shop_menu/shop_tilemap.bin"); +const u32 gBuyMenuFrame_TmHmTilemap[] = INCBIN_U32("graphics/shop_menu/shop_tm_hm_tilemap.bin"); +const u32 gBuyMenuFrame_Pal[] = INCBIN_U32("graphics/shop_menu/shop_menu.gbapal.lz"); + +const u32 gUnknown_8E861A8[] = INCBIN_U32("graphics/unknown/unknown_E861A8.bin.lz"); + +const u8 gUnknown_8E86240[] = INCBIN_U8("graphics/teachy_tv/tiles.4bpp.lz"); +const u8 gUnknown_8E86BE8[] = INCBIN_U8("graphics/teachy_tv/bg1_tilemap.bin.lz"); +const u8 gUnknown_8E86D6C[] = INCBIN_U8("graphics/teachy_tv/bg2_tilemap.bin.lz"); +const u32 gUnknown_8E86F98[] = INCBIN_U32("graphics/teachy_tv/palettes.gbapal.lz"); + +const u32 gUnknown_8E87010[] = INCBIN_U32("graphics/unknown/unknown_E87010.gbapal.lz"); + +#include "data/graphics/items.h" + +const u32 gBattleAnimSpritePal_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz"); + +const u32 gBattleAnimSpritePal_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz"); + +const u32 gGhostPalette[] = INCBIN_U32("graphics/pokemon/ghost/front.gbapal.lz"); +const u32 gGhostFrontPic[] = INCBIN_U32("graphics/pokemon/ghost/front.4bpp.lz"); + +#include "data/graphics/mail.h" + +const u16 gFireRedMenuElements1_Pal[] = INCBIN_U16("graphics/interface/dex_caught_pokeball.gbapal"); +const u16 gFireRedMenuElements2_Pal[] = INCBIN_U16("graphics/interface/pokemon_types.gbapal"); +const u8 gFireRedMenuElements_Gfx[] = INCBIN_U8("graphics/interface/dex_caught_pokeball_and_pokemon_types.4bpp"); + +const u16 gUnknown_8E97DDC[] = INCBIN_U16("graphics/interface/learn_move.gbapal"); +const u32 gUnknown_8E97DFC[] = INCBIN_U32("graphics/interface/learn_move.4bpp.lz"); +const u32 gUnknown_8E97EC4[] = INCBIN_U32("graphics/interface/learn_move.bin.lz"); + +const u16 gUnknown_8E97FE4[] = INCBIN_U16("graphics/interface/naming_screen_8E97FE4.gbapal"); +const u16 gUnknown_8E98004[] = INCBIN_U16("graphics/interface/naming_screen_8E98004.gbapal"); +const u16 gUnknown_8E98024[] = INCBIN_U16("graphics/interface/naming_screen_8E98024.gbapal"); +const u16 gUnknown_8E98044[] = INCBIN_U16("graphics/interface/naming_screen_8E98044.gbapal"); +const u16 gUnknown_8E98064[] = INCBIN_U16("graphics/interface/naming_screen_8E98064.gbapal"); +const u16 gUnknown_8E98084[] = INCBIN_U16("graphics/interface/naming_screen_8E98084.gbapal"); +const u16 gUnknown_8E980A4[] = INCBIN_U16("graphics/interface/naming_screen_8E980A4.gbapal"); +const u16 gUnknown_8E980C4[] = INCBIN_U16("graphics/interface/naming_screen_8E980C4.gbapal"); + +const u32 gUnknown_8E980E4[] = INCBIN_U32("graphics/interface/naming_screen_menu.4bpp.lz"); +const u32 gUnknown_8E982BC[] = INCBIN_U32("graphics/interface/naming_screen_menu.bin.lz"); +const u32 gUnknown_8E98398[] = INCBIN_U32("graphics/interface/naming_screen_E98398.bin.lz"); +const u32 gUnknown_8E98458[] = INCBIN_U32("graphics/interface/naming_screen_E98458.bin.lz"); +const u32 gUnknown_8E98518[] = INCBIN_U32("graphics/interface/naming_screen_E98518.bin.lz"); + +const u32 gUnknown_8E985D8[] = INCBIN_U32("graphics/interface/naming_screen_8E985D8.4bpp"); +const u32 gUnknown_8E98858[] = INCBIN_U32("graphics/interface/naming_screen_8E98858.4bpp"); +const u32 gUnknown_8E98A38[] = INCBIN_U32("graphics/interface/naming_screen_8E98A38.4bpp"); +const u32 gUnknown_8E98C18[] = INCBIN_U32("graphics/interface/naming_screen_8E98C18.4bpp"); +const u32 gUnknown_8E98CB8[] = INCBIN_U32("graphics/interface/naming_screen_8E98CB8.4bpp"); +const u32 gUnknown_8E98D58[] = INCBIN_U32("graphics/interface/naming_screen_8E98D58.4bpp"); +const u32 gUnknown_8E98DF8[] = INCBIN_U32("graphics/interface/naming_screen_8E98DF8.4bpp"); +const u32 gUnknown_8E98E98[] = INCBIN_U32("graphics/interface/naming_screen_8E98E98.4bpp"); +const u32 gUnknown_8E98F38[] = INCBIN_U32("graphics/interface/naming_screen_8E98F38.4bpp"); +const u32 gUnknown_8E98FD8[] = INCBIN_U32("graphics/interface/naming_screen_8E98FD8.4bpp"); +const u32 gUnknown_8E990D8[] = INCBIN_U32("graphics/interface/naming_screen_8E990D8.4bpp"); +const u32 gUnknown_8E990F8[] = INCBIN_U32("graphics/interface/naming_screen_8E990F8.4bpp"); + +const u8 gUnknown_8E99118[] = INCBIN_U8("graphics/tm_case/unk_8E99118.4bpp"); + +const u16 gFireRedTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal"); +const u32 gFireRedTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz"); +const u16 gEmeraldTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star_em.gbapal"); +const u32 gEmeraldTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_em.4bpp.lz"); + +const u16 gUnknown_8E99D8C[] = INCBIN_U16("graphics/link_rfu/unk_8E99DAC.gbapal"); +const u32 gUnknown_8E99DAC[] = INCBIN_U32("graphics/link_rfu/unk_8E99DAC.4bpp.lz"); +const u32 gUnknown_8E99E74[] = INCBIN_U32("graphics/link_rfu/unk_8E99E74.bin.lz"); + +const u16 gUnknown_8E99F24[] = INCBIN_U16("graphics/link_rfu/unk_8E9A168.gbapal"); +const u32 gUnknown_8E99F44[] = INCBIN_U32("graphics/link_rfu/unk_8E99F44.4bpp.lz"); +const u32 gUnknown_8E9A168[] = INCBIN_U32("graphics/link_rfu/unk_8E9A168.4bpp.lz"); + +const u32 gUnknown_8E9A460[] = INCBIN_U32("graphics/interface/trainer_memo.4bpp.lz"); +const u32 gUnknown_8E9B310[] = INCBIN_U32("graphics/interface/trainer_memo_pal1.gbapal"); +const u32 gUnknown_8E9B3B0[] = INCBIN_U32("graphics/interface/trainer_memo_pal2.gbapal"); +const u32 gUnknown_8E9B3D0[] = INCBIN_U32("graphics/interface/trainer_memo_pal3.gbapal"); + +const u32 gUnknown_8E9B3F0[] = INCBIN_U32("graphics/interface/summary_exp_bar.4bpp.lz"); +const u32 gUnknown_8E9B4B8[] = INCBIN_U32("graphics/interface/summary_hp_bar.4bpp.lz"); +const u16 gUnknown_8E9B578[] = INCBIN_U16("graphics/interface/summary_exp_bar.gbapal"); // hp bar uses this too + +const u32 gUnknown_8E9B598[] = INCBIN_U32("graphics/interface/trainer_memo.bin.lz"); +const u32 gUnknown_8E9B750[] = INCBIN_U32("graphics/interface/trainer_memo_2.bin.lz"); +const u32 gUnknown_8E9B950[] = INCBIN_U32("graphics/interface/trainer_memo_3.bin.lz"); +const u32 gUnknown_8E9BA9C[] = INCBIN_U32("graphics/interface/trainer_memo_4.bin.lz"); +const u32 gUnknown_8E9BBCC[] = INCBIN_U32("graphics/interface/trainer_memo_5.bin.lz"); + +const u16 gUnknown_8E9BD08[] = INCBIN_U16("graphics/unknown/unknown_E9BD08.gbapal"); // might be an alternate unused palette of the link_rfu gfx below. + +const u32 gUnknown_8E9BD28[] = INCBIN_U32("graphics/interface/link_rfu_frame.4bpp.lz"); +const u16 gUnknown_8E9BF28[] = INCBIN_U16("graphics/interface/link_rfu_frame.gbapal"); +const u32 gUnknown_8E9BF48[] = INCBIN_U32("graphics/interface/link_rfu_status.4bpp.lz"); + +const u16 gUnknown_8E9C14C[] = INCBIN_U16("graphics/interface/pokedex_abc.gbapal"); +const u32 gUnknown_8E9C16C[] = INCBIN_U32("graphics/interface/pokedex_abc.4bpp.lz"); + +const u16 gUnknown_8E9C3D8[] = INCBIN_U16("graphics/interface/box_tiles_pal1.gbapal"); +const u16 gUnknown_8E9C3F8[] = INCBIN_U16("graphics/interface/box_tiles_pal2.gbapal"); +const u16 gUnknown_8E9C418[] = INCBIN_U16("graphics/interface/box_tiles_pal3.gbapal"); +const u32 gUnknown_8E9C438[] = INCBIN_U32("graphics/interface/box_tiles.4bpp.lz"); + +const u32 gUnknown_8E9CAEC[] = INCBIN_U32("graphics/unknown/unknown_E9CAEC.bin.lz"); + +const u16 gUnknown_8E9CB9C[] = INCBIN_U16("graphics/misc/markings2.gbapal"); +const u16 gUnknown_8E9CBBC[] = INCBIN_U16("graphics/misc/markings2.4bpp"); + +const u16 gTradeMenu_Pal[] = INCBIN_U16("graphics/trade/menu.gbapal"); +const u16 gTradeButtons_Pal[] = INCBIN_U16("graphics/trade/unknown_DDB444.gbapal"); +const u16 gTradeMenu_Gfx[] = INCBIN_U16("graphics/trade/menu.4bpp"); +const u16 gTradeButtons_Gfx[] = INCBIN_U16("graphics/trade/buttons.4bpp"); +const u16 gUnknown_8E9E9DC[] = INCBIN_U16("graphics/unused/unused_DDCEE4.bin"); +const u16 gUnknown_8E9E9FC[] = INCBIN_U16("graphics/trade/unknown_DDCF04.bin"); +const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.bin"); + +const u16 gFameCheckerBgPals[] = INCBIN_U16("data/graphics/fame_checker_bg.gbapal"); +const u16 gFameCheckerBgTiles[] = INCBIN_U16("data/graphics/fame_checker_bg.4bpp"); +const u16 gFameCheckerBg3Tilemap[] = INCBIN_U16("data/graphics/fame_checker_tilemap3.bin"); +const u16 gFameCheckerBg2Tilemap[] = INCBIN_U16("data/graphics/fame_checker_tilemap2.bin"); + +const u16 gLinkMiscMenu_Pal[] = INCBIN_U16("graphics/interface/union_room_chat.gbapal"); +const u32 gLinkMiscMenu_Gfx[] = INCBIN_U32("graphics/interface/union_room_chat.4bpp.lz"); +const u32 gLinkMiscMenu_Tilemap[] = INCBIN_U32("graphics/interface/union_room_chat.bin.lz"); +const u32 gUnionRoomChatIcons[] = INCBIN_U32("graphics/interface/union_room_chat_icons.4bpp.lz"); + +const u16 gTilesetPalettes_General[][16] = +{ + INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_General[] = INCBIN_U32("data/tilesets/primary/general/tiles.4bpp.lz"); + +const u8 gBerryFixGameboy_Pal[] = INCBIN_U8("graphics/berry_fix/gba_small.gbapal"); +const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz"); +const u8 gBerryFixGameboy_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_small.bin.lz"); +const u8 gBerryFixGameboyLogo_Pal[] = INCBIN_U8("graphics/berry_fix/logo.gbapal"); +const u8 gBerryFixGameboyLogo_Gfx[] = INCBIN_U8("graphics/berry_fix/logo.4bpp.lz"); +const u8 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U8("graphics/berry_fix/logo.bin.lz"); +const u8 gBerryFixGbaTransfer_Pal[] = INCBIN_U8("graphics/berry_fix/gba_transfer.gbapal"); +const u8 gBerryFixGbaTransfer_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer.4bpp.lz"); +const u8 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_transfer.bin.lz"); +const u8 gBerryFixGbaTransferHighlight_Pal[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.gbapal"); +const u8 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.4bpp.lz"); +const u8 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.bin.lz"); +const u8 gBerryFixGbaTransferError_Pal[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.gbapal"); +const u8 gBerryFixGbaTransferError_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.4bpp.lz"); +const u8 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.bin.lz"); +const u8 gBerryFixWindow_Pal[] = INCBIN_U8("graphics/berry_fix/window.gbapal"); +const u8 gBerryFixWindow_Gfx[] = INCBIN_U8("graphics/berry_fix/window.4bpp.lz"); +const u8 gBerryFixWindow_Tilemap[] = INCBIN_U8("graphics/berry_fix/window.bin.lz"); + +const u16 gTilesetPalettes_GenericBuilding1[][16] = +{ + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_GenericBuilding1[] = INCBIN_U32("data/tilesets/secondary/generic_building1/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_DepartmentStore[][16] = +{ + INCBIN_U16("data/tilesets/secondary/department_store/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_DepartmentStore[] = INCBIN_U32("data/tilesets/secondary/department_store/tiles.4bpp.lz"); + +const u16 gUnionRoomChatPanelBgPal_7[] = INCBIN_U16("graphics/interface/union_room_chat_panel.gbapal"); +const u32 gUnionRoomChatPanelBgTiles[] = INCBIN_U32("graphics/interface/union_room_chat_panel.4bpp.lz"); +const u32 gUnionRoomChatPanelBgMap[] = INCBIN_U32("graphics/interface/union_room_chat_panel.bin.lz"); + +const u16 gCreditsMonBackdropPals[][16] = +{ + INCBIN_U16("graphics/credits/charizard.gbapal"), + INCBIN_U16("graphics/credits/venusaur.gbapal"), + INCBIN_U16("graphics/credits/blastoise.gbapal"), + INCBIN_U16("graphics/credits/pikachu.gbapal"), +}; + +const u32 gCreditsPokeballBgGfxTiles[] = INCBIN_U32("graphics/credits/unk_8EAAB98.4bpp.lz"); +const u32 gCreditsPokeballBgGfxMap[] = INCBIN_U32("graphics/credits/unk_8EAB30C.bin.lz"); + +#ifdef FIRERED +const u16 gGraphics_TitleScreen_GameTitleLogoPals[] = INCBIN_U16("graphics/title_screen/unk_8eab6c4.gbapal"); +const u8 gGraphics_TitleScreen_GameTitleLogoTiles[] = INCBIN_U8("graphics/title_screen/unk_8eab8c4.8bpp.lz"); +const u8 gGraphics_TitleScreen_GameTitleLogoMap[] = INCBIN_U8("graphics/title_screen/unk_8ead390.bin.lz"); +const u16 gGraphics_TitleScreen_BoxArtMonPals[] = INCBIN_U16("graphics/title_screen/unk_8ead5e8.gbapal"); +const u8 gGraphics_TitleScreen_BoxArtMonTiles[] = INCBIN_U8("graphics/title_screen/unk_8ead608.4bpp.lz"); +const u8 gGraphics_TitleScreen_BoxArtMonMap[] = INCBIN_U8("graphics/title_screen/unk_8eadee4.bin.lz"); +const u16 gGraphics_TitleScreen_BackgroundPals[] = INCBIN_U16("graphics/title_screen/unk_8eae094.gbapal"); +const u8 gGraphics_TitleScreen_CopyrightPressStartTiles[] = INCBIN_U8("graphics/title_screen/unk_8eae0b4.4bpp.lz"); +const u8 gGraphics_TitleScreen_CopyrightPressStartMap[] = INCBIN_U8("graphics/title_screen/unk_8eae374.bin.lz"); +const u16 gGraphics_TitleScreen_FireOrLeafPals[] = INCBIN_U16("graphics/title_screen/unk_8eae488.gbapal"); +const u32 gGraphics_TitleScreen_BlankObjTiles[] = INCBIN_U32("graphics/title_screen/unk_8eae4a8.4bpp.lz"); +#endif + +#ifdef LEAFGREEN +const u16 gGraphics_TitleScreen_GameTitleLogoPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8eab744.gbapal"); +const u8 gGraphics_TitleScreen_GameTitleLogoTiles[] = INCBIN_U8("graphics/title_screen/unk_lg_8eab944.8bpp.lz"); +const u8 gGraphics_TitleScreen_GameTitleLogoMap[] = INCBIN_U8("graphics/title_screen/unk_lg_8ead508.bin.lz"); +const u16 gGraphics_TitleScreen_BoxArtMonPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8ead768.gbapal"); +const u8 gGraphics_TitleScreen_BoxArtMonTiles[] = INCBIN_U8("graphics/title_screen/unk_lg_8ead788.4bpp.lz"); +const u8 gGraphics_TitleScreen_BoxArtMonMap[] = INCBIN_U8("graphics/title_screen/unk_lg_8eae1ec.bin.lz"); +const u16 gGraphics_TitleScreen_BackgroundPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8eae388.gbapal"); +const u8 gGraphics_TitleScreen_CopyrightPressStartTiles[] = INCBIN_U8("graphics/title_screen/unk_8eae0b4.4bpp.lz"); +const u8 gGraphics_TitleScreen_CopyrightPressStartMap[] = INCBIN_U8("graphics/title_screen/unk_8eae374.bin.lz"); +const u16 gGraphics_TitleScreen_FireOrLeafPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8eae77c.gbapal"); +const u32 gGraphics_TitleScreen_BlankObjTiles[] = INCBIN_U32("graphics/title_screen/unk_8eae4a8.4bpp.lz"); +#endif + +const u16 gCreditsAllRightsReservedGfxPal[] = INCBIN_U16("graphics/credits/unk_8EAE548.gbapal"); +const u8 gCreditsAllRightsReservedGfxTiles[] = INCBIN_U8("graphics/credits/unk_8EAE548.4bpp.lz"); +const u8 gCreditsAllRightsReservedGfxMap[] = INCBIN_U8("graphics/credits/unk_8EAE548.bin.lz"); + +const u32 gUnknown_8EAEA00[] = INCBIN_U32("graphics/link/gba.gbapal"); +const u32 gTradeGba2_Pal[] = INCBIN_U32("graphics/link/gba_pal2.gbapal"); +const u32 gTradeGba_Gfx[] = INCBIN_U32("graphics/link/gba.4bpp"); + +const u16 gUnknown_8EAFE80[] = INCBIN_U16("graphics/interface/blank2.gbapal"); + +const u16 gUnknown_8EAFEA0[] = INCBIN_U16("graphics/berry_crush/berry_crush.gbapal"); +const u16 gUnknown_8EAFF60[] = INCBIN_U16("graphics/unknown/unknown_EAFF60.gbapal"); +const u32 gUnknown_8EAFFC0[] = INCBIN_U32("graphics/berry_crush/berry_crush.4bpp.lz"); +const u32 gUnknown_8EB0ADC[] = INCBIN_U32("graphics/berry_crush/data_EB0ADC.bin.lz"); diff --git a/src/help_system.c b/src/help_system.c index bb3135260..d68acbaa1 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -10,9 +10,7 @@ #include "strings.h" #include "text.h" #include "blit.h" -#include "event_data.h" #include "constants/songs.h" -#include "constants/flags.h" extern u8 gGlyphInfo[]; diff --git a/src/hof_pc.c b/src/hof_pc.c index 76fd06abf..353c067c2 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -5,7 +5,6 @@ #include "script.h" #include "script_menu.h" #include "task.h" -#include "hall_of_fame.h" #include "bg.h" #include "window.h" @@ -1,10 +1,8 @@ #include "global.h" #include "battle_anim.h" #include "bg.h" -#include "field_weather.h" #include "gpu_regs.h" #include "graphics.h" -#include "main.h" #include "palette.h" #include "random.h" #include "sprite.h" diff --git a/src/item_menu.c b/src/item_menu.c index ffba2eae9..a407c582f 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -5,7 +5,7 @@ #include "berry_pouch.h" #include "decompress.h" #include "event_scripts.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "field_player_avatar.h" #include "graphics.h" #include "help_system.h" diff --git a/src/item_use.c b/src/item_use.c index 022be5b2b..f5e880f98 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -19,7 +19,6 @@ #include "mail.h" #include "main.h" #include "malloc.h" -#include "event_object_80688E4.h" #include "event_object_lock.h" #include "metatile_behavior.h" #include "new_menu_helpers.h" @@ -42,7 +41,6 @@ #include "constants/maps.h" #include "constants/moves.h" #include "constants/songs.h" -#include "constants/maps.h" static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL; diff --git a/src/itemfinder.c b/src/itemfinder.c index 370fce841..5d6950acc 100644 --- a/src/itemfinder.c +++ b/src/itemfinder.c @@ -10,7 +10,6 @@ #include "field_player_avatar.h" #include "field_specials.h" #include "fieldmap.h" -#include "itemfinder.h" #include "constants/songs.h" static void Task_NoResponse_CleanUp(u8 taskId); diff --git a/src/list_menu.c b/src/list_menu.c index 706c1679b..21ef40fbe 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -8,9 +8,7 @@ #include "main.h" #include "task.h" #include "graphics.h" -#include "decompress.h" #include "palette.h" -#include "malloc.h" #include "strings.h" #include "sound.h" #include "pokemon_icon.h" @@ -258,7 +256,7 @@ void DestroyListMenuTask(u8 listTaskId, u16 *cursorPos, u16 *itemsAbove) if (itemsAbove != NULL) *itemsAbove = list->itemsAbove; - if (list->taskId != TASK_NONE) + if (list->taskId != TAIL_SENTINEL) ListMenuRemoveCursorObject(list->taskId, list->template.cursorKind - 2); DestroyTask(listTaskId); @@ -348,7 +346,7 @@ static u8 ListMenuInitInternal(const struct ListMenuTemplate *listMenuTemplate, list->itemsAbove = itemsAbove; list->unk_1C = 0; list->unk_1D = 0; - list->taskId = TASK_NONE; + list->taskId = TAIL_SENTINEL; list->unk_1F = 0; gListMenuOverride.cursorPal = list->template.cursorPal; gListMenuOverride.fillValue = list->template.fillValue; @@ -420,12 +418,12 @@ static void ListMenuDrawCursor(struct ListMenu *list) case 1: break; case 2: - if (list->taskId == TASK_NONE) + if (list->taskId == TAIL_SENTINEL) list->taskId = ListMenuAddCursorObject(list, 0); ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 - 1, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y - 1, 0); break; case 3: - if (list->taskId == TASK_NONE) + if (list->taskId == TAIL_SENTINEL) list->taskId = ListMenuAddCursorObject(list, 1); ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 + x, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y, 1); break; diff --git a/src/load_save.c b/src/load_save.c index 7f16f74a5..7ab28ffc3 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -8,7 +8,6 @@ #include "item.h" #include "save_location.h" #include "berry_powder.h" -#include "item.h" #include "overworld.h" #include "quest_log.h" diff --git a/src/main.c b/src/main.c index b88326cda..a67c71746 100644 --- a/src/main.c +++ b/src/main.c @@ -9,7 +9,6 @@ #include "random.h" #include "dma3.h" #include "gba/flash_internal.h" -#include "battle.h" #include "help_system.h" #include "sound.h" #include "new_menu_helpers.h" @@ -17,12 +16,10 @@ #include "overworld.h" #include "sprite.h" #include "play_time.h" -#include "pokemon.h" #include "intro.h" #include "battle_controllers.h" #include "scanline_effect.h" #include "save_failed_screen.h" -#include "battle.h" extern u32 intr_main[]; diff --git a/src/menu.c b/src/menu.c index 5a0da28b9..2f5b1a5db 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,12 +1,8 @@ #include "global.h" #include "bg.h" -#include "malloc.h" #include "menu.h" #include "menu_helpers.h" -#include "new_menu_helpers.h" -#include "string_util.h" #include "strings.h" -#include "task.h" #include "text_window.h" #include "window.h" #include "sound.h" diff --git a/src/menu_indicators.c b/src/menu_indicators.c index c07aaf772..3044fb8b4 100644 --- a/src/menu_indicators.c +++ b/src/menu_indicators.c @@ -3,7 +3,6 @@ #include "task.h" #include "decompress.h" #include "palette.h" -#include "strings.h" #include "sprite.h" #include "trig.h" #include "list_menu.h" diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 8e07c1c97..7c05d1dde 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -16,39 +16,12 @@ static const bool8 sTileSurfable[METATILE_COUNT] = { [MB_SOUTHWARD_CURRENT] = TRUE }; -static const u8 sTileBitAttributes[] = { - 0x00, - 0x01, - 0x02, - 0x04, - 0x08, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00 +static const u8 sTileBitAttributes[32] = { + [0] = 0x00, + [1] = 0x01, + [2] = 0x02, + [3] = 0x04, + [4] = 0x08, }; bool8 MetatileBehavior_UnusedReturnTrue(u8 metatileBehavior) @@ -769,7 +742,7 @@ bool8 MetatileBehavior_UnusedReturnFalse_11(u8 metatileBehavior) { return FALSE; bool8 MetatileBehavior_UnusedReturnFalse_12(u8 metatileBehavior) { return FALSE; } bool8 MetatileBehavior_UnusedReturnFalse_13(u8 metatileBehavior) { return FALSE; } -bool8 sub_805A2BC(u8 arg1, u8 arg2) +bool8 TestMetatileAttributeBit(u8 arg1, u8 arg2) { if(sTileBitAttributes[arg1] & arg2) return TRUE; diff --git a/src/mevent_server.c b/src/mevent_server.c index 3b1762540..f1505fcbc 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -1,10 +1,6 @@ #include "global.h" #include "malloc.h" -#include "decompress.h" -#include "overworld.h" #include "script.h" -#include "battle_tower.h" -#include "mystery_event_script.h" #include "mevent.h" #include "mevent_server.h" diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c index 94c01c081..234064afc 100644 --- a/src/mevent_server_helpers.c +++ b/src/mevent_server_helpers.c @@ -1,14 +1,7 @@ #include "global.h" -#include "malloc.h" -#include "decompress.h" #include "util.h" #include "link.h" #include "link_rfu.h" -#include "overworld.h" -#include "script.h" -#include "battle_tower.h" -#include "mystery_event_script.h" -#include "mevent.h" #include "mevent_server.h" static u32 mevent_receive_func(struct mevent_srv_sub *); diff --git a/src/mevent_show_card.c b/src/mevent_show_card.c index 3eeafa4b5..d2df613ae 100644 --- a/src/mevent_show_card.c +++ b/src/mevent_show_card.c @@ -1,7 +1,6 @@ #include "global.h" #include "constants/species.h" #include "bg.h" -#include "gpu_regs.h" #include "palette.h" #include "decompress.h" #include "malloc.h" @@ -9,9 +8,7 @@ #include "new_menu_helpers.h" #include "pokemon_icon.h" #include "mystery_gift_menu.h" -#include "menu_indicators.h" #include "string_util.h" -#include "link_rfu.h" #include "mevent.h" #include "battle_anim.h" diff --git a/src/minigame_countdown.c b/src/minigame_countdown.c index d100caea1..5911676bb 100644 --- a/src/minigame_countdown.c +++ b/src/minigame_countdown.c @@ -34,7 +34,7 @@ void StartMinigameCountdown(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriori gTasks[taskId].tSubpriority = subpriority; } -bool8 IsMinigameCountdownRunning(void) +bool32 IsMinigameCountdownRunning(void) { return FuncIsActiveTask(Task_MinigameCountdown); } diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 7b25cc5ff..5a105bae9 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -3,7 +3,6 @@ #include "battle_tower.h" #include "easy_chat.h" #include "event_data.h" -#include "mail.h" #include "mail_data.h" #include "mystery_event_script.h" #include "pokedex.h" diff --git a/src/new_game.c b/src/new_game.c index 9aea0b3aa..d03e83b34 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -1,5 +1,4 @@ #include "global.h" -#include "new_game.h" #include "random.h" #include "main.h" #include "overworld.h" diff --git a/src/new_menu_helpers.c b/src/new_menu_helpers.c index 39340ca55..11b353b8c 100644 --- a/src/new_menu_helpers.c +++ b/src/new_menu_helpers.c @@ -3,7 +3,6 @@ #include "dma3.h" #include "task.h" #include "bg.h" -#include "gpu_regs.h" #include "window.h" #include "menu.h" #include "menu_helpers.h" @@ -13,7 +12,6 @@ #include "field_specials.h" #include "text_window.h" #include "script.h" -#include "graphics.h" #include "palette.h" #define DLG_WINDOW_PALETTE_NUM 15 diff --git a/src/oak_speech.c b/src/oak_speech.c index 6887ff85a..f7ec9a531 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -4,7 +4,6 @@ #include "task.h" #include "malloc.h" #include "gpu_regs.h" -#include "wild_encounter.h" #include "palette.h" #include "blend_palette.h" #include "text.h" @@ -25,7 +24,6 @@ #include "overworld.h" #include "random.h" #include "data.h" -#include "oak_speech.h" #include "constants/species.h" #include "constants/songs.h" diff --git a/src/palette.c b/src/palette.c index 6609c9baa..04638f6d1 100644 --- a/src/palette.c +++ b/src/palette.c @@ -948,7 +948,7 @@ void sub_8071898(void) while (TRUE) { taskId = FindTaskIdByFunc(sub_80718B8); - if (taskId == TASK_NONE) + if (taskId == TAIL_SENTINEL) break; DestroyTask(taskId); } diff --git a/src/party_menu.c b/src/party_menu.c index 600350ca9..6f2feaaad 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -13,11 +13,9 @@ #include "easy_chat.h" #include "event_data.h" #include "evolution_scene.h" -#include "field_control_avatar.h" #include "field_effect.h" #include "field_player_avatar.h" #include "field_screen_effect.h" -#include "field_specials.h" #include "field_weather.h" #include "fieldmap.h" #include "fldeff.h" @@ -46,7 +44,6 @@ #include "pokemon_icon.h" #include "pokemon_jump.h" #include "pokemon_special_anim.h" -#include "pokemon_storage_system.h" #include "pokemon_summary_screen.h" #include "quest_log.h" #include "region_map.h" @@ -78,7 +75,6 @@ #include "constants/quest_log.h" #include "constants/songs.h" #include "constants/species.h" -#include "constants/vars.h" #define PARTY_PAL_SELECTED (1 << 0) #define PARTY_PAL_FAINTED (1 << 1) diff --git a/src/party_menu_specials.c b/src/party_menu_specials.c index 751684bd5..242422f7b 100644 --- a/src/party_menu_specials.c +++ b/src/party_menu_specials.c @@ -2,7 +2,6 @@ #include "data.h" #include "script.h" #include "overworld.h" -#include "battle.h" #include "palette.h" #include "pokemon.h" #include "party_menu.h" diff --git a/src/pokeball.c b/src/pokeball.c index aeaba08ab..92b22abe6 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -15,7 +15,6 @@ #include "link.h" #include "battle_gfx_sfx_util.h" #include "constants/songs.h" -#include "constants/species.h" #define tFrames data[0] #define tPan data[1] diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c new file mode 100644 index 000000000..063176151 --- /dev/null +++ b/src/pokemon_jump.c @@ -0,0 +1,254 @@ +#include "global.h" +#include "gflib.h" +#include "battle_anim.h" +#include "decompress.h" +#include "link.h" +#include "link_rfu.h" +#include "task.h" +#include "constants/songs.h" + +static void sub_8147654(u8 taskId); +static void sub_81477C0(u8 taskId); +static void sub_814784C(u8 taskId); +static void sub_81479D4(u8 taskId); +static void sub_8147A34(u8 taskId); + +static const u16 gUnknown_846AFE8[] = INCBIN_U16("graphics/misc/unk_846B008.gbapal"); +static const u32 gUnknown_846B008[] = INCBIN_U32("graphics/misc/unk_846B008.4bpp.lz"); + +static const struct CompressedSpriteSheet gUnknown_846B42C[] = { + {gUnknown_846B008, 0x0C00, 0x2000}, + {} +}; + +static const struct SpritePalette gUnknown_846B43C[] = { + {gUnknown_846AFE8, 0x2000}, + {} +}; + +static const union AnimCmd gUnknown_846B44C[] = { + ANIMCMD_FRAME(0x00, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B454[] = { + ANIMCMD_FRAME(0x10, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B45C[] = { + ANIMCMD_FRAME(0x20, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B464[] = { + ANIMCMD_FRAME(0x40, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B46C[] = { + ANIMCMD_FRAME(0x30, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B474[] = { + ANIMCMD_FRAME(0x50, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gUnknown_846B47C[] = { + gUnknown_846B44C, + gUnknown_846B454, + gUnknown_846B45C, + gUnknown_846B464, + gUnknown_846B46C, + gUnknown_846B474 +}; + +static const struct SpriteTemplate gUnknown_846B494[] = { + { + .tileTag = 0x2000, + .paletteTag = 0x2000, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gUnknown_846B47C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy + }, +}; + +static const TaskFunc gUnknown_846B4AC[][4] = { + { sub_81477C0, sub_814784C, sub_81479D4, sub_8147A34 } +}; + +// Unused, but looks like it was intended to be a hook +UNUSED u8 sub_81475C0(u8 data1, u8 priority) +{ + u8 taskId; + struct Task * task; + + taskId = CreateTask(sub_8147654, priority); + task = &gTasks[taskId]; + task->data[0] = 1; + task->data[1] = data1; + gUnknown_846B4AC[data1][0](taskId); + return taskId; +} + +// Unused, but looks like it was intended to be a hook +UNUSED bool32 sub_814760C(void) +{ + u8 taskId; + + taskId = FindTaskIdByFunc(sub_8147654); + if (taskId == 0xFF) + return FALSE; + gTasks[taskId].data[0] = 2; + return TRUE; +} + +// Unused, but looks like it was intended to be a hook +UNUSED bool32 sub_8147640(void) +{ + return FuncIsActiveTask(sub_8147654); +} + +static void sub_8147654(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 2: + gUnknown_846B4AC[data[1]][2](taskId); + data[0] = 3; + break; + case 3: + gUnknown_846B4AC[data[1]][3](taskId); + break; + case 4: + gUnknown_846B4AC[data[1]][1](taskId); + DestroyTask(taskId); + break; + } +} + +static void sub_81476E0(u8 taskId, s16 *data) +{ + u8 i; + struct Sprite *sprite; + + LoadCompressedSpriteSheet(&gUnknown_846B42C[data[3]]); + LoadSpritePalette(&gUnknown_846B43C[data[4]]); + for (i = 0; i < data[8]; i++) + data[13 + i] = CreateSprite(&gUnknown_846B494[data[2]], data[9], data[10], data[7]); + for (i = 0; i < data[8]; i++) + { + sprite = &gSprites[data[13 + i]]; + sprite->oam.priority = data[6]; + sprite->invisible = TRUE; + sprite->data[1] = data[5]; + sprite->data[3] = taskId; + sprite->data[4] = i; + sprite->data[5] = data[13]; + } +} + +static void sub_81477C0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[2] = 0; + data[3] = 0; + data[4] = 0; + data[5] = 60; + data[6] = 0; + data[7] = 0; + data[8] = 3; + data[9] = 120; + data[10] = 88; + sub_81476E0(taskId, data); + + StartSpriteAnim(&gSprites[data[14]], 4); + gSprites[data[14]].pos2.x = -32; + + StartSpriteAnim(&gSprites[data[15]], 5); + gSprites[data[15]].pos2.x = 32; +} + +static void sub_814784C(u8 taskId) +{ + u8 i = 0; + s16 *data = gTasks[taskId].data; + + for (i = 0; i < data[8]; i++) + DestroySprite(&gSprites[data[13 + i]]); + FreeSpriteTilesByTag(gUnknown_846B42C[data[3]].tag); + FreeSpritePaletteByTag(gUnknown_846B43C[data[4]].tag); +} + +static void sub_81478BC(struct Sprite *sprite) +{ + s16 *data = gTasks[sprite->data[3]].data; + + if (data[11] % data[5] != 0) + return; + if (data[11] == data[10]) + return; + + data[10] = data[11]; + switch (sprite->data[2]) + { + case 0: + sprite->invisible = FALSE; + case 1: + case 2: + PlaySE(SE_KON); + StartSpriteAnim(sprite, sprite->data[2]); + break; + case 3: + PlaySE(SE_PIN); + StartSpriteAnim(sprite, sprite->data[2]); + gSprites[data[14]].invisible = FALSE; + gSprites[data[15]].invisible = FALSE; + break; + case 4: + sprite->invisible = TRUE; + gSprites[data[14]].invisible = TRUE; + gSprites[data[15]].invisible = TRUE; + data[0] = 4; + return; + } + sprite->data[2]++; +} + +static void sub_81479D4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + PlaySE(SE_KON); + gSprites[data[13]].callback = sub_81478BC; + gSprites[data[13]].invisible = FALSE; + gTasks[taskId].data[0] = 3; +} + +static void sub_8147A34(u8 taskId) +{ + u16 packet[6]; + s16 *data = gTasks[taskId].data; + + if (gReceivedRemoteLinkPlayers != 0) + { + if (gRecvCmds[0][1] == 0x7FFF) + data[11] = gRecvCmds[0][2]; + if (GetMultiplayerId() == 0) + { + data[12]++; + memset(packet, 0, sizeof(packet)); + packet[0] = 0x7FFF; + packet[1] = data[12]; + RfuPrepareSend0x2f00(packet); + } + } + else + { + data[11]++; + } +} diff --git a/src/pokemon_jump_2.c b/src/pokemon_jump_2.c new file mode 100644 index 000000000..aa1238e3f --- /dev/null +++ b/src/pokemon_jump_2.c @@ -0,0 +1,2035 @@ +#include "global.h" +#include "gflib.h" +#include "event_data.h" +#include "item.h" +#include "link_rfu.h" +#include "menu.h" +#include "random.h" +#include "save.h" +#include "task.h" +#include "pokemon_jump.h" +#include "constants/songs.h" +#include "constants/species.h" + +struct PokemonJump1 +{ + MainCallback returnCallback; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u16 unk8; + u16 unkA; + u16 unkC; + u16 unkE; + int unk10; + u32 unk14; + u32 unk18; + int unk1C; + u32 unk20; + u32 unk24; + u32 unk28; + int unk2C; + u32 unk30; + u16 unk34; + u16 unk36; + u8 filler38[0x2]; + u16 unk3A; + u16 unk3C; + u16 unk3E; + u16 unk40; + u16 unk42; + u8 unk44; + u8 unk45; + u8 unk46; + u8 isLeader; + u8 unk48; + u8 unk49; + u16 unk4A; + u8 unk4C; + u8 unk4D; + u16 unk4E; + u8 unk50; + u8 unk51; + u8 filler52[0x2]; + int unk54; + int unk58; + int unk5C; + int unk60; + int unk64; + int unk68; + int unk6C; + struct PokemonJump1Sub unk70; + u8 unk7C[MAX_RFU_PLAYERS]; + u8 unk81[MAX_RFU_PLAYERS]; + u8 unk86[MAX_RFU_PLAYERS]; + u8 unk8B[MAX_RFU_PLAYERS]; + u16 unk90[MAX_RFU_PLAYERS]; + u16 unk9A[MAX_RFU_PLAYERS]; + struct PokemonJump2 unkA4; + struct PokemonJump1_MonInfo unk82A8[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 unk82E4[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 *unk83AC; +}; + +static void sub_8147B60(struct PokemonJump1 *); +static void sub_8147B94(struct PokemonJump1 *); +static void sub_8147C20(void); +static void sub_8147C98(void); +static s16 GetPokemonJumpSpeciesIdx(u16 species); +static void sub_8147D2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon); +static void sub_8147D6C(void); +static void sub_8147DA0(u8 taskId); +static void sub_814807C(u8 taskId); +static void sub_8148104(void); +static void sub_8148290(u8 taskId); +static void sub_81482F8(void); +static bool32 sub_8148344(void); +static bool32 sub_81483D0(void); +static bool32 sub_8148464(void); +static bool32 sub_81484D0(void); +static bool32 sub_814856C(void); +static bool32 sub_81485C8(void); +static bool32 sub_8148664(void); +static bool32 sub_81486C4(void); +static bool32 sub_8148724(void); +static bool32 sub_8148760(void); +static bool32 sub_81487B4(void); +static bool32 sub_8148800(void); +static bool32 sub_814881C(void); +static bool32 sub_81488DC(void); +static bool32 sub_81489C8(void); +static bool32 sub_8148A60(void); +static bool32 sub_8148398(void); +static bool32 sub_8148418(void); +static bool32 sub_81484B0(void); +static bool32 sub_8148B54(void); +static bool32 sub_8148C80(void); +static bool32 sub_8148D5C(void); +static bool32 sub_8148E2C(void); +static void sub_8148E80(u8 taskId); +static void sub_8148F5C(TaskFunc func, u8 taskPriority); +static void sub_8148F7C(void); +static void sub_8148F9C(void); +static void sub_8148FE0(void); +static int sub_8149044(void); +static void sub_8149078(void); +static int sub_8149194(void); +static void sub_81491B4(void); +static void sub_81491E4(void); +static void sub_8149210(void); +static bool32 sub_814922C(u16); +static void sub_8149260(void); +static void sub_81492D8(void); +static void sub_814933C(void); +static void sub_814935C(void); +static void sub_814936C(void); +static void sub_814937C(void); +static void sub_8149490(int); +static void sub_8149534(void); +static bool32 sub_8149630(void); +static bool32 sub_81496D4(void); +static bool32 sub_8149710(void); +static bool32 sub_8149748(void); +static void sub_8149780(int); +static int sub_81497A8(void); +static bool32 sub_8149804(void); +static int sub_8149834(u8 *); +static void sub_8149878(void); +static int sub_8149888(int); +static void sub_8149898(u16); +static bool32 sub_81498B4(void); +static u16 sub_81498D8(void); +static void sub_8149900(u16, u16 *, u16 *); +static u16 sub_8149910(void); +static u16 sub_8149930(void); +static u16 sub_8149978(u16 item, u16 quantity); + +EWRAM_DATA static struct PokemonJump1 *gUnknown_203F3D4 = NULL; + +static const struct PokemonJumpMons +{ + u16 species; + u16 unk2; +} sPkmnJumpSpecies[] = +{ + { .species = SPECIES_BULBASAUR, .unk2 = 2, }, + { .species = SPECIES_CHARMANDER, .unk2 = 1, }, + { .species = SPECIES_SQUIRTLE, .unk2 = 0, }, + { .species = SPECIES_CATERPIE, .unk2 = 1, }, + { .species = SPECIES_METAPOD, .unk2 = 1, }, + { .species = SPECIES_WEEDLE, .unk2 = 1, }, + { .species = SPECIES_KAKUNA, .unk2 = 1, }, + { .species = SPECIES_RATTATA, .unk2 = 1, }, + { .species = SPECIES_RATICATE, .unk2 = 1, }, + { .species = SPECIES_PIKACHU, .unk2 = 0, }, + { .species = SPECIES_SANDSHREW, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_F, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_M, .unk2 = 0, }, + { .species = SPECIES_CLEFAIRY, .unk2 = 0, }, + { .species = SPECIES_VULPIX, .unk2 = 0, }, + { .species = SPECIES_JIGGLYPUFF, .unk2 = 2, }, + { .species = SPECIES_ODDISH, .unk2 = 2, }, + { .species = SPECIES_PARAS, .unk2 = 1, }, + { .species = SPECIES_MEOWTH, .unk2 = 0, }, + { .species = SPECIES_PSYDUCK, .unk2 = 2, }, + { .species = SPECIES_MANKEY, .unk2 = 1, }, + { .species = SPECIES_GROWLITHE, .unk2 = 1, }, + { .species = SPECIES_POLIWAG, .unk2 = 2, }, + { .species = SPECIES_BELLSPROUT, .unk2 = 2, }, + { .species = SPECIES_SHELLDER, .unk2 = 1, }, + { .species = SPECIES_KRABBY, .unk2 = 1, }, + { .species = SPECIES_EXEGGCUTE, .unk2 = 2, }, + { .species = SPECIES_CUBONE, .unk2 = 0, }, + { .species = SPECIES_DITTO, .unk2 = 2, }, + { .species = SPECIES_EEVEE, .unk2 = 0, }, + { .species = SPECIES_OMANYTE, .unk2 = 1, }, + { .species = SPECIES_KABUTO, .unk2 = 1, }, + { .species = SPECIES_CHIKORITA, .unk2 = 2, }, + { .species = SPECIES_CYNDAQUIL, .unk2 = 1, }, + { .species = SPECIES_TOTODILE, .unk2 = 0, }, + { .species = SPECIES_SPINARAK, .unk2 = 1, }, + { .species = SPECIES_PICHU, .unk2 = 0, }, + { .species = SPECIES_CLEFFA, .unk2 = 0, }, + { .species = SPECIES_IGGLYBUFF, .unk2 = 2, }, + { .species = SPECIES_TOGEPI, .unk2 = 2, }, + { .species = SPECIES_MAREEP, .unk2 = 0, }, + { .species = SPECIES_BELLOSSOM, .unk2 = 2, }, + { .species = SPECIES_MARILL, .unk2 = 2, }, + { .species = SPECIES_SUNKERN, .unk2 = 2, }, + { .species = SPECIES_WOOPER, .unk2 = 2, }, + { .species = SPECIES_PINECO, .unk2 = 2, }, + { .species = SPECIES_SNUBBULL, .unk2 = 0, }, + { .species = SPECIES_SHUCKLE, .unk2 = 2, }, + { .species = SPECIES_TEDDIURSA, .unk2 = 0, }, + { .species = SPECIES_SLUGMA, .unk2 = 2, }, + { .species = SPECIES_SWINUB, .unk2 = 0, }, + { .species = SPECIES_HOUNDOUR, .unk2 = 1, }, + { .species = SPECIES_PHANPY, .unk2 = 0, }, + { .species = SPECIES_PORYGON2, .unk2 = 0, }, + { .species = SPECIES_TYROGUE, .unk2 = 1, }, + { .species = SPECIES_SMOOCHUM, .unk2 = 2, }, + { .species = SPECIES_ELEKID, .unk2 = 1, }, + { .species = SPECIES_MAGBY, .unk2 = 1, }, + { .species = SPECIES_LARVITAR, .unk2 = 1, }, + { .species = SPECIES_TREECKO, .unk2 = 1, }, + { .species = SPECIES_TORCHIC, .unk2 = 2, }, + { .species = SPECIES_MUDKIP, .unk2 = 0, }, + { .species = SPECIES_MARSHTOMP, .unk2 = 0, }, + { .species = SPECIES_POOCHYENA, .unk2 = 1, }, + { .species = SPECIES_ZIGZAGOON, .unk2 = 0, }, + { .species = SPECIES_LINOONE, .unk2 = 0, }, + { .species = SPECIES_WURMPLE, .unk2 = 1, }, + { .species = SPECIES_SILCOON, .unk2 = 2, }, + { .species = SPECIES_CASCOON, .unk2 = 2, }, + { .species = SPECIES_LOTAD, .unk2 = 2, }, + { .species = SPECIES_SEEDOT, .unk2 = 1, }, + { .species = SPECIES_RALTS, .unk2 = 0, }, + { .species = SPECIES_KIRLIA, .unk2 = 0, }, + { .species = SPECIES_SURSKIT, .unk2 = 2, }, + { .species = SPECIES_SHROOMISH, .unk2 = 2, }, + { .species = SPECIES_NINCADA, .unk2 = 1, }, + { .species = SPECIES_WHISMUR, .unk2 = 0, }, + { .species = SPECIES_AZURILL, .unk2 = 2, }, + { .species = SPECIES_SKITTY, .unk2 = 0, }, + { .species = SPECIES_SABLEYE, .unk2 = 0, }, + { .species = SPECIES_MAWILE, .unk2 = 0, }, + { .species = SPECIES_ARON, .unk2 = 1, }, + { .species = SPECIES_MEDITITE, .unk2 = 2, }, + { .species = SPECIES_ELECTRIKE, .unk2 = 1, }, + { .species = SPECIES_PLUSLE, .unk2 = 1, }, + { .species = SPECIES_MINUN, .unk2 = 1, }, + { .species = SPECIES_VOLBEAT, .unk2 = 0, }, + { .species = SPECIES_ILLUMISE, .unk2 = 0, }, + { .species = SPECIES_ROSELIA, .unk2 = 2, }, + { .species = SPECIES_GULPIN, .unk2 = 2, }, + { .species = SPECIES_NUMEL, .unk2 = 2, }, + { .species = SPECIES_TORKOAL, .unk2 = 2, }, + { .species = SPECIES_SPOINK, .unk2 = 0, }, + { .species = SPECIES_TRAPINCH, .unk2 = 2, }, + { .species = SPECIES_CACNEA, .unk2 = 2, }, + { .species = SPECIES_ANORITH, .unk2 = 1, }, + { .species = SPECIES_WYNAUT, .unk2 = 0, }, + { .species = SPECIES_SNORUNT, .unk2 = 0, }, + { .species = SPECIES_CLAMPERL, .unk2 = 1, }, + { .species = SPECIES_BAGON, .unk2 = 1, }, +}; + +void StartPokemonJump(u16 partyIndex, MainCallback callback) +{ + u8 taskId; + + if (gReceivedRemoteLinkPlayers) + { + gUnknown_203F3D4 = Alloc(sizeof(*gUnknown_203F3D4)); + if (gUnknown_203F3D4 != NULL) + { + ResetTasks(); + taskId = CreateTask(sub_8147DA0, 1); + gUnknown_203F3D4->unk8 = 0; + gUnknown_203F3D4->returnCallback = callback; + gUnknown_203F3D4->unk4 = taskId; + gUnknown_203F3D4->unk6 = GetMultiplayerId(); + sub_8147D2C(&gUnknown_203F3D4->unk82A8[gUnknown_203F3D4->unk6], &gPlayerParty[partyIndex]); + sub_8147B60(gUnknown_203F3D4); + SetWordTaskArg(taskId, 2, (uintptr_t)gUnknown_203F3D4); + SetMainCallback2(sub_8147D6C); + return; + } + } + + SetMainCallback2(callback); +} + +static void sub_8147B48(void) +{ + sub_8149D24(); + Free(gUnknown_203F3D4); +} + +static void sub_8147B60(struct PokemonJump1 *arg0) +{ + arg0->unk5 = GetLinkPlayerCount(); + arg0->unk70.unk0 = 5; + arg0->unk70.unk2 = 0; + sub_8147C20(); + sub_8147B94(arg0); + if (arg0->unk5 == MAX_RFU_PLAYERS) + sub_814B4E8(); +} + +static void sub_8147B94(struct PokemonJump1 *arg0) +{ + int i; + + arg0->unk14 = 6; + arg0->unk18 = 6; + arg0->unk4A = 0; + arg0->unk1C = 0; + arg0->unk5C = 0; + arg0->isLeader = GetMultiplayerId() == 0; + arg0->unk8 = 0; + arg0->unkA = 0; + arg0->unkC = 0; + arg0->unkE = 0; + arg0->unk58 = 0; + arg0->unk3A = 0; + arg0->unk44 = 0; + arg0->unk54 = 0; + arg0->unk46 = 0; + arg0->unk49 = 0; + arg0->unk48 = 1; + arg0->unk70.unk8 = 0; + arg0->unk70.unk1 = 0; + arg0->unk70.unk4 = 0; + arg0->unk60 = 1; + arg0->unk4D = 0; + arg0->unk68 = 0; + arg0->unk64 = 0; + arg0->unk2C = 0; + arg0->unk30 = 0; + sub_8147C98(); + sub_81491E4(); + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + arg0->unk7C[i] = 0; + arg0->unk9A[i] = 0; + } +} + +static void sub_8147C20(void) +{ + int i, index; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + index = GetPokemonJumpSpeciesIdx(gUnknown_203F3D4->unk82A8[i].species); + gUnknown_203F3D4->unk82E4[i].unkC = sPkmnJumpSpecies[index].unk2; + } + + gUnknown_203F3D4->unk83AC = &gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6]; +} + +static void sub_8147C98(void) +{ + int i; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + gUnknown_203F3D4->unk82E4[i].unkE = 0; + gUnknown_203F3D4->unk82E4[i].unk10 = 0; + gUnknown_203F3D4->unk82E4[i].unk12 = 0; + gUnknown_203F3D4->unk82E4[i].unk0 = 0; + gUnknown_203F3D4->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_203F3D4->unk82E4[i].unk14 = 0; + gUnknown_203F3D4->unk8B[i] = 9; + } +} + +static s16 GetPokemonJumpSpeciesIdx(u16 species) +{ + u32 i; + for (i = 0; i < NELEMS(sPkmnJumpSpecies); i++) + { + if (sPkmnJumpSpecies[i].species == species) + return i; + } + + return -1; // species isnt allowed +} + +static void sub_8147D2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon) +{ + monInfo->species = GetMonData(mon, MON_DATA_SPECIES); + monInfo->otId = GetMonData(mon, MON_DATA_OT_ID); + monInfo->personality = GetMonData(mon, MON_DATA_PERSONALITY); +} + +static void sub_8147D58(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_8147D6C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_8147D84(TaskFunc func) +{ + gUnknown_203F3D4->unk4 = CreateTask(func, 1); + gUnknown_203F3D4->unk8 = 0; +} + +static void sub_8147DA0(u8 taskId) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + sub_8148F5C(sub_8148E80, 5); + FadeOutMapMusic(4); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!FuncIsActiveTask(sub_8148E80)) + { + sub_8149CEC(&gUnknown_203F3D4->unkA4); + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + gUnknown_203F3D4->unk8++; + } + break; + case 2: + if (!sub_8149D68() && IsNotWaitingForBGMStop() == TRUE) + { + FadeOutAndPlayNewMapMusic(MUS_JUMP, 8); + gUnknown_203F3D4->unk8++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback(sub_8147D58); + gUnknown_203F3D4->unk8++; + } + break; + case 4: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_203F3D4->unk7 = 0; + gUnknown_203F3D4->unk8++; + } + break; + case 5: + gUnknown_203F3D4->unk7++; + if (gUnknown_203F3D4->unk7 >= 20) + { + if (gUnknown_203F3D4->isLeader) + sub_8147D84(sub_814807C); + else + sub_8147D84(sub_8148290); + + sub_8148F7C(); + DestroyTask(taskId); + } + break; + } +} + +static void sub_8147F10(int arg0) +{ + if (arg0 == 0) + { + gUnknown_203F3D4->unk30 = 0x1111; + gUnknown_203F3D4->unk2C = 1; + } + else + { + gUnknown_203F3D4->unk30 = (1 << (arg0 - 1)) - 1; + gUnknown_203F3D4->unk2C = 0; + } +} + +static void sub_8147F4C(u8 arg0) +{ + int i; + + gUnknown_203F3D4->unk70.unk0 = arg0; + gUnknown_203F3D4->unk8 = 0; + gUnknown_203F3D4->unkA = 0; + gUnknown_203F3D4->unk48 = 1; + gUnknown_203F3D4->unk49 = 0; + for (i = 1; i < gUnknown_203F3D4->unk5; i++) + gUnknown_203F3D4->unk82E4[i].unk18 = 0; +} + +static void sub_8147FA0(void) +{ + int i; + int count; + u16 var0; + u8 var1; + u16 var2; + + for (i = 1, count = 0; i < gUnknown_203F3D4->unk5; i++) + { + var0 = gUnknown_203F3D4->unk82E4[i].unk10; + if (sub_8149C24(&gUnknown_203F3D4->unk82E4[i], i, &var1, &var2)) + { + gUnknown_203F3D4->unk90[i] = var2; + gUnknown_203F3D4->unk8B[i] = var1; + gUnknown_203F3D4->unk82E4[i].unk12 = var0; + } + + if (gUnknown_203F3D4->unk82E4[i].unk18 && gUnknown_203F3D4->unk8B[i] == gUnknown_203F3D4->unk70.unk0) + count++; + } + + if (count == gUnknown_203F3D4->unk5 - 1) + gUnknown_203F3D4->unk49 = 1; +} + +static bool32 (* const gUnknown_846B64C[])(void) = +{ + sub_8148344, + sub_81483D0, + sub_8148464, + sub_81484D0, + sub_81485C8, + sub_81486C4, + sub_8148760, + sub_81487B4, + sub_814881C, +}; + +static void sub_814807C(u8 taskId) +{ + sub_8147FA0(); + sub_8149534(); + if (!gUnknown_203F3D4->unk48 && gUnknown_203F3D4->unk49) + { + sub_8147F4C(gUnknown_203F3D4->unk4C); + sub_8147F10(3); + } + + if (gUnknown_203F3D4->unk48 == 1) + { + if (!gUnknown_846B64C[gUnknown_203F3D4->unk70.unk0]()) + { + gUnknown_203F3D4->unk48 = 0; + gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 = 1; + } + } + + sub_81492D8(); + sub_8148104(); +} + +static void sub_8148104(void) +{ + if (!gUnknown_203F3D4->unk2C) + sub_8149AF8(gUnknown_203F3D4->unk82E4, &gUnknown_203F3D4->unk70); + + if (gUnknown_203F3D4->unk30 != 0x1111) + { + gUnknown_203F3D4->unk2C++; + gUnknown_203F3D4->unk2C &= gUnknown_203F3D4->unk30; + } +} + +static void sub_8148140(u8 arg0) +{ + gUnknown_203F3D4->unk70.unk0 = arg0; + gUnknown_203F3D4->unk8 = 0; + gUnknown_203F3D4->unkA = 0; + gUnknown_203F3D4->unk48 = 1; + gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 = 0; +} + +static void sub_8148174(void) +{ + int i; + u16 var0; + struct PokemonJump1Sub sp0; + + var0 = gUnknown_203F3D4->unk82E4[0].unk10; + if (sub_8149B7C(gUnknown_203F3D4->unk82E4, &sp0)) + { + if (gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 == 1 + && sp0.unk0 != gUnknown_203F3D4->unk70.unk0) + { + sub_8148140(sp0.unk0); + } + + if (gUnknown_203F3D4->unk70.unk8 != sp0.unk8) + { + gUnknown_203F3D4->unk70.unk8 = sp0.unk8; + gUnknown_203F3D4->unk5C = 1; + gUnknown_203F3D4->unk70.unk1 = sp0.unk1; + if (gUnknown_203F3D4->unk70.unk1) + gUnknown_203F3D4->unk4D = 1; + else + gUnknown_203F3D4->unk4D = 0; + } + + gUnknown_203F3D4->unk70.unk2 = sp0.unk2; + gUnknown_203F3D4->unk70.unk4 = sp0.unk4; + gUnknown_203F3D4->unk82E4[0].unk12 = var0; + } + + for (i = 1; i < gUnknown_203F3D4->unk5; i++) + { + if (i != gUnknown_203F3D4->unk6) + { + var0 = gUnknown_203F3D4->unk82E4[i].unk10; + if (sub_8149C90(&gUnknown_203F3D4->unk82E4[i], i)) + gUnknown_203F3D4->unk82E4[i].unk12 = var0; + } + } +} + +static bool32 (* const gUnknown_846B670[])(void) = +{ + sub_8148398, + sub_8148418, + sub_81484B0, + sub_814856C, + sub_8148664, + sub_8148724, + sub_8148760, + sub_8148800, + sub_814881C, +}; + +static void sub_8148290(u8 taskId) +{ + sub_8148174(); + if (gUnknown_203F3D4->unk48) + { + if (!gUnknown_846B670[gUnknown_203F3D4->unk70.unk0]()) + { + gUnknown_203F3D4->unk48 = 0; + gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 = 1; + sub_8147F10(3); + } + } + + sub_81492D8(); + sub_81482F8(); +} + +static void sub_81482F8(void) +{ + if (!gUnknown_203F3D4->unk2C) + sub_8149BF4(&gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6], gUnknown_203F3D4->unk70.unk0, gUnknown_203F3D4->unk42); + + if (gUnknown_203F3D4->unk30 != 0x1111) + { + gUnknown_203F3D4->unk2C++; + gUnknown_203F3D4->unk2C &= gUnknown_203F3D4->unk30; + } +} + +static bool32 sub_8148344(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(3); + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (!sub_81488DC()) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk4C = 1; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148398(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(0); + gUnknown_203F3D4->unk24 = gUnknown_203F3D4->unk70.unk2; + gUnknown_203F3D4->unk8++; + // fall through + case 1: + return sub_81488DC(); + } + + return TRUE; +} + +static bool32 sub_81483D0(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_81491E4(); + sub_8147F10(5); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (gUnknown_203F3D4->unk49) + { + gUnknown_203F3D4->unk4C = 2; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148418(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_81491E4(); + sub_8147F10(0); + gUnknown_203F3D4->unk4A = gUnknown_203F3D4->unk70.unk2; + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (sub_8149804()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_8148464(void) +{ + if (!sub_81489C8()) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk4C = 1; + } + else if (sub_8149630()) + { + return TRUE; + } + else + { + sub_81491B4(); + gUnknown_203F3D4->unk4C = 3; + } + + return FALSE; +} + +static bool32 sub_81484B0(void) +{ + if (!sub_81489C8()) + ; + else if (sub_8149630()) + return TRUE; + else + sub_81491B4(); + + return FALSE; +} + +static bool32 sub_81484D0(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8149630(); + if (sub_81496D4()) + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8148A60()) + { + if (sub_81498B4()) + { + gUnknown_203F3D4->unk70.unk2 = sub_81498D8(); + gUnknown_203F3D4->unk4C = 7; + } + else if (gUnknown_203F3D4->unk70.unk4 >= 200) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unkE; + gUnknown_203F3D4->unk4C = 8; + } + else + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unkE; + gUnknown_203F3D4->unk4C = 4; + } + + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_814856C(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + if (!sub_8149630()) + sub_81491B4(); + if (sub_81496D4()) + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8148A60()) + { + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_81485C8(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(4); + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (!sub_8148C80()) + { + sub_814B494(gUnknown_203F3D4->unk70.unk8, gUnknown_203F3D4->unk70.unk4, gUnknown_203F3D4->unk70.unk2); + gUnknown_203F3D4->unk8++; + } + break; + case 2: + if (gUnknown_203F3D4->unk49) + { + if (sub_8149748()) + gUnknown_203F3D4->unk4C = 5; + else + gUnknown_203F3D4->unk4C = 6; + + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148664(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(0); + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (!sub_8148C80()) + { + sub_814B494(gUnknown_203F3D4->unk70.unk8, gUnknown_203F3D4->unk70.unk4, gUnknown_203F3D4->unk70.unk2); + gUnknown_203F3D4->unk42 = gUnknown_203F3D4->unk45; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_81486C4(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + if (!sub_8148E2C()) + gUnknown_203F3D4->unk8++; + break; + case 1: + if (gUnknown_203F3D4->unk49) + { + sub_8147B94(gUnknown_203F3D4); + gUnknown_203F3D4->unk24 = Random(); + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unk24; + gUnknown_203F3D4->unk4C = 0; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148724(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + if (!sub_8148E2C()) + { + sub_8147B94(gUnknown_203F3D4); + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 1: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148760(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + gUnknown_203F3D4->unk8 = 1; + break; + case 1: + sub_8147F10(0); + gUnknown_203F3D4->unk8++; + break; + case 2: + if (!sub_8148D5C()) + { + SetMainCallback2(gUnknown_203F3D4->returnCallback); + sub_8147B48(); + } + break; + } + + return TRUE; +} + +static bool32 sub_81487B4(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(4); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8148B54()) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unkE; + gUnknown_203F3D4->unk4C = 8; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148800(void) +{ + sub_8147F10(0); + if (!sub_8148B54()) + return FALSE; + else + return TRUE; +} + +static bool32 sub_814881C(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_814B494(gUnknown_203F3D4->unk70.unk8, gUnknown_203F3D4->unk70.unk4, gUnknown_203F3D4->unk70.unk2); + sub_8149D40(5); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8149D68()) + { + sub_8147F10(0); + gUnknown_203F3D4->unk8++; + } + break; + case 2: + if (sub_8149804()) + { + CreateTask(sub_80DA634, 6); + gUnknown_203F3D4->unk8++; + } + break; + case 3: + if (!FuncIsActiveTask(sub_80DA634)) + { + sub_814A6CC(); + gUnknown_203F3D4->unk8++; + } + break; + case 4: + if (!sub_814A6FC()) + { + gUnknown_203F3D4->unk4C = 4; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_81488DC(void) +{ + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_8149D40(2); + sub_814AAA0(); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_8149D68()) + { + sub_814AAB4(gUnknown_203F3D4->unk6); + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + } + break; + case 2: + if (++gUnknown_203F3D4->unk3C > 120) + { + sub_8149D40(3); + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (sub_8149D68() != 1 && sub_814AAC8() != 1) + gUnknown_203F3D4->unkA++; + break; + case 4: + sub_8149D40(9); + gUnknown_203F3D4->unkA++; + break; + case 5: + if (!sub_8149D68()) + { + sub_814935C(); + sub_814A3E4(); + gUnknown_203F3D4->unkA++; + } + break; + case 6: + if (!sub_814A408()) + { + sub_814936C(); + sub_8148F9C(); + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 7: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_81489C8(void) +{ + sub_8148FE0(); + if (gUnknown_203F3D4->unk36) + { + gUnknown_203F3D4->unk36 = 0; + return FALSE; + } + + switch (gUnknown_203F3D4->unkA) + { + case 0: + if (sub_814922C(0)) + gUnknown_203F3D4->unkA++; + else + break; + // fall through + case 1: + if (gMain.newKeys & A_BUTTON) + { + sub_8149260(); + sub_8147F10(3); + gUnknown_203F3D4->unkA++; + } + break; + case 2: + if (sub_814922C(1) == TRUE) + gUnknown_203F3D4->unkA++; + break; + case 3: + if (sub_814922C(0) == TRUE) + gUnknown_203F3D4->unkA = 0; + break; + } + + return TRUE; +} + +static bool32 sub_8148A60(void) +{ + int i; + + switch (gUnknown_203F3D4->unkA) + { + case 0: + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (sub_814AA78(i) == 1) + return TRUE; + } + + gUnknown_203F3D4->unkA++; + break; + case 1: + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk10 == 2) + sub_814AA60(i); + } + + sub_8149D40(1); + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + break; + case 2: + if (++gUnknown_203F3D4->unk3C > 100) + { + sub_8149D40(3); + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (!sub_8149D68()) + { + sub_814AA8C(); + gUnknown_203F3D4->unk70.unk1 = 0; + sub_8149210(); + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 4: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148B54(void) +{ + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_8149900(gUnknown_203F3D4->unk70.unk2, &gUnknown_203F3D4->unk3E, &gUnknown_203F3D4->unk40); + sub_814A468(gUnknown_203F3D4->unk3E, gUnknown_203F3D4->unk40); + gUnknown_203F3D4->unkA++; + break; + case 1: + case 4: + if (!sub_814A62C()) + { + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + } + break; + case 2: + case 5: + gUnknown_203F3D4->unk3C++; + if (gMain.newKeys & (A_BUTTON | B_BUTTON) || gUnknown_203F3D4->unk3C > 180) + { + sub_814A6CC(); + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (!sub_814A6FC()) + { + gUnknown_203F3D4->unk40 = sub_8149978(gUnknown_203F3D4->unk3E, gUnknown_203F3D4->unk40); + if (gUnknown_203F3D4->unk40 && AddBagItem(gUnknown_203F3D4->unk3E, gUnknown_203F3D4->unk40)) + { + if (!CheckBagHasSpace(gUnknown_203F3D4->unk3E, 1)) + { + sub_814A53C(gUnknown_203F3D4->unk3E); + gUnknown_203F3D4->unkA = 4; + } + else + { + gUnknown_203F3D4->unkA = 6; + break; + } + } + else + { + sub_814A5B4(gUnknown_203F3D4->unk3E); + gUnknown_203F3D4->unkA = 4; + } + } + break; + case 6: + if (!sub_814A6FC()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_8148C80(void) +{ + s8 input; + + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_8149D40(4); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_8149D68()) + gUnknown_203F3D4->unkA++; + break; + case 2: + input = sub_814A744(); + switch (input) + { + case MENU_B_PRESSED: + case 1: + gUnknown_203F3D4->unk45 = 1; + sub_8149D40(6); + gUnknown_203F3D4->unkA++; + break; + case 0: + gUnknown_203F3D4->unk45 = 2; + sub_8149D40(6); + gUnknown_203F3D4->unkA++; + break; + } + break; + case 3: + if (!sub_8149D68()) + gUnknown_203F3D4->unkA++; + break; + case 4: + sub_8149D40(8); + gUnknown_203F3D4->unkA++; + break; + case 5: + if (!sub_8149D68()) + { + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 6: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148D5C(void) +{ + int var0; + + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_814A6CC(); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_814A6FC()) + { + sub_8149D40(7); + gUnknown_203F3D4->unkA++; + } + break; + case 2: + var0 = sub_8149D68(); + if (!var0) + { + gUnknown_203F3D4->unk3C = var0; + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (++gUnknown_203F3D4->unk3C > 120) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_203F3D4->unkA++; + } + break; + case 4: + if (!gPaletteFade.active) + { + Link_TryStartSend5FFF(); + gUnknown_203F3D4->unkA++; + } + break; + case 5: + if (!gReceivedRemoteLinkPlayers) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_8148E2C(void) +{ + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_814A6CC(); + sub_814AA24(0); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_814A6FC()) + { + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static void sub_8148E80(u8 taskId) +{ + int i; + s16 *taskData = gTasks[taskId].data; + struct PokemonJump1 *ptr = (struct PokemonJump1 *)GetWordTaskArg(taskId, 14); + + switch (taskData[0]) + { + case 0: + for (i = 0; i < MAX_RFU_PLAYERS; i++) + taskData[i + 2] = 0; + + taskData[0]++; + // fall through + case 1: + sub_8149A6C(&ptr->unk82A8[ptr->unk6]); + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + if (!taskData[i + 2] && sub_8149A90(i, &ptr->unk82A8[i])) + { + StringCopy(ptr->unk82E4[i].unk1C, gLinkPlayers[i].name); + taskData[i + 2] = 1; + taskData[1]++; + if (taskData[1] == ptr->unk5) + { + sub_8147C20(); + DestroyTask(taskId); + break; + } + } + } + break; + } +} + +static void sub_8148F5C(TaskFunc func, u8 taskPriority) +{ + u8 taskId = CreateTask(func, taskPriority); + SetWordTaskArg(taskId, 14, (uintptr_t)gUnknown_203F3D4); +} + +static void sub_8148F7C(void) +{ + gUnknown_203F3D4->unk4A = 0; + gUnknown_203F3D4->unk14 = 6; + gUnknown_203F3D4->unk34 = 0; + gUnknown_203F3D4->unk1C = 0; + gUnknown_203F3D4->unk36 = 0; + gUnknown_203F3D4->unk10 = 0; +} + +static void sub_8148F9C(void) +{ + gUnknown_203F3D4->unk4A = 0; + gUnknown_203F3D4->unk34 = 0x6FF; + gUnknown_203F3D4->unk14 = 7; + gUnknown_203F3D4->unk36 = 0; + gUnknown_203F3D4->unk10 = 0; + gUnknown_203F3D4->unk51 = 0; + gUnknown_203F3D4->unk50 = 0; + gUnknown_203F3D4->unk20 = 0; + gUnknown_203F3D4->unk4E = 0; + gUnknown_203F3D4->unk6C = 0; + sub_8149078(); +} + +static void sub_8148FE0(void) +{ + if (gUnknown_203F3D4->unk46) + { + gUnknown_203F3D4->unk4A++; + gUnknown_203F3D4->unk34 += sub_8149044(); + if (gUnknown_203F3D4->unk34 >= 0x9FF) + gUnknown_203F3D4->unk34 -= 0x9FF; + + gUnknown_203F3D4->unk18 = gUnknown_203F3D4->unk14; + gUnknown_203F3D4->unk14 = gUnknown_203F3D4->unk34 >> 8; + if (gUnknown_203F3D4->unk14 > 6 && gUnknown_203F3D4->unk18 < 7) + { + gUnknown_203F3D4->unk36++; + sub_8149078(); + } + } +} + +static int sub_8149044(void) +{ + int result; + + if (gUnknown_203F3D4->unk10) + return 0; + + result = gUnknown_203F3D4->unk1C; + if (gUnknown_203F3D4->unk34 <= 0x5FF) + { + gUnknown_203F3D4->unk20 += 80; + result += gUnknown_203F3D4->unk20 >> 8; + } + + return result; +} + +static const u16 gUnknown_846B694[] = {0x1a, 0x1f, 0x24, 0x29, 0x2e, 0x33, 0x38, 0x3d}; +static const u16 gUnknown_846B6A4[] = {0, 1, 1, 2}; + +static void sub_8149078(void) +{ + int var0; + + gUnknown_203F3D4->unk20 = 0; + if (gUnknown_203F3D4->unk4E) + { + gUnknown_203F3D4->unk4E--; + if (gUnknown_203F3D4->unk6C) + { + if (sub_8149194() % 4 != 0) + { + gUnknown_203F3D4->unk1C = gUnknown_203F3D4->unk28; + } + else + { + if (gUnknown_203F3D4->unk28 > 54) + gUnknown_203F3D4->unk1C = 30; + else + gUnknown_203F3D4->unk1C = 82; + } + } + } + else + { + if (!(gUnknown_203F3D4->unk50 & 8)) + { + gUnknown_203F3D4->unk28 = gUnknown_846B694[gUnknown_203F3D4->unk50] + (gUnknown_203F3D4->unk51 * 7); + gUnknown_203F3D4->unk4E = gUnknown_846B6A4[sub_8149194() % NELEMS(gUnknown_846B6A4)] + 2; + gUnknown_203F3D4->unk50++; + } + else + { + if (gUnknown_203F3D4->unk50 == 8) + { + if (gUnknown_203F3D4->unk51 < 3) + gUnknown_203F3D4->unk51++; + else + gUnknown_203F3D4->unk6C = 1; + } + + var0 = gUnknown_846B694[15 - gUnknown_203F3D4->unk50]; + gUnknown_203F3D4->unk28 = var0 + (gUnknown_203F3D4->unk51 * 7); + if (++gUnknown_203F3D4->unk50 > 15) + { + if (sub_8149194() % 4 == 0) + gUnknown_203F3D4->unk28 -= 5; + + gUnknown_203F3D4->unk50 = 0; + } + } + + gUnknown_203F3D4->unk1C = gUnknown_203F3D4->unk28; + } +} + +static int sub_8149194(void) +{ + // The number 1103515245 comes from the example implementation of rand and srand + gUnknown_203F3D4->unk24 = gUnknown_203F3D4->unk24 * 1103515245 + 24691; + return gUnknown_203F3D4->unk24 >> 16; +} + +static void sub_81491B4(void) +{ + gUnknown_203F3D4->unk10 = 1; + gUnknown_203F3D4->unk14 = 6; + gUnknown_203F3D4->unk34 = 0x5FF; + sub_814936C(); +} + +static int sub_81491D8(void) +{ + return gUnknown_203F3D4->unk10; +} + +static void sub_81491E4(void) +{ + int i; + for (i = 0; i < MAX_RFU_PLAYERS; i++) + gUnknown_203F3D4->unk82E4[i].unk14 = 0; +} + +static void sub_8149210(void) +{ + gUnknown_203F3D4->unk83AC->unk10 = 0; + gUnknown_203F3D4->unk83AC->unk12 = 0; +} + +static bool32 sub_814922C(u16 arg0) +{ + if (gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk10 == arg0) + return TRUE; + else + return FALSE; +} + +static void sub_8149260(void) +{ + gUnknown_203F3D4->unk83AC->unkE = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk83AC->unk12 = gUnknown_203F3D4->unk83AC->unk10; + gUnknown_203F3D4->unk83AC->unk10 = 1; +} + +static void sub_8149288(void) +{ + gUnknown_203F3D4->unk83AC->unk12 = gUnknown_203F3D4->unk83AC->unk10; + gUnknown_203F3D4->unk83AC->unk10 = 2; + gUnknown_203F3D4->unk83AC->unkE = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk83AC->unk14 = 2; +} + +static void sub_81492B8(void) +{ + gUnknown_203F3D4->unk83AC->unk12 = gUnknown_203F3D4->unk83AC->unk10; + gUnknown_203F3D4->unk83AC->unk10 = 0; +} + +static const u16 gUnknown_846B6AC[] = {SE_REGI, SE_REAPOKE, SE_W234, SE_EXCELLENT}; + +static void sub_81492D8(void) +{ + if (gUnknown_203F3D4->unk5C) + { + sub_814AA24(gUnknown_203F3D4->unk70.unk8); + gUnknown_203F3D4->unk5C = 0; + if (gUnknown_203F3D4->unk4D) + { + int index = sub_814A98C(gUnknown_203F3D4->unk70.unk1); + PlaySE(gUnknown_846B6AC[index - 2]); + gUnknown_203F3D4->unk4D = 0; + } + } + + sub_814AA34(gUnknown_203F3D4->unk70.unk4); + sub_814937C(); + sub_814933C(); +} + +static void sub_814933C(void) +{ + if (gUnknown_203F3D4->unk46) + sub_814A95C(gUnknown_203F3D4->unk14); +} + +static void sub_814935C(void) +{ + gUnknown_203F3D4->unk46 = 0; +} + +static void sub_814936C(void) +{ + gUnknown_203F3D4->unk46 = 1; +} + +static void sub_814937C(void) +{ + int i; + int whichSound = 0; + int numLinkPlayers = gUnknown_203F3D4->unk5; + + for (i = 0; i < numLinkPlayers; i++) + { + switch (gUnknown_203F3D4->unk82E4[i].unk10) + { + case 0: + sub_814A940(i, 0); + break; + case 1: + if (gUnknown_203F3D4->unk82E4[i].unk12 != 1 || gUnknown_203F3D4->unk82E4[i].unkE != gUnknown_203F3D4->unk9A[i]) + { + if (i == gUnknown_203F3D4->unk6) + gUnknown_203F3D4->unk82E4[i].unk12 = 1; + + whichSound |= 0x1; + gUnknown_203F3D4->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_203F3D4->unk9A[i] = gUnknown_203F3D4->unk82E4[i].unkE; + } + + sub_8149490(i); + break; + case 2: + if (gUnknown_203F3D4->unk82E4[i].unk12 != 2) + { + if (i == gUnknown_203F3D4->unk6) + gUnknown_203F3D4->unk82E4[i].unk12 = 2; + + whichSound |= 0x2; + sub_814AA48(i); + } + break; + } + } + + if (whichSound & 0x2) + PlaySE(SE_NAWAMISS); + else if (whichSound & 0x1) + PlaySE(SE_DANSA); +} + +static const s8 gUnknown_846B6B4[][48] = +{ + {-3, -6, -8, -10, -13, -15, -17, -19, -21, -23, -25, -27, -28, -29, -30, -30, -30, -28, -27, + -26, -25, -23, -22, -20, -18, -17, -15, -13, -11, -8, -6, -4, -1}, + + {-3, -6, -9, -11, -14, -16, -18, -20, -22, -24, -26, -28, -29, -30, -30, -28, -26, -24, -22, + -20, -18, -16, -14, -11, -9, -6, -4, -1}, + + {-3, -6, -9, -11, -13, -15, -17, -19, -21, -23, -25, -27, -28, -29, -30, -30, -30, -30, -29, + -29, -28, -28, -27, -27, -26, -25, -24, -22, -20, -18, -16, -14, + -12, -11, -9, -6, -4, -1}, +}; + +static void sub_8149490(int multiplayerId) +{ + int var0; + int var1; + struct PokemonJump1_82E4 *player; + + if (gUnknown_203F3D4->unk68) + return; + + player = &gUnknown_203F3D4->unk82E4[multiplayerId]; + if (player->unk4 != 0x7FFFFFFF) + { + player->unk4++; + var0 = player->unk4; + } + else + { + var0 = gUnknown_203F3D4->unk4A - player->unkE; + if (var0 >= 65000) + { + var0 -= 65000; + var0 += gUnknown_203F3D4->unk4A; + } + + player->unk4 = var0; + } + + if (var0 < 4) + return; + + var0 -= 4; + if (var0 < 48) + var1 = gUnknown_846B6B4[player->unkC][var0]; + else + var1 = 0; + + sub_814A940(multiplayerId, var1); + if (!var1 && multiplayerId == gUnknown_203F3D4->unk6) + sub_81492B8(); + + player->unk0 = var1; +} + +static void sub_8149534(void) +{ + if (gUnknown_203F3D4->unk14 == 8 && gUnknown_203F3D4->unk18 == 7) + { + if (gUnknown_203F3D4->unk58 == 0) + { + sub_8149878(); + gUnknown_203F3D4->unk54 = 0; + gUnknown_203F3D4->unk58 = 1; + gUnknown_203F3D4->unk70.unk1 = 0; + } + else + { + if (gUnknown_203F3D4->unk54 == 5) + { + gUnknown_203F3D4->unkC++; + sub_8149898(gUnknown_203F3D4->unkC); + } + else + { + gUnknown_203F3D4->unkC = 0; + } + + if (gUnknown_203F3D4->unk54 > 1) + { + gUnknown_203F3D4->unk64 = 1; + memcpy(gUnknown_203F3D4->unk86, gUnknown_203F3D4->unk81, sizeof(u8) * MAX_RFU_PLAYERS); + } + + sub_8149878(); + gUnknown_203F3D4->unk54 = 0; + gUnknown_203F3D4->unk58 = 1; + gUnknown_203F3D4->unk70.unk1 = 0; + if (gUnknown_203F3D4->unk70.unk4 < 9999) + gUnknown_203F3D4->unk70.unk4++; + + sub_8149780(10); + sub_8147F10(3); + } + } + + if (gUnknown_203F3D4->unk64 && (sub_8149710() == TRUE || !gUnknown_203F3D4->unk14)) + { + int var0 = sub_8149834(gUnknown_203F3D4->unk86); + sub_8149780(sub_8149888(var0)); + sub_8147F10(3); + gUnknown_203F3D4->unk64 = 0; + } + + if (gUnknown_203F3D4->unk58) + { + int var1 = sub_81497A8(); + if (var1 > gUnknown_203F3D4->unk54) + { + gUnknown_203F3D4->unk54 = var1; + memcpy(gUnknown_203F3D4->unk81, gUnknown_203F3D4->unk7C, sizeof(u8) * MAX_RFU_PLAYERS); + } + } +} + +static bool32 sub_8149630(void) +{ + int i; + + if (gUnknown_203F3D4->unk14 == 6 && !gUnknown_203F3D4->unk83AC->unk0) + { + if (gUnknown_203F3D4->unk83AC->unk12 == 1 && sub_81491D8() == 1) + { + gUnknown_203F3D4->unk83AC->unk14 = 1; + } + else + { + sub_8149288(); + sub_8147F10(3); + } + } + + if (gUnknown_203F3D4->unk14 == 7 + && gUnknown_203F3D4->unk18 == 6 + && gUnknown_203F3D4->unk83AC->unk10 != 2) + { + gUnknown_203F3D4->unk83AC->unk14 = 1; + sub_8147F10(3); + } + + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk10 == 2) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_81496D4(void) +{ + int i; + int numPlayers = gUnknown_203F3D4->unk5; + int count = 0; + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk14) + count++; + } + + return count == numPlayers; +} + +static bool32 sub_8149710(void) +{ + int i; + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk14 != 1) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8149748(void) +{ + int i; + + if (gUnknown_203F3D4->unk45 == 1) + return FALSE; + + for (i = 1; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk90[i] == 1) + return FALSE; + } + + return TRUE; +} + +static void sub_8149780(int arg0) +{ + gUnknown_203F3D4->unk70.unk8 += arg0; + gUnknown_203F3D4->unk5C = 1; + if (gUnknown_203F3D4->unk70.unk8 >= 99990) + gUnknown_203F3D4->unk70.unk8 = 99990; +} + +static int sub_81497A8(void) +{ + int i; + int count = 0; + int numPlayers = gUnknown_203F3D4->unk5; + + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk0 == -30) + { + gUnknown_203F3D4->unk7C[i] = 1; + count++; + } + else + { + gUnknown_203F3D4->unk7C[i] = 0; + } + } + + return count; +} + +static bool32 sub_8149804(void) +{ + return !Rfu.unk_124.count && !Rfu.unk_9e8.count; +} + +static int sub_8149834(u8 *arg0) +{ + int i; + int flags; + int count; + + for (i = 0, flags = 0, count = 0; i < MAX_RFU_PLAYERS; i++) + { + if (arg0[i]) + { + flags |= 1 << i; + count++; + } + } + + gUnknown_203F3D4->unk70.unk1 = flags; + if (flags) + gUnknown_203F3D4->unk4D = 1; + + return count; +} + +static void sub_8149878(void) +{ + gUnknown_203F3D4->unk44 = 0; +} + +static const int gUnknown_846B74C[] = {0, 0, 50, 100, 200, 500}; + +static int sub_8149888(int arg0) +{ + return gUnknown_846B74C[arg0]; +} + +static void sub_8149898(u16 arg0) +{ + if (arg0 > gUnknown_203F3D4->unkE) + gUnknown_203F3D4->unkE = arg0; +} + +static const u16 gUnknown_846B764[] = {0x8a, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93}; +static const u32 gUnknown_846B76C[][2] = +{ + {0x1388, 1}, + {0x1f40, 2}, + {0x2ee0, 3}, + {0x3e80, 4}, + {0x4e20, 5}, +}; + +static bool32 sub_81498B4(void) +{ + if (gUnknown_203F3D4->unk70.unk8 >= gUnknown_846B76C[0][0]) + return TRUE; + else + return FALSE; +} + +static u16 sub_81498D8(void) +{ + u16 lo = sub_8149910(); + u16 hi = sub_8149930(); + return (hi << 12) | (lo & 0xFFF); +} + +static void sub_8149900(u16 arg0, u16 *arg1, u16 *arg2) +{ + *arg2 = arg0 >> 12; + *arg1 = arg0 & 0xFFF; +} + +static u16 sub_8149910(void) +{ + u16 index = Random() % NELEMS(gUnknown_846B764); + return gUnknown_846B764[index]; +} + +static u16 sub_8149930(void) +{ + u32 val, i; + + val = 0; + for (i = 0; i < 5; i++) + { + if (gUnknown_203F3D4->unk70.unk8 < gUnknown_846B76C[i][0]) + break; + else if (1) // required to match, see pret/pokeemerald#982 + val = gUnknown_846B76C[i][1]; + else + break; + } + + return val; +} + +static u16 sub_8149978(u16 item, u16 quantity) +{ + while (quantity && !CheckBagHasSpace(item, quantity)) + quantity--; + + return quantity; +} + +u16 sub_81499A4(void) +{ + return GetLinkPlayerCount(); +} + +u16 sub_81499B4(void) +{ + return gUnknown_203F3D4->unk6; +} + +struct PokemonJump1_MonInfo *sub_81499C0(u8 multiplayerId) +{ + return &gUnknown_203F3D4->unk82A8[multiplayerId]; +} + +u8 *sub_81499E0(u8 multiplayerId) +{ + return gUnknown_203F3D4->unk82E4[multiplayerId].unk1C; +} + +bool32 IsSpeciesAllowedInPokemonJump(u16 species) +{ + return GetPokemonJumpSpeciesIdx(species) > -1; +} + +void IsPokemonJumpSpeciesInParty(void) +{ + int i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)) + { + u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (IsSpeciesAllowedInPokemonJump(species)) + { + gSpecialVar_Result = TRUE; + return; + } + } + } + + gSpecialVar_Result = FALSE; +} diff --git a/src/pokemon_jump_3.c b/src/pokemon_jump_3.c new file mode 100644 index 000000000..04d9ad439 --- /dev/null +++ b/src/pokemon_jump_3.c @@ -0,0 +1,167 @@ +#include "global.h" +#include "link_rfu.h" +#include "pokemon_jump.h" + +struct MonInfoPacket +{ + u8 id; // packet id + u16 species; + u32 personality; + u32 otId; +}; + +void sub_8149A6C(struct PokemonJump1_MonInfo *arg0) +{ + struct MonInfoPacket packet; + packet.id = 1; + packet.species = arg0->species; + packet.otId = arg0->otId; + packet.personality = arg0->personality; + RfuPrepareSend0x2f00(&packet); +} + +bool32 sub_8149A90(int multiplayerId, struct PokemonJump1_MonInfo *arg0) +{ + struct MonInfoPacket packet; + + if ((gRecvCmds[multiplayerId][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[multiplayerId][1], sizeof(packet)); + if (packet.id == 1) + { + arg0->species = packet.species; + arg0->otId = packet.otId; + arg0->personality = packet.personality; + return TRUE; + } + + return FALSE; +} + +struct UnkPacket2 +{ + u8 id; // packet id + u32 unk4; + u32 unk8; +}; + +void sub_8149AE0(u32 arg0) +{ + struct UnkPacket2 packet; + packet.id = 2; + packet.unk4 = arg0; + RfuPrepareSend0x2f00(&packet); +} + +struct UnkPacket3 +{ + u8 id; // packet id + u8 unk1; + u8 unk2; + u8 unk3_0:5; + u8 unk3_1:3; + u16 unk4; + u16 unk6; + u32 unk8_0:15; + u32 unk8_1:17; +}; + +void sub_8149AF8(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1) +{ + struct UnkPacket3 packet; + packet.id = 3; + packet.unk8_1 = arg1->unk8; + packet.unk3_0 = arg1->unk1; + packet.unk1 = arg1->unk0; + packet.unk6 = arg1->unk2; + packet.unk8_0 = arg1->unk4; + packet.unk2 = arg0->unk10; + packet.unk3_1 = arg0->unk14; + packet.unk4 = arg0->unkE; + RfuPrepareSend0x2f00(&packet); +} + +bool32 sub_8149B7C(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1) +{ + struct UnkPacket3 packet; + + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[0][1], sizeof(packet)); + if (packet.id != 3) + return FALSE; + + arg1->unk8 = packet.unk8_1; + arg1->unk1 = packet.unk3_0; + arg1->unk0 = packet.unk1; + arg1->unk2 = packet.unk6; + arg1->unk4 = packet.unk8_0; + arg0->unk10 = packet.unk2; + arg0->unk14 = packet.unk3_1; + arg0->unkE = packet.unk4; + return TRUE; +} + +struct UnkPacket4 +{ + u8 id; // packet id + u8 unk1; + u8 unk2; + u8 unk3; + u16 unk4; + u8 unk6; + u16 unk8; +}; + +void sub_8149BF4(struct PokemonJump1_82E4 *arg0, u8 arg1, u16 arg2) +{ + struct UnkPacket4 packet; + packet.id = 4; + packet.unk1 = arg0->unk10; + packet.unk2 = arg0->unk14; + packet.unk3 = arg0->unk18; + packet.unk4 = arg0->unkE; + packet.unk6 = arg1; + packet.unk8 = arg2; + RfuPrepareSend0x2f00(&packet); +} + +bool32 sub_8149C24(struct PokemonJump1_82E4 *arg0, int multiplayerId, u8 *arg2, u16 *arg3) +{ + struct UnkPacket4 packet; + + if ((gRecvCmds[multiplayerId][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[multiplayerId][1], sizeof(packet)); + if (packet.id != 4) + return FALSE; + + arg0->unk10 = packet.unk1; + arg0->unk14 = packet.unk2; + arg0->unk18 = packet.unk3; + arg0->unkE = packet.unk4; + *arg2 = packet.unk6; + *arg3 = packet.unk8; + return TRUE; +} + +bool32 sub_8149C90(struct PokemonJump1_82E4 *arg0, int multiplayerId) +{ + struct UnkPacket4 packet; + + if ((gRecvCmds[multiplayerId][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[multiplayerId][1], sizeof(packet)); + if (packet.id != 4) + return FALSE; + + arg0->unk10 = packet.unk1; + arg0->unk14 = packet.unk2; + arg0->unk18 = packet.unk3; + arg0->unkE = packet.unk4; + return TRUE; +} diff --git a/src/pokemon_jump_4.c b/src/pokemon_jump_4.c new file mode 100644 index 000000000..d1c049e7a --- /dev/null +++ b/src/pokemon_jump_4.c @@ -0,0 +1,922 @@ +#include "global.h" +#include "gflib.h" +#include "data.h" +#include "digit_obj_util.h" +#include "dynamic_placeholder_text_util.h" +#include "item.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "pokemon_jump.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" +#include "constants/songs.h" +#include "constants/items.h" + +EWRAM_DATA static struct PokemonJump2 *gUnknown_203F3D8 = NULL; + +static void sub_8149D80(void (*func)(void)); +static void sub_8149DA4(u8 taskId); +static void sub_8149DC8(void); +static void sub_8149F64(void); +static void sub_8149FD0(void); +static void sub_814A03C(void); +static void sub_814A0C8(void); +static void sub_814A174(void); +static void sub_814A218(void); +static void sub_814A264(void); +static void sub_814A308(void); +static void sub_814A3AC(void); +static u32 sub_814A754(u32 left, u32 top, u32 width, u32 height); +static void sub_814A7D0(u16 left, u16 top, u8 cursorPos); +static void sub_814A84C(void); +static void sub_814A8B8(void); +static void sub_814A9C8(void); +static void sub_814AADC(void); +static void sub_814AC30(bool32 arg0); +static void sub_814AC94(void); +static void sub_814ACCC(u8 arg0); +static void sub_814AD50(u8 taskId); + +static void sub_8149D34(struct PokemonJump2 *); + +void sub_8149CEC(struct PokemonJump2 *arg0) +{ + u8 taskId; + + gUnknown_203F3D8 = arg0; + sub_8149D34(gUnknown_203F3D8); + taskId = CreateTask(sub_8149DA4, 3); + gUnknown_203F3D8->unk6 = taskId; + SetWordTaskArg(gUnknown_203F3D8->unk6, 2, (uintptr_t)gUnknown_203F3D8); + sub_8149D80(sub_8149DC8); +} + +void sub_8149D24(void) +{ + FreeAllWindowBuffers(); + DigitObjUtil_Teardown(); +} + +static void sub_8149D34(struct PokemonJump2 *arg0) +{ + arg0->unk4 = 0; + arg0->unk0 = 0; + arg0->unk12 = 0xFF; +} + +// Gfx +static const u16 sPkmnJumpPal3[] = INCBIN_U16("graphics/link_games/pkmnjump_pal3.gbapal"); + +static const u16 sPkmnJumpBgPal[] = INCBIN_U16("graphics/link_games/pkmnjump_bg.gbapal"); +static const u32 sPkmnJumpBgGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_bg.4bpp.lz"); +static const u32 sPkmnJumpBgTilemap[] = INCBIN_U32("graphics/link_games/pkmnjump_bg.bin.lz"); + +static const u16 sPkmnJumpVenusaurPal[] = INCBIN_U16("graphics/link_games/pkmnjump_venusaur.gbapal"); +static const u32 sPkmnJumpVenusaurGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_venusaur.4bpp.lz"); +static const u32 sPkmnJumpVenusaurTilemap[] = INCBIN_U32("graphics/link_games/pkmnjump_venusaur.bin.lz"); + +static const u16 sPkmnJumpResultsPal[] = INCBIN_U16("graphics/link_games/pkmnjump_results.gbapal"); +static const u32 sPkmnJumpResultsGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_results.4bpp.lz"); +static const u32 sPkmnJumpResultsTilemap[] = INCBIN_U32("graphics/link_games/pkmnjump_results.bin.lz"); + +static const struct BgTemplate gUnknown_846D8D4[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 27, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 2, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 12, + .screenSize = 3, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_846D8E4[] = +{ + { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 0, + .width = 6, + .height = 2, + .paletteNum = 2, + .baseBlock = 0x13, + }, + { + .bg = 0, + .tilemapLeft = 8, + .tilemapTop = 0, + .width = 6, + .height = 2, + .paletteNum = 2, + .baseBlock = 0x1F, + }, + DUMMY_WIN_TEMPLATE, +}; + +struct +{ + int id; + void (*func)(void); +} static const gUnknown_846D8FC[] = +{ + {0x00, sub_8149DC8}, + {0x01, sub_8149F64}, + {0x02, sub_8149FD0}, + {0x03, sub_814A03C}, + {0x04, sub_814A0C8}, + {0x05, sub_814A174}, + {0x06, sub_814A218}, + {0x07, sub_814A264}, + {0x09, sub_814A3AC}, + {0x08, sub_814A308}, +}; + +void sub_8149D40(int arg0) +{ + int i; + + for (i = 0; i < NELEMS(gUnknown_846D8FC); i++) + { + if (gUnknown_846D8FC[i].id == arg0) + sub_8149D80(gUnknown_846D8FC[i].func); + } +} + +bool32 sub_8149D68(void) +{ + return (gUnknown_203F3D8->unk0 != 1); +} + +static void sub_8149D80(void (*func)(void)) +{ + SetWordTaskArg(gUnknown_203F3D8->unk6, 0, (uintptr_t)func); + gUnknown_203F3D8->unk4 = 0; + gUnknown_203F3D8->unk0 = 0; +} + +static void sub_8149DA4(u8 taskId) +{ + if (!gUnknown_203F3D8->unk0) + { + void (*func)(void) = (void *)(GetWordTaskArg(taskId, 0)); + + func(); + } +} + +static void sub_8149DC8(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, gUnknown_846D8D4, NELEMS(gUnknown_846D8D4)); + InitWindows(gUnknown_846D8E4); + ResetBgPositions(); + ResetTempTileDataBuffers(); + sub_814AD6C(gUnknown_203F3D8); + sub_814A9C8(); + LoadPalette(sPkmnJumpBgPal, 0, 0x20); + DecompressAndCopyTileDataToVram(3, sPkmnJumpBgGfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(3, sPkmnJumpBgTilemap, 0, 0, 1); + LoadPalette(sPkmnJumpVenusaurPal, 0x30, 0x20); + DecompressAndCopyTileDataToVram(2, sPkmnJumpVenusaurGfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(2, sPkmnJumpVenusaurTilemap, 0, 0, 1); + LoadPalette(sPkmnJumpResultsPal, 0x10, 0x20); + DecompressAndCopyTileDataToVram(1, sPkmnJumpResultsGfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(1, sPkmnJumpResultsTilemap, 0, 0, 1); + LoadPalette(sPkmnJumpPal3, 0x20, 0x20); + SetBgTilemapBuffer(0, gUnknown_203F3D8->tilemapBuffer); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + sub_814A84C(); + sub_814AA24(0); + sub_814FDA0(0, 1, 0xE0); + LoadUserWindowBorderGfx(0, 0x00A, 0xD0); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(1); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!FreeTempTileDataBuffersIfPossible()) + { + sub_814A8B8(); + sub_814B294(gUnknown_203F3D8); + sub_814B348(gUnknown_203F3D8, 6); + ShowBg(3); + ShowBg(0); + ShowBg(2); + HideBg(1); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_8149F64(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814AADC(); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC30(FALSE); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC94(); + gUnknown_203F3D8->unk4++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_8149FD0(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814AADC(); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC30(TRUE); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC94(); + gUnknown_203F3D8->unk4++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A03C(void) +{ + int i, numPlayers; + + numPlayers = sub_81499A4(); + switch (gUnknown_203F3D8->unk4) + { + case 0: + for (i = 0; i < numPlayers; i++) + ClearWindowTilemap(gUnknown_203F3D8->unk1C[i]); + + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + for (i = 0; i < numPlayers; i++) + RemoveWindow(gUnknown_203F3D8->unk1C[i]); + + gUnknown_203F3D8->unk0 = 1; + } + break; + } +} + +static void sub_814A0C8(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(1, 8, 20, 2); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_WantToPlayAgain2, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + sub_814A7D0(23, 7, 0); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A174(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(2, 7, 26, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SavingDontTurnOffPower, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A218(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814A6CC(); + DestroyYesNoMenu(); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!sub_814A6FC() && !IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A264(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(2, 8, 22, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SomeoneDroppedOut2, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A308(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(7, 10, 16, 2); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_CommunicationStandby4, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A3AC(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814B43C(gUnknown_203F3D8); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!sub_814B460()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +void sub_814A3E4(void) +{ + gUnknown_203F3D8->unkA = 0; + gUnknown_203F3D8->unkB = 0; + gUnknown_203F3D8->unkC = 6; + sub_814A95C(gUnknown_203F3D8->unkC); +} + +bool32 sub_814A408(void) +{ + switch (gUnknown_203F3D8->unkA) + { + case 0: + gUnknown_203F3D8->unkB++; + if (gUnknown_203F3D8->unkB > 10) + { + gUnknown_203F3D8->unkB = 0; + gUnknown_203F3D8->unkC++; + if (gUnknown_203F3D8->unkC >= 10) + { + gUnknown_203F3D8->unkC = 0; + gUnknown_203F3D8->unkA++; + } + } + sub_814A95C(gUnknown_203F3D8->unkC); + if (gUnknown_203F3D8->unkC != 7) + break; + case 1: + return FALSE; + } + + return TRUE; +} + +static const u8 sPluralTxt[] = _("IES"); + +void sub_814A468(u16 itemId, u16 quantity) +{ + CopyItemName(itemId, gUnknown_203F3D8->txtBuff[0]); + ConvertIntToDecimalStringN(gUnknown_203F3D8->txtBuff[1], quantity, STR_CONV_MODE_LEFT_ALIGN, 1); + if (itemId >= FIRST_BERRY_INDEX && itemId < LAST_BERRY_INDEX) + { + if (quantity > 1) + { + int endi = StringLength(gUnknown_203F3D8->txtBuff[0]); + if (endi != 0) + { + endi--; + endi[gUnknown_203F3D8->txtBuff[0]] = EOS; + StringAppend(gUnknown_203F3D8->txtBuff[0], sPluralTxt); + } + } + } + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_203F3D8->txtBuff[1]); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_AwesomeWonF701F700); + gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk14 = MUS_FANFA1; + gUnknown_203F3D8->unkD = 0; +} + +void sub_814A53C(u16 itemId) +{ + CopyItemName(itemId, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_FilledStorageSpace2); + gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk14 = 0; + gUnknown_203F3D8->unkD = 0; +} + +void sub_814A5B4(u16 itemId) +{ + CopyItemName(itemId, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_CantHoldMore); + gUnknown_203F3D8->unk12 = sub_814A754(4, 9, 22, 2); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk14 = 0; + gUnknown_203F3D8->unkD = 0; +} + +bool32 sub_814A62C(void) +{ + switch (gUnknown_203F3D8->unkD) + { + case 0: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unkD++; + } + break; + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + break; + if (gUnknown_203F3D8->unk14 == 0) + { + gUnknown_203F3D8->unkD += 2; + return FALSE; + } + PlayFanfare(gUnknown_203F3D8->unk14); + gUnknown_203F3D8->unkD++; + case 2: + if (!IsFanfareTaskInactive()) + break; + gUnknown_203F3D8->unkD++; + case 3: + return FALSE; + } + + return TRUE; +} + +void sub_814A6CC(void) +{ + if (gUnknown_203F3D8->unk12 != 0xFF) + { + rbox_fill_rectangle(gUnknown_203F3D8->unk12); + CopyWindowToVram(gUnknown_203F3D8->unk12, 1); + gUnknown_203F3D8->unkD = 0; + } +} + +// Can't match this without the ugly GOTO, oh well. +bool32 sub_814A6FC(void) +{ + if (gUnknown_203F3D8->unk12 == 0xFF) + { + RET_FALSE: + return FALSE; + } + + if (gUnknown_203F3D8->unkD == 0) + { + if (!IsDma3ManagerBusyWithBgCopy()) + { + RemoveWindow(gUnknown_203F3D8->unk12); + gUnknown_203F3D8->unk12 = 0xFF; + gUnknown_203F3D8->unkD++; + goto RET_FALSE; + } + } + else if (gUnknown_203F3D8->unkD == 1) + goto RET_FALSE; + + return TRUE; +} + +s8 sub_814A744(void) +{ + return Menu_ProcessInputNoWrapClearOnChoose(); +} + +static u32 sub_814A754(u32 left, u32 top, u32 width, u32 height) +{ + u32 windowId; + struct WindowTemplate window; + + window.bg = 0; + window.tilemapLeft = left; + window.tilemapTop = top; + window.width = width; + window.height = height; + window.paletteNum = 0xF; + window.baseBlock = 0x43; + + windowId = AddWindow(&window); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + return windowId; +} + +static void sub_814A7D0(u16 left, u16 top, u8 cursorPos) +{ + struct WindowTemplate window; + u8 a = cursorPos; + + window.bg = 0; + window.tilemapLeft = left; + window.tilemapTop = top; + window.width = 6; + window.height = 4; + window.paletteNum = 2; + window.baseBlock = 0x2B; + + CreateYesNoMenu(&window, 2, 0, 2, 0x00a, 0xD, a); +} + +static void sub_814A84C(void) +{ + u8 color[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; + + PutWindowTilemap(0); + PutWindowTilemap(1); + FillWindowPixelBuffer(0, PIXEL_FILL(0)); + FillWindowPixelBuffer(1, PIXEL_FILL(0)); + AddTextPrinterParameterized3(0, 0, 0, 2, color, 0, gText_SpacePoints2); + AddTextPrinterParameterized3(1, 0, 0, 2, color, 0, gText_SpaceTimes3); +} + +static const u8 gUnknown_846D953[] = {2, 2, 0, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0}; + +static const struct CompressedSpriteSheet gUnknown_846D960 = {gUnknown_8479688, 0, 0x320}; +static const struct SpritePalette gUnknown_846D968 = {gUnknown_8479668, 0x320}; + +static const u16 gUnknown_846D970[] = {0x06, 0x08, 0x10, 0x08}; +static const u16 gUnknown_846D978[] = {0x06, 0x08, 0x0b, 0x06, 0x10, 0x08}; +static const u16 gUnknown_846D984[] = {0x02, 0x06, 0x06, 0x08, 0x10, 0x08, 0x14, 0x06}; +static const u16 gUnknown_846D994[] = {0x02, 0x06, 0x06, 0x08, 0x0b, 0x06, 0x10, 0x08, 0x14, 0x06}; + +static const u16 *const gUnknown_846D9A8[] = +{ + gUnknown_846D970, + gUnknown_846D978, + gUnknown_846D984, + gUnknown_846D994, +}; + +static const s16 gUnknown_846D9B8[] = {0x0058, 0x0098}; +static const s16 gUnknown_846D9BC[] = {0x0058, 0x0078, 0x0098}; +static const s16 gUnknown_846D9C2[] = {0x0038, 0x0058, 0x0098, 0x00b8}; +static const s16 gUnknown_846D9CA[] = {0x0038, 0x0058, 0x0078, 0x0098, 0x00b8}; + +static const s16 *const gUnknown_846D9D4[] = +{ + gUnknown_846D9B8, + gUnknown_846D9BC, + gUnknown_846D9C2, + gUnknown_846D9CA, +}; + +static void sub_814A8B8(void) +{ + int i, y, playersCount = sub_81499A4(); + const s16 *xCoords = gUnknown_846D9D4[playersCount - 2]; + + for (i = 0; i < playersCount; i++) + { + struct PokemonJump1_MonInfo *info = sub_81499C0(i); + + y = gMonFrontPicCoords[info->species].y_offset; + sub_814ADCC(gUnknown_203F3D8, info, *xCoords, y + 112, i); + sub_814B240(gUnknown_203F3D8, *xCoords, 112, i); + xCoords++; + } +} + +void sub_814A940(u32 id, s16 y) +{ + gUnknown_203F3D8->unk81A8[id]->pos2.y = y; +} + +void sub_814A95C(int id) +{ + sub_814B348(gUnknown_203F3D8, id); + ChangeBgY(2, (gUnknown_846D953[id] * 5) << 0xD, 0); +} + +int sub_814A98C(u8 flags) +{ + int i, count; + + for (i = 0, count = 0; i < 5; i++) + { + if (flags & 1) + { + sub_814AF0C(gUnknown_203F3D8, i); + count++; + } + flags >>= 1; + } + + sub_814ACCC(count - 2); + return count; +} + +static void sub_814A9C8(void) +{ + struct DigitObjUtilTemplate unkStruct; + struct DigitObjUtilTemplate *ptr = &unkStruct; // This temp variable is needed to match, don't ask me why. + + ptr->shape = SPRITE_SHAPE(8x8); + ptr->size = SPRITE_SIZE(8x8); + ptr->strConvMode = 0; + ptr->priority = 1; + ptr->oamCount = 5; + ptr->xDelta = 8; + ptr->x = 108; + ptr->y = 6; + ptr->spriteSheet = (void*) &gUnknown_846D960; + ptr->spritePal = &gUnknown_846D968; + + DigitObjUtil_Init(2); + DigitObjUtil_CreatePrinter(0, 0, ptr); + + unkStruct.oamCount = 4; + unkStruct.x = 30; + unkStruct.y = 6; + DigitObjUtil_CreatePrinter(1, 0, &unkStruct); +} + +void sub_814AA24(int arg0) +{ + DigitObjUtil_PrintNumOn(0, arg0); +} + +void sub_814AA34(u16 arg0) +{ + DigitObjUtil_PrintNumOn(1, arg0); +} + +void sub_814AA48(u8 multiplayerId) +{ + sub_814AFE8(gUnknown_203F3D8, multiplayerId); +} + +void sub_814AA60(u8 multiplayerId) +{ + sub_814B080(gUnknown_203F3D8, multiplayerId); +} + +int sub_814AA78(int multiplayerId) +{ + return sub_814B010(gUnknown_203F3D8, multiplayerId); +} + +void sub_814AA8C(void) +{ + sub_814B0A8(gUnknown_203F3D8); +} + +void sub_814AAA0(void) +{ + sub_814B134(gUnknown_203F3D8); +} + +void sub_814AAB4(int multiplayerId) +{ + sub_814B168(gUnknown_203F3D8, multiplayerId); +} + +int sub_814AAC8(void) +{ + return sub_814B190(gUnknown_203F3D8); +} + +static void sub_814AADC(void) +{ + struct WindowTemplate window; + int i, playersCount = sub_81499A4(); + const u16 *winCoords = gUnknown_846D9A8[playersCount - 2]; + + window.bg = 0; + window.width = 8; + window.height = 2; + window.paletteNum = 2; + window.baseBlock = 0x2B; + + for (i = 0; i < playersCount; i++) + { + window.tilemapLeft = winCoords[0]; + window.tilemapTop = winCoords[1]; + gUnknown_203F3D8->unk1C[i] = AddWindow(&window); + ClearWindowTilemap(gUnknown_203F3D8->unk1C[i]); + window.baseBlock += 0x10; + winCoords += 2; + } + + CopyBgTilemapBufferToVram(0); +} + +static void sub_814AB98(int multiplayerId, u8 clr1, u8 clr2, u8 clr3) +{ + u32 x; + u8 colors[3] = {clr1, clr2, clr3}; + + FillWindowPixelBuffer(gUnknown_203F3D8->unk1C[multiplayerId], PIXEL_FILL(0)); + x = 64 - GetStringWidth(0, sub_81499E0(multiplayerId), -1); + x /= 2; + AddTextPrinterParameterized3(gUnknown_203F3D8->unk1C[multiplayerId], 0, x, 2, colors, -1, sub_81499E0(multiplayerId)); + CopyWindowToVram(gUnknown_203F3D8->unk1C[multiplayerId], 2); +} + +static void sub_814AC30(bool32 arg0) +{ + int i, var, playersCount = sub_81499A4(); + + if (!arg0) + { + for (i = 0; i < playersCount; i++) + sub_814AB98(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); + } + else + { + var = sub_81499B4(); + for (i = 0; i < playersCount; i++) + { + if (var != i) + sub_814AB98(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); + else + sub_814AB98(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED); + } + } +} + +static void sub_814AC94(void) +{ + int i, playersCount = sub_81499A4(); + + for (i = 0; i < playersCount; i++) + PutWindowTilemap(gUnknown_203F3D8->unk1C[i]); + CopyBgTilemapBufferToVram(0); +} + +static void sub_814ACCC(u8 arg0) +{ + gUnknown_203F3D8->unk18 = 0; + ChangeBgX(1, (arg0 / 2) << 16, 0); + ChangeBgY(1, (((arg0 % 2) << 8) - 40) << 8, 0); + ShowBg(1); + CreateTask(sub_814AD50, 4); +} + +static bool32 sub_814AD18(void) +{ + if (gUnknown_203F3D8->unk18 >= 32) + { + return FALSE; + } + else + { + ChangeBgY(1, 128, 1); + if (++gUnknown_203F3D8->unk18 >= 32) + HideBg(1); + return TRUE; + } +} + +static void sub_814AD50(u8 taskId) +{ + if (!sub_814AD18()) + DestroyTask(taskId); +} diff --git a/src/pokemon_jump_5.c b/src/pokemon_jump_5.c new file mode 100644 index 000000000..f8abb2a1f --- /dev/null +++ b/src/pokemon_jump_5.c @@ -0,0 +1,637 @@ +#include "global.h" +#include "gflib.h" +#include "decompress.h" +#include "minigame_countdown.h" +#include "pokemon_jump.h" +#include "data.h" +#include "trig.h" +#include "constants/songs.h" + +static void sub_814AF74(struct Sprite *sprite); +static void sub_814B038(struct Sprite *sprite); +static void sub_814B100(struct Sprite *sprite); +static void sub_814B1CC(struct Sprite *sprite); + +static const u16 sPkmnJumpPal1[] = INCBIN_U16("graphics/link_games/pkmnjump_pal1.gbapal"); +static const u16 sPkmnJumpPal2[] = INCBIN_U16("graphics/link_games/pkmnjump_pal2.gbapal"); + +static const u32 sPkmnJumpRopeGfx1[] = INCBIN_U32("graphics/link_games/pkmnjump_rope1.4bpp.lz"); +static const u32 sPkmnJumpRopeGfx2[] = INCBIN_U32("graphics/link_games/pkmnjump_rope2.4bpp.lz"); +static const u32 sPkmnJumpRopeGfx3[] = INCBIN_U32("graphics/link_games/pkmnjump_rope3.4bpp.lz"); +static const u32 sPkmnJumpRopeGfx4[] = INCBIN_U32("graphics/link_games/pkmnjump_rope4.4bpp.lz"); + +static const u32 sPkmnJumpStarGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_star.4bpp.lz"); + +static const struct CompressedSpriteSheet gUnknown_846E0B0[] = +{ + {sPkmnJumpRopeGfx1, 0x600, 5}, + {sPkmnJumpRopeGfx2, 0x0c00, 6}, + {sPkmnJumpRopeGfx3, 0x0600, 7}, + {sPkmnJumpRopeGfx4, 0x0600, 8}, + {sPkmnJumpStarGfx, 0x0200, 10}, +}; + +static const struct SpritePalette gUnknown_846E0D8[] = +{ + {sPkmnJumpPal1, 5}, + {sPkmnJumpPal2, 6}, +}; + +// Forward declarations. +static const struct OamData sOamData_846E170; +static const struct SpriteTemplate gUnknown_846E220; +static const struct SpriteTemplate gUnknown_846E238; +static const struct SpriteTemplate gUnknown_846E250; +static const struct SpriteTemplate gUnknown_846E268; + +static const struct SpriteTemplate gUnknown_846E0E8 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sOamData_846E170, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const s16 gUnknown_846E100[][10] = +{ + {0x60, 0x60, 0x60, 0x72, 0x78, 0x78, 0x78, 0x72, 0x60, 0x60}, + {0x46, 0x50, 0x60, 0x72, 0x78, 0x80, 0x78, 0x72, 0x60, 0x50}, + {0x32, 0x48, 0x60, 0x72, 0x80, 0x88, 0x80, 0x72, 0x60, 0x48}, + {0x2a, 0x48, 0x60, 0x72, 0x80, 0x88, 0x80, 0x72, 0x60, 0x48}, +}; + +static const s16 gUnknown_846E150[] = {0x10, 0x28, 0x48, 0x68, 0x88, 0xa8, 0xc8, 0xe0}; + +static const struct SpriteTemplate *const gUnknown_846E160[] = +{ + &gUnknown_846E220, + &gUnknown_846E238, + &gUnknown_846E250, + &gUnknown_846E268, +}; + +static const struct OamData sOamData_846E170 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_846E178 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_846E180 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_846E188 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_846E190[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E198[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1A0[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1A8[] = +{ + ANIMCMD_FRAME(24, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1B0[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1B8[] = +{ + ANIMCMD_FRAME(40, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1C0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1C8[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1D0[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1D8[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1E0[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1E8[] = +{ + ANIMCMD_FRAME(80, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_846E1F0[] = +{ + sSpriteAnim_846E190, + sSpriteAnim_846E198, + sSpriteAnim_846E1A0, + sSpriteAnim_846E1A8, + sSpriteAnim_846E1B0, + sSpriteAnim_846E1B8 +}; + +static const union AnimCmd *const sSpriteAnimTable_846E208[] = +{ + sSpriteAnim_846E1C0, + sSpriteAnim_846E1C8, + sSpriteAnim_846E1D0, + sSpriteAnim_846E1D8, + sSpriteAnim_846E1E0, + sSpriteAnim_846E1E8 +}; + +static const struct SpriteTemplate gUnknown_846E220 = +{ + .tileTag = 5, + .paletteTag = 5, + .oam = &sOamData_846E178, + .anims = sSpriteAnimTable_846E1F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_846E238 = +{ + .tileTag = 6, + .paletteTag = 5, + .oam = &sOamData_846E180, + .anims = sSpriteAnimTable_846E208, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_846E250 = +{ + .tileTag = 7, + .paletteTag = 5, + .oam = &sOamData_846E188, + .anims = sSpriteAnimTable_846E1F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_846E268 = +{ + .tileTag = 8, + .paletteTag = 5, + .oam = &sOamData_846E188, + .anims = sSpriteAnimTable_846E1F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_846E280 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_846E288[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E290[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_846E2AC[] = +{ + sSpriteAnim_846E288, + sSpriteAnim_846E290 +}; + +static const struct SpriteTemplate gUnknown_846E2B4 = +{ + .tileTag = 10, + .paletteTag = 5, + .oam = &sOamData_846E280, + .anims = sSpriteAnimTable_846E2AC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +void sub_814AD6C(struct PokemonJump2 *arg0) +{ + int i; + + for (i = 0; i < NELEMS(gUnknown_846E0B0); i++) + LoadCompressedSpriteSheet(&gUnknown_846E0B0[i]); + + for (i = 0; i < NELEMS(gUnknown_846E0D8); i++) + LoadSpritePalette(&gUnknown_846E0D8[i]); + + arg0->unkE = IndexOfSpritePaletteTag(5); + arg0->unkF = IndexOfSpritePaletteTag(6); +} + +static void sub_814ADB4(struct Sprite *sprite) +{ + int i; + for (i = 0; i < 8; i++) + sprite->data[i] = 0; +} + +void sub_814ADCC(struct PokemonJump2 *arg0, struct PokemonJump1_MonInfo *jumpMon, s16 x, s16 y, u8 multiplayerId) +{ + struct SpriteTemplate spriteTemplate; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + u8 *buffer; + u8 *unusedBuffer; + u8 subpriority; + u8 spriteId; + + spriteTemplate = gUnknown_846E0E8; + buffer = Alloc(0x2000); + unusedBuffer = Alloc(0x800); + if (multiplayerId == sub_81499B4()) + subpriority = 3; + else + subpriority = multiplayerId + 4; + + if (buffer && unusedBuffer) + { + HandleLoadSpecialPokePic( + &gMonFrontPicTable[jumpMon->species], + buffer, + jumpMon->species, + jumpMon->personality); + + spriteSheet.data = buffer; + spriteSheet.tag = multiplayerId; + spriteSheet.size = 0x800; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = GetMonSpritePalFromSpeciesAndPersonality(jumpMon->species, jumpMon->otId, jumpMon->personality); + spritePalette.tag = multiplayerId; + LoadCompressedSpritePalette(&spritePalette); + + Free(buffer); + Free(unusedBuffer); + + spriteTemplate.tileTag += multiplayerId; + spriteTemplate.paletteTag += multiplayerId; + spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); + if (spriteId != MAX_SPRITES) + { + arg0->unk81A8[multiplayerId] = &gSprites[spriteId]; + arg0->unk81FC[multiplayerId] = subpriority; + return; + } + } + + arg0->unk81A8[multiplayerId] = NULL; +} + +void sub_814AF0C(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_814ADB4(arg0->unk81BC[multiplayerId]); + arg0->unk81BC[multiplayerId]->data[7] = arg0->unk81A8[multiplayerId] - gSprites; + arg0->unk81BC[multiplayerId]->invisible = FALSE; + arg0->unk81BC[multiplayerId]->pos1.y = 96; + arg0->unk81BC[multiplayerId]->callback = sub_814AF74; + StartSpriteAnim(arg0->unk81BC[multiplayerId], 1); +} + +static void sub_814AF74(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (sprite->animEnded) + { + sprite->invisible = TRUE; + sprite->callback = SpriteCallbackDummy; + } + break; + case 1: + sprite->pos1.y--; + sprite->data[1]++; + if (sprite->pos1.y <= 72) + { + sprite->pos1.y = 72; + sprite->data[0]++; + } + break; + case 2: + if (++sprite->data[1] >= 48) + { + sprite->invisible = TRUE; + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_814AFE8(struct PokemonJump2 *arg0, int multiplayerId) +{ + arg0->unk81A8[multiplayerId]->callback = sub_814B038; + arg0->unk81A8[multiplayerId]->pos2.y = 0; + sub_814ADB4(arg0->unk81A8[multiplayerId]); +} + +bool32 sub_814B010(struct PokemonJump2 *arg0, int multiplayerId) +{ + return arg0->unk81A8[multiplayerId]->callback == sub_814B038; +} + +static void sub_814B038(struct Sprite *sprite) +{ + if (++sprite->data[1] > 1) + { + if (++sprite->data[2] & 1) + sprite->pos2.y = 2; + else + sprite->pos2.y = -2; + + sprite->data[1] = 0; + } + + if (sprite->data[2] > 12) + { + sprite->pos2.y = 0; + sprite->callback = SpriteCallbackDummy; + } +} + +void sub_814B080(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_814ADB4(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_814B100; +} + +void sub_814B0A8(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_81499A4(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_814B100) + { + arg0->unk81A8[i]->invisible = FALSE; + arg0->unk81A8[i]->callback = SpriteCallbackDummy; + arg0->unk81A8[i]->subpriority = 10; + } + } +} + +static void sub_814B100(struct Sprite *sprite) +{ + if (++sprite->data[0] > 3) + { + sprite->data[0] = 0; + sprite->invisible ^= 1; + } +} + +void sub_814B134(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_81499A4(); + for (i = 0; i < numPlayers; i++) + arg0->unk81A8[i]->subpriority = arg0->unk81FC[i]; +} + +void sub_814B168(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_814ADB4(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_814B1CC; +} + +bool32 sub_814B190(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_81499A4(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_814B1CC) + return TRUE; + } + + return FALSE; +} + +static void sub_814B1CC(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + PlaySE(SE_JITE_PYOKO); + sprite->data[1] = 0; + sprite->data[0]++; + // fall through + case 1: + sprite->data[1] += 4; + if (sprite->data[1] > 0x7F) + sprite->data[1] = 0; + + sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3); + if (sprite->data[1] == 0) + { + if (++sprite->data[2] < 2) + sprite->data[0] = 0; + else + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_814B240(struct PokemonJump2 *arg0, s16 x, s16 y, u8 multiplayerId) +{ + u8 spriteId = CreateSprite(&gUnknown_846E2B4, x, y, 1); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].invisible = TRUE; + arg0->unk81BC[multiplayerId] = &gSprites[spriteId]; + } +} + +void sub_814B294(struct PokemonJump2 *arg0) +{ + int i; + int count; + u8 spriteId; + + count = 0; + for (i = 0; i < 4; i++) + { + spriteId = CreateSprite(gUnknown_846E160[i], gUnknown_846E150[count], gUnknown_846E100[i][0], 2); + arg0->unk81D0[count] = &gSprites[spriteId]; + count++; + } + + for (i = 3; i >= 0; i--) + { + spriteId = CreateSprite(gUnknown_846E160[i], gUnknown_846E150[count], gUnknown_846E100[i][0], 2); + arg0->unk81D0[count] = &gSprites[spriteId]; + arg0->unk81D0[count]->hFlip = 1; + count++; + } +} + +void sub_814B348(struct PokemonJump2 *arg0, int arg1) +{ + int i, count, palNum; + int priority; + + if (arg1 > 5) + { + arg1 = 10 - arg1; + priority = 3; + palNum = arg0->unkF; + } + else + { + priority = 2; + palNum = arg0->unkE; + } + + count = 0; + for (i = 0; i < 4; i++) + { + arg0->unk81D0[count]->pos1.y = gUnknown_846E100[i][arg1]; + arg0->unk81D0[count]->oam.priority = priority; + arg0->unk81D0[count]->oam.paletteNum = palNum; + StartSpriteAnim(arg0->unk81D0[count], arg1); + count++; + } + + for (i = 3; i >= 0; i--) + { + arg0->unk81D0[count]->pos1.y = gUnknown_846E100[i][arg1]; + arg0->unk81D0[count]->oam.priority = priority; + arg0->unk81D0[count]->oam.paletteNum = palNum; + StartSpriteAnim(arg0->unk81D0[count], arg1); + count++; + } +} + +void sub_814B43C(struct PokemonJump2 *arg0) +{ + StartMinigameCountdown(9, 7, 120, 80, 0); + sub_814B134(arg0); +} + +bool32 sub_814B460(void) +{ + return IsMinigameCountdownRunning(); +} diff --git a/src/pokemon_jump_6.c b/src/pokemon_jump_6.c new file mode 100644 index 000000000..1e213ad75 --- /dev/null +++ b/src/pokemon_jump_6.c @@ -0,0 +1,140 @@ +#include "global.h" +#include "gflib.h" +#include "menu.h" +#include "script.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" + +static void Task_ShowPokemonJumpRecords(u8 taskId); +static void TruncateToFirstWordOnly(u8 *str); +static void sub_814B5C4(u16 windowId); + +static struct PokemonJumpResults *sub_814B46C(void) +{ + return &gSaveBlock2Ptr->pokeJump; +} + +void ResetPokeJumpResults(void) +{ + struct PokemonJumpResults *pokeJump = sub_814B46C(); + pokeJump->jumpsInRow = 0; + pokeJump->bestJumpScore = 0; + pokeJump->excellentsInRow = 0; + pokeJump->field6 = 0; + pokeJump->field8 = 0; + pokeJump->field2 = 0; +} + +bool32 sub_814B494(u32 jumpScore, u16 jumpsInRow, u16 excellentsInRow) +{ + struct PokemonJumpResults *pokeJump = sub_814B46C(); + bool32 ret = FALSE; + + if (pokeJump->bestJumpScore < jumpScore && jumpScore <= 99990) + pokeJump->bestJumpScore = jumpScore, ret = TRUE; + if (pokeJump->jumpsInRow < jumpsInRow && jumpsInRow <= 9999) + pokeJump->jumpsInRow = jumpsInRow, ret = TRUE; + if (pokeJump->excellentsInRow < excellentsInRow && excellentsInRow <= 9999) + pokeJump->excellentsInRow = excellentsInRow, ret = TRUE; + + return ret; +} + +void sub_814B4E8(void) +{ + struct PokemonJumpResults *pokeJump = sub_814B46C(); + if (pokeJump->field6 < 9999) + pokeJump->field6++; +} + +void ShowPokemonJumpRecords(void) +{ + u8 taskId = CreateTask(Task_ShowPokemonJumpRecords, 0); + Task_ShowPokemonJumpRecords(taskId); +} + +static const struct WindowTemplate gUnknown_846E2CC = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 28, + .height = 9, + .paletteNum = 15, + .baseBlock = 0x1, +}; + +static const u8 *const gUnknown_846E2D4[] = {gText_JumpsInARow, gText_BestScore2, gText_ExcellentsInARow}; + +static void Task_ShowPokemonJumpRecords(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + data[1] = AddWindow(&gUnknown_846E2CC); + sub_814B5C4(data[1]); + CopyWindowToVram(data[1], 3); + data[0]++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + data[0]++; + break; + case 2: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + rbox_fill_rectangle(data[1]); + CopyWindowToVram(data[1], 1); + data[0]++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + RemoveWindow(data[1]); + DestroyTask(taskId); + EnableBothScriptContexts(); + } + break; + } +} + +static void sub_814B5C4(u16 windowId) +{ + int i, x; + int results[3]; + struct PokemonJumpResults *pokeJump = sub_814B46C(); + u8 strbuf[8]; + results[0] = pokeJump->jumpsInRow; + results[1] = pokeJump->bestJumpScore; + results[2] = pokeJump->excellentsInRow; + + TextWindow_SetStdFrame0_WithPal(windowId, 0x21D, 0xD0); + DrawTextBorderOuter(windowId, 0x21D, 0xD); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + AddTextPrinterParameterized5(windowId, 2, gText_PkmnJumpRecords, 0, 0, TEXT_SPEED_FF, NULL, 1, 0); + for (i = 0; i < NELEMS(gUnknown_846E2D4); i++) + { + AddTextPrinterParameterized5(windowId, 2, gUnknown_846E2D4[i], 0, 20 + (i * 14), TEXT_SPEED_FF, NULL, 1, 0); + ConvertIntToDecimalStringN(strbuf, results[i], STR_CONV_MODE_LEFT_ALIGN, 5); + TruncateToFirstWordOnly(strbuf); + x = 0xDE - GetStringWidth(2, strbuf, 0); + AddTextPrinterParameterized5(windowId, 2, strbuf, x, 20 + (i * 14), TEXT_SPEED_FF, NULL, 0, 0); + } + PutWindowTilemap(windowId); +} + +static void TruncateToFirstWordOnly(u8 *str) +{ + for (;*str != EOS; str++) + { + if (*str == CHAR_SPACE) + { + *str = EOS; + break; + } + } +} diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 6eff367c5..66bdb9194 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -3,7 +3,6 @@ #include "event_data.h" #include "pokedex.h" #include "pokemon.h" -#include "pokemon_size_record.h" #include "string_util.h" #include "text.h" #include "strings.h" diff --git a/src/quest_log.c b/src/quest_log.c index 2ae5e9cfe..6e70ceea8 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -18,10 +18,8 @@ #include "field_fadetransition.h" #include "field_weather.h" #include "event_object_movement.h" -#include "event_object_80688E4.h" #include "event_object_lock.h" #include "field_player_avatar.h" -#include "field_control_avatar.h" #include "battle.h" #include "item.h" #include "region_map.h" @@ -115,7 +113,7 @@ static EWRAM_DATA u16 *gUnknown_203AE90 = NULL; static EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; static EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; static EWRAM_DATA u16 sQuestLogIdx = 0; -static EWRAM_DATA u8 gUnknown_203AF9A[64][2] = {{0}}; +static EWRAM_DATA u8 sMovementScripts[64][2] = {{0}}; static EWRAM_DATA u16 gUnknown_203B01A = 0; static EWRAM_DATA u16 gUnknown_203B01C = 0; static EWRAM_DATA u16 sFlagOrVarPlayhead = 0; @@ -1553,24 +1551,24 @@ void sub_811246C(struct Sprite *sprite) struct ObjectEvent *objectEvent = &gObjectEvents[sprite->data[0]]; if (objectEvent->localId == OBJ_EVENT_ID_PLAYER) { - if (gUnknown_203AF9A[0][0] != OBJ_EVENT_ID_PLAYER) + if (sMovementScripts[0][0] != 0xFF) { - ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[0][0]); - gUnknown_203AF9A[0][0] = OBJ_EVENT_ID_PLAYER; + ObjectEventSetHeldMovement(objectEvent, sMovementScripts[0][0]); + sMovementScripts[0][0] = 0xFF; } - if (gUnknown_203AF9A[0][1] != OBJ_EVENT_ID_PLAYER) + if (sMovementScripts[0][1] != OBJ_EVENT_ID_PLAYER) { sub_8150454(); - gUnknown_203AF9A[0][1] = OBJ_EVENT_ID_PLAYER; + sMovementScripts[0][1] = OBJ_EVENT_ID_PLAYER; } sub_8063E28(objectEvent, sprite); } else { - if (gUnknown_203AF9A[objectEvent->localId][0] != OBJ_EVENT_ID_PLAYER) + if (sMovementScripts[objectEvent->localId][0] != 0xFF) { - ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[objectEvent->localId][0]); - gUnknown_203AF9A[objectEvent->localId][0] = OBJ_EVENT_ID_PLAYER; + ObjectEventSetHeldMovement(objectEvent, sMovementScripts[objectEvent->localId][0]); + sMovementScripts[objectEvent->localId][0] = 0xFF; } sub_8063E28(objectEvent, sprite); } @@ -1738,15 +1736,15 @@ static void sub_8112940(u8 a0, struct UnkStruct_203AE98 *a1, u16 a2) sNumQuestLogs = a2 / 8; for (i = 0; i < 0x40; i++) { - gUnknown_203AF9A[i][0] |= 0xFF; - gUnknown_203AF9A[i][1] |= 0xFF; + sMovementScripts[i][0] |= 0xFF; + sMovementScripts[i][1] |= 0xFF; } sQuestLogIdx = 0; gUnknown_203B01C = 0; gUnknown_3005E90 = (struct UnkStruct_3005E90){}; gUnknown_203B01A = gUnknown_3005E94[sQuestLogIdx].unk_4; - gUnknown_203AF9A[0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; - gUnknown_203AF9A[0][1] = 0xFF; + sMovementScripts[0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; + sMovementScripts[0][1] = 0xFF; gUnknown_3005E88 = 1; break; case 2: @@ -1809,10 +1807,10 @@ void sub_8112B3C(void) switch (gUnknown_3005E94[sQuestLogIdx].unk_6) { case 0: - gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; + sMovementScripts[gUnknown_3005E94[sQuestLogIdx].unk_0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; break; case 1: - gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][1] = gUnknown_3005E94[sQuestLogIdx].unk_3; + sMovementScripts[gUnknown_3005E94[sQuestLogIdx].unk_0][1] = gUnknown_3005E94[sQuestLogIdx].unk_3; break; case 2: *(u32 *)&gUnknown_3005E90 = ((gUnknown_3005E94[sQuestLogIdx].unk_3 << 24) | (gUnknown_3005E94[sQuestLogIdx].unk_2 << 16) | (gUnknown_3005E94[sQuestLogIdx].unk_1 << 8) | (gUnknown_3005E94[sQuestLogIdx].unk_0 << 0)); diff --git a/src/quest_log_objects.c b/src/quest_log_objects.c index aecc5fd68..5676c20fc 100644 --- a/src/quest_log_objects.c +++ b/src/quest_log_objects.c @@ -1,11 +1,8 @@ #include "global.h" -#include "event_data.h" #include "quest_log.h" #include "fieldmap.h" #include "field_player_avatar.h" #include "metatile_behavior.h" -#include "link.h" -#include "link_rfu.h" void SetQuestLogObjectEventsData(struct QuestLog * questLog) { @@ -39,8 +36,8 @@ void SetQuestLogObjectEventsData(struct QuestLog * questLog) questLog->unk_008[i].localId = gObjectEvents[i].localId; questLog->unk_008[i].mapNum = gObjectEvents[i].mapNum; questLog->unk_008[i].mapGroup = gObjectEvents[i].mapGroup; - questLog->unk_008[i].x = gObjectEvents[i].coords2.x; - questLog->unk_008[i].y = gObjectEvents[i].coords2.y; + questLog->unk_008[i].x = gObjectEvents[i].currentCoords.x; + questLog->unk_008[i].y = gObjectEvents[i].currentCoords.y; questLog->unk_008[i].trainerRange_berryTreeId = gObjectEvents[i].trainerRange_berryTreeId; questLog->unk_008[i].mapobj_unk_1F = gObjectEvents[i].mapobj_unk_1F; questLog->unk_008[i].mapobj_unk_21 = gObjectEvents[i].mapobj_unk_21; @@ -83,8 +80,8 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl gObjectEvents[i].localId = questLogObjectEvents[i].localId; gObjectEvents[i].mapNum = questLogObjectEvents[i].mapNum; gObjectEvents[i].mapGroup = questLogObjectEvents[i].mapGroup; - gObjectEvents[i].coords2.x = questLogObjectEvents[i].x; - gObjectEvents[i].coords2.y = questLogObjectEvents[i].y; + gObjectEvents[i].currentCoords.x = questLogObjectEvents[i].x; + gObjectEvents[i].currentCoords.y = questLogObjectEvents[i].y; gObjectEvents[i].trainerRange_berryTreeId = questLogObjectEvents[i].trainerRange_berryTreeId; gObjectEvents[i].mapobj_unk_1F = questLogObjectEvents[i].mapobj_unk_1F; gObjectEvents[i].mapobj_unk_21 = questLogObjectEvents[i].mapobj_unk_21; @@ -94,38 +91,38 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl { if (gObjectEvents[i].localId == templates[j].localId) { - gObjectEvents[i].coords1.x = templates[j].x + 7; - gObjectEvents[i].coords1.y = templates[j].y + 7; + gObjectEvents[i].initialCoords.x = templates[j].x + 7; + gObjectEvents[i].initialCoords.y = templates[j].y + 7; gObjectEvents[i].range.as_nybbles.x = templates[j].movementRangeX; gObjectEvents[i].range.as_nybbles.y = templates[j].movementRangeY; } } - gObjectEvents[i].mapobj_unk_1E = MapGridGetMetatileBehaviorAt(gObjectEvents[i].coords2.x, gObjectEvents[i].coords2.y); - if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y))) + gObjectEvents[i].mapobj_unk_1E = MapGridGetMetatileBehaviorAt(gObjectEvents[i].currentCoords.x, gObjectEvents[i].currentCoords.y); + if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y))) { - gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x; - gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y; + gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x; + gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y; } - else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x - 1), (s16)(gObjectEvents[i].coords2.y))) + else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x - 1), (s16)(gObjectEvents[i].currentCoords.y))) { - gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x - 1; - gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y; + gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x - 1; + gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y; } - else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x + 1), (s16)(gObjectEvents[i].coords2.y))) + else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x + 1), (s16)(gObjectEvents[i].currentCoords.y))) { - gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x + 1; - gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y; + gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x + 1; + gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y; } - else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y - 1))) + else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y - 1))) { - gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x; - gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y - 1; + gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x; + gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y - 1; } - else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].coords2.x), (s16)(gObjectEvents[i].coords2.y + 1))) + else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y + 1))) { - gObjectEvents[i].coords3.x = gObjectEvents[i].coords2.x; - gObjectEvents[i].coords3.y = gObjectEvents[i].coords2.y + 1; + gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x; + gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y + 1; } } diff --git a/src/quest_log_player.c b/src/quest_log_player.c index 0d7a2bb50..b6167a7bf 100644 --- a/src/quest_log_player.c +++ b/src/quest_log_player.c @@ -57,7 +57,7 @@ void sub_8150498(u8 a0) static void sub_81504A8(void) { struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - sub_81507BC(objectEvent, sub_805C808(0)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0)); ObjectEventTurn(objectEvent, objectEvent->placeholder18); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT); } @@ -65,7 +65,7 @@ static void sub_81504A8(void) static void sub_81504E8(void) { struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - sub_81507BC(objectEvent, sub_805C808(1)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(1)); ObjectEventTurn(objectEvent, objectEvent->placeholder18); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE); sub_80BD620(0, 0); @@ -86,7 +86,7 @@ static void sub_8150530(void) } else { - sub_81507BC(objectEvent, sub_805C808(4)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4)); StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection)); } } @@ -101,7 +101,7 @@ static void sub_81505C4(u8 taskId) case 0: ObjectEventClearAnimIfSpecialAnimActive(objectEvent); objectEvent->enableAnim = TRUE; - sub_81507BC(objectEvent, sub_805C808(4)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4)); StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection)); gTasks[taskId].data[0]++; gTasks[taskId].data[1] = 0; @@ -122,9 +122,9 @@ static void sub_81505C4(u8 taskId) if (sprite->animEnded) { if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)) - sub_81507BC(objectEvent, sub_805C808(0)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0)); else - sub_81507BC(objectEvent, sub_805C808(2)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); ObjectEventTurn(objectEvent, objectEvent->placeholder18); sprite->pos2.x = 0; sprite->pos2.y = 0; @@ -142,11 +142,11 @@ static void sub_8150708(void) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)) { - sub_81507BC(objectEvent, sub_805C808(2)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); ObjectEventTurn(objectEvent, objectEvent->placeholder18); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); - gFieldEffectArguments[0] = objectEvent->coords2.x; - gFieldEffectArguments[1] = objectEvent->coords2.y; + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; gFieldEffectArguments[2] = gPlayerAvatar.objectEventId; fieldEffectId = FieldEffectStart(FLDEFF_SURF_BLOB); objectEvent->mapobj_unk_1A = fieldEffectId; diff --git a/src/random.c b/src/random.c index f6c49971d..cb12ec805 100644 --- a/src/random.c +++ b/src/random.c @@ -1,5 +1,4 @@ #include "global.h" -#include "random.h" // The number 1103515245 comes from the example implementation // of rand and srand in the ISO C standard. diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index ebfd18493..8eeb3bb55 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -6,7 +6,6 @@ #include "link.h" #include "data.h" #include "sprite.h" -#include "text.h" #include "gpu_regs.h" #include "scanline_effect.h" #include "help_system.h" @@ -14,8 +13,6 @@ #include "battle_interface.h" #include "battle_anim.h" #include "battle_controllers.h" -#include "reshow_battle_screen.h" -#include "constants/species.h" static void CB2_ReshowBattleScreenAfterMenu(void); static void sub_8077AAC(void); diff --git a/src/rfu_union_tool.c b/src/rfu_union_tool.c index 1d33fb7d1..132ac7b85 100644 --- a/src/rfu_union_tool.c +++ b/src/rfu_union_tool.c @@ -1,8 +1,6 @@ #include "global.h" #include "event_data.h" #include "event_object_movement.h" -#include "event_object_80688E4.h" -#include "event_object_8097404.h" #include "field_player_avatar.h" #include "fieldmap.h" #include "rfu_union_tool.h" @@ -11,7 +9,7 @@ #include "constants/flags.h" #include "constants/event_object_movement.h" #include "constants/union_room.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" static EWRAM_DATA struct UnionObj * UnionObjWork = NULL; static EWRAM_DATA u32 sUnionObjRefreshTimer = 0; @@ -22,24 +20,24 @@ static void UnionPartnerObjectSetFacing(s32 member, s32 group, u8 direction); static const u8 sUnionObjectEventGfxIds[][10] = { [MALE] = { - OBJECT_EVENT_GFX_COOLTRAINER_M, - OBJECT_EVENT_GFX_BLACKBELT, - OBJECT_EVENT_GFX_CAMPER, - OBJECT_EVENT_GFX_YOUNGSTER, - OBJECT_EVENT_GFX_BOY, - OBJECT_EVENT_GFX_BUG_CATCHER, - OBJECT_EVENT_GFX_MAN, - OBJECT_EVENT_GFX_ROCKER + OBJ_EVENT_GFX_COOLTRAINER_M, + OBJ_EVENT_GFX_BLACKBELT, + OBJ_EVENT_GFX_CAMPER, + OBJ_EVENT_GFX_YOUNGSTER, + OBJ_EVENT_GFX_BOY, + OBJ_EVENT_GFX_BUG_CATCHER, + OBJ_EVENT_GFX_MAN, + OBJ_EVENT_GFX_ROCKER }, [FEMALE] = { - OBJECT_EVENT_GFX_COOLTRAINER_F, - OBJECT_EVENT_GFX_CHANNELER, - OBJECT_EVENT_GFX_PICNICKER, - OBJECT_EVENT_GFX_LASS, - OBJECT_EVENT_GFX_WOMAN_1, - OBJECT_EVENT_GFX_BATTLE_GIRL, - OBJECT_EVENT_GFX_WOMAN_2, - OBJECT_EVENT_GFX_BEAUTY + OBJ_EVENT_GFX_COOLTRAINER_F, + OBJ_EVENT_GFX_CHANNELER, + OBJ_EVENT_GFX_PICNICKER, + OBJ_EVENT_GFX_LASS, + OBJ_EVENT_GFX_WOMAN_1, + OBJ_EVENT_GFX_BATTLE_GIRL, + OBJ_EVENT_GFX_WOMAN_2, + OBJ_EVENT_GFX_BEAUTY } }; @@ -442,7 +440,7 @@ void CreateGroupMemberObjectsInvisible(u8 * sprite_ids, s32 group) for (i = 0; i < 5; i++) { s32 obj_id = 5 * group + i; - sprite_ids[obj_id] = sprite_new(OBJECT_EVENT_GFX_MAN, obj_id - 0x38, sUnionPartnerCoords[group][0] + sFacingDirectionOffsets[i][0], sUnionPartnerCoords[group][1] + sFacingDirectionOffsets[i][1], 3, 1); + sprite_ids[obj_id] = sprite_new(OBJ_EVENT_GFX_MAN, obj_id - 0x38, sUnionPartnerCoords[group][0] + sFacingDirectionOffsets[i][0], sUnionPartnerCoords[group][1] + sFacingDirectionOffsets[i][1], 3, 1); RfuUnionObjectToggleInvisibility(obj_id - 0x38, TRUE); } } diff --git a/src/roamer.c b/src/roamer.c index b3cc67f85..cf30dc3d2 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -1,5 +1,4 @@ #include "global.h" -#include "roamer.h" #include "random.h" #include "overworld.h" #include "field_specials.h" diff --git a/src/rock.c b/src/rock.c index 082f3b655..3ec9cec04 100644 --- a/src/rock.c +++ b/src/rock.c @@ -704,7 +704,7 @@ static void sub_80B4F78(struct Sprite *sprite) { u8 taskId = FindTaskIdByFunc(sub_80B4D00); - if (taskId != TASK_NONE) + if (taskId != TAIL_SENTINEL) --gTasks[taskId].data[11]; DestroySprite(sprite); } diff --git a/src/safari_zone.c b/src/safari_zone.c index 65fb89bca..29e436d35 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -2,7 +2,6 @@ #include "battle.h" #include "event_scripts.h" #include "overworld.h" -#include "battle.h" #include "script.h" #include "event_data.h" #include "field_screen_effect.h" diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index b6cce890a..09e49a1bb 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -6,7 +6,6 @@ #include "help_system.h" #include "m4a.h" #include "save.h" -#include "save_failed_screen.h" #include "strings.h" #include "text.h" diff --git a/src/scanline_effect.c b/src/scanline_effect.c index 22699b96d..e664945cd 100644 --- a/src/scanline_effect.c +++ b/src/scanline_effect.c @@ -1,5 +1,4 @@ #include "global.h" -#include "battle.h" #include "task.h" #include "trig.h" #include "scanline_effect.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index 1ff3eb954..77b87aaa8 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -21,7 +21,6 @@ #include "field_message_box.h" #include "new_menu_helpers.h" #include "window.h" -#include "start_menu.h" #include "script_menu.h" #include "string_util.h" #include "data.h" @@ -38,7 +37,6 @@ #include "field_effect.h" #include "fieldmap.h" #include "field_door.h" -#include "scrcmd.h" extern u16 (*const gSpecials[])(void); extern u16 (*const gSpecialsEnd[])(void); @@ -1240,7 +1238,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) HideFieldMessageBox(); playerObjectId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); return FALSE; } @@ -1254,7 +1252,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); playerObjectId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); return FALSE; } diff --git a/src/script_movement.c b/src/script_movement.c new file mode 100644 index 000000000..7503e8f44 --- /dev/null +++ b/src/script_movement.c @@ -0,0 +1,226 @@ +#include "global.h" +#include "task.h" +#include "util.h" +#include "event_object_movement.h" +#include "constants/event_objects.h" +#include "constants/event_object_movement.h" + +static EWRAM_DATA const u8 (*sMovementScripts[OBJECT_EVENTS_COUNT]) = {}; + +static void ScriptMovement_StartMoveObjects(u8 priority); +static u8 GetMoveObjectsTaskId(void); +static u8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8 *movementScript); +static u8 GetMovementScriptIdFromObjectEventId(u8 taskId, u8 objEventId); +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId); +static void ScriptMovement_MoveObjects(u8 taskId); +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript); +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId); +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript); + +bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript) +{ + u8 objEventId; + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objEventId)) + return TRUE; + + if (!FuncIsActiveTask(ScriptMovement_MoveObjects)) + ScriptMovement_StartMoveObjects(50); + return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), objEventId, movementScript); +} + +bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 objEventId; + u8 taskId; + u8 moveScrId; + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objEventId)) + return TRUE; + taskId = GetMoveObjectsTaskId(); + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, objEventId); + if (moveScrId == OBJECT_EVENTS_COUNT) + return TRUE; + return IsMovementScriptFinished(taskId, moveScrId); +} + +void ScriptMovement_UnfreezeObjectEvents(void) +{ + u8 taskId = GetMoveObjectsTaskId(); + if (taskId != TAIL_SENTINEL) + { + ScriptMovement_UnfreezeActiveObjects(taskId); + DestroyTask(taskId); + } +} + +void ScriptMovement_StartMoveObjects(u8 priority) +{ + u8 i; + u8 taskId = CreateTask(ScriptMovement_MoveObjects, priority); + for (i = 1; i < NUM_TASK_DATA; i++) + { + gTasks[taskId].data[i] = -1; + } +} + +u8 GetMoveObjectsTaskId(void) +{ + return FindTaskIdByFunc(ScriptMovement_MoveObjects); +} + +bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8 *movementScript) +{ + u8 moveScrId; + + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, objEventId); + if (moveScrId != OBJECT_EVENTS_COUNT) + { + if (IsMovementScriptFinished(taskId, moveScrId) == FALSE) + { + return TRUE; + } + else + { + ScriptMovement_AddNewMovement(taskId, moveScrId, objEventId, movementScript); + return FALSE; + } + } + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, OBJ_EVENT_ID_PLAYER); + if (moveScrId == OBJECT_EVENTS_COUNT) + { + return TRUE; + } + else + { + ScriptMovement_AddNewMovement(taskId, moveScrId, objEventId, movementScript); + return FALSE; + } +} + +u8 GetMovementScriptIdFromObjectEventId(u8 taskId, u8 objEventId) +{ + u8 i; + u8 *moveScriptId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++, moveScriptId++) + { + if (*moveScriptId == objEventId) + return i; + } + return OBJECT_EVENTS_COUNT; +} + +void LoadObjectEventIdPtrFromMovementScript(u8 taskId, u8 moveScrId, u8 **pObjEventId) +{ + u8 i; + + *pObjEventId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < moveScrId; i++, (*pObjEventId)++) + ; +} + +void SetObjectEventIdAtMovementScript(u8 taskId, u8 moveScrId, u8 objEventId) +{ + u8 *ptr; + + LoadObjectEventIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *ptr = objEventId; +} + +void LoadObjectEventIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *objEventId) +{ + u8 *ptr; + + LoadObjectEventIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *objEventId = *ptr; +} + + +static void ClearMovementScriptFinished(u8 taskId, u8 moveScrId) +{ + u16 mask = ~gBitTable[moveScrId]; + + gTasks[taskId].data[0] &= mask; +} + +static void SetMovementScriptFinished(u8 taskId, u8 moveScrId) +{ + gTasks[taskId].data[0] |= gBitTable[moveScrId]; +} + +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId) +{ + u16 moveScriptFinished = (u16)gTasks[taskId].data[0] & gBitTable[moveScrId]; + + if (moveScriptFinished != 0) + return TRUE; + else + return FALSE; +} + +static void SetMovementScript(u8 moveScrId, const u8 *movementScript) +{ + sMovementScripts[moveScrId] = movementScript; +} + +static const u8 *GetMovementScript(u8 moveScrId) +{ + return sMovementScripts[moveScrId]; +} + +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript) +{ + ClearMovementScriptFinished(taskId, moveScrId); + SetMovementScript(moveScrId, movementScript); + SetObjectEventIdAtMovementScript(taskId, moveScrId, objEventId); +} + +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId) +{ + u8 *pObjEventId; + u8 i; + + pObjEventId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++, pObjEventId++) + { + if (*pObjEventId != 0xFF) + UnfreezeObjectEvent(&gObjectEvents[*pObjEventId]); + } +} + +static void ScriptMovement_MoveObjects(u8 taskId) +{ + u8 i; + u8 objEventId; + + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + LoadObjectEventIdFromMovementScript(taskId, i, &objEventId); + if (objEventId != 0xFF) + ScriptMovement_TakeStep(taskId, i, objEventId, GetMovementScript(i)); + } +} + +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript) +{ + u8 nextMoveActionId; + + if (IsMovementScriptFinished(taskId, moveScrId) == TRUE) + return; + if (ObjectEventIsSpecialAnimActive(&gObjectEvents[objEventId]) + && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId])) + return; + + nextMoveActionId = *movementScript; + if (nextMoveActionId == MOVEMENT_ACTION_STEP_END) + { + SetMovementScriptFinished(taskId, moveScrId); + FreezeObjectEvent(&gObjectEvents[objEventId]); + } + else + { + if (!ObjectEventSetHeldMovement(&gObjectEvents[objEventId], nextMoveActionId)) + { + movementScript++; + SetMovementScript(moveScrId, movementScript); + } + } +} diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index e12b809c6..7c8604b8e 100644 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -1,9 +1,7 @@ #include "global.h" -#include "battle.h" #include "berry.h" #include "daycare.h" #include "event_data.h" -#include "event_object_movement.h" #include "load_save.h" #include "malloc.h" #include "overworld.h" diff --git a/src/sea_cottage_special_anim.c b/src/sea_cottage_special_anim.c deleted file mode 100644 index 56d01ca29..000000000 --- a/src/sea_cottage_special_anim.c +++ /dev/null @@ -1,264 +0,0 @@ -#include "global.h" -#include "event_data.h" -#include "task.h" -#include "menu.h" -#include "field_player_avatar.h" -#include "fieldmap.h" -#include "event_object_movement.h" -#include "field_camera.h" - -static EWRAM_DATA u8 gUnknown_2039984 = 0; - -static void sub_809C1D8(u8 taskId, const s16 *a1, u16 a2); -static void sub_809C334(u8 taskId); -static void sub_809C500(u8 taskId); -static void sub_809C640(u8 taskId); - -static const u16 gUnknown_83DF0D4[] = {0x0308, 0x030a, 0x02d0}; -static const u16 gUnknown_83DF0DA[] = {0x0309, 0x030b, 0x02d1}; -static const u16 gUnknown_83DF0E0[] = {0x0310, 0x0312, 0x02d8}; -static const u16 gUnknown_83DF0E6[] = {0x0311, 0x0313, 0x02d9}; -static const u16 gUnknown_83DF0EC[] = {0x02e3, 0x0316, 0x0314}; -static const u16 gUnknown_83DF0F2[] = {0x02e4, 0x0317, 0x0315}; -static const u16 gUnknown_83DF0F8[] = {0x02eb, 0x031e, 0x031c}; - -// Functions -static void sub_809C1D8(u8 taskId, const s16 *a1, u16 a2) -{ - s16 r5, r3, r4; - s16 i, j; - - r5 = gTasks[taskId].data[4] - 1; - r3 = gTasks[taskId].data[5] - 1; - r4 = gTasks[taskId].data[1]; - - if (gTasks[taskId].data[2] == 0) - { - for (i = 0; i < 3; i++) - { - for (j = 0; j < 3; j++) - { - s32 id = MapGridGetMetatileIdAt(r5 + j, r3 + i); - - if (a1[r4] == (s16)id) - { - if (r4 != 2) - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[r4 + 1]); - else - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[0]); - } - } - } - } - else - { - for (i = 0; i < 3; i++) - { - for (j = 0; j < 3; j++) - { - s32 id = MapGridGetMetatileIdAt(r5 + j, r3 + i); - - if (a1[2 - r4] == (s16)id) - { - if (r4 != 2) - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[1 - r4]); - else - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[2]); - } - } - } - } -} - -static void sub_809C334(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - u16 v1; - - data[3] = 1; - switch (data[0]) - { - case 0: - sub_809C1D8(taskId, gUnknown_83DF0D4, 0); - break; - case 1: - sub_809C1D8(taskId, gUnknown_83DF0DA, 0); - break; - case 2: - sub_809C1D8(taskId, gUnknown_83DF0E0, 0xC00); - break; - case 3: - sub_809C1D8(taskId, gUnknown_83DF0E6, 0); - break; - case 4: - sub_809C1D8(taskId, gUnknown_83DF0EC, 0xC00); - break; - case 5: - sub_809C1D8(taskId, gUnknown_83DF0F2, 0); - break; - case 6: - sub_809C1D8(taskId, gUnknown_83DF0F8, 0); - default: - break; - } - - data[0] = (data[0] + 1) & 7; - v1 = data[0] & 7; - if (v1 == 0) - { - DrawWholeMapView(); - data[1] = (data[1] + 1) % 3; - data[3] = v1; - } -} - -static u8 sub_809C3FC(u16 a0) -{ - u8 taskId; - s16 *data; - - taskId = CreateTask(sub_809C334, 0); - data = gTasks[taskId].data; - PlayerGetDestCoords(&data[4], &data[5]); - data[0] = 0; - data[1] = 0; - data[2] = a0; - sub_809C334(taskId); - return taskId; -} - -void sub_809C448(u8 a0) -{ - u8 taskId; - - taskId = sub_809C3FC(a0); - gUnknown_2039984 = taskId; -} - -void sub_809C460(void) -{ - DestroyTask(gUnknown_2039984); -} - -bool8 sub_809C474(void) -{ - if (gTasks[gUnknown_2039984].data[3] == 0) - { - if (gTasks[gUnknown_2039984].data[1] != 2) - return TRUE; - return FALSE; - } - else - { - return TRUE; - } -} - -// special 0x1b5 - creates a tile animaiton one block left two-four up the player -void sub_809C4A8(void) -{ - u8 taskId; - s16 *data; - - taskId = CreateTask(sub_809C500, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; - data = gTasks[taskId].data; - PlayerGetDestCoords(&data[2], &data[3]); - if (gSpecialVar_0x8004 == 0) - { - gTasks[taskId].data[2] += 6; - gTasks[taskId].data[3] -= 5; - } - else - { - gTasks[taskId].data[2]--; - gTasks[taskId].data[3] -= 5; - } -} - -static void sub_809C500(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - if ((data[1] & 1) == 0) - { - MapGridSetMetatileIdAt(data[2], data[3], 0xEB5); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB7); - } - else - { - MapGridSetMetatileIdAt(data[2], data[3], 0xEB6); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB8); - } - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 2); - } - - data[0]++; - if (data[0] != 0x10) - return; - - data[0] = 0; - data[1]++; - if (data[1] != 0xD) - return; - - MapGridSetMetatileIdAt(data[2], data[3], 0xE8A); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xE96); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 2); - DestroyTask(taskId); -} - -// special 0x1B7 - creates a tile animation two-six blocks right from the top-left corner of the screen -void sub_809C5FC(void) -{ - u8 taskId; - s16 *data; - - taskId = CreateTask(sub_809C640, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; - data = gTasks[taskId].data; - PlayerGetDestCoords(&data[2], &data[3]); - gTasks[taskId].data[2] += 4; - gTasks[taskId].data[3] -= 5; -} - -static void sub_809C640(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - if (data[1] != 0) - { - MapGridSetMetatileIdAt(data[2], data[3], 0xE85); - MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEB4); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 1); - if (data[1] == 4) - { - DestroyTask(taskId); - return; - } - - data[2]--; - } - MapGridSetMetatileIdAt(data[2], data[3], 0xEB9); - MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEBA); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 1); - } - - data[0]++; - if (data[0] == 4) - { - data[0] = 0; - data[1]++; - } -} - diff --git a/src/shop.c b/src/shop.c index 97061f8c0..efbbbd979 100644 --- a/src/shop.c +++ b/src/shop.c @@ -10,7 +10,6 @@ #include "window.h" #include "field_specials.h" #include "field_weather.h" -#include "field_camera.h" #include "task.h" #include "text.h" #include "item.h" @@ -19,7 +18,6 @@ #include "sound.h" #include "string_util.h" #include "overworld.h" -#include "window.h" #include "palette.h" #include "field_fadetransition.h" #include "scanline_effect.h" diff --git a/src/slot_machine.c b/src/slot_machine.c index 651465ddb..d0422ab99 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -11,7 +11,6 @@ #include "coins.h" #include "quest_log.h" #include "overworld.h" -#include "slot_machine.h" #include "menu.h" #include "new_menu_helpers.h" #include "text_window.h" diff --git a/src/sound.c b/src/sound.c index ebd755838..b88d3b642 100644 --- a/src/sound.c +++ b/src/sound.c @@ -5,7 +5,6 @@ #include "quest_log.h" #include "m4a.h" #include "main.h" -#include "pokemon.h" #include "constants/songs.h" #include "task.h" diff --git a/src/special_field_anim.c b/src/special_field_anim.c new file mode 100644 index 000000000..4193f0b5a --- /dev/null +++ b/src/special_field_anim.c @@ -0,0 +1,341 @@ +#include "global.h" +#include "event_data.h" +#include "task.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "field_camera.h" +#include "constants/metatile_labels.h" + +static EWRAM_DATA u8 sEscalatorTaskId = 0; + +static void SetEscalatorMetatile(u8 taskId, const s16 *metatileIds, u16 metatileMasks); +static void Task_DrawEscalator(u8 taskId); +static void Task_DrawTeleporterHousing(u8 taskId); +static void Task_DrawTeleporterCable(u8 taskId); + +#define ESCALATOR_STAGES 3 +#define LAST_ESCALATOR_STAGE (ESCALATOR_STAGES - 1) + +static const u16 sEscalatorMetatiles_BottomNextRail[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_BottomNextRail_Transition2, + METATILE_PokemonCenter_Escalator_BottomNextRail_Transition1, + METATILE_PokemonCenter_Escalator_BottomNextRail_Normal +}; + +static const u16 sEscalatorMetatiles_BottomRail[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_BottomRail_Transition2, + METATILE_PokemonCenter_Escalator_BottomRail_Transition1, + METATILE_PokemonCenter_Escalator_BottomRail_Normal +}; + +static const u16 sEscalatorMetatiles_BottomNext[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_BottomNext_Transition2, + METATILE_PokemonCenter_Escalator_BottomNext_Transition1, + METATILE_PokemonCenter_Escalator_BottomNext_Normal +}; + +static const u16 sEscalatorMetatiles_Bottom[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_Bottom_Transition2, + METATILE_PokemonCenter_Escalator_Bottom_Transition1, + METATILE_PokemonCenter_Escalator_Bottom_Normal +}; + +static const u16 sEscalatorMetatiles_TopNext[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_TopNext_Normal, + METATILE_PokemonCenter_Escalator_TopNext_Transition1, + METATILE_PokemonCenter_Escalator_TopNext_Transition2 +}; + +static const u16 sEscalatorMetatiles_Top[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_Top_Normal, + METATILE_PokemonCenter_Escalator_Top_Transition1, + METATILE_PokemonCenter_Escalator_Top_Transition2 +}; + +static const u16 sEscalatorMetatiles_TopNextRail[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_TopNextRail_Normal, + METATILE_PokemonCenter_Escalator_TopNextRail_Transition1, + METATILE_PokemonCenter_Escalator_TopNextRail_Transition2 +}; + +#define tState data[0] +#define tTransitionStage data[1] +#define tGoingUp data[2] +#define tDrawingEscalator data[3] +#define tPlayerX data[4] +#define tPlayerY data[5] + +static void SetEscalatorMetatile(u8 taskId, const s16 *metatileIds, u16 metatileMasks) +{ + s16 x, y, transitionStage; + s16 i, j; + + x = gTasks[taskId].tPlayerX - 1; + y = gTasks[taskId].tPlayerY - 1; + transitionStage = gTasks[taskId].tTransitionStage; + + // Check all the escalator sections and only progress the selected one to the next stage + if (!gTasks[taskId].tGoingUp) + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + s32 id = MapGridGetMetatileIdAt(x + j, y + i); + + if (metatileIds[transitionStage] == (s16)id) + { + if (transitionStage != LAST_ESCALATOR_STAGE) + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[transitionStage + 1]); + else + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[0]); + } + } + } + } + else + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + s32 id = MapGridGetMetatileIdAt(x + j, y + i); + + if (metatileIds[LAST_ESCALATOR_STAGE - transitionStage] == (s16)id) + { + if (transitionStage != LAST_ESCALATOR_STAGE) + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[1 - transitionStage]); + else + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[LAST_ESCALATOR_STAGE]); + } + } + } + } +} + +static void Task_DrawEscalator(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 state; + + tDrawingEscalator = TRUE; + + // Set tile for each section of the escalator in sequence for current transition stage + switch (tState) + { + case 0: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_BottomNextRail, 0); + break; + case 1: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_BottomRail, 0); + break; + case 2: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_BottomNext, METATILE_COLLISION_MASK); + break; + case 3: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_Bottom, 0); + break; + case 4: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_TopNext, METATILE_COLLISION_MASK); + break; + case 5: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_Top, 0); + break; + case 6: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_TopNextRail, 0); + default: + break; + } + + tState = (tState + 1) & 7; + state = tState & 7; + + // If all sections of the escalator have been set, draw map and progress to next stage + if (state == 0) + { + DrawWholeMapView(); + tTransitionStage = (tTransitionStage + 1) % ESCALATOR_STAGES; + tDrawingEscalator = FALSE; + } +} + +static u8 CreateEscalatorTask(bool16 goingUp) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(Task_DrawEscalator, 0); + data = gTasks[taskId].data; + PlayerGetDestCoords(&tPlayerX, &tPlayerY); + tState = 0; + tTransitionStage = 0; + tGoingUp = goingUp; + Task_DrawEscalator(taskId); + return taskId; +} + +void StartEscalator(bool8 goingUp) +{ + u8 taskId; + + taskId = CreateEscalatorTask(goingUp); + sEscalatorTaskId = taskId; +} + +void StopEscalator(void) +{ + DestroyTask(sEscalatorTaskId); +} + +bool8 IsEscalatorMoving(void) +{ + if (gTasks[sEscalatorTaskId].tDrawingEscalator == FALSE) + { + if (gTasks[sEscalatorTaskId].tTransitionStage != LAST_ESCALATOR_STAGE) + return TRUE; + return FALSE; + } + else + { + return TRUE; + } +} + +#undef tState +#undef tTransitionStage +#undef tGoingUp +#undef tDrawingEscalator +#undef tPlayerX +#undef tPlayerY + +#define tTimer data[0] +#define tState data[1] +#define tX data[2] +#define tY data[3] + +void AnimateTeleporterHousing(void) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(Task_DrawTeleporterHousing, 0); + gTasks[taskId].tTimer = 0; + gTasks[taskId].tState = 0; + data = gTasks[taskId].data; + PlayerGetDestCoords(&tX, &tY); + + // Set the coords of whichever teleporter is being animated + // 0 for the right teleporter, 1 for the left teleporter + if (gSpecialVar_0x8004 == 0) + { + gTasks[taskId].tX += 6; + gTasks[taskId].tY -= 5; + } + else + { + gTasks[taskId].tX -= 1; + gTasks[taskId].tY -= 5; + } +} + +static void Task_DrawTeleporterHousing(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (tTimer == 0) + { + // Alternate the teleporter light / brightness of the teleporter door + if ((tState & 1) == 0) + { + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Light_Yellow | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 2, METATILE_SeaCottage_Teleporter_Door_HalfGlowing | METATILE_COLLISION_MASK); + } + else + { + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Light_Red | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 2, METATILE_SeaCottage_Teleporter_Door_FullGlowing | METATILE_COLLISION_MASK); + } + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 2); + } + + tTimer++; + if (tTimer != 16) + return; + + tTimer = 0; + tState++; + if (tState != 13) + return; + + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Light_Green | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 2, METATILE_SeaCottage_Teleporter_Door | METATILE_COLLISION_MASK); + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 2); + DestroyTask(taskId); +} + +void AnimateTeleporterCable(void) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(Task_DrawTeleporterCable, 0); + gTasks[taskId].tTimer = 0; + gTasks[taskId].tState = 0; + data = gTasks[taskId].data; + PlayerGetDestCoords(&tX, &tY); + gTasks[taskId].tX += 4; + gTasks[taskId].tY -= 5; +} + +static void Task_DrawTeleporterCable(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (tTimer == 0) + { + if (tState != 0) + { + // Set default cable tiles to clear the ball + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Cable_Top | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 1, METATILE_SeaCottage_Teleporter_Cable_Bottom | METATILE_COLLISION_MASK); + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 1); + + // End after drawing 4 times (length of the cable) + if (tState == 4) + { + DestroyTask(taskId); + return; + } + + tX--; + } + + // Draw the cable ball + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_CableBall_Top | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 1, METATILE_SeaCottage_Teleporter_CableBall_Bottom | METATILE_COLLISION_MASK); + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 1); + } + + tTimer++; + if (tTimer == 4) + { + tTimer = 0; + tState++; + } +} + +#undef tTimer +#undef tState +#undef tX +#undef tY diff --git a/src/start_menu.c b/src/start_menu.c index b159f0375..bdcf68b51 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -23,7 +23,7 @@ #include "field_fadetransition.h" #include "field_player_avatar.h" #include "new_menu_helpers.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "event_object_lock.h" #include "script.h" #include "sound.h" diff --git a/src/text.c b/src/text.c index 83f089c12..2d4d4a9b0 100644 --- a/src/text.c +++ b/src/text.c @@ -1,15 +1,11 @@ #include "global.h" #include "main.h" -#include "palette.h" -#include "string_util.h" #include "window.h" #include "text.h" #include "sprite.h" -#include "blit.h" #include "sound.h" #include "m4a.h" #include "quest_log.h" -#include "window.h" #include "graphics.h" #include "dynamic_placeholder_text_util.h" #include "constants/songs.h" diff --git a/src/text_window.c b/src/text_window.c index 98f82e818..6fde39078 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -1,7 +1,6 @@ #include "global.h" #include "bg.h" #include "palette.h" -#include "text.h" #include "window.h" #include "text_window.h" #include "text_window_graphics.h" diff --git a/src/tileset_anims.c b/src/tileset_anims.c index dd0fe453d..04e129049 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -1,10 +1,4 @@ #include "global.h" -#include "graphics.h" -#include "palette.h" -#include "util.h" -#include "battle_transition.h" -#include "task.h" -#include "fieldmap.h" static EWRAM_DATA struct { const u16 *src; diff --git a/src/tm_case.c b/src/tm_case.c index ac4134029..f631e1604 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -25,7 +25,6 @@ #include "scanline_effect.h" #include "sound.h" #include "strings.h" -#include "tm_case.h" #include "menu_indicators.h" #include "constants/items.h" #include "constants/songs.h" diff --git a/src/trade.c b/src/trade.c index 1872e98ee..30bfa8389 100644 --- a/src/trade.c +++ b/src/trade.c @@ -6,7 +6,6 @@ #include "pokemon_icon.h" #include "graphics.h" #include "link.h" -#include "load_save.h" #include "link_rfu.h" #include "cable_club.h" #include "data.h" @@ -14,7 +13,6 @@ #include "menu.h" #include "overworld.h" #include "battle_anim.h" -#include "pokeball.h" #include "party_menu.h" #include "daycare.h" #include "event_data.h" @@ -22,7 +20,6 @@ #include "pokemon_summary_screen.h" #include "pokemon_storage_system.h" #include "new_menu_helpers.h" -#include "trade.h" #include "trade_scene.h" #include "constants/songs.h" #include "constants/moves.h" diff --git a/src/trade_scene.c b/src/trade_scene.c index 601d7ae2b..9f0b83ec9 100644 --- a/src/trade_scene.c +++ b/src/trade_scene.c @@ -10,7 +10,6 @@ #include "palette.h" #include "trade.h" #include "link.h" -#include "librfu.h" #include "link_rfu.h" #include "text.h" #include "mevent.h" @@ -31,7 +30,6 @@ #include "quest_log.h" #include "help_system.h" #include "new_menu_helpers.h" -#include "battle_interface.h" #include "pokedex.h" #include "save.h" #include "load_save.h" @@ -948,13 +946,13 @@ static void TradeAnimInit_LoadGfx(void) DeactivateAllTextPrinters(); // Doing the graphics load... DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - LZDecompressWram(gFile_graphics_interface_menu_map_tilemap, gDecompressionBuffer); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); LoadCompressedPalette(gBattleTextboxPalette, 0x000, 0x20); InitWindows(gUnknown_826D1BC); // ... and doing the same load again DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - LZDecompressWram(gFile_graphics_interface_menu_map_tilemap, gDecompressionBuffer); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); LoadCompressedPalette(gBattleTextboxPalette, 0x000, 0x20); } diff --git a/src/trainer_card.c b/src/trainer_card.c index f29c9c71c..d60738ee6 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -14,7 +14,6 @@ #include "event_data.h" #include "easy_chat.h" #include "money.h" -#include "window.h" #include "strings.h" #include "string_util.h" #include "trainer_card.h" @@ -22,7 +21,6 @@ #include "pokedex.h" #include "pokemon_icon.h" #include "graphics.h" -#include "pokemon_icon.h" #include "help_system.h" #include "trainer_pokemon_sprites.h" #include "new_menu_helpers.h" diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 7262954c9..9f706c6d5 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -2,12 +2,9 @@ #include "sprite.h" #include "window.h" #include "malloc.h" -#include "constants/species.h" #include "palette.h" #include "decompress.h" -#include "trainer_pokemon_sprites.h" #include "pokemon.h" -#include "constants/trainer_classes.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct CompressedSpriteSheet gMonBackPicTable[]; diff --git a/src/trainer_see.c b/src/trainer_see.c new file mode 100644 index 000000000..06fd60442 --- /dev/null +++ b/src/trainer_see.c @@ -0,0 +1,751 @@ +#include "global.h" +#include "battle_setup.h" +#include "event_object_movement.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "quest_log.h" +#include "script.h" +#include "task.h" +#include "util.h" +#include "constants/battle_setup.h" +#include "constants/event_object_movement.h" +#include "constants/event_objects.h" + +typedef u8 (*TrainerApproachFunc)(struct ObjectEvent *, s16, s16, s16); +typedef bool8 (*TrainerSeeFunc)(u8, struct Task *, struct ObjectEvent *); + +static bool8 CheckTrainer(u8 trainerObjId); +static u8 GetTrainerApproachDistance(struct ObjectEvent * trainerObj); +static u8 GetTrainerApproachDistanceSouth(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceNorth(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceWest(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceEast(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent * trainerObj, u8 approachDistance, u8 facingDirection); +static void TrainerApproachPlayer(struct ObjectEvent * trainerObj, u8 approachDistance); +static void Task_RunTrainerSeeFuncList(u8 taskId); +static bool8 TrainerSeeFunc_Dummy(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_StartExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_WaitExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_TrainerApproach(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_PrepareToEngage(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_End(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_BeginRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_WaitRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_TrainerInAshFacesPlayer(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_BeginJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_WaitJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_EndJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +static void Task_DestroyTrainerApproachTask(u8 taskId); +static void SpriteCB_TrainerIcons(struct Sprite * sprite); +static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum); + +static const u16 sGfx_Emoticons[] = INCBIN_U16("graphics/object_events/emoticons.4bpp"); + +// u8 func(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y) +// range is the maximum distance the trainer can see +// x and y are the player's coordinates +// Returns distance to walk if trainer has unobstructed view of player +// Returns 0 if trainer can't see player +static const TrainerApproachFunc sDirectionalApproachDistanceFuncs[] = { + GetTrainerApproachDistanceSouth, + GetTrainerApproachDistanceNorth, + GetTrainerApproachDistanceWest, + GetTrainerApproachDistanceEast +}; + +// bool8 func(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +// Returns TRUE to run the next func immediately +// Returns FALSE to delay the next func to the next frame +static const TrainerSeeFunc sTrainerSeeFuncList[] = { + TrainerSeeFunc_Dummy, + TrainerSeeFunc_StartExclMark, + TrainerSeeFunc_WaitExclMark, + TrainerSeeFunc_TrainerApproach, + TrainerSeeFunc_PrepareToEngage, + TrainerSeeFunc_End, + TrainerSeeFunc_BeginRemoveDisguise, + TrainerSeeFunc_WaitRemoveDisguise, + TrainerSeeFunc_TrainerInAshFacesPlayer, + TrainerSeeFunc_BeginJumpOutOfAsh, + TrainerSeeFunc_WaitJumpOutOfAsh, + TrainerSeeFunc_EndJumpOutOfAsh, + TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj, + TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp, + TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown +}; + +static const TrainerSeeFunc sTrainerSeeFuncList2[] = { + TrainerSeeFunc_TrainerInAshFacesPlayer, + TrainerSeeFunc_BeginJumpOutOfAsh, + TrainerSeeFunc_WaitJumpOutOfAsh, + TrainerSeeFunc_EndJumpOutOfAsh +}; + +bool8 CheckForTrainersWantingBattle(void) +{ + u8 i; + if (sub_8111C2C() == TRUE) + return FALSE; + + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + if (gObjectEvents[i].active + && ( + gObjectEvents[i].trainerType == 1 + || gObjectEvents[i].trainerType == 3 + ) + && CheckTrainer(i) + ) + return TRUE; + } + return FALSE; +} + +static bool8 CheckTrainer(u8 trainerObjId) +{ + const u8 *script = GetObjectEventScriptPointerByObjectEventId(trainerObjId); + u8 approachDistance; + if (GetTrainerFlagFromScriptPointer(script)) + return FALSE; + approachDistance = GetTrainerApproachDistance(&gObjectEvents[trainerObjId]); + if (approachDistance != 0) + { + if (script[1] == TRAINER_BATTLE_DOUBLE && GetMonsStateToDoubles()) + return FALSE; + ConfigureAndSetUpOneTrainerBattle(trainerObjId, script); + TrainerApproachPlayer(&gObjectEvents[trainerObjId], approachDistance - 1); + return TRUE; + } + return FALSE; +} + +static u8 GetTrainerApproachDistance(struct ObjectEvent *trainerObj) +{ + s16 x, y; + u8 i; + u8 approachDistance; + + PlayerGetDestCoords(&x, &y); + if (trainerObj->trainerType == 1) // can only see in one direction + { + approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); + return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection); + } + else // can see in all directions + { + for (i = 0; i < 4; i++) + { + approachDistance = sDirectionalApproachDistanceFuncs[i](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); + if (CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east + return approachDistance; + } + } + + return 0; +} + +// Returns how far south the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceSouth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.x == x + && y > trainerObj->currentCoords.y + && y <= trainerObj->currentCoords.y + range) + { + if (range > 3 && GetIndexOfFirstInactiveObjectEvent() == OBJECT_EVENTS_COUNT) + return 0; + return (y - trainerObj->currentCoords.y); + } + else + return 0; +} + +// Returns how far north the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceNorth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.x == x + && y < trainerObj->currentCoords.y + && y >= trainerObj->currentCoords.y - range) + return (trainerObj->currentCoords.y - y); + else + return 0; +} + +// Returns how far west the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceWest(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.y == y + && x < trainerObj->currentCoords.x + && x >= trainerObj->currentCoords.x - range) + return (trainerObj->currentCoords.x - x); + else + return 0; +} + +// Returns how far east the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceEast(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.y == y + && x > trainerObj->currentCoords.x + && x <= trainerObj->currentCoords.x + range) + return (x - trainerObj->currentCoords.x); + else + return 0; +} + +#define COLLISION_MASK (~1) + +static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 approachDistance, u8 direction) +{ + s16 x, y; + u8 unk19_temp; + u8 unk19b_temp; + u8 i; + u8 collision; + + if (approachDistance == 0) + return 0; + + x = trainerObj->currentCoords.x; + y = trainerObj->currentCoords.y; + + for (i = 0; i <= approachDistance - 1; i++, MoveCoords(direction, &x, &y)) + { + collision = GetCollisionFlagsAtCoords(trainerObj, x, y, direction); + if (collision != 0 && (collision & COLLISION_MASK)) + return 0; + } + + // preserve mapobj_unk_19 before clearing. + unk19_temp = trainerObj->range.as_nybbles.x; + unk19b_temp = trainerObj->range.as_nybbles.y; + trainerObj->range.as_nybbles.x = 0; + trainerObj->range.as_nybbles.y = 0; + + collision = GetCollisionAtCoords(trainerObj, x, y, direction); + + trainerObj->range.as_nybbles.x = unk19_temp; + trainerObj->range.as_nybbles.y = unk19b_temp; + if (collision == 4) + return approachDistance; + + return 0; +} + +#define tFuncId data[0] +#define tTrainerObjHi data[1] +#define tTrainerObjLo data[2] +#define tTrainerRange data[3] +#define tOutOfAshSpriteId data[4] +#define tData5 data[5] + +#define TaskGetTrainerObj(dest, task) do { \ + (dest) = (struct ObjectEvent *)(((task)->tTrainerObjHi << 16) | ((u16)(task)->tTrainerObjLo)); \ +} while (0) + +static void TrainerApproachPlayer(struct ObjectEvent * trainerObj, u8 approachDistance) +{ + u8 taskId = CreateTask(Task_RunTrainerSeeFuncList, 80); + struct Task * task = &gTasks[taskId]; + task->tTrainerObjHi = ((uintptr_t)trainerObj) >> 16; + task->tTrainerObjLo = (uintptr_t)trainerObj; + task->tTrainerRange = approachDistance; +} + +static void StartTrainerApproachWithFollowupTask(TaskFunc taskFunc) +{ + u8 taskId = FindTaskIdByFunc(Task_RunTrainerSeeFuncList); + SetTaskFuncWithFollowupFunc(taskId, Task_RunTrainerSeeFuncList, taskFunc); + gTasks[taskId].tFuncId = 1; + Task_RunTrainerSeeFuncList(taskId); +} + +static void Task_RunTrainerSeeFuncList(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + struct ObjectEvent * trainerObj; + TaskGetTrainerObj(trainerObj, task); + + if (!trainerObj->active) + { + SwitchTaskToFollowupFunc(taskId); + } + else + { + while (sTrainerSeeFuncList[task->tFuncId](taskId, task, trainerObj)) + ; + } +} + +// TrainerSeeFuncs + +static bool8 TrainerSeeFunc_Dummy(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + return FALSE; +} + +static bool8 TrainerSeeFunc_StartExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + u8 action; + // FRLG introduces trainers who can see the player from offscreen above. + // Handle this case here. + if (trainerObj->facingDirection == DIR_SOUTH && task->tTrainerRange > 2) + { + task->tFuncId = 12; + } + else + { + ObjectEventGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); + action = GetFaceDirectionMovementAction(trainerObj->facingDirection); + ObjectEventSetHeldMovement(trainerObj, action); + task->tFuncId++; + } + return TRUE; +} + +static bool8 TrainerSeeFunc_WaitExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) + { + return FALSE; + } + else + { + task->tFuncId++; + if (trainerObj->animPattern == MOVEMENT_TYPE_TREE_DISGUISE || trainerObj->animPattern == MOVEMENT_TYPE_MOUNTAIN_DISGUISE) + task->tFuncId = 6; + if (trainerObj->animPattern == MOVEMENT_TYPE_HIDDEN) + task->tFuncId = 8; + return TRUE; + } +} + +static bool8 TrainerSeeFunc_TrainerApproach(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (!ObjectEventIsMovementOverridden(trainerObj) || ObjectEventClearHeldMovementIfFinished(trainerObj)) + { + if (task->tTrainerRange) + { + ObjectEventSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); + task->tTrainerRange--; + } + else + { + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); + task->tFuncId++; + } + } + return FALSE; +} + +static bool8 TrainerSeeFunc_PrepareToEngage(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + struct ObjectEvent *playerObj; + + if (ObjectEventIsMovementOverridden(trainerObj) && !ObjectEventClearHeldMovementIfFinished(trainerObj)) + return FALSE; + + SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + TryOverrideTemplateCoordsForObjectEvent(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideTemplateCoordsForObjectEvent(trainerObj); + + playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventIsMovementOverridden(playerObj) && !ObjectEventClearHeldMovementIfFinished(playerObj)) + return FALSE; + + sub_805C774(); + // Uncomment to have player turn to face their opponent + // ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); + task->tFuncId++; + return FALSE; +} + +static bool8 TrainerSeeFunc_End(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + + if (!ObjectEventIsMovementOverridden(playerObj) + || ObjectEventClearHeldMovementIfFinished(playerObj)) + SwitchTaskToFollowupFunc(taskId); // This ends the trainer walk routine. + return FALSE; +} + +// Jumps here if disguised. Not used in FRLG. +static bool8 TrainerSeeFunc_BeginRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (!ObjectEventIsMovementOverridden(trainerObj) + || ObjectEventClearHeldMovementIfFinished(trainerObj)) + { + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER); + task->tFuncId++; + } + return FALSE; +} + +static bool8 TrainerSeeFunc_WaitRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (ObjectEventClearHeldMovementIfFinished(trainerObj)) + task->tFuncId = 3; + + return FALSE; +} + +// Jump here if hidden in ash. Not used in FRLG. +static bool8 TrainerSeeFunc_TrainerInAshFacesPlayer(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (!ObjectEventIsMovementOverridden(trainerObj) + || ObjectEventClearHeldMovementIfFinished(trainerObj)) + { + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); + task->tFuncId++; + } + return FALSE; +} + +static bool8 TrainerSeeFunc_BeginJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (ObjectEventCheckHeldMovementStatus(trainerObj)) + { + gFieldEffectArguments[0] = trainerObj->currentCoords.x; + gFieldEffectArguments[1] = trainerObj->currentCoords.y; + gFieldEffectArguments[2] = gSprites[trainerObj->spriteId].subpriority - 1; + gFieldEffectArguments[3] = 2; + task->tOutOfAshSpriteId = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); + task->tFuncId++; + } + return FALSE; +} + +static bool8 TrainerSeeFunc_WaitJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + struct Sprite *sprite; + + if (gSprites[task->tOutOfAshSpriteId].animCmdIndex == 2) + { + trainerObj->fixedPriority = FALSE; + trainerObj->triggerGroundEffectsOnMove = TRUE; + + sprite = &gSprites[trainerObj->spriteId]; + sprite->oam.priority = 2; + ObjectEventClearHeldMovementIfFinished(trainerObj); + ObjectEventSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); + task->tFuncId++; + } + + return FALSE; +} + +static bool8 TrainerSeeFunc_EndJumpOutOfAsh(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) +{ + if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + task->tFuncId = 3; + + return FALSE; +} + +// FRLG exclusive: Scroll the camera up to reveal an offscreen above trainer +static bool8 TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) +{ + int specialObjectId; + task->tData5 = 0; + specialObjectId = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_YOUNGSTER, 7, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + gObjectEvents[specialObjectId].invisible = TRUE; + CameraObjectSetFollowedObjectId(gObjectEvents[specialObjectId].spriteId); + task->tFuncId++; + return FALSE; +} + +static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) +{ + u8 specialObjectId; + TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &specialObjectId); + + if (ObjectEventIsMovementOverridden(&gObjectEvents[specialObjectId]) && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[specialObjectId])) + return FALSE; + + if (task->tData5 != task->tTrainerRange - 1) + { + ObjectEventSetHeldMovement(&gObjectEvents[specialObjectId], sub_8063FB0(DIR_NORTH)); + task->tData5++; + } + else + { + ObjectEventGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); + task->tData5 = 0; + task->tFuncId++; + } + return FALSE; +} + +static bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + u8 specialObjectId; + TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &specialObjectId); + + if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) + return FALSE; + + if (ObjectEventIsMovementOverridden(&gObjectEvents[specialObjectId]) && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[specialObjectId])) + return FALSE; + + if (task->tData5 != task->tTrainerRange - 1) + { + ObjectEventSetHeldMovement(&gObjectEvents[specialObjectId], sub_8063FB0(DIR_SOUTH)); + task->tData5++; + } + else + { + CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); + RemoveObjectEventByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + task->tData5 = 0; + task->tFuncId = 2; + } + return FALSE; +} + +#undef tData5 +#undef tOutOfAshSpriteId +#undef tTrainerRange +#undef tTrainerObjLo +#undef tTrainerObjHi +#undef tFuncId + +static void Task_RevealTrainer_RunTrainerSeeFuncList(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + struct ObjectEvent * trainerObj; + + // another objEvent loaded into by loadword? + LoadWordFromTwoHalfwords((u16 *)&task->data[1], (uintptr_t *)&trainerObj); + if (!task->data[7]) + { + ObjectEventClearAnim(trainerObj); + task->data[7]++; + } + sTrainerSeeFuncList2[task->data[0]](taskId, task, trainerObj); + if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + { + SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + TryOverrideTemplateCoordsForObjectEvent(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + DestroyTask(taskId); + } + else + { + trainerObj->heldMovementFinished = FALSE; + } +} + +void MovementAction_RevealTrainer_RunTrainerSeeFuncList(struct ObjectEvent *var) +{ + StoreWordInTwoHalfwords((u16 *)&gTasks[CreateTask(Task_RevealTrainer_RunTrainerSeeFuncList, 0)].data[1], (u32)var); +} + +void ScrSpecial_EndTrainerApproach(void) +{ + StartTrainerApproachWithFollowupTask(Task_DestroyTrainerApproachTask); +} + +static void Task_DestroyTrainerApproachTask(u8 taskId) +{ + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +// Trainer See Excl Mark Field Effect + +#define sLocalId data[0] +#define sMapNum data[1] +#define sMapGroup data[2] +#define sData3 data[3] +#define sData4 data[4] +#define sFldEffId data[7] + +static const struct OamData sOamData_Emoticons = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteFrameImage sSpriteImages_Emoticons[] = { + {sGfx_Emoticons + 0x000, 0x80}, + {sGfx_Emoticons + 0x040, 0x80}, + {sGfx_Emoticons + 0x080, 0x80}, + + {sGfx_Emoticons + 0x180, 0x80}, + {sGfx_Emoticons + 0x1C0, 0x80}, + {sGfx_Emoticons + 0x200, 0x80}, + + {sGfx_Emoticons + 0x0C0, 0x80}, + {sGfx_Emoticons + 0x100, 0x80}, + {sGfx_Emoticons + 0x140, 0x80}, + + {sGfx_Emoticons + 0x240, 0x80}, + {sGfx_Emoticons + 0x280, 0x80}, + {sGfx_Emoticons + 0x2C0, 0x80}, + + {sGfx_Emoticons + 0x300, 0x80}, + {sGfx_Emoticons + 0x340, 0x80}, + {sGfx_Emoticons + 0x380, 0x80}, +}; + +static const union AnimCmd sAnimCmd_ExclamationMark1[] = { + ANIMCMD_FRAME( 0, 4), + ANIMCMD_FRAME( 1, 4), + ANIMCMD_FRAME( 2, 52), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_DoubleExclMark[] = { + ANIMCMD_FRAME( 6, 4), + ANIMCMD_FRAME( 7, 4), + ANIMCMD_FRAME( 8, 52), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_X[] = { + ANIMCMD_FRAME( 3, 4), + ANIMCMD_FRAME( 4, 4), + ANIMCMD_FRAME( 5, 52), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_SmileyFace[] = { + ANIMCMD_FRAME( 9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(11, 52), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_QuestionMark[] = { + ANIMCMD_FRAME(12, 4), + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(14, 52), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_Emoticons[] = { + sAnimCmd_ExclamationMark1, + sAnimCmd_DoubleExclMark, + sAnimCmd_X, + sAnimCmd_SmileyFace, + sAnimCmd_QuestionMark +}; + +static const struct SpriteTemplate sSpriteTemplate_Emoticons = { + .tileTag = 0xFFFF, + .paletteTag = 0xFFFF, + .oam = &sOamData_Emoticons, + .anims = sSpriteAnimTable_Emoticons, + .images = sSpriteImages_Emoticons, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TrainerIcons +}; + +u8 FldEff_ExclamationMarkIcon1(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x53); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON, 0); + + return 0; +} + +u8 FldEff_DoubleExclMarkIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_DOUBLE_EXCL_MARK_ICON, 1); + + return 0; +} + +u8 FldEff_XIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_X_ICON, 2); + + return 0; +} + +u8 FldEff_SmileyFaceIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_SMILEY_FACE_ICON, 3); + + return 0; +} + +u8 FldEff_QuestionMarkIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_QUESTION_MARK_ICON, 4); + + return 0; +} + +static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum) +{ + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = 1; + + sprite->sLocalId = gFieldEffectArguments[0]; + sprite->sMapNum = gFieldEffectArguments[1]; + sprite->sMapGroup = gFieldEffectArguments[2]; + sprite->sData3 = -5; + sprite->sFldEffId = fldEffId; + + StartSpriteAnim(sprite, spriteAnimNum); +} + +static void SpriteCB_TrainerIcons(struct Sprite *sprite) +{ + u8 objEventId; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &objEventId) + || sprite->animEnded) + { + FieldEffectStop(sprite, sprite->sFldEffId); + } + else + { + struct Sprite *objEventSprite = &gSprites[gObjectEvents[objEventId].spriteId]; + sprite->sData4 += sprite->sData3; + sprite->pos1.x = objEventSprite->pos1.x; + sprite->pos1.y = objEventSprite->pos1.y - 16; + sprite->pos2.x = objEventSprite->pos2.x; + sprite->pos2.y = objEventSprite->pos2.y + sprite->sData4; + if (sprite->sData4) + sprite->sData3++; + else + sprite->sData3 = 0; + } +} + +#undef sLocalId +#undef sMapNum +#undef sMapGroup +#undef sData3 +#undef sData4 +#undef sFldEffId diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 0f9907e2d..0c673b5aa 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -2,11 +2,9 @@ #include "main.h" #include "task.h" #include "malloc.h" -#include "save.h" #include "util.h" #include "string_util.h" #include "event_data.h" -#include "random.h" #include "cereader_tool.h" #include "easy_chat.h" #include "text.h" @@ -20,16 +18,14 @@ #include "menu.h" #include "new_menu_helpers.h" #include "sound.h" -#include "constants/flags.h" #include "constants/vars.h" #include "constants/items.h" #include "constants/species.h" -#include "constants/maps.h" #include "constants/songs.h" #include "constants/layouts.h" #include "constants/trainers.h" #include "constants/facility_trainer_classes.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" #include "constants/trainer_tower.h" #define CURR_FLOOR sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx] @@ -116,102 +112,102 @@ extern const u8 gText_XMinYZSec[]; extern const u8 *const gTrainerTowerChallengeTypeTexts[]; static const struct SinglesTrainerInfo sSingleBattleTrainerInfo[] = { - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY, FEMALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC, MALE}, - {OBJECT_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER, FEMALE}, - {OBJECT_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_TUBER_2, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_2, FEMALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_HEX_MANIAC, MALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY, FEMALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_RICH_BOY, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC, MALE}, - {OBJECT_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE, MALE}, - {OBJECT_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_GUITARIST, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_KINDLER, MALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BUG_MANIAC, MALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC, MALE}, - {OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_2, FEMALE}, - {OBJECT_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN, MALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_SCHOOL_KID, MALE}, - {OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SCHOOL_KID_2, FEMALE}, - {OBJECT_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_POKEFAN, MALE}, - {OBJECT_EVENT_GFX_WOMAN_3, FACILITY_CLASS_POKEFAN_2, FEMALE}, - {OBJECT_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_EXPERT, MALE}, - {OBJECT_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_EXPERT_2, FEMALE}, - {OBJECT_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER, MALE}, - {OBJECT_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_DRAGON_TAMER, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER, MALE}, - {OBJECT_EVENT_GFX_LITTLE_BOY, FACILITY_CLASS_NINJA_BOY, MALE}, - {OBJECT_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, FACILITY_CLASS_PARASOL_LADY, FEMALE}, - {OBJECT_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER, FEMALE}, - {OBJECT_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR, MALE}, - {OBJECT_EVENT_GFX_FAT_MAN, FACILITY_CLASS_COLLECTOR, MALE}, - {OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_PKMN_BREEDER, MALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_2, FEMALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER, MALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_2, FEMALE}, - {OBJECT_EVENT_GFX_LASS, FACILITY_CLASS_LASS, FEMALE}, - {OBJECT_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER, MALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER, MALE}, - {OBJECT_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER_2, MALE}, - {OBJECT_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER_2, MALE}, - {OBJECT_EVENT_GFX_LASS, FACILITY_CLASS_LASS_2, FEMALE}, - {OBJECT_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR_2, MALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER_2, MALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER_2, FEMALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC_2, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_SUPER_NERD, MALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER_2, MALE}, - {OBJECT_EVENT_GFX_BIKER, FACILITY_CLASS_BIKER, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BURGLAR, MALE}, - {OBJECT_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_ENGINEER, MALE}, - {OBJECT_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN_2, MALE}, - {OBJECT_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE_2, MALE}, - {OBJECT_EVENT_GFX_BIKER, FACILITY_CLASS_CUE_BALL, MALE}, - {OBJECT_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_GAMER, MALE}, - {OBJECT_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY_2, FEMALE}, - {OBJECT_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE_2, FEMALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC_3, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_ROCKER, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_JUGGLER, MALE}, - {OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_TAMER, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER_2, MALE}, - {OBJECT_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT_2, MALE}, - {OBJECT_EVENT_GFX_SCIENTIST, FACILITY_CLASS_SCIENTIST, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_3, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_4, FEMALE}, - {OBJECT_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN_2, MALE}, - {OBJECT_EVENT_GFX_CHANNELER, FACILITY_CLASS_CHANNELER, FEMALE}, - {OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_4, FEMALE}, - {OBJECT_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_CRUSH_GIRL, FEMALE}, - {OBJECT_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER_3, FEMALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_3, FEMALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER_3, MALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_4, FEMALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY_2, FEMALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC_2, MALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY_2, FEMALE}, - {OBJECT_EVENT_GFX_LASS, FACILITY_CLASS_PAINTER, FEMALE} + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY, FEMALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC, MALE}, + {OBJ_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER, FEMALE}, + {OBJ_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_TUBER_2, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_2, FEMALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_HEX_MANIAC, MALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY, FEMALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_RICH_BOY, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC, MALE}, + {OBJ_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE, MALE}, + {OBJ_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_GUITARIST, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_KINDLER, MALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BUG_MANIAC, MALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC, MALE}, + {OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_2, FEMALE}, + {OBJ_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN, MALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_SCHOOL_KID, MALE}, + {OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SCHOOL_KID_2, FEMALE}, + {OBJ_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_POKEFAN, MALE}, + {OBJ_EVENT_GFX_WOMAN_3, FACILITY_CLASS_POKEFAN_2, FEMALE}, + {OBJ_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_EXPERT, MALE}, + {OBJ_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_EXPERT_2, FEMALE}, + {OBJ_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER, MALE}, + {OBJ_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_DRAGON_TAMER, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER, MALE}, + {OBJ_EVENT_GFX_LITTLE_BOY, FACILITY_CLASS_NINJA_BOY, MALE}, + {OBJ_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, FACILITY_CLASS_PARASOL_LADY, FEMALE}, + {OBJ_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE, FEMALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER, FEMALE}, + {OBJ_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR, MALE}, + {OBJ_EVENT_GFX_FAT_MAN, FACILITY_CLASS_COLLECTOR, MALE}, + {OBJ_EVENT_GFX_MAN, FACILITY_CLASS_PKMN_BREEDER, MALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_2, FEMALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER, MALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_2, FEMALE}, + {OBJ_EVENT_GFX_LASS, FACILITY_CLASS_LASS, FEMALE}, + {OBJ_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER, MALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER, MALE}, + {OBJ_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER_2, MALE}, + {OBJ_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER_2, MALE}, + {OBJ_EVENT_GFX_LASS, FACILITY_CLASS_LASS_2, FEMALE}, + {OBJ_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR_2, MALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER_2, MALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER_2, FEMALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC_2, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_SUPER_NERD, MALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER_2, MALE}, + {OBJ_EVENT_GFX_BIKER, FACILITY_CLASS_BIKER, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BURGLAR, MALE}, + {OBJ_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_ENGINEER, MALE}, + {OBJ_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN_2, MALE}, + {OBJ_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE_2, MALE}, + {OBJ_EVENT_GFX_BIKER, FACILITY_CLASS_CUE_BALL, MALE}, + {OBJ_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_GAMER, MALE}, + {OBJ_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY_2, FEMALE}, + {OBJ_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE_2, FEMALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC_3, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_ROCKER, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_JUGGLER, MALE}, + {OBJ_EVENT_GFX_MAN, FACILITY_CLASS_TAMER, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER_2, MALE}, + {OBJ_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT_2, MALE}, + {OBJ_EVENT_GFX_SCIENTIST, FACILITY_CLASS_SCIENTIST, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_3, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_4, FEMALE}, + {OBJ_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN_2, MALE}, + {OBJ_EVENT_GFX_CHANNELER, FACILITY_CLASS_CHANNELER, FEMALE}, + {OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_4, FEMALE}, + {OBJ_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_CRUSH_GIRL, FEMALE}, + {OBJ_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER_3, FEMALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_3, FEMALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER_3, MALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_4, FEMALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY_2, FEMALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC_2, MALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY_2, FEMALE}, + {OBJ_EVENT_GFX_LASS, FACILITY_CLASS_PAINTER, FEMALE} }; static const struct DoublesTrainerInfo sDoubleBattleTrainerInfo[] = { - {OBJECT_EVENT_GFX_BEAUTY, OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SR_AND_JR, FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_LITTLE_GIRL, OBJECT_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS, FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE, FEMALE, MALE}, - {OBJECT_EVENT_GFX_OLD_MAN_1, OBJECT_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_OLD_COUPLE, MALE, FEMALE}, - {OBJECT_EVENT_GFX_TUBER_M_2, OBJECT_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SIS_AND_BRO, MALE, FEMALE}, - {OBJECT_EVENT_GFX_LITTLE_GIRL, OBJECT_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS_2, FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, OBJECT_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOL_COUPLE, MALE, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE_2, FEMALE, MALE}, - {OBJECT_EVENT_GFX_BATTLE_GIRL, OBJECT_EVENT_GFX_BLACKBELT, FACILITY_CLASS_CRUSH_KIN, FEMALE, MALE}, - {OBJECT_EVENT_GFX_SWIMMER_F_LAND, OBJECT_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_SIS_AND_BRO_2, FEMALE, MALE} + {OBJ_EVENT_GFX_BEAUTY, OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SR_AND_JR, FEMALE, FEMALE}, + {OBJ_EVENT_GFX_LITTLE_GIRL, OBJ_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS, FEMALE, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, OBJ_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE, FEMALE, MALE}, + {OBJ_EVENT_GFX_OLD_MAN_1, OBJ_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_OLD_COUPLE, MALE, FEMALE}, + {OBJ_EVENT_GFX_TUBER_M_2, OBJ_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SIS_AND_BRO, MALE, FEMALE}, + {OBJ_EVENT_GFX_LITTLE_GIRL, OBJ_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS_2, FEMALE, FEMALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, OBJ_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOL_COUPLE, MALE, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, OBJ_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE_2, FEMALE, MALE}, + {OBJ_EVENT_GFX_BATTLE_GIRL, OBJ_EVENT_GFX_BLACKBELT, FACILITY_CLASS_CRUSH_KIN, FEMALE, MALE}, + {OBJ_EVENT_GFX_SWIMMER_F_LAND, OBJ_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_SIS_AND_BRO_2, FEMALE, MALE} }; static const struct TrainerEncounterMusicPairs sTrainerEncounterMusicLUT[105] = { @@ -585,7 +581,7 @@ static void SetTrainerTowerNPCGraphics(void) if (i != NELEMS(sSingleBattleTrainerInfo)) trainerGfx1 = sSingleBattleTrainerInfo[i].objGfx; else - trainerGfx1 = OBJECT_EVENT_GFX_YOUNGSTER; + trainerGfx1 = OBJ_EVENT_GFX_YOUNGSTER; VarSet(VAR_OBJ_GFX_ID_1, trainerGfx1); break; @@ -603,8 +599,8 @@ static void SetTrainerTowerNPCGraphics(void) } else { - trainerGfx1 = OBJECT_EVENT_GFX_YOUNGSTER; - trainerGfx2 = OBJECT_EVENT_GFX_YOUNGSTER; + trainerGfx1 = OBJ_EVENT_GFX_YOUNGSTER; + trainerGfx2 = OBJ_EVENT_GFX_YOUNGSTER; } VarSet(VAR_OBJ_GFX_ID_0, trainerGfx1); VarSet(VAR_OBJ_GFX_ID_3, trainerGfx2); @@ -622,7 +618,7 @@ static void SetTrainerTowerNPCGraphics(void) if (i != NELEMS(sSingleBattleTrainerInfo)) trainerGfx1 = sSingleBattleTrainerInfo[i].objGfx; else - trainerGfx1 = OBJECT_EVENT_GFX_YOUNGSTER; + trainerGfx1 = OBJ_EVENT_GFX_YOUNGSTER; switch (j) { diff --git a/src/trig.c b/src/trig.c index c2bca3059..2181ebef7 100644 --- a/src/trig.c +++ b/src/trig.c @@ -1,5 +1,4 @@ #include "global.h" -#include "trig.h" // Values of sin(x*(π/128)) as Q8.8 fixed-point numbers from x = 0 to x = 319 const s16 gSineTable[] = diff --git a/src/union_room_message.c b/src/union_room_message.c index 1d26d1968..3aeb40524 100644 --- a/src/union_room_message.c +++ b/src/union_room_message.c @@ -1,5 +1,4 @@ #include "global.h" -#include "union_room_message.h" #include "mevent_server.h" #include "constants/union_room.h" diff --git a/src/util.c b/src/util.c index 93aa60f84..b32799584 100644 --- a/src/util.c +++ b/src/util.c @@ -1,5 +1,4 @@ #include "global.h" -#include "util.h" const u32 gBitTable[] = { diff --git a/src/vs_seeker.c b/src/vs_seeker.c index 9c9a4d67f..135a11575 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -18,13 +18,10 @@ #include "battle.h" #include "battle_setup.h" #include "random.h" -#include "event_object_movement.h" #include "field_player_avatar.h" -#include "event_object_80688E4.h" -#include "event_object_8097404.h" #include "vs_seeker.h" -#include "constants/movement_commands.h" -#include "constants/object_events.h" +#include "constants/event_object_movement.h" +#include "constants/event_objects.h" #include "constants/trainers.h" #include "constants/maps.h" #include "constants/items.h" @@ -547,29 +544,35 @@ static const VsSeekerData sVsSeekerData[] = { }; static const u8 gUnknown_8453F5C[] = { - delay_16, - delay_16, - delay_16, - step_end + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_STEP_END }; static const u8 gUnknown_8453F60[] = { - emote_exclamation_mark, - step_end + MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK, + MOVEMENT_ACTION_STEP_END }; static const u8 sMovementScript_TrainerNoRematch[] = { - emote_x, - step_end + MOVEMENT_ACTION_EMOTE_X, + MOVEMENT_ACTION_STEP_END }; static const u8 sMovementScript_TrainerRematch[] = { - walk_in_place_fastest_down, - emote_double_exclamation_mark, - step_end + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK, + MOVEMENT_ACTION_STEP_END }; -static const u8 gUnknown_8453F67[] = { 0x08, 0x08, 0x07, 0x09, 0x0a }; +static const u8 gUnknown_8453F67[] = { + MOVEMENT_TYPE_FACE_DOWN, + MOVEMENT_TYPE_FACE_DOWN, + MOVEMENT_TYPE_FACE_UP, + MOVEMENT_TYPE_FACE_LEFT, + MOVEMENT_TYPE_FACE_RIGHT +}; // text @@ -798,8 +801,8 @@ static void GatherNearbyTrainerInfo(void) sVsSeeker->trainerInfo[vsSeekerObjectIdx].localId = templates[objectEventIdx].localId; TryGetObjectEventIdByLocalIdAndMap(templates[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); sVsSeeker->trainerInfo[vsSeekerObjectIdx].objectEventId = objectEventId; - sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].coords2.x - 7; - sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].coords2.y - 7; + sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].currentCoords.x - 7; + sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].currentCoords.y - 7; sVsSeeker->trainerInfo[vsSeekerObjectIdx].graphicsId = templates[objectEventIdx].graphicsId; vsSeekerObjectIdx++; } @@ -951,12 +954,12 @@ void sub_810CB90(void) TryGetObjectEventIdByLocalIdAndMap(r4[r8].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &sp0); r4_2 = &gObjectEvents[sp0]; sub_810CF54(&r4[r8]); // You are using this function incorrectly. Please consult the manual. - sub_805FE7C(r4_2, gUnknown_8453F67[r4_2->facingDirection]); + TryOverrideTemplateCoordsForObjectEvent(r4_2, gUnknown_8453F67[r4_2->facingDirection]); gSaveBlock1Ptr->trainerRematches[r4[r8].localId] = 0; if (gSelectedObjectEvent == sp0) r4_2->animPattern = gUnknown_8453F67[r4_2->facingDirection]; else - r4_2->animPattern = 0x08; + r4_2->animPattern = MOVEMENT_TYPE_FACE_DOWN; } } } @@ -1126,32 +1129,32 @@ static u8 GetRunningBehaviorFromGraphicsId(u8 graphicsId) { switch (graphicsId) { - case OBJECT_EVENT_GFX_LITTLE_GIRL: - case OBJECT_EVENT_GFX_YOUNGSTER: - case OBJECT_EVENT_GFX_BOY: - case OBJECT_EVENT_GFX_BUG_CATCHER: - case OBJECT_EVENT_GFX_LASS: - case OBJECT_EVENT_GFX_WOMAN_1: - case OBJECT_EVENT_GFX_BATTLE_GIRL: - case OBJECT_EVENT_GFX_MAN: - case OBJECT_EVENT_GFX_ROCKER: - case OBJECT_EVENT_GFX_WOMAN_2: - case OBJECT_EVENT_GFX_BEAUTY: - case OBJECT_EVENT_GFX_BALDING_MAN: - case OBJECT_EVENT_GFX_TUBER_F: - case OBJECT_EVENT_GFX_CAMPER: - case OBJECT_EVENT_GFX_PICNICKER: - case OBJECT_EVENT_GFX_COOLTRAINER_M: - case OBJECT_EVENT_GFX_COOLTRAINER_F: - case OBJECT_EVENT_GFX_SWIMMER_M_LAND: - case OBJECT_EVENT_GFX_SWIMMER_F_LAND: - case OBJECT_EVENT_GFX_BLACKBELT: - case OBJECT_EVENT_GFX_HIKER: - case OBJECT_EVENT_GFX_SAILOR: + case OBJ_EVENT_GFX_LITTLE_GIRL: + case OBJ_EVENT_GFX_YOUNGSTER: + case OBJ_EVENT_GFX_BOY: + case OBJ_EVENT_GFX_BUG_CATCHER: + case OBJ_EVENT_GFX_LASS: + case OBJ_EVENT_GFX_WOMAN_1: + case OBJ_EVENT_GFX_BATTLE_GIRL: + case OBJ_EVENT_GFX_MAN: + case OBJ_EVENT_GFX_ROCKER: + case OBJ_EVENT_GFX_WOMAN_2: + case OBJ_EVENT_GFX_BEAUTY: + case OBJ_EVENT_GFX_BALDING_MAN: + case OBJ_EVENT_GFX_TUBER_F: + case OBJ_EVENT_GFX_CAMPER: + case OBJ_EVENT_GFX_PICNICKER: + case OBJ_EVENT_GFX_COOLTRAINER_M: + case OBJ_EVENT_GFX_COOLTRAINER_F: + case OBJ_EVENT_GFX_SWIMMER_M_LAND: + case OBJ_EVENT_GFX_SWIMMER_F_LAND: + case OBJ_EVENT_GFX_BLACKBELT: + case OBJ_EVENT_GFX_HIKER: + case OBJ_EVENT_GFX_SAILOR: return 0x4e; - case OBJECT_EVENT_GFX_TUBER_M_1: - case OBJECT_EVENT_GFX_SWIMMER_M_WATER: - case OBJECT_EVENT_GFX_SWIMMER_F_WATER: + case OBJ_EVENT_GFX_TUBER_M_1: + case OBJ_EVENT_GFX_SWIMMER_M_WATER: + case OBJ_EVENT_GFX_SWIMMER_F_WATER: return 0x4f; default: return 0x4d; @@ -1312,7 +1315,7 @@ static void StartAllRespondantIdleMovements(void) if (sub_810CF04(sVsSeeker->trainerInfo[j].objectEventId) == 1) SetTrainerMovementType(r4, sVsSeeker->runningBehaviourEtcArray[i]); - sub_805FE7C(r4, sVsSeeker->runningBehaviourEtcArray[i]); + TryOverrideTemplateCoordsForObjectEvent(r4, sVsSeeker->runningBehaviourEtcArray[i]); gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[j].localId] = GetNextAvailableRematchTrainer(sVsSeekerData, sVsSeeker->trainerInfo[j].trainerIdx, &dummy); } } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index b32eb583a..b3605db47 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -367,11 +367,11 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi headerId = GetCurrentMapWildMonHeaderId(); if (headerId != 0xFFFF) { - if (sub_8058F1C(currMetatileBehavior, 4) == TRUE) + if (GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 4) == TRUE) { if (gWildMonHeaders[headerId].landMonsInfo == NULL) return FALSE; - else if (previousMetatileBehavior != sub_8058F1C(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) + else if (previousMetatileBehavior != GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) return FALSE; if (DoWildEncounterRateTest(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) { @@ -405,12 +405,12 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi } } } - else if (sub_8058F1C(currMetatileBehavior, 4) == 2 - || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(sub_8058F1C(currMetatileBehavior, 0)) == TRUE)) + else if (GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 4) == 2 + || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0)) == TRUE)) { if (gWildMonHeaders[headerId].waterMonsInfo == NULL) return FALSE; - else if (previousMetatileBehavior != sub_8058F1C(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) + else if (previousMetatileBehavior != GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) return FALSE; else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) { @@ -474,7 +474,7 @@ bool8 SweetScentWildEncounter(void) headerId = GetCurrentMapWildMonHeaderId(); if (headerId != 0xFFFF) { - if (sub_8058F48(x, y, 4) == 1) + if (MapGridGetMetatileAttributeAt(x, y, 4) == 1) { if (TryStartRoamerEncounter() == TRUE) { @@ -490,7 +490,7 @@ bool8 SweetScentWildEncounter(void) BattleSetup_StartWildBattle(); return TRUE; } - else if (sub_8058F48(x, y, 4) == 2) + else if (MapGridGetMetatileAttributeAt(x, y, 4) == 2) { if (TryStartRoamerEncounter() == TRUE) { @@ -711,7 +711,7 @@ void ResetEncounterRateModifiers(void) static bool8 HandleWildEncounterCooldown(u32 currMetatileBehavior) { - u8 unk = sub_8058F1C(currMetatileBehavior, 4); + u8 unk = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 4); u32 minSteps; u32 encRate; if (unk == 0) @@ -763,19 +763,19 @@ bool8 TryStandardWildEncounter(u32 currMetatileBehavior) { if (!HandleWildEncounterCooldown(currMetatileBehavior)) { - sWildEncounterData.prevMetatileBehavior = sub_8058F1C(currMetatileBehavior, 0); + sWildEncounterData.prevMetatileBehavior = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0); return FALSE; } else if (StandardWildEncounter(currMetatileBehavior, sWildEncounterData.prevMetatileBehavior) == TRUE) { sWildEncounterData.encounterRateBuff = 0; sWildEncounterData.stepsSinceLastEncounter = 0; - sWildEncounterData.prevMetatileBehavior = sub_8058F1C(currMetatileBehavior, 0); + sWildEncounterData.prevMetatileBehavior = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0); return TRUE; } else { - sWildEncounterData.prevMetatileBehavior = sub_8058F1C(currMetatileBehavior, 0); + sWildEncounterData.prevMetatileBehavior = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0); return FALSE; } } |