diff options
author | SphericalIce <sphericalice@outlook.com> | 2021-01-19 17:15:12 +0000 |
---|---|---|
committer | SphericalIce <sphericalice@outlook.com> | 2021-01-19 17:15:12 +0000 |
commit | 8de76ed5338b819784e426bd9d6c7d0164e23a61 (patch) | |
tree | 0418e9fc88185c0fbebd17dc4129a95334ebc990 /src/field_effect.c | |
parent | 6c91534304a1d8631a5a656905f062167431753d (diff) |
Make broader use of RGB macros
Diffstat (limited to 'src/field_effect.c')
-rw-r--r-- | src/field_effect.c | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/src/field_effect.c b/src/field_effect.c index 5a18557eb..c74bb23be 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -934,43 +934,43 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId) // r, g, b are between 0 and 16 void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { - int curRed; - int curGreen; - int curBlue; - u16 outPal; - - outPal = gPlttBufferUnfaded[i]; - curRed = outPal & 0x1f; - curGreen = (outPal & (0x1f << 5)) >> 5; - curBlue = (outPal & (0x1f << 10)) >> 10; - curRed += (((0x1f - curRed) * r) >> 4); - curGreen += (((0x1f - curGreen) * g) >> 4); - curBlue += (((0x1f - curBlue) * b) >> 4); - outPal = curRed; - outPal |= curGreen << 5; - outPal |= curBlue << 10; - gPlttBufferFaded[i] = outPal; + int curRed, curGreen, curBlue; + u16 palette = gPlttBufferUnfaded[i]; + + curRed = (palette & RGB_RED); + curGreen = (palette & RGB_GREEN) >> 5; + curBlue = (palette & RGB_BLUE) >> 10; + + curRed += (((0x1F - curRed) * r) >> 4); + curGreen += (((0x1F - curGreen) * g) >> 4); + curBlue += (((0x1F - curBlue) * b) >> 4); + + palette = curRed; + palette |= (curGreen << 5); + palette |= (curBlue << 10); + + gPlttBufferFaded[i] = palette; } // r, g, b are between 0 and 16 void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { - int curRed; - int curGreen; - int curBlue; - u16 outPal; - - outPal = gPlttBufferUnfaded[i]; - curRed = outPal & 0x1f; - curGreen = (outPal & (0x1f << 5)) >> 5; - curBlue = (outPal & (0x1f << 10)) >> 10; - curRed -= ((curRed * r) >> 4); + int curRed, curGreen, curBlue; + u16 palette = gPlttBufferUnfaded[i]; + + curRed = (palette & RGB_RED); + curGreen = (palette & RGB_GREEN) >> 5; + curBlue = (palette & RGB_BLUE) >> 10; + + curRed -= ((curRed * r) >> 4); curGreen -= ((curGreen * g) >> 4); - curBlue -= ((curBlue * b) >> 4); - outPal = curRed; - outPal |= curGreen << 5; - outPal |= curBlue << 10; - gPlttBufferFaded[i] = outPal; + curBlue -= ((curBlue * b) >> 4); + + palette = curRed; + palette |= curGreen << 5; + palette |= curBlue << 10; + + gPlttBufferFaded[i] = palette; } // Task data for Task_PokecenterHeal and Task_HallOfFameRecord |