diff options
author | Deokishisu <edsaletto@gmail.com> | 2018-10-14 14:16:07 -0400 |
---|---|---|
committer | Deokishisu <edsaletto@gmail.com> | 2018-10-14 14:16:07 -0400 |
commit | e129f4864fa342fdca46399f216ee0c0c46c26b4 (patch) | |
tree | 9df7fd1157581d84567225e2dcbc6318901dc2e9 /src/util.c | |
parent | 2bd86dad2fddb1c836b462a4137fab724c7eb305 (diff) | |
parent | 0979ea91fb247b642cf7aa9e0bea5265917923d8 (diff) |
Merge branch 'master' of https://github.com/pret/pokeemerald into LabelOWsProperly
Diffstat (limited to 'src/util.c')
-rw-r--r-- | src/util.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c index 9c8766a97..47112774a 100644 --- a/src/util.c +++ b/src/util.c @@ -1,6 +1,7 @@ #include "global.h" #include "util.h" #include "sprite.h" +#include "palette.h" const u32 gBitTable[] = { @@ -258,3 +259,20 @@ u32 CalcByteArraySum(const u8* data, u32 length) sum += data[i]; return sum; } + +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); + } +} |