projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed bug in network mode with pausing game on errors when not playing
[rocksndiamonds.git]
/
src
/
network.c
diff --git
a/src/network.c
b/src/network.c
index 657c796b7cfd30d7b5951ab686f82d3ba3f04a48..f5148cd44615bd890860122333d5a4d216a4f1b0 100644
(file)
--- a/
src/network.c
+++ b/
src/network.c
@@
-620,8
+620,9
@@
static void Handle_OP_START_PLAYING()
{
Error(ERR_WARN, "no such level identifier: '%s'", new_leveldir_identifier);
{
Error(ERR_WARN, "no such level identifier: '%s'", new_leveldir_identifier);
- new_leveldir = leveldir_first;
- Error(ERR_WARN, "using default level set: '%s'", new_leveldir->identifier);
+ stop_network_game = TRUE;
+
+ return;
}
printf("OP_START_PLAYING: %d\n", buffer[0]);
}
printf("OP_START_PLAYING: %d\n", buffer[0]);
@@
-644,8
+645,11
@@
static void Handle_OP_PAUSE_PLAYING()
printf("OP_PAUSE_PLAYING: %d\n", buffer[0]);
Error(ERR_NETWORK_CLIENT, "client %d pauses game", buffer[0]);
printf("OP_PAUSE_PLAYING: %d\n", buffer[0]);
Error(ERR_NETWORK_CLIENT, "client %d pauses game", buffer[0]);
- tape.pausing = TRUE;
- DrawVideoDisplay(VIDEO_STATE_PAUSE_ON,0);
+ if (game_status == GAME_MODE_PLAYING)
+ {
+ tape.pausing = TRUE;
+ DrawVideoDisplay(VIDEO_STATE_PAUSE_ON,0);
+ }
}
static void Handle_OP_CONTINUE_PLAYING()
}
static void Handle_OP_CONTINUE_PLAYING()
@@
-653,8
+657,11
@@
static void Handle_OP_CONTINUE_PLAYING()
printf("OP_CONTINUE_PLAYING: %d\n", buffer[0]);
Error(ERR_NETWORK_CLIENT, "client %d continues game", buffer[0]);
printf("OP_CONTINUE_PLAYING: %d\n", buffer[0]);
Error(ERR_NETWORK_CLIENT, "client %d continues game", buffer[0]);
- tape.pausing = FALSE;
- DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0);
+ if (game_status == GAME_MODE_PLAYING)
+ {
+ tape.pausing = FALSE;
+ DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0);
+ }
}
static void Handle_OP_STOP_PLAYING()
}
static void Handle_OP_STOP_PLAYING()