summaryrefslogtreecommitdiff
path: root/src/field_effect_helpers.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-10 09:43:25 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-10 09:43:25 -0400
commit89023e84d6137fe425c8621f5ba914304f37ee7b (patch)
treeed59f52703d10e067797909ed6f65f37dc637063 /src/field_effect_helpers.c
parent0c5bf5559328562f42e85cad9621a55923b7b50b (diff)
sub_8127F7C
Diffstat (limited to 'src/field_effect_helpers.c')
-rw-r--r--src/field_effect_helpers.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index 4a511fad1..474acf939 100644
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -34,6 +34,9 @@ static void sub_8127DD0(struct Sprite *);
static void sub_8127E30(struct Sprite *);
/*static*/ void sub_812882C(struct Sprite *, u8, u8);
static void sub_81278D8(struct Sprite *);
+/*static*/ void sub_8127FD4(struct MapObject *, struct Sprite *);
+/*static*/ void sub_812800C(struct MapObject *, struct Sprite *);
+/*static*/ void sub_81280A0(struct MapObject *, struct Sprite *, struct Sprite *);
// .rodata
@@ -998,17 +1001,30 @@ void sub_8127F28(u8 spriteId, u8 value, s16 data1)
gSprites[spriteId].data1 = data1;
}
-u8 sub_8127F5C(struct Sprite *sprite)
+/*static*/ u8 sub_8127F5C(struct Sprite *sprite)
{
return sprite->data0 & 0xF;
}
-u8 sub_8127F64(struct Sprite *sprite)
+/*static*/ u8 sub_8127F64(struct Sprite *sprite)
{
return (sprite->data0 & 0xF0) >> 4;
}
-u8 sub_8127F70(struct Sprite *sprite)
+/*static*/ u8 sub_8127F70(struct Sprite *sprite)
{
return (sprite->data0 & 0xF00) >> 8;
}
+
+void sub_8127F7C(struct Sprite *sprite)
+{
+ struct MapObject *mapObject;
+ struct Sprite *linkedSprite;
+
+ mapObject = &gMapObjects[sprite->data2];
+ linkedSprite = &gSprites[mapObject->spriteId];
+ sub_8127FD4(mapObject, sprite);
+ sub_812800C(mapObject, sprite);
+ sub_81280A0(mapObject, linkedSprite, sprite);
+ sprite->oam.priority = linkedSprite->oam.priority;
+}