X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fnetserv.c;h=8a41aee586b8caa48be7d43acee1ce6e1c34578c;hb=ee77ce3259f523c93305be15ed5c114a79aea181;hp=692265338b597df45b8b62510eb2bb736da08919;hpb=98cdb3fce945485772ccc49741fa29051338ce0d;p=rocksndiamonds.git diff --git a/src/netserv.c b/src/netserv.c index 69226533..8a41aee5 100644 --- a/src/netserv.c +++ b/src/netserv.c @@ -203,7 +203,6 @@ static void AddPlayer(int fd) nxn = 1; -#if 1 while (again) { again = FALSE; @@ -221,19 +220,6 @@ static void AddPlayer(int fd) v = v->next; } } -#else - again: - v = player->next; - while (v) - { - if (v->number == nxn) - { - nxn++; - goto again; - } - v = v->next; - } -#endif player->number = nxn; #if !defined(TARGET_SDL) @@ -307,11 +293,11 @@ static void Handle_OP_NUMBER_WANTED(struct NetworkServerPlayerInfo *player) Error(ERR_NETWORK_SERVER, "client %d (%s) switches to # %d", player->number, player->player_name, nr_wanted); else if (player->number == nr_wanted) - Error(ERR_NETWORK_SERVER, "client %d (%s) still has # %d", + Error(ERR_NETWORK_SERVER, "client %d (%s) already has # %d", player->number, player->player_name, nr_wanted); else Error(ERR_NETWORK_SERVER, - "client %d (%s) cannot switch (client %d still exists)", + "client %d (%s) cannot switch (client %d already exists)", player->number, player->player_name, nr_wanted); } @@ -389,11 +375,11 @@ static void Handle_OP_START_PLAYING(struct NetworkServerPlayerInfo *player) if (options.verbose) Error(ERR_NETWORK_SERVER, - "client %d (%s) starts game [level %d from levedir %d (%s)]", + "client %d (%s) starts game [level %d from leveldir %d (%s)]", player->number, player->player_name, (buffer[2] << 8) + buffer[3], (buffer[4] << 8) + buffer[5], - &buffer[6]); + &buffer[10]); for (w = first_player; w; w = w->next) if (w->introduced) @@ -402,6 +388,8 @@ static void Handle_OP_START_PLAYING(struct NetworkServerPlayerInfo *player) /* reset frame counter */ ServerFrameCounter = 0; + Error(ERR_NETWORK_SERVER, "resetting ServerFrameCounter to 0"); + /* reset player actions */ for (v = first_player; v; v = v->next) { @@ -430,10 +418,12 @@ static void Handle_OP_CONTINUE_PLAYING(struct NetworkServerPlayerInfo *player) static void Handle_OP_STOP_PLAYING(struct NetworkServerPlayerInfo *player) { + int cause_for_stopping = buffer[2]; + if (options.verbose) - Error(ERR_NETWORK_SERVER, "client %d (%s) stops game", - player->number, player->player_name); - broadcast(NULL, 2, 0); + Error(ERR_NETWORK_SERVER, "client %d (%s) stops game [%d]", + player->number, player->player_name, cause_for_stopping); + broadcast(NULL, 3, 0); } static void Handle_OP_MOVE_PLAYER(struct NetworkServerPlayerInfo *player) @@ -481,6 +471,11 @@ static void Handle_OP_MOVE_PLAYER(struct NetworkServerPlayerInfo *player) broadcast(NULL, 6 + last_client_nr, 0); +#if 0 + Error(ERR_NETWORK_SERVER, "sending ServerFrameCounter value %d", + ServerFrameCounter); +#endif + ServerFrameCounter++; }