FTEQW
Documentation of the FTE engine source tree.
client.h
Go to the documentation of this file.
1/*
2Copyright (C) 1996-1997 Id Software, Inc.
3
4This program is free software; you can redistribute it and/or
5modify it under the terms of the GNU General Public License
6as published by the Free Software Foundation; either version 2
7of the License, or (at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
13See the GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program; if not, write to the Free Software
17Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19*/
20// client.h
21
22#include "../common/particles.h"
23
24enum
25{
26 SKIN_NOTLOADED, //not trying to load it. shouldn't really happen, but can.
27 SKIN_LOADING, //still loading. just do something else for now...
30};
31typedef struct qwskin_s
32{
33 char name[64];
34 int loadstate; // the name isn't a valid skin
35
36 //qw skin info
37 int width;
38 int height;
39 void *skindata;
40
41 //for hardware 32bit texture overrides
44
45// player_state_t is the information needed by a player entity
46// to do move prediction and to generate a drawable entity
47typedef struct
48{
49 int messagenum; // all player's won't be updated each frame
50
51 double state_time; // not the same as the packet time,
52 // because player commands come asyncronously
53
54 usercmd_t command; // last command for prediction
55
57 vec3_t predorigin; // pre-predicted pos for other players (allowing us to just lerp when active)
58 vec3_t viewangles; // only for demos, not from server
61
62 unsigned int modelindex;
63 int frame;
66
67#ifdef PEXT_SCALE
68 float scale;
69#endif
72#ifdef PEXT_FATNESS
73 float fatness;
74#endif
75
76 int flags; // dead, gib, etc
77
79
81
82 //maybe-propagated... use the networked value if available.
83 float waterjumptime; //never networked...
84 qboolean onground; //networked with Z_EXT_PF_ONGROUND||replacementdeltas
85 qboolean jump_held; //networked with Z_EXT_PM_TYPE
86 int jump_msec; // hack for fixing bunny-hop flickering on non-ZQuake servers
87 vec3_t gravitydir; //networked with replacementdeltas
89
90
91#if defined(Q2CLIENT) || defined(Q2SERVER)
92typedef enum
93{
94 // can accelerate and turn
97 // no acceleration or turning
99 Q2PM_GIB, // different bounding box
102typedef struct
103{ //shared with q2 dll
104
106
107#if 0
108 int origin[3]; // 12.3
109#else
110 short origin[3]; // 20.3
111#endif
112 short velocity[3]; // 12.3
113 qbyte pm_flags; // ducked, jump_held, etc
114 qbyte pm_time; // each unit = 8 ms
115 short gravity;
116 short delta_angles[3]; // add to command angles to get view direction
117 // changed by spawns, rotating objects, and teleporters
118// short pad;
120
121typedef struct
122{ //shared with q2 dll so cannot be changed
123
124 q2pmove_state_t pmove; // for prediction
125
126 // these fields do not need to be communicated bit-precise
127
128 vec3_t viewangles; // for fixed views
129 vec3_t viewoffset; // add to pmovestate->origin
130 vec3_t kick_angles; // add to view direction to get render angles
131 // set by weapon kicks, pain effects, etc
132
137
138 float blend[4]; // rgba full screen effect
139
140 float fov; // horizontal field of view
141
142 int rdflags; // refdef flags
143
144 short stats[Q2MAX_STATS]; // fast status bar updates
146#endif
147
148typedef struct colourised_s {
149 char name[64];
150 unsigned int topcolour;
151 unsigned int bottomcolour;
152 char skin[64];
155
156#define MAX_SCOREBOARDNAME 64
157#define MAX_DISPLAYEDNAME 16
158typedef struct player_info_s
159{
162 qboolean userinfovalid; //set if we actually know the userinfo (ie: false on vanilla nq servers)
163 char teamstatus[128];
165
166 // scoreboard information
168 char name[MAX_SCOREBOARDNAME];
169 char team[MAX_INFO_KEY];
170 float realentertime; //pegged against realtime, to cope with potentially not knowing the server's time when we first receive this message
171 int frags;
172 int ping;
174 char ruleset[19]; //has colour markup to say if its accepted or not
175
176 char ip[128];
177
178 struct
179 {
180 float time; //invalid if too old.
183 unsigned int items;
185 char nick[8]; //kinda short, yes.
187
190 unsigned int chatstate;
191
192 // skin information
193 unsigned int rtopcolor; //real, according to their userinfo
194 unsigned int rbottomcolor;
195
196#ifdef QWSKINS
198
200 qwskin_t *lastskin; //last-known-good skin
201
202 unsigned int ttopcolor; //team, according to colour forcing
203 unsigned int tbottomcolor;
204
205 struct model_s *model;
206 #define dtopcolor ttopcolor
207 #define dbottomcolor tbottomcolor
208#else
209 #define dtopcolor rtopcolor
210 #define dbottomcolor rbottomcolor
211#endif
213
214// unsigned short vweapindex;
215#ifdef HEXEN2
216 unsigned char h2playerclass;
217#endif
218
220
221#ifdef QUAKEHUD
222 struct wstats_s
223 {
224 char wname[16];
225 unsigned int hit;
226 unsigned int total;
228#endif
229
233
234
235typedef struct
236{
237 double senttime; // time cmd was sent off
238 float latency; // the time the packet was acked. -1=choked, -2=dropped, -3=never sent, -4=reply came back invalid
239
240 // generated on client side
241 usercmd_t cmd[MAX_SPLITS]; // cmd that generated the frame
242 int cmd_sequence; //the outgoing move sequence. if not equal to expected, that index was stale and is no longer valid
243 int server_message_num; //the inbound frame that was valid when this command was generated
244
247 float sentgametime; //nq timings are based upon server time echos.
248} outframe_t;
249
250typedef struct
251{
252 // received from server
253 int frameid; //the sequence number of the frame, so we can easily detect which frames are valid without poking all in advance, etc
254 int ackframe; //the outgoing sequence this frame acked (for prediction backlerping).
255 double receivedtime; // time message was received, or -1
256 player_state_t playerstate[MAX_CLIENTS+MAX_SPLITS]; // message received that reflects performing
257 // the usercmd
259 qboolean invalid; // true if the packet_entities delta was invalid
260} inframe_t;
261
262#ifdef Q2CLIENT
263typedef struct
264{
265 qboolean valid; // cleared if delta parsing was invalid
267 int servertime; // server time the message is valid for (in msec)
269 qbyte areabits[MAX_Q2MAP_AREAS/8]; // portalarea visibility bits
270 q2player_state_t playerstate[MAX_SPLITS];
271 int clientnum[MAX_SPLITS];
273 int parse_entities; // non-masked index into cl_parse_entities array
274} q2frame_t;
275#endif
276
277typedef struct
278{
279 int destcolor[3];
280 float percent; // 0-256
281} cshift_t;
282
283#define CSHIFT_CONTENTS 0
284#define CSHIFT_DAMAGE 1
285#define CSHIFT_BONUS 2
286#define CSHIFT_POWERUP 3
287#define CSHIFT_SERVER 4
288#define NUM_CSHIFTS 5
289
290
291//
292// client_state_t should hold all pieces of the client state
293//
294//the light array works thusly:
295//dlights are allocated DL_LAST downwards to 0, static wlights are allocated DL_LAST+1 to MAX_RTLIGHTS.
296//thus to clear the dlights but not rtlights, set the first light to RTL_FIRST
297#define dlightbitmask_t size_t
298#define DL_LAST (sizeof(dlightbitmask_t)*8-1)
299#define RTL_FIRST (sizeof(dlightbitmask_t)*8)
300
301#define LFLAG_NORMALMODE (1<<0) /*ppl with r_shadow_realtime_dlight*/
302#define LFLAG_REALTIMEMODE (1<<1) /*ppl with r_shadow_realtime_world*/
303#define LFLAG_LIGHTMAP (1<<2)
304#define LFLAG_FLASHBLEND (1<<3)
305
306#define LFLAG_NOSHADOWS (1<<8)
307#define LFLAG_SHADOWMAP (1<<9)
308#define LFLAG_CREPUSCULAR (1<<10) //weird type of sun light that gives god rays
309#define LFLAG_ORTHO (1<<11) //sun-style -light
310
311#define LFLAG_INTERNAL (LFLAG_LIGHTMAP|LFLAG_FLASHBLEND) //these are internal to FTE, and never written to disk (ie: .rtlights files shouldn't contain these)
312#define LFLAG_DYNAMIC (LFLAG_LIGHTMAP | LFLAG_FLASHBLEND | LFLAG_NORMALMODE)
313
314typedef struct dlight_s
315{
316 int key; // so entities can reuse same entry
319 vec3_t angles; //used only for reflection, to avoid things getting rounded/cycled.
320 vec3_t rotation; //cubemap/spotlight rotation
321 float radius;
322 float die; // stop lighting after this time
323 float decay; // drop this each second
324 float minlight; // don't add when contributing less
325 float color[3];
326 float channelfade[3];
327#ifdef RTLIGHTS
328 vec3_t lightcolourscales; //ambient, diffuse, specular
329#endif
330 float corona;
332 float fade[2];
333
334 unsigned int flags;
335 char cubemapname[MAX_QPATH];
337
340
341 //the following are used for rendering (client code should clear on create)
343 struct shadowmesh_s *worldshadowmesh;
345 struct {
347 } face [6];
348 int style; //multiply by style values if >= 0 && < MAX_LIGHTSTYLES
349 float fov; //spotlight
350 float nearclip; //for spotlights...
351 struct dlight_s *next;
353
354typedef struct
355{
357 char map[MAX_STYLESTRING];
359 int colourkey; //compacted version of the colours, for comparison against caches
361
362#define MAX_DEMOS 8
363#define MAX_DEMONAME 16
364
365typedef enum {
366ca_disconnected, // full screen console with no connection
367ca_demostart, // starting up a demo
368ca_connected, // netchan_t established, waiting for svc_serverdata
369ca_onserver, // processing data lists, donwloading, etc
370ca_active // everything is in, so frames can be rendered
372
373typedef enum {
381} dltype_t; // download type
382
383typedef struct qdownload_s
384{
386 vfsfile_t *file; // file transfer from server
387 char dclname[MAX_OSPATH]; //file to read/write the chunklist from, for download resumption.
388 char tempname[MAX_OSPATH]; //file its currently writing to.
389 char localname[MAX_OSPATH]; //file its going to be renamed to.
390 int prefixbytes; //number of bytes that prefix the above names (ie: package/ or nothing).
391 char remotename[MAX_OSPATH]; //file its coming from.
392 float percent; //for progress indicator.
393 float starttime; //for speed info
394 qofs_t completedbytes; //number of bytes downloaded, for progress/speed info
395 qofs_t size; //total size (may be a guess)
396 qboolean sizeunknown; //says that size is a guess
397 unsigned int filesequence; //unique file id.
398 enum fs_relative fsroot; //where the local+temp file is meant to be relative to.
399
400 double ratetime; //periodically updated
401 int rate; //ratebytes/ratetimedelta
402 int ratebytes; //updated by download reception code, and cleared when ratetime is bumped
403 unsigned int flags;
404
405 //chunked downloads uses this
407 {
410 enum
411 {
415 } state:16;
416 unsigned int sequence; //sequence is only valid on pending blocks.
417
422{
423 QDL_FAILED, //delete file, tell server.
424 QDL_DISCONNECT, //delete file, don't tell server.
425 QDL_COMPLETED, //rename file, tell server.
426};
428void DL_Abort(qdownload_t *dl, enum qdlabort aborttype); //just frees the download's resources. does not delete the temp file.
429qboolean CL_AllowArbitaryDownload(const char *oldname, const char *localfile);
430
431
432//
433// the client_static_t structure is persistant through an arbitrary number
434// of server connections
435//
436typedef struct
437{
438// connection information
440
441 /*Specifies which protocol family we're speaking*/
442 enum {
448 CP_PLUGIN
450
451 /*QuakeWorld protocol flags*/
452#ifdef PROTOCOLEXTENSIONS
456#endif
457 unsigned int z_ext;
458
459 /*NQ Protocol flags*/
460 enum
461 {
464 CPNQ_BJP1, //16bit models, strict 8bit sounds (otherwise based on nehahra)
465 CPNQ_BJP2, //16bit models, strict 16bit sounds
466 CPNQ_BJP3, //16bit models, flagged 16bit sounds, 8bit static sounds.
467 CPNQ_FITZ666, /*and rmqe999 protocol, which is a strict superset*/
470 CPNQ_DP7
471 } protocol_nq;
472 #define CPNQ_IS_DP (cls.protocol_nq >= CPNQ_DP5)
473 #define CPNQ_IS_BJP (cls.protocol_nq >= CPNQ_BJP1 && cls.protocol_nq <= CPNQ_BJP3)
474 qboolean proquake_angles_hack; //angles are always 16bit
475#ifdef NQPROT
476 qboolean qex; //we're connected to a QuakeEx server, which means lots of special workarounds that are not controlled via the actual protocol version.
477#endif
478
480
482
484
487
488// network stuff
490 float lastarbiatarypackettime; //used to mark when packets were sent to prevent mvdsv servers from causing us to disconnect.
491
492 infobuf_t userinfo[MAX_SPLITS];
494
495 char serverurl[MAX_OSPATH*4]; // eg qw://foo:27500/join?fp=blah
496 char servername[MAX_OSPATH]; // internal parsing, eg dtls://foo:27500
497
499
501
502// demo loop control
503 int demonum; // -1 = don't play demos
504 char demos[MAX_DEMOS][MAX_DEMONAME]; // when not playing
505
506// demo recording info must be here, because record is started before
507// entering a map (and clearing client_state_t)
509
510 enum{DPB_NONE,DPB_QUAKEWORLD,DPB_MVD,DPB_EZTV,
511#ifdef NQPROT
513#endif
514#ifdef Q2CLIENT
515 DPB_QUAKE2
516#endif
517 } demoplayback, demorecording;
518 qboolean demohadkeyframe; //q2 needs to wait for a packet with a key frame, supposedly.
523 char lastdemoname[MAX_OSPATH];
526 float td_lastframe; // to meter out one message a frame
527 int td_startframe; // host_framecount at start
528 float td_starttime; // realtime at second frame of timedemo
529 float demostarttime; // the time of the first frame, so we don't get weird results with qw demos
530
532
533 float latency; // rolling average
534
535 char allow_unmaskedskyboxes; //skyboxes/domes do not need to be depth-masked when set. FIXME: we treat this as an optimisation hint, but some hl/q2/q3 maps require strict do-not-mask rules to look right.
537 qboolean allow_watervis; //fixme: not checked any more
538 float allow_fbskins; //fraction of allowance
540 qboolean allow_semicheats; //defaults to true, but this allows a server to enforce a strict ruleset (smackdown type rules).
541 qboolean allow_csqc; //disables some legacy/compat things, like proquake parsing.
542 float maxfps; //server capped
544
545#ifdef NQPROT
547#endif
548
552
553extern client_static_t cls;
554
556{
558 DLFAIL_UNSUPPORTED, //eg vanilla nq
559 DLFAIL_CORRUPTED, //something weird happened (hash fail)
560 DLFAIL_CLIENTCVAR, //clientside cvar blocked the download
561 DLFAIL_CLIENTFILE, //some sort of error writing the file
562 DLFAIL_SERVERCVAR, //serverside setting blocked the download
563 DLFAIL_REDIRECTED, //server told us to download a different file
564 DLFAIL_SERVERFILE, //server couldn't find the file
565};
566typedef struct downloadlist_s {
567 char rname[128];
568 char localname[128];
569 unsigned int size;
570 unsigned int flags;
571#define DLLF_VERBOSE (1u<<0) //tell the user that its downloading
572#define DLLF_REQUIRED (1u<<1) //means that it won't load models etc until its downloaded (ie: requiredownloads 0 makes no difference)
573#define DLLF_OVERWRITE (1u<<2) //overwrite it even if it already exists
574#define DLLF_SIZEUNKNOWN (1u<<3) //download's size isn't known
575#define DLLF_IGNOREFAILED (1u<<4) //
576#define DLLF_NONGAME (1u<<5) //means the requested download filename+localname is gamedir explicit (so id1/foo.txt is distinct from qw/foo.txt)
577#define DLLF_TEMPORARY (1u<<6) //download it, but don't actually save it (DLLF_OVERWRITE doesn't actually overwrite, but does ignore any local files)
578#define DLLF_USEREXPLICIT (1u<<7) //use explicitly requested it, ignore the cl_downloads cvar.
579
580#define DLLF_BEGUN (1u<<8) //server has confirmed that the file exists, is readable, and we've opened a file. should not be set on new requests.
581#define DLLF_ALLOWWEB (1u<<9) //failed http downloads should retry but from the game server itself
582#define DLLF_TRYWEB (1u<<10) //should be trying to download it from a website...
583
587
588
589typedef struct {
590 //current persistant state
591 trailkey_t trailstate; //when to next throw out a trail
592 trailkey_t emitstate; //when to next emit
593
594 //current origin
595 vec3_t origin; //current render position
597
598 //previous rendering frame (for trails)
602
603 //intermediate values for frame lerping
604 //separate upper+lower lerps
605 float framelerpdeltatime[FS_COUNT];
606 float newframestarttime[FS_COUNT];
607 int newframe[FS_COUNT];
608 float oldframestarttime[FS_COUNT];
609 int oldframe[FS_COUNT];
611
612 //intermediate values for origin lerping of stepping things
616 vec3_t neworigin; /*origin that we're lerping towards*/
617 vec3_t oldorigin; /*origin that we're lerping away from*/
620
621 //for further info
623 int sequence; /*so we know if the ent is still valid*/
625} lerpents_t;
626
627enum
628{
632
635
636//state associated with each player 'seat' (one for each splitscreen client)
637//note that this doesn't include networking inputlog info.
639{
640 int playernum; //cl.players index for this player.
641 qboolean nolocalplayer; //inhibit use of qw-style players, predict based on entities.
643#ifdef PEXT_SETVIEW
644 int viewentity; //view is attached to this entity.
645#endif
646
647 // information for local display
648 int stats[MAX_CL_STATS]; // health, etc
649 float statsf[MAX_CL_STATS]; // health, etc
650 char *statsstr[MAX_CL_STATS]; // health, etc
651 float item_gettime[32]; // cl.time of aquiring item, for blinking
652 float faceanimtime; // use anim frame if cl.time < this
653
654#ifdef QUAKEHUD
657#ifdef HEXEN2
658 int sb_hexen2_cur_item;//hexen2 hud
661 qboolean sb_hexen2_extra_info;//show the extra stuff
663#endif
664#endif
665
666
667// the client maintains its own idea of view angles, which are
668// sent to the server each frame. And only reset at level change
669// and teleport times
670 vec3_t aimangles; //angles actually being sent to the server (different due to in_vraim)
671 vec3_t viewangles; //current angles
672 vec3_t viewanglechange; //angles set by input code this frame
673 short baseangles[3]; //networked angles are relative to this value
674 vec3_t intermissionangles; //absolute angles for intermission
676
677 // pitch drifting vars
678 float pitchvel;
681 double laststop;
682
683 int gamerectknown; //equals cls.framecount if valid
684 vrect_t gamerect; //position the player's main view was drawn at this frame.
685
686 //prediction state
689 float maxspeed;
694 float hdr_last;
695
696 int chatstate; //1=talking, 2=afk
697
698 float crouch; // local amount for smoothing stepups
699 vec3_t oldorigin; // to track step smoothing
700 float oldz, extracrouch, crouchspeed; // to track step smoothing
703 int waterlevel; //for smartjump
704
705 //for values that are propagated from one frame to the next
706 //the next frame will always predict from the one we're tracking, where possible.
707 //these values should all regenerate naturally from networked state (misses should be small/rare and fade when the physics catches up).
709 {
714 int jump_msec; // hack for fixing bunny-hop flickering on non-ZQuake servers
715
718
719#ifdef Q2CLIENT
720 float forcefov;
721 int handedness; //0=right,1=left,2=center/hidden
727#endif
728
729 //temporary view kick from weapon firing, angles+origins
730 float punchangle_cl; // qw-style angles
732 vec3_t punchorigin; // nq-style
733
734 float v_dmg_time; //various view knockbacks.
737
738 double bobtime; //sine wave
739 double bobcltime; //for tracking time increments
740 float bob; //bob height
741
742
743 vec3_t cam_desired_position; // where the camera wants to be
745 double cam_lastviewtime; // timer for wallcam
746 float cam_reautotrack; // timer to throttle tracking changes.
747 int cam_spec_track; // player# of who we are tracking / want to track / might want to track
748 enum
749 {
750 CAM_FREECAM = 0, //not attached to another player. we are our own thing (or actually playing).
751 CAM_PENDING = 1, //we want to lock on to cam_spec_track, but we don't have their position / stats yet. still freecamming
752 CAM_WALLCAM = 2, //locked, cl_chasecam=0. we're watching them from a wall.
753 CAM_EYECAM = 3 //locked, cl_chasecam=1. we know where they are, we're in their eyes.
754
755#define CAM_ISLOCKED(pv) ((pv)->cam_state > CAM_PENDING)
757
758 cshift_t cshifts[NUM_CSHIFTS]; // color shifts for damage, powerups and content types
760 vec4_t bordertint; //won't contain v_cshift values, only powerup+contents+damage+bf flashes
761
762// entity_t viewent; // is this not utterly redundant yet?
763 struct
764 {
766 float lerptime;
771 } vm;
772
773 struct
774 {
784
785 struct vrdevinfo_s vrdev[VRDEV_COUNT];
786};
787
788//
789// the client_state_t structure is wiped completely at every
790// server signon
791//
792typedef struct
793{
794 int fpd;
795 int servercount; // server identification for prespawns
796
798
800 qboolean csqcdebug; //redundant, remove '*csqcdebug' serverinfo key.
802
803 qboolean stillloading; // set when doing something slow, and the game is still loading.
804
805 qboolean haveserverinfo; //nq servers will usually be false. don't override stuff if we already know better.
810
811 int parsecount; // server message counter
814 int ackedmovesequence; //in quakeworld/q2 this is always equal to validsequence. nq can differ. may only be updated when validsequence is updated.
815 int lastackedmovesequence; //can be higher than ackedmovesequence when the received frame was unusable.
816 int validsequence; // this is the sequence number of the last good
817 // packetentity_t we got. If this is 0, we can't
818 // render a frame yet
819 int movesequence; // client->server frames
820 float movesequence_time; // client->server frame timestamp (vs cl.time)
821
822// int spectator;
823 int autotrack_hint; //the latest hint from the mod, might be negative for invalid.
824 int autotrack_killer; //if someone kills the guy we're tracking, this is the guy we should switch to.
825
826 double last_ping_request; // while showing scoreboard
828
829 //list of ent frames that still need to be acked.
830 unsigned int numackframes;
831 int ackframes[64];
832
833#ifdef Q2CLIENT
835 q2frame_t q2frames[Q2UPDATE_BACKUP];
836#endif
837
838// sentcmds[cl.netchan.outgoing_sequence & UPDATE_MASK] = cmd
839 outframe_t outframes[UPDATE_BACKUP]; //user inputs (cl.ackedmovesequence+1 to cl.movesequence are still pending)
840 inframe_t inframes[UPDATE_BACKUP]; //server state (cl.validsequence is the most recent set)
842 int maxlerpents; //number of slots allocated.
844 lerpents_t lerpplayers[MAX_CLIENTS];
845
846 //when running splitscreen, we have multiple viewports all active at once
847 unsigned int splitclients; //we are running this many clients split screen.
848 playerview_t playerview[MAX_SPLITS];
849 unsigned int defaultnetsplit;//which multiview splitscreen to parse the message for (set by mvd playback code)
850
851 // localized movement vars
853
854// the client simulates or interpolates movement to get these values
855 double time; // this is the time value that the client
856 // is rendering at. always <= realtime
857 double lasttime; //cl.time from last frame.
858 double lastlinktime; //cl.time from last frame.
859 double mapstarttime; //for computing csqc's cltime.
860
861 float servertime; //current server time, bound between gametime and gametimemark
862 float mtime; //server time as on the server when we last received a packet. not allowed to decrease.
863 float oldmtime; //server time as on the server for the previously received packet.
864
865 float gametime;
867 float oldgametime; //used as the old time to lerp cl.time from.
868 float oldgametimemark; //if it's 0, cl.time will casually increase.
869 float demogametimebias; //mvd timings are weird.
870 int demonudge; //
871 float demopausedtilltime;//demo is paused until realtime>this
872
873 float minpitch;
874 float maxpitch;
875
876 qboolean paused; // send over by server
877 qboolean implicitpause; //for csqc. only a hint, respected only in singleplayer.
878
879 enum
880 {
881 IM_NONE, //off.
882 IM_NQSCORES, //+showscores forced, view still attached to regular view
883 IM_NQFINALE, //slow centerprint text etc, view still attached to regular view. no hud
884 IM_NQCUTSCENE, //IM_NQFINALE, but without the 'finale' header on centerprints.
885 IM_H2FINALE, //IM_NQFINALE, but with the view offset by the player's viewheight.
886
887 IM_QWSCORES //intermission, view locked at a specific point
888 } intermissionmode; // don't change view angle, full screen, etc
889 float completed_time; // latched ffrom time at intermission start
890
891//
892// information that is static for the entire time connected to a server
893//
894#ifdef HAVE_LEGACY
895 char model_name_vwep[MAX_VWEP_MODELS][MAX_QPATH];
896 struct model_s *model_precache_vwep[MAX_VWEP_MODELS];
897#endif
898 char model_name[MAX_PRECACHE_MODELS][MAX_QPATH];
899 struct model_s *model_precache[MAX_PRECACHE_MODELS];
900 char sound_name[MAX_PRECACHE_SOUNDS][MAX_QPATH];
901 struct sfx_s *sound_precache[MAX_PRECACHE_SOUNDS];
902 char *particle_ssname[MAX_SSPARTICLESPRE];
903 int particle_ssprecache[MAX_SSPARTICLESPRE]; //these are actually 1-based, so 0 can be used to lazy-init them. I cheat.
904
905#ifdef Q2CLIENT
906#define Q2MAX_VISIBLE_WEAPONS 32 //q2 has about 20.
907 int numq2visibleweapons; //q2 sends out visible-on-model weapons in a wierd gender-nutral way.
908 char *q2visibleweapons[Q2MAX_VISIBLE_WEAPONS];//model names beginning with a # are considered 'sexed', and are loaded on a per-client basis. yay. :(
909
910 char *configstring_general[Q2MAX_CLIENTS|Q2MAX_GENERAL];
911 char *image_name[Q2MAX_IMAGES];
912 char *item_name[Q2MAX_ITEMS];
913 short inventory[MAX_SPLITS][Q2MAX_ITEMS];
914#endif
915
916 char model_csqcname[MAX_CSMODELS][MAX_QPATH];
917 struct model_s *model_csqcprecache[MAX_CSMODELS];
918 char *particle_csname[MAX_CSPARTICLESPRE];
919 int particle_csprecache[MAX_CSPARTICLESPRE]; //these are actually 1-based, so we can be lazy and do a simple negate.
920
921 qboolean particle_ssprecaches; //says to not try to do any dp-compat hacks.
922 qboolean particle_csprecaches; //says to not try to do any dp-compat hacks.
923
924 //used for q2 sky/configstrings
925 char skyname[MAX_QPATH];
928
929 qboolean fog_locked; //FIXME: make bitmask
930 fogstate_t fog[FOGTYPE_COUNT]; //0 = air, 1 = water. if water has no density fall back on air.
932
933 char levelname[40]; // for display on solo scoreboard
934 char *windowtitle; // fully overrides the window caption.
935
936// refresh related state
937 struct model_s *worldmodel; // cl_entitites[0].model
938 int num_entities; // stored bottom up in cl_entities array
939 int num_statics; // stored top down in cl_entitiers
940
941// all player information
943 player_info_t players[MAX_CLIENTS];
944
945
948
950
951#ifdef Q2CLIENT
952 char q2airaccel[16];
953 char q2statusbar[1024];
954 char q2layout[MAX_SPLITS][1024];
957 float lerpfrac;
958 float q2svnetrate; //number of frames we expect to receive per second (required to calculate the server time correctly).
959#endif
960
961 char lastcenterprint[1024]; //prevents too much spam with console centerprint logging.
962
963
964
966 {
967 float end;
969 float start;
970 float duration;
973 float radius;
975 } *itemtimers;
976
977 //interpolation+snapshots
978 float packfrac;
983
984
987
988 qboolean teamfortress; // *sigh*. This is used for teamplay stuff. This sucks.
990 qboolean disablemouse; //no mouse inputs (for controller-only games, though we do also allow keyboards if only because of joy2key type stuff)
991
994
996 enum {
997 MATCH_DONTKNOW, //assumed to be in progress.
1000 MATCH_INPROGRESS
1001 } matchstate;
1002
1003 enum {
1006 CLNQPP_STATUS, //"host: *\n" ... "players: *\n\n"
1009 } nqparseprint;
1013
1014extern unsigned int cl_teamtopcolor;
1015extern unsigned int cl_teambottomcolor;
1016extern unsigned int cl_enemytopcolor;
1017extern unsigned int cl_enemybottomcolor;
1018
1019//FPD values
1020//(commented out ones are ones that we don't support)
1021//#define FPD_NO_SAY_MACROS (1 << 0)
1022//#define FPD_NO_TIMERS (1 << 1)
1023//#define FPD_NO_SOUNDTRIGGERS (1 << 2)
1024#define FPD_NO_FAKE_LAG (1 << 3)
1025#define FPD_ANOUNCE_FAKE_LAG (1 << 4)
1026//#define FPD_HIDE_ENEMY_VICINITY (1 << 5)
1027//#define FPD_NO_SPEC_CHAT (1 << 6)
1028//#define FPD_HIDE_X_Y_MACRO (1 << 7)
1029#define FPD_NO_FORCE_SKIN (1 << 8)
1030#define FPD_NO_FORCE_COLOR (1 << 9)
1031#define FPD_LIMIT_PITCH (1 << 14) //limit scripted pitch changes
1032#define FPD_LIMIT_YAW (1 << 15) //limit scripted yaw changes
1033
1034//
1035// cvars
1036//
1037extern cvar_t cl_warncmd;
1038extern cvar_t cl_upspeed;
1039extern cvar_t cl_forwardspeed;
1040extern cvar_t cl_backspeed;
1041extern cvar_t cl_sidespeed;
1042
1043extern cvar_t cl_movespeedkey;
1044
1045extern cvar_t cl_yawspeed;
1046extern cvar_t cl_pitchspeed;
1047
1049
1050extern cvar_t cl_shownet;
1051extern cvar_t cl_sbar;
1052extern cvar_t cl_hudswap;
1053
1055extern cvar_t lookspring;
1056extern cvar_t lookstrafe;
1057extern cvar_t sensitivity;
1058
1059extern cvar_t m_pitch;
1060extern cvar_t m_yaw;
1061extern cvar_t m_forward;
1062extern cvar_t m_side;
1063
1064#ifndef SERVERONLY
1065extern cvar_t name;
1066#endif
1067
1068
1082
1083#ifndef SERVERONLY
1084extern client_state_t cl;
1085#endif
1086
1087typedef struct
1088{
1092 int mdlidx; /*negative are csqc indexes*/
1094
1095// FIXME, allocate dynamically
1098extern unsigned int cl_max_static_entities;
1100extern size_t cl_max_lightstyles;
1101extern dlight_t *cl_dlights;
1102extern size_t cl_maxdlights;
1103
1104extern int d_lightstylevalue[MAX_NET_LIGHTSTYLES];
1105
1107extern int cl_baselines_count;
1108
1109extern qboolean nomaster;
1110
1111//=============================================================================
1112
1113
1114//
1115// cl_main
1116//
1117void CL_InitDlights(void);
1118void CL_FreeDlights(void);
1119dlight_t *CL_AllocDlight (int key); //allocates or reuses the light with the specified key index
1120dlight_t *CL_AllocDlightOrg (int keyidx, vec3_t keyorg); //reuses the light at the specified origin...
1121dlight_t *CL_AllocSlight (void); //allocates a new static light
1122dlight_t *CL_NewDlight (int key, const vec3_t origin, float radius, float time, float r, float g, float b);
1123dlight_t *CL_NewDlightCube (int key, const vec3_t origin, vec3_t angles, float radius, float time, vec3_t colours);
1124void CL_CloneDlight(dlight_t *dl, dlight_t *src); //copies one light to another safely
1125void CL_DecayLights (void);
1126
1127void CLQW_ParseDelta (struct entity_state_s *from, struct entity_state_s *to, int bits);
1128
1129void CL_Init (void);
1130void Host_WriteConfiguration (void);
1131void CL_CheckServerInfo(void);
1132void CL_CheckServerPacks(void);
1133
1134void CL_EstablishConnection (char *host);
1135
1136void CL_Disconnect (const char *reason);
1137void CL_Disconnect_f (void);
1138void CL_Reconnect_f (void);
1139void CL_NextDemo (void);
1140void CL_Startdemos_f (void);
1141void CL_Demos_f (void);
1142void CL_Stopdemo_f (void);
1143void CL_Changing_f (void);
1144void CL_Reconnect_f (void);
1145void CL_ConnectionlessPacket (void);
1147void CL_SaveInfo(vfsfile_t *f);
1148void CL_SetInfo (int pnum, const char *key, const char *value);
1149void CL_SetInfoBlob (int pnum, const char *key, const char *value, size_t valuesize);
1150
1151char *CL_TryingToConnect(void);
1152
1153void CL_ExecInitialConfigs(char *defaultexec, qboolean fullvidrestart);
1154
1155extern int cl_framecount; //number of times the entity lists have been cleared+reset.
1156extern int cl_numvisedicts;
1157extern int cl_maxvisedicts;
1158extern entity_t *cl_visedicts;
1159
1160/*these are for q3 really*/
1161typedef struct {
1167 unsigned int flags;
1168} scenetris_t;
1169extern scenetris_t *cl_stris;
1170extern vecV_t *fte_restrict cl_strisvertv;
1171extern vec4_t *fte_restrict cl_strisvertc;
1172extern vec2_t *fte_restrict cl_strisvertt;
1173extern vec3_t *fte_restrict cl_strisvertn[3];
1174extern index_t *fte_restrict cl_strisidx;
1175extern unsigned int cl_numstrisidx;
1176extern unsigned int cl_maxstrisidx;
1177extern unsigned int cl_numstrisvert;
1178extern unsigned int cl_maxstrisvert;
1179extern unsigned int cl_numstrisnormals;
1180extern unsigned int cl_maxstrisnormals;
1181extern unsigned int cl_numstris;
1182extern unsigned int cl_maxstris;
1183
1184#define cl_stris_ExpandVerts(max) \
1185 do { \
1186 cl_maxstrisvert = max; \
1187 cl_strisvertv = BZ_Realloc(cl_strisvertv, sizeof(*cl_strisvertv)*cl_maxstrisvert); \
1188 cl_strisvertt = BZ_Realloc(cl_strisvertt, sizeof(*cl_strisvertt)*cl_maxstrisvert); \
1189 cl_strisvertc = BZ_Realloc(cl_strisvertc, sizeof(*cl_strisvertc)*cl_maxstrisvert); \
1190/* cl_strisvertn[0] = BZ_Realloc(cl_strisvertn[0], sizeof(*cl_strisvertn[0])*cl_maxstrisvert); \
1191 cl_strisvertn[1] = BZ_Realloc(cl_strisvertn[1], sizeof(*cl_strisvertn[1])*cl_maxstrisvert); \
1192 cl_strisvertn[2] = BZ_Realloc(cl_strisvertn[2], sizeof(*cl_strisvertn[2])*cl_maxstrisvert); \
1193*/ } while(0)
1194
1196
1197//CL_TraceLine traces against network(positive)+csqc(negative) ents. returns frac(1 on failure), and impact, normal, ent values
1198float CL_TraceLine (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal, int *ent);
1199entity_t *TraceLineR (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal, qboolean bsponly);
1200
1201//
1202// cl_input
1203//
1204typedef struct kbutton_s
1205{
1206 int down[MAX_SPLITS][2]; // key nums holding it down
1207 int state[MAX_SPLITS]; // low bit is down state
1208
1209 struct kbutton_s *suppressed[MAX_SPLITS]; //the button that was suppressed by this one getting pressed
1211
1212extern kbutton_t in_mlook;
1213extern kbutton_t in_strafe;
1214extern kbutton_t in_speed;
1215
1216extern float in_sensitivityscale;
1217
1218void CL_MakeActive(char *gamename);
1219void CL_UpdateWindowTitle(void);
1220
1221#ifdef QUAKESTATS
1222const char *IN_GetPreselectedViewmodelName(unsigned int pnum);
1223qboolean IN_WeaponWheelAccumulate(int pnum, float x, float y, float threshhold);
1225qboolean IN_WeaponWheelIsShown(void); //to decide when the game should be auto-paused.
1226#endif
1227void CL_InitInput (void);
1228void CL_SendCmd (double frametime, qboolean mainloop);
1230#ifdef NQPROT
1231void CL_ParseTEnt (qboolean nqprot);
1232#else
1233void CL_ParseTEnt (void);
1234#endif
1235void CL_ParseTEnt_Sized (void);
1236void CL_UpdateTEnts (void);
1237
1239{ //these are internal ids, matching the beam table
1244
1249
1253 BT_H2SUNSTAFF1_SUB, //inner beam hack
1254 BT_H2SUNSTAFF2, //same model as 1, but different particle effect
1260};
1261typedef struct beam_s beam_t;
1262beam_t *CL_AddBeam (enum beamtype_e tent, int ent, vec3_t start, vec3_t end);
1263
1264void CL_ClearState (qboolean gamestart);
1265void CLQ2_ClearState(void);
1266
1267void CL_ReadPackets (void);
1268void CL_ReadPacket(void);
1269
1272
1273int Master_FindBestRoute(char *server, char *out, size_t outsize, int *directcost, int *chainedcost);
1274
1275float CL_KeyState (kbutton_t *key, int pnum, qboolean noslowstart);
1276const char *Key_KeynumToString (int keynum, int modifier);
1277const char *Key_KeynumToLocalString (int keynum, int modifier);
1278int Key_StringToKeynum (const char *str, int *modifier);
1279const char *Key_GetBinding(int keynum, int bindmap, int modifier);
1280void Key_GetBindMap(int *bindmaps);
1281void Key_SetBindMap(int *bindmaps);
1282
1283void CL_UseIndepPhysics(qboolean allow);
1285qboolean CL_AllowIndependantSendCmd(qboolean allow); //returns previous state.
1286
1287void CL_FlushClientCommands(void);
1288void VARGS CL_SendClientCommand(qboolean reliable, char *format, ...) LIKEPRINTF(2);
1289void VARGS CL_SendSeatClientCommand(qboolean reliable, unsigned int seat, char *format, ...) LIKEPRINTF(3);
1290float CL_FilterTime (double time, float wantfps, float limit, qboolean ignoreserver);
1291int CL_RemoveClientCommands(char *command);
1292
1293//
1294// cl_demo.c
1295//
1296void CL_StopPlayback (void);
1298void CL_WriteDemoCmd (usercmd_t *pcmd);
1299void CL_Demo_ClientCommand(char *commandtext); //for QTV.
1300
1301void CL_WriteSetDemoMessage (void); //'restarts' a qwd, when we have reloads/map changes in them
1303void CL_Stop_f (void);
1304void CL_Record_f (void);
1305void CL_ReRecord_f (void);
1306void CL_DemoList_c(int argn, const char *partial, struct xcommandargcompletioncb_s *ctx);
1307void CL_PlayDemo_f (void);
1308void CL_QTVPlay_f (void);
1309void CL_QTVPoll (void);
1310void CL_QTVList_f (void);
1311void CL_QTVDemos_f (void);
1312void CL_DemoJump_f(void);
1313void CL_DemoNudge_f(void);
1314void CL_ProgressDemoTime(void);
1315void CL_TimeDemo_f (void);
1316typedef struct
1317{
1318 enum
1319 {
1325 QTVCT_MAP
1326 } connectiontype;
1327 enum
1328 {
1332 QTVCT_QUAKE3
1334 char server[256];
1335 char splashscreen[256];
1336 //char *datafiles;
1337} qtvfile_t;
1339
1340//
1341// cl_parse.c
1342//
1343#define NET_TIMINGS 256
1344#define NET_TIMINGSMASK 255
1345extern float packet_latency[NET_TIMINGS];
1346int CL_CalcNet (float scale);
1347void CL_CalcNet2 (float *pings, float *pings_min, float *pings_max, float *pingms_stddev, float *pingfr, int *pingfr_min, int *pingfr_max, float *dropped, float *choked, float *invalid);
1348void CL_ClearParseState(void);
1349void CL_Parse_Disconnected(void);
1350void CL_DumpPacket(void);
1351void CL_ParseEstablished(void);
1352void CLQW_ParseServerMessage (void);
1353void CLNQ_ParseServerMessage (void);
1354#ifdef Q2CLIENT
1355void CLQ2_ParseServerMessage (void);
1356#endif
1357void CL_ShowTrafficUsage(float x, float y);
1358void CL_NewTranslation (int slot);
1359
1360int CL_IsDownloading(const char *localname);
1361qboolean CL_CheckDLFile(const char *filename);
1362qboolean CL_CheckOrEnqueDownloadFile (const char *filename, const char *localname, unsigned int flags);
1363qboolean CL_EnqueDownload(const char *filename, const char *localname, unsigned int flags);
1364downloadlist_t *CL_DownloadFailed(const char *name, qdownload_t *qdl, enum dlfailreason_e failreason);
1365int CL_DownloadRate(void);
1366void CL_GetDownloadSizes(unsigned int *filecount, qofs_t *totalsize, qboolean *somesizesunknown);
1369void CL_RequestNextDownload (void);
1371void Sound_CheckDownload(const char *s); /*checkorenqueue a sound file*/
1372
1374void CL_NextUpload(void);
1375void CL_StartUpload (qbyte *data, int size);
1376void CL_StopUpload(void);
1377
1379
1380//
1381// view.c
1382//
1385
1386void V_RenderView (qboolean no2d);
1387void V_Register (void);
1388void V_ParseDamage (playerview_t *pv);
1389void V_SetContentsColor (int contents);
1390
1391//used directly by csqc
1392void V_CalcRefdef (playerview_t *pv);
1393void V_ClearRefdef(playerview_t *pv);
1394void V_ApplyRefdef(void);
1395void V_CalcGunPositionAngle (playerview_t *pv, float bob);
1396float V_CalcBob (playerview_t *pv, qboolean queryold);
1397void DropPunchAngle (playerview_t *pv);
1398
1399int V_EditExternalModels(int newviewentity, entity_t *viewentities, int maxviewenties);
1400void V_DepthSortEntities(float *vieworg);
1401
1402
1403//
1404// cl_tent
1405//
1406void CL_RegisterParticles(void);
1407void CL_InitTEnts (void);
1408void CL_InitTEntSounds (void);
1409void CL_ClearTEnts (void);
1410void CL_ClearTEntParticleState (void);
1411void CL_ClearCustomTEnts(void);
1412void CL_ParseCustomTEnt(void);
1414void CL_ParseEffect (qboolean effect2);
1415
1416void CLNQ_ParseParticleEffect (void);
1417void CL_ParseParticleEffect2 (void);
1418void CL_ParseParticleEffect3 (void);
1419void CL_ParseParticleEffect4 (void);
1420
1421int CL_TranslateParticleFromServer(int sveffect);
1422void CL_ParseTrailParticles(void);
1423void CL_ParsePointParticles(qboolean compact);
1424void CL_SpawnSpriteEffect(vec3_t org, vec3_t dir, vec3_t orientationup, struct model_s *model, int startframe, int framecount, float framerate, float alpha, float scale, float randspin, float gravity, int traileffect, unsigned int renderflags, int skinnum); /*called from the particlesystem*/
1425
1426//
1427// cl_ents.c
1428//
1429void CL_SetSolidPlayers (void);
1431void CL_LinkStaticEntities(void *pvs, int *areas);
1432void CL_TransitionEntities (void); /*call at the start of the frame*/
1433void CL_EmitEntities (void);
1434void CL_ClearProjectiles (void);
1435void CL_ParseProjectiles (int modelindex, qboolean nails2);
1437void CLFTE_ParseEntities (void);
1438void CLFTE_ParseBaseline(entity_state_t *es, qboolean numberisimportant);
1439void CL_SetSolidEntities (void);
1440void CLQW_ParsePlayerinfo (void);
1442//these last ones are needed for csqc handling of engine-bound ents.
1443void CL_ClearEntityLists(void);
1444void CL_FreeVisEdicts(void);
1445void CL_LinkViewModel(void);
1446void CL_LinkPlayers (void);
1447void CL_LinkPacketEntities (void);
1448void CL_LinkProjectiles (void);
1450qboolean CL_MayLerp(void);
1451
1452//
1453//pr_csqc.c
1454//
1455#ifdef CSQC_DAT
1456qboolean CSQC_Inited(void);
1457void CSQC_RendererRestarted(qboolean initing);
1460qboolean CSQC_CheckDownload(const char *name, unsigned int checksum, size_t checksize); //reports whether we already have a usable csprogs.dat
1461qboolean CSQC_Init (qboolean anycsqc, const char *csprogsname, unsigned int checksum, size_t progssize);
1462qboolean CSQC_ConsoleLink(char *text, char *info);
1469void CSQC_Shutdown(void);
1470qboolean CSQC_StuffCmd(int lplayernum, char *cmd, char *cmdend);
1471void CSQC_MapEntityEdited(int modelindex, int idx, const char *newe);
1472//qboolean CSQC_LoadResource(char *resname, char *restype);
1473qboolean CSQC_ParsePrint(char *message, int printlevel);
1474qboolean CSQC_ParseGamePacket(int seat, qboolean sized);
1475qboolean CSQC_CenterPrint(int seat, const char *cmd);
1476void CSQC_ServerInfoChanged(void);
1477void CSQC_PlayerInfoChanged(int player);
1478qboolean CSQC_Parse_Damage(int seat, float save, float take, vec3_t source);
1479qboolean CSQC_Parse_SetAngles(int seat, vec3_t newangles, qboolean wasdelta);
1480void CSQC_Input_Frame(int seat, usercmd_t *cmd);
1481void CSQC_WorldLoaded(void);
1483qboolean CSQC_ConsoleCommand(int seat, const char *cmd);
1484qboolean CSQC_KeyPress(int key, int unicode, qboolean down, unsigned int devid);
1485qboolean CSQC_MouseMove(float xdelta, float ydelta, unsigned int devid);
1486qboolean CSQC_MousePosition(float xabs, float yabs, unsigned int devid);
1487qboolean CSQC_JoystickAxis(int axis, float value, unsigned int devid);
1488qboolean CSQC_Accelerometer(float x, float y, float z);
1489qboolean CSQC_Gyroscope(float x, float y, float z);
1490int CSQC_StartSound(int entnum, int channel, char *soundname, vec3_t pos, float vol, float attenuation, float pitchmod, float timeofs, unsigned int flags);
1491void CSQC_ParseEntities(qboolean sized);
1492const char *CSQC_GetExtraFieldInfo(void *went, char *out, size_t outsize);
1493void CSQC_ResetTrails(void);
1494
1495qboolean CSQC_DeltaPlayer(int playernum, player_state_t *state);
1496void CSQC_DeltaStart(float time);
1498void CSQC_DeltaEnd(void);
1499
1501#else
1502#define CSQC_UnconnectedOkay(inprinciple) false
1503#define CSQC_UnconnectedInit() false
1504#define CSQC_UseGamecodeLoadingScreen() false
1505#define CSQC_Parse_SetAngles(seat,newangles,wasdelta) false
1506#define CSQC_ServerInfoChanged()
1507#define CSQC_PlayerInfoChanged(player)
1508#endif
1509
1510//
1511// cl_pred.c
1512//
1513void CL_InitPrediction (void);
1514void CL_PredictMove (void);
1515void CL_PredictUsercmd (int seat, int entnum, player_state_t *from, player_state_t *to, usercmd_t *u);
1516#ifdef Q2CLIENT
1517void CLQ2_CheckPredictionError (void);
1518#endif
1519void CL_CalcClientTime(void);
1520
1521//
1522// cl_cam.c
1523//
1525int Cam_TrackNum(playerview_t *pv);
1526void Cam_Unlock(playerview_t *pv); //revert to freecam or so, because that entity failed.
1527void Cam_Lock(playerview_t *pv, int playernum); //attempt to lock on to the given player.
1528void Cam_NowLocked(playerview_t *pv); //player was located, track them now
1529void Cam_SelfTrack(playerview_t *pv);
1530void Cam_Track(playerview_t *pv, usercmd_t *cmd);
1531void Cam_SetModAutoTrack(int userid);
1532void Cam_FinishMove(playerview_t *pv, usercmd_t *cmd);
1533void Cam_Reset(void);
1534void Cam_TrackPlayer(int seat, char *cmdname, char *plrarg);
1535void CL_InitCam(void);
1536void Cam_AutoTrack_Update(const char *mode); //reset autotrack setting (because we started a new map or whatever)
1537
1538//
1539//zqtp.c
1540//
1541#define TPM_UNKNOWN 0
1542#define TPM_NORMAL 1
1543#define TPM_TEAM 2
1544#define TPM_SPECTATOR 4
1545#define TPM_FAKED 16
1546#define TPM_OBSERVEDTEAM 32
1547#define TPM_QTV 64 //should only be qtv_say_game/qtv_say_team_game
1548
1549void CL_Say (qboolean team, char *extra);
1550int TP_CategorizeMessage (char *s, int *offset, player_info_t **plr);
1551void TP_ExecTrigger (char *s, qboolean indemos); //executes one of the user's f_foo aliases from some engine-defined event.
1553void TP_Init(void);
1554char* TP_LocationName (const vec3_t location);
1555void TP_NewMap (void);
1556qboolean TP_CheckSoundTrigger (char *str); //plays sound files when some substring exists in chat.
1557void TP_SearchForMsgTriggers (char *s, int level); //msg_trigger: executes aliases when a chat message contains some user-defined string.
1558qboolean TP_SuppressMessage(char *buf); //true when the message contains macro results that the local player isn't meant to see (teamplay messages that contain enemy player counts for instance)
1559char *TP_GenerateDemoName(void); //makes something up.
1560#ifdef QUAKESTATS
1561//hack zone: this stuff makes assumptions about quake-only stats+items+rules and stuff.
1562void TP_CheckPickupSound(char *s, vec3_t org, int seat);
1563void TP_ParsePlayerInfo(player_state_t *oldstate, player_state_t *state, player_info_t *info);
1566void TP_StatChanged (int stat, int value);
1567void TP_UpdateAutoStatus(void);
1568#endif
1569#ifdef QWSKINS
1571#endif
1572
1573//
1574// skin.c
1575//
1576
1577typedef struct
1578{
1583 unsigned short xmin,ymin,xmax,ymax;
1584 unsigned short hres,vres;
1585 unsigned char palette[48];
1588 unsigned short bytes_per_line;
1589 unsigned short palette_type;
1590 char filler[58];
1591// unsigned char data; // unbounded
1592} pcx_t;
1594
1595
1596qwskin_t *Skin_Lookup (char *fullname);
1597char *Skin_FindName (player_info_t *sc);
1598void Skin_Find (player_info_t *sc);
1600void Skin_Skins_f (void);
1601void Skin_FlushSkin(char *name);
1602void Skin_AllSkins_f (void);
1603void Skin_NextDownload (void);
1604void Skin_FlushPlayers(void);
1605void Skin_FlushAll(void);
1606
1607#define RSSHOT_WIDTH 320
1608#define RSSHOT_HEIGHT 200
1609
1610
1611
1612
1613
1614//valid.c
1615#define RULESET_USERINFO "*rs" //the userinfo used to report the ruleset name to other clients. FIXME: remove the _dbg when we think its all working properly.
1616void Ruleset_Check(char *keyval, char *out, size_t outsize);
1617void Ruleset_Scan(void);
1618void Ruleset_Shutdown(void);
1619const char *Ruleset_GetRulesetName(void);
1620qboolean Ruleset_FileLoaded(const char *filename, const qbyte *filedata, size_t filesize); //return false if the file is not permitted.
1621void Validation_Apply_Ruleset(void);
1622void Validation_FlushFileList(void);
1625void InitValidation(void);
1626void Validation_Auto_Response(int playernum, char *s);
1627
1630
1631
1632//random files (fixme: clean up)
1633
1634#ifdef Q2CLIENT
1635unsigned int CLQ2_GatherSounds(vec3_t *positions, unsigned int *entnums, sfx_t **sounds, unsigned int max);
1636void CLQ2_ParseTEnt (void);
1637void CLQ2_AddEntities (void);
1638void CLQ2_ParseBaseline (void);
1639void CLQ2_ClearParticleState(void);
1640void CLR1Q2_ParsePlayerUpdate(void);
1641void CLQ2_ParseFrame (int extrabits);
1642void CLQ2_ParseMuzzleFlash (void);
1643void CLQ2_ParseMuzzleFlash2 (void);
1644void CLQ2_ParseInventory (int seat);
1645int CLQ2_RegisterTEntModels (void);
1647#endif
1648
1649#ifdef HLCLIENT
1650//networking
1651void CLHL_LoadClientGame(void);
1652int CLHL_ParseGamePacket(void);
1654//screen
1655int CLHL_DrawHud(void);
1656//inputs
1657int CLHL_GamecodeDoesMouse(void);
1658int CLHL_MouseEvent(unsigned int buttonmask);
1659void CLHL_SetMouseActive(int activate);
1660int CLHL_BuildUserInput(int msecs, usercmd_t *cmd);
1661#endif
1662
1663#ifdef NQPROT
1664void CLNQ_ParseEntity(unsigned int bits);
1666void CLNQ_SignonReply (void);
1670#endif
1671
1672void CL_BeginServerReconnect(void);
1673
1674void SV_User_f (void); //called by client version of the function
1675void SV_Serverinfo_f (void);
1676void SV_ConSay_f(void);
1677
1678
1679
1680#ifdef TEXTEDITOR
1681extern console_t *editormodal;
1682void Editor_Draw(void);
1683void Editor_Init(void);
1684struct pubprogfuncs_s;
1685void Editor_ProgsKilled(struct pubprogfuncs_s *dead);
1686#else
1687#define editormodal false
1688#endif
1689
1690void SCR_StringToRGB (char *rgbstring, float *rgb, float rgbinputscale);
1691
1692struct model_s;
1693void CL_AddVWeapModel(entity_t *player, struct model_s *model);
1694
1695typedef struct cin_s cin_t;
1696#ifdef HAVE_MEDIA_DECODER
1697
1698#ifdef Q2CLIENT /*q2 cinematics*/
1699struct cinematics_s;
1700void CIN_StopCinematic (struct cinematics_s *cin);
1701struct cinematics_s *CIN_PlayCinematic (char *arg);
1702int CIN_RunCinematic (struct cinematics_s *cin, float playbacktime, qbyte **outdata, int *outwidth, int *outheight, qbyte **outpalette);
1703void CIN_Rewind(struct cinematics_s *cin);
1704#endif
1705
1706typedef enum
1707{
1708 CINSTATE_INVALID, //also reported for not playing
1713 CINSTATE_FLUSHED, //video will restart from beginning
1714} cinstates_t;
1715/*media playing system*/
1716qboolean Media_PlayFilm(char *name, qboolean enqueue);
1718struct cin_s *Media_StartCin(char *name);
1720void Media_ShutdownCin(cin_t *cin);
1721
1722//these accept NULL for cin to mean the current fullscreen video
1723void Media_Send_Command(cin_t *cin, const char *command);
1724void Media_Send_MouseMove(cin_t *cin, float x, float y);
1725void Media_Send_Resize(cin_t *cin, int x, int y);
1726void Media_Send_GetSize(cin_t *cin, int *x, int *y, float *aspect);
1727void Media_Send_KeyEvent(cin_t *cin, int button, int unicode, int event);
1728void Media_Send_Reset(cin_t *cin);
1729void Media_SetState(cin_t *cin, cinstates_t newstate);
1731const char *Media_Send_GetProperty(cin_t *cin, const char *key);
1732
1733#else
1734#define Media_PlayFilm(n,e) false
1735#define Media_StopFilm(a) (void)true
1736#endif
1737
1738void Media_SaveTracks(vfsfile_t *outcfg);
1739void Media_Init(void);
1740qboolean Media_NamedTrack(const char *initialtrack, const char *looptrack); //new background music interface
1741void Media_NumberedTrack(unsigned int initialtrack, unsigned int looptrack); //legacy cd interface for protocols that only support numbered tracks.
1742void Media_EndedTrack(void); //cd is no longer running, media code needs to pick a new track (cd track or faketrack)
1743
1745
1746int Stats_GetKills(int playernum);
1747int Stats_GetTKills(int playernum);
1748int Stats_GetDeaths(int playernum);
1749int Stats_GetTouches(int playernum);
1750int Stats_GetCaptures(int playernum);
1753float Stats_GetLastOwnFrag(int seat, char *res, int reslen);
1754void VARGS Stats_Message(char *msg, ...) LIKEPRINTF(1);
1755qboolean Stats_ParsePrintLine(const char *line);
1756qboolean Stats_ParsePickups(const char *line);
1757void Stats_NewMap(void);
1758void Stats_Clear(void);
1759void Stats_Init(void);
1760
1761//enum uploadfmt;
1762/*struct mediacallbacks_s
1763{ //functions provided by the engine/renderer, for faster/off-thread updates
1764 qboolean pbocanoffthread;
1765 qboolean (VARGS *PBOLock)(struct mediacallbacks_s *ctx, size_t width, size_t height, uploadfmt_t fmt, qboolean *lost);
1766 void (VARGS *PBOUpdate)(struct mediacallbacks_s *ctx, void *data, size_t width, size_t height, int stride);
1767 void (VARGS *PBOUnlock)(struct mediacallbacks_s *ctx);
1768
1769 void (VARGS *AudioStream) (void *auddata, int rate, int frames, int channels, int width);
1770
1771 void (VARGS *WorkQueue) (void *wctx, void (VARGS *callback)(void *data), void *data);
1772 void (VARGS *WorkSync) (void *wctx, int *address, int oldvalue); //blocks until the address changes. make sure you queued something that will change it from that value. oldvalue is present to avoid races. if you're reading the address then you should probably volatile it to avoid compiler opts reading it twice (fixme: needs a proper barrier).
1773};
1774*/
1775typedef struct
1776{
1778 const char *drivername;
1779 void *(VARGS *createdecoder)(const char *name);
1780 qboolean (VARGS *decodeframe)(void *ctx, qboolean nosound, qboolean forcevideo, double mediatime, void (QDECL *uploadtexture)(void *ectx, uploadfmt_t fmt, int width, int height, void *data, void *palette), void *ectx);
1781 void (VARGS *shutdown)(void *ctx);
1782 void (VARGS *rewind)(void *ctx);
1783
1784 //these are any interactivity functions you might want...
1785 void (VARGS *cursormove) (void *ctx, float posx, float posy); //pos is 0-1
1786 void (VARGS *key) (void *ctx, int code, int unicode, int event);
1787 qboolean (VARGS *setsize) (void *ctx, int width, int height);
1788 void (VARGS *getsize) (void *ctx, int *width, int *height);
1789 void (VARGS *changestream) (void *ctx, const char *streamname);
1790
1791 qboolean (VARGS *getproperty) (void *ctx, const char *field, char *out, size_t *outsize); //if out is null, returns required buffer size. returns 0 on failure / buffer too small
1792
1793// void *(VARGS *createdecoderCB)(const char *name, struct mediacallbacks_s *callbacks);
1795typedef struct
1796{
1798 const char *drivername;
1799 const char *description;
1800 const char *extensions;
1801 void *(VARGS *capture_begin) (char *streamname, int videorate, int width, int height, int *sndkhz, int *sndchannels, int *sndbits);
1802 void (VARGS *capture_video) (void *ctx, int frame, void *data, int stride, int width, int height, enum uploadfmt fmt);
1803 void (VARGS *capture_audio) (void *ctx, void *data, int bytes);
1804 void (VARGS *capture_end) (void *ctx);
1806extern struct plugin_s *currentplug;
qboolean
Definition: api_menu.h:34
vec_t vec3_t[3]
Definition: api_menu.h:40
vec_t vec4_t[4]
Definition: api_menu.h:41
uint64_t qofs_t
Definition: api_menu.h:49
vec_t vec2_t[2]
Definition: api_menu.h:39
@ MAX_CL_STATS
Definition: bothdefs.h:1060
unsigned int width
Definition: bymorphed.h:4
unsigned int height
Definition: bymorphed.h:5
enum @13::coninfomode_e mode
Definition: com_phys_ode.c:695
cvar_t team
Definition: cl_main.c:151
unsigned int rgb
Definition: cl_main.c:2452
cvar_t skin
Definition: cl_main.c:152
cvar_t model
Definition: cl_main.c:153
double time
Definition: cl_main.c:306
int protocol
Definition: cl_main.c:289
cvar_t msg
Definition: cl_main.c:159
void(QDECL *vgui_frame)(void)
qboolean CL_CheckDLFile(const char *filename)
Definition: cl_parse.c:911
qboolean TP_FilterMessage(char *s)
Definition: zqtp.c:3622
void Validation_Auto_Response(int playernum, char *s)
Definition: valid.c:1426
void CLQW_ParseServerMessage(void)
Definition: cl_parse.c:7232
cvar_t cl_yawspeed
Definition: cl_input.c:1176
cvar_t ruleset_allow_localvolume
Definition: cl_main.c:231
void CL_ParseParticleEffect4(void)
Definition: cl_tent.c:2451
void CL_ParseProjectiles(int modelindex, qboolean nails2)
Definition: cl_ents.c:4690
void CL_StopUpload(void)
Definition: cl_parse.c:3185
qboolean Media_RegisterEncoder(struct plugin_s *plug, media_encoder_funcs_t *funcs)
Definition: m_mp3.c:3352
void Cam_SelfTrack(playerview_t *pv)
Definition: cl_cam.c:764
void CL_ClearLerpEntsParticleState(void)
Definition: cl_ents.c:3434
int CL_CalcNet(float scale)
Definition: cl_parse.c:339
void V_StopPitchDrift(playerview_t *pv)
Definition: view.c:277
void SV_User_f(void)
Definition: sv_ccmds.c:2783
void CL_ClearProjectiles(void)
Definition: cl_ents.c:4678
unsigned int cl_maxstrisidx
Definition: cl_main.c:275
void CL_CheckServerPacks(void)
Definition: cl_main.c:2775
qboolean CSQC_Init(qboolean anycsqc, const char *csprogsname, unsigned int checksum, size_t progssize)
Definition: pr_csqc.c:8266
void Editor_Draw(void)
Definition: textedit.c:52
void CL_DemoList_c(int argn, const char *partial, struct xcommandargcompletioncb_s *ctx)
Definition: cl_demo.c:2125
int CLHL_GamecodeDoesMouse(void)
Definition: clhl_game.c:1190
cvar_t cl_backspeed
Definition: cl_input.c:1171
qboolean CL_IsUploading(void)
Definition: cl_parse.c:3178
cvar_t ruleset_allow_sensitive_texture_replacements
Definition: cl_main.c:230
void CL_PredictUsercmd(int seat, int entnum, player_state_t *from, player_state_t *to, usercmd_t *u)
Definition: cl_pred.c:379
qboolean CSQC_UseGamecodeLoadingScreen(void)
Definition: pr_csqc.c:8930
qboolean CSQC_KeyPress(int key, int unicode, qboolean down, unsigned int devid)
Definition: pr_csqc.c:9226
void Key_SetBindMap(int *bindmaps)
Definition: keys.c:88
void CSQC_DeltaStart(float time)
Definition: pr_csqc.c:5979
void CL_UpdateWindowTitle(void)
Definition: cl_main.c:367
void CL_RegisterParticles(void)
Definition: cl_tent.c:512
void Media_Send_KeyEvent(cin_t *cin, int button, int unicode, int event)
Definition: m_mp3.c:2702
cvar_t cl_sidespeed
Definition: cl_input.c:1172
void CL_LinkViewModel(void)
Definition: cl_ents.c:5640
void CL_RequestNextDownload(void)
Definition: cl_parse.c:1655
void CSQC_RegisterCvarsAndThings(void)
Definition: pr_csqc.c:8902
void CL_SendCmd(double frametime, qboolean mainloop)
Definition: cl_input.c:2654
void V_ClearRefdef(playerview_t *pv)
Definition: view.c:1562
void CL_NewTranslation(int slot)
Definition: cl_parse.c:5448
void CL_LinkPlayers(void)
Definition: cl_ents.c:5325
void CL_DecayLights(void)
Definition: cl_ents.c:343
char soundlist_name[]
Definition: client.h:1195
void Media_NumberedTrack(unsigned int initialtrack, unsigned int looptrack)
Definition: m_mp3.c:532
void Cam_Unlock(playerview_t *pv)
Definition: cl_cam.c:546
int CL_TranslateParticleFromServer(int sveffect)
Definition: cl_tent.c:2310
void CL_Disconnect(const char *reason)
Definition: cl_main.c:2217
unsigned int cl_maxstrisvert
Definition: cl_main.c:277
dlight_t * cl_dlights
Definition: cl_main.c:255
cvar_t cl_hudswap
Definition: cl_main.c:64
qdlabort
Definition: client.h:422
@ QDL_FAILED
Definition: client.h:423
@ QDL_DISCONNECT
Definition: client.h:424
@ QDL_COMPLETED
Definition: client.h:425
const char * Media_Send_GetProperty(cin_t *cin, const char *key)
Definition: m_mp3.c:2773
void VARGS CL_SendSeatClientCommand(qboolean reliable, unsigned int seat, char *format,...) LIKEPRINTF(3)
Definition: cl_input.c:2060
qboolean Stats_HaveKills(void)
Definition: fragstats.c:120
void CLQW_ParsePlayerinfo(void)
Definition: cl_ents.c:4808
int cl_baselines_count
Definition: cl_main.c:258
void CSQC_MapEntityEdited(int modelindex, int idx, const char *newe)
Definition: pr_csqc.c:9483
void Key_GetBindMap(int *bindmaps)
Definition: keys.c:76
cvar_t ruleset_allow_watervis
Definition: cl_main.c:233
size_t cl_maxdlights
Definition: cl_main.c:256
int V_EditExternalModels(int newviewentity, entity_t *viewentities, int maxviewenties)
Definition: view.c:1483
void CL_Changing_f(void)
Definition: cl_main.c:3480
void CL_ClearState(qboolean gamestart)
Definition: cl_main.c:2011
float packet_latency[NET_TIMINGS]
Definition: cl_parse.c:337
qboolean CSQC_DrawView(void)
Definition: pr_csqc.c:8974
float V_CalcBob(playerview_t *pv, qboolean queryold)
Definition: view.c:214
void CL_SetUpPlayerPrediction(qboolean dopred)
Definition: cl_ents.c:5958
int Stats_GetKills(int playernum)
Definition: fragstats.c:85
cvar_t ruleset_allow_particle_lightning
Definition: cl_main.c:226
qboolean Media_StopFilm(qboolean all)
Definition: m_mp3.c:2572
void TP_Init(void)
Definition: zqtp.c:3705
void CL_ParseTrailParticles(void)
Definition: cl_tent.c:2326
void CL_PredictMove(void)
Definition: cl_pred.c:1477
void SV_Serverinfo_f(void)
Definition: sv_ccmds.c:2630
cvar_t lookspring
Definition: cl_main.c:99
void CL_TransitionEntities(void)
Definition: cl_ents.c:3952
cvar_t cl_pitchspeed
Definition: cl_input.c:1177
void CLNQ_SignonReply(void)
Definition: cl_parse.c:4241
int Key_StringToKeynum(const char *str, int *modifier)
Definition: keys.c:2306
void CLHL_LoadClientGame(void)
Definition: clhl_game.c:1253
qboolean CSQC_CheckDownload(const char *name, unsigned int checksum, size_t checksize)
Definition: pr_csqc.c:8070
int Cam_TrackNum(playerview_t *pv)
Definition: cl_cam.c:539
void CLNQ_ParseEntity(unsigned int bits)
Definition: cl_ents.c:1854
cvar_t ruleset_allow_packet
Definition: cl_main.c:225
cvar_t cl_pitchdriftspeed
unsigned int cl_enemytopcolor
Definition: zqtp.c:1987
qboolean CSQC_ParseTempEntity(void)
Definition: pr_csqc.c:9418
qboolean f_modified_particles
Definition: valid.c:19
index_t *fte_restrict cl_strisidx
Definition: cl_main.c:273
cinstates_t Media_GetState(cin_t *cin)
Definition: m_mp3.c:2809
console_t * editormodal
Definition: textedit.c:38
cvar_t ruleset_allow_modified_eyes
Definition: cl_main.c:229
void CL_Startdemos_f(void)
Definition: cl_main.c:3411
void Media_Init(void)
Definition: m_mp3.c:5145
void V_SetContentsColor(int contents)
Definition: view.c:724
qboolean CL_AllowIndependantSendCmd(qboolean allow)
Definition: cl_input.c:2178
unsigned int CLQ2_GatherSounds(vec3_t *positions, unsigned int *entnums, sfx_t **sounds, unsigned int max)
Definition: clq2_ents.c:1730
void CL_QTVDemos_f(void)
Definition: cl_demo.c:3210
cvar_t cl_upspeed
Definition: cl_input.c:1169
void CL_ClearTEnts(void)
Definition: cl_tent.c:682
dlight_t * CL_AllocSlight(void)
Definition: cl_ents.c:206
@ FOGTYPE_COUNT
Definition: client.h:633
@ FOGTYPE_AIR
Definition: client.h:629
@ FOGTYPE_SKYROOM
Definition: client.h:631
@ FOGTYPE_WATER
Definition: client.h:630
void NQ_BeginConnect(char *to)
void CL_Record_f(void)
Definition: cl_demo.c:1728
void SCR_StringToRGB(char *rgbstring, float *rgb, float rgbinputscale)
Definition: cl_screen.c:339
void CL_EstablishConnection(char *host)
void TP_ParsePlayerInfo(player_state_t *oldstate, player_state_t *state, player_info_t *info)
Definition: zqtp.c:2924
dlight_t * CL_NewDlight(int key, const vec3_t origin, float radius, float time, float r, float g, float b)
Definition: cl_ents.c:320
qboolean IN_DrawWeaponWheel(int pnum)
Definition: cl_input.c:779
qbyte * ReadPCXData(qbyte *buf, int length, int width, int height, qbyte *result)
Definition: image.c:2845
void CSQC_PlayerInfoChanged(int player)
Definition: pr_csqc.c:9396
qboolean Media_UnregisterEncoder(struct plugin_s *plug, media_encoder_funcs_t *funcs)
Definition: m_mp3.c:3370
const char * Key_GetBinding(int keynum, int bindmap, int modifier)
Definition: keys.c:2274
qboolean Media_PlayFilm(char *name, qboolean enqueue)
Definition: m_mp3.c:2610
void Stats_Init(void)
Definition: fragstats.c:606
cvar_t ruleset_allow_larger_models
Definition: cl_main.c:228
void DropPunchAngle(playerview_t *pv)
Definition: view.c:1738
void Media_Send_GetSize(cin_t *cin, int *x, int *y, float *aspect)
Definition: m_mp3.c:2742
float CL_KeyState(kbutton_t *key, int pnum, qboolean noslowstart)
Definition: cl_input.c:1093
void CIN_Rewind(struct cinematics_s *cin)
Definition: clq2_cin.c:353
unsigned int cl_numstrisidx
Definition: cl_main.c:274
void Skin_AllSkins_f(void)
Definition: skin.c:610
int CLHL_AnimateViewEntity(entity_t *ent)
Definition: clhl_game.c:1386
void CL_DemoNudge_f(void)
Definition: cl_demo.c:456
unsigned int cl_maxstrisnormals
cvar_t m_side
Definition: cl_main.c:108
void InitValidation(void)
Definition: valid.c:243
int CL_IsDownloading(const char *localname)
Definition: cl_parse.c:528
void Skin_Find(player_info_t *sc)
Definition: skin.c:151
qboolean CSQC_DeltaUpdate(entity_state_t *src)
Definition: pr_csqc.c:5993
void CL_QTVList_f(void)
Definition: cl_demo.c:3205
struct colourised_s colourised_t
vecV_t *fte_restrict cl_strisvertv
Definition: cl_main.c:270
void CL_FlushClientCommands(void)
Definition: cl_input.c:2158
void CL_ExecInitialConfigs(char *defaultexec, qboolean fullvidrestart)
Definition: cl_main.c:7228
void Cam_AutoTrack_Update(const char *mode)
Definition: cl_cam.c:63
void CL_WriteDemoCmd(usercmd_t *pcmd)
Definition: cl_demo.c:95
int cl_numvisedicts
Definition: cl_main.c:264
qboolean CSQC_StuffCmd(int lplayernum, char *cmd, char *cmdend)
Definition: pr_csqc.c:9590
int Stats_GetCaptures(int playernum)
Definition: fragstats.c:101
cvar_t m_yaw
Definition: cl_main.c:106
vec3_t *fte_restrict cl_strisvertn[3]
void CL_CheckServerInfo(void)
Definition: cl_main.c:2803
dlight_t * CL_AllocDlight(int key)
Definition: cl_ents.c:239
void VARGS CL_SendClientCommand(qboolean reliable, char *format,...) LIKEPRINTF(2)
Definition: cl_input.c:2102
struct beam_s beam_t
Definition: client.h:1261
void V_StartPitchDrift(playerview_t *pv)
Definition: view.c:261
void CL_ShowTrafficUsage(float x, float y)
Definition: cl_parse.c:9000
qboolean CL_AllowArbitaryDownload(const char *oldname, const char *localfile)
Definition: cl_main.c:4648
qboolean CSQC_UnconnectedInit(void)
Definition: pr_csqc.c:8121
void SV_ConSay_f(void)
Definition: sv_ccmds.c:2535
qboolean TP_IsPlayerVisible(vec3_t origin)
Definition: zqtp.c:3133
const char * IN_GetPreselectedViewmodelName(unsigned int pnum)
Definition: cl_input.c:588
void CL_Demo_ClientCommand(char *commandtext)
Definition: cl_demo.c:2547
void V_DepthSortEntities(float *vieworg)
Definition: view.c:1521
void Media_SetState(cin_t *cin, cinstates_t newstate)
Definition: m_mp3.c:2795
qboolean CSQC_DrawScores(playerview_t *pv)
Definition: pr_csqc.c:9181
void Sound_CheckDownload(const char *s)
Definition: cl_parse.c:1565
void Ruleset_Scan(void)
Definition: valid.c:931
qboolean CSQC_DrawHud(playerview_t *pv)
Definition: pr_csqc.c:9137
void CLQ2_ParseTEnt(void)
Definition: cl_tent.c:2624
void CLQ2_ParseInventory(int seat)
Definition: clq2_ents.c:871
void CL_ClearEntityLists(void)
Definition: cl_ents.c:6087
void Cam_TrackPlayer(int seat, char *cmdname, char *plrarg)
Definition: cl_cam.c:1209
void Validation_DelatchRulesets(void)
Definition: valid.c:1023
char * CL_TryingToConnect(void)
Definition: cl_main.c:823
void TP_StatChanged(int stat, int value)
Definition: zqtp.c:3459
cactive_t
Definition: client.h:365
@ ca_connected
Definition: client.h:368
@ ca_demostart
Definition: client.h:367
@ ca_onserver
Definition: client.h:369
@ ca_active
Definition: client.h:370
@ ca_disconnected
Definition: client.h:366
cvar_t m_forward
Definition: cl_main.c:107
unsigned int cl_teamtopcolor
Definition: zqtp.c:1985
qboolean CL_CheckOrEnqueDownloadFile(const char *filename, const char *localname, unsigned int flags)
Definition: cl_parse.c:935
void Media_Send_Command(cin_t *cin, const char *command)
Definition: m_mp3.c:2764
cvar_t ruleset_allow_playercount
Definition: cl_main.c:221
const char * Key_KeynumToLocalString(int keynum, int modifier)
Definition: keys.c:2439
struct cinematics_s * CIN_PlayCinematic(char *arg)
Definition: clq2_cin.c:415
cvar_t ruleset_allow_shaders
Definition: cl_main.c:232
void CL_SetInfoBlob(int pnum, const char *key, const char *value, size_t valuesize)
Definition: cl_main.c:3094
void CL_SetSolidPlayers(void)
Definition: cl_ents.c:6046
const char * CSQC_GetExtraFieldInfo(void *went, char *out, size_t outsize)
Definition: pr_csqc.c:998
qboolean Stats_ParsePickups(const char *line)
Definition: fragstats.c:785
size_t cl_max_lightstyles
Definition: cl_main.c:254
char emodel_name[]
Definition: cl_main.c:344
void CL_ParseParticleEffect2(void)
Definition: cl_tent.c:2419
void CL_ParseTEnt(qboolean nqprot)
Definition: cl_tent.c:1089
void CLQW_ParsePacketEntities(qboolean delta)
Definition: cl_ents.c:1279
void CL_InitInput(void)
Definition: cl_input.c:3110
void CL_LinkProjectiles(void)
Definition: cl_ents.c:4725
void CL_Parse_Disconnected(void)
Definition: cl_parse.c:307
void CSQC_ParseEntities(qboolean sized)
Definition: pr_csqc.c:9761
kbutton_t in_speed
Definition: cl_input.c:144
void Media_ShutdownCin(cin_t *cin)
Definition: m_mp3.c:2398
void CL_WriteSetDemoMessage(void)
Definition: cl_demo.c:1089
void CL_Disconnect_f(void)
Definition: cl_main.c:2356
void CL_NextUpload(void)
Definition: cl_parse.c:3113
void CL_WriteRecordQ2DemoMessage(sizebuf_t *msg)
Definition: cl_demo.c:1027
cvar_t ruleset_allow_frj
Definition: cl_main.c:222
void CL_TimeDemo_f(void)
Definition: cl_demo.c:3257
void V_ParseDamage(playerview_t *pv)
Definition: view.c:490
void CL_ParseClientPersist(void)
int TP_CategorizeMessage(char *s, int *offset, player_info_t **plr)
Definition: zqtp.c:2213
qboolean CL_EnqueDownload(const char *filename, const char *localname, unsigned int flags)
Definition: cl_parse.c:546
beam_t * CL_AddBeam(enum beamtype_e tent, int ent, vec3_t start, vec3_t end)
Definition: cl_tent.c:803
kbutton_t in_strafe
Definition: cl_input.c:144
void VARGS Stats_Message(char *msg,...) LIKEPRINTF(1)
Definition: cl_screen.c:593
void CL_SendDownloadReq(sizebuf_t *msg)
Definition: cl_parse.c:1907
struct dlight_s dlight_t
void CL_SpawnSpriteEffect(vec3_t org, vec3_t dir, vec3_t orientationup, struct model_s *model, int startframe, int framecount, float framerate, float alpha, float scale, float randspin, float gravity, int traileffect, unsigned int renderflags, int skinnum)
Definition: cl_tent.c:2467
qboolean runningindepphys
Definition: cl_input.c:2172
qboolean CSQC_Parse_Damage(int seat, float save, float take, vec3_t source)
Definition: pr_csqc.c:9513
cvar_t ruleset_allow_semicheats
Definition: cl_main.c:224
void DL_Abort(qdownload_t *dl, enum qdlabort aborttype)
Definition: cl_parse.c:2591
struct player_info_s player_info_t
int CL_ReadFromServer(void)
unsigned int cl_numstrisvert
Definition: cl_main.c:276
void MVD_Interpolate(void)
unsigned int cl_max_static_entities
Definition: cl_main.c:252
qboolean IN_WeaponWheelIsShown(void)
Definition: cl_input.c:760
void Validation_Apply_Ruleset(void)
Definition: valid.c:1270
void CL_ParseTEnt_Sized(void)
Definition: cl_tent.c:1927
cvar_t name
Definition: cl_main.c:150
void TP_UpdateAutoStatus(void)
Definition: zqtp.c:3419
void CL_ReadPackets(void)
Definition: cl_main.c:4613
qboolean Media_RegisterDecoder(struct plugin_s *plug, media_decoder_funcs_t *funcs)
Definition: m_mp3.c:1946
vec2_t *fte_restrict cl_strisvertt
Definition: cl_main.c:272
qboolean TP_SoundTrigger(char *message)
Definition: zqtp.c:3918
int cl_maxvisedicts
Definition: cl_main.c:265
cvar_t cl_sbar
Definition: cl_main.c:63
void CL_InitTEntSounds(void)
Definition: cl_tent.c:413
void CLHL_SetMouseActive(int activate)
Definition: clhl_game.c:1212
qboolean CL_CheckBaselines(int size)
Definition: cl_parse.c:4824
void V_RenderView(qboolean no2d)
Definition: view.c:2484
void CSQC_RendererRestarted(qboolean initing)
Definition: pr_csqc.c:8573
float CL_FilterTime(double time, float wantfps, float limit, qboolean ignoreserver)
Definition: cl_input.c:2001
void CL_ClearParseState(void)
Definition: cl_parse.c:3234
void CL_PlayDemo_f(void)
Definition: cl_demo.c:2236
void CL_UpdateTEnts(void)
Definition: cl_tent.c:3298
void CL_GetDownloadSizes(unsigned int *filecount, qofs_t *totalsize, qboolean *somesizesunknown)
Definition: cl_parse.c:658
void Validation_FlushFileList(void)
Definition: valid.c:594
void CL_StopPlayback(void)
Definition: cl_demo.c:67
qboolean CL_WriteCustomTEnt(sizebuf_t *buf, int id)
Definition: cl_tent.c:2095
qboolean CSQC_MouseMove(float xdelta, float ydelta, unsigned int devid)
Definition: pr_csqc.c:9287
void CL_WriteToServer(usercmd_t *cmd)
void CSQC_CvarChanged(cvar_t *var)
Definition: pr_csqc.c:8922
void TP_SearchForMsgTriggers(char *s, int level)
Definition: zqtp.c:1943
void CLFTE_ParseEntities(void)
Definition: cl_ents.c:1035
qboolean DL_Begun(qdownload_t *dl)
Definition: cl_parse.c:2030
void CL_ProgressDemoTime(void)
Definition: cl_demo.c:372
beamtype_e
Definition: client.h:1239
@ BT_H2FAMINE
Definition: client.h:1259
@ BT_H2LIGHTNING_SMALL
Definition: client.h:1250
@ BT_H2SUNSTAFF1_SUB
Definition: client.h:1253
@ BT_Q1BEAM
Definition: client.h:1243
@ BT_Q1LIGHTNING1
Definition: client.h:1240
@ BT_H2GAZE
Definition: client.h:1258
@ BT_Q1LIGHTNING2
Definition: client.h:1241
@ BT_Q2HEATBEAM
Definition: client.h:1247
@ BT_H2SUNSTAFF2
Definition: client.h:1254
@ BT_H2SUNSTAFF1
Definition: client.h:1252
@ BT_H2ICECHUNKS
Definition: client.h:1257
@ BT_H2COLORBEAM
Definition: client.h:1256
@ BT_Q2LIGHTNING
Definition: client.h:1248
@ BT_H2CHAIN
Definition: client.h:1251
@ BT_Q2PARASITE
Definition: client.h:1245
@ BT_H2LIGHTNING
Definition: client.h:1255
@ BT_Q2GRAPPLE
Definition: client.h:1246
@ BT_Q1LIGHTNING3
Definition: client.h:1242
void CLQ2_ClearParticleState(void)
Definition: clq2_ents.c:1053
void Cam_SetModAutoTrack(int userid)
Definition: cl_cam.c:946
void CSQC_Input_Frame(int seat, usercmd_t *cmd)
Definition: pr_csqc.c:9644
void Editor_ProgsKilled(struct pubprogfuncs_s *dead)
Definition: textedit.c:1297
void CLQ2_ParseServerMessage(void)
Definition: cl_parse.c:7909
qboolean CSQC_Accelerometer(float x, float y, float z)
Definition: pr_csqc.c:9320
int CLHL_DrawHud(void)
Definition: clhl_game.c:1354
qboolean CSQC_Gyroscope(float x, float y, float z)
Definition: pr_csqc.c:9334
void CSQC_Shutdown(void)
Definition: pr_csqc.c:7930
int d_lightstylevalue[MAX_NET_LIGHTSTYLES]
Definition: gl_rlight.c:32
void Skin_FlushSkin(char *name)
Definition: skin.c:616
void CLQ2_WriteDemoBaselines(sizebuf_t *buf)
Definition: clq2_ents.c:236
cvar_t cl_anglespeedkey
Definition: cl_input.c:1179
void Host_WriteConfiguration(void)
Definition: cl_main.c:5796
qwskin_t * Skin_Lookup(char *fullname)
Definition: skin.c:112
struct cin_s * Media_StartCin(char *name)
Definition: m_mp3.c:2422
void CSQC_ServerInfoChanged(void)
Definition: pr_csqc.c:9407
qboolean CSQC_Parse_SetAngles(int seat, vec3_t newangles, qboolean wasdelta)
Definition: pr_csqc.c:9626
void V_Register(void)
void Media_Send_Reset(cin_t *cin)
Definition: m_mp3.c:2753
qboolean Stats_ParsePrintLine(const char *line)
Definition: fragstats.c:801
void CL_InitDlights(void)
Definition: cl_ents.c:153
qboolean Media_UnregisterDecoder(struct plugin_s *plug, media_decoder_funcs_t *funcs)
Definition: m_mp3.c:1964
void CL_ClearTEntParticleState(void)
Definition: cl_tent.c:471
qboolean CSQC_ConsoleCommand(int seat, const char *cmd)
Definition: pr_csqc.c:9364
qboolean care_f_modified
Definition: valid.c:18
entity_t * TraceLineR(vec3_t start, vec3_t end, vec3_t impact, vec3_t normal, qboolean bsponly)
Definition: r_part.c:792
void Stats_Clear(void)
Definition: fragstats.c:581
texid_tf Media_UpdateForShader(cin_t *cin)
Definition: m_mp3.c:2653
void CL_ReadPacket(void)
Definition: cl_main.c:4459
void CLQ2_AddEntities(void)
Definition: clq2_ents.c:2523
qboolean CSQC_Inited(void)
Definition: pr_csqc.c:8102
client_state_t cl
Definition: cl_main.c:247
unsigned int cl_numstris
Definition: cl_main.c:278
void CLQ2_ParseBaseline(void)
Definition: clq2_ents.c:1258
void CL_AddVWeapModel(entity_t *player, struct model_s *model)
Definition: cl_ents.c:5294
dltype_t
Definition: client.h:373
@ dl_sound
Definition: client.h:376
@ dl_singlestuffed
Definition: client.h:380
@ dl_none
Definition: client.h:374
@ dl_single
Definition: client.h:379
@ dl_model
Definition: client.h:375
@ dl_skin
Definition: client.h:377
@ dl_wad
Definition: client.h:378
qboolean CSQC_JoystickAxis(int axis, float value, unsigned int devid)
Definition: pr_csqc.c:9305
void Cam_Reset(void)
Definition: cl_cam.c:1164
void CLQ2_CheckPredictionError(void)
Definition: cl_pred.c:61
void TP_CheckPickupSound(char *s, vec3_t org, int seat)
Definition: zqtp.c:2966
void Cam_FinishMove(playerview_t *pv, usercmd_t *cmd)
Definition: cl_cam.c:994
qboolean IN_WeaponWheelAccumulate(int pnum, float x, float y, float threshhold)
Definition: cl_input.c:766
struct qwskin_s qwskin_t
void V_ApplyRefdef(void)
Definition: view.c:1372
dlight_t * CL_NewDlightCube(int key, const vec3_t origin, vec3_t angles, float radius, float time, vec3_t colours)
void CL_SetSolidEntities(void)
Definition: cl_ents.c:5854
const char * Ruleset_GetRulesetName(void)
Definition: valid.c:1029
int Master_FindBestRoute(char *server, char *out, size_t outsize, int *directcost, int *chainedcost)
Definition: net_master.c:1688
void CL_CloneDlight(dlight_t *dl, dlight_t *src)
Definition: cl_ents.c:161
void CL_ConnectionlessPacket(void)
Definition: cl_main.c:3572
void Skin_Skins_f(void)
Definition: skin.c:637
qboolean CSQC_ParseGamePacket(int seat, qboolean sized)
Definition: pr_csqc.c:9438
qboolean CSQC_ConsoleLink(char *text, char *info)
Definition: pr_csqc.c:9349
unsigned int cl_teambottomcolor
Definition: zqtp.c:1986
void CL_ParseEffect(qboolean effect2)
Definition: cl_tent.c:2535
cvar_t sensitivity
Definition: cl_main.c:101
void CL_DemoJump_f(void)
Definition: cl_demo.c:392
void NQ_P_ParseParticleEffect(void)
void Skin_FlushPlayers(void)
Definition: skin.c:633
void CL_EmitEntities(void)
Definition: cl_ents.c:6145
char pmodel_name[]
Definition: client.h:1195
char * TP_LocationName(const vec3_t location)
Definition: zqtp.c:1796
void CL_ParsePointParticles(qboolean compact)
Definition: cl_tent.c:2354
cvar_t cl_movespeedkey
Definition: cl_input.c:1174
void CL_BeginServerReconnect(void)
Definition: cl_main.c:1546
void Stats_NewMap(void)
Definition: fragstats.c:838
qboolean CL_GetDemoMessage(void)
Definition: cl_demo.c:512
qboolean CSQC_CenterPrint(int seat, const char *cmd)
Definition: pr_csqc.c:9611
client_static_t cls
Definition: cl_main.c:246
void CLNQ_ParseParticleEffect(void)
Definition: cl_tent.c:2398
qboolean Ruleset_FileLoaded(const char *filename, const qbyte *filedata, size_t filesize)
Definition: valid.c:541
q2pmtype_t
Definition: client.h:93
@ Q2PM_SPECTATOR
Definition: client.h:96
@ Q2PM_GIB
Definition: client.h:99
@ Q2PM_DEAD
Definition: client.h:98
@ Q2PM_FREEZE
Definition: client.h:100
@ Q2PM_NORMAL
Definition: client.h:95
void CL_SaveInfo(vfsfile_t *f)
Definition: cl_main.c:3221
char prespawn_name[]
Definition: client.h:1195
void CL_NextDemo(void)
Definition: cl_main.c:3368
void CL_SendMove(usercmd_t *cmd)
float Stats_GetLastOwnFrag(int seat, char *res, int reslen)
Definition: fragstats.c:127
downloadlist_t * CL_DownloadFailed(const char *name, qdownload_t *qdl, enum dlfailreason_e failreason)
Definition: cl_parse.c:1971
void CLQ2_ClearState(void)
Definition: clq2_ents.c:276
vec4_t *fte_restrict cl_strisvertc
Definition: cl_main.c:271
entity_state_t * cl_baselines
Definition: cl_main.c:250
@ SKIN_FAILED
Definition: client.h:29
@ SKIN_NOTLOADED
Definition: client.h:26
@ SKIN_LOADING
Definition: client.h:27
@ SKIN_LOADED
Definition: client.h:28
int CL_DownloadRate(void)
Definition: cl_parse.c:2007
int cl_framecount
Definition: cl_main.c:267
void CL_Stop_f(void)
Definition: cl_demo.c:989
void CL_Reconnect_f(void)
Definition: cl_main.c:3516
void Media_SaveTracks(vfsfile_t *outcfg)
Definition: m_mp3.c:577
qboolean Stats_HaveFlags(int mode)
Definition: fragstats.c:106
int Stats_GetTouches(int playernum)
Definition: fragstats.c:97
qboolean CL_ParseOOBDownload(void)
Definition: cl_parse.c:2898
float CL_TraceLine(vec3_t start, vec3_t end, vec3_t impact, vec3_t normal, int *ent)
Definition: r_part.c:891
cvar_t cl_shownet
Definition: cl_main.c:58
int CLHL_MouseEvent(unsigned int buttonmask)
Definition: clhl_game.c:1199
dlfailreason_e
Definition: client.h:556
@ DLFAIL_SERVERFILE
Definition: client.h:564
@ DLFAIL_UNSUPPORTED
Definition: client.h:558
@ DLFAIL_UNTRIED
Definition: client.h:557
@ DLFAIL_SERVERCVAR
Definition: client.h:562
@ DLFAIL_CORRUPTED
Definition: client.h:559
@ DLFAIL_CLIENTFILE
Definition: client.h:561
@ DLFAIL_REDIRECTED
Definition: client.h:563
@ DLFAIL_CLIENTCVAR
Definition: client.h:560
void CSQC_ResetTrails(void)
Definition: pr_csqc.c:3772
qbyte * Skin_TryCache8(qwskin_t *skin)
Definition: skin.c:408
qboolean Media_NamedTrack(const char *initialtrack, const char *looptrack)
Definition: m_mp3.c:457
cvar_t cl_warncmd
Definition: cmd.c:65
void CL_SetInfo(int pnum, const char *key, const char *value)
Definition: cl_main.c:3111
void CL_ParseEstablished(void)
Definition: cl_parse.c:3767
void CL_ParseQTVFile(vfsfile_t *f, const char *fname, qtvfile_t *result)
char * Skin_FindName(player_info_t *sc)
Definition: skin.c:38
unsigned int cl_maxstris
Definition: cl_main.c:279
struct qdownload_s qdownload_t
int CLHL_ParseGamePacket(void)
Definition: clhl_game.c:1402
qboolean CSQC_MousePosition(float xabs, float yabs, unsigned int devid)
Definition: pr_csqc.c:9270
float in_sensitivityscale
Definition: cl_input.c:28
struct cin_s cin_t
Definition: client.h:1695
qboolean TP_SuppressMessage(char *buf)
Definition: zqtp.c:3739
void Skin_FlushAll(void)
Definition: skin.c:544
void Skin_NextDownload(void)
Definition: skin.c:461
unsigned int cl_enemybottomcolor
Definition: zqtp.c:1988
void Ruleset_Shutdown(void)
Definition: valid.c:903
void Media_Send_MouseMove(cin_t *cin, float x, float y)
Definition: m_mp3.c:2726
void CL_ParseCustomTEnt(void)
Definition: cl_tent.c:2134
qboolean CSQC_ParsePrint(char *message, int printlevel)
Definition: pr_csqc.c:9532
qboolean TP_CheckSoundTrigger(char *str)
Definition: zqtp.c:3542
void CL_LinkStaticEntities(void *pvs, int *areas)
Definition: cl_ents.c:3444
void CL_CalcNet2(float *pings, float *pings_min, float *pings_max, float *pingms_stddev, float *pingfr, int *pingfr_min, int *pingfr_max, float *dropped, float *choked, float *invalid)
Definition: cl_parse.c:392
void CL_StartUpload(qbyte *data, int size)
Definition: cl_parse.c:3160
void CIN_StopCinematic(struct cinematics_s *cin)
Definition: clq2_cin.c:40
void CLQ2_ParseMuzzleFlash(void)
Definition: clq2_ents.c:664
void CL_LinkPacketEntities(void)
Definition: cl_ents.c:4064
void V_CalcRefdef(playerview_t *pv)
Definition: view.c:1598
size_t rtlights_first
Definition: cl_main.c:259
void CL_Say(qboolean team, char *extra)
Definition: zqtp.c:3763
void CLQ2_ParseMuzzleFlash2(void)
Definition: clq2_ents.c:857
void TP_NewMap(void)
Definition: zqtp.c:2163
void CLNQ_ParseServerMessage(void)
Definition: cl_parse.c:8300
void CLQ2_ParseFrame(int extrabits)
Definition: clq2_ents.c:1518
struct downloadlist_s downloadlist_t
void CL_ReRecord_f(void)
Definition: cl_demo.c:2149
qboolean CSQC_SetupToRenderPortal(int entnum)
Definition: pr_csqc.c:8936
void Media_Send_Resize(cin_t *cin, int x, int y)
Definition: m_mp3.c:2734
void Cam_Track(playerview_t *pv, usercmd_t *cmd)
Definition: cl_cam.c:835
void CL_ClearCustomTEnts(void)
Definition: cl_tent.c:2293
size_t rtlights_max
Definition: client.h:1106
void CL_InitTEnts(void)
Definition: cl_tent.c:430
int CSQC_StartSound(int entnum, int channel, char *soundname, vec3_t pos, float vol, float attenuation, float pitchmod, float timeofs, unsigned int flags)
Definition: pr_csqc.c:9679
qboolean CL_MayLerp(void)
Definition: cl_ents.c:3934
void CL_FreeDlights(void)
Definition: cl_ents.c:130
void CL_CalcClientTime(void)
Definition: cl_pred.c:614
qboolean CL_DemoBehind(void)
void CL_ParseParticleEffect3(void)
Definition: cl_tent.c:2436
const char * Key_KeynumToString(int keynum, int modifier)
Definition: keys.c:2413
unsigned int cl_numstrisnormals
struct kbutton_s kbutton_t
int CL_RemoveClientCommands(char *command)
Definition: cl_input.c:2120
void CL_UseIndepPhysics(qboolean allow)
Definition: cl_input.c:2229
dlight_t * CL_AllocDlightOrg(int keyidx, vec3_t keyorg)
Definition: cl_ents.c:277
struct plugin_s * currentplug
Definition: plugin.c:129
void Editor_Init(void)
Definition: textedit.c:1310
char * TP_GenerateDemoName(void)
Definition: zqtp.c:380
void CL_DownloadFinished(qdownload_t *dl)
Definition: cl_parse.c:799
void CL_MakeActive(char *gamename)
Definition: cl_main.c:407
cvar_t ruleset_allow_overlongsounds
Definition: cl_main.c:227
cvar_t ruleset_allow_triggers
Definition: cl_main.c:235
int Stats_GetTKills(int playernum)
Definition: fragstats.c:89
void Cam_Lock(playerview_t *pv, int playernum)
Definition: cl_cam.c:563
void CLQW_ParseDelta(struct entity_state_s *from, struct entity_state_s *to, int bits)
Definition: cl_ents.c:428
void CLFTE_ParseBaseline(entity_state_t *es, qboolean numberisimportant)
Definition: cl_ents.c:1020
void Cam_NowLocked(playerview_t *pv)
Definition: cl_cam.c:815
void CL_FreeVisEdicts(void)
Definition: cl_ents.c:6106
void Ruleset_Check(char *keyval, char *out, size_t outsize)
Definition: valid.c:1115
void Validation_CheckIfResponse(char *text)
Definition: valid.c:156
lightstyle_t * cl_lightstyle
Definition: cl_main.c:253
kbutton_t in_mlook
Definition: cl_input.c:144
int CIN_RunCinematic(struct cinematics_s *cin, float playbacktime, qbyte **outdata, int *outwidth, int *outheight, qbyte **outpalette)
Definition: clq2_cin.c:370
void NQ_ContinueConnect(char *to)
void V_CalcGunPositionAngle(playerview_t *pv, float bob)
Definition: view.c:1010
int CLQ2_RegisterTEntModels(void)
Definition: cl_tent.c:646
entity_t * cl_visedicts
Definition: cl_main.c:266
cvar_t m_pitch
Definition: cl_main.c:105
colourised_t * TP_FindColours(char *name)
Definition: zqtp.c:2036
void CL_Init(void)
Definition: cl_main.c:5344
void CL_Demos_f(void)
Definition: cl_main.c:3438
cvar_t lookstrafe
Definition: cl_main.c:100
char modellist_name[]
Definition: client.h:1195
void TP_ExecTrigger(char *s, qboolean indemos)
Definition: zqtp.c:276
int CLHL_BuildUserInput(int msecs, usercmd_t *cmd)
Definition: clhl_game.c:1327
scenetris_t * cl_stris
Definition: cl_main.c:269
void CL_QTVPlay_f(void)
Definition: cl_demo.c:3152
void CL_Stopdemo_f(void)
Definition: cl_main.c:3462
void CL_InitPrediction(void)
Definition: cl_pred.c:1500
static_entity_t * cl_static_entities
Definition: cl_main.c:251
void CSQC_DeltaEnd(void)
Definition: pr_csqc.c:6060
int Stats_GetDeaths(int playernum)
Definition: fragstats.c:93
cvar_t cl_forwardspeed
Definition: cl_input.c:1170
void CL_QTVPoll(void)
Definition: cl_demo.c:2756
cinstates_t
Definition: client.h:1707
@ CINSTATE_LOOP
Definition: client.h:1710
@ CINSTATE_INVALID
Definition: client.h:1708
@ CINSTATE_PAUSE
Definition: client.h:1711
@ CINSTATE_PLAY
Definition: client.h:1709
@ CINSTATE_FLUSHED
Definition: client.h:1713
@ CINSTATE_ENDED
Definition: client.h:1712
void Media_EndedTrack(void)
Definition: m_mp3.c:540
qboolean nomaster
Definition: cl_main.c:327
int CLNQ_GetMessage(void)
void CL_DumpPacket(void)
Definition: cl_parse.c:7112
void CLR1Q2_ParsePlayerUpdate(void)
Definition: clq2_ents.c:1467
void CSQC_WorldLoaded(void)
Definition: pr_csqc.c:8624
void CL_InitCam(void)
Definition: cl_cam.c:1354
qboolean CSQC_UnconnectedOkay(qboolean inprinciple)
Definition: pr_csqc.c:8109
qboolean Cam_DrawViewModel(playerview_t *pv)
Definition: cl_cam.c:523
qboolean CSQC_DeltaPlayer(int playernum, player_state_t *state)
Definition: pr_csqc.c:5933
entity_t * ent
Definition: com_mesh.c:717
dVector3 result
Definition: com_phys_ode.c:519
dVector3 gravity
Definition: com_phys_ode.c:306
dReal dReal radius
Definition: com_phys_ode.c:289
fs_relative
Definition: common.h:661
unsigned char qbyte
Definition: common.h:127
char * text
Definition: decomp.c:375
s
Definition: execloop.h:53
unsigned short stat
Definition: fragstats.c:34
char filename[64]
Definition: generatebuiltin.c:8
const mfog_t * fog
Definition: gl_backend.c:192
const char * oldname
Definition: gl_model.c:1429
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: gl_vidcommon.c:351
GLint level
Definition: gl_vidcommon.c:42
static EGLSurface EGLSurface EGLContext ctx
Definition: gl_videgl.c:47
double max
Definition: gl_vidlinuxglx.c:1364
XRRScreenResources * res
Definition: gl_vidlinuxglx.c:708
struct @319::xidevinfo::@353 axis[2]
int event
Definition: gl_vidlinuxglx.c:447
GLfloat GLfloat GLfloat z
Definition: glquake.h:158
GLfloat GLfloat y
Definition: glquake.h:158
GLsizei const GLcharARB const GLint * length
Definition: glquake.h:149
GLint GLenum GLboolean GLsizei stride
Definition: glquake.h:157
GLuint GLcharARB * name
Definition: glquake.h:155
GLint size
Definition: glquake.h:157
GLfloat x
Definition: glquake.h:158
GLdouble GLdouble r
Definition: glquake.h:969
GLsizei GLboolean const GLfloat * value
Definition: glquake.h:164
GLsizei GLsizei GLcharARB * source
Definition: glquake.h:171
GLenum format
Definition: glsupp.h:502
GLint location
Definition: glsupp.h:612
static png_size_t start
Definition: image.c:1419
static png_inforp png_colorp * palette
Definition: image.c:1410
static png_uint_32 filler
Definition: image.c:1406
plugimageloaderfuncs_t * funcs
Definition: image.c:237
unsigned char bits
Definition: image_astc.h:123
unsigned char extra
Definition: image_astc.h:123
keynum_t pos
Definition: in_sdl.c:105
char * map
Definition: m_download.c:203
char fname[MAX_QPATH]
Definition: m_mp3.c:160
struct texid_s texid_tf
Definition: merged.h:292
char ** data
Definition: p_script.c:63
quint32_t trailkey_t
Definition: particles.h:169
float frametime
Definition: pmove.c:31
int b
Definition: pr_lua.c:242
const char * var
Definition: pr_lua.c:225
int idx
Definition: pr_lua.c:221
float scale
Definition: pr_menu.c:106
evalc_t angles
Definition: pr_menu.c:1357
evalc_t origin
Definition: pr_menu.c:1356
func_t shutdown
Definition: pr_menu.c:1384
evalc_t colourmod
Definition: pr_menu.c:1367
evalc_t alpha
Definition: pr_menu.c:1368
evalc_t renderflags
Definition: pr_menu.c:1365
vec3_t offset
Definition: q2m_flash.c:28
uploadfmt_t fmt
Definition: r_2d.c:48
vec3_t szmins
Definition: r_d3.c:694
vec3_t end
Definition: r_d3.c:692
unsigned int skinid_t
Definition: render.h:95
unsigned short index_t
Definition: render.h:56
enum uploadfmt uploadfmt_t
uploadfmt
Definition: screen.h:96
cvar_t nosound
Definition: snd_dma.c:88
static SpeexBits spx_int16_t * out
Definition: snd_dma.c:492
Definition: client.h:966
float start
Definition: client.h:969
vec3_t rgb
Definition: client.h:972
int entnum
Definition: client.h:968
vec3_t origin
Definition: client.h:971
float duration
Definition: client.h:970
struct itemtimer_s * next
Definition: client.h:974
float end
Definition: client.h:967
float radius
Definition: client.h:973
Definition: client.h:793
float oldmtime
Definition: client.h:863
double mapstarttime
Definition: client.h:859
int maxlerpents
Definition: client.h:842
qboolean implicitpause
Definition: client.h:877
int num_entities
Definition: client.h:938
float minpitch
Definition: client.h:873
float demogametimebias
Definition: client.h:869
qboolean allowsendpacket
Definition: client.h:801
int parsecount
Definition: client.h:811
int contentstage
Definition: client.h:993
unsigned int numackframes
Definition: client.h:830
float q2svnetrate
Definition: client.h:958
double lastlinktime
Definition: client.h:858
q2frame_t q2frame
Definition: client.h:834
downloadlist_t * faileddownloads
Definition: client.h:947
float bunnyspeedcap
Definition: client.h:852
float skyrotate
Definition: client.h:926
@ MATCH_COUNTDOWN
Definition: client.h:998
@ MATCH_DONTKNOW
Definition: client.h:997
@ MATCH_STANDBY
Definition: client.h:999
infobuf_t serverinfo
Definition: client.h:806
int demonudge
Definition: client.h:870
char * serverpackhashes
Definition: client.h:808
qboolean gamedirchanged
Definition: client.h:949
float mtime
Definition: client.h:862
int movesequence
Definition: client.h:819
int lerpentssequence
Definition: client.h:843
qboolean serverpakschanged
Definition: client.h:809
int nqparseprintplayer
Definition: client.h:1010
unsigned int allocated_client_slots
Definition: client.h:942
qboolean sendprespawn
Definition: client.h:992
int protocol_qw
Definition: client.h:797
int ackedmovesequence
Definition: client.h:814
qboolean teamfortress
Definition: client.h:988
unsigned int defaultnetsplit
Definition: client.h:849
int parse_entities
Definition: client.h:956
int teamplay
Definition: client.h:985
packet_entities_t * currentpackentities
Definition: client.h:979
unsigned int splitclients
Definition: client.h:847
qboolean haveserverinfo
Definition: client.h:805
char * windowtitle
Definition: client.h:934
int autotrack_hint
Definition: client.h:823
double last_ping_request
Definition: client.h:826
int deathmatch
Definition: client.h:986
double last_servermessage
Definition: client.h:827
qboolean stillloading
Definition: client.h:803
vec3_t skyaxis
Definition: client.h:927
downloadlist_t * downloadlist
Definition: client.h:946
struct model_s * worldmodel
Definition: client.h:937
float oldgametime
Definition: client.h:867
int numq2visibleweapons
Definition: client.h:907
qboolean particle_csprecaches
Definition: client.h:922
qboolean csqcdebug
Definition: client.h:800
float lerpfrac
Definition: client.h:957
int oldparsecount
Definition: client.h:812
qboolean hexen2pickups
Definition: client.h:989
@ CLNQPP_NONE
Definition: client.h:1004
@ CLNQPP_STATUS
Definition: client.h:1006
@ CLNQPP_STATUSPLAYER
Definition: client.h:1007
@ CLNQPP_STATUSPLAYERIP
Definition: client.h:1008
@ CLNQPP_PINGS
Definition: client.h:1005
int q2mapchecksum
Definition: client.h:955
qboolean fog_locked
Definition: client.h:929
qboolean particle_ssprecaches
Definition: client.h:921
double time
Definition: client.h:855
char * serverpacknames
Definition: client.h:807
int autotrack_killer
Definition: client.h:824
int lastackedmovesequence
Definition: client.h:815
float gametimemark
Definition: client.h:866
float movesequence_time
Definition: client.h:820
float nqplayernamechanged
Definition: client.h:1011
int oldvalidsequence
Definition: client.h:813
float oldgametimemark
Definition: client.h:868
float packfrac
Definition: client.h:978
int validsequence
Definition: client.h:816
float demopausedtilltime
Definition: client.h:871
int fpd
Definition: client.h:794
int servercount
Definition: client.h:795
qboolean paused
Definition: client.h:876
float currentpacktime
Definition: client.h:981
packet_entities_t * previouspackentities
Definition: client.h:980
float maxpitch
Definition: client.h:874
qboolean disablemouse
Definition: client.h:990
float gametime
Definition: client.h:865
qboolean do_lerp_players
Definition: client.h:982
float gamespeed
Definition: client.h:799
double lasttime
Definition: client.h:857
lerpents_t * lerpents
Definition: client.h:841
float completed_time
Definition: client.h:889
int num_statics
Definition: client.h:939
@ IM_NQCUTSCENE
Definition: client.h:884
@ IM_NQSCORES
Definition: client.h:882
@ IM_NQFINALE
Definition: client.h:883
@ IM_H2FINALE
Definition: client.h:885
@ IM_NONE
Definition: client.h:881
double matchgametimestart
Definition: client.h:995
float servertime
Definition: client.h:861
Definition: client.h:437
qboolean allow_cheats
Definition: client.h:539
qboolean allow_anyparticles
Definition: client.h:536
unsigned int fteprotocolextensions2
Definition: client.h:454
qboolean allow_watervis
Definition: client.h:537
int demotrack
Definition: client.h:521
int framecount
Definition: client.h:483
float latency
Definition: client.h:533
qboolean demohadkeyframe
Definition: client.h:518
float demoseektime
Definition: client.h:520
qboolean findtrack
Definition: client.h:481
unsigned int z_ext
Definition: client.h:457
@ DPB_NETQUAKE
Definition: client.h:512
@ DPB_EZTV
Definition: client.h:510
colourised_t * colourised
Definition: client.h:549
int td_startframe
Definition: client.h:527
qboolean qex
Definition: client.h:476
float demostarttime
Definition: client.h:529
qboolean allow_csqc
Definition: client.h:541
int challenge
Definition: client.h:531
qboolean allow_semicheats
Definition: client.h:540
float allow_fbskins
Definition: client.h:538
int demonum
Definition: client.h:503
cactive_t state
Definition: client.h:439
int realip_ident
Definition: client.h:485
vfsfile_t * demoinfile
Definition: client.h:525
qboolean demoseeking
Definition: client.h:519
netchan_t netchan
Definition: client.h:489
struct ftenet_connections_s * sockets
Definition: client.h:498
qboolean lastdemowassystempath
Definition: client.h:524
char allow_unmaskedskyboxes
Definition: client.h:535
int signon
Definition: client.h:546
unsigned int ezprotocolextensions1
Definition: client.h:455
qboolean proquake_angles_hack
Definition: client.h:474
float td_starttime
Definition: client.h:528
vfsfile_t * demooutfile
Definition: client.h:508
float lastarbiatarypackettime
Definition: client.h:490
qboolean timedemo
Definition: client.h:522
int deathmatch
Definition: client.h:543
float td_lastframe
Definition: client.h:526
infosync_t userinfosync
Definition: client.h:493
qdownload_t * download
Definition: client.h:500
netadr_t realserverip
Definition: client.h:486
unsigned int fteprotocolextensions
Definition: client.h:453
qboolean nqexpectingstatusresponse
Definition: client.h:550
@ CPNQ_BJP3
Definition: client.h:466
@ CPNQ_FITZ666
Definition: client.h:467
@ CPNQ_ID
Definition: client.h:462
@ CPNQ_NEHAHRA
Definition: client.h:463
@ CPNQ_DP5
Definition: client.h:468
@ CPNQ_BJP2
Definition: client.h:465
@ CPNQ_DP6
Definition: client.h:469
@ CPNQ_BJP1
Definition: client.h:464
int protocol_q2
Definition: client.h:479
@ CP_QUAKE2
Definition: client.h:446
@ CP_QUAKEWORLD
Definition: client.h:444
@ CP_NETQUAKE
Definition: client.h:445
@ CP_QUAKE3
Definition: client.h:447
@ CP_UNKNOWN
Definition: client.h:443
float maxfps
Definition: client.h:542
Definition: client.h:148
char skin[64]
Definition: client.h:152
unsigned int bottomcolour
Definition: client.h:151
unsigned int topcolour
Definition: client.h:150
struct colourised_s * next
Definition: client.h:153
Definition: console.h:150
Definition: client.h:278
float percent
Definition: client.h:280
Definition: cvar.h:59
Definition: client.h:315
float color[3]
Definition: client.h:325
int key
Definition: client.h:316
struct dlight_s::@50 face[6]
vec3_t axis[3]
Definition: client.h:318
unsigned int flags
Definition: client.h:334
unsigned int coronaocclusionresult
Definition: client.h:339
float die
Definition: client.h:322
float fade[2]
Definition: client.h:332
float channelfade[3]
Definition: client.h:326
texid_t cubetexture
Definition: client.h:344
int style
Definition: client.h:348
struct shadowmesh_s * worldshadowmesh
Definition: client.h:343
vec3_t rotation
Definition: client.h:320
float coronascale
Definition: client.h:331
vec3_t lightcolourscales
Definition: client.h:328
float corona
Definition: client.h:330
int coronaocclusionquery
Definition: client.h:338
float radius
Definition: client.h:321
char cubemapname[MAX_QPATH]
Definition: client.h:335
float minlight
Definition: client.h:324
vec3_t origin
Definition: client.h:317
char * customstyle
Definition: client.h:336
vec3_t angles
Definition: client.h:319
struct dlight_s * next
Definition: client.h:351
float updatetime
Definition: client.h:346
qboolean rebuildcache
Definition: client.h:342
float decay
Definition: client.h:323
float nearclip
Definition: client.h:350
float fov
Definition: client.h:349
Definition: client.h:566
char rname[128]
Definition: client.h:567
enum dlfailreason_e failreason
Definition: client.h:584
unsigned int flags
Definition: client.h:570
struct downloadlist_s * next
Definition: client.h:585
char localname[128]
Definition: client.h:568
unsigned int size
Definition: client.h:569
Definition: render.h:99
Definition: protocol.h:1155
Definition: render.h:203
Definition: netinc.h:408
Definition: merged.h:238
Definition: common.h:884
Definition: common.h:901
Definition: client.h:251
int frameid
Definition: client.h:253
qboolean invalid
Definition: client.h:259
packet_entities_t packet_entities
Definition: client.h:258
double receivedtime
Definition: client.h:255
int ackframe
Definition: client.h:254
Definition: client.h:1205
struct kbutton_s * suppressed[MAX_SPLITS]
Definition: client.h:1209
int state[MAX_SPLITS]
Definition: client.h:1207
int down[MAX_SPLITS][2]
Definition: client.h:1206
Definition: client.h:589
vec3_t newangle
Definition: client.h:618
qboolean isnew
Definition: client.h:600
qbyte basebone
Definition: client.h:610
int newsequence
Definition: client.h:613
vec3_t origin
Definition: client.h:595
qboolean isplayer
Definition: client.h:601
trailkey_t emitstate
Definition: client.h:592
entity_state_t * entstate
Definition: client.h:624
float orglerpdeltatime
Definition: client.h:614
vec3_t oldorigin
Definition: client.h:617
vec3_t neworigin
Definition: client.h:616
vec3_t angles
Definition: client.h:596
vec3_t lastorigin
Definition: client.h:599
int skeletalobject
Definition: client.h:622
vec3_t oldangle
Definition: client.h:619
trailkey_t trailstate
Definition: client.h:591
int sequence
Definition: client.h:623
float orglerpstarttime
Definition: client.h:615
Definition: client.h:355
int length
Definition: client.h:356
int colourkey
Definition: client.h:359
vec3_t colours
Definition: client.h:358
Definition: client.h:1776
float posx
Definition: client.h:1785
void *VARGS * createdecoder(const char *name)
void(VARGS *rewind)(void *ctx)
int int height
Definition: client.h:1787
const char * drivername
Definition: client.h:1778
qboolean qboolean double uploadfmt_t int int void * data
Definition: client.h:1780
const char * streamname
Definition: client.h:1789
int int * height
Definition: client.h:1788
int code
Definition: client.h:1786
const char * field
Definition: client.h:1791
size_t structsize
Definition: client.h:1777
void(VARGS *shutdown)(void *ctx)
Definition: client.h:1796
void *VARGS * capture_begin(char *streamname, int videorate, int width, int height, int *sndkhz, int *sndchannels, int *sndbits)
size_t structsize
Definition: client.h:1797
void(VARGS *capture_end)(void *ctx)
const char * drivername
Definition: client.h:1798
void int bytes
Definition: client.h:1803
int void * data
Definition: client.h:1802
const char * extensions
Definition: client.h:1800
const char * description
Definition: client.h:1799
Definition: gl_model.h:972
Definition: net.h:71
Definition: net.h:232
Definition: client.h:236
double senttime
Definition: client.h:237
int server_time
Definition: client.h:245
int client_time
Definition: client.h:246
float sentgametime
Definition: client.h:247
int cmd_sequence
Definition: client.h:242
float latency
Definition: client.h:238
int server_message_num
Definition: client.h:243
Definition: protocol.h:1252
Definition: client.h:1578
unsigned short palette_type
Definition: client.h:1589
unsigned short hres
Definition: client.h:1584
char reserved
Definition: client.h:1586
unsigned short bytes_per_line
Definition: client.h:1588
char color_planes
Definition: client.h:1587
unsigned short xmax
Definition: client.h:1583
char version
Definition: client.h:1580
char manufacturer
Definition: client.h:1579
char encoding
Definition: client.h:1581
char bits_per_pixel
Definition: client.h:1582
Definition: client.h:223
unsigned int hit
Definition: client.h:225
char wname[16]
Definition: client.h:224
unsigned int total
Definition: client.h:226
Definition: client.h:159
vec3_t org
Definition: client.h:184
struct model_s * model
Definition: client.h:205
float time
Definition: client.h:180
qwskin_t * qwskin
Definition: client.h:199
unsigned int chatstate
Definition: client.h:190
struct player_info_s::wstats_s weaponstats[16]
int ping
Definition: client.h:172
colourised_t * colourised
Definition: client.h:197
struct player_info_s::@46 tinfo
int health
Definition: client.h:181
int prevcount
Definition: client.h:219
qboolean vignored
Definition: client.h:189
int frags
Definition: client.h:171
unsigned int rbottomcolor
Definition: client.h:194
float statsf[MAX_CL_STATS]
Definition: client.h:231
unsigned int ttopcolor
Definition: client.h:202
qboolean userinfovalid
Definition: client.h:162
int stats[MAX_CL_STATS]
Definition: client.h:230
qwskin_t * lastskin
Definition: client.h:200
char ip[128]
Definition: client.h:176
int armour
Definition: client.h:182
int spectator
Definition: client.h:167
qbyte pl
Definition: client.h:173
unsigned char h2playerclass
Definition: client.h:216
float teamstatustime
Definition: client.h:164
unsigned int rtopcolor
Definition: client.h:193
float realentertime
Definition: client.h:170
int userid
Definition: client.h:160
infobuf_t userinfo
Definition: client.h:161
char nick[8]
Definition: client.h:185
qboolean ignored
Definition: client.h:188
char team[MAX_INFO_KEY]
Definition: client.h:169
char teamstatus[128]
Definition: client.h:163
unsigned int items
Definition: client.h:183
unsigned int tbottomcolor
Definition: client.h:203
char ruleset[19]
Definition: client.h:174
skinid_t skinid
Definition: client.h:212
Definition: client.h:48
int pm_type
Definition: client.h:78
vec3_t velocity
Definition: client.h:59
int jump_msec
Definition: client.h:86
int frame
Definition: client.h:63
vec3_t szmaxs
Definition: client.h:80
float waterjumptime
Definition: client.h:83
int weaponframe
Definition: client.h:60
float scale
Definition: client.h:68
qboolean onground
Definition: client.h:84
usercmd_t command
Definition: client.h:54
vec3_t origin
Definition: client.h:56
qbyte alpha
Definition: client.h:71
unsigned int modelindex
Definition: client.h:62
vec3_t viewangles
Definition: client.h:58
int effects
Definition: client.h:65
int flags
Definition: client.h:76
vec3_t predorigin
Definition: client.h:57
qboolean jump_held
Definition: client.h:85
double state_time
Definition: client.h:51
int skinnum
Definition: client.h:64
vec3_t gravitydir
Definition: client.h:87
int messagenum
Definition: client.h:49
float fatness
Definition: client.h:73
Definition: client.h:709
int sequence
Definition: client.h:716
int jump_msec
Definition: client.h:714
vec3_t gravitydir
Definition: client.h:712
qboolean onground
Definition: client.h:711
float waterjumptime
Definition: client.h:710
qboolean jump_held
Definition: client.h:713
Definition: client.h:639
short baseangles[3]
Definition: client.h:673
vec3_t cam_desired_position
Definition: client.h:743
float driftmove
Definition: client.h:680
size_t reverbtype
Definition: client.h:781
int oldframe
Definition: client.h:770
vec3_t simorg
Definition: client.h:690
vec3_t viewangles
Definition: client.h:671
float entgravity
Definition: client.h:688
vec3_t velocity
Definition: client.h:782
int prevframe
Definition: client.h:769
vec3_t up
Definition: client.h:780
qboolean sb_hexen2_infoplaque
Definition: client.h:662
float predicted_step_time
Definition: client.h:725
qboolean sb_showteamscores
Definition: client.h:656
vrect_t gamerect
Definition: client.h:684
vec3_t viewanglechange
Definition: client.h:672
qboolean onground
Definition: client.h:701
float statsf[MAX_CL_STATS]
Definition: client.h:649
float sb_hexen2_item_time
Definition: client.h:659
vec3_t punchangle_sv
Definition: client.h:731
float rollangle
Definition: client.h:693
float predicted_step
Definition: client.h:726
vec3_t oldorigin
Definition: client.h:699
float hdr_last
Definition: client.h:694
int sb_hexen2_cur_item
Definition: client.h:658
vec4_t bordertint
Definition: client.h:760
float crouch
Definition: client.h:698
double bobcltime
Definition: client.h:739
qboolean sb_showscores
Definition: client.h:655
double cam_lastviewtime
Definition: client.h:745
struct playerview_s::@57 vm
@ CAM_EYECAM
Definition: client.h:753
@ CAM_FREECAM
Definition: client.h:750
@ CAM_WALLCAM
Definition: client.h:752
@ CAM_PENDING
Definition: client.h:751
vec3_t simangles
Definition: client.h:692
cshift_t cshifts[NUM_CSHIFTS]
Definition: client.h:758
int handedness
Definition: client.h:721
float cam_reautotrack
Definition: client.h:746
int stats[MAX_CL_STATS]
Definition: client.h:648
float v_dmg_pitch
Definition: client.h:736
char * statsstr[MAX_CL_STATS]
Definition: client.h:650
struct model_s * oldmodel
Definition: client.h:765
float item_gettime[32]
Definition: client.h:651
qboolean nolocalplayer
Definition: client.h:641
float lerptime
Definition: client.h:766
int pmovetype
Definition: client.h:687
double laststop
Definition: client.h:681
float extracrouch
Definition: client.h:700
enum playerview_s::@56 cam_state
qboolean sb_hexen2_extra_info
Definition: client.h:661
qboolean defaulted
Definition: client.h:775
float crouchspeed
Definition: client.h:700
int chatstate
Definition: client.h:696
int cam_oldbuttons
Definition: client.h:744
qboolean spectator
Definition: client.h:642
float oldlerptime
Definition: client.h:767
float pitchvel
Definition: client.h:678
float oldz
Definition: client.h:700
vec3_t predicted_origin
Definition: client.h:722
struct playerview_s::playerpredprop_s prop
qboolean nodrift
Definition: client.h:679
int waterlevel
Definition: client.h:703
float v_dmg_roll
Definition: client.h:735
float sb_hexen2_extra_info_lines
Definition: client.h:660
struct vrdevinfo_s vrdev[VRDEV_COUNT]
Definition: client.h:785
float faceanimtime
Definition: client.h:652
float forcefov
Definition: client.h:720
int cam_spec_track
Definition: client.h:747
int playernum
Definition: client.h:640
vec3_t right
Definition: client.h:779
float punchangle_cl
Definition: client.h:730
vec3_t aimangles
Definition: client.h:670
vec3_t forward
Definition: client.h:778
int entnum
Definition: client.h:776
float bob
Definition: client.h:740
float viewheight
Definition: client.h:702
vec4_t screentint
Definition: client.h:759
float frameduration
Definition: client.h:768
double bobtime
Definition: client.h:738
vec3_t punchorigin
Definition: client.h:732
vec3_t origin
Definition: client.h:777
vec3_t prediction_error
Definition: client.h:724
vec3_t simvel
Definition: client.h:691
int gamerectknown
Definition: client.h:683
vec3_t gravitydir
Definition: client.h:675
float maxspeed
Definition: client.h:689
vec3_t predicted_angles
Definition: client.h:723
int viewentity
Definition: client.h:644
vec3_t intermissionangles
Definition: client.h:674
float v_dmg_time
Definition: client.h:734
struct playerview_s::@58 audio
Definition: progslib.h:121
Definition: client.h:264
qboolean valid
Definition: client.h:265
int deltaframe
Definition: client.h:268
int num_entities
Definition: client.h:272
int serverframe
Definition: client.h:266
int parse_entities
Definition: client.h:273
int servertime
Definition: client.h:267
Definition: client.h:122
q2pmove_state_t pmove
Definition: client.h:124
int rdflags
Definition: client.h:142
int gunindex
Definition: client.h:135
int gunframe
Definition: client.h:136
vec3_t kick_angles
Definition: client.h:130
vec3_t viewoffset
Definition: client.h:129
vec3_t gunoffset
Definition: client.h:134
vec3_t gunangles
Definition: client.h:133
float fov
Definition: client.h:140
vec3_t viewangles
Definition: client.h:128
Definition: client.h:103
short gravity
Definition: client.h:115
q2pmtype_t pm_type
Definition: client.h:105
qbyte pm_flags
Definition: client.h:113
qbyte pm_time
Definition: client.h:114
Definition: client.h:407
@ DLB_MISSING
Definition: client.h:412
@ DLB_RECEIVED
Definition: client.h:414
@ DLB_PENDING
Definition: client.h:413
unsigned int sequence
Definition: client.h:416
qofs_t end
Definition: client.h:409
struct dlblock_s * next
Definition: client.h:418
enum qdownload_s::dlblock_s::@52 state
qofs_t start
Definition: client.h:408
Definition: client.h:384
char tempname[MAX_OSPATH]
Definition: client.h:388
int ratebytes
Definition: client.h:402
float percent
Definition: client.h:392
enum fs_relative fsroot
Definition: client.h:398
qofs_t completedbytes
Definition: client.h:394
qboolean sizeunknown
Definition: client.h:396
enum qdownload_s::@51 method
float starttime
Definition: client.h:393
int prefixbytes
Definition: client.h:390
qofs_t size
Definition: client.h:395
struct qdownload_s::dlblock_s * dlblocks
unsigned int flags
Definition: client.h:403
int rate
Definition: client.h:401
char localname[MAX_OSPATH]
Definition: client.h:389
char remotename[MAX_OSPATH]
Definition: client.h:391
@ DL_QWCHUNKS
Definition: client.h:385
@ DL_QW
Definition: client.h:385
@ DL_Q3
Definition: client.h:385
@ DL_HTTP
Definition: client.h:385
@ DL_FTP
Definition: client.h:385
@ DL_DARKPLACES
Definition: client.h:385
@ DL_QWPENDING
Definition: client.h:385
unsigned int filesequence
Definition: client.h:397
char dclname[MAX_OSPATH]
Definition: client.h:387
double ratetime
Definition: client.h:400
vfsfile_t * file
Definition: client.h:386
Definition: client.h:1317
@ QTVCT_OBSERVE
Definition: client.h:1324
@ QTVCT_CONNECT
Definition: client.h:1322
@ QTVCT_JOIN
Definition: client.h:1323
@ QTVCT_STREAM
Definition: client.h:1321
@ QTVCT_NONE
Definition: client.h:1320
@ QTVCT_QUAKE2
Definition: client.h:1331
@ QTVCT_NETQUAKE
Definition: client.h:1329
@ QTVCT_QUAKEWORLD
Definition: client.h:1330
Definition: client.h:32
void * skindata
Definition: client.h:39
int loadstate
Definition: client.h:34
int width
Definition: client.h:37
texnums_t textures
Definition: client.h:42
int height
Definition: client.h:38
Definition: client.h:1161
int firstidx
Definition: client.h:1164
int numvert
Definition: client.h:1165
struct shader_s * shader
Definition: client.h:1162
unsigned int flags
Definition: client.h:1167
int firstvert
Definition: client.h:1163
int numidx
Definition: client.h:1166
Definition: sound.h:52
Definition: shader.h:602
Definition: common.h:196
Definition: client.h:1088
trailkey_t emit
Definition: client.h:1091
entity_state_t state
Definition: client.h:1090
entity_t ent
Definition: client.h:1089
int mdlidx
Definition: client.h:1092
Definition: merged.h:383
Definition: protocol.h:1285
Definition: protocol.h:1268
Definition: vid.h:65
Definition: cmd.h:135
static unsigned char const char * from
Definition: sv_sql.c:31
static unsigned char * to
Definition: sv_sql.c:31
static enum mysql_option option const char * arg
Definition: sv_sql.c:28
unsigned char buf[KBRINGSIZE]
Definition: sys_dos.c:27
void * vfsfile_t
Definition: sys_plugfte.h:2
unsigned int flags
Definition: valid.c:313