summaryrefslogtreecommitdiff
path: root/src/field_effect_helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field_effect_helpers.c')
-rw-r--r--src/field_effect_helpers.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index e77665eee..b7dded198 100644
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -6,9 +6,10 @@
// Includes
#include "global.h"
#include "sprite.h"
+#include "metatile_behavior.h"
#include "field_map_obj.h"
#include "field_weather.h"
-#include "metatile_behavior.h"
+#include "field_effect.h"
#include "field_effect_helpers.h"
// Static type declarations
@@ -237,3 +238,23 @@ void sub_8126BC4(u8 spriteId, u8 animNum, s16 x, s16 y)
StartSpriteAnim(sprite, animNum - 1);
}
}
+
+bool8 FldEff_Shadow(void)
+{
+ u8 mapObjectId;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+ u8 spriteId;
+
+ mapObjectId = GetFieldObjectIdByLocalIdAndMap(gUnknown_0202FF84[0], gUnknown_0202FF84[1], gUnknown_0202FF84[2]);
+ graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId);
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gUnknown_08401E32[graphicsInfo->shadowSize]], 0, 0, 0x94);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].coordOffsetEnabled = TRUE;
+ gSprites[spriteId].data0 = gUnknown_0202FF84[0];
+ gSprites[spriteId].data1 = gUnknown_0202FF84[1];
+ gSprites[spriteId].data2 = gUnknown_0202FF84[2];
+ gSprites[spriteId].data3 = (graphicsInfo->height >> 1) - gUnknown_08401E36[graphicsInfo->shadowSize];
+ }
+ return FALSE;
+}