2020-07-02 04:59:52 -04:00
|
|
|
const struct SpritePalette gSpritePalette_GeneralFieldEffect0 = {gFieldEffectObjectPalette0, FLDEFF_PAL_TAG_GENERAL_0};
|
|
|
|
const struct SpritePalette gSpritePalette_GeneralFieldEffect1 = {gFieldEffectObjectPalette1, FLDEFF_PAL_TAG_GENERAL_1};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Shadow[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Shadow[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_Shadow,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_ShadowSmall[] = {
|
2018-09-07 14:14:52 +01:00
|
|
|
obj_frame_tiles(gFieldEffectObjectPic_ShadowSmall),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_ShadowMedium[] = {
|
2018-09-07 14:14:52 +01:00
|
|
|
obj_frame_tiles(gFieldEffectObjectPic_ShadowMedium),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_ShadowLarge[] = {
|
2018-09-07 14:14:52 +01:00
|
|
|
obj_frame_tiles(gFieldEffectObjectPic_ShadowLarge),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_ShadowExtraLarge[] = {
|
2018-09-07 14:14:52 +01:00
|
|
|
obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_8x8,
|
|
|
|
.anims = sAnimTable_Shadow,
|
|
|
|
.images = sPicTable_ShadowSmall,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateShadowFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_16x8,
|
|
|
|
.anims = sAnimTable_Shadow,
|
|
|
|
.images = sPicTable_ShadowMedium,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateShadowFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_32x8,
|
|
|
|
.anims = sAnimTable_Shadow,
|
|
|
|
.images = sPicTable_ShadowLarge,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateShadowFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_64x32,
|
|
|
|
.anims = sAnimTable_Shadow,
|
|
|
|
.images = sPicTable_ShadowExtraLarge,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateShadowFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_TallGrass[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 4),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_TallGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 10),
|
|
|
|
ANIMCMD_FRAME(2, 10),
|
|
|
|
ANIMCMD_FRAME(3, 10),
|
|
|
|
ANIMCMD_FRAME(4, 10),
|
|
|
|
ANIMCMD_FRAME(0, 10),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_TallGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_TallGrass,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_TallGrass,
|
|
|
|
.images = sPicTable_TallGrass,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateTallGrassFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_Ripple[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 4),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Ripple[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 12),
|
|
|
|
ANIMCMD_FRAME(1, 9),
|
|
|
|
ANIMCMD_FRAME(2, 9),
|
|
|
|
ANIMCMD_FRAME(3, 9),
|
|
|
|
ANIMCMD_FRAME(0, 9),
|
|
|
|
ANIMCMD_FRAME(1, 9),
|
|
|
|
ANIMCMD_FRAME(2, 11),
|
|
|
|
ANIMCMD_FRAME(4, 11),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Ripple[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_Ripple,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_Ripple,
|
|
|
|
.images = sPicTable_Ripple,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = WaitFieldEffectSpriteAnim,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_Ash[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 4),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Ash[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 12),
|
|
|
|
ANIMCMD_FRAME(1, 12),
|
|
|
|
ANIMCMD_FRAME(2, 8),
|
|
|
|
ANIMCMD_FRAME(3, 12),
|
|
|
|
ANIMCMD_FRAME(4, 12),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Ash[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_Ash,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_Ash,
|
|
|
|
.images = sPicTable_Ash,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateAshFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_SurfBlob[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 2),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSurfBlobAnim_FaceSouth[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSurfBlobAnim_FaceNorth[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 1),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSurfBlobAnim_FaceWest[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(2, 1),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSurfBlobAnim_FaceEast[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(2, 1, .hFlip = TRUE),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_SurfBlob[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sSurfBlobAnim_FaceSouth,
|
|
|
|
sSurfBlobAnim_FaceNorth,
|
|
|
|
sSurfBlobAnim_FaceWest,
|
|
|
|
sSurfBlobAnim_FaceEast,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_32x32,
|
|
|
|
.anims = sAnimTable_SurfBlob,
|
|
|
|
.images = sPicTable_SurfBlob,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateSurfBlobFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_Arrow[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 5),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 6),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 7),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sArrowAnim_South[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(3, 32),
|
|
|
|
ANIMCMD_FRAME(7, 32),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sArrowAnim_North[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 32),
|
|
|
|
ANIMCMD_FRAME(4, 32),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sArrowAnim_West[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 32),
|
|
|
|
ANIMCMD_FRAME(5, 32),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sArrowAnim_East[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(2, 32),
|
|
|
|
ANIMCMD_FRAME(6, 32),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Arrow[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sArrowAnim_South,
|
|
|
|
sArrowAnim_North,
|
|
|
|
sArrowAnim_West,
|
|
|
|
sArrowAnim_East,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_Arrow,
|
|
|
|
.images = sPicTable_Arrow,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = SpriteCallbackDummy,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_GroundImpactDust[] = {
|
2018-09-11 17:18:10 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_GroundImpactDust, 2, 1, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_GroundImpactDust, 2, 1, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_GroundImpactDust, 2, 1, 2),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_GroundImpactDust[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 8),
|
|
|
|
ANIMCMD_FRAME(1, 8),
|
|
|
|
ANIMCMD_FRAME(2, 8),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_GroundImpactDust[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_GroundImpactDust,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x8,
|
|
|
|
.anims = sAnimTable_GroundImpactDust,
|
|
|
|
.images = sPicTable_GroundImpactDust,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateJumpImpactEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_JumpTallGrass[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpTallGrass, 2, 1, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpTallGrass, 2, 1, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpTallGrass, 2, 1, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpTallGrass, 2, 1, 3),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_JumpTallGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 8),
|
|
|
|
ANIMCMD_FRAME(1, 8),
|
|
|
|
ANIMCMD_FRAME(2, 8),
|
|
|
|
ANIMCMD_FRAME(3, 8),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_JumpTallGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_JumpTallGrass,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpTallGrass = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x8,
|
|
|
|
.anims = sAnimTable_JumpTallGrass,
|
|
|
|
.images = sPicTable_JumpTallGrass,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateJumpImpactEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_SandFootprints[] = {
|
2018-09-11 17:18:10 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_SandFootprints, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandFootprints, 2, 2, 1),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSandFootprintsAnim_South[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSandFootprintsAnim_North[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSandFootprintsAnim_West[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sSandFootprintsAnim_East[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_SandFootprints[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sSandFootprintsAnim_South,
|
|
|
|
sSandFootprintsAnim_South,
|
|
|
|
sSandFootprintsAnim_North,
|
|
|
|
sSandFootprintsAnim_West,
|
|
|
|
sSandFootprintsAnim_East,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_SandFootprints,
|
|
|
|
.images = sPicTable_SandFootprints,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateFootprintsTireTracksFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_DeepSandFootprints[] = {
|
2018-09-11 17:18:10 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 1),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sDeepSandFootprintsAnim_South[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sDeepSandFootprintsAnim_North[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sDeepSandFootprintsAnim_West[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sDeepSandFootprintsAnim_East[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_DeepSandFootprints[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sDeepSandFootprintsAnim_South,
|
|
|
|
sDeepSandFootprintsAnim_South,
|
|
|
|
sDeepSandFootprintsAnim_North,
|
|
|
|
sDeepSandFootprintsAnim_West,
|
|
|
|
sDeepSandFootprintsAnim_East,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_DeepSandFootprints,
|
|
|
|
.images = sPicTable_DeepSandFootprints,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateFootprintsTireTracksFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_BikeTireTracks[] = {
|
2018-09-11 17:18:10 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 3),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_South[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(2, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_North[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(2, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_West[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_East[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_SECornerTurn[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_SWCornerTurn[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_NWCornerTurn[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(3, 1, .hFlip = TRUE),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sBikeTireTracksAnim_NECornerTurn[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(3, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_BikeTireTracks[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sBikeTireTracksAnim_South,
|
|
|
|
sBikeTireTracksAnim_South,
|
|
|
|
sBikeTireTracksAnim_North,
|
|
|
|
sBikeTireTracksAnim_West,
|
|
|
|
sBikeTireTracksAnim_East,
|
|
|
|
sBikeTireTracksAnim_SECornerTurn,
|
|
|
|
sBikeTireTracksAnim_SWCornerTurn,
|
|
|
|
sBikeTireTracksAnim_NWCornerTurn,
|
|
|
|
sBikeTireTracksAnim_NECornerTurn,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_BikeTireTracks,
|
|
|
|
.images = sPicTable_BikeTireTracks,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateFootprintsTireTracksFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_JumpBigSplash[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 3),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_JumpBigSplash[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 8),
|
|
|
|
ANIMCMD_FRAME(1, 8),
|
|
|
|
ANIMCMD_FRAME(2, 8),
|
|
|
|
ANIMCMD_FRAME(3, 8),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_JumpBigSplash[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_JumpBigSplash,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpBigSplash = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_JumpBigSplash,
|
|
|
|
.images = sPicTable_JumpBigSplash,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateJumpImpactEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_Splash[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_Splash, 2, 1, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Splash, 2, 1, 1),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Splash_0[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Splash_1[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(0, 6),
|
|
|
|
ANIMCMD_FRAME(1, 6),
|
|
|
|
ANIMCMD_FRAME(0, 8),
|
|
|
|
ANIMCMD_FRAME(1, 8),
|
|
|
|
ANIMCMD_FRAME(0, 6),
|
|
|
|
ANIMCMD_FRAME(1, 6),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Splash[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_Splash_0,
|
|
|
|
sAnim_Splash_1,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x8,
|
|
|
|
.anims = sAnimTable_Splash,
|
|
|
|
.images = sPicTable_Splash,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateSplashFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_JumpSmallSplash[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpSmallSplash, 2, 1, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpSmallSplash, 2, 1, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpSmallSplash, 2, 1, 2),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_JumpSmallSplash[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_JumpSmallSplash[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_JumpSmallSplash,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpSmallSplash = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x8,
|
|
|
|
.anims = sAnimTable_JumpSmallSplash,
|
|
|
|
.images = sPicTable_JumpSmallSplash,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateJumpImpactEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_LongGrass[] = {
|
2018-09-11 17:18:10 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 3),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_LongGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(1, 3),
|
|
|
|
ANIMCMD_FRAME(2, 3),
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_LongGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_LongGrass,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_LongGrass,
|
|
|
|
.images = sPicTable_LongGrass,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateLongGrassFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_JumpLongGrass[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpLongGrass, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpLongGrass, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpLongGrass, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpLongGrass, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpLongGrass, 2, 2, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpLongGrass, 2, 2, 6),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_JumpLongGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 8),
|
|
|
|
ANIMCMD_FRAME(3, 8),
|
|
|
|
ANIMCMD_FRAME(4, 8),
|
|
|
|
ANIMCMD_FRAME(5, 8),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_JumpLongGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_JumpLongGrass,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpLongGrass = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_JumpLongGrass,
|
|
|
|
.images = sPicTable_JumpLongGrass,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateJumpImpactEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_UnusedGrass[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_JumpLongGrass, 2, 2, 6),
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 5),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 6),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 7),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
static const union AnimCmd sAnim_UnusedGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 10),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(4, 4),
|
|
|
|
ANIMCMD_FRAME(5, 4),
|
|
|
|
ANIMCMD_FRAME(6, 4),
|
|
|
|
ANIMCMD_FRAME(7, 4),
|
|
|
|
ANIMCMD_FRAME(8, 4),
|
|
|
|
ANIMCMD_JUMP(7),
|
|
|
|
};
|
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_UnusedGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-07-02 04:59:52 -04:00
|
|
|
sAnim_UnusedGrass,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass = {
|
2020-06-24 16:27:00 -04:00
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
2020-07-02 04:59:52 -04:00
|
|
|
.anims = sAnimTable_UnusedGrass,
|
|
|
|
.images = sPicTable_UnusedGrass,
|
2020-06-24 16:27:00 -04:00
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = WaitFieldEffectSpriteAnim,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_UnusedGrass2[] = {
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedGrass2, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedGrass2, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedGrass2, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedGrass2, 2, 2, 3),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_UnusedGrass2[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_UnusedGrass2[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_UnusedGrass2,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass2 = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_UnusedGrass2,
|
|
|
|
.images = sPicTable_UnusedGrass2,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = WaitFieldEffectSpriteAnim,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_UnusedSand[] = {
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedSand, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedSand, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedSand, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_UnusedSand, 2, 2, 3),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
static const union AnimCmd sAnim_UnusedSand[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_UnusedSand[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-07-02 04:59:52 -04:00
|
|
|
sAnim_UnusedSand,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedSand = {
|
2020-06-24 16:27:00 -04:00
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
2020-07-02 04:59:52 -04:00
|
|
|
.anims = sAnimTable_UnusedSand,
|
|
|
|
.images = sPicTable_UnusedSand,
|
2020-06-24 16:27:00 -04:00
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = WaitFieldEffectSpriteAnim,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_SandPile[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_SandPile, 2, 1, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandPile, 2, 1, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandPile, 2, 1, 2),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_SandPile[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_SandPile[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_SandPile,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_SandPile = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x8,
|
|
|
|
.anims = sAnimTable_SandPile,
|
|
|
|
.images = sPicTable_SandPile,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateSandPileFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_WaterSurfacing[] = {
|
|
|
|
overworld_frame(gFieldEffectObjectPic_WaterSurfacing, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_WaterSurfacing, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_WaterSurfacing, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_WaterSurfacing, 2, 2, 3),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_WaterSurfacing[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_JUMP(0),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_WaterSurfacing[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_WaterSurfacing,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_WaterSurfacing = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_WaterSurfacing,
|
|
|
|
.images = sPicTable_WaterSurfacing,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = WaitFieldEffectSpriteAnim,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AffineAnimCmd sAffineAnim_ReflectionDistortion_0[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
AFFINEANIMCMD_FRAME(0xFF00, 0x100, -128, 0),
|
|
|
|
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_JUMP(1),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AffineAnimCmd sAffineAnim_ReflectionDistortion_1[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0),
|
|
|
|
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4),
|
|
|
|
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
|
|
|
AFFINEANIMCMD_JUMP(1),
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AffineAnimCmd *const sAffineAnims_ReflectionDistortion[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAffineAnim_ReflectionDistortion_0,
|
|
|
|
sAffineAnim_ReflectionDistortion_1,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_ReflectionDistortion = {
|
|
|
|
.tileTag = 0x0,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gDummyOamData,
|
|
|
|
.anims = gDummySpriteAnimTable,
|
|
|
|
.images = NULL,
|
|
|
|
.affineAnims = sAffineAnims_ReflectionDistortion,
|
|
|
|
.callback = SpriteCallbackDummy,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_Sparkle[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_Sparkle, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Sparkle, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Sparkle, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Sparkle, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Sparkle, 2, 2, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Sparkle, 2, 2, 5),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Sparkle[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 8),
|
|
|
|
ANIMCMD_FRAME(1, 8),
|
|
|
|
ANIMCMD_FRAME(2, 8),
|
|
|
|
ANIMCMD_FRAME(3, 8),
|
|
|
|
ANIMCMD_FRAME(4, 8),
|
|
|
|
ANIMCMD_FRAME(5, 8),
|
|
|
|
ANIMCMD_LOOP(0),
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(4, 4),
|
|
|
|
ANIMCMD_FRAME(5, 4),
|
|
|
|
ANIMCMD_LOOP(3),
|
|
|
|
ANIMCMD_FRAME(0, 8),
|
|
|
|
ANIMCMD_FRAME(1, 8),
|
|
|
|
ANIMCMD_FRAME(2, 8),
|
|
|
|
ANIMCMD_FRAME(3, 8),
|
|
|
|
ANIMCMD_FRAME(4, 8),
|
|
|
|
ANIMCMD_FRAME(5, 8),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Sparkle[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_Sparkle,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Sparkle = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_Sparkle,
|
|
|
|
.images = sPicTable_Sparkle,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = WaitFieldEffectSpriteAnim,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_TreeDisguise[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 5),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 6),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_TreeDisguise[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 16),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_TreeDisguiseReveal[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(4, 4),
|
|
|
|
ANIMCMD_FRAME(5, 4),
|
|
|
|
ANIMCMD_FRAME(6, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_TreeDisguise[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_TreeDisguise,
|
|
|
|
sAnim_TreeDisguiseReveal,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_16x32,
|
|
|
|
.anims = sAnimTable_TreeDisguise,
|
|
|
|
.images = sPicTable_TreeDisguise,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateDisguiseFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_MountainDisguise[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 5),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 6),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_MountainDisguise[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 16),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_MountainDisguiseReveal[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 4),
|
|
|
|
ANIMCMD_FRAME(4, 4),
|
|
|
|
ANIMCMD_FRAME(5, 4),
|
|
|
|
ANIMCMD_FRAME(6, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_MountainDisguise[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_MountainDisguise,
|
|
|
|
sAnim_MountainDisguiseReveal,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_16x32,
|
|
|
|
.anims = sAnimTable_MountainDisguise,
|
|
|
|
.images = sPicTable_MountainDisguise,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateDisguiseFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_SandDisguisePlaceholder[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 5),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 6),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_16x32,
|
|
|
|
.anims = sAnimTable_TreeDisguise,
|
|
|
|
.images = sPicTable_SandDisguisePlaceholder,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateDisguiseFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_Bird[] = {
|
2018-09-07 14:14:52 +01:00
|
|
|
obj_frame_tiles(gFieldEffectObjectPic_Bird),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Bird[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Bird[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_Bird,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_32x32,
|
|
|
|
.anims = sAnimTable_Bird,
|
|
|
|
.images = sPicTable_Bird,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = SpriteCallbackDummy,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_ShortGrass[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_ShortGrass, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_ShortGrass, 2, 2, 1),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_ShortGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_ShortGrass[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_ShortGrass,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_ShortGrass,
|
|
|
|
.images = sPicTable_ShortGrass,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateShortGrassFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_HotSpringsWater[] = {
|
2018-09-07 14:14:52 +01:00
|
|
|
obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_HotSpringsWater[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_HotSpringsWater[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_HotSpringsWater,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_1,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_HotSpringsWater,
|
|
|
|
.images = sPicTable_HotSpringsWater,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateHotSpringsWaterFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_AshPuff[] = {
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshPuff, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshPuff, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshPuff, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshPuff, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshPuff, 2, 2, 4),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_AshPuff[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 6),
|
|
|
|
ANIMCMD_FRAME(1, 6),
|
|
|
|
ANIMCMD_FRAME(2, 6),
|
|
|
|
ANIMCMD_FRAME(3, 6),
|
|
|
|
ANIMCMD_FRAME(4, 6),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_AshPuff[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_AshPuff,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff =
|
2019-12-17 03:24:44 -05:00
|
|
|
{
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
2019-12-21 05:19:27 -05:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
2020-06-24 16:27:00 -04:00
|
|
|
.anims = sAnimTable_AshPuff,
|
|
|
|
.images = sPicTable_AshPuff,
|
2019-12-17 03:24:44 -05:00
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
2020-06-24 16:27:00 -04:00
|
|
|
.callback = SpriteCB_AshPuff
|
2019-12-17 03:24:44 -05:00
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
const struct SpritePalette gSpritePalette_Ash = {gFieldEffectPal_Ash, FLDEFF_PAL_TAG_ASH};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_AshLaunch[] = {
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshLaunch, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshLaunch, 2, 2, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshLaunch, 2, 2, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshLaunch, 2, 2, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_AshLaunch, 2, 2, 4),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_AshLaunch[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 6),
|
|
|
|
ANIMCMD_FRAME(1, 6),
|
|
|
|
ANIMCMD_FRAME(2, 6),
|
|
|
|
ANIMCMD_FRAME(3, 6),
|
|
|
|
ANIMCMD_FRAME(4, 6),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_AshLaunch[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_AshLaunch,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch =
|
2019-12-17 03:24:44 -05:00
|
|
|
{
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
2019-12-21 05:19:27 -05:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
2020-06-24 16:27:00 -04:00
|
|
|
.anims = sAnimTable_AshLaunch,
|
|
|
|
.images = sPicTable_AshLaunch,
|
2019-12-17 03:24:44 -05:00
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
2020-06-24 16:27:00 -04:00
|
|
|
.callback = SpriteCB_AshLaunch
|
2019-12-17 03:24:44 -05:00
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_Bubbles[] = {
|
2018-09-08 03:07:44 -05:00
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 1),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 2),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 3),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 4),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 5),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 6),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 7),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Bubbles[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 4),
|
|
|
|
ANIMCMD_FRAME(1, 4),
|
|
|
|
ANIMCMD_FRAME(2, 4),
|
|
|
|
ANIMCMD_FRAME(3, 6),
|
|
|
|
ANIMCMD_FRAME(4, 6),
|
|
|
|
ANIMCMD_FRAME(5, 4),
|
|
|
|
ANIMCMD_FRAME(6, 4),
|
|
|
|
ANIMCMD_FRAME(7, 4),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Bubbles[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_Bubbles,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_GENERAL_0,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x32,
|
|
|
|
.anims = sAnimTable_Bubbles,
|
|
|
|
.images = sPicTable_Bubbles,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateBubblesFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const struct SpriteFrameImage sPicTable_SmallSparkle[] = {
|
2020-06-19 19:58:56 -04:00
|
|
|
overworld_frame(gFieldEffectObjectPic_SmallSparkle, 2, 2, 0),
|
|
|
|
overworld_frame(gFieldEffectObjectPic_SmallSparkle, 2, 2, 1),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_SmallSparkle[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
|
|
|
ANIMCMD_FRAME(0, 3),
|
|
|
|
ANIMCMD_FRAME(1, 5),
|
|
|
|
ANIMCMD_FRAME(0, 5),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_SmallSparkle[] =
|
2018-06-11 17:33:50 -05:00
|
|
|
{
|
2020-06-24 16:27:00 -04:00
|
|
|
sAnim_SmallSparkle,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle = {
|
|
|
|
.tileTag = 0xFFFF,
|
2020-07-02 04:59:52 -04:00
|
|
|
.paletteTag = FLDEFF_PAL_TAG_SMALL_SPARKLE,
|
2020-06-24 16:27:00 -04:00
|
|
|
.oam = &gObjectEventBaseOam_16x16,
|
|
|
|
.anims = sAnimTable_SmallSparkle,
|
|
|
|
.images = sPicTable_SmallSparkle,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateSparkleFieldEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
const struct SpritePalette gSpritePalette_SmallSparkle = {gFieldEffectPal_SmallSparkle, FLDEFF_PAL_TAG_SMALL_SPARKLE};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd sAnim_Rayquaza[] = {
|
2018-06-11 17:33:50 -05:00
|
|
|
ANIMCMD_FRAME(0, 1),
|
|
|
|
ANIMCMD_END,
|
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
static const union AnimCmd *const sAnimTable_Rayquaza[] = {
|
|
|
|
sAnim_Rayquaza,
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteFrameImage sPicTable_Rayquaza[] = {
|
2019-11-20 22:55:44 -05:00
|
|
|
overworld_frame(gObjectEventPic_Rayquaza, 4, 4, 0),
|
2018-06-11 17:33:50 -05:00
|
|
|
};
|
|
|
|
|
2020-06-24 16:27:00 -04:00
|
|
|
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {
|
|
|
|
.tileTag = 0xFFFF,
|
|
|
|
.paletteTag = 0xFFFF,
|
|
|
|
.oam = &gObjectEventBaseOam_32x32,
|
|
|
|
.anims = sAnimTable_Rayquaza,
|
|
|
|
.images = sPicTable_Rayquaza,
|
|
|
|
.affineAnims = gDummySpriteAffineAnimTable,
|
|
|
|
.callback = UpdateRayquazaSpotlightEffect,
|
|
|
|
};
|
2018-06-11 17:33:50 -05:00
|
|
|
|
2020-07-02 04:59:52 -04:00
|
|
|
static const struct SpritePalette sSpritePalette_Unused = {gObjectEventPalette2, FLDEFF_PAL_TAG_UNKNOWN};
|