This change is required if the BD cave time was increased by
collecting clocks; else the game is running out of time too early in
the main game engine, which still uses the previous level time, even
though the BD cave time is displayed correctly in the game panel.
However, a decreased BD cave time (for example, if a voodoo doll was
destroyed) may not be set in the main engine, as it may result in an
immediate "out of time" event, which is handled separately in the main
game engine.
return FALSE;
}
+void SetTimeLeft(int time_left)
+{
+ TimeLeft = time_left;
+}
+
void PlayLevelSound_EM(int xx, int yy, int element_em, int sample)
{
int element = (element_em > -1 ? map_element_EM_to_RND_game(element_em) : 0);
cave->time += cave->time_bonus * cave->timing_factor;
if (cave->time > cave->max_time * cave->timing_factor)
cave->time -= cave->max_time * cave->timing_factor;
+ setTimeLeft_BD();
// no space, rather a dirt remains there...
return O_DIRT;
int getNonScannedElement_BD(int);
int getFramesPerSecond_BD(void);
int getTimeLeft_BD(void);
+void setTimeLeft_BD(void);
void SetTimeFrames_BD(int);
void InitGfxBuffers_BD(void);
void StopSound_BD(int, int);
boolean isSoundPlaying_BD(int, int);
+void SetTimeLeft(int);
void BackToFront(void);
byte *TapePlayAction_BD(void);
return 0;
}
+void setTimeLeft_BD(void)
+{
+ SetTimeLeft(getTimeLeft_BD());
+}
+
void SetTimeFrames_BD(int frames_played)
{
// needed to store final time after solving game (before counting down remaining time)