summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/field_map_obj.s29
-rw-r--r--src/field_map_obj.c9
2 files changed, 9 insertions, 29 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 6316bd0b7..b6ce802ff 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,35 +5,6 @@
.text
- thumb_func_start pal_patch_for_npc
-@ void pal_patch_for_npc(u16 tag, u8 slot)
-pal_patch_for_npc: @ 808E91C
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- bl FindFieldObjectPaletteIndexByTag
- lsls r0, 24
- ldr r1, =gUnknown_0850BBC8
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0]
- lsls r4, 20
- movs r1, 0x80
- lsls r1, 17
- adds r4, r1
- lsrs r4, 16
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pal_patch_for_npc
-
thumb_func_start pal_patch_for_npc_range
@ void pal_patch_for_npc_range(u16 *tags, u8 minSlot, u8 maxSlot)
pal_patch_for_npc_range: @ 808E954
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index ccc88db15..c8d147e6d 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -6,6 +6,7 @@
#include "rom4.h"
#include "data3.h"
#include "berry.h"
+#include "palette.h"
#include "field_player_avatar.h"
#include "event_data.h"
#include "rom_818CFC8.h"
@@ -1144,3 +1145,11 @@ u8 sub_808E8F4(const struct SpritePalette *spritePalette)
}
return LoadSpritePalette(spritePalette);
}
+
+void pal_patch_for_npc(u16 paletteTag, u8 paletteSlot)
+{
+ u8 paletteIdx;
+
+ paletteIdx = FindFieldObjectPaletteIndexByTag(paletteTag);
+ LoadPalette(gUnknown_0850BBC8[paletteIdx].data, 16 * paletteSlot + 256, 0x20);
+}