1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
/*
Copyright (C) 2003-2006 Andrey Nazarov
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#define MAX_LOCAL_SERVERS 16
#define MAX_DEMOINFO_CLIENTS 20
#define MAX_STATUS_PLAYERS 64
typedef struct {
char name[MAX_CLIENT_NAME];
int ping;
int score;
} playerStatus_t;
typedef struct {
char address[MAX_QPATH];
char infostring[MAX_STRING_CHARS]; // BIG infostring
playerStatus_t players[MAX_STATUS_PLAYERS];
int numPlayers;
int ping;
} serverStatus_t;
typedef struct {
char map[MAX_QPATH];
char pov[MAX_CLIENT_NAME];
} demoInfo_t;
typedef enum {
ACT_MINIMIZED,
ACT_RESTORED,
ACT_ACTIVATED
} active_t;
void CL_ProcessEvents( void );
#if USE_ICMP
void CL_ErrorEvent( void );
#endif
void CL_Init (void);
void CL_Disconnect( error_type_t type, const char *text );
void CL_Shutdown (void);
void CL_Frame (unsigned msec);
void CL_RestartFilesystem( qboolean total );
void CL_Activate( active_t active );
void CL_UpdateUserinfo( cvar_t *var, from_t from );
qboolean CL_SendStatusRequest( char *buffer, size_t size );
demoInfo_t *CL_GetDemoInfo( const char *path, demoInfo_t *info );
qboolean CL_ForwardToServer( void );
// adds the current command line as a clc_stringcmd to the client message.
// things like godmode, noclip, etc, are commands directed to the server,
// so when they are typed in at the console, they will need to be forwarded.
void Con_Init( void );
void Con_SetColor( color_index_t color );
void Con_Print( const char *text );
void Con_Printf( const char *fmt, ... );
void Con_Close( void );
// this is in the client code, but can be used for debugging from server
void SCR_DebugGraph (float value, int color);
void SCR_BeginLoadingPlaque (void);
void SCR_EndLoadingPlaque( void );
void SCR_ModeChanged( void );
void SCR_UpdateScreen( void );
#define colorBlack colorTable[COLOR_BLACK]
#define colorRed colorTable[COLOR_RED]
#define colorGreen colorTable[COLOR_GREEN]
#define colorYellow colorTable[COLOR_YELLOW]
#define colorBlue colorTable[COLOR_BLUE]
#define colorCyan colorTable[COLOR_CYAN]
#define colorMagenta colorTable[COLOR_MAGENTA]
#define colorWhite colorTable[COLOR_WHITE]
#define MAKERGB(v,r,g,b) ((v)[0]=(r),(v)[1]=(g),(v)[2]=(b))
#define MAKERGBA(v,r,g,b,a) ((v)[0]=(r),(v)[1]=(g),(v)[2]=(b),(v)[3]=(a))
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#define CHAR_WIDTH 8
#define CHAR_HEIGHT 8
#define UI_LEFT 0x00000001
#define UI_RIGHT 0x00000002
#define UI_CENTER (UI_LEFT|UI_RIGHT)
#define UI_BOTTOM 0x00000004
#define UI_TOP 0x00000008
#define UI_MIDDLE (UI_BOTTOM|UI_TOP)
#define UI_DROPSHADOW 0x00000010
#define UI_ALTCOLOR 0x00000020
#define UI_IGNORECOLOR 0x00000040
#define UI_ALTESCAPES 0x00000080
#define UI_AUTOWRAP 0x00000100
#define UI_MULTILINE 0x00000200
#define UI_DRAWCURSOR 0x00000400
extern const color_t colorTable[8];
qboolean SCR_ParseColor( const char *s, color_t color );
float V_CalcFov( float fov_x, float width, float height );
void IN_Frame( void );
void IN_Activate( void );
void IN_MouseEvent( int x, int y );
void IN_WarpMouse( int x, int y );
void Key_Init( void );
void Key_Event( unsigned key, qboolean down, unsigned time );
void Key_CharEvent( int key );
void Key_WriteBindings( fileHandle_t f );
char *VID_GetClipboardData( void );
void VID_SetClipboardData( const char *data );
void VID_FatalShutdown( void );
|