#ifndef GUARD_FIELD_EFFECT_H #define GUARD_FIELD_EFFECT_H #include "sprite.h" enum FieldEffectScriptIdx { FLDEFF_EXCLAMATION_MARK_ICON_1, FLDEFF_USE_CUT_ON_GRASS, FLDEFF_USE_CUT_ON_TREE, FLDEFF_SHADOW, FLDEFF_TALL_GRASS, FLDEFF_RIPPLE, FLDEFF_FIELD_MOVE_SHOW_MON, FLDEFF_ASH, FLDEFF_SURF_BLOB, FLDEFF_USE_SURF, FLDEFF_DUST, FLDEFF_USE_SECRET_POWER_CAVE, FLDEFF_JUMP_TALL_GRASS, FLDEFF_SAND_FOOTPRINTS, FLDEFF_JUMP_BIG_SPLASH, FLDEFF_SPLASH, FLDEFF_JUMP_SMALL_SPLASH, FLDEFF_LONG_GRASS, FLDEFF_JUMP_LONG_GRASS, FLDEFF_UNKNOWN_19, FLDEFF_UNKNOWN_20, FLDEFF_UNKNOWN_21, FLDEFF_UNKNOWN_22, FLDEFF_BERRY_TREE_GROWTH_SPARKLE, FLDEFF_DEEP_SAND_FOOTPRINTS, FLDEFF_POKECENTER_HEAL, FLDEFF_USE_SECRET_POWER_TREE, FLDEFF_USE_SECRET_POWER_SHRUB, FLDEFF_TREE_DISGUISE, FLDEFF_MOUNTAIN_DISGUISE, FLDEFF_NPCFLY_OUT, FLDEFF_USE_FLY, FLDEFF_FLY_IN, FLDEFF_EXCLAMATION_MARK_ICON_2, FLDEFF_FEET_IN_FLOWING_WATER, FLDEFF_BIKE_TIRE_TRACKS, FLDEFF_SAND_DISGUISE, FLDEFF_USE_ROCK_SMASH, FLDEFF_USE_DIG, FLDEFF_SAND_PILE, FLDEFF_USE_STRENGTH, FLDEFF_SHORT_GRASS, FLDEFF_HOT_SPRINGS_WATER, FLDEFF_USE_WATERFALL, FLDEFF_USE_DIVE, FLDEFF_POKEBALL, FLDEFF_HEART_ICON, FLDEFF_NOP_47, FLDEFF_NOP_48, FLDEFF_POP_OUT_OF_ASH, FLDEFF_LAVARIDGE_GYM_WARP, FLDEFF_SWEET_SCENT, FLDEFF_SAND_PILLAR, FLDEFF_BUBBLES, FLDEFF_SPARKLE, FLDEFF_SECRET_POWER_CAVE, FLDEFF_SECRET_POWER_TREE, FLDEFF_SECRET_POWER_SHRUB, FLDEFF_CUT_GRASS, FLDEFF_FIELD_MOVE_SHOW_MON_INIT, FLDEFF_USE_FLY_ANCIENT_TOMB, FLDEFF_PCTURN_ON, FLDEFF_HALL_OF_FAME_RECORD, FLDEFF_USE_TELEPORT }; extern const struct SpritePalette gTrainerFrontPicPaletteTable[2]; extern const struct SpritePalette gUnknown_0839F114; extern const struct SpriteSheet gTrainerFrontPicTable[2]; extern const struct SpriteTemplate gSpriteTemplate_839F128; extern const struct OamData gOamData_839F0F4; extern struct SpriteTemplate gUnknown_02024E8C; extern const struct SpritePalette *sub_80409C8(u16, u32, u32); extern u8 gLastFieldPokeMenuOpened; u32 FieldEffectStart(u8 id); bool8 FieldEffectCmd_loadtiles(u8 **script, u32 *val); bool8 FieldEffectCmd_loadfadedpal(u8 **script, u32 *val); bool8 FieldEffectCmd_loadpal(u8 **script, u32 *val); bool8 FieldEffectCmd_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_end(u8 **script, u32 *val); bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val); u32 FieldEffectScript_ReadWord(u8 **script); void FieldEffectScript_LoadTiles(u8 **script); void FieldEffectScript_LoadFadedPalette(u8 **script); void FieldEffectScript_LoadPalette(u8 **script); void FieldEffectScript_CallNative(u8 **script, u32 *val); void FieldEffectFreeGraphicsResources(struct Sprite *sprite); void FieldEffectStop(struct Sprite *sprite, u8 id); void FieldEffectFreeTilesIfUnused(u16 tileStart); void FieldEffectFreePaletteIfUnused(u8 paletteNum); void FieldEffectActiveListClear(void); void FieldEffectActiveListAdd(u8 id); void FieldEffectActiveListRemove(u8 id); bool8 FieldEffectActiveListContains(u8 id); void sub_807DE38(u8 index); void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *); void SpriteCB_HallOfFameMonitor(struct Sprite *); void PokecenterHealEffect_0(struct Task *); void PokecenterHealEffect_1(struct Task *); void PokecenterHealEffect_2(struct Task *); void PokecenterHealEffect_3(struct Task *); void HallOfFameRecordEffect_0(struct Task *); void HallOfFameRecordEffect_1(struct Task *); void HallOfFameRecordEffect_2(struct Task *); void HallOfFameRecordEffect_3(struct Task *); void PokeballGlowEffect_0(struct Sprite *); void PokeballGlowEffect_1(struct Sprite *); void PokeballGlowEffect_2(struct Sprite *); void PokeballGlowEffect_3(struct Sprite *); void PokeballGlowEffect_4(struct Sprite *); void PokeballGlowEffect_5(struct Sprite *); void PokeballGlowEffect_6(struct Sprite *); void PokeballGlowEffect_7(struct Sprite *); #endif // GUARD_FIELD_EFFECT_H