NET.H
/******************************************************************** 
MODULE: Net.H 
 
This module contains the definitions required for network packets, including 
specialized structures, network message numbers, and so on. 
********************************************************************/ 
 
#ifndef _NET_H_INC_ 
#define _NET_H_INC_ 
 
#define NP_NEWPLAYER        1 
#define NP_REQUESTIDENTITY  2 
#define NP_MOVETO           3 
#define NP_SHOTFIRED        4 
#define NP_LEAVINGGAME      5 
#define NP_HITCONFIRM       6 
#define NP_SCORE            7 
#define NP_INTONE           8 
 
#define MAX_PACKET_SIZE                400 
#ifndef MAX_COMPUTERNAME_LENGTH 
#define MAX_COMPUTERNAME_LENGTH         32 
#endif 
#define MAX_USERNAME_LENGTH             32 
 
                /* A network packet is all crunched together, leading directly 
                   from the header on into data. We make cData the last element 
                   of the header, then take a pointer to it, and viola! 
                   beginning of message-specific information. 
                 */ 
struct _s_NetPacketType { 
  unsigned long ulSender; 
  unsigned long ulDest; 
  DWORD dwPacketType; 
  char cData;           // We'll take a pointer to this for start of info. 
  }; 
typedef struct _s_NetPacketType NetPacketType; 
 
 
struct _s_PlayerInfoType { 
  unsigned long ulID; 
  DWORD dwPID; 
  char cUserName[MAX_USERNAME_LENGTH]; 
  char cComputerName[MAX_COMPUTERNAME_LENGTH]; 
  int ix, iy; 
  BYTE bFacing; 
  int iScore; 
  int iPicNum; 
  int iGridNum; 
  POINT pGridLoc; 
  }; 
 
typedef struct _s_PlayerInfoType PlayerInfoType; 
 
 
#endif