label field_effect_helpers

This commit is contained in:
Slawter666 2018-10-14 23:43:40 +01:00
parent 02049d52ee
commit 137f6549ff
10 changed files with 171 additions and 174 deletions

View File

@ -1793,7 +1793,7 @@ InitPlayerAvatar: @ 808BFE0
movs r1, 0x1 movs r1, 0x1
orrs r0, r1 orrs r0, r1
strb r0, [r4, 0x2] strb r0, [r4, 0x2]
bl sub_8154228 bl CreateWarpArrowSprite
strb r0, [r4, 0x1B] strb r0, [r4, 0x1B]
adds r0, r4, 0 adds r0, r4, 0
mov r1, r9 mov r1, r9
@ -2080,7 +2080,7 @@ _0808C2A2:
movs r1, 0 movs r1, 0
ldrsh r3, [r7, r1] ldrsh r3, [r7, r1]
adds r1, r6, 0 adds r1, r6, 0
bl sub_8154298 bl ShowWarpArrowSprite
b _0808C302 b _0808C302
.pool .pool
_0808C2E8: _0808C2E8:
@ -2095,7 +2095,7 @@ _0808C2E8:
cmp r1, 0x3 cmp r1, 0x3
ble _0808C2A2 ble _0808C2A2
ldrb r0, [r5, 0x1B] ldrb r0, [r5, 0x1B]
bl objid_set_invisible bl SetSpriteInvisible
_0808C302: _0808C302:
add sp, 0x4 add sp, 0x4
pop {r3,r4} pop {r3,r4}

View File

@ -86,15 +86,15 @@ gFieldEffectScript_UseCutOnTree:: @ 82DBAEC
field_eff_end field_eff_end
gFieldEffectScript_Shadow:: @ 82DBAF2 gFieldEffectScript_Shadow:: @ 82DBAF2
field_eff_callnative oei_shadow field_eff_callnative FldEff_Shadow
field_eff_end field_eff_end
gFieldEffectScript_TallGrass:: @ 82DBAF8 gFieldEffectScript_TallGrass:: @ 82DBAF8
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, oei_grass_normal field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_TallGrass
field_eff_end field_eff_end
gFieldEffectScript_Ripple:: @ 82DBB02 gFieldEffectScript_Ripple:: @ 82DBB02
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, oei_ripples field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Ripple
field_eff_end field_eff_end
gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C
@ -102,11 +102,11 @@ gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C
field_eff_end field_eff_end
gFieldEffectScript_Ash:: @ 82DBB12 gFieldEffectScript_Ash:: @ 82DBB12
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, oei_ash field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Ash
field_eff_end field_eff_end
gFieldEffectScript_SurfBlob:: @ 82DBB1C gFieldEffectScript_SurfBlob:: @ 82DBB1C
field_eff_callnative sub_8155534 field_eff_callnative FldEff_SurfBlob
field_eff_end field_eff_end
gFieldEffectScript_UseSurf:: @ 82DBB22 gFieldEffectScript_UseSurf:: @ 82DBB22
@ -114,7 +114,7 @@ gFieldEffectScript_UseSurf:: @ 82DBB22
field_eff_end field_eff_end
gFieldEffectScript_GroundImpactDust:: @ 82DBB28 gFieldEffectScript_GroundImpactDust:: @ 82DBB28
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8155890 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Dust
field_eff_end field_eff_end
gFieldEffectScript_Unknown11:: @ 82DBB32 gFieldEffectScript_Unknown11:: @ 82DBB32
@ -122,55 +122,55 @@ gFieldEffectScript_Unknown11:: @ 82DBB32
field_eff_end field_eff_end
gFieldEffectScript_BikeHopTallGrass:: @ 82DBB38 gFieldEffectScript_BikeHopTallGrass:: @ 82DBB38
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, sub_8154658 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_JumpTallGrass
field_eff_end field_eff_end
gFieldEffectScript_SandFootprints:: @ 82DBB42 gFieldEffectScript_SandFootprints:: @ 82DBB42
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8154B04 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_SandFootprints
field_eff_end field_eff_end
gFieldEffectScript_BikeHopBigSplash:: @ 82DBB4C gFieldEffectScript_BikeHopBigSplash:: @ 82DBB4C
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, oei_water_drop_tall field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_JumpBigSplash
field_eff_end field_eff_end
gFieldEffectScript_Splash:: @ 82DBB56 gFieldEffectScript_Splash:: @ 82DBB56
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8154CEC field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Splash
field_eff_end field_eff_end
gFieldEffectScript_BikeHopSmallSplash:: @ 82DBB60 gFieldEffectScript_BikeHopSmallSplash:: @ 82DBB60
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8154E1C field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_JumpSmallSplash
field_eff_end field_eff_end
gFieldEffectScript_LongGrass:: @ 82DBB6A gFieldEffectScript_LongGrass:: @ 82DBB6A
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, sub_8154758 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_LongGrass
field_eff_end field_eff_end
gFieldEffectScript_Unknown18:: @ 82DBB74 gFieldEffectScript_Unknown18:: @ 82DBB74
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, sub_81548FC field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_JumpLongGrass
field_eff_end field_eff_end
gFieldEffectScript_Unknown19:: @ 82DBB7E gFieldEffectScript_Unknown19:: @ 82DBB7E
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, sub_81551F0 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Unknown19
field_eff_end field_eff_end
gFieldEffectScript_Unknown20:: @ 82DBB88 gFieldEffectScript_Unknown20:: @ 82DBB88
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, sub_815525C field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Unknown20
field_eff_end field_eff_end
gFieldEffectScript_Unknown21:: @ 82DBB92 gFieldEffectScript_Unknown21:: @ 82DBB92
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_81552C8 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Unknown21
field_eff_end field_eff_end
gFieldEffectScript_Unknown22:: @ 82DBB9C gFieldEffectScript_Unknown22:: @ 82DBB9C
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8155334 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Unknown22
field_eff_end field_eff_end
gFieldEffectScript_BerryTreeGrowthSparkle:: @ 82DBBA6 gFieldEffectScript_BerryTreeGrowthSparkle:: @ 82DBBA6
field_eff_callnative sub_8155B2C field_eff_callnative FldEff_BerryTreeGrowthSparkle
field_eff_end field_eff_end
gFieldEffectScript_DeepSandFootprints:: @ 82DBBAC gFieldEffectScript_DeepSandFootprints:: @ 82DBBAC
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8154B78 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_DeepSandFootprints
field_eff_end field_eff_end
gFieldEffectScript_Unknown25:: @ 82DBBB6 gFieldEffectScript_Unknown25:: @ 82DBBB6
@ -211,11 +211,11 @@ gFieldEffectScript_QuestionMarkIcon:: @ 82DBBEF
field_eff_end field_eff_end
gFieldEffectScript_FeetInFlowingWater:: @ 82DBBF5 gFieldEffectScript_FeetInFlowingWater:: @ 82DBBF5
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8154EFC field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_FeetInFlowingWater
field_eff_end field_eff_end
gFieldEffectScript_BikeTireTracks:: @ 82DBBFF gFieldEffectScript_BikeTireTracks:: @ 82DBBFF
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8154BEC field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_BikeTireTracks
field_eff_end field_eff_end
gFieldEffectScript_SandDisguisePlaceholder:: @ 82DBC09 gFieldEffectScript_SandDisguisePlaceholder:: @ 82DBC09
@ -235,15 +235,15 @@ gFieldEffectScript_Unknown38:: @ 82DBC1B
field_eff_end field_eff_end
gFieldEffectScript_Unknown39:: @ 82DBC21 gFieldEffectScript_Unknown39:: @ 82DBC21
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8155900 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_SandPile
field_eff_end field_eff_end
gFieldEffectScript_ShortGrass:: @ 82DBC2B gFieldEffectScript_ShortGrass:: @ 82DBC2B
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, sub_815496C field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_ShortGrass
field_eff_end field_eff_end
gFieldEffectScript_HotSpringsWater:: @ 82DBC35 gFieldEffectScript_HotSpringsWater:: @ 82DBC35
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, sub_81550B4 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_HotSpringsWater
field_eff_end field_eff_end
gFieldEffectScript_Unknown43:: @ 82DBC3F gFieldEffectScript_Unknown43:: @ 82DBC3F
@ -288,11 +288,11 @@ gFieldEffectScript_Unknown52:: @ 82DBC86
field_eff_end field_eff_end
gFieldEffectScript_Bubbles:: @ 82DBC90 gFieldEffectScript_Bubbles:: @ 82DBC90
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_8155A88 field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Bubbles
field_eff_end field_eff_end
gFieldEffectScript_Unknown54:: @ 82DBC9A gFieldEffectScript_Unknown54:: @ 82DBC9A
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo3, sub_8155DDC field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo3, FldEff_Sparkle
field_eff_end field_eff_end
gFieldEffectScript_Unknown55:: @ 82DBCA4 gFieldEffectScript_Unknown55:: @ 82DBCA4

View File

@ -102,17 +102,17 @@ void sub_80930E0(s16 *, s16 *, s16, s16);
void EventObjectClearHeldMovement(struct EventObject *); void EventObjectClearHeldMovement(struct EventObject *);
void EventObjectClearHeldMovementIfActive(struct EventObject *); void EventObjectClearHeldMovementIfActive(struct EventObject *);
void TrySpawnEventObjects(s16, s16); void TrySpawnEventObjects(s16, s16);
u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction);
u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8); u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
u8 show_sprite(u8, u8, u8); u8 show_sprite(u8, u8, u8);
u8 SpawnSpecialEventObjectParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z);
u8 SpawnSpecialEventObject(struct EventObjectTemplate *); u8 SpawnSpecialEventObject(struct EventObjectTemplate *);
void sub_8093038(s16, s16, s16 *, s16 *); void sub_8093038(s16, s16, s16 *, s16 *);
void CameraObjectReset1(void); void CameraObjectReset1(void);
void EventObjectSetGraphicsId(struct EventObject *, u8); void EventObjectSetGraphicsId(struct EventObject *, u8 graphicsId);
void EventObjectTurn(struct EventObject *, u8); void EventObjectTurn(struct EventObject *, u8);
void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8); void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8); const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
void FreeAndReserveObjectSpritePalettes(void); void FreeAndReserveObjectSpritePalettes(void);
void sub_808E82C(u8, u8, u8, s16, s16); void sub_808E82C(u8, u8, u8, s16, s16);

View File

@ -1,7 +1,3 @@
//
// Created by scott on 9/7/2017.
//
#ifndef GUARD_FIELD_EFFECT_HELPERS_H #ifndef GUARD_FIELD_EFFECT_HELPERS_H
#define GUARD_FIELD_EFFECT_HELPERS_H #define GUARD_FIELD_EFFECT_HELPERS_H
@ -10,29 +6,29 @@
// Exported RAM declarations // Exported RAM declarations
// Exported ROM declarations // Exported ROM declarations
u8 sub_8154228(void); u8 CreateWarpArrowSprite(void);
bool8 sub_8155DA0(struct EventObject *); bool8 sub_8155DA0(struct EventObject *);
void sub_8155D78(struct EventObject *); void sub_8155D78(struct EventObject *);
void sub_81555AC(u8, u8); void sub_81555AC(u8, u8);
void ash(s16, s16, u16, s16); void StartAshFieldEffect(s16, s16, u16, s16);
void SetUpReflection(struct EventObject*, struct Sprite*, u8); void SetUpReflection(struct EventObject*, struct Sprite*, u8);
u32 StartFieldEffectForEventObject(u8, struct EventObject*); u32 StartFieldEffectForEventObject(u8, struct EventObject*);
u8 sub_81546C8(u8, u8, u8, s16, s16); u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
void sub_8155F80(struct Sprite*); void sub_8155F80(struct Sprite*);
void oamc_shadow(struct Sprite*); void UpdateShadowFieldEffect(struct Sprite*);
void unc_grass_normal(struct Sprite*); void UpdateTallGrassFieldEffect(struct Sprite*);
void sub_81561D0(struct Sprite*); void sub_81561D0(struct Sprite*);
void sub_8155460(struct Sprite*); void UpdateAshFieldEffect(struct Sprite*);
void sub_8155658(struct Sprite*); void UpdateSurfBlobFieldEffect(struct Sprite*);
void sub_8156194(struct Sprite*); void sub_8156194(struct Sprite*);
void sub_8154C60(struct Sprite*); void UpdateFootprintsTireTracksFieldEffect(struct Sprite*);
void sub_8154D90(struct Sprite*); void UpdateSplashFieldEffect(struct Sprite*);
void unc_grass_tall(struct Sprite*); void UpdateLongGrassFieldEffect(struct Sprite*);
void sub_81559BC(struct Sprite*); void UpdateSandPileFieldEffect(struct Sprite*);
void sub_8155C88(struct Sprite*); void UpdateDisguiseFieldEffect(struct Sprite*);
void sub_8154A10(struct Sprite*); void UpdateShortGrassFieldEffect(struct Sprite*);
void sub_8155158(struct Sprite*); void UpdateHotSpringsWaterFieldEffect(struct Sprite*);
void sub_8155AEC(struct Sprite*); void UpdateBubblesFieldEffect(struct Sprite*);
void sub_8155E50(struct Sprite*); void UpdateSparkleFieldEffect(struct Sprite*);
#endif //GUARD_FIELD_EFFECT_HELPERS_H #endif //GUARD_FIELD_EFFECT_HELPERS_H

View File

@ -12,7 +12,7 @@ void UpdateFrontierManiac(u16 days);
void UpdateFrontierGambler(u16 days); void UpdateFrontierGambler(u16 days);
void SetShoalItemFlag(u16 days); void SetShoalItemFlag(u16 days);
bool8 CheckObjectGraphicsInFrontOfPlayer(u8); bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
u8 oei_task_add(void); u8 oei_task_add(void);
#endif //GUARD_ROM6_H #endif //GUARD_ROM6_H

View File

@ -32,13 +32,13 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowExtraLarge[] = {
obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge), obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge),
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, oamc_shadow}; const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, oamc_shadow}; const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow}; const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_TallGrass[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_TallGrass[] = {
overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 0),
@ -63,7 +63,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TallGrass[] =
gFieldEffectObjectImageAnim_850CA84, gFieldEffectObjectImageAnim_850CA84,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal}; const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Ripple[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_Ripple[] = {
overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 0),
@ -116,7 +116,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ash[] =
gFieldEffectObjectImageAnim_850CB48, gFieldEffectObjectImageAnim_850CB48,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8155460}; const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, UpdateAshFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = {
overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 0), overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 0),
@ -156,7 +156,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] =
gFieldEffectObjectImageAnim_850CBAC, gFieldEffectObjectImageAnim_850CBAC,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8155658}; const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Arrow[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_Arrow[] = {
overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 0),
@ -289,7 +289,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SandFootprints[] =
gFieldEffectObjectImageAnim_850CD30, gFieldEffectObjectImageAnim_850CD30,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_DeepSandFootprints[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_DeepSandFootprints[] = {
overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 0),
@ -329,7 +329,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_DeepSandFootprints[]
gFieldEffectObjectImageAnim_850CD8C, gFieldEffectObjectImageAnim_850CD8C,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeTireTracks[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeTireTracks[] = {
overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0),
@ -399,7 +399,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeTireTracks[] =
gFieldEffectObjectImageAnim_850CE18, gFieldEffectObjectImageAnim_850CE18,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopBigSplash[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopBigSplash[] = {
overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 0),
@ -455,7 +455,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Splash[] =
gFieldEffectObjectImageAnim_850CEC8, gFieldEffectObjectImageAnim_850CEC8,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, sub_8154D90}; const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopSmallSplash[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopSmallSplash[] = {
overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 2, 1, 0), overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 2, 1, 0),
@ -502,7 +502,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_LongGrass[] =
gFieldEffectObjectImageAnim_850CF70, gFieldEffectObjectImageAnim_850CF70,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall}; const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown16[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown16[] = {
overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 0),
@ -631,7 +631,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown29[] =
gFieldEffectObjectImageAnim_850D160, gFieldEffectObjectImageAnim_850D160,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, sub_81559BC}; const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown20[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown20[] = {
overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 0),
@ -769,7 +769,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TreeDisguise[] =
gFieldEffectObjectImageAnim_850D384, gFieldEffectObjectImageAnim_850D384,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_MountainDisguise[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_MountainDisguise[] = {
overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 0), overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 0),
@ -805,7 +805,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_MountainDisguise[] =
gFieldEffectObjectImageAnim_850D404, gFieldEffectObjectImageAnim_850D404,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder[] = {
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 0), overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 0),
@ -817,7 +817,7 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder
overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 6), overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 6),
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Bird[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_Bird[] = {
obj_frame_tiles(gFieldEffectObjectPic_Bird), obj_frame_tiles(gFieldEffectObjectPic_Bird),
@ -853,7 +853,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_ShortGrass[] =
gFieldEffectObjectImageAnim_850D4D0, gFieldEffectObjectImageAnim_850D4D0,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8154A10}; const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_HotSpringsWater[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_HotSpringsWater[] = {
obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater), obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater),
@ -870,7 +870,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_HotSpringsWater[] =
gFieldEffectObjectImageAnim_850D500, gFieldEffectObjectImageAnim_850D500,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8155158}; const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_JumpOutOfAsh[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_JumpOutOfAsh[] = {
overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 0),
@ -953,7 +953,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bubbles[] =
gFieldEffectObjectImageAnim_850D624, gFieldEffectObjectImageAnim_850D624,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8155AEC}; const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown35[] = { const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown35[] = {
overworld_frame(gFieldEffectObjectPic_Unknown35, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_Unknown35, 2, 2, 0),
@ -973,7 +973,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown35[] =
gFieldEffectObjectImageAnim_850D674, gFieldEffectObjectImageAnim_850D674,
}; };
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, sub_8155E50}; const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect};
const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F}; const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F};

View File

@ -1868,7 +1868,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
if (eventObject->movementType == 0x0b) if (eventObject->movementType == 0x0b)
{ {
SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId); SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId);
eventObject->warpArrowSpriteId = sub_8154228(); eventObject->warpArrowSpriteId = CreateWarpArrowSprite();
} }
if (subspriteTables != NULL) if (subspriteTables != NULL)
{ {
@ -8206,7 +8206,7 @@ void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *s
gFieldEffectArguments[3] = 2; gFieldEffectArguments[3] = 2;
FieldEffectStart(FLDEFF_JUMP_TALL_GRASS); FieldEffectStart(FLDEFF_JUMP_TALL_GRASS);
spriteId = sub_81546C8( spriteId = FindTallGrassFieldEffectSpriteId(
eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y); eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y);
if (spriteId == MAX_SPRITES) if (spriteId == MAX_SPRITES)
@ -8843,14 +8843,14 @@ void sub_8097B78(u8 var1, u8 var2)
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(var2)); StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(var2));
} }
void sub_8097BB4(u8 var1, u8 var2) void sub_8097BB4(u8 var1, u8 graphicsId)
{ {
int spriteId = sub_8097B2C(var1); int spriteId = sub_8097B2C(var1);
if(spriteId != MAX_SPRITES) if(spriteId != MAX_SPRITES)
{ {
struct Sprite *sprite = &gSprites[spriteId]; struct Sprite *sprite = &gSprites[spriteId];
const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(var2); const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId);
u16 tileNum = sprite->oam.tileNum; u16 tileNum = sprite->oam.tileNum;
sprite->oam = *gfxInfo->oam; sprite->oam = *gfxInfo->oam;

View File

@ -1,28 +1,30 @@
#include "global.h" #include "global.h"
#include "sprite.h"
#include "fieldmap.h"
#include "metatile_behavior.h"
#include "sound.h"
#include "event_object_movement.h" #include "event_object_movement.h"
#include "field_camera.h" #include "field_camera.h"
#include "field_weather.h"
#include "field_effect.h" #include "field_effect.h"
#include "field_effect_helpers.h" #include "field_effect_helpers.h"
#include "constants/songs.h" #include "field_weather.h"
#include "fieldmap.h"
#include "gpu_regs.h" #include "gpu_regs.h"
#include "metatile_behavior.h"
#include "sound.h"
#include "sprite.h"
#include "trig.h" #include "trig.h"
#include "constants/songs.h"
void objc_reflection_maybe(struct Sprite *); #define EVENT_OBJ_PAL_TAG_NONE 0x11FF // duplicate of define in event_object_movement.c
void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite);
void npc_pal_op_A(struct EventObject *, u8); void UpdateObjectReflectionSprite(struct Sprite *);
void npc_pal_op_B(struct EventObject *, u8); void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite);
void LoadObjectHighBridgeReflectionPalette(struct EventObject *, u8);
void LoadObjectRegularReflectionPalette(struct EventObject *, u8);
void sub_81561FC(struct Sprite *, u8, u8); void sub_81561FC(struct Sprite *, u8, u8);
void sub_8154C7C(struct Sprite *); void FadeFootprintsTireTracks_Step0(struct Sprite *);
void sub_8154CA0(struct Sprite *); void FadeFootprintsTireTracks_Step1(struct Sprite *);
void sub_8154FB4(struct Sprite *); void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *);
void sub_815547C(struct Sprite *); void UpdateAshFieldEffect_Step0(struct Sprite *);
void sub_81554AC(struct Sprite *); void UpdateAshFieldEffect_Step1(struct Sprite *);
void sub_815550C(struct Sprite *); void UpdateAshFieldEffect_Step2(struct Sprite *);
void sub_81556B0(struct EventObject *, struct Sprite *); void sub_81556B0(struct EventObject *, struct Sprite *);
void sub_81556E8(struct EventObject *, struct Sprite *); void sub_81556E8(struct EventObject *, struct Sprite *);
void sub_815577C(struct EventObject *, struct Sprite *, struct Sprite *); void sub_815577C(struct EventObject *, struct Sprite *, struct Sprite *);
@ -34,7 +36,7 @@ void SetUpReflection(struct EventObject *eventObject, struct Sprite *sprite, boo
struct Sprite *reflectionSprite; struct Sprite *reflectionSprite;
reflectionSprite = &gSprites[CreateCopySpriteAt(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)]; reflectionSprite = &gSprites[CreateCopySpriteAt(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)];
reflectionSprite->callback = objc_reflection_maybe; reflectionSprite->callback = UpdateObjectReflectionSprite;
reflectionSprite->oam.priority = 3; reflectionSprite->oam.priority = 3;
reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[reflectionSprite->oam.paletteNum]; reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[reflectionSprite->oam.paletteNum];
reflectionSprite->usingSheet = TRUE; reflectionSprite->usingSheet = TRUE;
@ -46,18 +48,18 @@ void SetUpReflection(struct EventObject *eventObject, struct Sprite *sprite, boo
reflectionSprite->data[0] = sprite->data[0]; reflectionSprite->data[0] = sprite->data[0];
reflectionSprite->data[1] = eventObject->localId; reflectionSprite->data[1] = eventObject->localId;
reflectionSprite->data[7] = stillReflection; reflectionSprite->data[7] = stillReflection;
npc_pal_op(eventObject, reflectionSprite); LoadObjectReflectionPalette(eventObject, reflectionSprite);
if (!stillReflection) if (!stillReflection)
reflectionSprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; reflectionSprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
} }
s16 sub_8153F98(struct EventObject *eventObject) static s16 GetReflectionVerticalOffset(struct EventObject *eventObject)
{ {
return GetEventObjectGraphicsInfo(eventObject->graphicsId)->height - 2; return GetEventObjectGraphicsInfo(eventObject->graphicsId)->height - 2;
} }
void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite) void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite)
{ {
u8 bridgeType; u8 bridgeType;
u16 bridgeReflectionVerticalOffsets[] = { 12, 28, 44 }; u16 bridgeReflectionVerticalOffsets[] = { 12, 28, 44 };
@ -65,20 +67,20 @@ void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite)
if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeSth(eventObject->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeSth(eventObject->currentMetatileBehavior)))) if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeSth(eventObject->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeSth(eventObject->currentMetatileBehavior))))
{ {
sprite->data[2] = bridgeReflectionVerticalOffsets[bridgeType - 1]; sprite->data[2] = bridgeReflectionVerticalOffsets[bridgeType - 1];
npc_pal_op_A(eventObject, sprite->oam.paletteNum); LoadObjectHighBridgeReflectionPalette(eventObject, sprite->oam.paletteNum);
} }
else else
{ {
npc_pal_op_B(eventObject, sprite->oam.paletteNum); LoadObjectRegularReflectionPalette(eventObject, sprite->oam.paletteNum);
} }
} }
void npc_pal_op_B(struct EventObject *eventObject, u8 paletteIndex) void LoadObjectRegularReflectionPalette(struct EventObject *eventObject, u8 paletteIndex)
{ {
const struct EventObjectGraphicsInfo *graphicsInfo; const struct EventObjectGraphicsInfo *graphicsInfo;
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
if (graphicsInfo->paletteTag2 != 0x11ff) if (graphicsInfo->paletteTag2 != EVENT_OBJ_PAL_TAG_NONE)
{ {
if (graphicsInfo->paletteSlot == 0) if (graphicsInfo->paletteSlot == 0)
{ {
@ -98,19 +100,19 @@ void npc_pal_op_B(struct EventObject *eventObject, u8 paletteIndex)
// When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color. // 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. // This is so the sprite blends in with the dark water metatile underneath the bridge.
void npc_pal_op_A(struct EventObject *eventObject, u8 paletteNum) void LoadObjectHighBridgeReflectionPalette(struct EventObject *eventObject, u8 paletteNum)
{ {
const struct EventObjectGraphicsInfo *graphicsInfo; const struct EventObjectGraphicsInfo *graphicsInfo;
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
if (graphicsInfo->paletteTag2 != 0x11ff) if (graphicsInfo->paletteTag2 != EVENT_OBJ_PAL_TAG_NONE)
{ {
PatchObjectPalette(graphicsInfo->paletteTag2, paletteNum); PatchObjectPalette(graphicsInfo->paletteTag2, paletteNum);
UpdateSpritePaletteWithWeather(paletteNum); UpdateSpritePaletteWithWeather(paletteNum);
} }
} }
void objc_reflection_maybe(struct Sprite *reflectionSprite) void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
{ {
struct EventObject *eventObject; struct EventObject *eventObject;
struct Sprite *mainSprite; struct Sprite *mainSprite;
@ -133,7 +135,7 @@ void objc_reflection_maybe(struct Sprite *reflectionSprite)
reflectionSprite->invisible = mainSprite->invisible; reflectionSprite->invisible = mainSprite->invisible;
reflectionSprite->pos1.x = mainSprite->pos1.x; reflectionSprite->pos1.x = mainSprite->pos1.x;
// reflectionSprite->data[2] holds an additional vertical offset, used by the high bridges on Route 120 // reflectionSprite->data[2] holds an additional vertical offset, used by the high bridges on Route 120
reflectionSprite->pos1.y = mainSprite->pos1.y + sub_8153F98(eventObject) + reflectionSprite->data[2]; reflectionSprite->pos1.y = mainSprite->pos1.y + GetReflectionVerticalOffset(eventObject) + reflectionSprite->data[2];
reflectionSprite->centerToCornerVecX = mainSprite->centerToCornerVecX; reflectionSprite->centerToCornerVecX = mainSprite->centerToCornerVecX;
reflectionSprite->centerToCornerVecY = mainSprite->centerToCornerVecY; reflectionSprite->centerToCornerVecY = mainSprite->centerToCornerVecY;
reflectionSprite->pos2.x = mainSprite->pos2.x; reflectionSprite->pos2.x = mainSprite->pos2.x;
@ -158,7 +160,7 @@ void objc_reflection_maybe(struct Sprite *reflectionSprite)
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
u8 sub_8154228(void) u8 CreateWarpArrowSprite(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -174,12 +176,12 @@ u8 sub_8154228(void)
return spriteId; return spriteId;
} }
void objid_set_invisible(u8 spriteId) void SetSpriteInvisible(u8 spriteId)
{ {
gSprites[spriteId].invisible = TRUE; gSprites[spriteId].invisible = TRUE;
} }
void sub_8154298(u8 spriteId, u8 direction, s16 x, s16 y) void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y)
{ {
s16 x2; s16 x2;
s16 y2; s16 y2;
@ -213,7 +215,7 @@ const u16 gShadowVerticalOffsets[] = {
16 16
}; };
u32 oei_shadow(void) u32 FldEff_Shadow(void)
{ {
u8 eventObjectId; u8 eventObjectId;
const struct EventObjectGraphicsInfo *graphicsInfo; const struct EventObjectGraphicsInfo *graphicsInfo;
@ -233,7 +235,7 @@ u32 oei_shadow(void)
return 0; return 0;
} }
void oamc_shadow(struct Sprite *sprite) void UpdateShadowFieldEffect(struct Sprite *sprite)
{ {
u8 eventObjectId; u8 eventObjectId;
struct EventObject *eventObject; struct EventObject *eventObject;
@ -262,7 +264,7 @@ void oamc_shadow(struct Sprite *sprite)
} }
} }
u32 oei_grass_normal(void) u32 FldEff_TallGrass(void)
{ {
s16 x; s16 x;
s16 y; s16 y;
@ -292,7 +294,7 @@ u32 oei_grass_normal(void)
return 0; return 0;
} }
void unc_grass_normal(struct Sprite *sprite) void UpdateTallGrassFieldEffect(struct Sprite *sprite)
{ {
u8 mapNum; u8 mapNum;
u8 mapGroup; u8 mapGroup;
@ -332,7 +334,7 @@ void unc_grass_normal(struct Sprite *sprite)
} }
} }
u32 sub_8154658(void) u32 FldEff_JumpTallGrass(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -350,7 +352,7 @@ u32 sub_8154658(void)
return 0; return 0;
} }
u8 sub_81546C8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
{ {
struct Sprite *sprite; struct Sprite *sprite;
u8 i; u8 i;
@ -360,7 +362,7 @@ u8 sub_81546C8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
if (gSprites[i].inUse) if (gSprites[i].inUse)
{ {
sprite = &gSprites[i]; sprite = &gSprites[i];
if (sprite->callback == unc_grass_normal && (x == sprite->data[1] && y == sprite->data[2]) && (localId == (u8)(sprite->data[3] >> 8) && mapNum == (sprite->data[3] & 0xFF) && mapGroup == sprite->data[4])) if (sprite->callback == UpdateTallGrassFieldEffect && (x == sprite->data[1] && y == sprite->data[2]) && (localId == (u8)(sprite->data[3] >> 8) && mapNum == (sprite->data[3] & 0xFF) && mapGroup == sprite->data[4]))
return i; return i;
} }
} }
@ -368,7 +370,7 @@ u8 sub_81546C8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y)
return MAX_SPRITES; return MAX_SPRITES;
} }
u32 sub_8154758(void) u32 FldEff_LongGrass(void)
{ {
s16 x; s16 x;
s16 y; s16 y;
@ -398,7 +400,7 @@ u32 sub_8154758(void)
return 0; return 0;
} }
void unc_grass_tall(struct Sprite *sprite) void UpdateLongGrassFieldEffect(struct Sprite *sprite)
{ {
u8 mapNum; u8 mapNum;
u8 mapGroup; u8 mapGroup;
@ -435,7 +437,7 @@ void unc_grass_tall(struct Sprite *sprite)
} }
} }
u32 sub_81548FC(void) u32 FldEff_JumpLongGrass(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -453,7 +455,7 @@ u32 sub_81548FC(void)
return 0; return 0;
} }
u32 sub_815496C(void) u32 FldEff_ShortGrass(void)
{ {
u8 eventObjectId; u8 eventObjectId;
struct EventObject *eventObject; struct EventObject *eventObject;
@ -477,7 +479,7 @@ u32 sub_815496C(void)
return 0; return 0;
} }
void sub_8154A10(struct Sprite *sprite) void UpdateShortGrassFieldEffect(struct Sprite *sprite)
{ {
u8 eventObjectId; u8 eventObjectId;
s16 x; s16 x;
@ -513,7 +515,7 @@ void sub_8154A10(struct Sprite *sprite)
} }
} }
u32 sub_8154B04(void) u32 FldEff_SandFootprints(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -531,7 +533,7 @@ u32 sub_8154B04(void)
return 0; return 0;
} }
u32 sub_8154B78(void) u32 FldEff_DeepSandFootprints(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -549,7 +551,7 @@ u32 sub_8154B78(void)
return spriteId; return spriteId;
} }
u32 sub_8154BEC(void) u32 FldEff_BikeTireTracks(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -568,16 +570,16 @@ u32 sub_8154BEC(void)
} }
void (*const gFadeFootprintsTireTracksFuncs[])(struct Sprite *) = { void (*const gFadeFootprintsTireTracksFuncs[])(struct Sprite *) = {
sub_8154C7C, FadeFootprintsTireTracks_Step0,
sub_8154CA0 FadeFootprintsTireTracks_Step1
}; };
void sub_8154C60(struct Sprite *sprite) void UpdateFootprintsTireTracksFieldEffect(struct Sprite *sprite)
{ {
gFadeFootprintsTireTracksFuncs[sprite->data[0]](sprite); gFadeFootprintsTireTracksFuncs[sprite->data[0]](sprite);
} }
void sub_8154C7C(struct Sprite *sprite) void FadeFootprintsTireTracks_Step0(struct Sprite *sprite)
{ {
// Wait 40 frames before the flickering starts. // Wait 40 frames before the flickering starts.
if (++sprite->data[1] > 40) if (++sprite->data[1] > 40)
@ -586,7 +588,7 @@ void sub_8154C7C(struct Sprite *sprite)
UpdateEventObjectSpriteVisibility(sprite, FALSE); UpdateEventObjectSpriteVisibility(sprite, FALSE);
} }
void sub_8154CA0(struct Sprite *sprite) void FadeFootprintsTireTracks_Step1(struct Sprite *sprite)
{ {
sprite->invisible ^= 1; sprite->invisible ^= 1;
sprite->data[1]++; sprite->data[1]++;
@ -597,7 +599,7 @@ void sub_8154CA0(struct Sprite *sprite)
} }
} }
u32 sub_8154CEC(void) u32 FldEff_Splash(void)
{ {
u8 eventObjectId; u8 eventObjectId;
struct EventObject *eventObject; struct EventObject *eventObject;
@ -625,7 +627,7 @@ u32 sub_8154CEC(void)
return 0; return 0;
} }
void sub_8154D90(struct Sprite *sprite) void UpdateSplashFieldEffect(struct Sprite *sprite)
{ {
u8 eventObjectId; u8 eventObjectId;
@ -641,7 +643,7 @@ void sub_8154D90(struct Sprite *sprite)
} }
} }
u32 sub_8154E1C(void) u32 FldEff_JumpSmallSplash(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -659,7 +661,7 @@ u32 sub_8154E1C(void)
return 0; return 0;
} }
u32 oei_water_drop_tall(void) u32 FldEff_JumpBigSplash(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -677,7 +679,7 @@ u32 oei_water_drop_tall(void)
return 0; return 0;
} }
u32 sub_8154EFC(void) u32 FldEff_FeetInFlowingWater(void)
{ {
u8 eventObjectId; u8 eventObjectId;
struct EventObject *eventObject; struct EventObject *eventObject;
@ -692,7 +694,7 @@ u32 sub_8154EFC(void)
{ {
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
sprite = &gSprites[spriteId]; sprite = &gSprites[spriteId];
sprite->callback = sub_8154FB4; sprite->callback = UpdateFeetInFlowingWaterFieldEffect;
sprite->coordOffsetEnabled = TRUE; sprite->coordOffsetEnabled = TRUE;
sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority;
sprite->data[0] = gFieldEffectArguments[0]; sprite->data[0] = gFieldEffectArguments[0];
@ -706,7 +708,7 @@ u32 sub_8154EFC(void)
return 0; return 0;
} }
void sub_8154FB4(struct Sprite *sprite) void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *sprite)
{ {
u8 eventObjectId; u8 eventObjectId;
struct Sprite *linkedSprite; struct Sprite *linkedSprite;
@ -736,7 +738,7 @@ void sub_8154FB4(struct Sprite *sprite)
} }
} }
u32 oei_ripples(void) u32 FldEff_Ripple(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -752,7 +754,7 @@ u32 oei_ripples(void)
return 0; return 0;
} }
u32 sub_81550B4(void) u32 FldEff_HotSpringsWater(void)
{ {
u8 eventObjectId; u8 eventObjectId;
struct EventObject *eventObject; struct EventObject *eventObject;
@ -776,7 +778,7 @@ u32 sub_81550B4(void)
return 0; return 0;
} }
void sub_8155158(struct Sprite *sprite) void UpdateHotSpringsWaterFieldEffect(struct Sprite *sprite)
{ {
u8 eventObjectId; u8 eventObjectId;
const struct EventObjectGraphicsInfo *graphicsInfo; const struct EventObjectGraphicsInfo *graphicsInfo;
@ -797,7 +799,7 @@ void sub_8155158(struct Sprite *sprite)
} }
} }
u32 sub_81551F0(void) u32 FldEff_Unknown19(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -814,7 +816,7 @@ u32 sub_81551F0(void)
return 0; return 0;
} }
u32 sub_815525C(void) u32 FldEff_Unknown20(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -831,7 +833,7 @@ u32 sub_815525C(void)
return 0; return 0;
} }
u32 sub_81552C8(void) u32 FldEff_Unknown21(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -848,7 +850,7 @@ u32 sub_81552C8(void)
return 0; return 0;
} }
u32 sub_8155334(void) u32 FldEff_Unknown22(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -865,7 +867,7 @@ u32 sub_8155334(void)
return 0; return 0;
} }
void ash(s16 x, s16 y, u16 c, s16 d) void StartAshFieldEffect(s16 x, s16 y, u16 c, s16 d)
{ {
gFieldEffectArguments[0] = x; gFieldEffectArguments[0] = x;
gFieldEffectArguments[1] = y; gFieldEffectArguments[1] = y;
@ -876,7 +878,7 @@ void ash(s16 x, s16 y, u16 c, s16 d)
FieldEffectStart(FLDEFF_ASH); FieldEffectStart(FLDEFF_ASH);
} }
u32 oei_ash(void) u32 FldEff_Ash(void)
{ {
s16 x; s16 x;
s16 y; s16 y;
@ -901,17 +903,17 @@ u32 oei_ash(void)
} }
void (*const gAshFieldEffectFuncs[])(struct Sprite *) = { void (*const gAshFieldEffectFuncs[])(struct Sprite *) = {
sub_815547C, UpdateAshFieldEffect_Step0,
sub_81554AC, UpdateAshFieldEffect_Step1,
sub_815550C UpdateAshFieldEffect_Step2
}; };
void sub_8155460(struct Sprite *sprite) void UpdateAshFieldEffect(struct Sprite *sprite)
{ {
gAshFieldEffectFuncs[sprite->data[0]](sprite); gAshFieldEffectFuncs[sprite->data[0]](sprite);
} }
void sub_815547C(struct Sprite *sprite) void UpdateAshFieldEffect_Step0(struct Sprite *sprite)
{ {
sprite->invisible = TRUE; sprite->invisible = TRUE;
sprite->animPaused = TRUE; sprite->animPaused = TRUE;
@ -919,7 +921,7 @@ void sub_815547C(struct Sprite *sprite)
sprite->data[0] = 1; sprite->data[0] = 1;
} }
void sub_81554AC(struct Sprite *sprite) void UpdateAshFieldEffect_Step1(struct Sprite *sprite)
{ {
sprite->invisible = FALSE; sprite->invisible = FALSE;
sprite->animPaused = FALSE; sprite->animPaused = FALSE;
@ -929,14 +931,14 @@ void sub_81554AC(struct Sprite *sprite)
sprite->data[0] = 2; sprite->data[0] = 2;
} }
void sub_815550C(struct Sprite *sprite) void UpdateAshFieldEffect_Step2(struct Sprite *sprite)
{ {
UpdateEventObjectSpriteVisibility(sprite, FALSE); UpdateEventObjectSpriteVisibility(sprite, FALSE);
if (sprite->animEnded) if (sprite->animEnded)
FieldEffectStop(sprite, FLDEFF_ASH); FieldEffectStop(sprite, FLDEFF_ASH);
} }
u32 sub_8155534(void) u32 FldEff_SurfBlob(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -988,7 +990,7 @@ u8 sub_815564C(struct Sprite *sprite)
return (sprite->data[0] & 0xF00) >> 8; return (sprite->data[0] & 0xF00) >> 8;
} }
void sub_8155658(struct Sprite *sprite) void UpdateSurfBlobFieldEffect(struct Sprite *sprite)
{ {
struct EventObject *eventObject; struct EventObject *eventObject;
struct Sprite *linkedSprite; struct Sprite *linkedSprite;
@ -1179,7 +1181,7 @@ void sub_8155850(struct Sprite *sprite)
} }
} }
u32 sub_8155890(void) u32 FldEff_Dust(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -1197,7 +1199,7 @@ u32 sub_8155890(void)
return 0; return 0;
} }
u32 sub_8155900(void) u32 FldEff_SandPile(void)
{ {
u8 eventObjectId; u8 eventObjectId;
struct EventObject *eventObject; struct EventObject *eventObject;
@ -1225,7 +1227,7 @@ u32 sub_8155900(void)
return 0; return 0;
} }
void sub_81559BC(struct Sprite *sprite) void UpdateSandPileFieldEffect(struct Sprite *sprite)
{ {
u8 eventObjectId; u8 eventObjectId;
s16 x; s16 x;
@ -1255,7 +1257,7 @@ void sub_81559BC(struct Sprite *sprite)
} }
} }
u32 sub_8155A88(void) u32 FldEff_Bubbles(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -1271,7 +1273,7 @@ u32 sub_8155A88(void)
return 0; return 0;
} }
void sub_8155AEC(struct Sprite *sprite) void UpdateBubblesFieldEffect(struct Sprite *sprite)
{ {
sprite->data[0] += 0x80; sprite->data[0] += 0x80;
sprite->data[0] &= 0x100; sprite->data[0] &= 0x100;
@ -1283,7 +1285,7 @@ void sub_8155AEC(struct Sprite *sprite)
} }
} }
u32 sub_8155B2C(void) u32 FldEff_BerryTreeGrowthSparkle(void)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
@ -1342,7 +1344,7 @@ u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum)
return spriteId; return spriteId;
} }
void sub_8155C88(struct Sprite *sprite) void UpdateDisguiseFieldEffect(struct Sprite *sprite)
{ {
u8 eventObjectId; u8 eventObjectId;
const struct EventObjectGraphicsInfo *graphicsInfo; const struct EventObjectGraphicsInfo *graphicsInfo;
@ -1404,7 +1406,7 @@ bool8 sub_8155DA0(struct EventObject *eventObject)
return FALSE; return FALSE;
} }
u32 sub_8155DDC(void) u32 FldEff_Sparkle(void)
{ {
u8 spriteId; u8 spriteId;
@ -1420,7 +1422,7 @@ u32 sub_8155DDC(void)
return 0; return 0;
} }
void sub_8155E50(struct Sprite *sprite) void UpdateSparkleFieldEffect(struct Sprite *sprite)
{ {
if (sprite->data[0] == 0) if (sprite->data[0] == 0)
{ {

View File

@ -627,11 +627,11 @@ static void PerStepCallback_8069F64(u8 taskId)
{ {
if (MapGridGetMetatileIdAt(x, y) == 0x20a) if (MapGridGetMetatileIdAt(x, y) == 0x20a)
{ {
ash(x, y, 0x212, 4); StartAshFieldEffect(x, y, 0x212, 4);
} }
else else
{ {
ash(x, y, 0x206, 4); StartAshFieldEffect(x, y, 0x206, 4);
} }
if (CheckBagHasItem(ITEM_SOOT_SACK, 1)) if (CheckBagHasItem(ITEM_SOOT_SACK, 1))
{ {

View File

@ -1,26 +1,25 @@
#include "global.h" #include "global.h"
#include "fldeff_cut.h" #include "event_obj_lock.h"
#include "event_object_movement.h"
#include "field_camera.h" #include "field_camera.h"
#include "field_effect.h" #include "field_effect.h"
#include "event_object_movement.h"
#include "field_player_avatar.h" #include "field_player_avatar.h"
#include "fieldmap.h" #include "fieldmap.h"
#include "event_obj_lock.h" #include "fldeff_cut.h"
#include "malloc.h"
#include "metatile_behavior.h" #include "metatile_behavior.h"
#include "party_menu.h"
#include "overworld.h" #include "overworld.h"
#include "party_menu.h"
#include "rom6.h"
#include "script.h" #include "script.h"
#include "sound.h" #include "sound.h"
#include "sprite.h" #include "sprite.h"
#include "task.h" #include "task.h"
#include "trig.h" #include "trig.h"
#include "malloc.h" #include "constants/abilities.h"
#include "constants/event_objects.h" #include "constants/event_objects.h"
#include "constants/songs.h" #include "constants/songs.h"
#include "constants/abilities.h"
extern bool8 CheckObjectGraphicsInFrontOfPlayer(u8);
extern u8 oei_task_add(void);
extern void ScriptUnfreezeEventObjects(void); extern void ScriptUnfreezeEventObjects(void);
extern bool8 IsMewPlayingHideAndSeek(void); extern bool8 IsMewPlayingHideAndSeek(void);