summaryrefslogtreecommitdiff
path: root/src/field_map_obj.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field_map_obj.c')
-rw-r--r--src/field_map_obj.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 469993068..53dd1a863 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -36,7 +36,7 @@ static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *
/*static*/ void sub_808E894(u16);
static void RemoveFieldObjectIfOutsideView(struct MapObject *);
static void sub_808E1B8(u8, s16, s16);
-/*static*/ void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8);
+static void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8);
/*static*/ void sub_808E38C(struct MapObject *);
// ROM data
@@ -205,6 +205,8 @@ static u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u
mapObject->mapobj_unk_20 = gUnknown_085055CD[template->movementType];
FieldObjectSetDirection(mapObject, mapObject->mapobj_unk_20);
FieldObjectHandleDynamicGraphicsId(mapObject);
+
+ // This block is the culprit
if (gUnknown_0850557C[mapObject->animPattern])
{
if (mapObject->mapobj_unk_19 == 0)
@@ -892,3 +894,11 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y)
mapObject->mapobj_bit_21 = FALSE;
FieldObjectClearAnim(mapObject);
}
+
+static void SetPlayerAvatarFieldObjectIdAndObjectId(u8 mapObjectId, u8 spriteId)
+{
+ gPlayerAvatar.mapObjectId = mapObjectId;
+ gPlayerAvatar.spriteId = spriteId;
+ gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gMapObjects[mapObjectId].graphicsId);
+ SetPlayerAvatarExtraStateTransition(gMapObjects[mapObjectId].graphicsId, 0x20);
+}