26#include "../qcommon/q_shared.h"
27#include "../qcommon/qcommon.h"
28#include "../cgame/tr_types.h"
29#include "../renderercommon/tr_public.h"
31#include "snd_public.h"
32#include "../cgame/cg_public.h"
33#include "../fgame/bg_public.h"
44#define QKEY_FILE "qkey"
47#define RETRANSMIT_TIMEOUT 3000
59int serverTimeResidual;
63 byte areamask[MAX_MAP_AREA_BYTES];
74 server_sound_t sounds[64];
98#define MAX_PARSE_ENTITIES 2048
100extern int g_console_field_width;
101extern int g_console_charWidth;
102extern int g_console_charHeight;
113 int oldFrameServerTime;
116 qboolean extrapolatedSnapshot;
118 qboolean newSnapshots;
121 char mapname[MAX_QPATH];
123 int parseEntitiesNum;
125 int mouseDx[2], mouseDy[2];
129 unsigned int mouseButtons;
131 int joystickAxis[MAX_JOYSTICK_AXIS];
135 usercmd_t cmds[CMD_BACKUP];
153 entityState_t entityBaselines[MAX_GENTITIES];
155 entityState_t parseEntities[MAX_PARSE_ENTITIES];
172#define MAX_TIMEDEMO_DURATIONS 4096
178 int lastPacketSentTime;
181 char servername[MAX_OSPATH];
184 int connectStartTime;
185 int connectPacketCount;
186 char serverMessage[MAX_STRING_TOKENS];
192 int reliableSequence;
193 int reliableAcknowledge;
194 char reliableCommands[MAX_RELIABLE_COMMANDS][MAX_STRING_CHARS];
202 int serverMessageSequence;
205 int serverCommandSequence;
206 int lastExecutedServerCommand;
207 char serverCommands[MAX_RELIABLE_COMMANDS][MAX_STRING_CHARS];
210 fileHandle_t download;
211 char downloadTempName[MAX_OSPATH];
212 char downloadName[MAX_OSPATH];
214 qboolean cURLEnabled;
216 qboolean cURLDisconnected;
217 char downloadURL[MAX_OSPATH];
219 CURLM *downloadCURLM;
221 int sv_allowDownload;
222 char sv_dlURL[MAX_CVAR_VALUE_STRING];
225 size_t downloadCount;
227 char downloadList[MAX_INFO_STRING];
228 qboolean downloadRestart;
231 char demoName[MAX_QPATH];
232 qboolean spDemoRecording;
233 qboolean demorecording;
234 qboolean demoplaying;
235 qboolean demowaiting;
236 qboolean firstDemoFrameSkipped;
237 fileHandle_t demofile;
241 int timeDemoBaseTime;
242 int timeDemoLastFrame;
243 int timeDemoMinDuration;
244 int timeDemoMaxDuration;
245 unsigned char timeDemoDurations[ MAX_TIMEDEMO_DURATIONS ];
247 float aviVideoFrameRemainder;
248 float aviSoundFrameRemainder;
251 qboolean voipEnabled;
252 qboolean voipCodecInitialized;
256 OpusDecoder *opusDecoder[MAX_CLIENTS];
257 byte voipIncomingGeneration[MAX_CLIENTS];
258 int voipIncomingSequence[MAX_CLIENTS];
259 float voipGain[MAX_CLIENTS];
260 qboolean voipIgnore[MAX_CLIENTS];
261 qboolean voipMuteAll;
266 uint8_t voipTargets[(MAX_CLIENTS + 7) / 8];
268 OpusEncoder *opusEncoder;
269 int voipOutgoingDataSize;
270 int voipOutgoingDataFrames;
271 int voipOutgoingSequence;
272 byte voipOutgoingGeneration;
273 byte voipOutgoingData[1024];
277#ifdef LEGACY_PROTOCOL
300 char info[MAX_INFO_STRING];
305 char hostName[ MAX_NAME_LENGTH ];
306 char mapName[ MAX_NAME_LENGTH ];
307 char game[ MAX_NAME_LENGTH ];
308 char gameTypeString[ MAX_NAME_LENGTH ];
328 qboolean vid_restart;
333 qboolean rendererRegistered;
334 qboolean cgameStarted;
340 float serverFrameTime;
347 qboolean bNewLocalServerInfo;
349 int numglobalservers;
352 int numGlobalServerAddresses;
353 netadr_t globalServerAddresses[MAX_GLOBAL_SERVERS];
355 int numfavoriteservers;
358 int nummplayerservers;
361 int pingUpdateSource;
367 char updateChallenge[MAX_TOKEN_CHARS];
368 char updateInfoString[MAX_INFO_STRING];
379 int character_lights;
380 hdelement_t HudDrawElements[ MAX_HUDDRAW_ELEMENTS ];
382 stopWatch_t stopwatch;
383 void* savedCgameState;
384 size_t savedCgameStateSize;
385 char gcdResponse[73];
388 qhandle_t charSetShader;
389 qhandle_t whiteShader;
390 qhandle_t consoleShader;
405extern qboolean scr_initialized;
410extern cvar_t *cl_nodelta;
411extern cvar_t *cl_debugMove;
412extern cvar_t *cl_noprint;
413extern cvar_t *cl_timegraph;
414extern cvar_t *cl_debuggraph;
415extern cvar_t *cl_timeout;
416extern cvar_t *cl_connect_timeout;
417extern cvar_t *cl_maxpackets;
418extern cvar_t *cl_packetdup;
419extern cvar_t *cl_shownet;
420extern cvar_t *cl_netprofile;
421extern cvar_t *cl_netprofileoverlay;
422extern cvar_t *cl_showSend;
423extern cvar_t *cl_timeNudge;
424extern cvar_t *cl_showTimeDelta;
425extern cvar_t *cl_freezeDemo;
427extern cvar_t *cl_yawspeed;
428extern cvar_t *cl_pitchspeed;
429extern cvar_t *cl_run;
430extern cvar_t *cl_anglespeedkey;
432extern cvar_t *cl_sensitivity;
433extern cvar_t *cl_freelook;
435extern cvar_t *cl_mouseAccel;
436extern cvar_t *cl_mouseAccelOffset;
437extern cvar_t *cl_mouseAccelStyle;
438extern cvar_t *cl_showMouseRate;
440extern cvar_t *cl_altbindings;
441extern cvar_t *cl_ctrlbindings;
443extern cvar_t *m_pitch;
445extern cvar_t *m_forward;
446extern cvar_t *m_side;
447extern cvar_t *m_filter;
449extern cvar_t *j_pitch;
451extern cvar_t *j_forward;
452extern cvar_t *j_side;
454extern cvar_t *j_pitch_axis;
455extern cvar_t *j_yaw_axis;
456extern cvar_t *j_forward_axis;
457extern cvar_t *j_side_axis;
458extern cvar_t *j_up_axis;
460extern cvar_t *cl_timedemo;
461extern cvar_t *cl_aviFrameRate;
462extern cvar_t *cl_aviMotionJpeg;
464extern cvar_t *cl_activeAction;
466extern cvar_t *cl_allowDownload;
467extern cvar_t *cl_downloadMethod;
468extern cvar_t *cl_conXOffset;
469extern cvar_t *cl_inGameVideo;
471extern cvar_t *cl_lanForcePackets;
472extern cvar_t *cl_langamerefreshstatus;
473extern cvar_t *cl_radar_icon_size;
474extern cvar_t *cl_radar_speak_time;
475extern cvar_t *cl_radar_blink_time;
476extern cvar_t *cl_autoRecordDemo;
478extern cvar_t *cl_r_fullscreen;
480extern cvar_t *cl_consoleKeys;
483extern cvar_t *cl_useMumble;
484extern cvar_t *cl_mumbleScale;
491extern cvar_t *cl_voipUseVAD;
492extern cvar_t *cl_voipVADThreshold;
493extern cvar_t *cl_voipSend;
494extern cvar_t *cl_voipSendTarget;
495extern cvar_t *cl_voipGainDuringCapture;
496extern cvar_t *cl_voipCaptureMult;
497extern cvar_t *cl_voipShowMeter;
498extern cvar_t *cl_voip;
501#define VOIP_MAX_FRAME_SAMPLES ( 20 * 48 )
504#define VOIP_MAX_PACKET_FRAMES 3
505#define VOIP_MAX_PACKET_SAMPLES ( VOIP_MAX_FRAME_SAMPLES * VOIP_MAX_PACKET_FRAMES )
508extern cvar_t *cg_gametype;
510extern cvar_t* j_pitch;
512extern cvar_t* j_forward;
513extern cvar_t* j_side;
515extern cvar_t* j_pitch_axis;
516extern cvar_t* j_yaw_axis;
517extern cvar_t* j_forward_axis;
518extern cvar_t* j_side_axis;
519extern cvar_t* j_up_axis;
528void CL_InitClientSavedData(
void);
529void CL_AddReliableCommand(
const char *cmd, qboolean isDisconnectCmd);
531void CL_StartHunkUsers( qboolean rendererOnly );
533void CL_Connect(
const char *server, netadrtype_t family );
535void CL_Disconnect_f (
void);
536void CL_GetChallengePacket (
void);
537void CL_Vid_Restart_f(
void );
538void CL_Snd_Restart_f (
void);
539const char *CL_ConfigString(
int index );
540void CL_StartDemoLoop(
void );
541void CL_NextDemo(
void );
542void CL_ReadDemoMessage(
void );
543void CL_StopRecord_f(
void);
545void CL_InitDownloads(
void);
546void CL_NextDownload(
void);
548void CL_GetPing(
int n,
char *buf,
int buflen,
int *pingtime );
549void CL_GetPingInfo(
int n,
char *buf,
int buflen );
550void CL_ClearPing(
int n );
551int CL_GetPingQueueCount(
void );
553void CL_ShutdownRef(
void );
554void CL_InitRef(
void );
555qboolean CL_CDKeyValidate(
const char *key,
const char *checksum );
556int CL_ServerStatus(
const char *serverAddress,
char *serverStatusString,
int maxLen );
557void UI_ClearResource(
void );
558void UI_LoadResource(
const char *name );
560qboolean CL_CheckPaused(
void);
562int CL_GetRefSequence(
void);
563qboolean CL_IsRendererLoaded(
void);
564void CL_ApplyOriginalConfigTweaks();
580extern qboolean in_guimouse;
582void IN_ToggleMouse(
void );
583void IN_MouseOn(
void );
584void IN_MouseOff(
void );
585void CL_UpdateMouse();
587void CL_InitInput (
void);
588void CL_ShutdownInput(
void);
589void CL_SendCmd (
void);
590void CL_ClearState (
void);
591void CL_ReadPackets (
void);
593void CL_WritePacket(
void );
594void IN_CenterView (
void);
596void CL_VerifyCode(
void );
599const char *Key_KeynumToString(
int keynum );
600const char *Key_KeynumToBindString(
int keynum );
601void Key_GetKeysForCommand(
const char *command,
int *key1,
int *key2 );
602int Key_GetCatcher(
void );
603void Key_SetCatcher(
int catcher );
605void CL_EyeInfo(usereyes_t *info);
610extern int cl_connectedToPureServer;
611extern int cl_connectedToCheatServer;
612extern msg_t *cl_currentMSG;
615void CL_Voip_f(
void );
618void CL_SystemInfoChanged(
void );
619void CL_ParseServerMessage( msg_t *msg );
621int CL_MSG_ReadBits(
int bits );
622int CL_MSG_ReadChar(
void );
623int CL_MSG_ReadByte(
void );
624int CL_MSG_ReadSVC(
void );
625int CL_MSG_ReadShort(
void );
626int CL_MSG_ReadLong(
void );
627float CL_MSG_ReadFloat(
void );
628char *CL_MSG_ReadString(
void );
629char *CL_MSG_ReadStringLine(
void );
630float CL_MSG_ReadAngle8(
void );
631float CL_MSG_ReadAngle16(
void );
632void CL_MSG_ReadData(
void *data,
int len );
633float CL_MSG_ReadCoord(
void );
634void CL_MSG_ReadDir( vec3_t dir );
638void CL_ServerInfoPacket(
netadr_t from, msg_t *msg );
639void CL_LocalServers_f(
void );
640void CL_GlobalServers_f(
void );
641void CL_FavoriteServers_f(
void );
642void CL_Ping_f(
void );
643void CL_SaveShot_f(
void );
644void CL_Dialog_f(
void );
645void CL_ServerRestarted(
void );
646qboolean CL_UpdateVisiblePings_f(
int source );
652void Con_DrawCharacter (
int cx,
int line,
int num);
654void Con_CheckResize (
void);
656void Con_Shutdown (
void);
657void Con_Clear_f (
void);
658void Con_ToggleConsole_f (
void);
659void Con_DrawNotify (
void);
660void Con_ClearNotify (
void);
661void Con_RunConsole (
void);
662void Con_DrawConsole (
void);
663void Con_PageUp(
void );
664void Con_PageDown(
void );
666void Con_Bottom(
void );
672void SCR_DrawDebugGraph(
void);
673void SCR_DrawScreenField(
void);
674void SCR_UpdateScreen (
void);
676void SCR_DebugGraph (
float value);
678int SCR_GetBigStringWidth(
const char *
str );
680void SCR_AdjustFrom640(
float *x,
float *y,
float *w,
float *h );
681void SCR_FillRect(
float x,
float y,
float width,
float height,
682 const float *color );
683void SCR_DrawPic(
float x,
float y,
float width,
float height, qhandle_t hShader );
684void SCR_DrawNamedPic(
float x,
float y,
float width,
float height,
const char *picname );
686void SCR_DrawBigString(
int x,
int y,
const char *s,
float alpha, qboolean noColorEscape );
687void SCR_DrawBigStringColor(
int x,
int y,
const char *s, vec4_t color, qboolean noColorEscape );
688void SCR_DrawSmallStringExt(
int x,
int y,
const char *
string,
float *setColor, qboolean forceColor, qboolean noColorEscape );
689void SCR_DrawSmallChar(
int x,
int y,
int ch );
691void UpdateStereoSide( stereoFrame_t s );
697void CL_PlayCinematic_f(
void );
698void SCR_DrawCinematic (
void);
699void SCR_RunCinematic (
void);
700void SCR_StopCinematic (
void);
701int CIN_PlayCinematic(
const char *arg0,
int xpos,
int ypos,
int width,
int height,
int bits);
702e_status CIN_StopCinematic(
int handle);
703e_status CIN_RunCinematic (
int handle);
704void CIN_DrawCinematic (
int handle);
705void CIN_SetExtents (
int handle,
int x,
int y,
int w,
int h);
706void CIN_SetLooping (
int handle, qboolean loop);
707void CIN_UploadCinematic(
int handle);
708void CIN_CloseAllVideos(
void);
713void CL_InitCGame(
void );
714void CL_InitCGameDLL(
void );
715void CL_ShutdownCGame(
void );
716qboolean CL_GameCommand(
void );
717void CL_CGameRendering( stereoFrame_t stereo );
718void CL_CGame2D( stereoFrame_t stereo );
719void CL_UpdateSnapFlags(
void );
720void CL_SetCGameTime(
void );
721void CL_FirstSnapshot(
void );
722void CL_ShaderStateChanged(
void );
723baseshader_t *CL_GetShaderPointer(
int iShaderNum );
741void CL_Netchan_Transmit(
netchan_t *chan, msg_t* msg);
742void CL_Netchan_TransmitNextFragment(
netchan_t *chan );
743qboolean CL_Netchan_Process(
netchan_t *chan, msg_t *msg );
744void CL_NET_OutOfBandPrint(
netadr_t adr,
const char* format, ... );
749qboolean CL_OpenAVIForWriting(
const char *filename );
750void CL_TakeVideoFrame(
void );
751void CL_WriteAVIVideoFrame(
const byte *imageBuffer,
int size );
752void CL_WriteAVIAudioFrame(
const byte *pcmBuffer,
int size );
753qboolean CL_CloseAVI(
void );
754qboolean CL_VideoRecording(
void );
759void CL_InitConsoleCommands(
void );
Definition q_shared.h:2143
Definition cg_public.h:455
Definition q_shared.h:2181
Definition q_shared.h:1693
Definition tr_types.h:244
Definition tr_public.h:40