}
else if (y == 5)
{
+#if 1
+ StartGameActions(options.network, setup.autorecord, NEW_RANDOMIZE);
+#else
if (setup.autorecord)
TapeStartRecording();
StopAnimation();
InitGame();
}
+#endif
}
else if (y == 6)
{
for (i = 0; i < MAX_INFO_ELEMENTS_ON_SCREEN; i++)
infoscreen_step[i] = infoscreen_frame[i] = 0;
+#if 0
SetMainBackgroundImage(IMG_BACKGROUND_INFO);
+#endif
+
ClearWindow();
DrawHeadline();
void DrawInfoScreen_Elements()
{
+ SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_ELEMENTS);
+
LoadHelpAnimInfo();
LoadHelpTextInfo();
void DrawInfoScreen_Music()
{
+ SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_MUSIC);
+
ClearWindow();
DrawHeadline();
int ystart = 150, ystep = 30;
int ybottom = SYSIZE - 20;
+ SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_CREDITS);
+
FadeSoundsAndMusic();
ClearWindow();
int ystart = 150, ystep = 30;
int ybottom = SYSIZE - 20;
+ SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_PROGRAM);
+
ClearWindow();
DrawHeadline();
int max_chars_per_line = (SXSIZE - 2 * pad_x) / font_width;
int max_lines_per_screen = (SYSIZE - pad_y) / font_height - 1;
+ SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_LEVELSET);
+
ClearWindow();
DrawHeadline();
}
else
{
+ if (game.restart_level)
+ StartGameActions(options.network, setup.autorecord, NEW_RANDOMIZE);
+
if (local_player->LevelSolved)
GameWon();
}
}
+void StartGameActions(boolean init_network_game, boolean record_tape,
+ long random_seed)
+{
+ if (record_tape)
+ TapeStartRecording(random_seed);
+
+#if defined(NETWORK_AVALIABLE)
+ if (init_network_game)
+ {
+ SendToServer_StartPlaying();
+
+ return;
+ }
+#endif
+
+ StopAnimation();
+
+ game_status = GAME_MODE_PLAYING;
+
+ InitRND(random_seed);
+
+ InitGame();
+}
+
/* ---------- new screen button stuff -------------------------------------- */
/* graphic position and size values for buttons and scrollbars */