summaryrefslogtreecommitdiff
path: root/src/net_defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/net_defs.h')
-rw-r--r--src/net_defs.h44
1 files changed, 43 insertions, 1 deletions
diff --git a/src/net_defs.h b/src/net_defs.h
index d9e3b920..1fa9a9af 100644
--- a/src/net_defs.h
+++ b/src/net_defs.h
@@ -26,10 +26,25 @@
#ifndef NET_DEFS_H
#define NET_DEFS_H
-#include "doomdef.h"
+#include <stdio.h>
+
#include "doomtype.h"
#include "d_ticcmd.h"
+// Absolute maximum number of "nodes" in the game. This is different to
+// MAXPLAYERS, as there may be observers that are not participating
+// (eg. left/right monitors)
+
+#define MAXNETNODES 16
+
+// The maximum number of players, multiplayer/networking.
+
+#define MAXPLAYERS 4
+
+// Networking and tick handling related.
+
+#define BACKUPTICS 128
+
typedef struct _net_module_s net_module_t;
typedef struct _net_packet_s net_packet_t;
typedef struct _net_addr_s net_addr_t;
@@ -121,6 +136,22 @@ typedef enum
NET_MASTER_PACKET_TYPE_QUERY_RESPONSE
} net_master_packet_type_t;
+// Settings specified when the client connects to the server.
+
+typedef struct
+{
+ int gamemode;
+ int gamemission;
+ int lowres_turn;
+ int drone;
+ // TODO: is_freedoom in here? WAD/DEH checksums?
+ // TODO: [Hexen] Requested player class
+
+} net_connect_data_t;
+
+// Game settings sent by client to server when initiating game start,
+// and received from the server by clients when the game starts.
+
typedef struct
{
int ticdup;
@@ -137,6 +168,15 @@ typedef struct
int new_sync;
int timelimit;
int loadgame;
+
+ // These fields are only used by the server when sending a game
+ // start message:
+
+ int num_players;
+ int consoleplayer;
+
+ // TODO: [Hexen] Array of player classes, one for each player.
+
} net_gamesettings_t;
#define NET_TICDIFF_FORWARD (1 << 0)
@@ -145,6 +185,8 @@ typedef struct
#define NET_TICDIFF_BUTTONS (1 << 3)
#define NET_TICDIFF_CONSISTANCY (1 << 4)
#define NET_TICDIFF_CHATCHAR (1 << 5)
+#define NET_TICDIFF_LOOKFLY (1 << 6)
+#define NET_TICDIFF_ARTIFACT (1 << 7)
typedef struct
{