mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
#177 fix 32bit colorkey blitter
This commit is contained in:
parent
2d2b8c7be6
commit
6dd5174cb8
14
src/blt.c
14
src/blt.c
@ -291,8 +291,8 @@ void blt_colorkey(
|
|||||||
}
|
}
|
||||||
else if (bpp == 32)
|
else if (bpp == 32)
|
||||||
{
|
{
|
||||||
unsigned int key_l = (unsigned int)key_low;
|
unsigned int key_l = key_low & 0xFFFFFF;
|
||||||
unsigned int key_h = (unsigned int)key_high;
|
unsigned int key_h = key_high & 0xFFFFFF;
|
||||||
|
|
||||||
unsigned int* d = (unsigned int*)dst;
|
unsigned int* d = (unsigned int*)dst;
|
||||||
unsigned int* s = (unsigned int*)src;
|
unsigned int* s = (unsigned int*)src;
|
||||||
@ -305,7 +305,7 @@ void blt_colorkey(
|
|||||||
{
|
{
|
||||||
unsigned int c = *s++;
|
unsigned int c = *s++;
|
||||||
|
|
||||||
if (c != key_l)
|
if ((c & 0xFFFFFF) != key_l)
|
||||||
{
|
{
|
||||||
*d = c;
|
*d = c;
|
||||||
}
|
}
|
||||||
@ -325,7 +325,7 @@ void blt_colorkey(
|
|||||||
{
|
{
|
||||||
unsigned int c = *s++;
|
unsigned int c = *s++;
|
||||||
|
|
||||||
if (c < key_l || c > key_h)
|
if ((c & 0xFFFFFF) < key_l || (c & 0xFFFFFF) > key_h)
|
||||||
{
|
{
|
||||||
*d = c;
|
*d = c;
|
||||||
}
|
}
|
||||||
@ -431,8 +431,8 @@ void blt_colorkey_mirror_stretch(
|
|||||||
}
|
}
|
||||||
else if (bpp == 32)
|
else if (bpp == 32)
|
||||||
{
|
{
|
||||||
unsigned int key_l = (unsigned int)key_low;
|
unsigned int key_l = key_low & 0xFFFFFF;
|
||||||
unsigned int key_h = (unsigned int)key_high;
|
unsigned int key_h = key_high & 0xFFFFFF;
|
||||||
|
|
||||||
for (int y = 0; y < dst_h; y++)
|
for (int y = 0; y < dst_h; y++)
|
||||||
{
|
{
|
||||||
@ -453,7 +453,7 @@ void blt_colorkey_mirror_stretch(
|
|||||||
|
|
||||||
unsigned int c = ((unsigned int*)src)[scaled_x + src_row];
|
unsigned int c = ((unsigned int*)src)[scaled_x + src_row];
|
||||||
|
|
||||||
if (c < key_l || c > key_h)
|
if ((c & 0xFFFFFF) < key_l || (c & 0xFFFFFF) > key_h)
|
||||||
{
|
{
|
||||||
((unsigned int*)dst)[x + dst_row] = c;
|
((unsigned int*)dst)[x + dst_row] = c;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user