diff options
Diffstat (limited to 'src/field_player_avatar.c')
-rw-r--r-- | src/field_player_avatar.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index bab172152..4a96187c1 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1168,29 +1168,29 @@ void SetPlayerAvatarExtraStateTransition(u8 a, u8 b) DoPlayerAvatarTransition(); } -void InitPlayerAvatar(s16 a, s16 b, u8 c, u8 gender) +void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) { - struct UnknownStruct_FPA s; + struct MapObjectTemplate playerMapObjTemplate; u8 mapObjectId; struct MapObject *mapObject; - s.unk0 = 0xFF; - s.unk1 = GetPlayerAvatarGraphicsIdByStateIdAndGender(0, gender); - s.unk4 = a - 7; - s.unk6 = b - 7; - s.unk8 = 0; - s.unk9 = 11; - s.unkA_0 = 0; - s.unkA_4 = 0; - s.unkC = 0; - s.unkE = 0; - s.unk10 = 0; - s.unk14 = 0; - mapObjectId = SpawnSpecialFieldObject(&s); + playerMapObjTemplate.localId = 0xFF; + playerMapObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(0, gender); + playerMapObjTemplate.x = x - 7; + playerMapObjTemplate.y = y - 7; + playerMapObjTemplate.elevation = 0; + playerMapObjTemplate.movementType = 11; + playerMapObjTemplate.unkA_0 = 0; + playerMapObjTemplate.unkA_4 = 0; + playerMapObjTemplate.unkC = 0; + playerMapObjTemplate.unkE = 0; + playerMapObjTemplate.script = NULL; + playerMapObjTemplate.unk14 = 0; + mapObjectId = SpawnSpecialFieldObject(&playerMapObjTemplate); mapObject = &gMapObjects[mapObjectId]; mapObject->mapobj_bit_16 = 1; mapObject->mapobj_unk_1B = sub_8126B54(); - FieldObjectTurn(mapObject, c); + FieldObjectTurn(mapObject, direction); ClearPlayerAvatarInfo(); gPlayerAvatar.running2 = 0; gPlayerAvatar.running1 = 0; |