diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-08 14:05:45 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-08 14:05:45 -0400 |
commit | 823f8d6a0c827025f280e1d57fb71959ca529fbe (patch) | |
tree | 270b75f8fa7545e74b1174e682f52842c0278084 /src/field_map_obj.c | |
parent | 9b98055ecc5174e92c1cf4bcad8f7a1ecc317581 (diff) |
get_berry_tree_graphics
Diffstat (limited to 'src/field_map_obj.c')
-rw-r--r-- | src/field_map_obj.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c index 4d5efd1b9..37ab01762 100644 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -4,6 +4,7 @@ #include "malloc.h" #include "sprite.h" #include "rom4.h" +#include "berry.h" #include "field_player_avatar.h" #include "event_data.h" #include "rom_818CFC8.h" @@ -978,3 +979,28 @@ void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction) { FieldObjectTurn(&gMapObjects[playerAvatar->mapObjectId], direction); } + +void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 berryStage; + u8 berryId; + + mapObject->mapobj_bit_13 = TRUE; + sprite->invisible = TRUE; + berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); + if (berryStage != 0) + { + mapObject->mapobj_bit_13 = FALSE; + sprite->invisible = FALSE; + berryId = GetBerryTypeByBerryTreeId(mapObject->trainerRange_berryTreeId) - 1; + berryStage -= 1; + if (berryId >= NUM_BERRIES) + { + berryId = 0; + } + FieldObjectSetGraphicsId(mapObject, gBerryTreeFieldObjectGraphicsIdTablePointers[berryId][berryStage]); + sprite->images = gBerryTreePicTablePointers[berryId]; + sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; + StartSpriteAnim(sprite, berryStage); + } +} |