major cleanup of preprocessor hell
[rocksndiamonds.git] / src / game_sp / BugsTerminals.c
index ec4be1ea66feebb06629dd91ae7d23c4b8f881c2..afa7345e8bf40d7a843b5df8cdbf18667cecdd3f 100644 (file)
@@ -5,7 +5,8 @@
 #include "BugsTerminals.h"
 
 
-byte *TerminalState;
+byte TerminalState[SP_MAX_PLAYFIELD_SIZE + SP_HEADER_SIZE];
+
 int TerminalMaxCycles;
 
 
@@ -26,7 +27,7 @@ void subAnimateBugs(int si)
   if ((TimerVar & 3) == 0)
   {
     bl = bl + 1;
-    if (bl >= 0xE)
+    if (bl >= 14)                      // bugs animation has 14 frames
     {
       bl = subGetRandomNumber();       // generate new random number
       bl = -((bl & 0x3F) + 0x20);
@@ -65,7 +66,7 @@ void subAnimateBugs(int si)
 
 void subAnimateTerminals(int si)
 {
-  short bl;
+  int bl;
 
   int lx = GetX(si);
   int ly = GetY(si);
@@ -79,9 +80,7 @@ void subAnimateTerminals(int si)
     GfxFrame[lx][ly]--;
 
   /* get last random animation delay */
-  bl = HighByte(PlayField16[si]);
-  if ((bl & 0x80) == 0x80)
-    bl = (bl | 0xFF00);
+  bl = SgnHighByte(PlayField16[si]);
 
   bl = bl + 1;
   if (bl <= 0)         /* return if random animation delay not yet reached */
@@ -124,7 +123,7 @@ void subAnimateTerminals(int si)
 
 void subRandomize()
 {
-  long Tick = MyGetTickCount();
+  int Tick = MyGetTickCount();
 
   RandomSeed = (Tick ^ (Tick >> 16)) & 0xFFFF;
 }