diff options
Diffstat (limited to 'engines/sword25/gfx/image/vectorimagerenderer.cpp')
-rw-r--r-- | engines/sword25/gfx/image/vectorimagerenderer.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/sword25/gfx/image/vectorimagerenderer.cpp b/engines/sword25/gfx/image/vectorimagerenderer.cpp index e8acd08909..99a47015fb 100644 --- a/engines/sword25/gfx/image/vectorimagerenderer.cpp +++ b/engines/sword25/gfx/image/vectorimagerenderer.cpp @@ -67,6 +67,7 @@ void art_rgb_run_alpha1(byte *buf, byte r, byte g, byte b, int alpha, int n) { int v; for (i = 0; i < n; i++) { +#if defined(SCUMM_LITTLE_ENDIAN) v = *buf; *buf++ = v + (((b - v) * alpha + 0x80) >> 8); v = *buf; @@ -75,6 +76,16 @@ void art_rgb_run_alpha1(byte *buf, byte r, byte g, byte b, int alpha, int n) { *buf++ = v + (((r - v) * alpha + 0x80) >> 8); v = *buf; *buf++ = MIN(v + alpha, 0xff); +#else + v = *buf; + *buf++ = MIN(v + alpha, 0xff); + v = *buf; + *buf++ = v + (((r - v) * alpha + 0x80) >> 8); + v = *buf; + *buf++ = v + (((g - v) * alpha + 0x80) >> 8); + v = *buf; + *buf++ = v + (((b - v) * alpha + 0x80) >> 8); +#endif } } |