diff options
-rw-r--r-- | asm/field_effect_helpers.s | 25 | ||||
-rw-r--r-- | src/field_effect_helpers.c | 14 |
2 files changed, 13 insertions, 26 deletions
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 5b58e7aff..062287cbb 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -6,31 +6,6 @@ .text - thumb_func_start npc_pal_op_A -npc_pal_op_A: @ 81269B0 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _081269DC @ =0x000011ff - cmp r1, r0 - beq _081269D4 - adds r0, r1, 0 - adds r1, r4, 0 - bl pal_patch_for_npc - adds r0, r4, 0 - bl sub_807D78C -_081269D4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081269DC: .4byte 0x000011ff - thumb_func_end npc_pal_op_A - thumb_func_start sub_81269E0 sub_81269E0: @ 81269E0 push {r4-r7,lr} diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 44403eef8..3771d24e4 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -18,7 +18,7 @@ // Static ROM declarations /*static*/ void sub_81269E0(struct Sprite *); static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite); -/*static*/ void npc_pal_op_A(struct MapObject *, u8); +static void npc_pal_op_A(struct MapObject *, u8); static void npc_pal_op_B(struct MapObject *, u8); /*static*/ void sub_81275A0(struct Sprite *); /*static*/ void sub_81275C4(struct Sprite *); @@ -145,3 +145,15 @@ static void npc_pal_op_B(struct MapObject *mapObject, u8 paletteNum) sub_807D78C(paletteNum); } } + +static void npc_pal_op_A(struct MapObject *mapObject, u8 paletteNum) +{ + const struct MapObjectGraphicsInfo *graphicsInfo; + + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + if (graphicsInfo->paletteTag2 != 0x11ff) + { + pal_patch_for_npc(graphicsInfo->paletteTag2, paletteNum); + sub_807D78C(paletteNum); + } +} |