fixed bug with variable defined as "long" that should be "int" in EM engine
authorHolger Schemel <info@artsoft.org>
Sun, 4 Feb 2018 20:58:31 +0000 (21:58 +0100)
committerHolger Schemel <info@artsoft.org>
Sun, 4 Feb 2018 22:11:27 +0000 (23:11 +0100)
- this was apparently overseen when fixing the R'n'D code for 64-bit systems
  back in 2011 by replacing all "long" with "int" types (see commit 61c3da0)
- this bug was open to the public since version 3.3.1.0 was released in 2013
- this bug has potentially broken all EM engine tapes containing amoeba
- fixing this bug potentially breaks similar tapes between 2013 and now
- tapes created before 3.3.1.0 and broken due to this bug should work again

src/game_em/synchro_3.c

index 307d285ebfa6794efa687a1efe477ddd53ca419a..ca83a820d2fdcad18834058d06a166dbabf2ba36 100644 (file)
@@ -13,7 +13,7 @@ void synchro_3(void)
   int x;
   int y;
   int count;
-  unsigned long random;
+  unsigned int random;
 
   /* update variables */