diff options
author | Rémi Calixte <remicalixte.rmc@gmail.com> | 2021-06-27 15:06:48 +0200 |
---|---|---|
committer | Rémi Calixte <remicalixte.rmc@gmail.com> | 2021-06-27 15:06:48 +0200 |
commit | b04c61007e9df8f672d71cd6403cc5d25ad55e8f (patch) | |
tree | 0e3613b1c555440fed39ab7c3f15a5c324af904a | |
parent | f25705c13445a2b2fc95313d230d810eae14a656 (diff) |
match TintPalette_CustomTone from pokeemerald
-rw-r--r-- | arm9/src/palette.c | 76 | ||||
-rw-r--r-- | include/palette.h | 2 |
2 files changed, 2 insertions, 76 deletions
diff --git a/arm9/src/palette.c b/arm9/src/palette.c index 75dd4d90..41a00d76 100644 --- a/arm9/src/palette.c +++ b/arm9/src/palette.c @@ -562,8 +562,7 @@ THUMB_FUNC void BlendPalettesUnfaded( } } -#ifdef NONMATCHING -THUMB_FUNC void TintPalette_CustomTone(u16 *palette, u32 count, u32 rTone, u32 gTone, u32 bTone) +THUMB_FUNC void TintPalette_CustomTone(u16 *palette, s32 count, s32 rTone, s32 gTone, s32 bTone) { s32 r, g, b, i; u32 gray; @@ -590,79 +589,6 @@ THUMB_FUNC void TintPalette_CustomTone(u16 *palette, u32 count, u32 rTone, u32 g *palette++ = (b << 10) | (g << 5) | (r << 0); } } -#else -asm void TintPalette_CustomTone(u16 *palette, u32 count, u32 rTone, u32 gTone, u32 bTone) -{ - // clang-format off - push {r3-r7, lr} - mov lr, r1 - mov r12, r2 - add r7, r3, #0x0 - mov r4, #0x0 - cmp r1, #0x0 - ble _02003B3C - ldr r6, [sp, #0x18] -_02003AD4: - ldrh r3, [r0, #0x0] - mov r1, #0x1f - add r2, r3, #0x0 - asr r5, r3, #0xa - and r2, r1 - and r5, r1 - mov r1, #0x1d - mul r1, r5 - mov r5, #0x4c - mul r5, r2 - asr r3, r3, #0x5 - mov r2, #0x1f - and r3, r2 - mov r2, #0x97 - mul r2, r3 - add r2, r5, r2 - add r1, r1, r2 - asr r3, r1, #0x8 - mov r1, r12 - add r2, r1, #0x0 - mul r2, r3 - lsl r1, r2, #0x10 - lsr r1, r1, #0x10 - asr r2, r1, #0x8 - add r1, r7, #0x0 - mul r1, r3 - mul r3, r6 - lsl r1, r1, #0x10 - lsl r3, r3, #0x10 - lsr r1, r1, #0x10 - lsr r3, r3, #0x10 - asr r1, r1, #0x8 - asr r3, r3, #0x8 - cmp r2, #0x1f - ble _02003B1C - mov r2, #0x1f -_02003B1C: - cmp r1, #0x1f - ble _02003B22 - mov r1, #0x1f -_02003B22: - cmp r3, #0x1f - ble _02003B28 - mov r3, #0x1f -_02003B28: - lsl r3, r3, #0xa - lsl r1, r1, #0x5 - orr r1, r3 - orr r1, r2 - strh r1, [r0, #0x0] - add r4, r4, #0x1 - mov r1, lr - add r0, r0, #0x2 - cmp r4, r1 - blt _02003AD4 -_02003B3C: - pop {r3-r7, pc} - // clang-format on -} -#endif THUMB_FUNC void FUN_02003B40(struct PaletteData *paletteData, NarcId narcId, diff --git a/include/palette.h b/include/palette.h index 469c680f..2f0e585b 100644 --- a/include/palette.h +++ b/include/palette.h @@ -58,7 +58,7 @@ void BlendPaletteUnfaded(struct PaletteData *paletteData, void BlendPalettes(u16 *src, u16 *dest, u16 selectedPalettes, u8 coeff, u16 blendColor); void BlendPalettesUnfaded( struct PaletteData *paletteData, u32 index, u16 selectedPalettes, u8 coeff, u16 blendColor); -void TintPalette_CustomTone(u16 *palette, u32 count, u32 rTone, u32 gTone, u32 bTone); +void TintPalette_CustomTone(u16 *palette, s32 count, s32 rTone, s32 gTone, s32 bTone); void FUN_02003B40(struct PaletteData *paletteData, NarcId narcId, s32 memberId, |