summaryrefslogtreecommitdiff
path: root/src/field_map_obj.c
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-08 14:05:45 -0400
committerscnorton <scnorton@biociphers.org>2017-09-08 14:05:45 -0400
commit823f8d6a0c827025f280e1d57fb71959ca529fbe (patch)
tree270b75f8fa7545e74b1174e682f52842c0278084 /src/field_map_obj.c
parent9b98055ecc5174e92c1cf4bcad8f7a1ecc317581 (diff)
get_berry_tree_graphics
Diffstat (limited to 'src/field_map_obj.c')
-rw-r--r--src/field_map_obj.c26
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);
+ }
+}