1 #define CLIENT
2 /* versions are in date format, ie "ver0/ver1/ver2" d/m/y */
3 #define VER0 1
4 #define VER1 6
5 #define VER2 1
6 #define VERSION "XTux Arena client 20010601"
7 
8 #define DEFAULT_MAP "penguinland.map"
9 #define DEBUG 0
10 
11 #define TEXT_BUF_LINES 4
12 #define MESSAGE_DISPLAY_TIME M_SEC * 3.5
13 
14 /* This makes load times longer, but stops pauses in game while loading
15    the entities */
16 #define LOAD_ENTITIES_AT_STARTUP 0
17 
18 #define X_TILES 8
19 #define Y_TILES 6
20 
21 typedef struct {
22     char map[NETMSG_STRLEN]; /* The maps filename */
23     char objective[TEXTMESSAGE_STRLEN]; /* Game objective */
24     /****** User data ******/
25     char *player_name;
26     int frags;
27     int health;
28     int weapon;
29     int ammo;
30     byte entity_type;
31     /******* Network connection *********/
32     char *server_address;
33     int port;
34     int connected;
35     /******* Game state *********/
36     enum {
37 	QUIT,
38 	MENU,
39 	GAME_LOAD,
40 	GAME_RESUME,
41 	GAME_JOIN,
42 	GAME_PLAY
43     } state;
44     sv_status_t sv_status;
45     /******* Client Window details *******/
46     shortpoint_t screenpos; /* screens top left hand corner in game world */
47     shortpoint_t map_target; /* Where the player is going to */
48     int map_target_active;
49     int x_tiles;
50     int y_tiles;
51     int view_w;
52     int view_h;
53     int desired_w;
54     int desired_h;
55     /* Client options */
56     int ep_expire; /* Extra particles expire time (seconds) */
57     int loadscreen;
58     int gamemode;
59     int fps;
60     int debug;
61     int crosshair_radius;
62     int textentry; /* Toggle to turn status bar into text entry box */
63     int show_objective; /* Toggle to show objective */
64     int turn_rate; /* Degree's player turns per keyhit */
65     int mousemode;
66     int sniper_mode;
67     char *demoname;
68     enum {
69 	DEMO_NONE,
70 	DEMO_PLAY,
71 	DEMO_RECORD
72     } demo;
73     msec_t text_message_display_time;
74     movemode_t movement_mode;
75     enum {
76 	HEALTHBAR,
77 	NUMBER
78     } status_type;
79     netstats_t netstats;
80     byte color1;
81     byte color2;
82     byte dir; /* 0.255 degrees */
83 
84     int with_ggz;
85 } client_t;
86 
87 void game_close(void);
88 int cl_change_map(char *map_name, int gamemode);
89