DEADSOFTWARE

Добавлена задержка между выстрелами. У клиента пули не создаются без подтвеждения...
[netwar.git] / server.c
index 5e4823451f706e01bb394d6312de50135bf40436..e28b30203679bdde9c28ac957b2a8f487e9570cc 100644 (file)
--- a/server.c
+++ b/server.c
@@ -47,7 +47,7 @@ static void sv_sync_client(int id, bool full) {
 
        for(int i = 0; i < clientlimit; i++)
                if(full || g_player[i].updated)
-                       SendMessage(sock, client[id].address, sv_splr(i, g_player[i].live, g_player[i].x, g_player[i].y, g_player[i].r, g_player[i].vx, g_player[i].vy, g_player[i].vr));
+                       SendMessage(sock, client[id].address, sv_splr(i, g_player[i].live, g_player[i].x, g_player[i].y, g_player[i].r, g_player[i].vx, g_player[i].vy, g_player[i].vr, g_player[i].shoot));
 
        for(int i = 0; i < MAX_BULLETS; i++)
                if(full || g_bullet[i].updated)
@@ -56,7 +56,7 @@ static void sv_sync_client(int id, bool full) {
 
 static void sv_spawn_player(int id) {
        assert(id >= 0);
-       g_player_set(id, true, randfm(), randfm(), randfm(), 0, 0, 0);
+       g_player_set(id, true, randfm(), randfm(), randfm(), 0, 0, 0, PLAYER_SHOOT);
 }
 
 static void sv_kill_player(int id, bool send, const char * msg) {
@@ -67,7 +67,7 @@ static void sv_kill_player(int id, bool send, const char * msg) {
                SendMessage(sock, client[id].address, sv_kill(msg));
 
        client[id].connected = false;
-       g_player_set(id, false, 0, 0, 0, 0, 0, 0);
+       g_player_set(id, false, 0, 0, 0, 0, 0, 0, 0);
        SDL_Log("Player %s (%i) disconnected: %s", client[id].name, id, msg);
 }
 
@@ -134,6 +134,7 @@ static void sv_send() {
 }
 
 void sv_start(uint16_t port) {
+       g_init(true);
        sock = OpenPort(port);
        lastTime = SDL_GetTicks();
        currTime = SDL_GetTicks();