Skip to content

Commit cf07c47

Browse files
committed
sprite.c: fix 64bit crashes due to assumption that long==32bit
1 parent b622561 commit cf07c47

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

sprite.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ sp2pixel (int no)
158158
// 2 longs -> 16 nibbles => 32 loops for a 16*16 spr
159159
for (i = 0; i < 32; i++, C++, C2 += 4)
160160
{
161-
long L;
161+
Int32 L;
162162
M = C[0];
163163
L =
164164
((M & 0x88) >> 3) | ((M & 0x44) << 6) | ((M & 0x22) << 15) |
@@ -278,7 +278,7 @@ RefreshLine (int Y1, int Y2)
278278
for (i = 0; i < h; i++, P += WIDTH, C2 += 4, C += 2)
279279
#endif
280280
{
281-
unsigned long L;
281+
UInt32 L;
282282
UChar J;
283283
J = (C[0] | C[1] | C[16] | C[17]);
284284
if (!J)
@@ -394,11 +394,11 @@ PutSprite (UChar * P, UChar * C, UChar * C2, UChar * R, int h, int inc)
394394
}
395395

396396
void
397-
PutSpriteHandleFull (UChar * P, UChar * C, unsigned long *C2, UChar * R,
397+
PutSpriteHandleFull (UChar * P, UChar * C, void * C2void, UChar * R,
398398
int h, int inc)
399399
{
400400
int i, J;
401-
unsigned long L;
401+
Uint32 L, *C2 = C2void;
402402
#if defined(NEW_GFX_ENGINE)
403403
for (i = 0; i < h; i++, C += inc, C2 += inc, P += XBUF_WIDTH)
404404
#else
@@ -482,11 +482,12 @@ PutSpriteHandleFull (UChar * P, UChar * C, unsigned long *C2, UChar * R,
482482

483483

484484
static void
485-
PutSpriteHflip (UChar * P, UChar * C, unsigned long *C2, UChar * R, int h,
485+
PutSpriteHflip (UChar * P, UChar * C, void * C2void, UChar * R, int h,
486486
int inc)
487487
{
488488
int i, J;
489-
unsigned long L;
489+
UInt32 L;
490+
UInt32 *C2 = C2void; // hack hack
490491
#if defined(NEW_GFX_ENGINE)
491492
for (i = 0; i < h; i++, C += inc, C2 += inc, P += XBUF_WIDTH)
492493
#else
@@ -564,7 +565,7 @@ PutSpriteM (UChar * P, UChar * C, UChar * C2, UChar * R, int h, int inc,
564565
UChar * M, UChar pr)
565566
{
566567
int i, J;
567-
unsigned long L;
568+
Uint32 L;
568569
#if defined(NEW_GFX_ENGINE)
569570
for (i = 0; i < h;
570571
i++, C += inc, C2 += inc * 4, P += XBUF_WIDTH, M += XBUF_WIDTH)
@@ -629,7 +630,7 @@ PutSpriteHflipM (UChar * P, UChar * C, UChar * C2, UChar * R, int h,
629630
int inc, UChar * M, UChar pr)
630631
{
631632
int i, J;
632-
unsigned long L;
633+
Uint32 L;
633634
#if defined(NEW_GFX_ENGINE)
634635
for (i = 0; i < h;
635636
i++, C += inc, C2 += inc * 4, P += XBUF_WIDTH, M += XBUF_WIDTH)
@@ -693,7 +694,7 @@ PutSpriteMakeMask (UChar * P, UChar * C, UChar * C2, UChar * R, int h,
693694
{
694695
int i;
695696
UInt16 J;
696-
unsigned long L;
697+
UInt32 L;
697698
#if defined(NEW_GFX_ENGINE)
698699
for (i = 0; i < h;
699700
i++, C += inc, C2 += inc * 4, P += XBUF_WIDTH, M += XBUF_WIDTH)
@@ -818,7 +819,7 @@ PutSpriteHflipMakeMask (UChar * P, UChar * C, UChar * C2, UChar * R,
818819
int h, int inc, UChar * M, UChar pr)
819820
{
820821
int i, J;
821-
unsigned long L;
822+
Uint32 L;
822823
#if defined(NEW_GFX_ENGINE)
823824
for (i = 0; i < h;
824825
i++, C += inc, C2 += inc * 4, P += XBUF_WIDTH, M += XBUF_WIDTH)

0 commit comments

Comments
 (0)