From e86a0ae4d93a2db537f72876ee5bd3869769164f Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Thu, 8 Sep 2022 08:12:11 +0200 Subject: [PATCH] fix GCC build --- src/blt.c | 50 ++++++++++++++++++++++++++++---------------------- src/config.c | 2 +- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/blt.c b/src/blt.c index 79d9314..f5c9eac 100644 --- a/src/blt.c +++ b/src/blt.c @@ -95,8 +95,8 @@ void blt_colorkey( { int bytes_pp = bpp / 8; - size_t d_p = dst_p - (dst_w * bytes_pp); - size_t s_p = src_p - (dst_w * bytes_pp); + size_t d_p = (dst_p / bytes_pp) - dst_w; + size_t s_p = (src_p / bytes_pp) - dst_w; src += (src_x * bytes_pp) + (src_p * src_y); dst += (dst_x * bytes_pp) + (dst_p * dst_y); @@ -152,24 +152,27 @@ void blt_colorkey( unsigned short key_l = (unsigned short)key_low; unsigned short key_h = (unsigned short)key_high; + unsigned short* d = (unsigned short*)dst; + unsigned short* s = (unsigned short*)src; + if (key_l == key_h) { for (int y = 0; y < dst_h; y++) { for (int x = 0; x < dst_w; x++) { - unsigned short c = *((unsigned short*)src)++; + unsigned short c = *s++; if (c != key_l) { - *((unsigned short*)dst) = c; + *d = c; } - ((unsigned short*)dst)++; + d++; } - src += s_p; - dst += d_p; + s += s_p; + d += d_p; } } else @@ -178,18 +181,18 @@ void blt_colorkey( { for (int x = 0; x < dst_w; x++) { - unsigned short c = *((unsigned short*)src)++; + unsigned short c = *s++; if (c < key_l || c > key_h) { - *((unsigned short*)dst) = c; + *d = c; } - ((unsigned short*)dst)++; + d++; } - src += s_p; - dst += d_p; + s += s_p; + d += d_p; } } } @@ -198,24 +201,27 @@ void blt_colorkey( unsigned int key_l = (unsigned int)key_low; unsigned int key_h = (unsigned int)key_high; + unsigned int* d = (unsigned int*)dst; + unsigned int* s = (unsigned int*)src; + if (key_l == key_h) { for (int y = 0; y < dst_h; y++) { for (int x = 0; x < dst_w; x++) { - unsigned int c = *((unsigned int*)src)++; + unsigned int c = *s++; if (c != key_l) { - *((unsigned int*)dst) = c; + *d = c; } - ((unsigned int*)dst)++; + d++; } - src += s_p; - dst += d_p; + s += s_p; + d += d_p; } } else @@ -224,18 +230,18 @@ void blt_colorkey( { for (int x = 0; x < dst_w; x++) { - unsigned int c = *((unsigned int*)src)++; + unsigned int c = *s++; if (c < key_l || c > key_h) { - *((unsigned int*)dst) = c; + *d = c; } - ((unsigned int*)dst)++; + d++; } - src += s_p; - dst += d_p; + s += s_p; + d += d_p; } } } diff --git a/src/config.c b/src/config.c index aa4a039..8a40c21 100644 --- a/src/config.c +++ b/src/config.c @@ -56,7 +56,7 @@ void cfg_load() g_ddraw->armadahack = cfg_get_bool("armadahack", FALSE); g_ddraw->tshack = cfg_get_bool("tshack", FALSE); - if (g_ddraw->infantryhack = cfg_get_bool("infantryhack", FALSE)) + if ((g_ddraw->infantryhack = cfg_get_bool("infantryhack", FALSE))) { GameHandlesClose = TRUE; }