diff options
author | golem galvanize <golemgalvanize@github.com> | 2018-10-17 20:03:31 -0400 |
---|---|---|
committer | golem galvanize <golemgalvanize@github.com> | 2018-10-17 20:03:31 -0400 |
commit | 2c6d634acdf7bd22fb7e5c4933ff2e13712d2ec3 (patch) | |
tree | 9d51a6c1c07da6946022fe5867e34300bd71493d /src/util.c | |
parent | 65a0c48eec7d2184478841d232d1fb3c3350fa37 (diff) | |
parent | f67bbbdaaa905833f1c2a315624128aafef9a4cb (diff) |
Merge branch 'master' of https://github.com/pret/pokeemerald into decompile_party_menu
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); + } +} |