X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FBugsTerminals.c;h=d0a82ad4becb240c0c746008bbb0daf19e67df23;hb=abe44529b439ad39b4d8dbf19cbd67c9b9844279;hp=ec4be1ea66feebb06629dd91ae7d23c4b8f881c2;hpb=d45b35552f4ca1ada1266fb7e8b6968d878019a6;p=rocksndiamonds.git diff --git a/src/game_sp/BugsTerminals.c b/src/game_sp/BugsTerminals.c index ec4be1ea..d0a82ad4 100644 --- a/src/game_sp/BugsTerminals.c +++ b/src/game_sp/BugsTerminals.c @@ -5,7 +5,12 @@ #include "BugsTerminals.h" +#if 1 +byte TerminalState[SP_MAX_PLAYFIELD_SIZE + SP_HEADER_SIZE]; +#else byte *TerminalState; +#endif + int TerminalMaxCycles; @@ -26,7 +31,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 +70,7 @@ void subAnimateBugs(int si) void subAnimateTerminals(int si) { - short bl; + int bl; int lx = GetX(si); int ly = GetY(si); @@ -79,9 +84,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 +127,7 @@ void subAnimateTerminals(int si) void subRandomize() { - long Tick = MyGetTickCount(); + int Tick = MyGetTickCount(); RandomSeed = (Tick ^ (Tick >> 16)) & 0xFFFF; }