DEADSOFTWARE

Добавлена задержка между выстрелами. У клиента пули не создаются без подтвеждения...
[netwar.git] / game.h
diff --git a/game.h b/game.h
index 44bad6348d2dfe74d980270ad03bd066bba26473..a2d44b4ba1c82167c55681235148d7efb884c098 100644 (file)
--- a/game.h
+++ b/game.h
@@ -2,17 +2,19 @@
 
 #include "protocol.h"
 
-#define MAX_PLAYERS 32
-#define MAX_BULLETS (MAX_PLAYERS * 8)
-#define TICK_DELAY  (1000 / 40)
-#define BULLET_TIME (TICK_DELAY * 6)
-#define PLAYER_SIZE 0.01785
+#define MAX_PLAYERS  32
+#define MAX_BULLETS  (MAX_PLAYERS * 8)
+#define TICK_DELAY   (1000 / 20)        // 20 World updates per second
+#define BULLET_TIME  (TICK_DELAY * 6)   // Bullet live time 6.0s
+#define PLAYER_SIZE  0.01785            // Palyer radius
+#define PLAYER_SHOOT (TICK_DELAY * 0.3) // Can shoot every 0.15s
 
 typedef struct Player {
        /* public */
        bool  live;
        float x, y, r;
        float vx, vy, vr;
+       int   shoot;
 
        /* internal */
        bool  updated;
@@ -33,7 +35,8 @@ typedef struct Bullet {
 extern Player g_player[MAX_PLAYERS];
 extern Bullet g_bullet[MAX_BULLETS];
 
-void g_player_set(unsigned int id, bool live, float x, float y, float r, float vx, float vy, float vr);
+void g_player_set(unsigned int id, bool live, float x, float y, float r, float vx, float vy, float vr, int shoot);
 void g_bullet_set(unsigned int id, unsigned int owner, bool live, float x, float y, float vx, float vy, int tick);
 void g_player_does(unsigned int id, DoesBits code);
 void g_update();
+void g_init(bool server_mode);