summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/field_map_obj.s24
-rw-r--r--src/field_map_obj.c15
2 files changed, 12 insertions, 27 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index faf5bb23c..6316bd0b7 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,30 +5,6 @@
.text
- thumb_func_start sub_808E8F4
-@ u8 sub_808E8F4(struct TaggedObjectPalette *taggedPalette)
-sub_808E8F4: @ 808E8F4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0808E912
- adds r0, r4, 0
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r0, 24
- b _0808E914
-_0808E912:
- movs r0, 0xFF
-_0808E914:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808E8F4
-
thumb_func_start pal_patch_for_npc
@ void pal_patch_for_npc(u16 tag, u8 slot)
pal_patch_for_npc: @ 808E91C
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 1ae142075..ccc88db15 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -35,12 +35,12 @@ void sub_8096518(struct MapObject *, struct Sprite *);
static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **);
/*static*/ void GetFieldObjectMovingCameraOffset(s16 *, s16 *);
/*static*/ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8);
-/*static*/ void sub_808E894(u16);
+static void sub_808E894(u16);
static void RemoveFieldObjectIfOutsideView(struct MapObject *);
static void sub_808E1B8(u8, s16, s16);
static void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8);
/*static*/ void sub_808E38C(struct MapObject *);
-/*static*/ void sub_808E8F4(const struct SpritePalette *);
+/*static*/ u8 sub_808E8F4(const struct SpritePalette *);
/*static*/ u16 FindFieldObjectPaletteIndexByTag(u16);
// ROM data
@@ -1115,7 +1115,7 @@ void gpu_pal_allocator_reset__manage_upper_four(void)
gReservedSpritePaletteCount = 12;
}
-void sub_808E894(u16 paletteTag)
+static void sub_808E894(u16 paletteTag)
{
u16 paletteSlot;
@@ -1135,3 +1135,12 @@ void sub_808E8C0(u16 *paletteTags)
sub_808E894(paletteTags[i]);
}
}
+
+u8 sub_808E8F4(const struct SpritePalette *spritePalette)
+{
+ if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xff)
+ {
+ return 0xff;
+ }
+ return LoadSpritePalette(spritePalette);
+}