projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
enabled initial charging of laser energy (MM engine)
[rocksndiamonds.git]
/
src
/
game_mm
/
mm_game.c
diff --git
a/src/game_mm/mm_game.c
b/src/game_mm/mm_game.c
index 97dc986b20ea1fba1c617dbffb010cb660319b5c..39a17d94f6bbf4865ec232bbff03c6a4da6b6981 100644
(file)
--- a/
src/game_mm/mm_game.c
+++ b/
src/game_mm/mm_game.c
@@
-297,7
+297,7
@@
void InitGameEngine_MM()
game_mm.num_pacman = 0;
game_mm.score = 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.kettles_still_needed =
(native_mm_level.auto_count_kettles ? 0 : native_mm_level.kettles_needed);
game_mm.lights_still_needed = 0;
@@
-307,6
+307,8
@@
void InitGameEngine_MM()
game_mm.game_over = FALSE;
game_mm.game_over_cause = 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;
/* set global laser control values (must be set before "InitLaser()") */
laser.start_edge.x = 0;
laser.start_edge.y = 0;
@@
-348,8
+350,10
@@
void InitGameEngine_MM()
DrawLevel_MM();
}
DrawLevel_MM();
}
-void InitGame
Engine_MM_AfterFadingIn
()
+void InitGame
Actions_MM
()
{
{
+ int i;
+
InitCycleElements();
InitLaser();
InitCycleElements();
InitLaser();
@@
-386,21
+390,15
@@
void InitGameEngine_MM_AfterFadingIn()
if (setup.sound_loops)
PlaySoundExt(SND_FUEL, SOUND_MAX_VOLUME, SOUND_MAX_RIGHT, SND_CTRL_PLAY_LOOP);
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 (!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();
BackToFront();
ColorCycling();
@@
-409,13
+407,12
@@
void InitGameEngine_MM_AfterFadingIn()
if (setup.quick_doors)
continue;
#endif
if (setup.quick_doors)
continue;
#endif
-
- Delay(20);
}
}
+ game_mm.energy_left = native_mm_level.time;
+
if (setup.sound_loops)
StopSound(SND_FUEL);
if (setup.sound_loops)
StopSound(SND_FUEL);
-#endif
#if 0
if (setup.sound_music && num_bg_loops)
#if 0
if (setup.sound_music && num_bg_loops)
@@
-2922,6
+2919,8
@@
static void GameActions_MM_Ext(byte action[MAX_PLAYERS], boolean warp_mode)
laser.overload_value = 0;
}
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;
if (laser.overload_value < MAX_LASER_OVERLOAD - 8)
{
int color_up = 0xFF * laser.overload_value / MAX_LASER_OVERLOAD;