pokeemerald/src/blend_palette.c
Diegoisawesome 56f5e8bdab Disassemble palette.s
All but two functions match.
2017-03-04 22:43:34 -06:00

20 lines
675 B
C

#include "global.h"
#include "palette.h"
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor)
{
u16 i;
for (i = 0; i < numEntries; i++)
{
u16 index = i + palOffset;
struct PlttData *data1 = (struct PlttData *)&gPlttBufferUnfaded[index];
s8 r = data1->r;
s8 g = data1->g;
s8 b = data1->b;
struct PlttData *data2 = (struct PlttData *)&blendColor;
gPlttBufferFaded[index] = ((r + (((data2->r - r) * coeff) >> 4)) << 0)
| ((g + (((data2->g - g) * coeff) >> 4)) << 5)
| ((b + (((data2->b - b) * coeff) >> 4)) << 10);
}
}