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); +}