DEADSOFTWARE

Изменён способ передачи does команд и исправлены адские тормоза
[netwar.git] / server.c
index d6cbfcc3b3c07cb1670bb914466dd414dca5136d..5e4823451f706e01bb394d6312de50135bf40436 100644 (file)
--- a/server.c
+++ b/server.c
@@ -111,14 +111,13 @@ static void sv_register_player(IPaddress address, ProtocolMessage m) {
 static void sv_recv() {
        IPaddress address;
        ProtocolMessage m;
-       if(!RecvMessage(sock, &address, &m))
-               return;
-
-       switch(m.type) {
-       case CL_INFO: sv_register_player(address, m); break;
-       case CL_KILL: sv_kill_player(sv_find_client(address), false, ""); break;
-       case CL_DOES: sv_move_player(sv_find_client(address), m); break;
-       default:      SDL_Log("invalid message %i", m.type);
+       while(RecvMessage(sock, &address, &m)) {
+               switch(m.type) {
+               case CL_INFO: sv_register_player(address, m); break;
+               case CL_KILL: sv_kill_player(sv_find_client(address), false, ""); break;
+               case CL_DOES: sv_move_player(sv_find_client(address), m); break;
+               default:      SDL_Log("invalid message %i", m.type);
+               }
        }
 }