{
int i, x, y;
- /* set global editor control values */
- editor.draw_walls_masked = FALSE;
-
/* set global game control values */
game_mm.num_cycle = 0;
game_mm.num_pacman = 0;
game_mm.score = 0;
- game_mm.energy_left = native_mm_level.time;
+ game_mm.energy_left = 0; // later set to "native_mm_level.time"
game_mm.kettles_still_needed =
(native_mm_level.auto_count_kettles ? 0 : native_mm_level.kettles_needed);
game_mm.lights_still_needed = 0;
game_mm.game_over = FALSE;
game_mm.game_over_cause = 0;
+ game_mm.laser_overload_value = 0;
+
/* set global laser control values (must be set before "InitLaser()") */
laser.start_edge.x = 0;
laser.start_edge.y = 0;
DrawLevel_MM();
}
-void InitGameEngine_MM_AfterFadingIn()
+void InitGameActions_MM()
{
+ int i;
+
InitCycleElements();
InitLaser();
if (setup.sound_loops)
PlaySoundExt(SND_FUEL, SOUND_MAX_VOLUME, SOUND_MAX_RIGHT, SND_CTRL_PLAY_LOOP);
-#if 0 // !!! TEMPORARILY DISABLED !!!
- for (i = 0; i <= game_mm.energy_left; i += 2)
+ for (i = 0; i <= native_mm_level.time; i += 2)
{
if (!setup.sound_loops)
PlaySoundStereo(SND_FUEL, SOUND_MAX_RIGHT);
-#if 0
- BlitBitmap(pix[PIX_DOOR], drawto,
- DOOR_GFX_PAGEX4 + XX_ENERGY,
- DOOR_GFX_PAGEY1 + YY_ENERGY + ENERGY_YSIZE - i,
- ENERGY_XSIZE, i,
- DX_ENERGY, DY_ENERGY + ENERGY_YSIZE - i);
-#endif
+ game_mm.energy_left = i;
+
+ UpdateAndDisplayGameControlValues();
- redraw_mask |= REDRAW_DOOR_1;
BackToFront();
ColorCycling();
if (setup.quick_doors)
continue;
#endif
-
- Delay(20);
}
+ game_mm.energy_left = native_mm_level.time;
+
if (setup.sound_loops)
StopSound(SND_FUEL);
-#endif
#if 0
if (setup.sound_music && num_bg_loops)
int element;
int end = 0, rf = laser.num_edges;
+ /* do not scan laser again after the game was lost for whatever reason */
+ if (game_mm.game_over)
+ return;
+
laser.overloaded = FALSE;
laser.stops_inside_element = FALSE;
laser.overload_value = 0;
}
+ game_mm.laser_overload_value = laser.overload_value;
+
if (laser.overload_value < MAX_LASER_OVERLOAD - 8)
{
int color_up = 0xFF * laser.overload_value / MAX_LASER_OVERLOAD;