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];
193 int reliableSequence;
194 int reliableAcknowledge;
195 char reliableCommands[MAX_RELIABLE_COMMANDS][MAX_STRING_CHARS];
203 int serverMessageSequence;
206 int serverCommandSequence;
207 int lastExecutedServerCommand;
208 char serverCommands[MAX_RELIABLE_COMMANDS][MAX_STRING_CHARS];
211 fileHandle_t download;
212 char downloadTempName[MAX_OSPATH];
213 char downloadName[MAX_OSPATH];
215 qboolean cURLEnabled;
217 qboolean cURLDisconnected;
218 char downloadURL[MAX_OSPATH];
220 CURLM *downloadCURLM;
222 int sv_allowDownload;
223 char sv_dlURL[MAX_CVAR_VALUE_STRING];
226 size_t downloadCount;
228 char downloadList[MAX_INFO_STRING];
229 qboolean downloadRestart;
232 char demoName[MAX_QPATH];
233 qboolean spDemoRecording;
234 qboolean demorecording;
235 qboolean demoplaying;
236 qboolean demowaiting;
237 qboolean firstDemoFrameSkipped;
238 fileHandle_t demofile;
242 int timeDemoBaseTime;
243 int timeDemoLastFrame;
244 int timeDemoMinDuration;
245 int timeDemoMaxDuration;
246 unsigned char timeDemoDurations[ MAX_TIMEDEMO_DURATIONS ];
248 float aviVideoFrameRemainder;
249 float aviSoundFrameRemainder;
252 qboolean voipEnabled;
253 qboolean voipCodecInitialized;
257 OpusDecoder *opusDecoder[MAX_CLIENTS];
258 byte voipIncomingGeneration[MAX_CLIENTS];
259 int voipIncomingSequence[MAX_CLIENTS];
260 float voipGain[MAX_CLIENTS];
261 qboolean voipIgnore[MAX_CLIENTS];
262 qboolean voipMuteAll;
267 uint8_t voipTargets[(MAX_CLIENTS + 7) / 8];
269 OpusEncoder *opusEncoder;
270 int voipOutgoingDataSize;
271 int voipOutgoingDataFrames;
272 int voipOutgoingSequence;
273 byte voipOutgoingGeneration;
274 byte voipOutgoingData[1024];
278#ifdef LEGACY_PROTOCOL
301 char info[MAX_INFO_STRING];
306 char hostName[MAX_HOSTNAME_LENGTH];
307 char mapName[MAX_NAME_LENGTH];
308 char game[MAX_NAME_LENGTH];
309 char gameTypeString[ MAX_NAME_LENGTH ];
325typedef enum loadProgress_e {
329 LOAD_PROGRESS_DEFAULT,
338 loadProgress_t loading;
340 qboolean vid_restart;
345 qboolean rendererRegistered;
346 qboolean cgameStarted;
352 float serverFrameTime;
359 qboolean bNewLocalServerInfo;
361 int numglobalservers;
364 int numGlobalServerAddresses;
365 netadr_t globalServerAddresses[MAX_GLOBAL_SERVERS];
367 int numfavoriteservers;
370 int nummplayerservers;
373 int pingUpdateSource;
379 char updateChallenge[MAX_TOKEN_CHARS];
380 char updateInfoString[MAX_INFO_STRING];
391 int character_lights;
392 hdelement_t HudDrawElements[ MAX_HUDDRAW_ELEMENTS ];
394 stopWatch_t stopwatch;
395 void* savedCgameState;
396 size_t savedCgameStateSize;
397 char gcdResponse[73];
400 qhandle_t charSetShader;
401 qhandle_t whiteShader;
402 qhandle_t consoleShader;
417extern qboolean scr_initialized;
422extern cvar_t *cl_nodelta;
423extern cvar_t *cl_debugMove;
424extern cvar_t *cl_noprint;
425extern cvar_t *cl_timegraph;
426extern cvar_t *cl_debuggraph;
427extern cvar_t *cl_timeout;
428extern cvar_t *cl_connect_timeout;
429extern cvar_t *cl_maxpackets;
430extern cvar_t *cl_packetdup;
431extern cvar_t *cl_shownet;
432extern cvar_t *cl_netprofile;
433extern cvar_t *cl_netprofileoverlay;
434extern cvar_t *cl_showSend;
435extern cvar_t *cl_timeNudge;
436extern cvar_t *cl_showTimeDelta;
437extern cvar_t *cl_freezeDemo;
439extern cvar_t *cl_yawspeed;
440extern cvar_t *cl_pitchspeed;
441extern cvar_t *cl_run;
442extern cvar_t *cl_anglespeedkey;
444extern cvar_t *cl_sensitivity;
445extern cvar_t *cl_freelook;
447extern cvar_t *cl_mouseAccel;
448extern cvar_t *cl_mouseAccelOffset;
449extern cvar_t *cl_mouseAccelStyle;
450extern cvar_t *cl_showMouseRate;
452extern cvar_t *cl_altbindings;
453extern cvar_t *cl_ctrlbindings;
455extern cvar_t *m_pitch;
457extern cvar_t *m_forward;
458extern cvar_t *m_side;
459extern cvar_t *m_filter;
461extern cvar_t *j_pitch;
463extern cvar_t *j_forward;
464extern cvar_t *j_side;
466extern cvar_t *j_pitch_axis;
467extern cvar_t *j_yaw_axis;
468extern cvar_t *j_forward_axis;
469extern cvar_t *j_side_axis;
470extern cvar_t *j_up_axis;
472extern cvar_t *cl_timedemo;
473extern cvar_t *cl_aviFrameRate;
474extern cvar_t *cl_aviMotionJpeg;
476extern cvar_t *cl_activeAction;
478extern cvar_t *cl_allowDownload;
479extern cvar_t *cl_downloadMethod;
480extern cvar_t *cl_conXOffset;
481extern cvar_t *cl_inGameVideo;
483extern cvar_t *cl_lanForcePackets;
484extern cvar_t *cl_langamerefreshstatus;
485extern cvar_t *cl_radar_icon_size;
486extern cvar_t *cl_radar_speak_time;
487extern cvar_t *cl_radar_blink_time;
488extern cvar_t *cl_autoRecordDemo;
490extern cvar_t *cl_r_fullscreen;
492extern cvar_t *cl_consoleKeys;
495extern cvar_t *cl_useMumble;
496extern cvar_t *cl_mumbleScale;
503extern cvar_t *cl_voipUseVAD;
504extern cvar_t *cl_voipVADThreshold;
505extern cvar_t *cl_voipSend;
506extern cvar_t *cl_voipSendTarget;
507extern cvar_t *cl_voipGainDuringCapture;
508extern cvar_t *cl_voipCaptureMult;
509extern cvar_t *cl_voipShowMeter;
510extern cvar_t *cl_voip;
513#define VOIP_MAX_FRAME_SAMPLES ( 20 * 48 )
516#define VOIP_MAX_PACKET_FRAMES 3
517#define VOIP_MAX_PACKET_SAMPLES ( VOIP_MAX_FRAME_SAMPLES * VOIP_MAX_PACKET_FRAMES )
520extern cvar_t *cg_gametype;
522extern cvar_t* j_pitch;
524extern cvar_t* j_forward;
525extern cvar_t* j_side;
527extern cvar_t* j_pitch_axis;
528extern cvar_t* j_yaw_axis;
529extern cvar_t* j_forward_axis;
530extern cvar_t* j_side_axis;
531extern cvar_t* j_up_axis;
540void CL_InitClientSavedData(
void);
541void CL_AddReliableCommand(
const char *cmd, qboolean isDisconnectCmd);
543void CL_StartHunkUsers( qboolean rendererOnly );
545void CL_Connect(
const char *server, netadrtype_t family );
547void CL_Disconnect_f (
void);
548void CL_GetChallengePacket (
void);
549void CL_Vid_Restart_f(
void );
550void CL_Snd_Restart_f (
void);
551const char *CL_ConfigString(
int index );
552void CL_StartDemoLoop(
void );
553void CL_NextDemo(
void );
554void CL_ReadDemoMessage(
void );
555void CL_StopRecord_f(
void);
557void CL_InitDownloads(
void);
558void CL_NextDownload(
void);
560void CL_GetPing(
int n,
char *buf,
int buflen,
int *pingtime );
561void CL_GetPingInfo(
int n,
char *buf,
int buflen );
562void CL_ClearPing(
int n );
563int CL_GetPingQueueCount(
void );
565void CL_ShutdownRef(
void );
566void CL_InitRef(
void );
567qboolean CL_CDKeyValidate(
const char *key,
const char *checksum );
568int CL_ServerStatus(
const char *serverAddress,
char *serverStatusString,
int maxLen );
569void UI_ClearResource(
void );
570void UI_LoadResource(
const char *name );
572qboolean CL_CheckPaused(
void);
574int CL_GetRefSequence(
void);
575qboolean CL_IsRendererLoaded(
void);
576void CL_ApplyOriginalConfigTweaks();
592extern qboolean in_guimouse;
594void IN_ToggleMouse(
void );
595void IN_MouseOn(
void );
596void IN_MouseOff(
void );
597void CL_UpdateMouse();
599void CL_InitInput (
void);
600void CL_ShutdownInput(
void);
601void CL_SendCmd (
void);
602void CL_ClearState (
void);
603void CL_ReadPackets (
void);
605void CL_WritePacket(
void );
606void IN_CenterView (
void);
608void CL_VerifyCode(
void );
611const char *Key_KeynumToString(
int keynum );
612const char *Key_KeynumToBindString(
int keynum );
613void Key_GetKeysForCommand(
const char *command,
int *key1,
int *key2 );
614int Key_GetCatcher(
void );
615void Key_SetCatcher(
int catcher );
617void CL_EyeInfo(usereyes_t *info);
622extern int cl_connectedToPureServer;
623extern int cl_connectedToCheatServer;
624extern msg_t *cl_currentMSG;
627void CL_Voip_f(
void );
630void CL_SystemInfoChanged(
void );
631void CL_ParseServerMessage( msg_t *msg );
633int CL_MSG_ReadBits(
int bits );
634int CL_MSG_ReadChar(
void );
635int CL_MSG_ReadByte(
void );
636int CL_MSG_ReadSVC(
void );
637int CL_MSG_ReadShort(
void );
638int CL_MSG_ReadLong(
void );
639float CL_MSG_ReadFloat(
void );
640char *CL_MSG_ReadString(
void );
641char *CL_MSG_ReadStringLine(
void );
642float CL_MSG_ReadAngle8(
void );
643float CL_MSG_ReadAngle16(
void );
644void CL_MSG_ReadData(
void *data,
int len );
645float CL_MSG_ReadCoord(
void );
646void CL_MSG_ReadDir( vec3_t dir );
650void CL_ServerInfoPacket(
netadr_t from, msg_t *msg );
651void CL_LocalServers_f(
void );
652void CL_GlobalServers_f(
void );
653void CL_FavoriteServers_f(
void );
654void CL_Ping_f(
void );
655void CL_SaveShot_f(
void );
656void CL_Dialog_f(
void );
657void CL_ServerRestarted(
void );
658qboolean CL_UpdateVisiblePings_f(
int source );
664void Con_DrawCharacter (
int cx,
int line,
int num);
666void Con_CheckResize (
void);
668void Con_Shutdown (
void);
669void Con_Clear_f (
void);
670void Con_ToggleConsole_f (
void);
671void Con_DrawNotify (
void);
672void Con_ClearNotify (
void);
673void Con_RunConsole (
void);
674void Con_DrawConsole (
void);
675void Con_PageUp(
void );
676void Con_PageDown(
void );
678void Con_Bottom(
void );
684void SCR_DrawDebugGraph(
void);
685void SCR_DrawScreenField(
void);
686void SCR_UpdateScreen (
void);
688void SCR_DebugGraph (
float value);
690int SCR_GetBigStringWidth(
const char *str );
692void SCR_AdjustFrom640(
float *x,
float *y,
float *w,
float *h );
693void SCR_FillRect(
float x,
float y,
float width,
float height,
694 const float *color );
695void SCR_DrawPic(
float x,
float y,
float width,
float height, qhandle_t hShader );
696void SCR_DrawNamedPic(
float x,
float y,
float width,
float height,
const char *picname );
698void SCR_DrawBigString(
int x,
int y,
const char *s,
float alpha, qboolean noColorEscape );
699void SCR_DrawBigStringColor(
int x,
int y,
const char *s, vec4_t color, qboolean noColorEscape );
700void SCR_DrawSmallStringExt(
int x,
int y,
const char *
string,
float *setColor, qboolean forceColor, qboolean noColorEscape );
701void SCR_DrawSmallChar(
int x,
int y,
int ch );
703void UpdateStereoSide( stereoFrame_t s );
709void CL_PlayCinematic_f(
void );
710void SCR_DrawCinematic (
void);
711void SCR_RunCinematic (
void);
712void SCR_StopCinematic (
void);
713int CIN_PlayCinematic(
const char *arg0,
int xpos,
int ypos,
int width,
int height,
int bits);
714e_status CIN_StopCinematic(
int handle);
715e_status CIN_RunCinematic (
int handle);
716void CIN_DrawCinematic (
int handle);
717void CIN_SetExtents (
int handle,
int x,
int y,
int w,
int h);
718void CIN_SetLooping (
int handle, qboolean loop);
719void CIN_UploadCinematic(
int handle);
720void CIN_CloseAllVideos(
void);
725void CL_InitCGame(
void );
726void CL_InitCGameDLL(
void );
727void CL_ShutdownCGame(
void );
728qboolean CL_GameCommand(
void );
729void CL_CGameRendering( stereoFrame_t stereo );
730void CL_CGame2D( stereoFrame_t stereo );
731void CL_UpdateSnapFlags(
void );
732void CL_SetCGameTime(
void );
733void CL_FirstSnapshot(
void );
734void CL_ShaderStateChanged(
void );
735baseshader_t *CL_GetShaderPointer(
int iShaderNum );
753void CL_Netchan_Transmit(
netchan_t *chan, msg_t* msg);
754void CL_Netchan_TransmitNextFragment(
netchan_t *chan );
755qboolean CL_Netchan_Process(
netchan_t *chan, msg_t *msg );
756void CL_NET_OutOfBandPrint(
netadr_t adr,
const char* format, ... );
761qboolean CL_OpenAVIForWriting(
const char *filename );
762void CL_TakeVideoFrame(
void );
763void CL_WriteAVIVideoFrame(
const byte *imageBuffer,
int size );
764void CL_WriteAVIAudioFrame(
const byte *pcmBuffer,
int size );
765qboolean CL_CloseAVI(
void );
766qboolean CL_VideoRecording(
void );
771void CL_InitConsoleCommands(
void );
Definition q_shared.h:2144
Definition cg_public.h:458
Definition q_shared.h:2182
Definition q_shared.h:1695
Definition tr_types.h:244
Definition tr_public.h:40