summaryrefslogtreecommitdiff
path: root/src/net_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net_client.c')
-rw-r--r--src/net_client.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/net_client.c b/src/net_client.c
index da29d86f..eae95cc9 100644
--- a/src/net_client.c
+++ b/src/net_client.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: net_client.c 277 2006-01-09 01:50:51Z fraggle $
+// $Id: net_client.c 278 2006-01-09 02:03:39Z fraggle $
//
// Copyright(C) 2005 Simon Howard
//
@@ -21,6 +21,10 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.15 2006/01/09 02:03:39 fraggle
+// Send clients their player number, and indicate on the waiting screen
+// which client we are.
+//
// Revision 1.14 2006/01/09 01:50:51 fraggle
// Deduce a sane player name by examining environment variables. Add
// a "player_name" setting to chocolate-doom.cfg. Transmit the name
@@ -124,6 +128,10 @@ int net_clients_in_game;
char net_player_addresses[MAXPLAYERS][MAXPLAYERNAME];
char net_player_names[MAXPLAYERS][MAXPLAYERNAME];
+// Player number
+
+int net_player_number;
+
// Waiting for the game to start?
boolean net_waiting_for_start = false;
@@ -152,21 +160,24 @@ static void NET_CL_ParseWaitingData(net_packet_t *packet)
{
unsigned int num_players;
unsigned int is_controller;
+ unsigned int player_number;
char *player_names[MAXPLAYERS];
char *player_addr[MAXPLAYERS];
int i;
if (!NET_ReadInt8(packet, &num_players)
- || !NET_ReadInt8(packet, &is_controller))
+ || !NET_ReadInt8(packet, &is_controller)
+ || !NET_ReadInt8(packet, &player_number))
{
// invalid packet
return;
}
- if (num_players > MAXPLAYERS)
+ if (num_players > MAXPLAYERS
+ || player_number >= num_players)
{
- // Invalid number of players
+ // insane data
return;
}
@@ -186,6 +197,7 @@ static void NET_CL_ParseWaitingData(net_packet_t *packet)
net_clients_in_game = num_players;
net_client_controller = is_controller != 0;
+ net_player_number = player_number;
for (i=0; i<num_players; ++i)
{