X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_sp%2FDoGameStuff.c;h=79b102d6dbfd8307df3e0f283b463cf116d929cd;hp=88434a90dbc64112c2f4b04002fbd5df2572d9b7;hb=c40a5c6109e586ce4049ca0900e5fb9c9ac60fb7;hpb=3ff2e8a0b5c27b99a9920bdf5ed82bc41bf40181 diff --git a/src/game_sp/DoGameStuff.c b/src/game_sp/DoGameStuff.c index 88434a90..79b102d6 100644 --- a/src/game_sp/DoGameStuff.c +++ b/src/game_sp/DoGameStuff.c @@ -17,12 +17,16 @@ byte AnimationSubTable[SP_MAX_PLAYFIELD_SIZE]; // Do game stuff // ========================================================================== -void subDoGameStuff() +void subDoGameStuff(void) { int si, cx, dx, bl; + int InfotronsNeeded_last = InfotronsNeeded; subAnimateMurphy(&MurphyPosIndex); // move Murphy in any direction + if (InfotronsNeeded != InfotronsNeeded_last) + game.snapshot.collected_item = TRUE; + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Build a database of locations and subs-to-call of animatable fields only: // Make a snapshot from the field before the animation cycle starts. @@ -67,14 +71,14 @@ void subDoGameStuff() if (KillMurphyFlag == 1 || MurphyMoveCounter == 0) { if (LeadOutCounter == 0 && - !game_sp.LevelSolved && - !game_sp.GameOver) + !game_sp.level_solved && + !game_sp.game_over) { KillMurphyFlag = 0; // no more "kill Murphy" ExplodeFieldSP(MurphyExplodePos); // Explode LeadOutCounter = 0x40; // quit: start lead-out - /* give Murphy some more time (LeadOutCounter) to reach the exit */ + // give Murphy some more time (LeadOutCounter) to reach the exit } } // loc_g_22FB: }