/*
 *	$Source: /afs/athena.mit.edu/user/j/i/jik/sipbsrc/src/mboggle/RCS/boggle.h,v $
 *	$Header: /afs/athena.mit.edu/user/j/i/jik/sipbsrc/src/mboggle/RCS/boggle.h,v 1.9 1992/08/04 04:43:36 jik Exp $
 */

#define MAX_NUM_OF_PLAYERS	10	/* the # that will fit on the screen */
#define MAX_NAME_LENGTH		18	/* the 17 in print_scores + one null */
#define MAX_WORD_LENGTH		26	/* (5 x 5) + one for null */
#define MAX_NUM_OF_WORDS	200

#define SOG_PLAYING	1
#define SOG_SCORING	2
#define SOG_WAITING	3

/* These codes are the various states a player can be in, and are also used
   as messages from boggle to the bogglemaster. */
#define PLAYER_DONE		1
#define PLAYER_PLAYING		2
#define PLAYER_VOTES_YES	3
#define PLAYER_VOTES_NO		4
#define PLAYER_ABSTAINS		5
#define PLAYER_DECIDING		6
#define PLAYER_READY		7
#define PLAYER_VIEWING		8
#define PLAYER_IN_QUESTION	9
#define PLAYER_PASSING		10
#define PLAYER_INVITED		11

/* These messages are sent from the bogglemaster to boggle. */
#define GAME_STATE		1
#define NEW_GAME		2
#define WE_ARE_VOTING		3
#define THEY_ARE_VOTING		4
#define WANT_TO_PLAY		5
#define SEND_WORDS		6
#define CURRENT_TRAY		7
#define WINNING_WORD		8
#define STATE_UPDATE		9
#define SCORED_WORD		10
#define YOURE_DONE		11

struct player_ext {
    long		ease_rating; /* 100 * the actual ease rating,
					so we can make it a long and
					convert to net byte order easily */
    unsigned short	tray_score;
    unsigned short	total_score;
    unsigned char	num_of_games;
    char		state;
    char		name[MAX_NAME_LENGTH];
};

#define MOTDFILE "/usr/sipb/lib/gameserver/mbogglemotd"
