X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_sp%2FBugsTerminals.c;h=cf808c09b3f27df7ba9b8872d4dde8e2e6abb2b0;hp=9dc2c5576eb3e1dde483a673032eed5791391294;hb=64e7c54dce6ea8c063f04198c64c5057d751c928;hpb=ce0bba1a070e5e64939491eb68087f68ef8fe870 diff --git a/src/game_sp/BugsTerminals.c b/src/game_sp/BugsTerminals.c index 9dc2c557..cf808c09 100644 --- a/src/game_sp/BugsTerminals.c +++ b/src/game_sp/BugsTerminals.c @@ -5,7 +5,8 @@ #include "BugsTerminals.h" -byte *TerminalState; +byte TerminalState[SP_MAX_PLAYFIELD_SIZE + SP_HEADER_SIZE]; + int TerminalMaxCycles; @@ -74,26 +75,26 @@ void subAnimateTerminals(int si) if (LowByte(PlayField16[si]) != fiTerminal) return; - /* use native frame handling (undo frame incrementation in main loop) */ + // use native frame handling (undo frame incrementation in main loop) if (game.use_native_sp_graphics_engine) GfxFrame[lx][ly]--; - /* get last random animation delay */ + // get last random animation delay bl = SgnHighByte(PlayField16[si]); bl = bl + 1; - if (bl <= 0) /* return if random animation delay not yet reached */ + if (bl <= 0) // return if random animation delay not yet reached { MovHighByte(&PlayField16[si], bl); return; } - /* calculate new random animation delay */ + // calculate new random animation delay bl = -(subGetRandomNumber() & TerminalMaxCycles); // generate new random number MovHighByte(&PlayField16[si], bl); // save new sequence number - /* check terminal state (active or inactive) */ + // check terminal state (active or inactive) bl = TerminalState[si] + 1; if (bl == 8) bl = 0; @@ -120,9 +121,9 @@ void subAnimateTerminals(int si) // Randomize random number generator // ========================================================================== -void subRandomize() +void subRandomize(void) { - long Tick = MyGetTickCount(); + int Tick = MyGetTickCount(); RandomSeed = (Tick ^ (Tick >> 16)) & 0xFFFF; } @@ -133,7 +134,7 @@ void subRandomize() // Generate new random number, first method (see also sub_g_8580) // ========================================================================== -int subGetRandomNumber() +int subGetRandomNumber(void) { RandomSeed = (RandomSeed * 0x5E5 + 0x31) & 0xFFFF;