player->dynamite--;
DrawText(DX_DYNAMITE, DY_DYNAMITE, int2str(local_player->dynamite, 3),
FS_SMALL, FC_YELLOW);
- DrawGraphicThruMask(SCREENX(jx),SCREENY(jy),GFX_DYNAMIT);
+ if (IN_SCR_FIELD(SCREENX(jx),SCREENY(jy)))
+ DrawGraphicThruMask(SCREENX(jx),SCREENY(jy),GFX_DYNAMIT);
}
else
{
Store2[jx][jy] = player->element_nr; /* for DynaExplode() */
MovDelay[jx][jy] = 96;
player->dynabombs_left--;
- DrawGraphicThruMask(SCREENX(jx),SCREENY(jy),GFX_DYNABOMB);
+ if (IN_SCR_FIELD(SCREENX(jx),SCREENY(jy)))
+ DrawGraphicThruMask(SCREENX(jx),SCREENY(jy),GFX_DYNABOMB);
}
return(TRUE);
unsigned long new_random_seed;
unsigned char *new_leveldir_name;
+ if (game_status == PLAYING)
+ break;
+
new_level_nr = (buf[2] << 8) + buf[3];
new_leveldir_nr = (buf[4] << 8) + buf[5];
new_random_seed =
GetPlayerConfig();
LoadLevel(level_nr);
+ /*
if (autorecord_on)
TapeStartRecording();
+ */
- tape.random_seed = new_random_seed;
-
- InitRND(tape.random_seed);
+ if (tape.recording)
+ {
+ tape.random_seed = new_random_seed;
+ InitRND(tape.random_seed);
+ }
/*
printf("tape.random_seed == %d\n", tape.random_seed);
}
else if (y==8)
{
+ if (autorecord_on)
+ TapeStartRecording();
+
if (standalone)
{
- if (autorecord_on)
- TapeStartRecording();
-
game_status = PLAYING;
InitGame();
}
if (TAPE_IS_STOPPED(tape))
{
TapeStartRecording();
- game_status = PLAYING;
- InitGame();
+
+ if (standalone)
+ {
+ game_status = PLAYING;
+ InitGame();
+ }
+ else
+ SendToServer_StartPlaying();
}
else if (tape.pausing)
{
if (TAPE_IS_STOPPED(tape))
{
TapeStartPlaying();
- game_status = PLAYING;
- InitGame();
+
+ if (standalone)
+ {
+ game_status = PLAYING;
+ InitGame();
+ }
+ else
+ SendToServer_StartPlaying();
}
else if (tape.playing)
{