diff --git a/gflib/sprite.c b/gflib/sprite.c index a42ee5769c..c3fc9f081d 100644 --- a/gflib/sprite.c +++ b/gflib/sprite.c @@ -889,9 +889,13 @@ void BeginAnim(struct Sprite *sprite) if (!(sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK)) SetSpriteOamFlipBits(sprite, hFlip, vFlip); - if (sprite->usingSheet) + if (sprite->usingSheet) { + #if OW_GFX_COMPRESS + if (sprite->sheetSpan) + imageValue = (imageValue + 1) << sprite->sheetSpan; + #endif sprite->oam.tileNum = sprite->sheetTileStart + imageValue; - else + } else RequestSpriteFrameImageCopy(imageValue, sprite->oam.tileNum, sprite->images); } } @@ -941,9 +945,13 @@ void AnimCmd_frame(struct Sprite *sprite) if (!(sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK)) SetSpriteOamFlipBits(sprite, hFlip, vFlip); - if (sprite->usingSheet) + if (sprite->usingSheet) { + #if OW_GFX_COMPRESS + if (sprite->sheetSpan) + imageValue = (imageValue + 1) << sprite->sheetSpan; + #endif sprite->oam.tileNum = sprite->sheetTileStart + imageValue; - else + } else RequestSpriteFrameImageCopy(imageValue, sprite->oam.tileNum, sprite->images); } @@ -975,9 +983,13 @@ void AnimCmd_jump(struct Sprite *sprite) if (!(sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK)) SetSpriteOamFlipBits(sprite, hFlip, vFlip); - if (sprite->usingSheet) + if (sprite->usingSheet) { + #if OW_GFX_COMPRESS + if (sprite->sheetSpan) + imageValue = (imageValue + 1) << sprite->sheetSpan; + #endif sprite->oam.tileNum = sprite->sheetTileStart + imageValue; - else + } else RequestSpriteFrameImageCopy(imageValue, sprite->oam.tileNum, sprite->images); } @@ -1357,6 +1369,10 @@ void SetSpriteSheetFrameTileNum(struct Sprite *sprite) if (sprite->usingSheet) { s16 tileOffset = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.imageValue; + #if OW_GFX_COMPRESS + if (sprite->sheetSpan) + tileOffset = (tileOffset + 1) << sprite->sheetSpan; + #endif if (tileOffset < 0) tileOffset = 0; sprite->oam.tileNum = sprite->sheetTileStart + tileOffset; @@ -1446,11 +1462,26 @@ u16 LoadSpriteSheet(const struct SpriteSheet *sheet) else { AllocSpriteTileRange(sheet->tag, (u16)tileStart, sheet->size / TILE_SIZE_4BPP); - CpuCopy16(sheet->data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + CpuSmartCopy16(sheet->data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); return (u16)tileStart; } } +// Like LoadSpriteSheet, but checks if already loaded, and uses template image frames +u16 LoadSpriteSheetByTemplate(const struct SpriteTemplate *template, u32 frame, s32 offset) { + u16 tileStart; + struct SpriteSheet sheet; + // error if template is null or tile tag or images not set + if (!template || template->tileTag == TAG_NONE || !template->images) + return TAG_NONE; + if ((tileStart = GetSpriteTileStartByTag(template->tileTag)) != TAG_NONE) // return if already loaded + return tileStart; + sheet.data = template->images[frame].data - offset; + sheet.size = template->images[frame].size; + sheet.tag = template->tileTag; + return LoadSpriteSheet(&sheet); +} + void LoadSpriteSheets(const struct SpriteSheet *sheets) { u8 i; @@ -1477,6 +1508,10 @@ void FreeSpriteTilesByTag(u16 tag) FREE_SPRITE_TILE(i); sSpriteTileRangeTags[index] = TAG_NONE; + #if DEBUG + // If debugging, visibly clear the freed tiles + CpuSmartFill16(0, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * start, count * TILE_SIZE_4BPP); + #endif } } @@ -1542,7 +1577,6 @@ u8 LoadSpritePalette(const struct SpritePalette *palette) { u8 index = IndexOfSpritePaletteTag(palette->tag); u8 i; - u16 *debugPtr = (u16*) 0x0203d800; if (index != 0xFF) return index; @@ -1556,10 +1590,6 @@ u8 LoadSpritePalette(const struct SpritePalette *palette) else { sSpritePaletteTags[index] = palette->tag; - for (i = 0; i < 16; i++) - { - debugPtr[i] = sSpritePaletteTags[i]; - } DoLoadSpritePalette(palette->data, PLTT_ID(index)); return index; } @@ -1713,10 +1743,33 @@ bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u destOam[i].y = baseY + y; destOam[i].tileNum = tileNum + subspriteTable->subsprites[i].tileOffset; - if (sprite->subspriteMode != SUBSPRITES_IGNORE_PRIORITY) + if (sprite->subspriteMode < SUBSPRITES_IGNORE_PRIORITY) destOam[i].priority = subspriteTable->subsprites[i].priority; } } return 0; } + +static const u8 sSpanPerImage[4][4] = +{ + [ST_OAM_SQUARE] = { + [ST_OAM_SIZE_0] = 0, // SPRITE_SIZE_8x8 + [ST_OAM_SIZE_1] = 2, // SPRITE_SIZE_16x16 + [ST_OAM_SIZE_2] = 4, // SPRITE_SIZE_32x32 + [ST_OAM_SIZE_3] = 6 // SPRITE_SIZE_64x64 + }, + [ST_OAM_H_RECTANGLE ... ST_OAM_V_RECTANGLE] = { + [ST_OAM_SIZE_0] = 1, // SPRITE_SIZE_16x8 + [ST_OAM_SIZE_1] = 2, // SPRITE_SIZE_32x8 + [ST_OAM_SIZE_2] = 3, // SPRITE_SIZE_32x16 + [ST_OAM_SIZE_3] = 5 // SPRITE_SIZE_64x32 + }, +}; + +// For a given sprite shape & size, returns +// the value for sheetSpan: +// i.e, a 32x32 sprite has span 4, because 1 << 4 == 16 == 4x4 tiles +u32 GetSpanPerImage(u32 shape, u32 size) { + return sSpanPerImage[shape][size]; +} \ No newline at end of file diff --git a/gflib/sprite.h b/gflib/sprite.h index 270a755b44..3ce6dfc76f 100644 --- a/gflib/sprite.h +++ b/gflib/sprite.h @@ -217,22 +217,26 @@ struct Sprite // general purpose data fields /*0x2E*/ s16 data[8]; - /*0x3E*/ bool16 inUse:1; //1 - bool16 coordOffsetEnabled:1; //2 - bool16 invisible:1; //4 - bool16 flags_3:1; //8 - bool16 flags_4:1; //0x10 - bool16 flags_5:1; //0x20 - bool16 flags_6:1; //0x40 - bool16 flags_7:1; //0x80 - /*0x3F*/ bool16 hFlip:1; //1 - bool16 vFlip:1; //2 - bool16 animBeginning:1; //4 - bool16 affineAnimBeginning:1; //8 - bool16 animEnded:1; //0x10 - bool16 affineAnimEnded:1; //0x20 - bool16 usingSheet:1; //0x40 - bool16 anchored:1; //0x80 + /*0x3E*/ u16 inUse:1; //1 + u16 coordOffsetEnabled:1; //2 + u16 invisible:1; //4 + u16 flags_3:1; //8 + // if nonzero, tile offset for usingSheet sprites + // is (offset + 1) << sheetSpan; + // (This allows using frame-based anim tables for sheet sprites) + u16 sheetSpan:3; + // u16 flags_4:1; //0x10 + // u16 flags_5:1; //0x20 + // u16 flags_6:1; //0x40 + u16 flags_7:1; //0x80 + /*0x3F*/ u16 hFlip:1; //1 + u16 vFlip:1; //2 + u16 animBeginning:1; //4 + u16 affineAnimBeginning:1; //8 + u16 animEnded:1; //0x10 + u16 affineAnimEnded:1; //0x20 + u16 usingSheet:1; //0x40 + u16 anchored:1; //0x80 /*0x40*/ u16 sheetTileStart; @@ -298,6 +302,7 @@ void FreeOamMatrix(u8 matrixNum); void InitSpriteAffineAnim(struct Sprite *sprite); void SetOamMatrixRotationScaling(u8 matrixNum, s16 xScale, s16 yScale, u16 rotation); u16 LoadSpriteSheet(const struct SpriteSheet *sheet); +u16 LoadSpriteSheetByTemplate(const struct SpriteTemplate *template, u32 frame, s32 offset); void LoadSpriteSheets(const struct SpriteSheet *sheets); u16 AllocTilesForSpriteSheet(struct SpriteSheet *sheet); void AllocTilesForSpriteSheets(struct SpriteSheet *sheets); @@ -324,5 +329,6 @@ void CopyFromSprites(u8 *dest); u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); void ClearSpriteCopyRequests(void); void ResetAffineAnimData(void); +u32 GetSpanPerImage(u32 shape, u32 size); #endif //GUARD_SPRITE_H diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 6821d53451..3f22ec6ffc 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -286,10 +286,24 @@ #define OW_SPECIES(x) (((x)->graphicsId & OBJ_EVENT_GFX_SPECIES_MASK) - OBJ_EVENT_GFX_MON_BASE) #define OW_FORM(x) ((x)->graphicsId >> OBJ_EVENT_GFX_SPECIES_BITS) -#define SHADOW_SIZE_S 0 -#define SHADOW_SIZE_M 1 -#define SHADOW_SIZE_L 2 -#define SHADOW_NONE 3 // Originally SHADOW_SIZE_XL, which went unused due to shadowSize in ObjectEventGraphicsInfo being only 2 bits. +// If true, follower pokemon will bob up and down +// during their idle & walking animations +#define OW_MON_BOBBING TRUE + +// If true, adds a small amount of overhead +// to OW code so that large (48x48, 64x64) OWs +// will display correctly under bridges, etc. +#define LARGE_OW_SUPPORT TRUE + +// See global.h for the toggle of OW_GFX_COMPRESS +// Compressed gfx are incompatible with non-power-of-two sprite sizes: +// (You should not use 48x48 sprites/tables for compressed gfx) +// 16x32, 32x32, 64x64 etc are fine + +#define SHADOW_SIZE_S 0 +#define SHADOW_SIZE_M 1 +#define SHADOW_SIZE_L 2 +#define SHADOW_SIZE_NONE 3 // Originally SHADOW_SIZE_XL, which went unused due to shadowSize in ObjectEventGraphicsInfo being only 2 bits. #define F_INANIMATE (1 << 6) #define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) diff --git a/include/decompress.h b/include/decompress.h index 9c99d09044..8b4f8106ad 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -9,6 +9,7 @@ void LZDecompressWram(const u32 *src, void *dest); void LZDecompressVram(const u32 *src, void *dest); u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src); +u16 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s32 offset); void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet *src); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 82f1e6693b..b43b5629f9 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -205,7 +205,7 @@ void UpdateObjectEventsForCameraUpdate(s16 x, s16 y); u8 GetWalkSlowMovementAction(u32); u8 GetJumpMovementAction(u32); u8 ElevationToPriority(u8 elevation); -void ObjectEventUpdateElevation(struct ObjectEvent *objEvent); +void ObjectEventUpdateElevation(struct ObjectEvent *objEvent, struct Sprite *); void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *, u8 subpriority); void UnfreezeObjectEvent(struct ObjectEvent *); u8 FindLockedObjectEventIndex(struct ObjectEvent *); diff --git a/include/gba/macro.h b/include/gba/macro.h index 5239cd4c87..68dcd10d52 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -40,6 +40,24 @@ #define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16) #define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32) +#define CpuSmartCopy16(src, dest, size) \ +{ \ + if ((((size) & 0x1f) == 0) && ((((u32)(src)) & 3) == 0) && ((((u32)(dest)) & 3) == 0)) { \ + CpuFastCopy((src), (dest), (size)); \ + } else { \ + CpuCopy16((src), (dest), (size)); \ + } \ +} + +#define CpuSmartCopy32(src, dest, size) \ +{ \ + if ((((size) & 0x1f) == 0) && ((((u32)(src)) & 3) == 0) && ((((u32)(dest)) & 3) == 0)) { \ + CpuFastCopy((src), (dest), (size)); \ + } else { \ + CpuCopy32((src), (dest), (size)); \ + } \ +} + #define CpuFastFill(value, dest, size) \ { \ vu32 tmp = (vu32)(value); \ @@ -52,6 +70,24 @@ #define CpuFastFill8(value, dest, size) CpuFastFill(((value) << 24) | ((value) << 16) | ((value) << 8) | (value), (dest), (size)) +#define CpuSmartFill(value, dest, size) \ +{ \ + if ((((size) & 0x1f) == 0) && ((((u32)(dest)) & 3) == 0)) { \ + CpuFastFill((value), (dest), (size)); \ + } else { \ + CpuFill32((value), (dest), (size)); \ + } \ +} + +#define CpuSmartFill16(value, dest, size) \ +{ \ + if ((((size) & 0x1f) == 0) && ((((u32)(dest)) & 3) == 0)) { \ + CpuFastFill16((value), (dest), (size)); \ + } else { \ + CpuFill16((value), (dest), (size)); \ + } \ +} + #define CpuFastCopy(src, dest, size) CpuFastSet(src, dest, ((size)/(32/8) & 0x1FFFFF)) #define DmaSetUnchecked(dmaNum, src, dest, control) \ diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 430f59e776..2c2d46243d 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -63,7 +63,7 @@ struct BackupMapLayout u16 *map; }; -struct __attribute__((packed)) ObjectEventTemplate +struct __attribute__((packed, aligned(4))) ObjectEventTemplate { /*0x00*/ u8 localId; /*0x01*/ u16 graphicsId; @@ -234,7 +234,7 @@ struct ObjectEventGraphicsInfo /*0x0C*/ u8 paletteSlot:4; u8 shadowSize:2; u8 inanimate:1; - u8 disableReflectionPaletteLoad:1; + u8 compressed:1; /*0x0D*/ u8 tracks; /*0x10*/ const struct OamData *oam; /*0x14*/ const struct SubspriteTable *subspriteTables; diff --git a/include/global.h b/include/global.h index bb0786c86b..42cb9dc742 100644 --- a/include/global.h +++ b/include/global.h @@ -37,6 +37,7 @@ #define INCBIN_S8 INCBIN #define INCBIN_S16 INCBIN #define INCBIN_S32 INCBIN +#define INCBIN_COMP INCBIN #endif // IDE support #define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) @@ -67,6 +68,8 @@ #define SAFE_DIV(a, b) ((a) / (b)) #endif +#define IS_POW_OF_TWO(n) (((n) & ((n)-1)) == 0) + // The below macro does a%n, but (to match) will switch to a&(n-1) if n is a power of 2. // There are cases where GF does a&(n-1) where we would really like to have a%n, because // if n is changed to a value that isn't a power of 2 then a&(n-1) is unlikely to work as @@ -1073,4 +1076,8 @@ struct MapPosition s8 elevation; }; +// Adds support for compressed OW graphics, +// (Also compresses pokemon follower graphics) +#define OW_GFX_COMPRESS TRUE + #endif // GUARD_GLOBAL_H diff --git a/src/data/object_events/object_event_graphics.h b/src/data/object_events/object_event_graphics.h index e944a285d7..ac4a11a945 100755 --- a/src/data/object_events/object_event_graphics.h +++ b/src/data/object_events/object_event_graphics.h @@ -156,13 +156,13 @@ const u32 gObjectEventPic_Steven[] = INCBIN_U32("graphics/object_events/pics/peo const u32 gObjectEventPic_Wally[] = INCBIN_U32("graphics/object_events/pics/people/wally.4bpp"); const u32 gObjectEventPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/object_events/pics/people/rs_little_boy.4bpp"); const u32 gObjectEventPic_HotSpringsOldWoman[] = INCBIN_U32("graphics/object_events/pics/people/hot_springs_old_woman.4bpp"); -const u32 gObjectEventPic_LatiasLatios[] = INCBIN_U32("graphics/object_events/pics/pokemon/latias_latios.4bpp"); +const u32 gObjectEventPic_LatiasLatios[] = INCBIN_COMP("graphics/object_events/pics/pokemon/latias_latios.4bpp"); const u32 gObjectEventPic_GameboyKid[] = INCBIN_U32("graphics/object_events/pics/people/gameboy_kid.4bpp"); const u32 gObjectEventPic_ContestJudge[] = INCBIN_U32("graphics/object_events/pics/people/contest_judge.4bpp"); const u32 gObjectEventPic_Archie[] = INCBIN_U32("graphics/object_events/pics/people/team_aqua/archie.4bpp"); const u32 gObjectEventPic_Maxie[] = INCBIN_U32("graphics/object_events/pics/people/team_magma/maxie.4bpp"); -const u32 gObjectEventPic_Regi[] = INCBIN_U32("graphics/object_events/pics/pokemon/regi.4bpp"); -const u32 gObjectEventPic_RayquazaStill[] = INCBIN_U32("graphics/object_events/pics/pokemon/rayquaza_still.4bpp"); +const u32 gObjectEventPic_Regi[] = INCBIN_COMP("graphics/object_events/pics/pokemon/regi.4bpp"); +const u32 gObjectEventPic_RayquazaStill[] = INCBIN_COMP("graphics/object_events/pics/pokemon/rayquaza_still.4bpp"); const u32 gObjectEventPic_TuberMSwimming[] = INCBIN_U32("graphics/object_events/pics/people/tuber_m_swimming.4bpp"); const u32 gObjectEventPic_Mom[] = INCBIN_U32("graphics/object_events/pics/people/mom.4bpp"); const u16 gObjectEventPal_Kyogre[] = INCBIN_U16("graphics/object_events/palettes/kyogre.gbapal"); @@ -231,7 +231,7 @@ const u32 gObjectEventPic_Truck[] = INCBIN_U32("graphics/object_events/pics/misc const u16 gObjectEventPal_Truck[] = INCBIN_U16("graphics/object_events/palettes/truck.gbapal"); const u16 gObjectEventPal_Vigoroth[] = INCBIN_U16("graphics/object_events/palettes/vigoroth.gbapal"); const u32 gObjectEventPic_BirchsBag[] = INCBIN_U32("graphics/object_events/pics/misc/birchs_bag.4bpp"); -const u32 gObjectEventPic_EnemyZigzagoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/enemy_zigzagoon.4bpp"); +const u32 gObjectEventPic_EnemyZigzagoon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/enemy_zigzagoon.4bpp"); const u16 gObjectEventPal_EnemyZigzagoon[] = INCBIN_U16("graphics/object_events/palettes/enemy_zigzagoon.gbapal"); const u16 gObjectEventPal_Poochyena[] = INCBIN_U16("graphics/object_events/palettes/poochyena.gbapal"); const u32 gObjectEventPic_CableCar[] = INCBIN_U32("graphics/object_events/pics/misc/cable_car.4bpp"); @@ -356,443 +356,450 @@ const u32 gObjectEventPic_Noland[] = INCBIN_U32("graphics/object_events/pics/peo const u32 gObjectEventPic_Lucy[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/lucy.4bpp"); const u32 gObjectEventPic_Brandon[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/brandon.4bpp"); const u32 gObjectEventPic_AnimatedBall[] = INCBIN_U32("graphics/object_events/pics/misc/animated_ball.4bpp"); -const u32 gObjectEventPic_Bulbasaur[] = INCBIN_U32("graphics/object_events/pics/pokemon/bulbasaur.4bpp"); -const u32 gObjectEventPic_Ivysaur[] = INCBIN_U32("graphics/object_events/pics/pokemon/ivysaur.4bpp"); -const u32 gObjectEventPic_Venusaur[] = INCBIN_U32("graphics/object_events/pics/pokemon/venusaur.4bpp"); -const u32 gObjectEventPic_Charmander[] = INCBIN_U32("graphics/object_events/pics/pokemon/charmander.4bpp"); -const u32 gObjectEventPic_Charmeleon[] = INCBIN_U32("graphics/object_events/pics/pokemon/charmeleon.4bpp"); -const u32 gObjectEventPic_Charizard[] = INCBIN_U32("graphics/object_events/pics/pokemon/charizard.4bpp"); -const u32 gObjectEventPic_Squirtle[] = INCBIN_U32("graphics/object_events/pics/pokemon/squirtle.4bpp"); -const u32 gObjectEventPic_Wartortle[] = INCBIN_U32("graphics/object_events/pics/pokemon/wartortle.4bpp"); -const u32 gObjectEventPic_Blastoise[] = INCBIN_U32("graphics/object_events/pics/pokemon/blastoise.4bpp"); -const u32 gObjectEventPic_Caterpie[] = INCBIN_U32("graphics/object_events/pics/pokemon/caterpie.4bpp"); -const u32 gObjectEventPic_Metapod[] = INCBIN_U32("graphics/object_events/pics/pokemon/metapod.4bpp"); -const u32 gObjectEventPic_Butterfree[] = INCBIN_U32("graphics/object_events/pics/pokemon/butterfree.4bpp"); -const u32 gObjectEventPic_Weedle[] = INCBIN_U32("graphics/object_events/pics/pokemon/weedle.4bpp"); -const u32 gObjectEventPic_Kakuna[] = INCBIN_U32("graphics/object_events/pics/pokemon/kakuna.4bpp"); -const u32 gObjectEventPic_Beedrill[] = INCBIN_U32("graphics/object_events/pics/pokemon/beedrill.4bpp"); -const u32 gObjectEventPic_Pidgey[] = INCBIN_U32("graphics/object_events/pics/pokemon/pidgey.4bpp"); -const u32 gObjectEventPic_Pidgeotto[] = INCBIN_U32("graphics/object_events/pics/pokemon/pidgeotto.4bpp"); -const u32 gObjectEventPic_Pidgeot[] = INCBIN_U32("graphics/object_events/pics/pokemon/pidgeot.4bpp"); -const u32 gObjectEventPic_Rattata[] = INCBIN_U32("graphics/object_events/pics/pokemon/rattata.4bpp"); -const u32 gObjectEventPic_Raticate[] = INCBIN_U32("graphics/object_events/pics/pokemon/raticate.4bpp"); -const u32 gObjectEventPic_Spearow[] = INCBIN_U32("graphics/object_events/pics/pokemon/spearow.4bpp"); -const u32 gObjectEventPic_Fearow[] = INCBIN_U32("graphics/object_events/pics/pokemon/fearow.4bpp"); -const u32 gObjectEventPic_Ekans[] = INCBIN_U32("graphics/object_events/pics/pokemon/ekans.4bpp"); -const u32 gObjectEventPic_Arbok[] = INCBIN_U32("graphics/object_events/pics/pokemon/arbok.4bpp"); -const u32 gObjectEventPic_Pikachu[] = INCBIN_U32("graphics/object_events/pics/pokemon/pikachu.4bpp"); -const u32 gObjectEventPic_Raichu[] = INCBIN_U32("graphics/object_events/pics/pokemon/raichu.4bpp"); -const u32 gObjectEventPic_Sandshrew[] = INCBIN_U32("graphics/object_events/pics/pokemon/sandshrew.4bpp"); -const u32 gObjectEventPic_Sandslash[] = INCBIN_U32("graphics/object_events/pics/pokemon/sandslash.4bpp"); -const u32 gObjectEventPic_Nidoran_f[] = INCBIN_U32("graphics/object_events/pics/pokemon/nidoran_f.4bpp"); -const u32 gObjectEventPic_Nidorina[] = INCBIN_U32("graphics/object_events/pics/pokemon/nidorina.4bpp"); -const u32 gObjectEventPic_Nidoqueen[] = INCBIN_U32("graphics/object_events/pics/pokemon/nidoqueen.4bpp"); -const u32 gObjectEventPic_Nidoran_m[] = INCBIN_U32("graphics/object_events/pics/pokemon/nidoran_m.4bpp"); -const u32 gObjectEventPic_Nidorino[] = INCBIN_U32("graphics/object_events/pics/pokemon/nidorino.4bpp"); -const u32 gObjectEventPic_Nidoking[] = INCBIN_U32("graphics/object_events/pics/pokemon/nidoking.4bpp"); -const u32 gObjectEventPic_Clefairy[] = INCBIN_U32("graphics/object_events/pics/pokemon/clefairy.4bpp"); -const u32 gObjectEventPic_Clefable[] = INCBIN_U32("graphics/object_events/pics/pokemon/clefable.4bpp"); -const u32 gObjectEventPic_Vulpix[] = INCBIN_U32("graphics/object_events/pics/pokemon/vulpix.4bpp"); -const u32 gObjectEventPic_Ninetales[] = INCBIN_U32("graphics/object_events/pics/pokemon/ninetales.4bpp"); -const u32 gObjectEventPic_Jigglypuff[] = INCBIN_U32("graphics/object_events/pics/pokemon/jigglypuff.4bpp"); -const u32 gObjectEventPic_Wigglytuff[] = INCBIN_U32("graphics/object_events/pics/pokemon/wigglytuff.4bpp"); -const u32 gObjectEventPic_Zubat[] = INCBIN_U32("graphics/object_events/pics/pokemon/zubat.4bpp"); -const u32 gObjectEventPic_Golbat[] = INCBIN_U32("graphics/object_events/pics/pokemon/golbat.4bpp"); -const u32 gObjectEventPic_Oddish[] = INCBIN_U32("graphics/object_events/pics/pokemon/oddish.4bpp"); -const u32 gObjectEventPic_Gloom[] = INCBIN_U32("graphics/object_events/pics/pokemon/gloom.4bpp"); -const u32 gObjectEventPic_Vileplume[] = INCBIN_U32("graphics/object_events/pics/pokemon/vileplume.4bpp"); -const u32 gObjectEventPic_Paras[] = INCBIN_U32("graphics/object_events/pics/pokemon/paras.4bpp"); -const u32 gObjectEventPic_Parasect[] = INCBIN_U32("graphics/object_events/pics/pokemon/parasect.4bpp"); -const u32 gObjectEventPic_Venonat[] = INCBIN_U32("graphics/object_events/pics/pokemon/venonat.4bpp"); -const u32 gObjectEventPic_Venomoth[] = INCBIN_U32("graphics/object_events/pics/pokemon/venomoth.4bpp"); -const u32 gObjectEventPic_Diglett[] = INCBIN_U32("graphics/object_events/pics/pokemon/diglett.4bpp"); -const u32 gObjectEventPic_Dugtrio[] = INCBIN_U32("graphics/object_events/pics/pokemon/dugtrio.4bpp"); -const u32 gObjectEventPic_Meowth[] = INCBIN_U32("graphics/object_events/pics/pokemon/meowth.4bpp"); -const u32 gObjectEventPic_Persian[] = INCBIN_U32("graphics/object_events/pics/pokemon/persian.4bpp"); -const u32 gObjectEventPic_Psyduck[] = INCBIN_U32("graphics/object_events/pics/pokemon/psyduck.4bpp"); -const u32 gObjectEventPic_Golduck[] = INCBIN_U32("graphics/object_events/pics/pokemon/golduck.4bpp"); -const u32 gObjectEventPic_Mankey[] = INCBIN_U32("graphics/object_events/pics/pokemon/mankey.4bpp"); -const u32 gObjectEventPic_Primeape[] = INCBIN_U32("graphics/object_events/pics/pokemon/primeape.4bpp"); -const u32 gObjectEventPic_Growlithe[] = INCBIN_U32("graphics/object_events/pics/pokemon/growlithe.4bpp"); -const u32 gObjectEventPic_Arcanine[] = INCBIN_U32("graphics/object_events/pics/pokemon/arcanine.4bpp"); -const u32 gObjectEventPic_Poliwag[] = INCBIN_U32("graphics/object_events/pics/pokemon/poliwag.4bpp"); -const u32 gObjectEventPic_Poliwhirl[] = INCBIN_U32("graphics/object_events/pics/pokemon/poliwhirl.4bpp"); -const u32 gObjectEventPic_Poliwrath[] = INCBIN_U32("graphics/object_events/pics/pokemon/poliwrath.4bpp"); -const u32 gObjectEventPic_Abra[] = INCBIN_U32("graphics/object_events/pics/pokemon/abra.4bpp"); -const u32 gObjectEventPic_Kadabra[] = INCBIN_U32("graphics/object_events/pics/pokemon/kadabra.4bpp"); -const u32 gObjectEventPic_Alakazam[] = INCBIN_U32("graphics/object_events/pics/pokemon/alakazam.4bpp"); -const u32 gObjectEventPic_Machop[] = INCBIN_U32("graphics/object_events/pics/pokemon/machop.4bpp"); -const u32 gObjectEventPic_Machoke[] = INCBIN_U32("graphics/object_events/pics/pokemon/machoke.4bpp"); -const u32 gObjectEventPic_Machamp[] = INCBIN_U32("graphics/object_events/pics/pokemon/machamp.4bpp"); -const u32 gObjectEventPic_Bellsprout[] = INCBIN_U32("graphics/object_events/pics/pokemon/bellsprout.4bpp"); -const u32 gObjectEventPic_Weepinbell[] = INCBIN_U32("graphics/object_events/pics/pokemon/weepinbell.4bpp"); -const u32 gObjectEventPic_Victreebel[] = INCBIN_U32("graphics/object_events/pics/pokemon/victreebel.4bpp"); -const u32 gObjectEventPic_Tentacool[] = INCBIN_U32("graphics/object_events/pics/pokemon/tentacool.4bpp"); -const u32 gObjectEventPic_Tentacruel[] = INCBIN_U32("graphics/object_events/pics/pokemon/tentacruel.4bpp"); -const u32 gObjectEventPic_Geodude[] = INCBIN_U32("graphics/object_events/pics/pokemon/geodude.4bpp"); -const u32 gObjectEventPic_Graveler[] = INCBIN_U32("graphics/object_events/pics/pokemon/graveler.4bpp"); -const u32 gObjectEventPic_Golem[] = INCBIN_U32("graphics/object_events/pics/pokemon/golem.4bpp"); -const u32 gObjectEventPic_Ponyta[] = INCBIN_U32("graphics/object_events/pics/pokemon/ponyta.4bpp"); -const u32 gObjectEventPic_Rapidash[] = INCBIN_U32("graphics/object_events/pics/pokemon/rapidash.4bpp"); -const u32 gObjectEventPic_Slowpoke[] = INCBIN_U32("graphics/object_events/pics/pokemon/slowpoke.4bpp"); -const u32 gObjectEventPic_Slowbro[] = INCBIN_U32("graphics/object_events/pics/pokemon/slowbro.4bpp"); -const u32 gObjectEventPic_Magnemite[] = INCBIN_U32("graphics/object_events/pics/pokemon/magnemite.4bpp"); -const u32 gObjectEventPic_Magneton[] = INCBIN_U32("graphics/object_events/pics/pokemon/magneton.4bpp"); -const u32 gObjectEventPic_Farfetchd[] = INCBIN_U32("graphics/object_events/pics/pokemon/farfetchd.4bpp"); -const u32 gObjectEventPic_Doduo[] = INCBIN_U32("graphics/object_events/pics/pokemon/doduo.4bpp"); -const u32 gObjectEventPic_Dodrio[] = INCBIN_U32("graphics/object_events/pics/pokemon/dodrio.4bpp"); -const u32 gObjectEventPic_Seel[] = INCBIN_U32("graphics/object_events/pics/pokemon/seel.4bpp"); -const u32 gObjectEventPic_Dewgong[] = INCBIN_U32("graphics/object_events/pics/pokemon/dewgong.4bpp"); -const u32 gObjectEventPic_Grimer[] = INCBIN_U32("graphics/object_events/pics/pokemon/grimer.4bpp"); -const u32 gObjectEventPic_Muk[] = INCBIN_U32("graphics/object_events/pics/pokemon/muk.4bpp"); -const u32 gObjectEventPic_Shellder[] = INCBIN_U32("graphics/object_events/pics/pokemon/shellder.4bpp"); -const u32 gObjectEventPic_Cloyster[] = INCBIN_U32("graphics/object_events/pics/pokemon/cloyster.4bpp"); -const u32 gObjectEventPic_Gastly[] = INCBIN_U32("graphics/object_events/pics/pokemon/gastly.4bpp"); -const u32 gObjectEventPic_Haunter[] = INCBIN_U32("graphics/object_events/pics/pokemon/haunter.4bpp"); -const u32 gObjectEventPic_Gengar[] = INCBIN_U32("graphics/object_events/pics/pokemon/gengar.4bpp"); -const u32 gObjectEventPic_Onix[] = INCBIN_U32("graphics/object_events/pics/pokemon/onix.4bpp"); -const u32 gObjectEventPic_Drowzee[] = INCBIN_U32("graphics/object_events/pics/pokemon/drowzee.4bpp"); -const u32 gObjectEventPic_Hypno[] = INCBIN_U32("graphics/object_events/pics/pokemon/hypno.4bpp"); -const u32 gObjectEventPic_Krabby[] = INCBIN_U32("graphics/object_events/pics/pokemon/krabby.4bpp"); -const u32 gObjectEventPic_Kingler[] = INCBIN_U32("graphics/object_events/pics/pokemon/kingler.4bpp"); -const u32 gObjectEventPic_Voltorb[] = INCBIN_U32("graphics/object_events/pics/pokemon/voltorb.4bpp"); -const u32 gObjectEventPic_Electrode[] = INCBIN_U32("graphics/object_events/pics/pokemon/electrode.4bpp"); -const u32 gObjectEventPic_Exeggcute[] = INCBIN_U32("graphics/object_events/pics/pokemon/exeggcute.4bpp"); -const u32 gObjectEventPic_Exeggutor[] = INCBIN_U32("graphics/object_events/pics/pokemon/exeggutor.4bpp"); -const u32 gObjectEventPic_Cubone[] = INCBIN_U32("graphics/object_events/pics/pokemon/cubone.4bpp"); -const u32 gObjectEventPic_Marowak[] = INCBIN_U32("graphics/object_events/pics/pokemon/marowak.4bpp"); -const u32 gObjectEventPic_Hitmonlee[] = INCBIN_U32("graphics/object_events/pics/pokemon/hitmonlee.4bpp"); -const u32 gObjectEventPic_Hitmonchan[] = INCBIN_U32("graphics/object_events/pics/pokemon/hitmonchan.4bpp"); -const u32 gObjectEventPic_Lickitung[] = INCBIN_U32("graphics/object_events/pics/pokemon/lickitung.4bpp"); -const u32 gObjectEventPic_Koffing[] = INCBIN_U32("graphics/object_events/pics/pokemon/koffing.4bpp"); -const u32 gObjectEventPic_Weezing[] = INCBIN_U32("graphics/object_events/pics/pokemon/weezing.4bpp"); -const u32 gObjectEventPic_Rhyhorn[] = INCBIN_U32("graphics/object_events/pics/pokemon/rhyhorn.4bpp"); -const u32 gObjectEventPic_Rhydon[] = INCBIN_U32("graphics/object_events/pics/pokemon/rhydon.4bpp"); -const u32 gObjectEventPic_Chansey[] = INCBIN_U32("graphics/object_events/pics/pokemon/chansey.4bpp"); -const u32 gObjectEventPic_Tangela[] = INCBIN_U32("graphics/object_events/pics/pokemon/tangela.4bpp"); -const u32 gObjectEventPic_Kangaskhan[] = INCBIN_U32("graphics/object_events/pics/pokemon/kangaskhan.4bpp"); -const u32 gObjectEventPic_Horsea[] = INCBIN_U32("graphics/object_events/pics/pokemon/horsea.4bpp"); -const u32 gObjectEventPic_Seadra[] = INCBIN_U32("graphics/object_events/pics/pokemon/seadra.4bpp"); -const u32 gObjectEventPic_Goldeen[] = INCBIN_U32("graphics/object_events/pics/pokemon/goldeen.4bpp"); -const u32 gObjectEventPic_Seaking[] = INCBIN_U32("graphics/object_events/pics/pokemon/seaking.4bpp"); -const u32 gObjectEventPic_Staryu[] = INCBIN_U32("graphics/object_events/pics/pokemon/staryu.4bpp"); -const u32 gObjectEventPic_Starmie[] = INCBIN_U32("graphics/object_events/pics/pokemon/starmie.4bpp"); -const u32 gObjectEventPic_Mr_Mime[] = INCBIN_U32("graphics/object_events/pics/pokemon/mr_mime.4bpp"); -const u32 gObjectEventPic_Scyther[] = INCBIN_U32("graphics/object_events/pics/pokemon/scyther.4bpp"); -const u32 gObjectEventPic_Jynx[] = INCBIN_U32("graphics/object_events/pics/pokemon/jynx.4bpp"); -const u32 gObjectEventPic_Electabuzz[] = INCBIN_U32("graphics/object_events/pics/pokemon/electabuzz.4bpp"); -const u32 gObjectEventPic_Magmar[] = INCBIN_U32("graphics/object_events/pics/pokemon/magmar.4bpp"); -const u32 gObjectEventPic_Pinsir[] = INCBIN_U32("graphics/object_events/pics/pokemon/pinsir.4bpp"); -const u32 gObjectEventPic_Tauros[] = INCBIN_U32("graphics/object_events/pics/pokemon/tauros.4bpp"); -const u32 gObjectEventPic_Magikarp[] = INCBIN_U32("graphics/object_events/pics/pokemon/magikarp.4bpp"); -const u32 gObjectEventPic_Gyarados[] = INCBIN_U32("graphics/object_events/pics/pokemon/gyarados.4bpp"); -const u32 gObjectEventPic_Lapras[] = INCBIN_U32("graphics/object_events/pics/pokemon/lapras.4bpp"); -const u32 gObjectEventPic_Ditto[] = INCBIN_U32("graphics/object_events/pics/pokemon/ditto.4bpp"); -const u32 gObjectEventPic_Eevee[] = INCBIN_U32("graphics/object_events/pics/pokemon/eevee.4bpp"); -const u32 gObjectEventPic_Vaporeon[] = INCBIN_U32("graphics/object_events/pics/pokemon/vaporeon.4bpp"); -const u32 gObjectEventPic_Jolteon[] = INCBIN_U32("graphics/object_events/pics/pokemon/jolteon.4bpp"); -const u32 gObjectEventPic_Flareon[] = INCBIN_U32("graphics/object_events/pics/pokemon/flareon.4bpp"); -const u32 gObjectEventPic_Porygon[] = INCBIN_U32("graphics/object_events/pics/pokemon/porygon.4bpp"); -const u32 gObjectEventPic_Omanyte[] = INCBIN_U32("graphics/object_events/pics/pokemon/omanyte.4bpp"); -const u32 gObjectEventPic_Omastar[] = INCBIN_U32("graphics/object_events/pics/pokemon/omastar.4bpp"); -const u32 gObjectEventPic_Kabuto[] = INCBIN_U32("graphics/object_events/pics/pokemon/kabuto.4bpp"); -const u32 gObjectEventPic_Kabutops[] = INCBIN_U32("graphics/object_events/pics/pokemon/kabutops.4bpp"); -const u32 gObjectEventPic_Aerodactyl[] = INCBIN_U32("graphics/object_events/pics/pokemon/aerodactyl.4bpp"); -const u32 gObjectEventPic_Snorlax[] = INCBIN_U32("graphics/object_events/pics/pokemon/snorlax.4bpp"); -const u32 gObjectEventPic_Articuno[] = INCBIN_U32("graphics/object_events/pics/pokemon/articuno.4bpp"); -const u32 gObjectEventPic_Zapdos[] = INCBIN_U32("graphics/object_events/pics/pokemon/zapdos.4bpp"); -const u32 gObjectEventPic_Moltres[] = INCBIN_U32("graphics/object_events/pics/pokemon/moltres.4bpp"); -const u32 gObjectEventPic_Dratini[] = INCBIN_U32("graphics/object_events/pics/pokemon/dratini.4bpp"); -const u32 gObjectEventPic_Dragonair[] = INCBIN_U32("graphics/object_events/pics/pokemon/dragonair.4bpp"); -const u32 gObjectEventPic_Dragonite[] = INCBIN_U32("graphics/object_events/pics/pokemon/dragonite.4bpp"); -const u32 gObjectEventPic_Mewtwo[] = INCBIN_U32("graphics/object_events/pics/pokemon/mewtwo.4bpp"); -const u32 gObjectEventPic_Mew[] = INCBIN_U32("graphics/object_events/pics/pokemon/mew.4bpp"); -const u32 gObjectEventPic_Chikorita[] = INCBIN_U32("graphics/object_events/pics/pokemon/chikorita.4bpp"); -const u32 gObjectEventPic_Bayleef[] = INCBIN_U32("graphics/object_events/pics/pokemon/bayleef.4bpp"); -const u32 gObjectEventPic_Meganium[] = INCBIN_U32("graphics/object_events/pics/pokemon/meganium.4bpp"); -const u32 gObjectEventPic_Cyndaquil[] = INCBIN_U32("graphics/object_events/pics/pokemon/cyndaquil.4bpp"); -const u32 gObjectEventPic_Quilava[] = INCBIN_U32("graphics/object_events/pics/pokemon/quilava.4bpp"); -const u32 gObjectEventPic_Typhlosion[] = INCBIN_U32("graphics/object_events/pics/pokemon/typhlosion.4bpp"); -const u32 gObjectEventPic_Totodile[] = INCBIN_U32("graphics/object_events/pics/pokemon/totodile.4bpp"); -const u32 gObjectEventPic_Croconaw[] = INCBIN_U32("graphics/object_events/pics/pokemon/croconaw.4bpp"); -const u32 gObjectEventPic_Feraligatr[] = INCBIN_U32("graphics/object_events/pics/pokemon/feraligatr.4bpp"); -const u32 gObjectEventPic_Sentret[] = INCBIN_U32("graphics/object_events/pics/pokemon/sentret.4bpp"); -const u32 gObjectEventPic_Furret[] = INCBIN_U32("graphics/object_events/pics/pokemon/furret.4bpp"); -const u32 gObjectEventPic_Hoothoot[] = INCBIN_U32("graphics/object_events/pics/pokemon/hoothoot.4bpp"); -const u32 gObjectEventPic_Noctowl[] = INCBIN_U32("graphics/object_events/pics/pokemon/noctowl.4bpp"); -const u32 gObjectEventPic_Ledyba[] = INCBIN_U32("graphics/object_events/pics/pokemon/ledyba.4bpp"); -const u32 gObjectEventPic_Ledian[] = INCBIN_U32("graphics/object_events/pics/pokemon/ledian.4bpp"); -const u32 gObjectEventPic_Spinarak[] = INCBIN_U32("graphics/object_events/pics/pokemon/spinarak.4bpp"); -const u32 gObjectEventPic_Ariados[] = INCBIN_U32("graphics/object_events/pics/pokemon/ariados.4bpp"); -const u32 gObjectEventPic_Crobat[] = INCBIN_U32("graphics/object_events/pics/pokemon/crobat.4bpp"); -const u32 gObjectEventPic_Chinchou[] = INCBIN_U32("graphics/object_events/pics/pokemon/chinchou.4bpp"); -const u32 gObjectEventPic_Lanturn[] = INCBIN_U32("graphics/object_events/pics/pokemon/lanturn.4bpp"); -const u32 gObjectEventPic_Pichu[] = INCBIN_U32("graphics/object_events/pics/pokemon/pichu.4bpp"); -const u32 gObjectEventPic_Cleffa[] = INCBIN_U32("graphics/object_events/pics/pokemon/cleffa.4bpp"); -const u32 gObjectEventPic_Igglybuff[] = INCBIN_U32("graphics/object_events/pics/pokemon/igglybuff.4bpp"); -const u32 gObjectEventPic_Togepi[] = INCBIN_U32("graphics/object_events/pics/pokemon/togepi.4bpp"); -const u32 gObjectEventPic_Togetic[] = INCBIN_U32("graphics/object_events/pics/pokemon/togetic.4bpp"); -const u32 gObjectEventPic_Natu[] = INCBIN_U32("graphics/object_events/pics/pokemon/natu.4bpp"); -const u32 gObjectEventPic_Xatu[] = INCBIN_U32("graphics/object_events/pics/pokemon/xatu.4bpp"); -const u32 gObjectEventPic_Mareep[] = INCBIN_U32("graphics/object_events/pics/pokemon/mareep.4bpp"); -const u32 gObjectEventPic_Flaaffy[] = INCBIN_U32("graphics/object_events/pics/pokemon/flaaffy.4bpp"); -const u32 gObjectEventPic_Ampharos[] = INCBIN_U32("graphics/object_events/pics/pokemon/ampharos.4bpp"); -const u32 gObjectEventPic_Bellossom[] = INCBIN_U32("graphics/object_events/pics/pokemon/bellossom.4bpp"); -const u32 gObjectEventPic_Marill[] = INCBIN_U32("graphics/object_events/pics/pokemon/marill.4bpp"); -const u32 gObjectEventPic_Azumarill[] = INCBIN_U32("graphics/object_events/pics/pokemon/azumarill.4bpp"); -const u32 gObjectEventPic_Sudowoodo[] = INCBIN_U32("graphics/object_events/pics/pokemon/sudowoodo.4bpp"); -const u32 gObjectEventPic_Politoed[] = INCBIN_U32("graphics/object_events/pics/pokemon/politoed.4bpp"); -const u32 gObjectEventPic_Hoppip[] = INCBIN_U32("graphics/object_events/pics/pokemon/hoppip.4bpp"); -const u32 gObjectEventPic_Skiploom[] = INCBIN_U32("graphics/object_events/pics/pokemon/skiploom.4bpp"); -const u32 gObjectEventPic_Jumpluff[] = INCBIN_U32("graphics/object_events/pics/pokemon/jumpluff.4bpp"); -const u32 gObjectEventPic_Aipom[] = INCBIN_U32("graphics/object_events/pics/pokemon/aipom.4bpp"); -const u32 gObjectEventPic_Sunkern[] = INCBIN_U32("graphics/object_events/pics/pokemon/sunkern.4bpp"); -const u32 gObjectEventPic_Sunflora[] = INCBIN_U32("graphics/object_events/pics/pokemon/sunflora.4bpp"); -const u32 gObjectEventPic_Yanma[] = INCBIN_U32("graphics/object_events/pics/pokemon/yanma.4bpp"); -const u32 gObjectEventPic_Wooper[] = INCBIN_U32("graphics/object_events/pics/pokemon/wooper.4bpp"); -const u32 gObjectEventPic_Quagsire[] = INCBIN_U32("graphics/object_events/pics/pokemon/quagsire.4bpp"); -const u32 gObjectEventPic_Espeon[] = INCBIN_U32("graphics/object_events/pics/pokemon/espeon.4bpp"); -const u32 gObjectEventPic_Umbreon[] = INCBIN_U32("graphics/object_events/pics/pokemon/umbreon.4bpp"); -const u32 gObjectEventPic_Murkrow[] = INCBIN_U32("graphics/object_events/pics/pokemon/murkrow.4bpp"); -const u32 gObjectEventPic_Slowking[] = INCBIN_U32("graphics/object_events/pics/pokemon/slowking.4bpp"); -const u32 gObjectEventPic_Misdreavus[] = INCBIN_U32("graphics/object_events/pics/pokemon/misdreavus.4bpp"); -const u32 gObjectEventPic_Unown_A[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_a.4bpp"); -const u32 gObjectEventPic_Unown_B[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_b.4bpp"); -const u32 gObjectEventPic_Unown_C[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_c.4bpp"); -const u32 gObjectEventPic_Unown_D[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_d.4bpp"); -const u32 gObjectEventPic_Unown_E[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_e.4bpp"); -const u32 gObjectEventPic_Unown_F[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_f.4bpp"); -const u32 gObjectEventPic_Unown_G[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_g.4bpp"); -const u32 gObjectEventPic_Unown_H[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_h.4bpp"); -const u32 gObjectEventPic_Unown_I[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_i.4bpp"); -const u32 gObjectEventPic_Unown_J[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_j.4bpp"); -const u32 gObjectEventPic_Unown_K[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_k.4bpp"); -const u32 gObjectEventPic_Unown_L[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_l.4bpp"); -const u32 gObjectEventPic_Unown_M[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_m.4bpp"); -const u32 gObjectEventPic_Unown_N[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_n.4bpp"); -const u32 gObjectEventPic_Unown_O[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_o.4bpp"); -const u32 gObjectEventPic_Unown_P[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_p.4bpp"); -const u32 gObjectEventPic_Unown_Q[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_q.4bpp"); -const u32 gObjectEventPic_Unown_R[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_r.4bpp"); -const u32 gObjectEventPic_Unown_S[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_s.4bpp"); -const u32 gObjectEventPic_Unown_T[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_t.4bpp"); -const u32 gObjectEventPic_Unown_U[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_u.4bpp"); -const u32 gObjectEventPic_Unown_V[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_v.4bpp"); -const u32 gObjectEventPic_Unown_W[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_w.4bpp"); -const u32 gObjectEventPic_Unown_X[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_x.4bpp"); -const u32 gObjectEventPic_Unown_Y[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_y.4bpp"); -const u32 gObjectEventPic_Unown_Z[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_z.4bpp"); -const u32 gObjectEventPic_Unown_Exclamation[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_exclamation.4bpp"); -const u32 gObjectEventPic_Unown_Question[] = INCBIN_U32("graphics/object_events/pics/pokemon/unown_question.4bpp"); -const u32 gObjectEventPic_Wobbuffet[] = INCBIN_U32("graphics/object_events/pics/pokemon/wobbuffet.4bpp"); -const u32 gObjectEventPic_Girafarig[] = INCBIN_U32("graphics/object_events/pics/pokemon/girafarig.4bpp"); -const u32 gObjectEventPic_Pineco[] = INCBIN_U32("graphics/object_events/pics/pokemon/pineco.4bpp"); -const u32 gObjectEventPic_Forretress[] = INCBIN_U32("graphics/object_events/pics/pokemon/forretress.4bpp"); -const u32 gObjectEventPic_Dunsparce[] = INCBIN_U32("graphics/object_events/pics/pokemon/dunsparce.4bpp"); -const u32 gObjectEventPic_Gligar[] = INCBIN_U32("graphics/object_events/pics/pokemon/gligar.4bpp"); -const u32 gObjectEventPic_Steelix[] = INCBIN_U32("graphics/object_events/pics/pokemon/steelix.4bpp"); -const u32 gObjectEventPic_Snubbull[] = INCBIN_U32("graphics/object_events/pics/pokemon/snubbull.4bpp"); -const u32 gObjectEventPic_Granbull[] = INCBIN_U32("graphics/object_events/pics/pokemon/granbull.4bpp"); -const u32 gObjectEventPic_Qwilfish[] = INCBIN_U32("graphics/object_events/pics/pokemon/qwilfish.4bpp"); -const u32 gObjectEventPic_Scizor[] = INCBIN_U32("graphics/object_events/pics/pokemon/scizor.4bpp"); -const u32 gObjectEventPic_Shuckle[] = INCBIN_U32("graphics/object_events/pics/pokemon/shuckle.4bpp"); -const u32 gObjectEventPic_Heracross[] = INCBIN_U32("graphics/object_events/pics/pokemon/heracross.4bpp"); -const u32 gObjectEventPic_Sneasel[] = INCBIN_U32("graphics/object_events/pics/pokemon/sneasel.4bpp"); -const u32 gObjectEventPic_Teddiursa[] = INCBIN_U32("graphics/object_events/pics/pokemon/teddiursa.4bpp"); -const u32 gObjectEventPic_Ursaring[] = INCBIN_U32("graphics/object_events/pics/pokemon/ursaring.4bpp"); -const u32 gObjectEventPic_Slugma[] = INCBIN_U32("graphics/object_events/pics/pokemon/slugma.4bpp"); -const u32 gObjectEventPic_Magcargo[] = INCBIN_U32("graphics/object_events/pics/pokemon/magcargo.4bpp"); -const u32 gObjectEventPic_Swinub[] = INCBIN_U32("graphics/object_events/pics/pokemon/swinub.4bpp"); -const u32 gObjectEventPic_Piloswine[] = INCBIN_U32("graphics/object_events/pics/pokemon/piloswine.4bpp"); -const u32 gObjectEventPic_Corsola[] = INCBIN_U32("graphics/object_events/pics/pokemon/corsola.4bpp"); -const u32 gObjectEventPic_Remoraid[] = INCBIN_U32("graphics/object_events/pics/pokemon/remoraid.4bpp"); -const u32 gObjectEventPic_Octillery[] = INCBIN_U32("graphics/object_events/pics/pokemon/octillery.4bpp"); -const u32 gObjectEventPic_Delibird[] = INCBIN_U32("graphics/object_events/pics/pokemon/delibird.4bpp"); -const u32 gObjectEventPic_Mantine[] = INCBIN_U32("graphics/object_events/pics/pokemon/mantine.4bpp"); -const u32 gObjectEventPic_Skarmory[] = INCBIN_U32("graphics/object_events/pics/pokemon/skarmory.4bpp"); -const u32 gObjectEventPic_Houndour[] = INCBIN_U32("graphics/object_events/pics/pokemon/houndour.4bpp"); -const u32 gObjectEventPic_Houndoom[] = INCBIN_U32("graphics/object_events/pics/pokemon/houndoom.4bpp"); -const u32 gObjectEventPic_Kingdra[] = INCBIN_U32("graphics/object_events/pics/pokemon/kingdra.4bpp"); -const u32 gObjectEventPic_Phanpy[] = INCBIN_U32("graphics/object_events/pics/pokemon/phanpy.4bpp"); -const u32 gObjectEventPic_Donphan[] = INCBIN_U32("graphics/object_events/pics/pokemon/donphan.4bpp"); -const u32 gObjectEventPic_Porygon2[] = INCBIN_U32("graphics/object_events/pics/pokemon/porygon2.4bpp"); -const u32 gObjectEventPic_Stantler[] = INCBIN_U32("graphics/object_events/pics/pokemon/stantler.4bpp"); -const u32 gObjectEventPic_Smeargle[] = INCBIN_U32("graphics/object_events/pics/pokemon/smeargle.4bpp"); -const u32 gObjectEventPic_Tyrogue[] = INCBIN_U32("graphics/object_events/pics/pokemon/tyrogue.4bpp"); -const u32 gObjectEventPic_Hitmontop[] = INCBIN_U32("graphics/object_events/pics/pokemon/hitmontop.4bpp"); -const u32 gObjectEventPic_Smoochum[] = INCBIN_U32("graphics/object_events/pics/pokemon/smoochum.4bpp"); -const u32 gObjectEventPic_Elekid[] = INCBIN_U32("graphics/object_events/pics/pokemon/elekid.4bpp"); -const u32 gObjectEventPic_Magby[] = INCBIN_U32("graphics/object_events/pics/pokemon/magby.4bpp"); -const u32 gObjectEventPic_Miltank[] = INCBIN_U32("graphics/object_events/pics/pokemon/miltank.4bpp"); -const u32 gObjectEventPic_Blissey[] = INCBIN_U32("graphics/object_events/pics/pokemon/blissey.4bpp"); -const u32 gObjectEventPic_Raikou[] = INCBIN_U32("graphics/object_events/pics/pokemon/raikou.4bpp"); -const u32 gObjectEventPic_Entei[] = INCBIN_U32("graphics/object_events/pics/pokemon/entei.4bpp"); -const u32 gObjectEventPic_Suicune[] = INCBIN_U32("graphics/object_events/pics/pokemon/suicune.4bpp"); -const u32 gObjectEventPic_Larvitar[] = INCBIN_U32("graphics/object_events/pics/pokemon/larvitar.4bpp"); -const u32 gObjectEventPic_Pupitar[] = INCBIN_U32("graphics/object_events/pics/pokemon/pupitar.4bpp"); -const u32 gObjectEventPic_Tyranitar[] = INCBIN_U32("graphics/object_events/pics/pokemon/tyranitar.4bpp"); -const u32 gObjectEventPic_Lugia[] = INCBIN_U32("graphics/object_events/pics/pokemon/lugia.4bpp"); -const u32 gObjectEventPic_Ho_oh[] = INCBIN_U32("graphics/object_events/pics/pokemon/ho_oh.4bpp"); -const u32 gObjectEventPic_Celebi[] = INCBIN_U32("graphics/object_events/pics/pokemon/celebi.4bpp"); -const u32 gObjectEventPic_Treecko[] = INCBIN_U32("graphics/object_events/pics/pokemon/treecko.4bpp"); -const u32 gObjectEventPic_Grovyle[] = INCBIN_U32("graphics/object_events/pics/pokemon/grovyle.4bpp"); -const u32 gObjectEventPic_Sceptile[] = INCBIN_U32("graphics/object_events/pics/pokemon/sceptile.4bpp"); -const u32 gObjectEventPic_Torchic[] = INCBIN_U32("graphics/object_events/pics/pokemon/torchic.4bpp"); -const u32 gObjectEventPic_Combusken[] = INCBIN_U32("graphics/object_events/pics/pokemon/combusken.4bpp"); -const u32 gObjectEventPic_Blaziken[] = INCBIN_U32("graphics/object_events/pics/pokemon/blaziken.4bpp"); -const u32 gObjectEventPic_Mudkip[] = INCBIN_U32("graphics/object_events/pics/pokemon/mudkip.4bpp"); -const u32 gObjectEventPic_Marshtomp[] = INCBIN_U32("graphics/object_events/pics/pokemon/marshtomp.4bpp"); -const u32 gObjectEventPic_Swampert[] = INCBIN_U32("graphics/object_events/pics/pokemon/swampert.4bpp"); -const u32 gObjectEventPic_Poochyena[] = INCBIN_U32("graphics/object_events/pics/pokemon/poochyena.4bpp"); -const u32 gObjectEventPic_Mightyena[] = INCBIN_U32("graphics/object_events/pics/pokemon/mightyena.4bpp"); -const u32 gObjectEventPic_Zigzagoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/zigzagoon.4bpp"); -const u32 gObjectEventPic_Linoone[] = INCBIN_U32("graphics/object_events/pics/pokemon/linoone.4bpp"); -const u32 gObjectEventPic_Wurmple[] = INCBIN_U32("graphics/object_events/pics/pokemon/wurmple.4bpp"); -const u32 gObjectEventPic_Silcoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/silcoon.4bpp"); -const u32 gObjectEventPic_Beautifly[] = INCBIN_U32("graphics/object_events/pics/pokemon/beautifly.4bpp"); -const u32 gObjectEventPic_Cascoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/cascoon.4bpp"); -const u32 gObjectEventPic_Dustox[] = INCBIN_U32("graphics/object_events/pics/pokemon/dustox.4bpp"); -const u32 gObjectEventPic_Lotad[] = INCBIN_U32("graphics/object_events/pics/pokemon/lotad.4bpp"); -const u32 gObjectEventPic_Lombre[] = INCBIN_U32("graphics/object_events/pics/pokemon/lombre.4bpp"); -const u32 gObjectEventPic_Ludicolo[] = INCBIN_U32("graphics/object_events/pics/pokemon/ludicolo.4bpp"); -const u32 gObjectEventPic_Seedot[] = INCBIN_U32("graphics/object_events/pics/pokemon/seedot.4bpp"); -const u32 gObjectEventPic_Nuzleaf[] = INCBIN_U32("graphics/object_events/pics/pokemon/nuzleaf.4bpp"); -const u32 gObjectEventPic_Shiftry[] = INCBIN_U32("graphics/object_events/pics/pokemon/shiftry.4bpp"); -const u32 gObjectEventPic_Taillow[] = INCBIN_U32("graphics/object_events/pics/pokemon/taillow.4bpp"); -const u32 gObjectEventPic_Swellow[] = INCBIN_U32("graphics/object_events/pics/pokemon/swellow.4bpp"); -const u32 gObjectEventPic_Wingull[] = INCBIN_U32("graphics/object_events/pics/pokemon/wingull.4bpp"); -const u32 gObjectEventPic_Pelipper[] = INCBIN_U32("graphics/object_events/pics/pokemon/pelipper.4bpp"); -const u32 gObjectEventPic_Ralts[] = INCBIN_U32("graphics/object_events/pics/pokemon/ralts.4bpp"); -const u32 gObjectEventPic_Kirlia[] = INCBIN_U32("graphics/object_events/pics/pokemon/kirlia.4bpp"); -const u32 gObjectEventPic_Gardevoir[] = INCBIN_U32("graphics/object_events/pics/pokemon/gardevoir.4bpp"); -const u32 gObjectEventPic_Surskit[] = INCBIN_U32("graphics/object_events/pics/pokemon/surskit.4bpp"); -const u32 gObjectEventPic_Masquerain[] = INCBIN_U32("graphics/object_events/pics/pokemon/masquerain.4bpp"); -const u32 gObjectEventPic_Shroomish[] = INCBIN_U32("graphics/object_events/pics/pokemon/shroomish.4bpp"); -const u32 gObjectEventPic_Breloom[] = INCBIN_U32("graphics/object_events/pics/pokemon/breloom.4bpp"); -const u32 gObjectEventPic_Slakoth[] = INCBIN_U32("graphics/object_events/pics/pokemon/slakoth.4bpp"); -const u32 gObjectEventPic_Vigoroth[] = INCBIN_U32("graphics/object_events/pics/pokemon/vigoroth.4bpp"); -const u32 gObjectEventPic_Slaking[] = INCBIN_U32("graphics/object_events/pics/pokemon/slaking.4bpp"); -const u32 gObjectEventPic_Nincada[] = INCBIN_U32("graphics/object_events/pics/pokemon/nincada.4bpp"); -const u32 gObjectEventPic_Ninjask[] = INCBIN_U32("graphics/object_events/pics/pokemon/ninjask.4bpp"); -const u32 gObjectEventPic_Shedinja[] = INCBIN_U32("graphics/object_events/pics/pokemon/shedinja.4bpp"); -const u32 gObjectEventPic_Whismur[] = INCBIN_U32("graphics/object_events/pics/pokemon/whismur.4bpp"); -const u32 gObjectEventPic_Loudred[] = INCBIN_U32("graphics/object_events/pics/pokemon/loudred.4bpp"); -const u32 gObjectEventPic_Exploud[] = INCBIN_U32("graphics/object_events/pics/pokemon/exploud.4bpp"); -const u32 gObjectEventPic_Makuhita[] = INCBIN_U32("graphics/object_events/pics/pokemon/makuhita.4bpp"); -const u32 gObjectEventPic_Hariyama[] = INCBIN_U32("graphics/object_events/pics/pokemon/hariyama.4bpp"); -const u32 gObjectEventPic_Azurill[] = INCBIN_U32("graphics/object_events/pics/pokemon/azurill.4bpp"); -const u32 gObjectEventPic_Nosepass[] = INCBIN_U32("graphics/object_events/pics/pokemon/nosepass.4bpp"); -const u32 gObjectEventPic_Skitty[] = INCBIN_U32("graphics/object_events/pics/pokemon/skitty.4bpp"); -const u32 gObjectEventPic_Delcatty[] = INCBIN_U32("graphics/object_events/pics/pokemon/delcatty.4bpp"); -const u32 gObjectEventPic_Sableye[] = INCBIN_U32("graphics/object_events/pics/pokemon/sableye.4bpp"); -const u32 gObjectEventPic_Mawile[] = INCBIN_U32("graphics/object_events/pics/pokemon/mawile.4bpp"); -const u32 gObjectEventPic_Aron[] = INCBIN_U32("graphics/object_events/pics/pokemon/aron.4bpp"); -const u32 gObjectEventPic_Lairon[] = INCBIN_U32("graphics/object_events/pics/pokemon/lairon.4bpp"); -const u32 gObjectEventPic_Aggron[] = INCBIN_U32("graphics/object_events/pics/pokemon/aggron.4bpp"); -const u32 gObjectEventPic_Meditite[] = INCBIN_U32("graphics/object_events/pics/pokemon/meditite.4bpp"); -const u32 gObjectEventPic_Medicham[] = INCBIN_U32("graphics/object_events/pics/pokemon/medicham.4bpp"); -const u32 gObjectEventPic_Electrike[] = INCBIN_U32("graphics/object_events/pics/pokemon/electrike.4bpp"); -const u32 gObjectEventPic_Manectric[] = INCBIN_U32("graphics/object_events/pics/pokemon/manectric.4bpp"); -const u32 gObjectEventPic_Plusle[] = INCBIN_U32("graphics/object_events/pics/pokemon/plusle.4bpp"); -const u32 gObjectEventPic_Minun[] = INCBIN_U32("graphics/object_events/pics/pokemon/minun.4bpp"); -const u32 gObjectEventPic_Volbeat[] = INCBIN_U32("graphics/object_events/pics/pokemon/volbeat.4bpp"); -const u32 gObjectEventPic_Illumise[] = INCBIN_U32("graphics/object_events/pics/pokemon/illumise.4bpp"); -const u32 gObjectEventPic_Roselia[] = INCBIN_U32("graphics/object_events/pics/pokemon/roselia.4bpp"); -const u32 gObjectEventPic_Gulpin[] = INCBIN_U32("graphics/object_events/pics/pokemon/gulpin.4bpp"); -const u32 gObjectEventPic_Swalot[] = INCBIN_U32("graphics/object_events/pics/pokemon/swalot.4bpp"); -const u32 gObjectEventPic_Carvanha[] = INCBIN_U32("graphics/object_events/pics/pokemon/carvanha.4bpp"); -const u32 gObjectEventPic_Sharpedo[] = INCBIN_U32("graphics/object_events/pics/pokemon/sharpedo.4bpp"); -const u32 gObjectEventPic_Wailmer[] = INCBIN_U32("graphics/object_events/pics/pokemon/wailmer.4bpp"); -const u32 gObjectEventPic_Wailord[] = INCBIN_U32("graphics/object_events/pics/pokemon/wailord.4bpp"); -const u32 gObjectEventPic_Numel[] = INCBIN_U32("graphics/object_events/pics/pokemon/numel.4bpp"); -const u32 gObjectEventPic_Camerupt[] = INCBIN_U32("graphics/object_events/pics/pokemon/camerupt.4bpp"); -const u32 gObjectEventPic_Torkoal[] = INCBIN_U32("graphics/object_events/pics/pokemon/torkoal.4bpp"); -const u32 gObjectEventPic_Spoink[] = INCBIN_U32("graphics/object_events/pics/pokemon/spoink.4bpp"); -const u32 gObjectEventPic_Grumpig[] = INCBIN_U32("graphics/object_events/pics/pokemon/grumpig.4bpp"); -const u32 gObjectEventPic_Spinda[] = INCBIN_U32("graphics/object_events/pics/pokemon/spinda.4bpp"); -const u32 gObjectEventPic_Trapinch[] = INCBIN_U32("graphics/object_events/pics/pokemon/trapinch.4bpp"); -const u32 gObjectEventPic_Vibrava[] = INCBIN_U32("graphics/object_events/pics/pokemon/vibrava.4bpp"); -const u32 gObjectEventPic_Flygon[] = INCBIN_U32("graphics/object_events/pics/pokemon/flygon.4bpp"); -const u32 gObjectEventPic_Cacnea[] = INCBIN_U32("graphics/object_events/pics/pokemon/cacnea.4bpp"); -const u32 gObjectEventPic_Cacturne[] = INCBIN_U32("graphics/object_events/pics/pokemon/cacturne.4bpp"); -const u32 gObjectEventPic_Swablu[] = INCBIN_U32("graphics/object_events/pics/pokemon/swablu.4bpp"); -const u32 gObjectEventPic_Altaria[] = INCBIN_U32("graphics/object_events/pics/pokemon/altaria.4bpp"); -const u32 gObjectEventPic_Zangoose[] = INCBIN_U32("graphics/object_events/pics/pokemon/zangoose.4bpp"); -const u32 gObjectEventPic_Seviper[] = INCBIN_U32("graphics/object_events/pics/pokemon/seviper.4bpp"); -const u32 gObjectEventPic_Lunatone[] = INCBIN_U32("graphics/object_events/pics/pokemon/lunatone.4bpp"); -const u32 gObjectEventPic_Solrock[] = INCBIN_U32("graphics/object_events/pics/pokemon/solrock.4bpp"); -const u32 gObjectEventPic_Barboach[] = INCBIN_U32("graphics/object_events/pics/pokemon/barboach.4bpp"); -const u32 gObjectEventPic_Whiscash[] = INCBIN_U32("graphics/object_events/pics/pokemon/whiscash.4bpp"); -const u32 gObjectEventPic_Corphish[] = INCBIN_U32("graphics/object_events/pics/pokemon/corphish.4bpp"); -const u32 gObjectEventPic_Crawdaunt[] = INCBIN_U32("graphics/object_events/pics/pokemon/crawdaunt.4bpp"); -const u32 gObjectEventPic_Baltoy[] = INCBIN_U32("graphics/object_events/pics/pokemon/baltoy.4bpp"); -const u32 gObjectEventPic_Claydol[] = INCBIN_U32("graphics/object_events/pics/pokemon/claydol.4bpp"); -const u32 gObjectEventPic_Lileep[] = INCBIN_U32("graphics/object_events/pics/pokemon/lileep.4bpp"); -const u32 gObjectEventPic_Cradily[] = INCBIN_U32("graphics/object_events/pics/pokemon/cradily.4bpp"); -const u32 gObjectEventPic_Anorith[] = INCBIN_U32("graphics/object_events/pics/pokemon/anorith.4bpp"); -const u32 gObjectEventPic_Armaldo[] = INCBIN_U32("graphics/object_events/pics/pokemon/armaldo.4bpp"); -const u32 gObjectEventPic_Feebas[] = INCBIN_U32("graphics/object_events/pics/pokemon/feebas.4bpp"); -const u32 gObjectEventPic_Milotic[] = INCBIN_U32("graphics/object_events/pics/pokemon/milotic.4bpp"); -const u32 gObjectEventPic_Castform[] = INCBIN_U32("graphics/object_events/pics/pokemon/castform.4bpp"); -const u32 gObjectEventPic_CastformSunny[] = INCBIN_U32("graphics/object_events/pics/pokemon/castform_sunny.4bpp"); -const u32 gObjectEventPic_CastformRainy[] = INCBIN_U32("graphics/object_events/pics/pokemon/castform_rainy.4bpp"); -const u32 gObjectEventPic_CastformSnowy[] = INCBIN_U32("graphics/object_events/pics/pokemon/castform_snowy.4bpp"); -const u32 gObjectEventPic_Kecleon[] = INCBIN_U32("graphics/object_events/pics/pokemon/kecleon.4bpp"); -const u32 gObjectEventPic_Shuppet[] = INCBIN_U32("graphics/object_events/pics/pokemon/shuppet.4bpp"); -const u32 gObjectEventPic_Banette[] = INCBIN_U32("graphics/object_events/pics/pokemon/banette.4bpp"); -const u32 gObjectEventPic_Duskull[] = INCBIN_U32("graphics/object_events/pics/pokemon/duskull.4bpp"); -const u32 gObjectEventPic_Dusclops[] = INCBIN_U32("graphics/object_events/pics/pokemon/dusclops.4bpp"); -const u32 gObjectEventPic_Tropius[] = INCBIN_U32("graphics/object_events/pics/pokemon/tropius.4bpp"); -const u32 gObjectEventPic_Chimecho[] = INCBIN_U32("graphics/object_events/pics/pokemon/chimecho.4bpp"); -const u32 gObjectEventPic_Absol[] = INCBIN_U32("graphics/object_events/pics/pokemon/absol.4bpp"); -const u32 gObjectEventPic_Wynaut[] = INCBIN_U32("graphics/object_events/pics/pokemon/wynaut.4bpp"); -const u32 gObjectEventPic_Snorunt[] = INCBIN_U32("graphics/object_events/pics/pokemon/snorunt.4bpp"); -const u32 gObjectEventPic_Glalie[] = INCBIN_U32("graphics/object_events/pics/pokemon/glalie.4bpp"); -const u32 gObjectEventPic_Spheal[] = INCBIN_U32("graphics/object_events/pics/pokemon/spheal.4bpp"); -const u32 gObjectEventPic_Sealeo[] = INCBIN_U32("graphics/object_events/pics/pokemon/sealeo.4bpp"); -const u32 gObjectEventPic_Walrein[] = INCBIN_U32("graphics/object_events/pics/pokemon/walrein.4bpp"); -const u32 gObjectEventPic_Clamperl[] = INCBIN_U32("graphics/object_events/pics/pokemon/clamperl.4bpp"); -const u32 gObjectEventPic_Huntail[] = INCBIN_U32("graphics/object_events/pics/pokemon/huntail.4bpp"); -const u32 gObjectEventPic_Gorebyss[] = INCBIN_U32("graphics/object_events/pics/pokemon/gorebyss.4bpp"); -const u32 gObjectEventPic_Relicanth[] = INCBIN_U32("graphics/object_events/pics/pokemon/relicanth.4bpp"); -const u32 gObjectEventPic_Luvdisc[] = INCBIN_U32("graphics/object_events/pics/pokemon/luvdisc.4bpp"); -const u32 gObjectEventPic_Bagon[] = INCBIN_U32("graphics/object_events/pics/pokemon/bagon.4bpp"); -const u32 gObjectEventPic_Shelgon[] = INCBIN_U32("graphics/object_events/pics/pokemon/shelgon.4bpp"); -const u32 gObjectEventPic_Salamence[] = INCBIN_U32("graphics/object_events/pics/pokemon/salamence.4bpp"); -const u32 gObjectEventPic_Beldum[] = INCBIN_U32("graphics/object_events/pics/pokemon/beldum.4bpp"); -const u32 gObjectEventPic_Metang[] = INCBIN_U32("graphics/object_events/pics/pokemon/metang.4bpp"); -const u32 gObjectEventPic_Metagross[] = INCBIN_U32("graphics/object_events/pics/pokemon/metagross.4bpp"); -const u32 gObjectEventPic_Regirock[] = INCBIN_U32("graphics/object_events/pics/pokemon/regirock.4bpp"); -const u32 gObjectEventPic_Regice[] = INCBIN_U32("graphics/object_events/pics/pokemon/regice.4bpp"); -const u32 gObjectEventPic_Registeel[] = INCBIN_U32("graphics/object_events/pics/pokemon/registeel.4bpp"); -const u32 gObjectEventPic_Latias[] = INCBIN_U32("graphics/object_events/pics/pokemon/latias.4bpp"); -const u32 gObjectEventPic_Latios[] = INCBIN_U32("graphics/object_events/pics/pokemon/latios.4bpp"); -const u32 gObjectEventPic_Kyogre[] = INCBIN_U32("graphics/object_events/pics/pokemon/kyogre.4bpp"); -const u32 gObjectEventPic_Groudon[] = INCBIN_U32("graphics/object_events/pics/pokemon/groudon.4bpp"); -const u32 gObjectEventPic_Rayquaza[] = INCBIN_U32("graphics/object_events/pics/pokemon/rayquaza.4bpp"); -const u32 gObjectEventPic_Jirachi[] = INCBIN_U32("graphics/object_events/pics/pokemon/jirachi.4bpp"); -const u32 gObjectEventPic_Deoxys[] = INCBIN_U32("graphics/object_events/pics/pokemon/deoxys.4bpp"); -const u32 gObjectEventPic_DeoxysOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/deoxys_old.4bpp"); -const u32 gObjectEventPic_MewOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/mew_old.4bpp"); -const u32 gObjectEventPic_DusclopsOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/dusclops_old.4bpp"); -const u32 gObjectEventPic_KirliaOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/kirlia_old.4bpp"); -const u32 gObjectEventPic_AzurillOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/azurill_old.4bpp"); -const u32 gObjectEventPic_KecleonOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/kecleon_old.4bpp"); -const u32 gObjectEventPic_WingullOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/wingull_old.4bpp"); -const u32 gObjectEventPic_AzumarillOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/azumarill_old.4bpp"); -const u32 gObjectEventPic_PikachuOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/pikachu_old.4bpp"); -const u32 gObjectEventPic_ZigzagoonOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/zigzagoon_old.4bpp"); -const u32 gObjectEventPic_SkittyOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/skitty_old.4bpp"); -const u32 gObjectEventPic_PoochyenaOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/poochyena_old.4bpp"); -const u32 gObjectEventPic_LugiaOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/lugia_old.4bpp"); -const u32 gObjectEventPic_HoOhOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/ho_oh_old.4bpp"); -const u32 gObjectEventPic_GroudonOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/groudon_old.4bpp"); -const u32 gObjectEventPic_KyogreOld[] = INCBIN_U32("graphics/object_events/pics/pokemon/kyogre_old.4bpp"); +// Normally, INCBIN_COMP acts like INCBIN_U32, but appends `.lz` to the file, compressing it; +// If not compressing follower gfx, make this an alias to INCBIN_32, so gfx will *not* be compressed +#if !(OW_GFX_COMPRESS) +#define INCBIN_COMP INCBIN_U32 +#endif -const u32 gObjectEventPic_VigorothMover[] = INCBIN_U32("graphics/object_events/pics/pokemon/vigoroth_mover.4bpp"); -const u32 gObjectEventPic_SudowoodoTree[] = INCBIN_U32("graphics/object_events/pics/pokemon/sudowoodo_tree.4bpp"); -const u32 gObjectEventPic_RayquazaCutscene[] = INCBIN_U32("graphics/object_events/pics/pokemon/rayquaza_cutscene.4bpp"); +const u32 gObjectEventPic_Bulbasaur[] = INCBIN_COMP("graphics/object_events/pics/pokemon/bulbasaur.4bpp"); +const u32 gObjectEventPic_Ivysaur[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ivysaur.4bpp"); +const u32 gObjectEventPic_Venusaur[] = INCBIN_COMP("graphics/object_events/pics/pokemon/venusaur.4bpp"); +const u32 gObjectEventPic_Charmander[] = INCBIN_COMP("graphics/object_events/pics/pokemon/charmander.4bpp"); +const u32 gObjectEventPic_Charmeleon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/charmeleon.4bpp"); +const u32 gObjectEventPic_Charizard[] = INCBIN_COMP("graphics/object_events/pics/pokemon/charizard.4bpp"); +const u32 gObjectEventPic_Squirtle[] = INCBIN_COMP("graphics/object_events/pics/pokemon/squirtle.4bpp"); +const u32 gObjectEventPic_Wartortle[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wartortle.4bpp"); +const u32 gObjectEventPic_Blastoise[] = INCBIN_COMP("graphics/object_events/pics/pokemon/blastoise.4bpp"); +const u32 gObjectEventPic_Caterpie[] = INCBIN_COMP("graphics/object_events/pics/pokemon/caterpie.4bpp"); +const u32 gObjectEventPic_Metapod[] = INCBIN_COMP("graphics/object_events/pics/pokemon/metapod.4bpp"); +const u32 gObjectEventPic_Butterfree[] = INCBIN_COMP("graphics/object_events/pics/pokemon/butterfree.4bpp"); +const u32 gObjectEventPic_Weedle[] = INCBIN_COMP("graphics/object_events/pics/pokemon/weedle.4bpp"); +const u32 gObjectEventPic_Kakuna[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kakuna.4bpp"); +const u32 gObjectEventPic_Beedrill[] = INCBIN_COMP("graphics/object_events/pics/pokemon/beedrill.4bpp"); +const u32 gObjectEventPic_Pidgey[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pidgey.4bpp"); +const u32 gObjectEventPic_Pidgeotto[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pidgeotto.4bpp"); +const u32 gObjectEventPic_Pidgeot[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pidgeot.4bpp"); +const u32 gObjectEventPic_Rattata[] = INCBIN_COMP("graphics/object_events/pics/pokemon/rattata.4bpp"); +const u32 gObjectEventPic_Raticate[] = INCBIN_COMP("graphics/object_events/pics/pokemon/raticate.4bpp"); +const u32 gObjectEventPic_Spearow[] = INCBIN_COMP("graphics/object_events/pics/pokemon/spearow.4bpp"); +const u32 gObjectEventPic_Fearow[] = INCBIN_COMP("graphics/object_events/pics/pokemon/fearow.4bpp"); +const u32 gObjectEventPic_Ekans[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ekans.4bpp"); +const u32 gObjectEventPic_Arbok[] = INCBIN_COMP("graphics/object_events/pics/pokemon/arbok.4bpp"); +const u32 gObjectEventPic_Pikachu[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pikachu.4bpp"); +const u32 gObjectEventPic_Raichu[] = INCBIN_COMP("graphics/object_events/pics/pokemon/raichu.4bpp"); +const u32 gObjectEventPic_Sandshrew[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sandshrew.4bpp"); +const u32 gObjectEventPic_Sandslash[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sandslash.4bpp"); +const u32 gObjectEventPic_Nidoran_f[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nidoran_f.4bpp"); +const u32 gObjectEventPic_Nidorina[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nidorina.4bpp"); +const u32 gObjectEventPic_Nidoqueen[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nidoqueen.4bpp"); +const u32 gObjectEventPic_Nidoran_m[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nidoran_m.4bpp"); +const u32 gObjectEventPic_Nidorino[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nidorino.4bpp"); +const u32 gObjectEventPic_Nidoking[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nidoking.4bpp"); +const u32 gObjectEventPic_Clefairy[] = INCBIN_COMP("graphics/object_events/pics/pokemon/clefairy.4bpp"); +const u32 gObjectEventPic_Clefable[] = INCBIN_COMP("graphics/object_events/pics/pokemon/clefable.4bpp"); +const u32 gObjectEventPic_Vulpix[] = INCBIN_COMP("graphics/object_events/pics/pokemon/vulpix.4bpp"); +const u32 gObjectEventPic_Ninetales[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ninetales.4bpp"); +const u32 gObjectEventPic_Jigglypuff[] = INCBIN_COMP("graphics/object_events/pics/pokemon/jigglypuff.4bpp"); +const u32 gObjectEventPic_Wigglytuff[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wigglytuff.4bpp"); +const u32 gObjectEventPic_Zubat[] = INCBIN_COMP("graphics/object_events/pics/pokemon/zubat.4bpp"); +const u32 gObjectEventPic_Golbat[] = INCBIN_COMP("graphics/object_events/pics/pokemon/golbat.4bpp"); +const u32 gObjectEventPic_Oddish[] = INCBIN_COMP("graphics/object_events/pics/pokemon/oddish.4bpp"); +const u32 gObjectEventPic_Gloom[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gloom.4bpp"); +const u32 gObjectEventPic_Vileplume[] = INCBIN_COMP("graphics/object_events/pics/pokemon/vileplume.4bpp"); +const u32 gObjectEventPic_Paras[] = INCBIN_COMP("graphics/object_events/pics/pokemon/paras.4bpp"); +const u32 gObjectEventPic_Parasect[] = INCBIN_COMP("graphics/object_events/pics/pokemon/parasect.4bpp"); +const u32 gObjectEventPic_Venonat[] = INCBIN_COMP("graphics/object_events/pics/pokemon/venonat.4bpp"); +const u32 gObjectEventPic_Venomoth[] = INCBIN_COMP("graphics/object_events/pics/pokemon/venomoth.4bpp"); +const u32 gObjectEventPic_Diglett[] = INCBIN_COMP("graphics/object_events/pics/pokemon/diglett.4bpp"); +const u32 gObjectEventPic_Dugtrio[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dugtrio.4bpp"); +const u32 gObjectEventPic_Meowth[] = INCBIN_COMP("graphics/object_events/pics/pokemon/meowth.4bpp"); +const u32 gObjectEventPic_Persian[] = INCBIN_COMP("graphics/object_events/pics/pokemon/persian.4bpp"); +const u32 gObjectEventPic_Psyduck[] = INCBIN_COMP("graphics/object_events/pics/pokemon/psyduck.4bpp"); +const u32 gObjectEventPic_Golduck[] = INCBIN_COMP("graphics/object_events/pics/pokemon/golduck.4bpp"); +const u32 gObjectEventPic_Mankey[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mankey.4bpp"); +const u32 gObjectEventPic_Primeape[] = INCBIN_COMP("graphics/object_events/pics/pokemon/primeape.4bpp"); +const u32 gObjectEventPic_Growlithe[] = INCBIN_COMP("graphics/object_events/pics/pokemon/growlithe.4bpp"); +const u32 gObjectEventPic_Arcanine[] = INCBIN_COMP("graphics/object_events/pics/pokemon/arcanine.4bpp"); +const u32 gObjectEventPic_Poliwag[] = INCBIN_COMP("graphics/object_events/pics/pokemon/poliwag.4bpp"); +const u32 gObjectEventPic_Poliwhirl[] = INCBIN_COMP("graphics/object_events/pics/pokemon/poliwhirl.4bpp"); +const u32 gObjectEventPic_Poliwrath[] = INCBIN_COMP("graphics/object_events/pics/pokemon/poliwrath.4bpp"); +const u32 gObjectEventPic_Abra[] = INCBIN_COMP("graphics/object_events/pics/pokemon/abra.4bpp"); +const u32 gObjectEventPic_Kadabra[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kadabra.4bpp"); +const u32 gObjectEventPic_Alakazam[] = INCBIN_COMP("graphics/object_events/pics/pokemon/alakazam.4bpp"); +const u32 gObjectEventPic_Machop[] = INCBIN_COMP("graphics/object_events/pics/pokemon/machop.4bpp"); +const u32 gObjectEventPic_Machoke[] = INCBIN_COMP("graphics/object_events/pics/pokemon/machoke.4bpp"); +const u32 gObjectEventPic_Machamp[] = INCBIN_COMP("graphics/object_events/pics/pokemon/machamp.4bpp"); +const u32 gObjectEventPic_Bellsprout[] = INCBIN_COMP("graphics/object_events/pics/pokemon/bellsprout.4bpp"); +const u32 gObjectEventPic_Weepinbell[] = INCBIN_COMP("graphics/object_events/pics/pokemon/weepinbell.4bpp"); +const u32 gObjectEventPic_Victreebel[] = INCBIN_COMP("graphics/object_events/pics/pokemon/victreebel.4bpp"); +const u32 gObjectEventPic_Tentacool[] = INCBIN_COMP("graphics/object_events/pics/pokemon/tentacool.4bpp"); +const u32 gObjectEventPic_Tentacruel[] = INCBIN_COMP("graphics/object_events/pics/pokemon/tentacruel.4bpp"); +const u32 gObjectEventPic_Geodude[] = INCBIN_COMP("graphics/object_events/pics/pokemon/geodude.4bpp"); +const u32 gObjectEventPic_Graveler[] = INCBIN_COMP("graphics/object_events/pics/pokemon/graveler.4bpp"); +const u32 gObjectEventPic_Golem[] = INCBIN_COMP("graphics/object_events/pics/pokemon/golem.4bpp"); +const u32 gObjectEventPic_Ponyta[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ponyta.4bpp"); +const u32 gObjectEventPic_Rapidash[] = INCBIN_COMP("graphics/object_events/pics/pokemon/rapidash.4bpp"); +const u32 gObjectEventPic_Slowpoke[] = INCBIN_COMP("graphics/object_events/pics/pokemon/slowpoke.4bpp"); +const u32 gObjectEventPic_Slowbro[] = INCBIN_COMP("graphics/object_events/pics/pokemon/slowbro.4bpp"); +const u32 gObjectEventPic_Magnemite[] = INCBIN_COMP("graphics/object_events/pics/pokemon/magnemite.4bpp"); +const u32 gObjectEventPic_Magneton[] = INCBIN_COMP("graphics/object_events/pics/pokemon/magneton.4bpp"); +const u32 gObjectEventPic_Farfetchd[] = INCBIN_COMP("graphics/object_events/pics/pokemon/farfetchd.4bpp"); +const u32 gObjectEventPic_Doduo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/doduo.4bpp"); +const u32 gObjectEventPic_Dodrio[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dodrio.4bpp"); +const u32 gObjectEventPic_Seel[] = INCBIN_COMP("graphics/object_events/pics/pokemon/seel.4bpp"); +const u32 gObjectEventPic_Dewgong[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dewgong.4bpp"); +const u32 gObjectEventPic_Grimer[] = INCBIN_COMP("graphics/object_events/pics/pokemon/grimer.4bpp"); +const u32 gObjectEventPic_Muk[] = INCBIN_COMP("graphics/object_events/pics/pokemon/muk.4bpp"); +const u32 gObjectEventPic_Shellder[] = INCBIN_COMP("graphics/object_events/pics/pokemon/shellder.4bpp"); +const u32 gObjectEventPic_Cloyster[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cloyster.4bpp"); +const u32 gObjectEventPic_Gastly[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gastly.4bpp"); +const u32 gObjectEventPic_Haunter[] = INCBIN_COMP("graphics/object_events/pics/pokemon/haunter.4bpp"); +const u32 gObjectEventPic_Gengar[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gengar.4bpp"); +const u32 gObjectEventPic_Onix[] = INCBIN_COMP("graphics/object_events/pics/pokemon/onix.4bpp"); +const u32 gObjectEventPic_Drowzee[] = INCBIN_COMP("graphics/object_events/pics/pokemon/drowzee.4bpp"); +const u32 gObjectEventPic_Hypno[] = INCBIN_COMP("graphics/object_events/pics/pokemon/hypno.4bpp"); +const u32 gObjectEventPic_Krabby[] = INCBIN_COMP("graphics/object_events/pics/pokemon/krabby.4bpp"); +const u32 gObjectEventPic_Kingler[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kingler.4bpp"); +const u32 gObjectEventPic_Voltorb[] = INCBIN_COMP("graphics/object_events/pics/pokemon/voltorb.4bpp"); +const u32 gObjectEventPic_Electrode[] = INCBIN_COMP("graphics/object_events/pics/pokemon/electrode.4bpp"); +const u32 gObjectEventPic_Exeggcute[] = INCBIN_COMP("graphics/object_events/pics/pokemon/exeggcute.4bpp"); +const u32 gObjectEventPic_Exeggutor[] = INCBIN_COMP("graphics/object_events/pics/pokemon/exeggutor.4bpp"); +const u32 gObjectEventPic_Cubone[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cubone.4bpp"); +const u32 gObjectEventPic_Marowak[] = INCBIN_COMP("graphics/object_events/pics/pokemon/marowak.4bpp"); +const u32 gObjectEventPic_Hitmonlee[] = INCBIN_COMP("graphics/object_events/pics/pokemon/hitmonlee.4bpp"); +const u32 gObjectEventPic_Hitmonchan[] = INCBIN_COMP("graphics/object_events/pics/pokemon/hitmonchan.4bpp"); +const u32 gObjectEventPic_Lickitung[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lickitung.4bpp"); +const u32 gObjectEventPic_Koffing[] = INCBIN_COMP("graphics/object_events/pics/pokemon/koffing.4bpp"); +const u32 gObjectEventPic_Weezing[] = INCBIN_COMP("graphics/object_events/pics/pokemon/weezing.4bpp"); +const u32 gObjectEventPic_Rhyhorn[] = INCBIN_COMP("graphics/object_events/pics/pokemon/rhyhorn.4bpp"); +const u32 gObjectEventPic_Rhydon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/rhydon.4bpp"); +const u32 gObjectEventPic_Chansey[] = INCBIN_COMP("graphics/object_events/pics/pokemon/chansey.4bpp"); +const u32 gObjectEventPic_Tangela[] = INCBIN_COMP("graphics/object_events/pics/pokemon/tangela.4bpp"); +const u32 gObjectEventPic_Kangaskhan[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kangaskhan.4bpp"); +const u32 gObjectEventPic_Horsea[] = INCBIN_COMP("graphics/object_events/pics/pokemon/horsea.4bpp"); +const u32 gObjectEventPic_Seadra[] = INCBIN_COMP("graphics/object_events/pics/pokemon/seadra.4bpp"); +const u32 gObjectEventPic_Goldeen[] = INCBIN_COMP("graphics/object_events/pics/pokemon/goldeen.4bpp"); +const u32 gObjectEventPic_Seaking[] = INCBIN_COMP("graphics/object_events/pics/pokemon/seaking.4bpp"); +const u32 gObjectEventPic_Staryu[] = INCBIN_COMP("graphics/object_events/pics/pokemon/staryu.4bpp"); +const u32 gObjectEventPic_Starmie[] = INCBIN_COMP("graphics/object_events/pics/pokemon/starmie.4bpp"); +const u32 gObjectEventPic_Mr_Mime[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mr_mime.4bpp"); +const u32 gObjectEventPic_Scyther[] = INCBIN_COMP("graphics/object_events/pics/pokemon/scyther.4bpp"); +const u32 gObjectEventPic_Jynx[] = INCBIN_COMP("graphics/object_events/pics/pokemon/jynx.4bpp"); +const u32 gObjectEventPic_Electabuzz[] = INCBIN_COMP("graphics/object_events/pics/pokemon/electabuzz.4bpp"); +const u32 gObjectEventPic_Magmar[] = INCBIN_COMP("graphics/object_events/pics/pokemon/magmar.4bpp"); +const u32 gObjectEventPic_Pinsir[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pinsir.4bpp"); +const u32 gObjectEventPic_Tauros[] = INCBIN_COMP("graphics/object_events/pics/pokemon/tauros.4bpp"); +const u32 gObjectEventPic_Magikarp[] = INCBIN_COMP("graphics/object_events/pics/pokemon/magikarp.4bpp"); +const u32 gObjectEventPic_Gyarados[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gyarados.4bpp"); +const u32 gObjectEventPic_Lapras[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lapras.4bpp"); +const u32 gObjectEventPic_Ditto[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ditto.4bpp"); +const u32 gObjectEventPic_Eevee[] = INCBIN_COMP("graphics/object_events/pics/pokemon/eevee.4bpp"); +const u32 gObjectEventPic_Vaporeon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/vaporeon.4bpp"); +const u32 gObjectEventPic_Jolteon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/jolteon.4bpp"); +const u32 gObjectEventPic_Flareon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/flareon.4bpp"); +const u32 gObjectEventPic_Porygon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/porygon.4bpp"); +const u32 gObjectEventPic_Omanyte[] = INCBIN_COMP("graphics/object_events/pics/pokemon/omanyte.4bpp"); +const u32 gObjectEventPic_Omastar[] = INCBIN_COMP("graphics/object_events/pics/pokemon/omastar.4bpp"); +const u32 gObjectEventPic_Kabuto[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kabuto.4bpp"); +const u32 gObjectEventPic_Kabutops[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kabutops.4bpp"); +const u32 gObjectEventPic_Aerodactyl[] = INCBIN_COMP("graphics/object_events/pics/pokemon/aerodactyl.4bpp"); +const u32 gObjectEventPic_Snorlax[] = INCBIN_COMP("graphics/object_events/pics/pokemon/snorlax.4bpp"); +const u32 gObjectEventPic_Articuno[] = INCBIN_COMP("graphics/object_events/pics/pokemon/articuno.4bpp"); +const u32 gObjectEventPic_Zapdos[] = INCBIN_COMP("graphics/object_events/pics/pokemon/zapdos.4bpp"); +const u32 gObjectEventPic_Moltres[] = INCBIN_COMP("graphics/object_events/pics/pokemon/moltres.4bpp"); +const u32 gObjectEventPic_Dratini[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dratini.4bpp"); +const u32 gObjectEventPic_Dragonair[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dragonair.4bpp"); +const u32 gObjectEventPic_Dragonite[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dragonite.4bpp"); +const u32 gObjectEventPic_Mewtwo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mewtwo.4bpp"); +const u32 gObjectEventPic_Mew[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mew.4bpp"); +const u32 gObjectEventPic_Chikorita[] = INCBIN_COMP("graphics/object_events/pics/pokemon/chikorita.4bpp"); +const u32 gObjectEventPic_Bayleef[] = INCBIN_COMP("graphics/object_events/pics/pokemon/bayleef.4bpp"); +const u32 gObjectEventPic_Meganium[] = INCBIN_COMP("graphics/object_events/pics/pokemon/meganium.4bpp"); +const u32 gObjectEventPic_Cyndaquil[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cyndaquil.4bpp"); +const u32 gObjectEventPic_Quilava[] = INCBIN_COMP("graphics/object_events/pics/pokemon/quilava.4bpp"); +const u32 gObjectEventPic_Typhlosion[] = INCBIN_COMP("graphics/object_events/pics/pokemon/typhlosion.4bpp"); +const u32 gObjectEventPic_Totodile[] = INCBIN_COMP("graphics/object_events/pics/pokemon/totodile.4bpp"); +const u32 gObjectEventPic_Croconaw[] = INCBIN_COMP("graphics/object_events/pics/pokemon/croconaw.4bpp"); +const u32 gObjectEventPic_Feraligatr[] = INCBIN_COMP("graphics/object_events/pics/pokemon/feraligatr.4bpp"); +const u32 gObjectEventPic_Sentret[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sentret.4bpp"); +const u32 gObjectEventPic_Furret[] = INCBIN_COMP("graphics/object_events/pics/pokemon/furret.4bpp"); +const u32 gObjectEventPic_Hoothoot[] = INCBIN_COMP("graphics/object_events/pics/pokemon/hoothoot.4bpp"); +const u32 gObjectEventPic_Noctowl[] = INCBIN_COMP("graphics/object_events/pics/pokemon/noctowl.4bpp"); +const u32 gObjectEventPic_Ledyba[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ledyba.4bpp"); +const u32 gObjectEventPic_Ledian[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ledian.4bpp"); +const u32 gObjectEventPic_Spinarak[] = INCBIN_COMP("graphics/object_events/pics/pokemon/spinarak.4bpp"); +const u32 gObjectEventPic_Ariados[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ariados.4bpp"); +const u32 gObjectEventPic_Crobat[] = INCBIN_COMP("graphics/object_events/pics/pokemon/crobat.4bpp"); +const u32 gObjectEventPic_Chinchou[] = INCBIN_COMP("graphics/object_events/pics/pokemon/chinchou.4bpp"); +const u32 gObjectEventPic_Lanturn[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lanturn.4bpp"); +const u32 gObjectEventPic_Pichu[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pichu.4bpp"); +const u32 gObjectEventPic_Cleffa[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cleffa.4bpp"); +const u32 gObjectEventPic_Igglybuff[] = INCBIN_COMP("graphics/object_events/pics/pokemon/igglybuff.4bpp"); +const u32 gObjectEventPic_Togepi[] = INCBIN_COMP("graphics/object_events/pics/pokemon/togepi.4bpp"); +const u32 gObjectEventPic_Togetic[] = INCBIN_COMP("graphics/object_events/pics/pokemon/togetic.4bpp"); +const u32 gObjectEventPic_Natu[] = INCBIN_COMP("graphics/object_events/pics/pokemon/natu.4bpp"); +const u32 gObjectEventPic_Xatu[] = INCBIN_COMP("graphics/object_events/pics/pokemon/xatu.4bpp"); +const u32 gObjectEventPic_Mareep[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mareep.4bpp"); +const u32 gObjectEventPic_Flaaffy[] = INCBIN_COMP("graphics/object_events/pics/pokemon/flaaffy.4bpp"); +const u32 gObjectEventPic_Ampharos[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ampharos.4bpp"); +const u32 gObjectEventPic_Bellossom[] = INCBIN_COMP("graphics/object_events/pics/pokemon/bellossom.4bpp"); +const u32 gObjectEventPic_Marill[] = INCBIN_COMP("graphics/object_events/pics/pokemon/marill.4bpp"); +const u32 gObjectEventPic_Azumarill[] = INCBIN_COMP("graphics/object_events/pics/pokemon/azumarill.4bpp"); +const u32 gObjectEventPic_Sudowoodo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sudowoodo.4bpp"); +const u32 gObjectEventPic_Politoed[] = INCBIN_COMP("graphics/object_events/pics/pokemon/politoed.4bpp"); +const u32 gObjectEventPic_Hoppip[] = INCBIN_COMP("graphics/object_events/pics/pokemon/hoppip.4bpp"); +const u32 gObjectEventPic_Skiploom[] = INCBIN_COMP("graphics/object_events/pics/pokemon/skiploom.4bpp"); +const u32 gObjectEventPic_Jumpluff[] = INCBIN_COMP("graphics/object_events/pics/pokemon/jumpluff.4bpp"); +const u32 gObjectEventPic_Aipom[] = INCBIN_COMP("graphics/object_events/pics/pokemon/aipom.4bpp"); +const u32 gObjectEventPic_Sunkern[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sunkern.4bpp"); +const u32 gObjectEventPic_Sunflora[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sunflora.4bpp"); +const u32 gObjectEventPic_Yanma[] = INCBIN_COMP("graphics/object_events/pics/pokemon/yanma.4bpp"); +const u32 gObjectEventPic_Wooper[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wooper.4bpp"); +const u32 gObjectEventPic_Quagsire[] = INCBIN_COMP("graphics/object_events/pics/pokemon/quagsire.4bpp"); +const u32 gObjectEventPic_Espeon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/espeon.4bpp"); +const u32 gObjectEventPic_Umbreon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/umbreon.4bpp"); +const u32 gObjectEventPic_Murkrow[] = INCBIN_COMP("graphics/object_events/pics/pokemon/murkrow.4bpp"); +const u32 gObjectEventPic_Slowking[] = INCBIN_COMP("graphics/object_events/pics/pokemon/slowking.4bpp"); +const u32 gObjectEventPic_Misdreavus[] = INCBIN_COMP("graphics/object_events/pics/pokemon/misdreavus.4bpp"); +const u32 gObjectEventPic_Unown_A[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_a.4bpp"); +const u32 gObjectEventPic_Unown_B[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_b.4bpp"); +const u32 gObjectEventPic_Unown_C[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_c.4bpp"); +const u32 gObjectEventPic_Unown_D[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_d.4bpp"); +const u32 gObjectEventPic_Unown_E[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_e.4bpp"); +const u32 gObjectEventPic_Unown_F[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_f.4bpp"); +const u32 gObjectEventPic_Unown_G[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_g.4bpp"); +const u32 gObjectEventPic_Unown_H[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_h.4bpp"); +const u32 gObjectEventPic_Unown_I[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_i.4bpp"); +const u32 gObjectEventPic_Unown_J[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_j.4bpp"); +const u32 gObjectEventPic_Unown_K[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_k.4bpp"); +const u32 gObjectEventPic_Unown_L[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_l.4bpp"); +const u32 gObjectEventPic_Unown_M[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_m.4bpp"); +const u32 gObjectEventPic_Unown_N[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_n.4bpp"); +const u32 gObjectEventPic_Unown_O[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_o.4bpp"); +const u32 gObjectEventPic_Unown_P[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_p.4bpp"); +const u32 gObjectEventPic_Unown_Q[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_q.4bpp"); +const u32 gObjectEventPic_Unown_R[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_r.4bpp"); +const u32 gObjectEventPic_Unown_S[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_s.4bpp"); +const u32 gObjectEventPic_Unown_T[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_t.4bpp"); +const u32 gObjectEventPic_Unown_U[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_u.4bpp"); +const u32 gObjectEventPic_Unown_V[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_v.4bpp"); +const u32 gObjectEventPic_Unown_W[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_w.4bpp"); +const u32 gObjectEventPic_Unown_X[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_x.4bpp"); +const u32 gObjectEventPic_Unown_Y[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_y.4bpp"); +const u32 gObjectEventPic_Unown_Z[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_z.4bpp"); +const u32 gObjectEventPic_Unown_Exclamation[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_exclamation.4bpp"); +const u32 gObjectEventPic_Unown_Question[] = INCBIN_COMP("graphics/object_events/pics/pokemon/unown_question.4bpp"); +const u32 gObjectEventPic_Wobbuffet[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wobbuffet.4bpp"); +const u32 gObjectEventPic_Girafarig[] = INCBIN_COMP("graphics/object_events/pics/pokemon/girafarig.4bpp"); +const u32 gObjectEventPic_Pineco[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pineco.4bpp"); +const u32 gObjectEventPic_Forretress[] = INCBIN_COMP("graphics/object_events/pics/pokemon/forretress.4bpp"); +const u32 gObjectEventPic_Dunsparce[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dunsparce.4bpp"); +const u32 gObjectEventPic_Gligar[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gligar.4bpp"); +const u32 gObjectEventPic_Steelix[] = INCBIN_COMP("graphics/object_events/pics/pokemon/steelix.4bpp"); +const u32 gObjectEventPic_Snubbull[] = INCBIN_COMP("graphics/object_events/pics/pokemon/snubbull.4bpp"); +const u32 gObjectEventPic_Granbull[] = INCBIN_COMP("graphics/object_events/pics/pokemon/granbull.4bpp"); +const u32 gObjectEventPic_Qwilfish[] = INCBIN_COMP("graphics/object_events/pics/pokemon/qwilfish.4bpp"); +const u32 gObjectEventPic_Scizor[] = INCBIN_COMP("graphics/object_events/pics/pokemon/scizor.4bpp"); +const u32 gObjectEventPic_Shuckle[] = INCBIN_COMP("graphics/object_events/pics/pokemon/shuckle.4bpp"); +const u32 gObjectEventPic_Heracross[] = INCBIN_COMP("graphics/object_events/pics/pokemon/heracross.4bpp"); +const u32 gObjectEventPic_Sneasel[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sneasel.4bpp"); +const u32 gObjectEventPic_Teddiursa[] = INCBIN_COMP("graphics/object_events/pics/pokemon/teddiursa.4bpp"); +const u32 gObjectEventPic_Ursaring[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ursaring.4bpp"); +const u32 gObjectEventPic_Slugma[] = INCBIN_COMP("graphics/object_events/pics/pokemon/slugma.4bpp"); +const u32 gObjectEventPic_Magcargo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/magcargo.4bpp"); +const u32 gObjectEventPic_Swinub[] = INCBIN_COMP("graphics/object_events/pics/pokemon/swinub.4bpp"); +const u32 gObjectEventPic_Piloswine[] = INCBIN_COMP("graphics/object_events/pics/pokemon/piloswine.4bpp"); +const u32 gObjectEventPic_Corsola[] = INCBIN_COMP("graphics/object_events/pics/pokemon/corsola.4bpp"); +const u32 gObjectEventPic_Remoraid[] = INCBIN_COMP("graphics/object_events/pics/pokemon/remoraid.4bpp"); +const u32 gObjectEventPic_Octillery[] = INCBIN_COMP("graphics/object_events/pics/pokemon/octillery.4bpp"); +const u32 gObjectEventPic_Delibird[] = INCBIN_COMP("graphics/object_events/pics/pokemon/delibird.4bpp"); +const u32 gObjectEventPic_Mantine[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mantine.4bpp"); +const u32 gObjectEventPic_Skarmory[] = INCBIN_COMP("graphics/object_events/pics/pokemon/skarmory.4bpp"); +const u32 gObjectEventPic_Houndour[] = INCBIN_COMP("graphics/object_events/pics/pokemon/houndour.4bpp"); +const u32 gObjectEventPic_Houndoom[] = INCBIN_COMP("graphics/object_events/pics/pokemon/houndoom.4bpp"); +const u32 gObjectEventPic_Kingdra[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kingdra.4bpp"); +const u32 gObjectEventPic_Phanpy[] = INCBIN_COMP("graphics/object_events/pics/pokemon/phanpy.4bpp"); +const u32 gObjectEventPic_Donphan[] = INCBIN_COMP("graphics/object_events/pics/pokemon/donphan.4bpp"); +const u32 gObjectEventPic_Porygon2[] = INCBIN_COMP("graphics/object_events/pics/pokemon/porygon2.4bpp"); +const u32 gObjectEventPic_Stantler[] = INCBIN_COMP("graphics/object_events/pics/pokemon/stantler.4bpp"); +const u32 gObjectEventPic_Smeargle[] = INCBIN_COMP("graphics/object_events/pics/pokemon/smeargle.4bpp"); +const u32 gObjectEventPic_Tyrogue[] = INCBIN_COMP("graphics/object_events/pics/pokemon/tyrogue.4bpp"); +const u32 gObjectEventPic_Hitmontop[] = INCBIN_COMP("graphics/object_events/pics/pokemon/hitmontop.4bpp"); +const u32 gObjectEventPic_Smoochum[] = INCBIN_COMP("graphics/object_events/pics/pokemon/smoochum.4bpp"); +const u32 gObjectEventPic_Elekid[] = INCBIN_COMP("graphics/object_events/pics/pokemon/elekid.4bpp"); +const u32 gObjectEventPic_Magby[] = INCBIN_COMP("graphics/object_events/pics/pokemon/magby.4bpp"); +const u32 gObjectEventPic_Miltank[] = INCBIN_COMP("graphics/object_events/pics/pokemon/miltank.4bpp"); +const u32 gObjectEventPic_Blissey[] = INCBIN_COMP("graphics/object_events/pics/pokemon/blissey.4bpp"); +const u32 gObjectEventPic_Raikou[] = INCBIN_COMP("graphics/object_events/pics/pokemon/raikou.4bpp"); +const u32 gObjectEventPic_Entei[] = INCBIN_COMP("graphics/object_events/pics/pokemon/entei.4bpp"); +const u32 gObjectEventPic_Suicune[] = INCBIN_COMP("graphics/object_events/pics/pokemon/suicune.4bpp"); +const u32 gObjectEventPic_Larvitar[] = INCBIN_COMP("graphics/object_events/pics/pokemon/larvitar.4bpp"); +const u32 gObjectEventPic_Pupitar[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pupitar.4bpp"); +const u32 gObjectEventPic_Tyranitar[] = INCBIN_COMP("graphics/object_events/pics/pokemon/tyranitar.4bpp"); +const u32 gObjectEventPic_Lugia[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lugia.4bpp"); +const u32 gObjectEventPic_Ho_oh[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ho_oh.4bpp"); +const u32 gObjectEventPic_Celebi[] = INCBIN_COMP("graphics/object_events/pics/pokemon/celebi.4bpp"); +const u32 gObjectEventPic_Treecko[] = INCBIN_COMP("graphics/object_events/pics/pokemon/treecko.4bpp"); +const u32 gObjectEventPic_Grovyle[] = INCBIN_COMP("graphics/object_events/pics/pokemon/grovyle.4bpp"); +const u32 gObjectEventPic_Sceptile[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sceptile.4bpp"); +const u32 gObjectEventPic_Torchic[] = INCBIN_COMP("graphics/object_events/pics/pokemon/torchic.4bpp"); +const u32 gObjectEventPic_Combusken[] = INCBIN_COMP("graphics/object_events/pics/pokemon/combusken.4bpp"); +const u32 gObjectEventPic_Blaziken[] = INCBIN_COMP("graphics/object_events/pics/pokemon/blaziken.4bpp"); +const u32 gObjectEventPic_Mudkip[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mudkip.4bpp"); +const u32 gObjectEventPic_Marshtomp[] = INCBIN_COMP("graphics/object_events/pics/pokemon/marshtomp.4bpp"); +const u32 gObjectEventPic_Swampert[] = INCBIN_COMP("graphics/object_events/pics/pokemon/swampert.4bpp"); +const u32 gObjectEventPic_Poochyena[] = INCBIN_COMP("graphics/object_events/pics/pokemon/poochyena.4bpp"); +const u32 gObjectEventPic_Mightyena[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mightyena.4bpp"); +const u32 gObjectEventPic_Zigzagoon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/zigzagoon.4bpp"); +const u32 gObjectEventPic_Linoone[] = INCBIN_COMP("graphics/object_events/pics/pokemon/linoone.4bpp"); +const u32 gObjectEventPic_Wurmple[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wurmple.4bpp"); +const u32 gObjectEventPic_Silcoon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/silcoon.4bpp"); +const u32 gObjectEventPic_Beautifly[] = INCBIN_COMP("graphics/object_events/pics/pokemon/beautifly.4bpp"); +const u32 gObjectEventPic_Cascoon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cascoon.4bpp"); +const u32 gObjectEventPic_Dustox[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dustox.4bpp"); +const u32 gObjectEventPic_Lotad[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lotad.4bpp"); +const u32 gObjectEventPic_Lombre[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lombre.4bpp"); +const u32 gObjectEventPic_Ludicolo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ludicolo.4bpp"); +const u32 gObjectEventPic_Seedot[] = INCBIN_COMP("graphics/object_events/pics/pokemon/seedot.4bpp"); +const u32 gObjectEventPic_Nuzleaf[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nuzleaf.4bpp"); +const u32 gObjectEventPic_Shiftry[] = INCBIN_COMP("graphics/object_events/pics/pokemon/shiftry.4bpp"); +const u32 gObjectEventPic_Taillow[] = INCBIN_COMP("graphics/object_events/pics/pokemon/taillow.4bpp"); +const u32 gObjectEventPic_Swellow[] = INCBIN_COMP("graphics/object_events/pics/pokemon/swellow.4bpp"); +const u32 gObjectEventPic_Wingull[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wingull.4bpp"); +const u32 gObjectEventPic_Pelipper[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pelipper.4bpp"); +const u32 gObjectEventPic_Ralts[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ralts.4bpp"); +const u32 gObjectEventPic_Kirlia[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kirlia.4bpp"); +const u32 gObjectEventPic_Gardevoir[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gardevoir.4bpp"); +const u32 gObjectEventPic_Surskit[] = INCBIN_COMP("graphics/object_events/pics/pokemon/surskit.4bpp"); +const u32 gObjectEventPic_Masquerain[] = INCBIN_COMP("graphics/object_events/pics/pokemon/masquerain.4bpp"); +const u32 gObjectEventPic_Shroomish[] = INCBIN_COMP("graphics/object_events/pics/pokemon/shroomish.4bpp"); +const u32 gObjectEventPic_Breloom[] = INCBIN_COMP("graphics/object_events/pics/pokemon/breloom.4bpp"); +const u32 gObjectEventPic_Slakoth[] = INCBIN_COMP("graphics/object_events/pics/pokemon/slakoth.4bpp"); +const u32 gObjectEventPic_Vigoroth[] = INCBIN_COMP("graphics/object_events/pics/pokemon/vigoroth.4bpp"); +const u32 gObjectEventPic_Slaking[] = INCBIN_COMP("graphics/object_events/pics/pokemon/slaking.4bpp"); +const u32 gObjectEventPic_Nincada[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nincada.4bpp"); +const u32 gObjectEventPic_Ninjask[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ninjask.4bpp"); +const u32 gObjectEventPic_Shedinja[] = INCBIN_COMP("graphics/object_events/pics/pokemon/shedinja.4bpp"); +const u32 gObjectEventPic_Whismur[] = INCBIN_COMP("graphics/object_events/pics/pokemon/whismur.4bpp"); +const u32 gObjectEventPic_Loudred[] = INCBIN_COMP("graphics/object_events/pics/pokemon/loudred.4bpp"); +const u32 gObjectEventPic_Exploud[] = INCBIN_COMP("graphics/object_events/pics/pokemon/exploud.4bpp"); +const u32 gObjectEventPic_Makuhita[] = INCBIN_COMP("graphics/object_events/pics/pokemon/makuhita.4bpp"); +const u32 gObjectEventPic_Hariyama[] = INCBIN_COMP("graphics/object_events/pics/pokemon/hariyama.4bpp"); +const u32 gObjectEventPic_Azurill[] = INCBIN_COMP("graphics/object_events/pics/pokemon/azurill.4bpp"); +const u32 gObjectEventPic_Nosepass[] = INCBIN_COMP("graphics/object_events/pics/pokemon/nosepass.4bpp"); +const u32 gObjectEventPic_Skitty[] = INCBIN_COMP("graphics/object_events/pics/pokemon/skitty.4bpp"); +const u32 gObjectEventPic_Delcatty[] = INCBIN_COMP("graphics/object_events/pics/pokemon/delcatty.4bpp"); +const u32 gObjectEventPic_Sableye[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sableye.4bpp"); +const u32 gObjectEventPic_Mawile[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mawile.4bpp"); +const u32 gObjectEventPic_Aron[] = INCBIN_COMP("graphics/object_events/pics/pokemon/aron.4bpp"); +const u32 gObjectEventPic_Lairon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lairon.4bpp"); +const u32 gObjectEventPic_Aggron[] = INCBIN_COMP("graphics/object_events/pics/pokemon/aggron.4bpp"); +const u32 gObjectEventPic_Meditite[] = INCBIN_COMP("graphics/object_events/pics/pokemon/meditite.4bpp"); +const u32 gObjectEventPic_Medicham[] = INCBIN_COMP("graphics/object_events/pics/pokemon/medicham.4bpp"); +const u32 gObjectEventPic_Electrike[] = INCBIN_COMP("graphics/object_events/pics/pokemon/electrike.4bpp"); +const u32 gObjectEventPic_Manectric[] = INCBIN_COMP("graphics/object_events/pics/pokemon/manectric.4bpp"); +const u32 gObjectEventPic_Plusle[] = INCBIN_COMP("graphics/object_events/pics/pokemon/plusle.4bpp"); +const u32 gObjectEventPic_Minun[] = INCBIN_COMP("graphics/object_events/pics/pokemon/minun.4bpp"); +const u32 gObjectEventPic_Volbeat[] = INCBIN_COMP("graphics/object_events/pics/pokemon/volbeat.4bpp"); +const u32 gObjectEventPic_Illumise[] = INCBIN_COMP("graphics/object_events/pics/pokemon/illumise.4bpp"); +const u32 gObjectEventPic_Roselia[] = INCBIN_COMP("graphics/object_events/pics/pokemon/roselia.4bpp"); +const u32 gObjectEventPic_Gulpin[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gulpin.4bpp"); +const u32 gObjectEventPic_Swalot[] = INCBIN_COMP("graphics/object_events/pics/pokemon/swalot.4bpp"); +const u32 gObjectEventPic_Carvanha[] = INCBIN_COMP("graphics/object_events/pics/pokemon/carvanha.4bpp"); +const u32 gObjectEventPic_Sharpedo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sharpedo.4bpp"); +const u32 gObjectEventPic_Wailmer[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wailmer.4bpp"); +const u32 gObjectEventPic_Wailord[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wailord.4bpp"); +const u32 gObjectEventPic_Numel[] = INCBIN_COMP("graphics/object_events/pics/pokemon/numel.4bpp"); +const u32 gObjectEventPic_Camerupt[] = INCBIN_COMP("graphics/object_events/pics/pokemon/camerupt.4bpp"); +const u32 gObjectEventPic_Torkoal[] = INCBIN_COMP("graphics/object_events/pics/pokemon/torkoal.4bpp"); +const u32 gObjectEventPic_Spoink[] = INCBIN_COMP("graphics/object_events/pics/pokemon/spoink.4bpp"); +const u32 gObjectEventPic_Grumpig[] = INCBIN_COMP("graphics/object_events/pics/pokemon/grumpig.4bpp"); +const u32 gObjectEventPic_Spinda[] = INCBIN_COMP("graphics/object_events/pics/pokemon/spinda.4bpp"); +const u32 gObjectEventPic_Trapinch[] = INCBIN_COMP("graphics/object_events/pics/pokemon/trapinch.4bpp"); +const u32 gObjectEventPic_Vibrava[] = INCBIN_COMP("graphics/object_events/pics/pokemon/vibrava.4bpp"); +const u32 gObjectEventPic_Flygon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/flygon.4bpp"); +const u32 gObjectEventPic_Cacnea[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cacnea.4bpp"); +const u32 gObjectEventPic_Cacturne[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cacturne.4bpp"); +const u32 gObjectEventPic_Swablu[] = INCBIN_COMP("graphics/object_events/pics/pokemon/swablu.4bpp"); +const u32 gObjectEventPic_Altaria[] = INCBIN_COMP("graphics/object_events/pics/pokemon/altaria.4bpp"); +const u32 gObjectEventPic_Zangoose[] = INCBIN_COMP("graphics/object_events/pics/pokemon/zangoose.4bpp"); +const u32 gObjectEventPic_Seviper[] = INCBIN_COMP("graphics/object_events/pics/pokemon/seviper.4bpp"); +const u32 gObjectEventPic_Lunatone[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lunatone.4bpp"); +const u32 gObjectEventPic_Solrock[] = INCBIN_COMP("graphics/object_events/pics/pokemon/solrock.4bpp"); +const u32 gObjectEventPic_Barboach[] = INCBIN_COMP("graphics/object_events/pics/pokemon/barboach.4bpp"); +const u32 gObjectEventPic_Whiscash[] = INCBIN_COMP("graphics/object_events/pics/pokemon/whiscash.4bpp"); +const u32 gObjectEventPic_Corphish[] = INCBIN_COMP("graphics/object_events/pics/pokemon/corphish.4bpp"); +const u32 gObjectEventPic_Crawdaunt[] = INCBIN_COMP("graphics/object_events/pics/pokemon/crawdaunt.4bpp"); +const u32 gObjectEventPic_Baltoy[] = INCBIN_COMP("graphics/object_events/pics/pokemon/baltoy.4bpp"); +const u32 gObjectEventPic_Claydol[] = INCBIN_COMP("graphics/object_events/pics/pokemon/claydol.4bpp"); +const u32 gObjectEventPic_Lileep[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lileep.4bpp"); +const u32 gObjectEventPic_Cradily[] = INCBIN_COMP("graphics/object_events/pics/pokemon/cradily.4bpp"); +const u32 gObjectEventPic_Anorith[] = INCBIN_COMP("graphics/object_events/pics/pokemon/anorith.4bpp"); +const u32 gObjectEventPic_Armaldo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/armaldo.4bpp"); +const u32 gObjectEventPic_Feebas[] = INCBIN_COMP("graphics/object_events/pics/pokemon/feebas.4bpp"); +const u32 gObjectEventPic_Milotic[] = INCBIN_COMP("graphics/object_events/pics/pokemon/milotic.4bpp"); +const u32 gObjectEventPic_Castform[] = INCBIN_COMP("graphics/object_events/pics/pokemon/castform.4bpp"); +const u32 gObjectEventPic_CastformSunny[] = INCBIN_COMP("graphics/object_events/pics/pokemon/castform_sunny.4bpp"); +const u32 gObjectEventPic_CastformRainy[] = INCBIN_COMP("graphics/object_events/pics/pokemon/castform_rainy.4bpp"); +const u32 gObjectEventPic_CastformSnowy[] = INCBIN_COMP("graphics/object_events/pics/pokemon/castform_snowy.4bpp"); +const u32 gObjectEventPic_Kecleon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kecleon.4bpp"); +const u32 gObjectEventPic_Shuppet[] = INCBIN_COMP("graphics/object_events/pics/pokemon/shuppet.4bpp"); +const u32 gObjectEventPic_Banette[] = INCBIN_COMP("graphics/object_events/pics/pokemon/banette.4bpp"); +const u32 gObjectEventPic_Duskull[] = INCBIN_COMP("graphics/object_events/pics/pokemon/duskull.4bpp"); +const u32 gObjectEventPic_Dusclops[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dusclops.4bpp"); +const u32 gObjectEventPic_Tropius[] = INCBIN_COMP("graphics/object_events/pics/pokemon/tropius.4bpp"); +const u32 gObjectEventPic_Chimecho[] = INCBIN_COMP("graphics/object_events/pics/pokemon/chimecho.4bpp"); +const u32 gObjectEventPic_Absol[] = INCBIN_COMP("graphics/object_events/pics/pokemon/absol.4bpp"); +const u32 gObjectEventPic_Wynaut[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wynaut.4bpp"); +const u32 gObjectEventPic_Snorunt[] = INCBIN_COMP("graphics/object_events/pics/pokemon/snorunt.4bpp"); +const u32 gObjectEventPic_Glalie[] = INCBIN_COMP("graphics/object_events/pics/pokemon/glalie.4bpp"); +const u32 gObjectEventPic_Spheal[] = INCBIN_COMP("graphics/object_events/pics/pokemon/spheal.4bpp"); +const u32 gObjectEventPic_Sealeo[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sealeo.4bpp"); +const u32 gObjectEventPic_Walrein[] = INCBIN_COMP("graphics/object_events/pics/pokemon/walrein.4bpp"); +const u32 gObjectEventPic_Clamperl[] = INCBIN_COMP("graphics/object_events/pics/pokemon/clamperl.4bpp"); +const u32 gObjectEventPic_Huntail[] = INCBIN_COMP("graphics/object_events/pics/pokemon/huntail.4bpp"); +const u32 gObjectEventPic_Gorebyss[] = INCBIN_COMP("graphics/object_events/pics/pokemon/gorebyss.4bpp"); +const u32 gObjectEventPic_Relicanth[] = INCBIN_COMP("graphics/object_events/pics/pokemon/relicanth.4bpp"); +const u32 gObjectEventPic_Luvdisc[] = INCBIN_COMP("graphics/object_events/pics/pokemon/luvdisc.4bpp"); +const u32 gObjectEventPic_Bagon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/bagon.4bpp"); +const u32 gObjectEventPic_Shelgon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/shelgon.4bpp"); +const u32 gObjectEventPic_Salamence[] = INCBIN_COMP("graphics/object_events/pics/pokemon/salamence.4bpp"); +const u32 gObjectEventPic_Beldum[] = INCBIN_COMP("graphics/object_events/pics/pokemon/beldum.4bpp"); +const u32 gObjectEventPic_Metang[] = INCBIN_COMP("graphics/object_events/pics/pokemon/metang.4bpp"); +const u32 gObjectEventPic_Metagross[] = INCBIN_COMP("graphics/object_events/pics/pokemon/metagross.4bpp"); +const u32 gObjectEventPic_Regirock[] = INCBIN_COMP("graphics/object_events/pics/pokemon/regirock.4bpp"); +const u32 gObjectEventPic_Regice[] = INCBIN_COMP("graphics/object_events/pics/pokemon/regice.4bpp"); +const u32 gObjectEventPic_Registeel[] = INCBIN_COMP("graphics/object_events/pics/pokemon/registeel.4bpp"); +const u32 gObjectEventPic_Latias[] = INCBIN_COMP("graphics/object_events/pics/pokemon/latias.4bpp"); +const u32 gObjectEventPic_Latios[] = INCBIN_COMP("graphics/object_events/pics/pokemon/latios.4bpp"); +const u32 gObjectEventPic_Kyogre[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kyogre.4bpp"); +const u32 gObjectEventPic_Groudon[] = INCBIN_COMP("graphics/object_events/pics/pokemon/groudon.4bpp"); +const u32 gObjectEventPic_Rayquaza[] = INCBIN_COMP("graphics/object_events/pics/pokemon/rayquaza.4bpp"); +const u32 gObjectEventPic_Jirachi[] = INCBIN_COMP("graphics/object_events/pics/pokemon/jirachi.4bpp"); +const u32 gObjectEventPic_Deoxys[] = INCBIN_COMP("graphics/object_events/pics/pokemon/deoxys.4bpp"); + +const u32 gObjectEventPic_DeoxysOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/deoxys_old.4bpp"); +const u32 gObjectEventPic_MewOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/mew_old.4bpp"); +const u32 gObjectEventPic_DusclopsOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/dusclops_old.4bpp"); +const u32 gObjectEventPic_KirliaOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kirlia_old.4bpp"); +const u32 gObjectEventPic_AzurillOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/azurill_old.4bpp"); +const u32 gObjectEventPic_KecleonOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kecleon_old.4bpp"); +const u32 gObjectEventPic_WingullOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/wingull_old.4bpp"); +const u32 gObjectEventPic_AzumarillOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/azumarill_old.4bpp"); +const u32 gObjectEventPic_PikachuOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/pikachu_old.4bpp"); +const u32 gObjectEventPic_ZigzagoonOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/zigzagoon_old.4bpp"); +const u32 gObjectEventPic_SkittyOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/skitty_old.4bpp"); +const u32 gObjectEventPic_PoochyenaOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/poochyena_old.4bpp"); +const u32 gObjectEventPic_LugiaOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/lugia_old.4bpp"); +const u32 gObjectEventPic_HoOhOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/ho_oh_old.4bpp"); +const u32 gObjectEventPic_GroudonOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/groudon_old.4bpp"); +const u32 gObjectEventPic_KyogreOld[] = INCBIN_COMP("graphics/object_events/pics/pokemon/kyogre_old.4bpp"); + +const u32 gObjectEventPic_VigorothMover[] = INCBIN_COMP("graphics/object_events/pics/pokemon/vigoroth_mover.4bpp"); +const u32 gObjectEventPic_SudowoodoTree[] = INCBIN_COMP("graphics/object_events/pics/pokemon/sudowoodo_tree.4bpp"); +const u32 gObjectEventPic_RayquazaCutscene[] = INCBIN_COMP("graphics/object_events/pics/pokemon/rayquaza_cutscene.4bpp"); const u16 gObjectEventPal_HoOh[] = INCBIN_U16("graphics/object_events/palettes/ho_oh.gbapal"); const u16 gObjectEventPal_Lugia[] = INCBIN_U16("graphics/object_events/palettes/lugia.gbapal"); diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h index bd7d77e7d0..654ad3375e 100755 --- a/src/data/object_events/object_event_graphics_info.h +++ b/src/data/object_events/object_event_graphics_info.h @@ -8,7 +8,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -27,7 +27,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -46,7 +46,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -65,7 +65,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -84,7 +84,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -103,7 +103,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_L, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -122,7 +122,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -141,7 +141,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -160,7 +160,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -179,7 +179,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -198,7 +198,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -217,7 +217,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -236,7 +236,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -255,7 +255,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -274,7 +274,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -293,7 +293,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -312,7 +312,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -331,7 +331,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -350,7 +350,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -369,7 +369,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -388,7 +388,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -407,7 +407,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -426,7 +426,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -445,7 +445,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -464,7 +464,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -483,7 +483,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -502,7 +502,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -521,7 +521,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -540,7 +540,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -559,7 +559,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -578,7 +578,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -597,7 +597,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -616,7 +616,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -635,7 +635,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -654,7 +654,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -673,7 +673,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -692,7 +692,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -711,7 +711,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -730,7 +730,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -749,7 +749,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -768,7 +768,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -787,7 +787,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -806,7 +806,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_64x64, .subspriteTables = sOamTables_64x64, @@ -825,7 +825,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -844,7 +844,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -863,7 +863,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -882,7 +882,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -901,7 +901,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -920,7 +920,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -939,7 +939,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -958,7 +958,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -977,7 +977,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -996,7 +996,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1015,7 +1015,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1034,7 +1034,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1053,7 +1053,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1072,7 +1072,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1091,7 +1091,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1110,7 +1110,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1129,7 +1129,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1148,7 +1148,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1167,7 +1167,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = NULL, @@ -1186,7 +1186,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStag .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1205,7 +1205,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStage .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1224,7 +1224,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1243,7 +1243,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1262,7 +1262,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1281,7 +1281,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1300,7 +1300,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1319,7 +1319,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1338,7 +1338,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1357,7 +1357,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1376,7 +1376,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1395,7 +1395,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1414,7 +1414,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldM .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1433,7 +1433,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldM .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1452,7 +1452,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1471,7 +1471,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDol .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1490,7 +1490,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1509,7 +1509,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1528,7 +1528,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1547,7 +1547,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1566,7 +1566,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1585,7 +1585,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1604,7 +1604,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1623,7 +1623,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1642,7 +1642,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1661,7 +1661,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1680,7 +1680,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1699,7 +1699,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1718,7 +1718,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1737,7 +1737,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1756,7 +1756,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1775,7 +1775,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1794,7 +1794,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_48x48, @@ -1813,7 +1813,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBo .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1832,7 +1832,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1851,7 +1851,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -1870,7 +1870,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1889,7 +1889,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1908,7 +1908,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1927,7 +1927,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -1946,7 +1946,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBi .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1965,7 +1965,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBi .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -1984,7 +1984,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfin .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2003,7 +2003,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldM .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2022,7 +2022,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2041,7 +2041,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2060,7 +2060,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_BIKE_TIRE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2079,7 +2079,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2098,7 +2098,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2117,7 +2117,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2136,7 +2136,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2155,7 +2155,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2174,7 +2174,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2193,7 +2193,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_64x64, .subspriteTables = sOamTables_64x64, @@ -2212,7 +2212,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2231,7 +2231,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2250,7 +2250,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2269,7 +2269,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2288,7 +2288,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2307,7 +2307,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2326,7 +2326,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2345,7 +2345,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2364,7 +2364,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2383,7 +2383,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2402,7 +2402,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2421,7 +2421,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2440,7 +2440,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2459,7 +2459,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2478,7 +2478,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2497,7 +2497,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2516,7 +2516,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2535,7 +2535,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2554,7 +2554,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2573,7 +2573,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2592,7 +2592,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2611,7 +2611,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittle .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2630,7 +2630,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2649,7 +2649,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -2668,7 +2668,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -2687,7 +2687,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_8x8, .subspriteTables = sOamTables_96x40, @@ -2706,7 +2706,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_8x8, .subspriteTables = sOamTables_88x32, @@ -2725,7 +2725,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2744,7 +2744,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2763,7 +2763,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2782,7 +2782,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2801,7 +2801,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2820,7 +2820,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2839,7 +2839,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2858,7 +2858,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2877,7 +2877,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2896,7 +2896,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2915,7 +2915,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2934,7 +2934,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2953,7 +2953,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2972,7 +2972,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -2991,7 +2991,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3010,7 +3010,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3029,7 +3029,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3048,7 +3048,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3067,7 +3067,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3086,7 +3086,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3105,7 +3105,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3124,7 +3124,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3143,7 +3143,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3162,7 +3162,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3181,7 +3181,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3200,7 +3200,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3219,7 +3219,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3238,7 +3238,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3257,7 +3257,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3276,7 +3276,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3295,7 +3295,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3314,7 +3314,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3333,7 +3333,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3352,7 +3352,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3371,7 +3371,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3390,7 +3390,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3409,7 +3409,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3428,7 +3428,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3447,7 +3447,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3466,7 +3466,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3485,7 +3485,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3504,7 +3504,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3523,7 +3523,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3542,7 +3542,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3561,7 +3561,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3580,7 +3580,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3599,7 +3599,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3618,7 +3618,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -3637,7 +3637,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -3656,7 +3656,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3675,7 +3675,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = { .paletteSlot = PALSLOT_PLAYER, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3694,7 +3694,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -3713,7 +3713,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -3732,7 +3732,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -3751,7 +3751,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -3770,7 +3770,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3789,7 +3789,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3808,7 +3808,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3827,7 +3827,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3846,7 +3846,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_S, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3865,7 +3865,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3884,7 +3884,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3903,7 +3903,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3922,7 +3922,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3941,7 +3941,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -3960,7 +3960,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3979,7 +3979,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -3998,7 +3998,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = TRUE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_64x64, .subspriteTables = sOamTables_64x64, @@ -4017,7 +4017,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -4036,7 +4036,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -4055,7 +4055,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -4074,7 +4074,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -4093,7 +4093,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShado .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -4112,7 +4112,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = { .paletteSlot = PALSLOT_NPC_2, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -4131,7 +4131,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x16, .subspriteTables = sOamTables_16x16, @@ -4150,7 +4150,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4169,7 +4169,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4188,7 +4188,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4207,7 +4207,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4226,7 +4226,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4245,7 +4245,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDelive .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4264,7 +4264,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4283,7 +4283,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_S, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4302,7 +4302,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4321,7 +4321,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4340,7 +4340,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4359,7 +4359,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4378,7 +4378,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4397,7 +4397,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4416,7 +4416,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -4435,7 +4435,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -4454,7 +4454,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4473,7 +4473,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4492,7 +4492,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4511,7 +4511,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4530,7 +4530,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4549,7 +4549,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = { .paletteSlot = PALSLOT_NPC_4, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4568,7 +4568,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = { .paletteSlot = PALSLOT_NPC_3, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4587,7 +4587,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrenda .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4606,7 +4606,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4625,7 +4625,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -4644,7 +4644,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = { .paletteSlot = PALSLOT_NPC_SPECIAL, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, @@ -4663,7 +4663,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AnimatedBall = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = TRUE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_NONE, .oam = &gObjectEventBaseOam_16x32, .subspriteTables = sOamTables_16x32, @@ -4682,7 +4682,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Follower = { .paletteSlot = PALSLOT_NPC_1, .shadowSize = SHADOW_SIZE_M, .inanimate = FALSE, - .disableReflectionPaletteLoad = FALSE, + .compressed = FALSE, .tracks = TRACKS_FOOT, .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, diff --git a/src/data/object_events/object_event_graphics_info_followers.h b/src/data/object_events/object_event_graphics_info_followers.h index b63d05e8b5..75d531cef0 100644 --- a/src/data/object_events/object_event_graphics_info_followers.h +++ b/src/data/object_events/object_event_graphics_info_followers.h @@ -1,421 +1,424 @@ +// Set .compressed = OW_GFX_COMPRESS +#define COMP OW_GFX_COMPRESS + // Species-indexed pokemon object event table const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { - [SPECIES_BULBASAUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bulbasaur, gDummySpriteAffineAnimTable}, - [SPECIES_IVYSAUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ivysaur, gDummySpriteAffineAnimTable}, - [SPECIES_VENUSAUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venusaur, gDummySpriteAffineAnimTable}, - [SPECIES_CHARMANDER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Charmander, gDummySpriteAffineAnimTable}, - [SPECIES_CHARMELEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Charmeleon, gDummySpriteAffineAnimTable}, - [SPECIES_CHARIZARD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Charizard, gDummySpriteAffineAnimTable}, - [SPECIES_SQUIRTLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Squirtle, gDummySpriteAffineAnimTable}, - [SPECIES_WARTORTLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wartortle, gDummySpriteAffineAnimTable}, - [SPECIES_BLASTOISE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Blastoise, gDummySpriteAffineAnimTable}, - [SPECIES_CATERPIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Caterpie, gDummySpriteAffineAnimTable}, - [SPECIES_METAPOD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metapod, gDummySpriteAffineAnimTable}, - [SPECIES_BUTTERFREE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Butterfree, gDummySpriteAffineAnimTable}, - [SPECIES_WEEDLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weedle, gDummySpriteAffineAnimTable}, - [SPECIES_KAKUNA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kakuna, gDummySpriteAffineAnimTable}, - [SPECIES_BEEDRILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beedrill, gDummySpriteAffineAnimTable}, - [SPECIES_PIDGEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgey, gDummySpriteAffineAnimTable}, - [SPECIES_PIDGEOTTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgeotto, gDummySpriteAffineAnimTable}, - [SPECIES_PIDGEOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgeot, gDummySpriteAffineAnimTable}, - [SPECIES_RATTATA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rattata, gDummySpriteAffineAnimTable}, - [SPECIES_RATICATE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raticate, gDummySpriteAffineAnimTable}, - [SPECIES_SPEAROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spearow, gDummySpriteAffineAnimTable}, - [SPECIES_FEAROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Fearow, gDummySpriteAffineAnimTable}, - [SPECIES_EKANS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ekans, gDummySpriteAffineAnimTable}, - [SPECIES_ARBOK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Arbok, gDummySpriteAffineAnimTable}, - [SPECIES_PIKACHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pikachu, gDummySpriteAffineAnimTable}, - [SPECIES_RAICHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raichu, gDummySpriteAffineAnimTable}, - [SPECIES_SANDSHREW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sandshrew, gDummySpriteAffineAnimTable}, - [SPECIES_SANDSLASH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sandslash, gDummySpriteAffineAnimTable}, - [SPECIES_NIDORAN_F] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoran_f, gDummySpriteAffineAnimTable}, - [SPECIES_NIDORINA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidorina, gDummySpriteAffineAnimTable}, - [SPECIES_NIDOQUEEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoqueen, gDummySpriteAffineAnimTable}, - [SPECIES_NIDORAN_M] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoran_m, gDummySpriteAffineAnimTable}, - [SPECIES_NIDORINO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidorino, gDummySpriteAffineAnimTable}, - [SPECIES_NIDOKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoking, gDummySpriteAffineAnimTable}, - [SPECIES_CLEFAIRY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clefairy, gDummySpriteAffineAnimTable}, - [SPECIES_CLEFABLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clefable, gDummySpriteAffineAnimTable}, - [SPECIES_VULPIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vulpix, gDummySpriteAffineAnimTable}, - [SPECIES_NINETALES] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ninetales, gDummySpriteAffineAnimTable}, - [SPECIES_JIGGLYPUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jigglypuff, gDummySpriteAffineAnimTable}, - [SPECIES_WIGGLYTUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wigglytuff, gDummySpriteAffineAnimTable}, - [SPECIES_ZUBAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zubat, gDummySpriteAffineAnimTable}, - [SPECIES_GOLBAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Golbat, gDummySpriteAffineAnimTable}, - [SPECIES_ODDISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Oddish, gDummySpriteAffineAnimTable}, - [SPECIES_GLOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gloom, gDummySpriteAffineAnimTable}, - [SPECIES_VILEPLUME] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vileplume, gDummySpriteAffineAnimTable}, - [SPECIES_PARAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Paras, gDummySpriteAffineAnimTable}, - [SPECIES_PARASECT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Parasect, gDummySpriteAffineAnimTable}, - [SPECIES_VENONAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venonat, gDummySpriteAffineAnimTable}, - [SPECIES_VENOMOTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venomoth, gDummySpriteAffineAnimTable}, - [SPECIES_DIGLETT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Diglett, gDummySpriteAffineAnimTable}, - [SPECIES_DUGTRIO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dugtrio, gDummySpriteAffineAnimTable}, - [SPECIES_MEOWTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Meowth, gDummySpriteAffineAnimTable}, - [SPECIES_PERSIAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Persian, gDummySpriteAffineAnimTable}, - [SPECIES_PSYDUCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Psyduck, gDummySpriteAffineAnimTable}, - [SPECIES_GOLDUCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Golduck, gDummySpriteAffineAnimTable}, - [SPECIES_MANKEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mankey, gDummySpriteAffineAnimTable}, - [SPECIES_PRIMEAPE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Primeape, gDummySpriteAffineAnimTable}, - [SPECIES_GROWLITHE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Growlithe, gDummySpriteAffineAnimTable}, - [SPECIES_ARCANINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Arcanine, gDummySpriteAffineAnimTable}, - [SPECIES_POLIWAG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poliwag, gDummySpriteAffineAnimTable}, - [SPECIES_POLIWHIRL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poliwhirl, gDummySpriteAffineAnimTable}, - [SPECIES_POLIWRATH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poliwrath, gDummySpriteAffineAnimTable}, - [SPECIES_ABRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Abra, gDummySpriteAffineAnimTable}, - [SPECIES_KADABRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kadabra, gDummySpriteAffineAnimTable}, - [SPECIES_ALAKAZAM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Alakazam, gDummySpriteAffineAnimTable}, - [SPECIES_MACHOP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machop, gDummySpriteAffineAnimTable}, - [SPECIES_MACHOKE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machoke, gDummySpriteAffineAnimTable}, - [SPECIES_MACHAMP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machamp, gDummySpriteAffineAnimTable}, - [SPECIES_BELLSPROUT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bellsprout, gDummySpriteAffineAnimTable}, - [SPECIES_WEEPINBELL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weepinbell, gDummySpriteAffineAnimTable}, - [SPECIES_VICTREEBEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Victreebel, gDummySpriteAffineAnimTable}, - [SPECIES_TENTACOOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacool, gDummySpriteAffineAnimTable}, - [SPECIES_TENTACRUEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacruel, gDummySpriteAffineAnimTable}, - [SPECIES_GEODUDE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Geodude, gDummySpriteAffineAnimTable}, - [SPECIES_GRAVELER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Graveler, gDummySpriteAffineAnimTable}, - [SPECIES_GOLEM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Golem, gDummySpriteAffineAnimTable}, - [SPECIES_PONYTA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ponyta, gDummySpriteAffineAnimTable}, - [SPECIES_RAPIDASH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rapidash, gDummySpriteAffineAnimTable}, - [SPECIES_SLOWPOKE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slowpoke, gDummySpriteAffineAnimTable}, - [SPECIES_SLOWBRO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slowbro, gDummySpriteAffineAnimTable}, - [SPECIES_MAGNEMITE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magnemite, gDummySpriteAffineAnimTable}, - [SPECIES_MAGNETON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magneton, gDummySpriteAffineAnimTable}, - [SPECIES_FARFETCHD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Farfetchd, gDummySpriteAffineAnimTable}, - [SPECIES_DODUO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Doduo, gDummySpriteAffineAnimTable}, - [SPECIES_DODRIO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dodrio, gDummySpriteAffineAnimTable}, - [SPECIES_SEEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seel, gDummySpriteAffineAnimTable}, - [SPECIES_DEWGONG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dewgong, gDummySpriteAffineAnimTable}, - [SPECIES_GRIMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grimer, gDummySpriteAffineAnimTable}, - [SPECIES_MUK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Muk, gDummySpriteAffineAnimTable}, - [SPECIES_SHELLDER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shellder, gDummySpriteAffineAnimTable}, - [SPECIES_CLOYSTER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cloyster, gDummySpriteAffineAnimTable}, - [SPECIES_GASTLY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gastly, gDummySpriteAffineAnimTable}, - [SPECIES_HAUNTER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Haunter, gDummySpriteAffineAnimTable}, - [SPECIES_GENGAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gengar, gDummySpriteAffineAnimTable}, - [SPECIES_ONIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Onix, gDummySpriteAffineAnimTable}, - [SPECIES_DROWZEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Drowzee, gDummySpriteAffineAnimTable}, - [SPECIES_HYPNO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hypno, gDummySpriteAffineAnimTable}, - [SPECIES_KRABBY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Krabby, gDummySpriteAffineAnimTable}, - [SPECIES_KINGLER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kingler, gDummySpriteAffineAnimTable}, - [SPECIES_VOLTORB] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Voltorb, gDummySpriteAffineAnimTable}, - [SPECIES_ELECTRODE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electrode, gDummySpriteAffineAnimTable}, - [SPECIES_EXEGGCUTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exeggcute, gDummySpriteAffineAnimTable}, - [SPECIES_EXEGGUTOR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exeggutor, gDummySpriteAffineAnimTable}, - [SPECIES_CUBONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cubone, gDummySpriteAffineAnimTable}, - [SPECIES_MAROWAK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Marowak, gDummySpriteAffineAnimTable}, - [SPECIES_HITMONLEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hitmonlee, gDummySpriteAffineAnimTable}, - [SPECIES_HITMONCHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hitmonchan, gDummySpriteAffineAnimTable}, - [SPECIES_LICKITUNG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lickitung, gDummySpriteAffineAnimTable}, - [SPECIES_KOFFING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Koffing, gDummySpriteAffineAnimTable}, - [SPECIES_WEEZING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weezing, gDummySpriteAffineAnimTable}, - [SPECIES_RHYHORN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rhyhorn, gDummySpriteAffineAnimTable}, - [SPECIES_RHYDON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rhydon, gDummySpriteAffineAnimTable}, - [SPECIES_CHANSEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chansey, gDummySpriteAffineAnimTable}, - [SPECIES_TANGELA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tangela, gDummySpriteAffineAnimTable}, - [SPECIES_KANGASKHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kangaskhan, gDummySpriteAffineAnimTable}, - [SPECIES_HORSEA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Horsea, gDummySpriteAffineAnimTable}, - [SPECIES_SEADRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seadra, gDummySpriteAffineAnimTable}, - [SPECIES_GOLDEEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Goldeen, gDummySpriteAffineAnimTable}, - [SPECIES_SEAKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seaking, gDummySpriteAffineAnimTable}, - [SPECIES_STARYU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Staryu, gDummySpriteAffineAnimTable}, - [SPECIES_STARMIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Starmie, gDummySpriteAffineAnimTable}, - [SPECIES_MR_MIME] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mr_Mime, gDummySpriteAffineAnimTable}, - [SPECIES_SCYTHER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Scyther, gDummySpriteAffineAnimTable}, - [SPECIES_JYNX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jynx, gDummySpriteAffineAnimTable}, - [SPECIES_ELECTABUZZ] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electabuzz, gDummySpriteAffineAnimTable}, - [SPECIES_MAGMAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magmar, gDummySpriteAffineAnimTable}, - [SPECIES_PINSIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pinsir, gDummySpriteAffineAnimTable}, - [SPECIES_TAUROS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tauros, gDummySpriteAffineAnimTable}, - [SPECIES_MAGIKARP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magikarp, gDummySpriteAffineAnimTable}, - [SPECIES_GYARADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gyarados, gDummySpriteAffineAnimTable}, - [SPECIES_LAPRAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lapras, gDummySpriteAffineAnimTable}, - [SPECIES_DITTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ditto, gDummySpriteAffineAnimTable}, - [SPECIES_EEVEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Eevee, gDummySpriteAffineAnimTable}, - [SPECIES_VAPOREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vaporeon, gDummySpriteAffineAnimTable}, - [SPECIES_JOLTEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jolteon, gDummySpriteAffineAnimTable}, - [SPECIES_FLAREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Flareon, gDummySpriteAffineAnimTable}, - [SPECIES_PORYGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon, gDummySpriteAffineAnimTable}, - [SPECIES_OMANYTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Omanyte, gDummySpriteAffineAnimTable}, - [SPECIES_OMASTAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Omastar, gDummySpriteAffineAnimTable}, - [SPECIES_KABUTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kabuto, gDummySpriteAffineAnimTable}, - [SPECIES_KABUTOPS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kabutops, gDummySpriteAffineAnimTable}, - [SPECIES_AERODACTYL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aerodactyl, gDummySpriteAffineAnimTable}, - [SPECIES_SNORLAX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snorlax, gDummySpriteAffineAnimTable}, - [SPECIES_ARTICUNO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Articuno, gDummySpriteAffineAnimTable}, - [SPECIES_ZAPDOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zapdos, gDummySpriteAffineAnimTable}, - [SPECIES_MOLTRES] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Moltres, gDummySpriteAffineAnimTable}, - [SPECIES_DRATINI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dratini, gDummySpriteAffineAnimTable}, - [SPECIES_DRAGONAIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dragonair, gDummySpriteAffineAnimTable}, - [SPECIES_DRAGONITE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dragonite, gDummySpriteAffineAnimTable}, - [SPECIES_MEWTWO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mewtwo, gDummySpriteAffineAnimTable}, - [SPECIES_MEW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mew, gDummySpriteAffineAnimTable}, - [SPECIES_CHIKORITA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chikorita, gDummySpriteAffineAnimTable}, - [SPECIES_BAYLEEF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bayleef, gDummySpriteAffineAnimTable}, - [SPECIES_MEGANIUM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Meganium, gDummySpriteAffineAnimTable}, - [SPECIES_CYNDAQUIL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cyndaquil, gDummySpriteAffineAnimTable}, - [SPECIES_QUILAVA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Quilava, gDummySpriteAffineAnimTable}, - [SPECIES_TYPHLOSION] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Typhlosion, gDummySpriteAffineAnimTable}, - [SPECIES_TOTODILE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Totodile, gDummySpriteAffineAnimTable}, - [SPECIES_CROCONAW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Croconaw, gDummySpriteAffineAnimTable}, - [SPECIES_FERALIGATR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Feraligatr, gDummySpriteAffineAnimTable}, - [SPECIES_SENTRET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sentret, gDummySpriteAffineAnimTable}, - [SPECIES_FURRET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Furret, gDummySpriteAffineAnimTable}, - [SPECIES_HOOTHOOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hoothoot, gDummySpriteAffineAnimTable}, - [SPECIES_NOCTOWL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Noctowl, gDummySpriteAffineAnimTable}, - [SPECIES_LEDYBA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ledyba, gDummySpriteAffineAnimTable}, - [SPECIES_LEDIAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ledian, gDummySpriteAffineAnimTable}, - [SPECIES_SPINARAK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spinarak, gDummySpriteAffineAnimTable}, - [SPECIES_ARIADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ariados, gDummySpriteAffineAnimTable}, - [SPECIES_CROBAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Crobat, gDummySpriteAffineAnimTable}, - [SPECIES_CHINCHOU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chinchou, gDummySpriteAffineAnimTable}, - [SPECIES_LANTURN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lanturn, gDummySpriteAffineAnimTable}, - [SPECIES_PICHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pichu, gDummySpriteAffineAnimTable}, - [SPECIES_CLEFFA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cleffa, gDummySpriteAffineAnimTable}, - [SPECIES_IGGLYBUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Igglybuff, gDummySpriteAffineAnimTable}, - [SPECIES_TOGEPI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Togepi, gDummySpriteAffineAnimTable}, - [SPECIES_TOGETIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Togetic, gDummySpriteAffineAnimTable}, - [SPECIES_NATU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Natu, gDummySpriteAffineAnimTable}, - [SPECIES_XATU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Xatu, gDummySpriteAffineAnimTable}, - [SPECIES_MAREEP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mareep, gDummySpriteAffineAnimTable}, - [SPECIES_FLAAFFY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Flaaffy, gDummySpriteAffineAnimTable}, - [SPECIES_AMPHAROS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ampharos, gDummySpriteAffineAnimTable}, - [SPECIES_BELLOSSOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bellossom, gDummySpriteAffineAnimTable}, - [SPECIES_MARILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Marill, gDummySpriteAffineAnimTable}, - [SPECIES_AZUMARILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Azumarill, gDummySpriteAffineAnimTable}, - [SPECIES_SUDOWOODO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sudowoodo, gDummySpriteAffineAnimTable}, - [SPECIES_POLITOED] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Politoed, gDummySpriteAffineAnimTable}, - [SPECIES_HOPPIP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hoppip, gDummySpriteAffineAnimTable}, - [SPECIES_SKIPLOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skiploom, gDummySpriteAffineAnimTable}, - [SPECIES_JUMPLUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jumpluff, gDummySpriteAffineAnimTable}, - [SPECIES_AIPOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aipom, gDummySpriteAffineAnimTable}, - [SPECIES_SUNKERN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sunkern, gDummySpriteAffineAnimTable}, - [SPECIES_SUNFLORA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sunflora, gDummySpriteAffineAnimTable}, - [SPECIES_YANMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Yanma, gDummySpriteAffineAnimTable}, - [SPECIES_WOOPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wooper, gDummySpriteAffineAnimTable}, - [SPECIES_QUAGSIRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Quagsire, gDummySpriteAffineAnimTable}, - [SPECIES_ESPEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Espeon, gDummySpriteAffineAnimTable}, - [SPECIES_UMBREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Umbreon, gDummySpriteAffineAnimTable}, - [SPECIES_MURKROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Murkrow, gDummySpriteAffineAnimTable}, - [SPECIES_SLOWKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slowking, gDummySpriteAffineAnimTable}, - [SPECIES_MISDREAVUS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Misdreavus, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_A, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_B] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_B, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_C] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_C, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_D] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_D, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_E] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_E, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_F] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_F, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_G] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_G, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_H] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_H, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_I] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_I, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_J] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_J, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_K] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_K, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_L] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_L, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_M] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_M, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_N] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_N, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_O] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_O, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_P] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_P, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_Q] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Q, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_R] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_R, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_S] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_S, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_T] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_T, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_U] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_U, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_V] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_V, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_W] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_W, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_X] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_X, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_Y] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Y, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_Z] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Z, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_EMARK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Exclamation, gDummySpriteAffineAnimTable}, - [SPECIES_UNOWN_QMARK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Question, gDummySpriteAffineAnimTable}, - [SPECIES_WOBBUFFET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wobbuffet, gDummySpriteAffineAnimTable}, - [SPECIES_GIRAFARIG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Girafarig, gDummySpriteAffineAnimTable}, - [SPECIES_PINECO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pineco, gDummySpriteAffineAnimTable}, - [SPECIES_FORRETRESS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Forretress, gDummySpriteAffineAnimTable}, - [SPECIES_DUNSPARCE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dunsparce, gDummySpriteAffineAnimTable}, - [SPECIES_GLIGAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gligar, gDummySpriteAffineAnimTable}, - [SPECIES_STEELIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Steelix, gDummySpriteAffineAnimTable}, - [SPECIES_SNUBBULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snubbull, gDummySpriteAffineAnimTable}, - [SPECIES_GRANBULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Granbull, gDummySpriteAffineAnimTable}, - [SPECIES_QWILFISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Qwilfish, gDummySpriteAffineAnimTable}, - [SPECIES_SCIZOR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Scizor, gDummySpriteAffineAnimTable}, - [SPECIES_SHUCKLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shuckle, gDummySpriteAffineAnimTable}, - [SPECIES_HERACROSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Heracross, gDummySpriteAffineAnimTable}, - [SPECIES_SNEASEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sneasel, gDummySpriteAffineAnimTable}, - [SPECIES_TEDDIURSA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Teddiursa, gDummySpriteAffineAnimTable}, - [SPECIES_URSARING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ursaring, gDummySpriteAffineAnimTable}, - [SPECIES_SLUGMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slugma, gDummySpriteAffineAnimTable}, - [SPECIES_MAGCARGO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magcargo, gDummySpriteAffineAnimTable}, - [SPECIES_SWINUB] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swinub, gDummySpriteAffineAnimTable}, - [SPECIES_PILOSWINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Piloswine, gDummySpriteAffineAnimTable}, - [SPECIES_CORSOLA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Corsola, gDummySpriteAffineAnimTable}, - [SPECIES_REMORAID] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Remoraid, gDummySpriteAffineAnimTable}, - [SPECIES_OCTILLERY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Octillery, gDummySpriteAffineAnimTable}, - [SPECIES_DELIBIRD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Delibird, gDummySpriteAffineAnimTable}, - [SPECIES_MANTINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mantine, gDummySpriteAffineAnimTable}, - [SPECIES_SKARMORY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skarmory, gDummySpriteAffineAnimTable}, - [SPECIES_HOUNDOUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Houndour, gDummySpriteAffineAnimTable}, - [SPECIES_HOUNDOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Houndoom, gDummySpriteAffineAnimTable}, - [SPECIES_KINGDRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kingdra, gDummySpriteAffineAnimTable}, - [SPECIES_PHANPY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Phanpy, gDummySpriteAffineAnimTable}, - [SPECIES_DONPHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Donphan, gDummySpriteAffineAnimTable}, - [SPECIES_PORYGON2] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon2, gDummySpriteAffineAnimTable}, - [SPECIES_STANTLER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Stantler, gDummySpriteAffineAnimTable}, - [SPECIES_SMEARGLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Smeargle, gDummySpriteAffineAnimTable}, - [SPECIES_TYROGUE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tyrogue, gDummySpriteAffineAnimTable}, - [SPECIES_HITMONTOP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hitmontop, gDummySpriteAffineAnimTable}, - [SPECIES_SMOOCHUM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Smoochum, gDummySpriteAffineAnimTable}, - [SPECIES_ELEKID] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Elekid, gDummySpriteAffineAnimTable}, - [SPECIES_MAGBY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magby, gDummySpriteAffineAnimTable}, - [SPECIES_MILTANK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Miltank, gDummySpriteAffineAnimTable}, - [SPECIES_BLISSEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Blissey, gDummySpriteAffineAnimTable}, - [SPECIES_RAIKOU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raikou, gDummySpriteAffineAnimTable}, - [SPECIES_ENTEI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Entei, gDummySpriteAffineAnimTable}, - [SPECIES_SUICUNE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Suicune, gDummySpriteAffineAnimTable}, - [SPECIES_LARVITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Larvitar, gDummySpriteAffineAnimTable}, - [SPECIES_PUPITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pupitar, gDummySpriteAffineAnimTable}, - [SPECIES_TYRANITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tyranitar, gDummySpriteAffineAnimTable}, - [SPECIES_LUGIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lugia, gDummySpriteAffineAnimTable}, - [SPECIES_HO_OH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ho_oh, gDummySpriteAffineAnimTable}, - [SPECIES_CELEBI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Celebi, gDummySpriteAffineAnimTable}, - [SPECIES_TREECKO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Treecko, gDummySpriteAffineAnimTable}, - [SPECIES_GROVYLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grovyle, gDummySpriteAffineAnimTable}, - [SPECIES_SCEPTILE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sceptile, gDummySpriteAffineAnimTable}, - [SPECIES_TORCHIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Torchic, gDummySpriteAffineAnimTable}, - [SPECIES_COMBUSKEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Combusken, gDummySpriteAffineAnimTable}, - [SPECIES_BLAZIKEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Blaziken, gDummySpriteAffineAnimTable}, - [SPECIES_MUDKIP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mudkip, gDummySpriteAffineAnimTable}, - [SPECIES_MARSHTOMP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Marshtomp, gDummySpriteAffineAnimTable}, - [SPECIES_SWAMPERT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swampert, gDummySpriteAffineAnimTable}, - [SPECIES_POOCHYENA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poochyena, gDummySpriteAffineAnimTable}, - [SPECIES_MIGHTYENA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mightyena, gDummySpriteAffineAnimTable}, - [SPECIES_ZIGZAGOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable}, - [SPECIES_LINOONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Linoone, gDummySpriteAffineAnimTable}, - [SPECIES_WURMPLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wurmple, gDummySpriteAffineAnimTable}, - [SPECIES_SILCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Silcoon, gDummySpriteAffineAnimTable}, - [SPECIES_BEAUTIFLY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beautifly, gDummySpriteAffineAnimTable}, - [SPECIES_CASCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cascoon, gDummySpriteAffineAnimTable}, - [SPECIES_DUSTOX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dustox, gDummySpriteAffineAnimTable}, - [SPECIES_LOTAD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lotad, gDummySpriteAffineAnimTable}, - [SPECIES_LOMBRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lombre, gDummySpriteAffineAnimTable}, - [SPECIES_LUDICOLO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ludicolo, gDummySpriteAffineAnimTable}, - [SPECIES_SEEDOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seedot, gDummySpriteAffineAnimTable}, - [SPECIES_NUZLEAF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nuzleaf, gDummySpriteAffineAnimTable}, - [SPECIES_SHIFTRY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shiftry, gDummySpriteAffineAnimTable}, - [SPECIES_TAILLOW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Taillow, gDummySpriteAffineAnimTable}, - [SPECIES_SWELLOW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swellow, gDummySpriteAffineAnimTable}, - [SPECIES_WINGULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wingull, gDummySpriteAffineAnimTable}, - [SPECIES_PELIPPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pelipper, gDummySpriteAffineAnimTable}, - [SPECIES_RALTS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ralts, gDummySpriteAffineAnimTable}, - [SPECIES_KIRLIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kirlia, gDummySpriteAffineAnimTable}, - [SPECIES_GARDEVOIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gardevoir, gDummySpriteAffineAnimTable}, - [SPECIES_SURSKIT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Surskit, gDummySpriteAffineAnimTable}, - [SPECIES_MASQUERAIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Masquerain, gDummySpriteAffineAnimTable}, - [SPECIES_SHROOMISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shroomish, gDummySpriteAffineAnimTable}, - [SPECIES_BRELOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Breloom, gDummySpriteAffineAnimTable}, - [SPECIES_SLAKOTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slakoth, gDummySpriteAffineAnimTable}, - [SPECIES_VIGOROTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vigoroth, gDummySpriteAffineAnimTable}, - [SPECIES_SLAKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slaking, gDummySpriteAffineAnimTable}, - [SPECIES_NINCADA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nincada, gDummySpriteAffineAnimTable}, - [SPECIES_NINJASK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ninjask, gDummySpriteAffineAnimTable}, - [SPECIES_SHEDINJA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shedinja, gDummySpriteAffineAnimTable}, - [SPECIES_WHISMUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Whismur, gDummySpriteAffineAnimTable}, - [SPECIES_LOUDRED] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Loudred, gDummySpriteAffineAnimTable}, - [SPECIES_EXPLOUD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exploud, gDummySpriteAffineAnimTable}, - [SPECIES_MAKUHITA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Makuhita, gDummySpriteAffineAnimTable}, - [SPECIES_HARIYAMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hariyama, gDummySpriteAffineAnimTable}, - [SPECIES_AZURILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Azurill, gDummySpriteAffineAnimTable}, - [SPECIES_NOSEPASS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nosepass, gDummySpriteAffineAnimTable}, - [SPECIES_SKITTY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skitty, gDummySpriteAffineAnimTable}, - [SPECIES_DELCATTY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Delcatty, gDummySpriteAffineAnimTable}, - [SPECIES_SABLEYE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sableye, gDummySpriteAffineAnimTable}, - [SPECIES_MAWILE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mawile, gDummySpriteAffineAnimTable}, - [SPECIES_ARON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aron, gDummySpriteAffineAnimTable}, - [SPECIES_LAIRON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lairon, gDummySpriteAffineAnimTable}, - [SPECIES_AGGRON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aggron, gDummySpriteAffineAnimTable}, - [SPECIES_MEDITITE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Meditite, gDummySpriteAffineAnimTable}, - [SPECIES_MEDICHAM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Medicham, gDummySpriteAffineAnimTable}, - [SPECIES_ELECTRIKE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electrike, gDummySpriteAffineAnimTable}, - [SPECIES_MANECTRIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Manectric, gDummySpriteAffineAnimTable}, - [SPECIES_PLUSLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Plusle, gDummySpriteAffineAnimTable}, - [SPECIES_MINUN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Minun, gDummySpriteAffineAnimTable}, - [SPECIES_VOLBEAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Volbeat, gDummySpriteAffineAnimTable}, - [SPECIES_ILLUMISE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Illumise, gDummySpriteAffineAnimTable}, - [SPECIES_ROSELIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Roselia, gDummySpriteAffineAnimTable}, - [SPECIES_GULPIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gulpin, gDummySpriteAffineAnimTable}, - [SPECIES_SWALOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swalot, gDummySpriteAffineAnimTable}, - [SPECIES_CARVANHA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Carvanha, gDummySpriteAffineAnimTable}, - [SPECIES_SHARPEDO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sharpedo, gDummySpriteAffineAnimTable}, - [SPECIES_WAILMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailmer, gDummySpriteAffineAnimTable}, - [SPECIES_WAILORD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailord, gDummySpriteAffineAnimTable}, - [SPECIES_NUMEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Numel, gDummySpriteAffineAnimTable}, - [SPECIES_CAMERUPT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Camerupt, gDummySpriteAffineAnimTable}, - [SPECIES_TORKOAL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Torkoal, gDummySpriteAffineAnimTable}, - [SPECIES_SPOINK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spoink, gDummySpriteAffineAnimTable}, - [SPECIES_GRUMPIG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grumpig, gDummySpriteAffineAnimTable}, - [SPECIES_SPINDA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spinda, gDummySpriteAffineAnimTable}, - [SPECIES_TRAPINCH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Trapinch, gDummySpriteAffineAnimTable}, - [SPECIES_VIBRAVA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vibrava, gDummySpriteAffineAnimTable}, - [SPECIES_FLYGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Flygon, gDummySpriteAffineAnimTable}, - [SPECIES_CACNEA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cacnea, gDummySpriteAffineAnimTable}, - [SPECIES_CACTURNE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cacturne, gDummySpriteAffineAnimTable}, - [SPECIES_SWABLU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swablu, gDummySpriteAffineAnimTable}, - [SPECIES_ALTARIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Altaria, gDummySpriteAffineAnimTable}, - [SPECIES_ZANGOOSE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zangoose, gDummySpriteAffineAnimTable}, - [SPECIES_SEVIPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seviper, gDummySpriteAffineAnimTable}, - [SPECIES_LUNATONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lunatone, gDummySpriteAffineAnimTable}, - [SPECIES_SOLROCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Solrock, gDummySpriteAffineAnimTable}, - [SPECIES_BARBOACH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Barboach, gDummySpriteAffineAnimTable}, - [SPECIES_WHISCASH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Whiscash, gDummySpriteAffineAnimTable}, - [SPECIES_CORPHISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Corphish, gDummySpriteAffineAnimTable}, - [SPECIES_CRAWDAUNT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Crawdaunt, gDummySpriteAffineAnimTable}, - [SPECIES_BALTOY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Baltoy, gDummySpriteAffineAnimTable}, - [SPECIES_CLAYDOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Claydol, gDummySpriteAffineAnimTable}, - [SPECIES_LILEEP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lileep, gDummySpriteAffineAnimTable}, - [SPECIES_CRADILY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cradily, gDummySpriteAffineAnimTable}, - [SPECIES_ANORITH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Anorith, gDummySpriteAffineAnimTable}, - [SPECIES_ARMALDO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Armaldo, gDummySpriteAffineAnimTable}, - [SPECIES_FEEBAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Feebas, gDummySpriteAffineAnimTable}, - [SPECIES_MILOTIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Milotic, gDummySpriteAffineAnimTable}, - [SPECIES_CASTFORM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Castform, gDummySpriteAffineAnimTable}, - [SPECIES_CASTFORM_SUNNY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_CastformSunny, gDummySpriteAffineAnimTable}, - [SPECIES_CASTFORM_RAINY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_CastformRainy, gDummySpriteAffineAnimTable}, - [SPECIES_CASTFORM_SNOWY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_CastformSnowy, gDummySpriteAffineAnimTable}, - [SPECIES_KECLEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kecleon, gDummySpriteAffineAnimTable}, - [SPECIES_SHUPPET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shuppet, gDummySpriteAffineAnimTable}, - [SPECIES_BANETTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Banette, gDummySpriteAffineAnimTable}, - [SPECIES_DUSKULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Duskull, gDummySpriteAffineAnimTable}, - [SPECIES_DUSCLOPS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dusclops, gDummySpriteAffineAnimTable}, - [SPECIES_TROPIUS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tropius, gDummySpriteAffineAnimTable}, - [SPECIES_CHIMECHO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chimecho, gDummySpriteAffineAnimTable}, - [SPECIES_ABSOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Absol, gDummySpriteAffineAnimTable}, - [SPECIES_WYNAUT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wynaut, gDummySpriteAffineAnimTable}, - [SPECIES_SNORUNT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snorunt, gDummySpriteAffineAnimTable}, - [SPECIES_GLALIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Glalie, gDummySpriteAffineAnimTable}, - [SPECIES_SPHEAL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spheal, gDummySpriteAffineAnimTable}, - [SPECIES_SEALEO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sealeo, gDummySpriteAffineAnimTable}, - [SPECIES_WALREIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Walrein, gDummySpriteAffineAnimTable}, - [SPECIES_CLAMPERL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clamperl, gDummySpriteAffineAnimTable}, - [SPECIES_HUNTAIL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Huntail, gDummySpriteAffineAnimTable}, - [SPECIES_GOREBYSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gorebyss, gDummySpriteAffineAnimTable}, - [SPECIES_RELICANTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Relicanth, gDummySpriteAffineAnimTable}, - [SPECIES_LUVDISC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Luvdisc, gDummySpriteAffineAnimTable}, - [SPECIES_BAGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bagon, gDummySpriteAffineAnimTable}, - [SPECIES_SHELGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shelgon, gDummySpriteAffineAnimTable}, - [SPECIES_SALAMENCE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Salamence, gDummySpriteAffineAnimTable}, - [SPECIES_BELDUM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beldum, gDummySpriteAffineAnimTable}, - [SPECIES_METANG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metang, gDummySpriteAffineAnimTable}, - [SPECIES_METAGROSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metagross, gDummySpriteAffineAnimTable}, - [SPECIES_REGIROCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Regirock, gDummySpriteAffineAnimTable}, - [SPECIES_REGICE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Regice, gDummySpriteAffineAnimTable}, - [SPECIES_REGISTEEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Registeel, gDummySpriteAffineAnimTable}, - [SPECIES_LATIAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Latias, gDummySpriteAffineAnimTable}, - [SPECIES_LATIOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Latios, gDummySpriteAffineAnimTable}, - [SPECIES_KYOGRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kyogre, gDummySpriteAffineAnimTable}, - [SPECIES_GROUDON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Groudon, gDummySpriteAffineAnimTable}, - [SPECIES_RAYQUAZA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rayquaza, gDummySpriteAffineAnimTable}, - [SPECIES_JIRACHI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jirachi, gDummySpriteAffineAnimTable}, - [SPECIES_DEOXYS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Deoxys, gDummySpriteAffineAnimTable}, + [SPECIES_BULBASAUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bulbasaur, gDummySpriteAffineAnimTable}, + [SPECIES_IVYSAUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ivysaur, gDummySpriteAffineAnimTable}, + [SPECIES_VENUSAUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venusaur, gDummySpriteAffineAnimTable}, + [SPECIES_CHARMANDER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Charmander, gDummySpriteAffineAnimTable}, + [SPECIES_CHARMELEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Charmeleon, gDummySpriteAffineAnimTable}, + [SPECIES_CHARIZARD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Charizard, gDummySpriteAffineAnimTable}, + [SPECIES_SQUIRTLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Squirtle, gDummySpriteAffineAnimTable}, + [SPECIES_WARTORTLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wartortle, gDummySpriteAffineAnimTable}, + [SPECIES_BLASTOISE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Blastoise, gDummySpriteAffineAnimTable}, + [SPECIES_CATERPIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Caterpie, gDummySpriteAffineAnimTable}, + [SPECIES_METAPOD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metapod, gDummySpriteAffineAnimTable}, + [SPECIES_BUTTERFREE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Butterfree, gDummySpriteAffineAnimTable}, + [SPECIES_WEEDLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weedle, gDummySpriteAffineAnimTable}, + [SPECIES_KAKUNA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kakuna, gDummySpriteAffineAnimTable}, + [SPECIES_BEEDRILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beedrill, gDummySpriteAffineAnimTable}, + [SPECIES_PIDGEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgey, gDummySpriteAffineAnimTable}, + [SPECIES_PIDGEOTTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgeotto, gDummySpriteAffineAnimTable}, + [SPECIES_PIDGEOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgeot, gDummySpriteAffineAnimTable}, + [SPECIES_RATTATA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rattata, gDummySpriteAffineAnimTable}, + [SPECIES_RATICATE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raticate, gDummySpriteAffineAnimTable}, + [SPECIES_SPEAROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spearow, gDummySpriteAffineAnimTable}, + [SPECIES_FEAROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Fearow, gDummySpriteAffineAnimTable}, + [SPECIES_EKANS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ekans, gDummySpriteAffineAnimTable}, + [SPECIES_ARBOK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Arbok, gDummySpriteAffineAnimTable}, + [SPECIES_PIKACHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pikachu, gDummySpriteAffineAnimTable}, + [SPECIES_RAICHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raichu, gDummySpriteAffineAnimTable}, + [SPECIES_SANDSHREW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sandshrew, gDummySpriteAffineAnimTable}, + [SPECIES_SANDSLASH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sandslash, gDummySpriteAffineAnimTable}, + [SPECIES_NIDORAN_F] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoran_f, gDummySpriteAffineAnimTable}, + [SPECIES_NIDORINA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidorina, gDummySpriteAffineAnimTable}, + [SPECIES_NIDOQUEEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoqueen, gDummySpriteAffineAnimTable}, + [SPECIES_NIDORAN_M] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoran_m, gDummySpriteAffineAnimTable}, + [SPECIES_NIDORINO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidorino, gDummySpriteAffineAnimTable}, + [SPECIES_NIDOKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nidoking, gDummySpriteAffineAnimTable}, + [SPECIES_CLEFAIRY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clefairy, gDummySpriteAffineAnimTable}, + [SPECIES_CLEFABLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clefable, gDummySpriteAffineAnimTable}, + [SPECIES_VULPIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vulpix, gDummySpriteAffineAnimTable}, + [SPECIES_NINETALES] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ninetales, gDummySpriteAffineAnimTable}, + [SPECIES_JIGGLYPUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jigglypuff, gDummySpriteAffineAnimTable}, + [SPECIES_WIGGLYTUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wigglytuff, gDummySpriteAffineAnimTable}, + [SPECIES_ZUBAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zubat, gDummySpriteAffineAnimTable}, + [SPECIES_GOLBAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Golbat, gDummySpriteAffineAnimTable}, + [SPECIES_ODDISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Oddish, gDummySpriteAffineAnimTable}, + [SPECIES_GLOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gloom, gDummySpriteAffineAnimTable}, + [SPECIES_VILEPLUME] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vileplume, gDummySpriteAffineAnimTable}, + [SPECIES_PARAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Paras, gDummySpriteAffineAnimTable}, + [SPECIES_PARASECT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Parasect, gDummySpriteAffineAnimTable}, + [SPECIES_VENONAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venonat, gDummySpriteAffineAnimTable}, + [SPECIES_VENOMOTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venomoth, gDummySpriteAffineAnimTable}, + [SPECIES_DIGLETT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Diglett, gDummySpriteAffineAnimTable}, + [SPECIES_DUGTRIO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dugtrio, gDummySpriteAffineAnimTable}, + [SPECIES_MEOWTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Meowth, gDummySpriteAffineAnimTable}, + [SPECIES_PERSIAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Persian, gDummySpriteAffineAnimTable}, + [SPECIES_PSYDUCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Psyduck, gDummySpriteAffineAnimTable}, + [SPECIES_GOLDUCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Golduck, gDummySpriteAffineAnimTable}, + [SPECIES_MANKEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mankey, gDummySpriteAffineAnimTable}, + [SPECIES_PRIMEAPE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Primeape, gDummySpriteAffineAnimTable}, + [SPECIES_GROWLITHE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Growlithe, gDummySpriteAffineAnimTable}, + [SPECIES_ARCANINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Arcanine, gDummySpriteAffineAnimTable}, + [SPECIES_POLIWAG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poliwag, gDummySpriteAffineAnimTable}, + [SPECIES_POLIWHIRL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poliwhirl, gDummySpriteAffineAnimTable}, + [SPECIES_POLIWRATH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poliwrath, gDummySpriteAffineAnimTable}, + [SPECIES_ABRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Abra, gDummySpriteAffineAnimTable}, + [SPECIES_KADABRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kadabra, gDummySpriteAffineAnimTable}, + [SPECIES_ALAKAZAM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Alakazam, gDummySpriteAffineAnimTable}, + [SPECIES_MACHOP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machop, gDummySpriteAffineAnimTable}, + [SPECIES_MACHOKE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machoke, gDummySpriteAffineAnimTable}, + [SPECIES_MACHAMP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machamp, gDummySpriteAffineAnimTable}, + [SPECIES_BELLSPROUT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bellsprout, gDummySpriteAffineAnimTable}, + [SPECIES_WEEPINBELL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weepinbell, gDummySpriteAffineAnimTable}, + [SPECIES_VICTREEBEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Victreebel, gDummySpriteAffineAnimTable}, + [SPECIES_TENTACOOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacool, gDummySpriteAffineAnimTable}, + [SPECIES_TENTACRUEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacruel, gDummySpriteAffineAnimTable}, + [SPECIES_GEODUDE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Geodude, gDummySpriteAffineAnimTable}, + [SPECIES_GRAVELER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Graveler, gDummySpriteAffineAnimTable}, + [SPECIES_GOLEM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Golem, gDummySpriteAffineAnimTable}, + [SPECIES_PONYTA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ponyta, gDummySpriteAffineAnimTable}, + [SPECIES_RAPIDASH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rapidash, gDummySpriteAffineAnimTable}, + [SPECIES_SLOWPOKE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slowpoke, gDummySpriteAffineAnimTable}, + [SPECIES_SLOWBRO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slowbro, gDummySpriteAffineAnimTable}, + [SPECIES_MAGNEMITE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magnemite, gDummySpriteAffineAnimTable}, + [SPECIES_MAGNETON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magneton, gDummySpriteAffineAnimTable}, + [SPECIES_FARFETCHD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Farfetchd, gDummySpriteAffineAnimTable}, + [SPECIES_DODUO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Doduo, gDummySpriteAffineAnimTable}, + [SPECIES_DODRIO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dodrio, gDummySpriteAffineAnimTable}, + [SPECIES_SEEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seel, gDummySpriteAffineAnimTable}, + [SPECIES_DEWGONG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dewgong, gDummySpriteAffineAnimTable}, + [SPECIES_GRIMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grimer, gDummySpriteAffineAnimTable}, + [SPECIES_MUK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Muk, gDummySpriteAffineAnimTable}, + [SPECIES_SHELLDER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shellder, gDummySpriteAffineAnimTable}, + [SPECIES_CLOYSTER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cloyster, gDummySpriteAffineAnimTable}, + [SPECIES_GASTLY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gastly, gDummySpriteAffineAnimTable}, + [SPECIES_HAUNTER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Haunter, gDummySpriteAffineAnimTable}, + [SPECIES_GENGAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gengar, gDummySpriteAffineAnimTable}, + [SPECIES_ONIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Onix, gDummySpriteAffineAnimTable}, + [SPECIES_DROWZEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Drowzee, gDummySpriteAffineAnimTable}, + [SPECIES_HYPNO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hypno, gDummySpriteAffineAnimTable}, + [SPECIES_KRABBY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Krabby, gDummySpriteAffineAnimTable}, + [SPECIES_KINGLER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kingler, gDummySpriteAffineAnimTable}, + [SPECIES_VOLTORB] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Voltorb, gDummySpriteAffineAnimTable}, + [SPECIES_ELECTRODE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electrode, gDummySpriteAffineAnimTable}, + [SPECIES_EXEGGCUTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exeggcute, gDummySpriteAffineAnimTable}, + [SPECIES_EXEGGUTOR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exeggutor, gDummySpriteAffineAnimTable}, + [SPECIES_CUBONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cubone, gDummySpriteAffineAnimTable}, + [SPECIES_MAROWAK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Marowak, gDummySpriteAffineAnimTable}, + [SPECIES_HITMONLEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hitmonlee, gDummySpriteAffineAnimTable}, + [SPECIES_HITMONCHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hitmonchan, gDummySpriteAffineAnimTable}, + [SPECIES_LICKITUNG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lickitung, gDummySpriteAffineAnimTable}, + [SPECIES_KOFFING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Koffing, gDummySpriteAffineAnimTable}, + [SPECIES_WEEZING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weezing, gDummySpriteAffineAnimTable}, + [SPECIES_RHYHORN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rhyhorn, gDummySpriteAffineAnimTable}, + [SPECIES_RHYDON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rhydon, gDummySpriteAffineAnimTable}, + [SPECIES_CHANSEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chansey, gDummySpriteAffineAnimTable}, + [SPECIES_TANGELA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tangela, gDummySpriteAffineAnimTable}, + [SPECIES_KANGASKHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kangaskhan, gDummySpriteAffineAnimTable}, + [SPECIES_HORSEA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Horsea, gDummySpriteAffineAnimTable}, + [SPECIES_SEADRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seadra, gDummySpriteAffineAnimTable}, + [SPECIES_GOLDEEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Goldeen, gDummySpriteAffineAnimTable}, + [SPECIES_SEAKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seaking, gDummySpriteAffineAnimTable}, + [SPECIES_STARYU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Staryu, gDummySpriteAffineAnimTable}, + [SPECIES_STARMIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Starmie, gDummySpriteAffineAnimTable}, + [SPECIES_MR_MIME] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mr_Mime, gDummySpriteAffineAnimTable}, + [SPECIES_SCYTHER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Scyther, gDummySpriteAffineAnimTable}, + [SPECIES_JYNX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jynx, gDummySpriteAffineAnimTable}, + [SPECIES_ELECTABUZZ] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electabuzz, gDummySpriteAffineAnimTable}, + [SPECIES_MAGMAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magmar, gDummySpriteAffineAnimTable}, + [SPECIES_PINSIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pinsir, gDummySpriteAffineAnimTable}, + [SPECIES_TAUROS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tauros, gDummySpriteAffineAnimTable}, + [SPECIES_MAGIKARP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magikarp, gDummySpriteAffineAnimTable}, + [SPECIES_GYARADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gyarados, gDummySpriteAffineAnimTable}, + [SPECIES_LAPRAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lapras, gDummySpriteAffineAnimTable}, + [SPECIES_DITTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ditto, gDummySpriteAffineAnimTable}, + [SPECIES_EEVEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Eevee, gDummySpriteAffineAnimTable}, + [SPECIES_VAPOREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vaporeon, gDummySpriteAffineAnimTable}, + [SPECIES_JOLTEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jolteon, gDummySpriteAffineAnimTable}, + [SPECIES_FLAREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Flareon, gDummySpriteAffineAnimTable}, + [SPECIES_PORYGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon, gDummySpriteAffineAnimTable}, + [SPECIES_OMANYTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Omanyte, gDummySpriteAffineAnimTable}, + [SPECIES_OMASTAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Omastar, gDummySpriteAffineAnimTable}, + [SPECIES_KABUTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kabuto, gDummySpriteAffineAnimTable}, + [SPECIES_KABUTOPS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kabutops, gDummySpriteAffineAnimTable}, + [SPECIES_AERODACTYL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aerodactyl, gDummySpriteAffineAnimTable}, + [SPECIES_SNORLAX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snorlax, gDummySpriteAffineAnimTable}, + [SPECIES_ARTICUNO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Articuno, gDummySpriteAffineAnimTable}, + [SPECIES_ZAPDOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zapdos, gDummySpriteAffineAnimTable}, + [SPECIES_MOLTRES] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Moltres, gDummySpriteAffineAnimTable}, + [SPECIES_DRATINI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dratini, gDummySpriteAffineAnimTable}, + [SPECIES_DRAGONAIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dragonair, gDummySpriteAffineAnimTable}, + [SPECIES_DRAGONITE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dragonite, gDummySpriteAffineAnimTable}, + [SPECIES_MEWTWO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mewtwo, gDummySpriteAffineAnimTable}, + [SPECIES_MEW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mew, gDummySpriteAffineAnimTable}, + [SPECIES_CHIKORITA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chikorita, gDummySpriteAffineAnimTable}, + [SPECIES_BAYLEEF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bayleef, gDummySpriteAffineAnimTable}, + [SPECIES_MEGANIUM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Meganium, gDummySpriteAffineAnimTable}, + [SPECIES_CYNDAQUIL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cyndaquil, gDummySpriteAffineAnimTable}, + [SPECIES_QUILAVA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Quilava, gDummySpriteAffineAnimTable}, + [SPECIES_TYPHLOSION] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Typhlosion, gDummySpriteAffineAnimTable}, + [SPECIES_TOTODILE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Totodile, gDummySpriteAffineAnimTable}, + [SPECIES_CROCONAW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Croconaw, gDummySpriteAffineAnimTable}, + [SPECIES_FERALIGATR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Feraligatr, gDummySpriteAffineAnimTable}, + [SPECIES_SENTRET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sentret, gDummySpriteAffineAnimTable}, + [SPECIES_FURRET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Furret, gDummySpriteAffineAnimTable}, + [SPECIES_HOOTHOOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hoothoot, gDummySpriteAffineAnimTable}, + [SPECIES_NOCTOWL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Noctowl, gDummySpriteAffineAnimTable}, + [SPECIES_LEDYBA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ledyba, gDummySpriteAffineAnimTable}, + [SPECIES_LEDIAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ledian, gDummySpriteAffineAnimTable}, + [SPECIES_SPINARAK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spinarak, gDummySpriteAffineAnimTable}, + [SPECIES_ARIADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ariados, gDummySpriteAffineAnimTable}, + [SPECIES_CROBAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Crobat, gDummySpriteAffineAnimTable}, + [SPECIES_CHINCHOU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chinchou, gDummySpriteAffineAnimTable}, + [SPECIES_LANTURN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lanturn, gDummySpriteAffineAnimTable}, + [SPECIES_PICHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pichu, gDummySpriteAffineAnimTable}, + [SPECIES_CLEFFA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cleffa, gDummySpriteAffineAnimTable}, + [SPECIES_IGGLYBUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Igglybuff, gDummySpriteAffineAnimTable}, + [SPECIES_TOGEPI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Togepi, gDummySpriteAffineAnimTable}, + [SPECIES_TOGETIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Togetic, gDummySpriteAffineAnimTable}, + [SPECIES_NATU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Natu, gDummySpriteAffineAnimTable}, + [SPECIES_XATU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Xatu, gDummySpriteAffineAnimTable}, + [SPECIES_MAREEP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mareep, gDummySpriteAffineAnimTable}, + [SPECIES_FLAAFFY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Flaaffy, gDummySpriteAffineAnimTable}, + [SPECIES_AMPHAROS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ampharos, gDummySpriteAffineAnimTable}, + [SPECIES_BELLOSSOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bellossom, gDummySpriteAffineAnimTable}, + [SPECIES_MARILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Marill, gDummySpriteAffineAnimTable}, + [SPECIES_AZUMARILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Azumarill, gDummySpriteAffineAnimTable}, + [SPECIES_SUDOWOODO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sudowoodo, gDummySpriteAffineAnimTable}, + [SPECIES_POLITOED] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Politoed, gDummySpriteAffineAnimTable}, + [SPECIES_HOPPIP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hoppip, gDummySpriteAffineAnimTable}, + [SPECIES_SKIPLOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skiploom, gDummySpriteAffineAnimTable}, + [SPECIES_JUMPLUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jumpluff, gDummySpriteAffineAnimTable}, + [SPECIES_AIPOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aipom, gDummySpriteAffineAnimTable}, + [SPECIES_SUNKERN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sunkern, gDummySpriteAffineAnimTable}, + [SPECIES_SUNFLORA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sunflora, gDummySpriteAffineAnimTable}, + [SPECIES_YANMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Yanma, gDummySpriteAffineAnimTable}, + [SPECIES_WOOPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wooper, gDummySpriteAffineAnimTable}, + [SPECIES_QUAGSIRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Quagsire, gDummySpriteAffineAnimTable}, + [SPECIES_ESPEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Espeon, gDummySpriteAffineAnimTable}, + [SPECIES_UMBREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Umbreon, gDummySpriteAffineAnimTable}, + [SPECIES_MURKROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Murkrow, gDummySpriteAffineAnimTable}, + [SPECIES_SLOWKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slowking, gDummySpriteAffineAnimTable}, + [SPECIES_MISDREAVUS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Misdreavus, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_A, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_B] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_B, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_C] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_C, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_D] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_D, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_E] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_E, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_F] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_F, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_G] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_G, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_H] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_H, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_I] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_I, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_J] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_J, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_K] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_K, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_L] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_L, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_M] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_M, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_N] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_N, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_O] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_O, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_P] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_P, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_Q] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Q, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_R] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_R, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_S] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_S, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_T] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_T, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_U] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_U, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_V] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_V, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_W] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_W, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_X] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_X, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_Y] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Y, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_Z] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Z, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_EMARK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Exclamation, gDummySpriteAffineAnimTable}, + [SPECIES_UNOWN_QMARK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Question, gDummySpriteAffineAnimTable}, + [SPECIES_WOBBUFFET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wobbuffet, gDummySpriteAffineAnimTable}, + [SPECIES_GIRAFARIG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Girafarig, gDummySpriteAffineAnimTable}, + [SPECIES_PINECO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pineco, gDummySpriteAffineAnimTable}, + [SPECIES_FORRETRESS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Forretress, gDummySpriteAffineAnimTable}, + [SPECIES_DUNSPARCE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dunsparce, gDummySpriteAffineAnimTable}, + [SPECIES_GLIGAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gligar, gDummySpriteAffineAnimTable}, + [SPECIES_STEELIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Steelix, gDummySpriteAffineAnimTable}, + [SPECIES_SNUBBULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snubbull, gDummySpriteAffineAnimTable}, + [SPECIES_GRANBULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Granbull, gDummySpriteAffineAnimTable}, + [SPECIES_QWILFISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Qwilfish, gDummySpriteAffineAnimTable}, + [SPECIES_SCIZOR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Scizor, gDummySpriteAffineAnimTable}, + [SPECIES_SHUCKLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shuckle, gDummySpriteAffineAnimTable}, + [SPECIES_HERACROSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Heracross, gDummySpriteAffineAnimTable}, + [SPECIES_SNEASEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sneasel, gDummySpriteAffineAnimTable}, + [SPECIES_TEDDIURSA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Teddiursa, gDummySpriteAffineAnimTable}, + [SPECIES_URSARING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ursaring, gDummySpriteAffineAnimTable}, + [SPECIES_SLUGMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slugma, gDummySpriteAffineAnimTable}, + [SPECIES_MAGCARGO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magcargo, gDummySpriteAffineAnimTable}, + [SPECIES_SWINUB] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swinub, gDummySpriteAffineAnimTable}, + [SPECIES_PILOSWINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Piloswine, gDummySpriteAffineAnimTable}, + [SPECIES_CORSOLA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Corsola, gDummySpriteAffineAnimTable}, + [SPECIES_REMORAID] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Remoraid, gDummySpriteAffineAnimTable}, + [SPECIES_OCTILLERY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Octillery, gDummySpriteAffineAnimTable}, + [SPECIES_DELIBIRD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Delibird, gDummySpriteAffineAnimTable}, + [SPECIES_MANTINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mantine, gDummySpriteAffineAnimTable}, + [SPECIES_SKARMORY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skarmory, gDummySpriteAffineAnimTable}, + [SPECIES_HOUNDOUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Houndour, gDummySpriteAffineAnimTable}, + [SPECIES_HOUNDOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Houndoom, gDummySpriteAffineAnimTable}, + [SPECIES_KINGDRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kingdra, gDummySpriteAffineAnimTable}, + [SPECIES_PHANPY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Phanpy, gDummySpriteAffineAnimTable}, + [SPECIES_DONPHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Donphan, gDummySpriteAffineAnimTable}, + [SPECIES_PORYGON2] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon2, gDummySpriteAffineAnimTable}, + [SPECIES_STANTLER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Stantler, gDummySpriteAffineAnimTable}, + [SPECIES_SMEARGLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Smeargle, gDummySpriteAffineAnimTable}, + [SPECIES_TYROGUE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tyrogue, gDummySpriteAffineAnimTable}, + [SPECIES_HITMONTOP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hitmontop, gDummySpriteAffineAnimTable}, + [SPECIES_SMOOCHUM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Smoochum, gDummySpriteAffineAnimTable}, + [SPECIES_ELEKID] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Elekid, gDummySpriteAffineAnimTable}, + [SPECIES_MAGBY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magby, gDummySpriteAffineAnimTable}, + [SPECIES_MILTANK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Miltank, gDummySpriteAffineAnimTable}, + [SPECIES_BLISSEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Blissey, gDummySpriteAffineAnimTable}, + [SPECIES_RAIKOU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raikou, gDummySpriteAffineAnimTable}, + [SPECIES_ENTEI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Entei, gDummySpriteAffineAnimTable}, + [SPECIES_SUICUNE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Suicune, gDummySpriteAffineAnimTable}, + [SPECIES_LARVITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Larvitar, gDummySpriteAffineAnimTable}, + [SPECIES_PUPITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pupitar, gDummySpriteAffineAnimTable}, + [SPECIES_TYRANITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tyranitar, gDummySpriteAffineAnimTable}, + [SPECIES_LUGIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lugia, gDummySpriteAffineAnimTable}, + [SPECIES_HO_OH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ho_oh, gDummySpriteAffineAnimTable}, + [SPECIES_CELEBI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Celebi, gDummySpriteAffineAnimTable}, + [SPECIES_TREECKO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Treecko, gDummySpriteAffineAnimTable}, + [SPECIES_GROVYLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grovyle, gDummySpriteAffineAnimTable}, + [SPECIES_SCEPTILE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sceptile, gDummySpriteAffineAnimTable}, + [SPECIES_TORCHIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Torchic, gDummySpriteAffineAnimTable}, + [SPECIES_COMBUSKEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Combusken, gDummySpriteAffineAnimTable}, + [SPECIES_BLAZIKEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Blaziken, gDummySpriteAffineAnimTable}, + [SPECIES_MUDKIP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mudkip, gDummySpriteAffineAnimTable}, + [SPECIES_MARSHTOMP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Marshtomp, gDummySpriteAffineAnimTable}, + [SPECIES_SWAMPERT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swampert, gDummySpriteAffineAnimTable}, + [SPECIES_POOCHYENA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Poochyena, gDummySpriteAffineAnimTable}, + [SPECIES_MIGHTYENA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mightyena, gDummySpriteAffineAnimTable}, + [SPECIES_ZIGZAGOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable}, + [SPECIES_LINOONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Linoone, gDummySpriteAffineAnimTable}, + [SPECIES_WURMPLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wurmple, gDummySpriteAffineAnimTable}, + [SPECIES_SILCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Silcoon, gDummySpriteAffineAnimTable}, + [SPECIES_BEAUTIFLY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beautifly, gDummySpriteAffineAnimTable}, + [SPECIES_CASCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cascoon, gDummySpriteAffineAnimTable}, + [SPECIES_DUSTOX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dustox, gDummySpriteAffineAnimTable}, + [SPECIES_LOTAD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lotad, gDummySpriteAffineAnimTable}, + [SPECIES_LOMBRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lombre, gDummySpriteAffineAnimTable}, + [SPECIES_LUDICOLO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ludicolo, gDummySpriteAffineAnimTable}, + [SPECIES_SEEDOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seedot, gDummySpriteAffineAnimTable}, + [SPECIES_NUZLEAF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nuzleaf, gDummySpriteAffineAnimTable}, + [SPECIES_SHIFTRY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shiftry, gDummySpriteAffineAnimTable}, + [SPECIES_TAILLOW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Taillow, gDummySpriteAffineAnimTable}, + [SPECIES_SWELLOW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swellow, gDummySpriteAffineAnimTable}, + [SPECIES_WINGULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wingull, gDummySpriteAffineAnimTable}, + [SPECIES_PELIPPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pelipper, gDummySpriteAffineAnimTable}, + [SPECIES_RALTS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ralts, gDummySpriteAffineAnimTable}, + [SPECIES_KIRLIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kirlia, gDummySpriteAffineAnimTable}, + [SPECIES_GARDEVOIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gardevoir, gDummySpriteAffineAnimTable}, + [SPECIES_SURSKIT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Surskit, gDummySpriteAffineAnimTable}, + [SPECIES_MASQUERAIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Masquerain, gDummySpriteAffineAnimTable}, + [SPECIES_SHROOMISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shroomish, gDummySpriteAffineAnimTable}, + [SPECIES_BRELOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Breloom, gDummySpriteAffineAnimTable}, + [SPECIES_SLAKOTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slakoth, gDummySpriteAffineAnimTable}, + [SPECIES_VIGOROTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vigoroth, gDummySpriteAffineAnimTable}, + [SPECIES_SLAKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slaking, gDummySpriteAffineAnimTable}, + [SPECIES_NINCADA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nincada, gDummySpriteAffineAnimTable}, + [SPECIES_NINJASK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ninjask, gDummySpriteAffineAnimTable}, + [SPECIES_SHEDINJA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shedinja, gDummySpriteAffineAnimTable}, + [SPECIES_WHISMUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Whismur, gDummySpriteAffineAnimTable}, + [SPECIES_LOUDRED] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Loudred, gDummySpriteAffineAnimTable}, + [SPECIES_EXPLOUD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exploud, gDummySpriteAffineAnimTable}, + [SPECIES_MAKUHITA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Makuhita, gDummySpriteAffineAnimTable}, + [SPECIES_HARIYAMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hariyama, gDummySpriteAffineAnimTable}, + [SPECIES_AZURILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Azurill, gDummySpriteAffineAnimTable}, + [SPECIES_NOSEPASS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nosepass, gDummySpriteAffineAnimTable}, + [SPECIES_SKITTY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skitty, gDummySpriteAffineAnimTable}, + [SPECIES_DELCATTY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Delcatty, gDummySpriteAffineAnimTable}, + [SPECIES_SABLEYE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sableye, gDummySpriteAffineAnimTable}, + [SPECIES_MAWILE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mawile, gDummySpriteAffineAnimTable}, + [SPECIES_ARON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aron, gDummySpriteAffineAnimTable}, + [SPECIES_LAIRON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lairon, gDummySpriteAffineAnimTable}, + [SPECIES_AGGRON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aggron, gDummySpriteAffineAnimTable}, + [SPECIES_MEDITITE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Meditite, gDummySpriteAffineAnimTable}, + [SPECIES_MEDICHAM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Medicham, gDummySpriteAffineAnimTable}, + [SPECIES_ELECTRIKE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electrike, gDummySpriteAffineAnimTable}, + [SPECIES_MANECTRIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Manectric, gDummySpriteAffineAnimTable}, + [SPECIES_PLUSLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Plusle, gDummySpriteAffineAnimTable}, + [SPECIES_MINUN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Minun, gDummySpriteAffineAnimTable}, + [SPECIES_VOLBEAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Volbeat, gDummySpriteAffineAnimTable}, + [SPECIES_ILLUMISE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Illumise, gDummySpriteAffineAnimTable}, + [SPECIES_ROSELIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Roselia, gDummySpriteAffineAnimTable}, + [SPECIES_GULPIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gulpin, gDummySpriteAffineAnimTable}, + [SPECIES_SWALOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swalot, gDummySpriteAffineAnimTable}, + [SPECIES_CARVANHA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Carvanha, gDummySpriteAffineAnimTable}, + [SPECIES_SHARPEDO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sharpedo, gDummySpriteAffineAnimTable}, + [SPECIES_WAILMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailmer, gDummySpriteAffineAnimTable}, + [SPECIES_WAILORD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailord, gDummySpriteAffineAnimTable}, + [SPECIES_NUMEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Numel, gDummySpriteAffineAnimTable}, + [SPECIES_CAMERUPT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Camerupt, gDummySpriteAffineAnimTable}, + [SPECIES_TORKOAL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Torkoal, gDummySpriteAffineAnimTable}, + [SPECIES_SPOINK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spoink, gDummySpriteAffineAnimTable}, + [SPECIES_GRUMPIG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grumpig, gDummySpriteAffineAnimTable}, + [SPECIES_SPINDA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spinda, gDummySpriteAffineAnimTable}, + [SPECIES_TRAPINCH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Trapinch, gDummySpriteAffineAnimTable}, + [SPECIES_VIBRAVA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vibrava, gDummySpriteAffineAnimTable}, + [SPECIES_FLYGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Flygon, gDummySpriteAffineAnimTable}, + [SPECIES_CACNEA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cacnea, gDummySpriteAffineAnimTable}, + [SPECIES_CACTURNE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cacturne, gDummySpriteAffineAnimTable}, + [SPECIES_SWABLU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swablu, gDummySpriteAffineAnimTable}, + [SPECIES_ALTARIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Altaria, gDummySpriteAffineAnimTable}, + [SPECIES_ZANGOOSE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zangoose, gDummySpriteAffineAnimTable}, + [SPECIES_SEVIPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seviper, gDummySpriteAffineAnimTable}, + [SPECIES_LUNATONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lunatone, gDummySpriteAffineAnimTable}, + [SPECIES_SOLROCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Solrock, gDummySpriteAffineAnimTable}, + [SPECIES_BARBOACH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Barboach, gDummySpriteAffineAnimTable}, + [SPECIES_WHISCASH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Whiscash, gDummySpriteAffineAnimTable}, + [SPECIES_CORPHISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Corphish, gDummySpriteAffineAnimTable}, + [SPECIES_CRAWDAUNT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Crawdaunt, gDummySpriteAffineAnimTable}, + [SPECIES_BALTOY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Baltoy, gDummySpriteAffineAnimTable}, + [SPECIES_CLAYDOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Claydol, gDummySpriteAffineAnimTable}, + [SPECIES_LILEEP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lileep, gDummySpriteAffineAnimTable}, + [SPECIES_CRADILY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cradily, gDummySpriteAffineAnimTable}, + [SPECIES_ANORITH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Anorith, gDummySpriteAffineAnimTable}, + [SPECIES_ARMALDO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Armaldo, gDummySpriteAffineAnimTable}, + [SPECIES_FEEBAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Feebas, gDummySpriteAffineAnimTable}, + [SPECIES_MILOTIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Milotic, gDummySpriteAffineAnimTable}, + [SPECIES_CASTFORM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Castform, gDummySpriteAffineAnimTable}, + [SPECIES_CASTFORM_SUNNY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_CastformSunny, gDummySpriteAffineAnimTable}, + [SPECIES_CASTFORM_RAINY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_CastformRainy, gDummySpriteAffineAnimTable}, + [SPECIES_CASTFORM_SNOWY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_CastformSnowy, gDummySpriteAffineAnimTable}, + [SPECIES_KECLEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kecleon, gDummySpriteAffineAnimTable}, + [SPECIES_SHUPPET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shuppet, gDummySpriteAffineAnimTable}, + [SPECIES_BANETTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Banette, gDummySpriteAffineAnimTable}, + [SPECIES_DUSKULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Duskull, gDummySpriteAffineAnimTable}, + [SPECIES_DUSCLOPS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dusclops, gDummySpriteAffineAnimTable}, + [SPECIES_TROPIUS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tropius, gDummySpriteAffineAnimTable}, + [SPECIES_CHIMECHO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chimecho, gDummySpriteAffineAnimTable}, + [SPECIES_ABSOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Absol, gDummySpriteAffineAnimTable}, + [SPECIES_WYNAUT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wynaut, gDummySpriteAffineAnimTable}, + [SPECIES_SNORUNT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snorunt, gDummySpriteAffineAnimTable}, + [SPECIES_GLALIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Glalie, gDummySpriteAffineAnimTable}, + [SPECIES_SPHEAL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spheal, gDummySpriteAffineAnimTable}, + [SPECIES_SEALEO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sealeo, gDummySpriteAffineAnimTable}, + [SPECIES_WALREIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Walrein, gDummySpriteAffineAnimTable}, + [SPECIES_CLAMPERL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clamperl, gDummySpriteAffineAnimTable}, + [SPECIES_HUNTAIL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Huntail, gDummySpriteAffineAnimTable}, + [SPECIES_GOREBYSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gorebyss, gDummySpriteAffineAnimTable}, + [SPECIES_RELICANTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Relicanth, gDummySpriteAffineAnimTable}, + [SPECIES_LUVDISC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Luvdisc, gDummySpriteAffineAnimTable}, + [SPECIES_BAGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bagon, gDummySpriteAffineAnimTable}, + [SPECIES_SHELGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shelgon, gDummySpriteAffineAnimTable}, + [SPECIES_SALAMENCE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Salamence, gDummySpriteAffineAnimTable}, + [SPECIES_BELDUM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beldum, gDummySpriteAffineAnimTable}, + [SPECIES_METANG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metang, gDummySpriteAffineAnimTable}, + [SPECIES_METAGROSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metagross, gDummySpriteAffineAnimTable}, + [SPECIES_REGIROCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Regirock, gDummySpriteAffineAnimTable}, + [SPECIES_REGICE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Regice, gDummySpriteAffineAnimTable}, + [SPECIES_REGISTEEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Registeel, gDummySpriteAffineAnimTable}, + [SPECIES_LATIAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Latias, gDummySpriteAffineAnimTable}, + [SPECIES_LATIOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Latios, gDummySpriteAffineAnimTable}, + [SPECIES_KYOGRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kyogre, gDummySpriteAffineAnimTable}, + [SPECIES_GROUDON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Groudon, gDummySpriteAffineAnimTable}, + [SPECIES_RAYQUAZA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rayquaza, gDummySpriteAffineAnimTable}, + [SPECIES_JIRACHI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jirachi, gDummySpriteAffineAnimTable}, + [SPECIES_DEOXYS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Deoxys, gDummySpriteAffineAnimTable}, }; diff --git a/src/data/object_events/object_event_subsprites.h b/src/data/object_events/object_event_subsprites.h index 8084919927..cb17e219e0 100755 --- a/src/data/object_events/object_event_subsprites.h +++ b/src/data/object_events/object_event_subsprites.h @@ -1,3 +1,6 @@ +#define SUBSPRITE_TABLE_ENTRY(x) {ARRAY_COUNT(x), x} +#define SUBSPRITE_SHAPE(w, h) .shape = SPRITE_SHAPE(w##x##h), .size = SPRITE_SIZE(w##x##h) + static const struct Subsprite sOamTable_16x16_0[] = { { .x = -8, @@ -278,120 +281,11 @@ static const struct SubspriteTable sOamTables_32x32[] = { {ARRAY_COUNT(sOamTable_32x32_4), sOamTable_32x32_4} }; -static const struct Subsprite sOamTable_48x48[] = { - { - .x = -24, - .y = -24, - .shape = SPRITE_SHAPE(32x8), - .size = SPRITE_SIZE(32x8), - .tileOffset = 0, - .priority = 2 - }, - { - .x = 8, - .y = -24, - .shape = SPRITE_SHAPE(16x8), - .size = SPRITE_SIZE(16x8), - .tileOffset = 4, - .priority = 2 - }, - { - .x = -24, - .y = -16, - .shape = SPRITE_SHAPE(32x8), - .size = SPRITE_SIZE(32x8), - .tileOffset = 6, - .priority = 2 - }, - { - .x = 8, - .y = -16, - .shape = SPRITE_SHAPE(16x8), - .size = SPRITE_SIZE(16x8), - .tileOffset = 10, - .priority = 2 - }, - { - .x = -24, - .y = -8, - .shape = SPRITE_SHAPE(32x8), - .size = SPRITE_SIZE(32x8), - .tileOffset = 12, - .priority = 2 - }, - { - .x = 8, - .y = -8, - .shape = SPRITE_SHAPE(16x8), - .size = SPRITE_SIZE(16x8), - .tileOffset = 16, - .priority = 2 - }, - { - .x = -24, - .y = 0, - .shape = SPRITE_SHAPE(32x8), - .size = SPRITE_SIZE(32x8), - .tileOffset = 18, - .priority = 2 - }, - { - .x = 8, - .y = 0, - .shape = SPRITE_SHAPE(16x8), - .size = SPRITE_SIZE(16x8), - .tileOffset = 22, - .priority = 2 - }, - { - .x = -24, - .y = 8, - .shape = SPRITE_SHAPE(32x8), - .size = SPRITE_SIZE(32x8), - .tileOffset = 24, - .priority = 2 - }, - { - .x = 8, - .y = 8, - .shape = SPRITE_SHAPE(16x8), - .size = SPRITE_SIZE(16x8), - .tileOffset = 28, - .priority = 2 - }, - { - .x = -24, - .y = 16, - .shape = SPRITE_SHAPE(32x8), - .size = SPRITE_SIZE(32x8), - .tileOffset = 30, - .priority = 2 - }, - { - .x = 8, - .y = 16, - .shape = SPRITE_SHAPE(16x8), - .size = SPRITE_SIZE(16x8), - .tileOffset = 34, - .priority = 2 - } -}; - -static const struct SubspriteTable sOamTables_48x48[] = { - {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48}, - {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48}, - {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48}, - {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48}, - {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48}, - {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48} -}; - static const struct Subsprite sOamTable_64x32_0[] = { { .x = -32, .y = -16, - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), + SUBSPRITE_SHAPE(64, 32), .tileOffset = 0, .priority = 2 } @@ -401,8 +295,7 @@ static const struct Subsprite sOamTable_64x32_1[] = { { .x = -32, .y = -16, - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), + SUBSPRITE_SHAPE(64, 32), .tileOffset = 0, .priority = 1 } @@ -412,8 +305,7 @@ static const struct Subsprite sOamTable_64x32_2[] = { { .x = -32, .y = -16, - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), + SUBSPRITE_SHAPE(64, 32), .tileOffset = 0, .priority = 2 } @@ -423,8 +315,7 @@ static const struct Subsprite sOamTable_64x32_3[] = { { .x = -32, .y = -16, - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), + SUBSPRITE_SHAPE(64, 32), .tileOffset = 0, .priority = 2 } @@ -444,8 +335,7 @@ static const struct Subsprite sOamTable_64x64_0[] = { { .x = -32, .y = -32, - .shape = SPRITE_SHAPE(64x64), - .size = SPRITE_SIZE(64x64), + SUBSPRITE_SHAPE(64, 64), .tileOffset = 0, .priority = 2 } @@ -455,8 +345,7 @@ static const struct Subsprite sOamTable_64x64_1[] = { { .x = -32, .y = -32, - .shape = SPRITE_SHAPE(64x64), - .size = SPRITE_SIZE(64x64), + SUBSPRITE_SHAPE(64, 64), .tileOffset = 0, .priority = 1 } @@ -466,8 +355,7 @@ static const struct Subsprite sOamTable_64x64_2[] = { { .x = -32, .y = -32, - .shape = SPRITE_SHAPE(64x64), - .size = SPRITE_SIZE(64x64), + SUBSPRITE_SHAPE(64, 64), .tileOffset = 0, .priority = 2 } @@ -477,8 +365,7 @@ static const struct Subsprite sOamTable_64x64_3[] = { { .x = -32, .y = -32, - .shape = SPRITE_SHAPE(64x64), - .size = SPRITE_SIZE(64x64), + SUBSPRITE_SHAPE(64, 64), .tileOffset = 0, .priority = 2 } @@ -1528,3 +1415,1483 @@ static const struct SubspriteTable sOamTables_88x32[] = { {ARRAY_COUNT(sOamTable_88x32_3), sOamTable_88x32_3}, {ARRAY_COUNT(sOamTable_88x32_3), sOamTable_88x32_3} }; + +#if LARGE_OW_SUPPORT +// These tables allow (virtual) sprite sizes so that +// some space can be saved by making graphics smaller. +// Note: When using these for followers, the minimum +// `size` you must set in GraphicsInfo is 512. + +static const struct Subsprite sOamTable_16x24_0[] = { + { + .x = -8, .y = -12, + SUBSPRITE_SHAPE(16, 16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -8, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 2 + }, +}; + +static const struct Subsprite sOamTable_16x24_1[] = { + { + .x = -8, .y = -12, + SUBSPRITE_SHAPE(16, 16), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -8, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 1 + }, +}; + +static const struct Subsprite sOamTable_16x24_2[] = { + { + .x = -8, .y = -12, + SUBSPRITE_SHAPE(16, 16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -8, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_16x24_3[] = { + { + .x = -8, .y = -12, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -8, .y = -4, + SUBSPRITE_SHAPE(16, 16), + .tileOffset = 2, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_16x24_4[] = { + { + .x = -8, .y = -12, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -8, .y = -4, + SUBSPRITE_SHAPE(16, 16), + .tileOffset = 2, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_32x24_0[] = { + { + .x = -16, .y = -12, + SUBSPRITE_SHAPE(32, 16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, .y = 4, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 8, + .priority = 2 + }, +}; + +static const struct Subsprite sOamTable_32x24_1[] = { + { + .x = -16, .y = -12, + SUBSPRITE_SHAPE(32, 16), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -16, .y = 4, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 8, + .priority = 1 + }, +}; + +static const struct Subsprite sOamTable_32x24_2[] = { + { + .x = -16, .y = -12, + SUBSPRITE_SHAPE(32, 16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, .y = 4, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 8, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_32x24_3[] = { + { + .x = -16, .y = -12, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, .y = -4, + SUBSPRITE_SHAPE(32, 16), + .tileOffset = 4, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_32x24_4[] = { + { + .x = -16, .y = -12, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -16, .y = -4, + SUBSPRITE_SHAPE(32, 16), + .tileOffset = 4, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x16_0[] = { + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 2 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 2 + }, +}; + +static const struct Subsprite sOamTable_24x16_1[] = { + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 1 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 1 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 1 + }, +}; + +static const struct Subsprite sOamTable_24x16_2[] = { + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 3 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x16_3[] = { + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 3 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 3 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 3 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x24_0[] = { + { + .x = -12, .y = -12, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -12, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = -4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 2 + }, + { + .x = 4, .y = -4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 2 + }, + { + .x = -12, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 2 + }, + { + .x = 4, .y = 4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 2 + }, +}; + +static const struct Subsprite sOamTable_24x24_1[] = { + { + .x = -12, .y = -12, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 4, .y = -12, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 1 + }, + { + .x = -12, .y = -4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 1 + }, + { + .x = 4, .y = -4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 1 + }, + { + .x = -12, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 1 + }, + { + .x = 4, .y = 4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 1 + }, +}; + +static const struct Subsprite sOamTable_24x24_2[] = { + { + .x = -12, .y = -12, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -12, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = -4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 2 + }, + { + .x = 4, .y = -4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 2 + }, + { + .x = -12, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 3 + }, + { + .x = 4, .y = 4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x24_3[] = { + { + .x = -12, .y = -12, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -12, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = -4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 3 + }, + { + .x = 4, .y = -4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 3 + }, + { + .x = -12, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 3 + }, + { + .x = 4, .y = 4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x24_4[] = { + { + .x = -12, .y = -12, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 4, .y = -12, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 1 + }, + { + .x = -12, .y = -4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 3 + }, + { + .x = 4, .y = -4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 3 + }, + { + .x = -12, .y = 4, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 3 + }, + { + .x = 4, .y = 4, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x32_0[] = { + { + .x = -12, .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -16, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 2 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 2 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 2 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = -12, .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 9, + .priority = 2 + }, + { + .x = 4, .y = 8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 11, + .priority = 2 + }, +}; + +static const struct Subsprite sOamTable_24x32_1[] = { + { + .x = -12, .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 4, .y = -16, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 1 + }, + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 1 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 1 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 1 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = -12, .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 9, + .priority = 1 + }, + { + .x = 4, .y = 8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 11, + .priority = 1 + }, +}; + +static const struct Subsprite sOamTable_24x32_2[] = { + { + .x = -12, .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -16, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 2 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 2 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 2 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = -12, .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 9, + .priority = 3 + }, + { + .x = 4, .y = 8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 11, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x32_3[] = { + { + .x = -12, .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, .y = -16, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 2 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 2 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 3 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 3 + }, + { + .x = -12, .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 9, + .priority = 3 + }, + { + .x = 4, .y = 8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 11, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_24x32_4[] = { + { + .x = -12, .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 4, .y = -16, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 2, + .priority = 1 + }, + { + .x = -12, .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 3, + .priority = 1 + }, + { + .x = 4, .y = -8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 5, + .priority = 1 + }, + { + .x = -12, .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 6, + .priority = 3 + }, + { + .x = 4, .y = 0, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 8, + .priority = 3 + }, + { + .x = -12, .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 9, + .priority = 3 + }, + { + .x = 4, .y = 8, + SUBSPRITE_SHAPE(8, 8), + .tileOffset = 11, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_48x48[] = { + { + .x = -24, + .y = -24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 8, + .y = -24, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = -24, + .y = -16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 6, + .priority = 1 + }, + { + .x = 8, + .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 10, + .priority = 1 + }, + { + .x = -24, + .y = -8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 12, + .priority = 2 + }, + { + .x = 8, + .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 16, + .priority = 2 + }, + { + .x = -24, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 18, + .priority = 2 + }, + { + .x = 8, + .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 22, + .priority = 2 + }, + { + .x = -24, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 24, + .priority = 2 + }, + { + .x = 8, + .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 28, + .priority = 2 + }, + { + .x = -24, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 30, + .priority = 2 + }, + { + .x = 8, + .y = 16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 34, + .priority = 2 + } +}; + +static const struct Subsprite sOamTable_48x48_4[] = { + { + .x = -24, + .y = -24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 8, + .y = -24, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = -24, + .y = -16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 6, + .priority = 1 + }, + { + .x = 8, + .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 10, + .priority = 1 + }, + { + .x = -24, + .y = -8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 12, + .priority = 1 + }, + { + .x = 8, + .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 16, + .priority = 1 + }, + { + .x = -24, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 18, + .priority = 1 + }, + { + .x = 8, + .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 22, + .priority = 1 + }, + { + .x = -24, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 24, + .priority = 1 + }, + { + .x = 8, + .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 28, + .priority = 1 + }, + { + .x = -24, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 30, + .priority = 1 + }, + { + .x = 8, + .y = 16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 34, + .priority = 1 + } +}; + +static const struct Subsprite sOamTable_48x48_HotSprings[] = { + { + .x = -24, + .y = -24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 8, + .y = -24, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = -24, + .y = -16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 6, + .priority = 2 + }, + { + .x = 8, + .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 10, + .priority = 2 + }, + { + .x = -24, + .y = -8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 12, + .priority = 2 + }, + { + .x = 8, + .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 16, + .priority = 2 + }, + { + .x = -24, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 18, + .priority = 2 + }, + { + .x = 8, + .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 22, + .priority = 2 + }, + { + .x = -24, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 24, + .priority = 2 + }, + { + .x = 8, + .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 28, + .priority = 2 + }, + { + .x = -24, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 30, + .priority = 3 + }, + { + .x = 8, + .y = 16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 34, + .priority = 3 + } +}; + +static const struct Subsprite sOamTable_48x48_Grass2[] = { + { + .x = -24, + .y = -24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 8, + .y = -24, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = -24, + .y = -16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 6, + .priority = 2 + }, + { + .x = 8, + .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 10, + .priority = 2 + }, + { + .x = -24, + .y = -8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 12, + .priority = 2 + }, + { + .x = 8, + .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 16, + .priority = 2 + }, + { + .x = -24, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 18, + .priority = 2 + }, + { + .x = 8, + .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 22, + .priority = 2 + }, + { + .x = -24, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 24, + .priority = 3 + }, + { + .x = 8, + .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 28, + .priority = 3 + }, + { + .x = -24, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 30, + .priority = 3 + }, + { + .x = 8, + .y = 16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 34, + .priority = 3 + } +}; + +static const struct Subsprite sOamTable_48x48_Grass1[] = { + { + .x = -24, + .y = -24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 8, + .y = -24, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = -24, + .y = -16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 6, + .priority = 1 + }, + { + .x = 8, + .y = -16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 10, + .priority = 1 + }, + { + .x = -24, + .y = -8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 12, + .priority = 1 + }, + { + .x = 8, + .y = -8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 16, + .priority = 1 + }, + { + .x = -24, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 18, + .priority = 1 + }, + { + .x = 8, + .y = 0, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 22, + .priority = 1 + }, + { + .x = -24, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 24, + .priority = 3 + }, + { + .x = 8, + .y = 8, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 28, + .priority = 3 + }, + { + .x = -24, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 30, + .priority = 3 + }, + { + .x = 8, + .y = 16, + SUBSPRITE_SHAPE(16, 8), + .tileOffset = 34, + .priority = 3 + } +}; + +static const struct Subsprite sOamTable_64x64_Follower[] = { + { + .x = -32, .y = -32, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -32, .y = 0, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 32, + .priority = 2 + } +}; + +static const struct Subsprite sOamTable_64x64_HotSprings[] = { + { + .x = -32, + .y = -32, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -32, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = 0, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 36, + .priority = 2 + }, + { + .x = -32, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 40, + .priority = 2 + }, + { + .x = 0, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 44, + .priority = 2 + }, + { + .x = -32, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 48, + .priority = 2 + }, + { + .x = 0, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 52, + .priority = 2 + }, + { + .x = -32, + .y = 24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 56, + .priority = 3 + }, + { + .x = 0, + .y = 24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 60, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_64x64_Grass2[] = { + { + .x = -32, + .y = -32, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -32, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = 0, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 36, + .priority = 2 + }, + { + .x = -32, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 40, + .priority = 2 + }, + { + .x = 0, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 44, + .priority = 2 + }, + { + .x = -32, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 48, + .priority = 3 + }, + { + .x = 0, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 52, + .priority = 3 + }, + { + .x = -32, + .y = 24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 56, + .priority = 3 + }, + { + .x = 0, + .y = 24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 60, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_64x64_Grass1[] = { + { + .x = -32, + .y = -32, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -32, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 32, + .priority = 1 + }, + { + .x = 0, + .y = 0, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 36, + .priority = 1 + }, + { + .x = -32, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 40, + .priority = 1 + }, + { + .x = 0, + .y = 8, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 44, + .priority = 1 + }, + { + .x = -32, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 48, + .priority = 3 + }, + { + .x = 0, + .y = 16, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 52, + .priority = 3 + }, + { + .x = -32, + .y = 24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 56, + .priority = 3 + }, + { + .x = 0, + .y = 24, + SUBSPRITE_SHAPE(32, 8), + .tileOffset = 60, + .priority = 3 + }, +}; + +static const struct Subsprite sOamTable_64x64_Grass3[] = { + { + .x = -32, + .y = -24, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -32, + .y = 8, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 32, + .priority = 3 + } +}; + +static const struct Subsprite sOamTable_64x64_Grass4[] = { + { + .x = -32, + .y = -24, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -32, + .y = 8, + SUBSPRITE_SHAPE(64, 32), + .tileOffset = 32, + .priority = 3 + } +}; + + +static const struct SubspriteTable sOamTables_16x24[] = { + SUBSPRITE_TABLE_ENTRY(sOamTable_16x24_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_16x24_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_16x24_1), + SUBSPRITE_TABLE_ENTRY(sOamTable_16x24_2), + SUBSPRITE_TABLE_ENTRY(sOamTable_16x24_3), + SUBSPRITE_TABLE_ENTRY(sOamTable_16x24_4), +}; + + +static const struct SubspriteTable sOamTables_24x16[] = { + SUBSPRITE_TABLE_ENTRY(sOamTable_24x16_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x16_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x16_1), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x16_2), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x16_3), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x16_3), +}; + +static const struct SubspriteTable sOamTables_24x24[] = { + SUBSPRITE_TABLE_ENTRY(sOamTable_24x24_0), // reflections + SUBSPRITE_TABLE_ENTRY(sOamTable_24x24_0), // all 2 + SUBSPRITE_TABLE_ENTRY(sOamTable_24x24_1), // all 1 + SUBSPRITE_TABLE_ENTRY(sOamTable_24x24_2), // bottom 8 3 + SUBSPRITE_TABLE_ENTRY(sOamTable_24x24_3), // bottom 16 3 + SUBSPRITE_TABLE_ENTRY(sOamTable_24x24_4), // top 1, bottom 16 3 +}; + +static const struct SubspriteTable sOamTables_24x32[] = { + SUBSPRITE_TABLE_ENTRY(sOamTable_24x32_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x32_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x32_1), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x32_2), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x32_3), + SUBSPRITE_TABLE_ENTRY(sOamTable_24x32_4), +}; + + +static const struct SubspriteTable sOamTables_32x24[] = { + SUBSPRITE_TABLE_ENTRY(sOamTable_32x24_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_32x24_0), + SUBSPRITE_TABLE_ENTRY(sOamTable_32x24_1), + SUBSPRITE_TABLE_ENTRY(sOamTable_32x24_2), + SUBSPRITE_TABLE_ENTRY(sOamTable_32x24_3), + SUBSPRITE_TABLE_ENTRY(sOamTable_32x24_4), +}; + + +static const struct SubspriteTable sOamTables_48x48[] = { + SUBSPRITE_TABLE_ENTRY(sOamTable_48x48), // reflections + SUBSPRITE_TABLE_ENTRY(sOamTable_48x48), // elevation 3 + SUBSPRITE_TABLE_ENTRY(sOamTable_48x48_4), // elevation 4 + SUBSPRITE_TABLE_ENTRY(sOamTable_48x48_HotSprings), // hot springs + SUBSPRITE_TABLE_ENTRY(sOamTable_48x48_Grass2), // long grass + SUBSPRITE_TABLE_ENTRY(sOamTable_48x48_Grass1) // long grass priority 1 +}; + + +// For following pokemon +// Makes the top 32 pixels priority 1, +// so that very tall pokemon's heads +// will appear on top of buildings, etc. +static const struct SubspriteTable sOamTables_64x64_Tall[] = { + {}, // unused + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_Follower), // elevation 3 + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_1), // elevation 4 + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_HotSprings), // hot springs + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_Grass2), // long grass + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_Grass1) // long grass priority 1 +}; + +// Like sOamTables_64x64_Tall, but fewer pixels visible in long grass +// Meant for pokemon that are more long than tall like Wailord +static const struct SubspriteTable sOamTables_64x64_Long[] = { + {}, // unused + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_Follower), // elevation 3 + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_1), // elevation 4 + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_HotSprings), // hot springs + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_Grass3), // long grass + SUBSPRITE_TABLE_ENTRY(sOamTable_64x64_Grass4) // long grass priority 1 +}; +#endif \ No newline at end of file diff --git a/src/decompress.c b/src/decompress.c index 4cd1b0ccd0..746eda1a7f 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -29,6 +29,35 @@ u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src) return LoadSpriteSheet(&dest); } +// This can be used for either compressed or uncompressed sprite sheets +u16 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s32 offset) { + struct SpriteTemplate myTemplate; + struct SpriteFrameImage myImage; + const u8 *data = template->images->data; + u32 size; + + // (Heuristic) Check for LZ77 header + // See https://problemkaputt.de/gbatek.htm#biosdecompressionfunctions + // data[3] could be nonzero; but this would mean data >= 65536 bytes, + // which is 2048 tiles, far too big in practice + if (data[0] != 0x10 || data[3] != 0) // not compressed + return LoadSpriteSheetByTemplate(template, 0, offset); + + // read uncompressed size from header + size = T1_READ_16(&data[1]); + // too big for compression buffer, so probably not compressed + if (size >= ARRAY_COUNT(gDecompressionBuffer)) + return LoadSpriteSheetByTemplate(template, 0, offset); + + LZ77UnCompWram(template->images->data, gDecompressionBuffer); + myImage.data = gDecompressionBuffer; + myImage.size = size + offset; + myTemplate.images = &myImage; + myTemplate.tileTag = template->tileTag; + + return LoadSpriteSheetByTemplate(&myTemplate, 0, offset); +} + void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer) { struct SpriteSheet dest; diff --git a/src/digit_obj_util.c b/src/digit_obj_util.c index f68f0446c3..f66dc80cb7 100644 --- a/src/digit_obj_util.c +++ b/src/digit_obj_util.c @@ -4,6 +4,7 @@ #include "decompress.h" #include "main.h" #include "battle_main.h" +#include "sprite.h" struct DigitPrinter { @@ -44,29 +45,6 @@ static bool32 SharesPalWithAnyActive(u32 id); // ewram static EWRAM_DATA struct DigitPrinterAlloc *sOamWork = {0}; -// const rom data -static const u8 sTilesPerImage[4][4] = -{ - [ST_OAM_SQUARE] = { - [ST_OAM_SIZE_0] = 0x01, // SPRITE_SIZE_8x8 - [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_16x16 - [ST_OAM_SIZE_2] = 0x10, // SPRITE_SIZE_32x32 - [ST_OAM_SIZE_3] = 0x40 // SPRITE_SIZE_64x64 - }, - [ST_OAM_H_RECTANGLE] = { - [ST_OAM_SIZE_0] = 0x02, // SPRITE_SIZE_16x8 - [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_32x8 - [ST_OAM_SIZE_2] = 0x08, // SPRITE_SIZE_32x16 - [ST_OAM_SIZE_3] = 0x20 // SPRITE_SIZE_64x32 - }, - [ST_OAM_V_RECTANGLE] = { - [ST_OAM_SIZE_0] = 0x02, // SPRITE_SIZE_8x16 - [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_8x32 - [ST_OAM_SIZE_2] = 0x08, // SPRITE_SIZE_16x32 - [ST_OAM_SIZE_3] = 0x20 // SPRITE_SIZE_32x64 - } -}; - // code bool32 DigitObjUtil_Init(u32 count) { @@ -446,5 +424,5 @@ static bool32 SharesPalWithAnyActive(u32 id) u8 GetTilesPerImage(u32 shape, u32 size) { - return sTilesPerImage[shape][size]; + return 1 << GetSpanPerImage(shape, size); } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index c746cbfacd..2c6b50110a 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -484,8 +484,17 @@ const u8 gInitialMovementTypeFacingDirections[] = { #define OBJ_EVENT_PAL_TAG_RS_MAY 0x1123 #define OBJ_EVENT_PAL_TAG_DYNAMIC 0x1124 #define OBJ_EVENT_PAL_TAG_EMOTES 0x8002 +// Not a real OW palette tag; used for the white flash applied to followers +#define OBJ_EVENT_PAL_TAG_WHITE (OBJ_EVENT_PAL_TAG_NONE - 1) #define OBJ_EVENT_PAL_TAG_NONE 0x11FF +#if OW_GFX_COMPRESS +// This + localId is used as the tileTag +// for compressed graphicsInfos +// '(C)ompressed (E)vent' +#define COMP_OW_TILE_TAG_BASE 0xCE00 +#endif + #include "data/object_events/object_event_graphics_info_pointers.h" #include "data/field_effects/field_effect_object_template_pointers.h" #include "data/object_events/object_event_pic_tables.h" @@ -1425,19 +1434,29 @@ void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) static void RemoveObjectEventInternal(struct ObjectEvent *objectEvent) { - u8 paletteNum; struct SpriteFrameImage image; image.size = GetObjectEventGraphicsInfo(objectEvent->graphicsId)->size; gSprites[objectEvent->spriteId].images = ℑ - paletteNum = gSprites[objectEvent->spriteId].oam.paletteNum; - DestroySprite(&gSprites[objectEvent->spriteId]); // It's possible that this function is called while the sprite pointed to `== sDummySprite`, i.e during map resume; // In this case, don't free the palette as `paletteNum` is likely blank dummy data - if (gSprites[objectEvent->spriteId].inUse - || gSprites[objectEvent->spriteId].oam.paletteNum - || gSprites[objectEvent->spriteId].callback != SpriteCallbackDummy) + if (!gSprites[objectEvent->spriteId].inUse && + !gSprites[objectEvent->spriteId].oam.paletteNum && + gSprites[objectEvent->spriteId].callback == SpriteCallbackDummy) { + DestroySprite(&gSprites[objectEvent->spriteId]); + } + else + { + u32 paletteNum = gSprites[objectEvent->spriteId].oam.paletteNum; + #if OW_GFX_COMPRESS + u16 tileStart = gSprites[objectEvent->spriteId].sheetTileStart; + #endif + DestroySprite(&gSprites[objectEvent->spriteId]); FieldEffectFreePaletteIfUnused(paletteNum); + #if OW_GFX_COMPRESS + if (tileStart) + FieldEffectFreeTilesIfUnused(tileStart); + #endif } } @@ -1452,6 +1471,53 @@ void RemoveAllObjectEventsExceptPlayer(void) } } +#if OW_GFX_COMPRESS +u16 LoadSheetGraphicsInfo(const struct ObjectEventGraphicsInfo *info, u16 uuid, struct Sprite *sprite) { + u16 tag = info->tileTag; + if (tag != TAG_NONE || info->compressed) { // sheet-based gfx + u32 sheetSpan = GetSpanPerImage(info->oam->shape, info->oam->size); + u16 oldTiles = 0; + u16 tileStart; + if (tag == TAG_NONE) + tag = COMP_OW_TILE_TAG_BASE + uuid; + + if (sprite) { + oldTiles = sprite->sheetTileStart; + sprite->sheetTileStart = 0; // mark unused + // Note: If sprite was not allocated to use a sheet, + // the tiles assigned to it will leak here, + // as its tileNum will be repointed to the new tileStart + // TODO: Unload static tiles! + } + + tileStart = GetSpriteTileStartByTag(tag); + // sheet not loaded; unload any old tiles and load it + if (tileStart == TAG_NONE) { + struct SpriteFrameImage image = {.size = info->size, .data = info->images->data}; + struct SpriteTemplate template = {.tileTag = tag, .images = &image}; + if (oldTiles) + FieldEffectFreeTilesIfUnused(oldTiles); + tileStart = LoadCompressedSpriteSheetByTemplate(&template, TILE_SIZE_4BPP << sheetSpan); + // sheet loaded; unload any *other* sheet for sprite + } else if (oldTiles && oldTiles != tileStart) { + FieldEffectFreeTilesIfUnused(oldTiles); + } + + if (sprite) { + sprite->sheetTileStart = tileStart; + sprite->sheetSpan = sheetSpan; + sprite->usingSheet = TRUE; + } + // Going from sheet -> !sheet, reset tile number + // (sheet stays loaded) + } else if (sprite && sprite->usingSheet) { + sprite->oam.tileNum = sprite->sheetTileStart; + sprite->usingSheet = FALSE; + } + return tag; +} +#endif + static u8 TrySetupObjectEventSprite(const struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 spriteId; @@ -1472,6 +1538,10 @@ static u8 TrySetupObjectEventSprite(const struct ObjectEventTemplate *objectEven if (objectEvent->movementType == MOVEMENT_TYPE_INVISIBLE) objectEvent->invisible = TRUE; + #if OW_GFX_COMPRESS + spriteTemplate->tileTag = LoadSheetGraphicsInfo(graphicsInfo, objectEvent->graphicsId, NULL); + #endif + spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) { @@ -1484,6 +1554,10 @@ static u8 TrySetupObjectEventSprite(const struct ObjectEventTemplate *objectEven if (spriteTemplate->paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) sprite->oam.paletteNum = LoadDynamicFollowerPalette(OW_SPECIES(objectEvent), OW_FORM(objectEvent), objectEvent->shiny); + #if OW_GFX_COMPRESS + if (sprite->usingSheet) + sprite->sheetSpan = GetSpanPerImage(sprite->oam.shape, sprite->oam.size); + #endif GetMapCoordsFromSpritePos(objectEvent->currentCoords.x + cameraX, objectEvent->currentCoords.y + cameraY, &sprite->x, &sprite->y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); @@ -1532,9 +1606,6 @@ static u8 TrySpawnObjectEventTemplate(const struct ObjectEventTemplate *objectEv struct SpriteFrameImage spriteFrameImage; const struct ObjectEventGraphicsInfo *graphicsInfo; const struct SubspriteTable *subspriteTables = NULL; - u16 species; - u8 form = 0; - bool8 shiny = FALSE; graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(graphicsId, objectEventTemplate->movementType, &spriteTemplate, &subspriteTables); @@ -1635,6 +1706,7 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), { struct SpriteTemplate *spriteTemplate; const struct SubspriteTable *subspriteTables; + const struct ObjectEventGraphicsInfo *graphicsInfo; struct Sprite *sprite; u8 spriteId; u32 paletteNum; @@ -1654,12 +1726,23 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), LoadObjectEventPalette(spriteTemplate->paletteTag); } + #if OW_GFX_COMPRESS + graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); + // Checking only for compressed here so as not to mess with decorations + if (graphicsInfo->compressed) + spriteTemplate->tileTag = LoadSheetGraphicsInfo(graphicsInfo, graphicsId, NULL); + #endif spriteId = CreateSprite(spriteTemplate, x, y, subpriority); + Free(spriteTemplate); if (spriteId != MAX_SPRITES && subspriteTables != NULL) { sprite = &gSprites[spriteId]; + #if OW_GFX_COMPRESS + if (graphicsInfo->compressed) + sprite->sheetSpan = GetSpanPerImage(sprite->oam.shape, sprite->oam.size); + #endif SetSubspriteTables(sprite, subspriteTables); sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } @@ -1752,7 +1835,17 @@ static const struct ObjectEventGraphicsInfo * SpeciesToGraphicsInfo(u16 species, graphicsInfo = &gPokemonObjectGraphics[species]; break; } - return graphicsInfo->tileTag == TAG_NONE ? graphicsInfo : &gPokemonObjectGraphics[SPECIES_PORYGON]; // avoid OOB access + // Try to avoid OOB access + #if OW_GFX_COMPRESS + if (graphicsInfo->tileTag == 0 && species < NUM_SPECIES) + return &gPokemonObjectGraphics[SPECIES_PORYGON]; + else if (graphicsInfo->tileTag != TAG_NONE && species >= NUM_SPECIES) + return &gPokemonObjectGraphics[SPECIES_PORYGON]; + else + return graphicsInfo; + #else + return graphicsInfo->tileTag == TAG_NONE ? graphicsInfo : &gPokemonObjectGraphics[SPECIES_PORYGON]; + #endif } // Find, or load, the palette for the specified pokemon info @@ -1797,16 +1890,20 @@ static void FollowerSetGraphics(struct ObjectEvent *objEvent, u16 species, u8 fo } // Like FollowerSetGraphics, but does not reposition sprite; intended to be used for mid-movement form changes, etc. -// TODO: Reposition sprite if size changes static void RefreshFollowerGraphics(struct ObjectEvent *objEvent) { - u16 species = OW_SPECIES(objEvent); - u8 form = OW_FORM(objEvent); - u8 shiny = objEvent->shiny; + u32 species = OW_SPECIES(objEvent); + u32 form = OW_FORM(objEvent); + u32 shiny = objEvent->shiny; const struct ObjectEventGraphicsInfo *graphicsInfo = SpeciesToGraphicsInfo(species, form); struct Sprite *sprite = &gSprites[objEvent->spriteId]; - u8 i = FindObjectEventPaletteIndexByTag(graphicsInfo->paletteTag); + u32 i = FindObjectEventPaletteIndexByTag(graphicsInfo->paletteTag); + // Forbid changing form to a new size/shape + // TODO: Reposition sprite, reallocate tiles if form size changes + if (sprite->oam.shape != graphicsInfo->oam->shape + || sprite->oam.size != graphicsInfo->oam->size) + return; sprite->oam.shape = graphicsInfo->oam->shape; sprite->oam.size = graphicsInfo->oam->size; sprite->images = graphicsInfo->images; @@ -1829,6 +1926,9 @@ static void RefreshFollowerGraphics(struct ObjectEvent *objEvent) if (gWeatherPtr->currWeather != WEATHER_FOG_HORIZONTAL) // don't want to weather blend in fog UpdateSpritePaletteWithWeather(sprite->oam.paletteNum); } + #if OW_GFX_COMPRESS + LoadSheetGraphicsInfo(graphicsInfo, objEvent->graphicsId, sprite); + #endif } // Like vanilla's CastformDataTypeChange, but for overworld weather @@ -1896,49 +1996,29 @@ static bool8 GetFollowerInfo(u16 *species, u8 *form, u8 *shiny) return GetMonInfo(GetFirstLiveMon(), species, form, shiny); } -// Update following pokemon if any -void UpdateFollowingPokemon(void) -{ - struct ObjectEvent *objEvent = GetFollowerObject(); - struct Sprite *sprite; - u16 species; - bool8 shiny; - u8 form; - // Avoid spawning large (64x64) follower pokemon inside buildings - if (GetFollowerInfo(&species, &form, &shiny) - && !(gMapHeader.mapType == MAP_TYPE_INDOOR && SpeciesToGraphicsInfo(species, 0)->height == 64) - && !FlagGet(FLAG_TEMP_HIDE_FOLLOWER)) - { - // Spawn follower - if (objEvent == NULL) - { - struct ObjectEventTemplate template = - { - .localId = OBJ_EVENT_ID_FOLLOWER, - .graphicsId = OBJ_EVENT_GFX_MON_BASE + species, - .flagId = 0, - .x = gSaveBlock1Ptr->pos.x, - .y = gSaveBlock1Ptr->pos.y, - // If player active, copy player elevation - .elevation = gObjectEvents[gPlayerAvatar.objectEventId].active ? gObjectEvents[gPlayerAvatar.objectEventId].currentElevation : 3, - .movementType = MOVEMENT_TYPE_FOLLOW_PLAYER, - // store form info in template - .trainerRange_berryTreeId = (form & 0x1F) | (shiny << 5), - }; - objEvent = &gObjectEvents[SpawnSpecialObjectEvent(&template)]; - objEvent->invisible = TRUE; - } - sprite = &gSprites[objEvent->spriteId]; - // Follower appearance changed; move to player and set invisible - if (species != OW_SPECIES(objEvent) || shiny != objEvent->shiny || form != OW_FORM(objEvent)) - { - MoveObjectEventToMapCoords(objEvent, - gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x, - gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y); - FollowerSetGraphics(objEvent, species, form, shiny); - objEvent->invisible = TRUE; - } - sprite->data[6] = 0; // set animation data +void UpdateFollowingPokemon(void) { // Update following pokemon if any + struct ObjectEvent *objEvent = GetFollowerObject(); + struct Sprite *sprite; + u16 species; + bool8 shiny; + u8 form; + // Avoid spawning large (>32x32) follower pokemon inside buildings + if (GetFollowerInfo(&species, &form, &shiny) && !(gMapHeader.mapType == MAP_TYPE_INDOOR && SpeciesToGraphicsInfo(species, 0)->height > 32) && !FlagGet(FLAG_TEMP_HIDE_FOLLOWER)) { + if (objEvent == NULL) { // Spawn follower + struct ObjectEventTemplate template = { + .localId = OBJ_EVENT_ID_FOLLOWER, + .graphicsId = OBJ_EVENT_GFX_MON_BASE + species, + .flagId = 0, + .x = gSaveBlock1Ptr->pos.x, + .y = gSaveBlock1Ptr->pos.y, + // If player active, copy player elevation + .elevation = gObjectEvents[gPlayerAvatar.objectEventId].active ? gObjectEvents[gPlayerAvatar.objectEventId].currentElevation : 3, + .movementType = MOVEMENT_TYPE_FOLLOW_PLAYER, + // store form info in template + .trainerRange_berryTreeId = (form & 0x1F) | (shiny << 5), + }; + objEvent = &gObjectEvents[SpawnSpecialObjectEvent(&template)]; + objEvent->invisible = TRUE; } else { @@ -2330,7 +2410,7 @@ static void RemoveObjectEventIfOutsideView(struct ObjectEvent *objectEvent) void SpawnObjectEventsOnReturnToField(s16 x, s16 y) { - u8 i; + u32 i; ClearPlayerAvatarInfo(); for (i = 0; i < OBJECT_EVENTS_COUNT; i++) @@ -2343,7 +2423,7 @@ void SpawnObjectEventsOnReturnToField(s16 x, s16 y) static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) { - u8 i; + u32 i; struct Sprite *sprite; struct ObjectEvent *objectEvent; struct SpriteTemplate spriteTemplate; @@ -2360,9 +2440,12 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) objectEvent = &gObjectEvents[objectEventId]; subspriteTables = NULL; graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); - spriteFrameImage.size = graphicsInfo->size; CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(objectEvent->graphicsId, objectEvent->movementType, &spriteTemplate, &subspriteTables); + spriteFrameImage.size = graphicsInfo->size; spriteTemplate.images = &spriteFrameImage; + #if OW_GFX_COMPRESS + spriteTemplate.tileTag = LoadSheetGraphicsInfo(graphicsInfo, objectEvent->graphicsId, NULL); + #endif if (spriteTemplate.paletteTag != TAG_NONE && spriteTemplate.paletteTag != OBJ_EVENT_PAL_TAG_DYNAMIC) LoadObjectEventPalette(spriteTemplate.paletteTag); @@ -2373,6 +2456,10 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) // Use palette from species palette table if (spriteTemplate.paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) sprite->oam.paletteNum = LoadDynamicFollowerPalette(OW_SPECIES(objectEvent), OW_FORM(objectEvent), objectEvent->shiny); + #if OW_GFX_COMPRESS + if (sprite->usingSheet) + sprite->sheetSpan = GetSpanPerImage(sprite->oam.shape, sprite->oam.size); + #endif GetMapCoordsFromSpritePos(x + objectEvent->currentCoords.x, y + objectEvent->currentCoords.y, &sprite->x, &sprite->y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); @@ -2443,7 +2530,7 @@ u8 UpdateSpritePaletteByTemplate(const struct SpriteTemplate * template, struct static void ObjectEventSetGraphics(struct ObjectEvent *objectEvent, const struct ObjectEventGraphicsInfo *graphicsInfo) { struct Sprite *sprite = &gSprites[objectEvent->spriteId]; - u8 i = FindObjectEventPaletteIndexByTag(graphicsInfo->paletteTag); + u32 i = FindObjectEventPaletteIndexByTag(graphicsInfo->paletteTag); if (i != 0xFF) UpdateSpritePalette(&sObjectEventSpritePalettes[i], sprite); sprite->oam.shape = graphicsInfo->oam->shape; @@ -2451,6 +2538,9 @@ static void ObjectEventSetGraphics(struct ObjectEvent *objectEvent, const struct sprite->images = graphicsInfo->images; sprite->anims = graphicsInfo->anims; sprite->subspriteTables = graphicsInfo->subspriteTables; + #if OW_GFX_COMPRESS + LoadSheetGraphicsInfo(graphicsInfo, objectEvent->graphicsId, sprite); + #endif objectEvent->inanimate = graphicsInfo->inanimate; SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->x, &sprite->y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); @@ -2458,9 +2548,7 @@ static void ObjectEventSetGraphics(struct ObjectEvent *objectEvent, const struct sprite->x += 8; sprite->y += 16 + sprite->centerToCornerVecY; if (objectEvent->trackedByCamera) - { CameraObjectReset1(); - } } void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u16 graphicsId) @@ -5027,7 +5115,7 @@ static bool8 TryStartFollowerTransformEffect(struct ObjectEvent *objectEvent, st sprite->data[7] = TRANSFORM_TYPE_WEATHER << 8; return TRUE; } - else if ((gRngValue >> 16) < 18 && GetLocalWildMon(FALSE) + else if ((Random() & 0xFFFF) < 18 && GetLocalWildMon(FALSE) && (OW_SPECIES(objectEvent) == SPECIES_MEW || OW_SPECIES(objectEvent) == SPECIES_DITTO)) { sprite->data[7] = TRANSFORM_TYPE_RANDOM_WILD << 8; @@ -5118,12 +5206,7 @@ bool8 MovementType_FollowPlayer_Shadow(struct ObjectEvent *objectEvent, struct S bool8 MovementType_FollowPlayer_Active(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (gPlayerAvatar.tileTransitionState == T_NOT_MOVING && !gObjectEvents[gPlayerAvatar.objectEventId].heldMovementActive ) - { - // do nothing if player is stationary - return FALSE; - } - else if (!IsFollowerVisible()) + if (!IsFollowerVisible()) { if (objectEvent->invisible) { @@ -5161,16 +5244,19 @@ bool8 MovementType_FollowPlayer_Moving(struct ObjectEvent *objectEvent, struct S sprite->sTypeFuncId = 1; } } - else if (objectEvent->movementActionId != MOVEMENT_ACTION_EXIT_POKEBALL) + else if (objectEvent->movementActionId < MOVEMENT_ACTION_EXIT_POKEBALL) { UpdateFollowerTransformEffect(objectEvent, sprite); + #if OW_MON_BOBBING == TRUE + if ((sprite->data[5] & 7) == 2) + sprite->y2 ^= -1; + #endif } return FALSE; } bool8 FollowablePlayerMovement_Idle(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - u8 direction; if (!objectEvent->singleMovementActive) { // walk in place @@ -5184,6 +5270,10 @@ bool8 FollowablePlayerMovement_Idle(struct ObjectEvent *objectEvent, struct Spri // finish movement action objectEvent->singleMovementActive = 0; } + #if OW_MON_BOBBING == TRUE + else if ((sprite->data[3] & 7) == 2) + sprite->y2 ^= -1; + #endif UpdateFollowerTransformEffect(objectEvent, sprite); return FALSE; } @@ -5196,7 +5286,7 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri s16 targetX; s16 targetY; #ifdef MB_SIDEWAYS_STAIRS_RIGHT_SIDE - u8 playerAction = gObjectEvents[gPlayerAvatar.objectEventId].movementActionId; + u32 playerAction = gObjectEvents[gPlayerAvatar.objectEventId].movementActionId; #endif targetX = gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x; @@ -5226,6 +5316,9 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_EXIT_POKEBALL); objectEvent->singleMovementActive = 1; sprite->sTypeFuncId = 2; + #if OW_MON_BOBBING == TRUE + sprite->y2 = 0; + #endif return TRUE; } else if (x == targetX && y == targetY) @@ -5258,8 +5351,12 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri { if (playerAction >= MOVEMENT_ACTION_WALK_SLOW_DOWN && playerAction <= MOVEMENT_ACTION_WALK_SLOW_RIGHT) ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowMovementAction(direction)); - else + else { objectEvent->movementActionId = GetWalkNormalMovementAction(direction); + #if OW_MON_BOBBING == TRUE + sprite->y2 = -1; + #endif + } } sprite->sActionFuncId = 0; #else @@ -5270,8 +5367,12 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri // If *player* jumps, make step take twice as long else if (PlayerGetCopyableMovement() == COPY_MOVE_JUMP2) ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowMovementAction(direction)); - else + else { ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkNormalMovementAction(direction)); + #if OW_MON_BOBBING == TRUE + sprite->y2 = -1; + #endif + } #endif objectEvent->singleMovementActive = 1; sprite->sTypeFuncId = 2; @@ -6835,12 +6936,12 @@ bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct ObjectEvent *objectEvent, return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } -// Copy and load objectEvent's palette, but set all opaque colors to white -static u8 LoadWhiteFlashPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite) +// Update sprite with a palette filled with a solid color +static u8 LoadFillColorPalette(u16 color, u16 paletteTag, struct Sprite *sprite) { u16 paletteData[16]; - struct SpritePalette dynamicPalette = {.tag = OBJ_EVENT_PAL_TAG_NONE-1, .data = paletteData}; // TODO: Use a proper palette tag here - CpuFill16(RGB_WHITE, paletteData, 32); + struct SpritePalette dynamicPalette = {.tag = paletteTag, .data = paletteData}; + CpuFill16(color, paletteData, PLTT_SIZE_4BPP); return UpdateSpritePalette(&dynamicPalette, sprite); } @@ -6923,19 +7024,27 @@ bool8 MovementAction_ExitPokeball_Step1(struct ObjectEvent *objectEvent, struct sprite->animCmdIndex = 0; sprite->animPaused = TRUE; return TRUE; - // Set graphics, palette, and affine animation } + // Set graphics, palette, and affine animation else if ((duration == 0 && sprite->data[3] == 3) || (duration == 1 && sprite->data[3] == 7)) { FollowerSetGraphics(objectEvent, OW_SPECIES(objectEvent), OW_FORM(objectEvent), objectEvent->shiny); - LoadWhiteFlashPalette(objectEvent, sprite); + LoadFillColorPalette(RGB_WHITE, OBJ_EVENT_PAL_TAG_WHITE, sprite); // Initialize affine animation sprite->affineAnims = sAffineAnims_PokeballFollower; - sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; - InitSpriteAffineAnim(sprite); - StartSpriteAffineAnim(sprite, sprite->data[6] >> 4); - // Restore original palette & disable affine + #if LARGE_OW_SUPPORT + if (IS_POW_OF_TWO(-sprite->centerToCornerVecX)) + { + #endif + sprite->affineAnims = sAffineAnims_PokeballFollower; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(sprite); + StartSpriteAffineAnim(sprite, sprite->data[6] >> 4); + #if LARGE_OW_SUPPORT + } + #endif } + // Restore original palette & disable affine else if ((duration == 0 && sprite->data[3] == 1) || (duration == 1 && sprite->data[3] == 3)) { sprite->affineAnimEnded = TRUE; @@ -6968,11 +7077,21 @@ bool8 MovementAction_EnterPokeball_Step1(struct ObjectEvent *objectEvent, struct else if (sprite->data[3] == 11) { // Set palette to white & start affine - LoadWhiteFlashPalette(objectEvent, sprite); - sprite->affineAnims = sAffineAnims_PokeballFollower; - sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; - InitSpriteAffineAnim(sprite); - StartSpriteAffineAnim(sprite, sprite->data[6]); + LoadFillColorPalette(RGB_WHITE, OBJ_EVENT_PAL_TAG_WHITE, sprite); + #if LARGE_OW_SUPPORT + // Only do affine if sprite width is power of 2 + // (effect looks weird on sprites composed of subsprites like 48x48, etc) + if (IS_POW_OF_TWO(-sprite->centerToCornerVecX)) + { + #endif + sprite->affineAnims = sAffineAnims_PokeballFollower; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; + InitSpriteAffineAnim(sprite); + StartSpriteAffineAnim(sprite, sprite->data[6]); + #if LARGE_OW_SUPPORT + } + #endif + sprite->subspriteTableNum = 0; } else if (sprite->data[3] == 7) { @@ -9002,7 +9121,20 @@ static void UpdateObjectEventElevationAndPriority(struct ObjectEvent *objEvent, if (objEvent->fixedPriority) return; - ObjectEventUpdateElevation(objEvent); + ObjectEventUpdateElevation(objEvent, sprite); + #if LARGE_OW_SUPPORT + if (objEvent->localId == OBJ_EVENT_ID_FOLLOWER) { + // keep subspriteMode synced with player's + // so that it disappears under bridges when they do + sprite->subspriteMode |= gSprites[gPlayerAvatar.spriteId].subspriteMode & SUBSPRITES_IGNORE_PRIORITY; + if (!objEvent->currentElevation) + objEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + } + #else + // if transitioning between elevations, use the player's elevation + if (!objEvent->currentElevation && objEvent->localId == OBJ_EVENT_ID_FOLLOWER) + objEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + #endif sprite->subspriteTableNum = sElevationToSubspriteTableNum[objEvent->previousElevation]; sprite->oam.priority = sElevationToPriority[objEvent->previousElevation]; @@ -9019,13 +9151,20 @@ u8 ElevationToPriority(u8 elevation) return sElevationToPriority[elevation]; } -void ObjectEventUpdateElevation(struct ObjectEvent *objEvent) +// Returns current elevation, or 15 for bridges +void ObjectEventUpdateElevation(struct ObjectEvent *objEvent, struct Sprite *sprite) { u8 curElevation = MapGridGetElevationAt(objEvent->currentCoords.x, objEvent->currentCoords.y); u8 prevElevation = MapGridGetElevationAt(objEvent->previousCoords.x, objEvent->previousCoords.y); - if (curElevation == 15 || prevElevation == 15) + if (curElevation == 15 || prevElevation == 15) { + #if LARGE_OW_SUPPORT + // Ignore subsprite priorities under bridges + // so all subsprites will display below it + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + #endif return; + } objEvent->currentElevation = curElevation; @@ -9048,6 +9187,10 @@ static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sp if (objEvent->fixedPriority) return; + // If transitioning between elevations, use the player's elevation + if (!objEvent->currentElevation && objEvent->localId == OBJ_EVENT_ID_FOLLOWER) + objEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + SetObjectSubpriorityByElevation(objEvent->previousElevation, sprite, 1); } @@ -9417,6 +9560,9 @@ static void DoGroundEffects_OnSpawn(struct ObjectEvent *objEvent, struct Sprite if (objEvent->triggerGroundEffectsOnMove) { flags = 0; + #if LARGE_OW_SUPPORT + sprite->subspriteMode = SUBSPRITES_ON; + #endif UpdateObjectEventElevationAndPriority(objEvent, sprite); GetAllGroundEffectFlags_OnSpawn(objEvent, &flags); SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); @@ -9433,6 +9579,9 @@ static void DoGroundEffects_OnBeginStep(struct ObjectEvent *objEvent, struct Spr if (objEvent->triggerGroundEffectsOnMove) { flags = 0; + #if LARGE_OW_SUPPORT + sprite->subspriteMode = SUBSPRITES_ON; + #endif UpdateObjectEventElevationAndPriority(objEvent, sprite); GetAllGroundEffectFlags_OnBeginStep(objEvent, &flags); SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 6d53cde37d..60180d80bb 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -13,11 +13,15 @@ #include "trig.h" #include "constants/event_objects.h" #include "constants/field_effects.h" +#include "constants/rgb.h" #include "constants/songs.h" #define OBJ_EVENT_PAL_TAG_NONE 0x11FF // duplicate of define in event_object_movement.c #define PAL_TAG_REFLECTION_OFFSET 0x2000 // reflection tag value is paletteTag + 0x2000 #define PAL_RAW_REFLECTION_OFFSET 0x4000 // raw reflection tag is paletteNum + 0x4000 +#define HIGH_BRIDGE_PAL_TAG 0x4010 +// Build a unique tag for reflection's palette based on based tag, or paletteNum +#define REFLECTION_PAL_TAG(tag, num) ((tag) == TAG_NONE ? (num) + PAL_RAW_REFLECTION_OFFSET : (tag) + PAL_TAG_REFLECTION_OFFSET) static void UpdateObjectReflectionSprite(struct Sprite *); static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite); @@ -70,8 +74,9 @@ void SetUpReflection(struct ObjectEvent *objectEvent, struct Sprite *sprite, boo StartSpriteAnim(reflectionSprite, 0); reflectionSprite->affineAnims = gDummySpriteAffineAnimTable; reflectionSprite->affineAnimBeginning = TRUE; - reflectionSprite->subspriteMode = SUBSPRITES_OFF; - reflectionSprite->sReflectionObjEventId = sprite->data[0]; + reflectionSprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + reflectionSprite->subspriteTableNum = 0; + reflectionSprite->sReflectionObjEventId = sprite->sReflectionObjEventId; reflectionSprite->sReflectionObjEventLocalId = objectEvent->localId; reflectionSprite->sIsStillReflection = stillReflection; LoadObjectReflectionPalette(objectEvent, reflectionSprite); @@ -94,11 +99,10 @@ static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct [BRIDGE_TYPE_POND_HIGH - 1] = 44 }; reflectionSprite->sReflectionVerticalOffset = 0; - if (!GetObjectEventGraphicsInfo(objectEvent->graphicsId)->disableReflectionPaletteLoad - && ((bridgeType = MetatileBehavior_GetBridgeType(objectEvent->previousMetatileBehavior)) - || (bridgeType = MetatileBehavior_GetBridgeType(objectEvent->currentMetatileBehavior)))) + if ((bridgeType = MetatileBehavior_GetBridgeType(objectEvent->previousMetatileBehavior)) + || (bridgeType = MetatileBehavior_GetBridgeType(objectEvent->currentMetatileBehavior))) { - reflectionSprite->data[2] = bridgeReflectionVerticalOffsets[bridgeType - 1]; + reflectionSprite->sReflectionVerticalOffset = bridgeReflectionVerticalOffsets[bridgeType - 1]; LoadObjectHighBridgeReflectionPalette(objectEvent, reflectionSprite); } else @@ -108,82 +112,72 @@ static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct } // Apply a blue tint effect to a palette -static void ApplyPondFilter(u8 paletteNum, u16 *dest) -{ - u8 i, val, r, g, b; +static void ApplyPondFilter(u8 paletteNum, u16 *dest) { + u32 i, r, g, b; // CpuCopy16(gPlttBufferUnfaded + 0x100 + paletteNum * 16, dest, 32); u16 *src = gPlttBufferUnfaded + OBJ_PLTT_ID(paletteNum); - for (i = 0; i < 16; i++) - { - r = src[i] & 0x1F; - g = (src[i] >> 5) & 0x1F; - b = (src[i] >> 10) & 0x1F; + *dest++ = *src++; // copy transparency + for (i = 0; i < 16 - 1; i++) { + r = GET_R(src[i]); + g = GET_G(src[i]); + b = GET_B(src[i]); b += 10; if (b > 31) b = 31; - *dest++ = (b << 10) | (g << 5) | r; + *dest++ = RGB2(r, g, b); } } // Apply a ice tint effect to a palette -static void ApplyIceFilter(u8 paletteNum, u16 *dest) -{ - u8 i, val, r, g, b; +static void ApplyIceFilter(u8 paletteNum, u16 *dest) { + u32 i, r, g, b; // CpuCopy16(gPlttBufferUnfaded + 0x100 + paletteNum * 16, dest, 32); - u16 *src = gPlttBufferUnfaded + 0x100 + paletteNum * 16; - for (i = 0; i < 16; i++) - { - r = src[i] & 0x1F; + u16 *src = gPlttBufferUnfaded + OBJ_PLTT_ID(paletteNum); + *dest++ = *src++; // copy transparency + for (i = 0; i < 16 - 1; i++) { + r = GET_R(src[i]); r -= 5; if (r > 31) r = 0; - g = (src[i] >> 5) & 0x1F; + g = GET_G(src[i]); g += 3; if (g > 31) g = 31; - b = (src[i] >> 10) & 0x1F; + b = GET_B(src[i]); b += 16; if (b > 31) b = 31; - *dest++ = (b << 10) | (g << 5) | r; + *dest++ = RGB2(r, g, b); } } static void LoadObjectRegularReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); const struct Sprite *mainSprite = &gSprites[objectEvent->spriteId]; u16 baseTag = GetSpritePaletteTagByPaletteNum(mainSprite->oam.paletteNum); - u16 paletteTag = baseTag == 0xFFFF ? mainSprite->oam.paletteNum + PAL_RAW_REFLECTION_OFFSET : baseTag + PAL_TAG_REFLECTION_OFFSET; + u16 paletteTag = REFLECTION_PAL_TAG(baseTag, mainSprite->oam.paletteNum); u8 paletteNum = IndexOfSpritePaletteTag(paletteTag); - if (paletteNum == 0xFF) - { - // Load filtered palette - u16 filteredData[16] = {0}; - struct SpritePalette filteredPalette = {.tag = paletteTag, .data = filteredData}; - if (sprite->data[7] == FALSE) + if (paletteNum <= 16) { // Load filtered palette + u16 filteredData[16]; + struct SpritePalette filteredPal = {.tag = paletteTag, .data = filteredData}; + if (sprite->sIsStillReflection == FALSE) ApplyPondFilter(mainSprite->oam.paletteNum, filteredData); else ApplyIceFilter(mainSprite->oam.paletteNum, filteredData); - paletteNum = LoadSpritePalette(&filteredPalette); + paletteNum = LoadSpritePalette(&filteredPal); UpdateSpritePaletteWithWeather(paletteNum); } sprite->oam.paletteNum = paletteNum; - sprite->oam.objMode = 1; // Alpha blending + sprite->oam.objMode = ST_OAM_OBJ_BLEND; } -#define HIGH_BRIDGE_PAL_TAG 0x4010 - // When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color. // This is so the sprite blends in with the dark water metatile underneath the bridge. static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - u16 blueData[16] = {0}; + u16 blueData[16]; struct SpritePalette bluePalette = {.tag = HIGH_BRIDGE_PAL_TAG, .data = blueData}; - u8 i; - for (i = 1; i < 16; i++) - blueData[i] = 0x55c9; - + CpuFill16(0x55C9, blueData, PLTT_SIZE_4BPP); sprite->oam.paletteNum = LoadSpritePalette(&bluePalette); UpdateSpritePaletteWithWeather(sprite->oam.paletteNum); } @@ -192,6 +186,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) { struct ObjectEvent *objectEvent = &gObjectEvents[reflectionSprite->sReflectionObjEventId]; struct Sprite *mainSprite = &gSprites[objectEvent->spriteId]; + if (!objectEvent->active || !objectEvent->hasReflection || objectEvent->localId != reflectionSprite->sReflectionObjEventLocalId) { reflectionSprite->inUse = FALSE; @@ -200,26 +195,24 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) } // Only filter palette if not using the high bridge blue palette - if (IndexOfSpritePaletteTag(HIGH_BRIDGE_PAL_TAG) != reflectionSprite->oam.paletteNum) - { + // This is basically a copy of LoadObjectRegularReflectionPalette + if (IndexOfSpritePaletteTag(HIGH_BRIDGE_PAL_TAG) != reflectionSprite->oam.paletteNum) { u16 baseTag = GetSpritePaletteTagByPaletteNum(mainSprite->oam.paletteNum); - u16 paletteTag = baseTag == 0xFFFF ? mainSprite->oam.paletteNum + PAL_RAW_REFLECTION_OFFSET : baseTag + PAL_TAG_REFLECTION_OFFSET; + u16 paletteTag = REFLECTION_PAL_TAG(baseTag, mainSprite->oam.paletteNum); u8 paletteNum = IndexOfSpritePaletteTag(paletteTag); - if (paletteNum == 0xFF) - { - // Build filtered palette - u16 filteredData[16] = {0}; - struct SpritePalette filteredPalette = {.tag = paletteTag, .data = filteredData}; + if (paletteNum >= 16) { // Build filtered palette + u16 filteredData[16]; + struct SpritePalette filteredPal = {.tag = paletteTag, .data = filteredData}; // Free palette if unused reflectionSprite->inUse = FALSE; FieldEffectFreePaletteIfUnused(reflectionSprite->oam.paletteNum); reflectionSprite->inUse = TRUE; - if (reflectionSprite->data[7] == FALSE) + if (reflectionSprite->sIsStillReflection == FALSE) { ApplyPondFilter(mainSprite->oam.paletteNum, filteredData); - else + } else { ApplyIceFilter(mainSprite->oam.paletteNum, filteredData); - - paletteNum = LoadSpritePalette(&filteredPalette); + } + paletteNum = LoadSpritePalette(&filteredPal); UpdateSpritePaletteWithWeather(paletteNum); } reflectionSprite->oam.paletteNum = paletteNum; @@ -229,11 +222,10 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | ST_OAM_VFLIP; reflectionSprite->oam.tileNum = mainSprite->oam.tileNum; reflectionSprite->subspriteTables = mainSprite->subspriteTables; - reflectionSprite->subspriteTableNum = mainSprite->subspriteTableNum; reflectionSprite->invisible = mainSprite->invisible; reflectionSprite->x = mainSprite->x; - // reflectionSprite->data[2] holds an additional vertical offset, used by the high bridges on Route 120 - reflectionSprite->y = mainSprite->y + GetReflectionVerticalOffset(objectEvent) + reflectionSprite->data[2]; + // sReflectionVerticalOffset is only set for high bridges + reflectionSprite->y = mainSprite->y + GetReflectionVerticalOffset(objectEvent) + reflectionSprite->sReflectionVerticalOffset; reflectionSprite->centerToCornerVecX = mainSprite->centerToCornerVecX; reflectionSprite->centerToCornerVecY = mainSprite->centerToCornerVecY; reflectionSprite->x2 = mainSprite->x2; @@ -243,15 +235,17 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) if (objectEvent->hideReflection == TRUE) reflectionSprite->invisible = TRUE; - // Check if the reflection is not still. - if (reflectionSprite->data[7] == FALSE) + // Support "virtual" sprites which can't be rotated via affines + if (reflectionSprite->subspriteTables[0].subsprites) { + reflectionSprite->oam.affineMode = ST_OAM_AFFINE_OFF; + return; + } + if (reflectionSprite->sIsStillReflection == FALSE) { - // Sets the reflection sprite's rot/scale matrix to the appropriate - // matrix based on whether or not the main sprite is horizontally flipped. - // If the sprite is facing to the east, then it is flipped, and its matrixNum is 8. - reflectionSprite->oam.matrixNum = 0; - if (mainSprite->oam.matrixNum & ST_OAM_HFLIP) - reflectionSprite->oam.matrixNum = 1; + // Sets the reflection sprite's rot/scale matrix to the correct + // water reflection matrix based on the main sprite's facing direction. + // If the sprite is facing east, then it's flipped, and its matrixNum is 1. + reflectionSprite->oam.matrixNum = (mainSprite->oam.matrixNum & ST_OAM_HFLIP) ? 1 : 0; } } @@ -339,9 +333,9 @@ u32 FldEff_Shadow(void) } objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); - if (graphicsInfo->shadowSize == SHADOW_NONE) // don't create a shadow at all - return 0; - spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[sShadowEffectTemplateIds[graphicsInfo->shadowSize]], 0, 0, 148); + if (graphicsInfo->shadowSize == SHADOW_SIZE_NONE) // don't create a shadow at all + return 0; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[sShadowEffectTemplateIds[graphicsInfo->shadowSize]], 0, 0, 0x94); if (spriteId != MAX_SPRITES) { // SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 12)); @@ -350,7 +344,11 @@ u32 FldEff_Shadow(void) gSprites[spriteId].sLocalId = gFieldEffectArguments[0]; gSprites[spriteId].sMapNum = gFieldEffectArguments[1]; gSprites[spriteId].sMapGroup = gFieldEffectArguments[2]; + #if LARGE_OW_SUPPORT + gSprites[spriteId].sYOffset = gShadowVerticalOffsets[graphicsInfo->shadowSize]; + #else gSprites[spriteId].sYOffset = (graphicsInfo->height >> 1) - gShadowVerticalOffsets[graphicsInfo->shadowSize]; + #endif } return 0; } @@ -369,7 +367,12 @@ void UpdateShadowFieldEffect(struct Sprite *sprite) struct Sprite *linkedSprite = &gSprites[objectEvent->spriteId]; sprite->oam.priority = linkedSprite->oam.priority; sprite->x = linkedSprite->x; + #if LARGE_OW_SUPPORT + // Read 'live' size from linked sprite + sprite->y = linkedSprite->y - linkedSprite->centerToCornerVecY - sprite->sYOffset; + #else sprite->y = linkedSprite->y + sprite->sYOffset; + #endif sprite->invisible = linkedSprite->invisible; if (!objectEvent->active || !objectEvent->hasShadow || MetatileBehavior_IsPokeGrass(objectEvent->currentMetatileBehavior) diff --git a/src/field_specials.c b/src/field_specials.c index 3ea58a85f3..290e9e025e 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3202,7 +3202,6 @@ void ScrollableMultichoice_ClosePersistentMenu(void) #undef tTaskId #define DEOXYS_ROCK_LEVELS 11 -#define ROCK_PAL_ID 10 void DoDeoxysRockInteraction(void) { @@ -3279,11 +3278,13 @@ static void Task_DeoxysRockInteraction(u8 taskId) } } +// duplicate of event_object_movement +#define OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE 0x111F + static void ChangeDeoxysRockLevel(u8 rockLevel) { - u8 objectEventId; - LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(ROCK_PAL_ID), PLTT_SIZEOF(4)); - TryGetObjectEventIdByLocalIdAndMap(LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); + u8 paletteNum = IndexOfSpritePaletteTag(OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE); + LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(paletteNum), PLTT_SIZEOF(4)); if (rockLevel == 0) PlaySE(SE_M_CONFUSE_RAY); // Failure sound @@ -3329,10 +3330,13 @@ void IncrementBirthIslandRockStepCount(void) } } +// called before fade-in void SetDeoxysRockPalette(void) { - LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(ROCK_PAL_ID), PLTT_SIZEOF(4)); - BlendPalettes(1 << (ROCK_PAL_ID + 16), 16, 0); + u32 paletteNum = IndexOfSpritePaletteTag(OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE); + LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(paletteNum), PLTT_SIZEOF(4)); + // Set faded to all black, weather blending handled during fade-in + CpuFill16(0, &gPlttBufferFaded[OBJ_PLTT_ID(paletteNum)], 32); } void SetPCBoxToSendMon(u8 boxId) diff --git a/src/follower_helper.c b/src/follower_helper.c index 328bd8aab0..2dbf51dadf 100644 --- a/src/follower_helper.c +++ b/src/follower_helper.c @@ -290,7 +290,7 @@ const struct FollowerMsgInfoExtended gFollowerConditionalMessages[COND_MSG_COUNT [COND_MSG_BURN] = { .text = sCondMsg42, - .st = {.status STATUS1_BURN}, + .st = {.status = STATUS1_BURN}, .stFlags = ST_FLAGS_STATUS, .emotion = FOLLOWER_EMOTION_SAD, }, diff --git a/src/overworld.c b/src/overworld.c index 5604186760..227cff85d8 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2999,7 +2999,7 @@ static void InitLinkPlayerObjectEventPos(struct ObjectEvent *objEvent, s16 x, s1 objEvent->previousCoords.y = y; SetSpritePosToMapCoords(x, y, &objEvent->initialCoords.x, &objEvent->initialCoords.y); objEvent->initialCoords.x += 8; - ObjectEventUpdateElevation(objEvent); + ObjectEventUpdateElevation(objEvent, NULL); } static void UNUSED SetLinkPlayerObjectRange(u8 linkPlayerId, u8 dir) @@ -3139,7 +3139,7 @@ static bool8 FacingHandler_DpadMovement(struct LinkPlayerObjectEvent *linkPlayer { objEvent->directionSequenceIndex = 16; ShiftObjectEventCoords(objEvent, x, y); - ObjectEventUpdateElevation(objEvent); + ObjectEventUpdateElevation(objEvent, NULL); return TRUE; } } diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp index 508c628731..3aabf38a72 100644 --- a/tools/preproc/c_file.cpp +++ b/tools/preproc/c_file.cpp @@ -321,10 +321,10 @@ int ExtractData(const std::unique_ptr& buffer, int offset, int void CFile::TryConvertIncbin() { - std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" }; + std::string idents[8] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32", "DUMMY", "INCBIN_COMP"}; int incbinType = -1; - for (int i = 0; i < 6; i++) + for (int i = 0; i < 8; i++) { if (CheckIdentifier(idents[i])) { @@ -337,6 +337,8 @@ void CFile::TryConvertIncbin() return; int size = 1 << (incbinType / 2); + if (size > 4) + size = 4; bool isSigned = ((incbinType % 2) == 0); long oldPos = m_pos; @@ -389,6 +391,10 @@ void CFile::TryConvertIncbin() std::string path(&m_buffer[startPos], m_pos - startPos); + // INCBIN_COMP; include *compressed* version of file + if (incbinType == 7) + path = path.append(".lz"); + m_pos++; int fileSize; diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp index 595f366cbe..e1d98acbd0 100644 --- a/tools/scaninc/c_file.cpp +++ b/tools/scaninc/c_file.cpp @@ -213,10 +213,10 @@ void CFile::CheckIncbin() return; } - std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" }; + std::string idents[7] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32", "INCBIN_COMP"}; int incbinType = -1; - for (int i = 0; i < 6; i++) + for (int i = 0; i < 7; i++) { if (CheckIdentifier(idents[i])) { @@ -250,6 +250,10 @@ void CFile::CheckIncbin() std::string path = ReadPath(); + // INCBIN_COMP; include *compressed* version of file + if (incbinType == 6) + path = path.append(".lz"); + SkipWhitespace(); m_incbins.emplace(path);