summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-08 18:04:23 -0400
committerscnorton <scnorton@biociphers.org>2017-09-08 18:04:23 -0400
commita17a1bb27aeca68624c2b8d1b55cbd44e1c34e11 (patch)
treec44ab8e51787e51878cd3b2118db5887eb807770
parentdddb44e3018ba915564d6e1a3bcc888ec37aa0bd (diff)
npc_load_two_palettes__and_record
-rw-r--r--asm/field_map_obj.s55
-rw-r--r--include/data3.h1
-rw-r--r--src/field_map_obj.c16
3 files changed, 17 insertions, 55 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index f34bde8ad..0cc7f1fe3 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,61 +5,6 @@
.text
- thumb_func_start npc_load_two_palettes__and_record
-@ void npc_load_two_palettes__and_record(u16 tag, u8 slot)
-npc_load_two_palettes__and_record: @ 808EA38
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_020375B6
- strh r4, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl pal_patch_for_npc
- movs r3, 0
- ldr r1, =gUnknown_0850BD78
- ldrh r0, [r1]
- ldr r2, =0x000011ff
- cmp r0, r2
- beq _0808EAA8
- ldr r0, =gUnknown_084975C4
- adds r5, r0
- adds r6, r2, 0
-_0808EA60:
- lsls r2, r3, 3
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r4
- bne _0808EA98
- adds r1, 0x4
- adds r1, r2, r1
- ldr r0, =gUnknown_020375B4
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrb r1, [r5]
- bl pal_patch_for_npc
- b _0808EAA8
- .pool
-_0808EA98:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- bne _0808EA60
-_0808EAA8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end npc_load_two_palettes__and_record
-
thumb_func_start sub_808EAB0
sub_808EAB0: @ 808EAB0
push {lr}
diff --git a/include/data3.h b/include/data3.h
index 5318d44ec..f44a61263 100644
--- a/include/data3.h
+++ b/include/data3.h
@@ -12,6 +12,7 @@ struct PairedPalettes {
extern const struct SpritePalette gUnknown_0850BBC8[];
extern const struct PairedPalettes gUnknown_0850BD00[15];
+extern const struct PairedPalettes gUnknown_0850BD78[15];
extern u8 gUnknown_084975C4[0x10];
#endif //POKEEMERALD_DATA3_H
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index fae9b12d8..b5a0ce5e5 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -1195,3 +1195,19 @@ void npc_load_two_palettes__no_record(u16 tag, u8 slot)
}
}
}
+
+void npc_load_two_palettes__and_record(u16 tag, u8 slot)
+{
+ u8 i;
+
+ gUnknown_020375B6 = tag;
+ pal_patch_for_npc(tag, slot);
+ for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i ++)
+ {
+ if (gUnknown_0850BD78[i].tag == tag)
+ {
+ pal_patch_for_npc(gUnknown_0850BD78[i].data[gUnknown_020375B4], gUnknown_084975C4[slot]);
+ return;
+ }
+ }
+}