vkQuake2 doxygen  1.0 dev
g_local.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 1997-2001 Id Software, Inc.
3 
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 
13 See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 
19 */
20 // g_local.h -- local definitions for game module
21 
22 #include "q_shared.h"
23 
24 // define GAME_INCLUDE so that game.h does not define the
25 // short, server-visible gclient_t and edict_t structures,
26 // because we define the full size ones in this file
27 #define GAME_INCLUDE
28 #include "game.h"
29 
30 #include <inttypes.h>
31 
32 // the "gameversion" client command will print this plus compile date
33 #define GAMEVERSION "baseq2"
34 
35 // protocol bytes that can be directly added to messages
36 #define svc_muzzleflash 1
37 #define svc_muzzleflash2 2
38 #define svc_temp_entity 3
39 #define svc_layout 4
40 #define svc_inventory 5
41 #define svc_stufftext 11
42 
43 //==================================================================
44 
45 // view pitching times
46 #define DAMAGE_TIME 0.5
47 #define FALL_TIME 0.3
48 
49 
50 // edict->spawnflags
51 // these are set with checkboxes on each entity in the map editor
52 #define SPAWNFLAG_NOT_EASY 0x00000100
53 #define SPAWNFLAG_NOT_MEDIUM 0x00000200
54 #define SPAWNFLAG_NOT_HARD 0x00000400
55 #define SPAWNFLAG_NOT_DEATHMATCH 0x00000800
56 #define SPAWNFLAG_NOT_COOP 0x00001000
57 
58 // edict->flags
59 #define FL_FLY 0x00000001
60 #define FL_SWIM 0x00000002 // implied immunity to drowining
61 #define FL_IMMUNE_LASER 0x00000004
62 #define FL_INWATER 0x00000008
63 #define FL_GODMODE 0x00000010
64 #define FL_NOTARGET 0x00000020
65 #define FL_IMMUNE_SLIME 0x00000040
66 #define FL_IMMUNE_LAVA 0x00000080
67 #define FL_PARTIALGROUND 0x00000100 // not all corners are valid
68 #define FL_WATERJUMP 0x00000200 // player jumping out of water
69 #define FL_TEAMSLAVE 0x00000400 // not the first on the team
70 #define FL_NO_KNOCKBACK 0x00000800
71 #define FL_POWER_ARMOR 0x00001000 // power armor (if any) is active
72 #define FL_RESPAWN 0x80000000 // used for item respawning
73 
74 
75 #define FRAMETIME 0.1
76 
77 // memory tags to allow dynamic memory to be cleaned up
78 #define TAG_GAME 765 // clear when unloading the dll
79 #define TAG_LEVEL 766 // clear when loading a new level
80 
81 
82 #define MELEE_DISTANCE 80
83 
84 #define BODY_QUEUE_SIZE 8
85 
86 typedef enum
87 {
89  DAMAGE_YES, // will take damage if hit
90  DAMAGE_AIM // auto targeting recognizes this
91 } damage_t;
92 
93 typedef enum
94 {
100 
101 typedef enum
102 {
109 } ammo_t;
110 
111 
112 //deadflag
113 #define DEAD_NO 0
114 #define DEAD_DYING 1
115 #define DEAD_DEAD 2
116 #define DEAD_RESPAWNABLE 3
117 
118 //range
119 #define RANGE_MELEE 0
120 #define RANGE_NEAR 1
121 #define RANGE_MID 2
122 #define RANGE_FAR 3
123 
124 //gib types
125 #define GIB_ORGANIC 0
126 #define GIB_METALLIC 1
127 
128 //monster ai flags
129 #define AI_STAND_GROUND 0x00000001
130 #define AI_TEMP_STAND_GROUND 0x00000002
131 #define AI_SOUND_TARGET 0x00000004
132 #define AI_LOST_SIGHT 0x00000008
133 #define AI_PURSUIT_LAST_SEEN 0x00000010
134 #define AI_PURSUE_NEXT 0x00000020
135 #define AI_PURSUE_TEMP 0x00000040
136 #define AI_HOLD_FRAME 0x00000080
137 #define AI_GOOD_GUY 0x00000100
138 #define AI_BRUTAL 0x00000200
139 #define AI_NOSTEP 0x00000400
140 #define AI_DUCKED 0x00000800
141 #define AI_COMBAT_POINT 0x00001000
142 #define AI_MEDIC 0x00002000
143 #define AI_RESURRECTING 0x00004000
144 
145 //monster attack state
146 #define AS_STRAIGHT 1
147 #define AS_SLIDING 2
148 #define AS_MELEE 3
149 #define AS_MISSILE 4
150 
151 // armor types
152 #define ARMOR_NONE 0
153 #define ARMOR_JACKET 1
154 #define ARMOR_COMBAT 2
155 #define ARMOR_BODY 3
156 #define ARMOR_SHARD 4
157 
158 // power armor types
159 #define POWER_ARMOR_NONE 0
160 #define POWER_ARMOR_SCREEN 1
161 #define POWER_ARMOR_SHIELD 2
162 
163 // handedness values
164 #define RIGHT_HANDED 0
165 #define LEFT_HANDED 1
166 #define CENTER_HANDED 2
167 
168 
169 // game.serverflags values
170 #define SFL_CROSS_TRIGGER_1 0x00000001
171 #define SFL_CROSS_TRIGGER_2 0x00000002
172 #define SFL_CROSS_TRIGGER_3 0x00000004
173 #define SFL_CROSS_TRIGGER_4 0x00000008
174 #define SFL_CROSS_TRIGGER_5 0x00000010
175 #define SFL_CROSS_TRIGGER_6 0x00000020
176 #define SFL_CROSS_TRIGGER_7 0x00000040
177 #define SFL_CROSS_TRIGGER_8 0x00000080
178 #define SFL_CROSS_TRIGGER_MASK 0x000000ff
179 
180 
181 // noise types for PlayerNoise
182 #define PNOISE_SELF 0
183 #define PNOISE_WEAPON 1
184 #define PNOISE_IMPACT 2
185 
186 
187 // edict->movetype values
188 typedef enum
189 {
190 MOVETYPE_NONE, // never moves
191 MOVETYPE_NOCLIP, // origin and angles change with no interaction
192 MOVETYPE_PUSH, // no clip to world, push on box contact
193 MOVETYPE_STOP, // no clip to world, stops on box contact
194 
195 MOVETYPE_WALK, // gravity
196 MOVETYPE_STEP, // gravity, special edge handling
198 MOVETYPE_TOSS, // gravity
199 MOVETYPE_FLYMISSILE, // extra size to monsters
201 } movetype_t;
202 
203 
204 
205 typedef struct
206 {
211  int armor;
212 } gitem_armor_t;
213 
214 
215 // gitem_t->flags
216 #define IT_WEAPON 1 // use makes active weapon
217 #define IT_AMMO 2
218 #define IT_ARMOR 4
219 #define IT_STAY_COOP 8
220 #define IT_KEY 16
221 #define IT_POWERUP 32
222 
223 // gitem_t->weapmodel for weapons indicates model index
224 #define WEAP_BLASTER 1
225 #define WEAP_SHOTGUN 2
226 #define WEAP_SUPERSHOTGUN 3
227 #define WEAP_MACHINEGUN 4
228 #define WEAP_CHAINGUN 5
229 #define WEAP_GRENADES 6
230 #define WEAP_GRENADELAUNCHER 7
231 #define WEAP_ROCKETLAUNCHER 8
232 #define WEAP_HYPERBLASTER 9
233 #define WEAP_RAILGUN 10
234 #define WEAP_BFG 11
235 
236 typedef struct gitem_s
237 {
238  char *classname; // spawning name
239  qboolean (*pickup)(struct edict_s *ent, struct edict_s *other);
240  void (*use)(struct edict_s *ent, struct gitem_s *item);
241  void (*drop)(struct edict_s *ent, struct gitem_s *item);
242  void (*weaponthink)(struct edict_s *ent);
244  char *world_model;
246  char *view_model;
247 
248  // client side info
249  char *icon;
250  char *pickup_name; // for printing on pickup
251  int count_width; // number of digits to display by icon
252 
253  int quantity; // for ammo how much, for weapons how much is used per shot
254  char *ammo; // for weapons
255  int flags; // IT_* flags
256 
257  int weapmodel; // weapon model index (for weapons)
258 
259  void *info;
260  int tag;
261 
262  char *precaches; // string of all models, sounds, and images this item will use
263 } gitem_t;
264 
265 
266 
267 //
268 // this structure is left intact through an entire game
269 // it should be initialized at dll load time, and read/written to
270 // the server.ssv file for savegames
271 //
272 typedef struct
273 {
274  char helpmessage1[512];
275  char helpmessage2[512];
276  int helpchanged; // flash F1 icon if non 0, play sound
277  // and increment only if 1, 2, or 3
278 
279  gclient_t *clients; // [maxclients]
280 
281  // can't store spawnpoint in level, because
282  // it would get overwritten by the savegame restore
283  char spawnpoint[512]; // needed for coop respawns
284 
285  // store latched cvars here that we want to get at often
288 
289  // cross level triggers
291 
292  // items
294 
296 } game_locals_t;
297 
298 
299 //
300 // this structure is cleared as each map is entered
301 // it is read/written to the level.sav file for savegames
302 //
303 typedef struct
304 {
305  int framenum;
306  float time;
307 
308  char level_name[MAX_QPATH]; // the descriptive name (Outer Base, etc)
309  char mapname[MAX_QPATH]; // the server name (base1, etc)
310  char nextmap[MAX_QPATH]; // go here when fraglimit is hit
311 
312  // intermission state
313  float intermissiontime; // time the intermission was started
314  char *changemap;
318 
319  edict_t *sight_client; // changed once each frame for coop games
320 
327 
329 
332 
335 
338 
339  edict_t *current_entity; // entity running from G_RunFrame
340  int body_que; // dead bodies
341 
342  int power_cubes; // ugly necessity for coop
344 
345 
346 // spawn_temp_t is only used to hold entity field values that
347 // can be set from the editor, but aren't actualy present
348 // in edict_t during gameplay
349 typedef struct
350 {
351  // world vars
352  char *sky;
353  float skyrotate;
355  char *nextmap;
356 
357  int lip;
358  int distance;
359  int height;
360  char *noise;
361  float pausetime;
362  char *item;
363  char *gravity;
364 
365  float minyaw;
366  float maxyaw;
367  float minpitch;
368  float maxpitch;
369 } spawn_temp_t;
370 
371 
372 typedef struct
373 {
374  // fixed data
379 
383 
384  float accel;
385  float speed;
386  float decel;
387  float distance;
388 
389  float wait;
390 
391  // state data
392  int state;
395  float move_speed;
396  float next_speed;
399  void (*endfunc)(edict_t *);
400 } moveinfo_t;
401 
402 
403 typedef struct
404 {
405  void (*aifunc)(edict_t *self, float dist);
406  float dist;
407  void (*thinkfunc)(edict_t *self);
408 } mframe_t;
409 
410 typedef struct
411 {
415  void (*endfunc)(edict_t *self);
416 } mmove_t;
417 
418 typedef struct
419 {
421  int aiflags;
423  float scale;
424 
425  void (*stand)(edict_t *self);
426  void (*idle)(edict_t *self);
427  void (*search)(edict_t *self);
428  void (*walk)(edict_t *self);
429  void (*run)(edict_t *self);
430  void (*dodge)(edict_t *self, edict_t *other, float eta);
431  void (*attack)(edict_t *self);
432  void (*melee)(edict_t *self);
433  void (*sight)(edict_t *self, edict_t *other);
434  qboolean (*checkattack)(edict_t *self);
435 
436  float pausetime;
438 
440  float search_time;
441  float trail_time;
444  int lefty;
445  float idle_time;
447 
450 } monsterinfo_t;
451 
452 
453 
454 extern game_locals_t game;
455 extern level_locals_t level;
456 extern game_import_t gi;
457 extern game_export_t globals;
458 extern spawn_temp_t st;
459 
460 extern int sm_meat_index;
461 extern int snd_fry;
462 
463 extern int jacket_armor_index;
464 extern int combat_armor_index;
465 extern int body_armor_index;
466 
467 
468 // means of death
469 #define MOD_UNKNOWN 0
470 #define MOD_BLASTER 1
471 #define MOD_SHOTGUN 2
472 #define MOD_SSHOTGUN 3
473 #define MOD_MACHINEGUN 4
474 #define MOD_CHAINGUN 5
475 #define MOD_GRENADE 6
476 #define MOD_G_SPLASH 7
477 #define MOD_ROCKET 8
478 #define MOD_R_SPLASH 9
479 #define MOD_HYPERBLASTER 10
480 #define MOD_RAILGUN 11
481 #define MOD_BFG_LASER 12
482 #define MOD_BFG_BLAST 13
483 #define MOD_BFG_EFFECT 14
484 #define MOD_HANDGRENADE 15
485 #define MOD_HG_SPLASH 16
486 #define MOD_WATER 17
487 #define MOD_SLIME 18
488 #define MOD_LAVA 19
489 #define MOD_CRUSH 20
490 #define MOD_TELEFRAG 21
491 #define MOD_FALLING 22
492 #define MOD_SUICIDE 23
493 #define MOD_HELD_GRENADE 24
494 #define MOD_EXPLOSIVE 25
495 #define MOD_BARREL 26
496 #define MOD_BOMB 27
497 #define MOD_EXIT 28
498 #define MOD_SPLASH 29
499 #define MOD_TARGET_LASER 30
500 #define MOD_TRIGGER_HURT 31
501 #define MOD_HIT 32
502 #define MOD_TARGET_BLASTER 33
503 #define MOD_FRIENDLY_FIRE 0x8000000
504 
505 extern int meansOfDeath;
506 
507 
508 extern edict_t *g_edicts;
509 
510 #define FOFS(x) (intptr_t)&(((edict_t *)0)->x)
511 #define STOFS(x) (intptr_t)&(((spawn_temp_t *)0)->x)
512 #define LLOFS(x) (intptr_t)&(((level_locals_t *)0)->x)
513 #define CLOFS(x) (intptr_t)&(((gclient_t *)0)->x)
514 
515 #define random() ((rand () & 0x7fff) / ((float)0x7fff))
516 #define crandom() (2.0 * (random() - 0.5))
517 
518 extern cvar_t *maxentities;
519 extern cvar_t *deathmatch;
520 extern cvar_t *coop;
521 extern cvar_t *dmflags;
522 extern cvar_t *skill;
523 extern cvar_t *fraglimit;
524 extern cvar_t *timelimit;
525 extern cvar_t *password;
526 extern cvar_t *spectator_password;
527 extern cvar_t *needpass;
528 extern cvar_t *g_select_empty;
529 extern cvar_t *dedicated;
530 
531 extern cvar_t *filterban;
532 
533 extern cvar_t *sv_gravity;
534 extern cvar_t *sv_maxvelocity;
535 
536 extern cvar_t *gun_x, *gun_y, *gun_z;
537 extern cvar_t *sv_rollspeed;
538 extern cvar_t *sv_rollangle;
539 
540 extern cvar_t *run_pitch;
541 extern cvar_t *run_roll;
542 extern cvar_t *bob_up;
543 extern cvar_t *bob_pitch;
544 extern cvar_t *bob_roll;
545 
546 extern cvar_t *sv_cheats;
547 extern cvar_t *maxclients;
548 extern cvar_t *maxspectators;
549 
550 extern cvar_t *flood_msgs;
551 extern cvar_t *flood_persecond;
552 extern cvar_t *flood_waitdelay;
553 
554 extern cvar_t *sv_maplist;
555 
556 #define world (&g_edicts[0])
557 
558 // item spawnflags
559 #define ITEM_TRIGGER_SPAWN 0x00000001
560 #define ITEM_NO_TOUCH 0x00000002
561 // 6 bits reserved for editor flags
562 // 8 bits used as power cube id bits for coop games
563 #define DROPPED_ITEM 0x00010000
564 #define DROPPED_PLAYER_ITEM 0x00020000
565 #define ITEM_TARGETS_USED 0x00040000
566 
567 //
568 // fields are needed for spawning from the entity string
569 // and saving / loading games
570 //
571 #define FFL_SPAWNTEMP 1
572 #define FFL_NOSPAWN 2
573 
574 typedef enum {
577  F_LSTRING, // string on disk, pointer in memory, TAG_LEVEL
578  F_GSTRING, // string on disk, pointer in memory, TAG_GAME
581  F_EDICT, // index on disk, pointer in memory
582  F_ITEM, // index on disk, pointer in memory
583  F_CLIENT, // index on disk, pointer in memory
587 } fieldtype_t;
588 
589 typedef struct
590 {
591  char *name;
592  int ofs;
594  int flags;
595 } field_t;
596 
597 
598 extern field_t fields[];
599 extern gitem_t itemlist[];
600 
601 
602 //
603 // g_cmds.c
604 //
605 void Cmd_Help_f (edict_t *ent);
606 void Cmd_Score_f (edict_t *ent);
607 
608 //
609 // g_items.c
610 //
611 void PrecacheItem (gitem_t *it);
612 void InitItems (void);
613 void SetItemNames (void);
614 gitem_t *FindItem (char *pickup_name);
616 #define ITEM_INDEX(x) ((x)-itemlist)
618 void SetRespawn (edict_t *ent, float delay);
619 void ChangeWeapon (edict_t *ent);
620 void SpawnItem (edict_t *ent, gitem_t *item);
621 void Think_Weapon (edict_t *ent);
622 int ArmorIndex (edict_t *ent);
623 int PowerArmorType (edict_t *ent);
624 gitem_t *GetItemByIndex (int index);
625 qboolean Add_Ammo (edict_t *ent, gitem_t *item, int count);
626 void Touch_Item (edict_t *ent, edict_t *other, cplane_t *plane, csurface_t *surf);
627 
628 //
629 // g_utils.c
630 //
631 qboolean KillBox (edict_t *ent);
632 void G_ProjectSource (vec3_t point, vec3_t distance, vec3_t forward, vec3_t right, vec3_t result);
633 edict_t *G_Find (edict_t *from, int fieldofs, char *match);
634 edict_t *findradius (edict_t *from, vec3_t org, float rad);
636 void G_UseTargets (edict_t *ent, edict_t *activator);
637 void G_SetMovedir (vec3_t angles, vec3_t movedir);
638 
639 void G_InitEdict (edict_t *e);
640 edict_t *G_Spawn (void);
641 void G_FreeEdict (edict_t *e);
642 
643 void G_TouchTriggers (edict_t *ent);
644 void G_TouchSolids (edict_t *ent);
645 
646 char *G_CopyString (char *in);
647 
648 float *tv (float x, float y, float z);
649 char *vtos (vec3_t v);
650 
651 float vectoyaw (vec3_t vec);
652 void vectoangles (vec3_t vec, vec3_t angles);
653 
654 //
655 // g_combat.c
656 //
657 qboolean OnSameTeam (edict_t *ent1, edict_t *ent2);
658 qboolean CanDamage (edict_t *targ, edict_t *inflictor);
659 void T_Damage (edict_t *targ, edict_t *inflictor, edict_t *attacker, vec3_t dir, vec3_t point, vec3_t normal, int damage, int knockback, int dflags, int mod);
660 void T_RadiusDamage (edict_t *inflictor, edict_t *attacker, float damage, edict_t *ignore, float radius, int mod);
661 
662 // damage flags
663 #define DAMAGE_RADIUS 0x00000001 // damage was indirect
664 #define DAMAGE_NO_ARMOR 0x00000002 // armour does not protect from this damage
665 #define DAMAGE_ENERGY 0x00000004 // damage is from an energy based weapon
666 #define DAMAGE_NO_KNOCKBACK 0x00000008 // do not affect velocity, just view angles
667 #define DAMAGE_BULLET 0x00000010 // damage is from a bullet (used for ricochets)
668 #define DAMAGE_NO_PROTECTION 0x00000020 // armor, shields, invulnerability, and godmode have no effect
669 
670 #define DEFAULT_BULLET_HSPREAD 300
671 #define DEFAULT_BULLET_VSPREAD 500
672 #define DEFAULT_SHOTGUN_HSPREAD 1000
673 #define DEFAULT_SHOTGUN_VSPREAD 500
674 #define DEFAULT_DEATHMATCH_SHOTGUN_COUNT 12
675 #define DEFAULT_SHOTGUN_COUNT 12
676 #define DEFAULT_SSHOTGUN_COUNT 20
677 
678 //
679 // g_monster.c
680 //
681 void monster_fire_bullet (edict_t *self, vec3_t start, vec3_t dir, int damage, int kick, int hspread, int vspread, int flashtype);
682 void monster_fire_shotgun (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int hspread, int vspread, int count, int flashtype);
683 void monster_fire_blaster (edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype, int effect);
684 void monster_fire_grenade (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, int flashtype);
685 void monster_fire_rocket (edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype);
686 void monster_fire_railgun (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int flashtype);
687 void monster_fire_bfg (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, int kick, float damage_radius, int flashtype);
688 void M_droptofloor (edict_t *ent);
689 void monster_think (edict_t *self);
690 void walkmonster_start (edict_t *self);
691 void swimmonster_start (edict_t *self);
692 void flymonster_start (edict_t *self);
693 void AttackFinished (edict_t *self, float time);
694 void monster_death_use (edict_t *self);
695 void M_CatagorizePosition (edict_t *ent);
697 void M_FlyCheck (edict_t *self);
698 void M_CheckGround (edict_t *ent);
699 
700 //
701 // g_misc.c
702 //
703 void ThrowHead (edict_t *self, char *gibname, int damage, int type);
704 void ThrowClientHead (edict_t *self, int damage);
705 void ThrowGib (edict_t *self, char *gibname, int damage, int type);
706 void BecomeExplosion1(edict_t *self);
707 
708 //
709 // g_ai.c
710 //
711 void AI_SetSightClient (void);
712 
713 void ai_stand (edict_t *self, float dist);
714 void ai_move (edict_t *self, float dist);
715 void ai_walk (edict_t *self, float dist);
716 void ai_turn (edict_t *self, float dist);
717 void ai_run (edict_t *self, float dist);
718 void ai_charge (edict_t *self, float dist);
719 int range (edict_t *self, edict_t *other);
720 
721 void FoundTarget (edict_t *self);
722 qboolean infront (edict_t *self, edict_t *other);
723 qboolean visible (edict_t *self, edict_t *other);
725 
726 //
727 // g_weapon.c
728 //
729 void ThrowDebris (edict_t *self, char *modelname, float speed, vec3_t origin);
730 qboolean fire_hit (edict_t *self, vec3_t aim, int damage, int kick);
731 void fire_bullet (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int hspread, int vspread, int mod);
732 void fire_shotgun (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int hspread, int vspread, int count, int mod);
733 void fire_blaster (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, int effect, qboolean hyper);
734 void fire_grenade (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, float timer, float damage_radius);
735 void fire_grenade2 (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, float timer, float damage_radius, qboolean held);
736 void fire_rocket (edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, float damage_radius, int radius_damage);
737 void fire_rail (edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick);
738 void fire_bfg (edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, float damage_radius);
739 
740 //
741 // g_ptrail.c
742 //
743 void PlayerTrail_Init (void);
744 void PlayerTrail_Add (vec3_t spot);
745 void PlayerTrail_New (vec3_t spot);
749 
750 //
751 // g_client.c
752 //
753 void respawn (edict_t *ent);
754 void BeginIntermission (edict_t *targ);
755 void PutClientInServer (edict_t *ent);
758 void InitBodyQue (void);
759 void ClientBeginServerFrame (edict_t *ent);
760 
761 //
762 // g_player.c
763 //
764 void player_pain (edict_t *self, edict_t *other, float kick, int damage);
765 void player_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point);
766 
767 //
768 // g_svcmds.c
769 //
770 void ServerCommand (void);
771 qboolean SV_FilterPacket (char *from);
772 
773 //
774 // p_view.c
775 //
776 void ClientEndServerFrame (edict_t *ent);
777 
778 //
779 // p_hud.c
780 //
782 void G_SetStats (edict_t *ent);
783 void G_SetSpectatorStats (edict_t *ent);
784 void G_CheckChaseStats (edict_t *ent);
785 void ValidateSelectedItem (edict_t *ent);
787 
788 //
789 // g_pweapon.c
790 //
791 void PlayerNoise(edict_t *who, vec3_t where, int type);
792 
793 //
794 // m_move.c
795 //
797 qboolean M_walkmove (edict_t *ent, float yaw, float dist);
798 void M_MoveToGoal (edict_t *ent, float dist);
799 void M_ChangeYaw (edict_t *ent);
800 
801 //
802 // g_phys.c
803 //
804 void G_RunEntity (edict_t *ent);
805 
806 //
807 // g_main.c
808 //
809 void SaveClientData (void);
810 void FetchClientEntData (edict_t *ent);
811 
812 //
813 // g_chase.c
814 //
815 void UpdateChaseCam(edict_t *ent);
816 void ChaseNext(edict_t *ent);
817 void ChasePrev(edict_t *ent);
818 void GetChaseTarget(edict_t *ent);
819 
820 //============================================================================
821 
822 // client_t->anim_priority
823 #define ANIM_BASIC 0 // stand / run
824 #define ANIM_WAVE 1
825 #define ANIM_JUMP 2
826 #define ANIM_PAIN 3
827 #define ANIM_ATTACK 4
828 #define ANIM_DEATH 5
829 #define ANIM_REVERSE 6
830 
831 
832 // client data that stays across multiple level loads
833 typedef struct
834 {
835  char userinfo[MAX_INFO_STRING];
836  char netname[16];
837  int hand;
838 
839  qboolean connected; // a loadgame will leave valid entities that
840  // just don't have a connection yet
841 
842  // values saved and restored from edicts when changing levels
843  int health;
846 
848  int inventory[MAX_ITEMS];
849 
850  // ammo capacities
857 
860 
861  int power_cubes; // used for tracking the cubes in coop games
862  int score; // for calculating total unit score in coop games
863 
866 
867  qboolean spectator; // client is a spectator
869 
870 // client data that stays across deathmatch respawns
871 typedef struct
872 {
873  client_persistant_t coop_respawn; // what to set client->pers to on a respawn
874  int enterframe; // level.framenum the client entered the game
875  int score; // frags, etc
876  vec3_t cmd_angles; // angles sent over in the last command
877 
878  qboolean spectator; // client is a spectator
880 
881 // this structure is cleared on each PutClientInServer(),
882 // except for 'client->pers'
883 struct gclient_s
884 {
885  // known to server
886  player_state_t ps; // communicated by server to clients
887  int ping;
888 
889  // private to game
892  pmove_state_t old_pmove; // for detecting out-of-pmove changes
893 
894  qboolean showscores; // set layout stat
895  qboolean showinventory; // set layout stat
898 
900 
901  int buttons;
904 
906 
908 
909  // sum up damage over an entire frame, so
910  // shotgun blasts give a single big kick
911  int damage_armor; // damage absorbed by armor
912  int damage_parmor; // damage absorbed by power armor
913  int damage_blood; // damage taken out of health
914  int damage_knockback; // impact damage
915  vec3_t damage_from; // origin for vector calculation
916 
917  float killer_yaw; // when dead, look at killer
918 
920  vec3_t kick_angles; // weapon kicks
922  float v_dmg_roll, v_dmg_pitch, v_dmg_time; // damage kicks
923  float fall_time, fall_value; // for view drop on fall
925  float bonus_alpha;
927  vec3_t v_angle; // aiming direction
928  float bobtime; // so off-ground doesn't change it
931 
935 
936  int machinegun_shots; // for weapon raising
937 
938  // animation vars
939  int anim_end;
943 
944  // powerup timers
949 
954 
956 
957  float flood_locktill; // locked from talking
958  float flood_when[10]; // when messages were said
959  int flood_whenhead; // head pointer for when said
960 
961  float respawn_time; // can respawn when time > this
962 
963  edict_t *chase_target; // player we are chasing
964  qboolean update_chase; // need to update chase info?
965 };
966 
967 
968 struct edict_s
969 {
971  struct gclient_s *client; // NULL if not a player
972  // the server expects the first part
973  // of gclient_s to be a player_state_t
974  // but the rest of it is opaque
975 
978 
979  // FIXME: move these fields to a server private sv_entity_t
980  link_t area; // linked to a division node or leaf
981 
982  int num_clusters; // if -1, use headnode instead
984  int headnode; // unused if num_clusters != -1
986 
987  //================================
988 
989  int svflags;
993  int clipmask;
995 
996 
997  // DO NOT MODIFY ANYTHING ABOVE THIS, THE SERVER
998  // EXPECTS THE FIELDS IN THAT ORDER!
999 
1000  //================================
1002  int flags;
1003 
1004  char *model;
1005  float freetime; // sv.time when the object was freed
1006 
1007  //
1008  // only used locally in game, not by server
1009  //
1010  char *message;
1011  char *classname;
1013 
1014  float timestamp;
1015 
1016  float angle; // set in qe3, -1 = up, -2 = down
1017  char *target;
1018  char *targetname;
1019  char *killtarget;
1020  char *team;
1021  char *pathtarget;
1025 
1026  float speed, accel, decel;
1029 
1032  int mass;
1034  float gravity; // per entity gravity multiplier (1.0 is normal)
1035  // use for lowgrav artifact, flares
1036 
1039  float yaw_speed;
1040  float ideal_yaw;
1041 
1042  float nextthink;
1043  void (*prethink) (edict_t *ent);
1044  void (*think)(edict_t *self);
1045  void (*blocked)(edict_t *self, edict_t *other); //move to moveinfo?
1046  void (*touch)(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf);
1047  void (*use)(edict_t *self, edict_t *other, edict_t *activator);
1048  void (*pain)(edict_t *self, edict_t *other, float kick, int damage);
1049  void (*die)(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point);
1050 
1051  float touch_debounce_time; // are all these legit? do we need more/less of them?
1054  float fly_sound_debounce_time; //move to clientinfo
1056 
1057  int health;
1062 
1064 
1065  char *map; // target_changelevel
1066 
1067  int viewheight; // height above origin where eyesight is determined
1069  int dmg;
1071  float dmg_radius;
1072  int sounds; //make this a spawntemp var?
1073  int count;
1074 
1083 
1084  edict_t *mynoise; // can go in client only
1086 
1089  float volume;
1091 
1092  // timing variables
1093  float wait;
1094  float delay; // before firing targets
1095  float random;
1096 
1098 
1101 
1104 
1105  // move this to clientinfo?
1107 
1108  int style; // also used as areaportal number
1109 
1110  gitem_t *item; // for bonus items
1111 
1112  // common data blocks
1115 };
1116 
edict_s::mynoise2
edict_t * mynoise2
Definition: g_local.h:1085
gitem_armor_t::armor
int armor
Definition: g_local.h:211
gi
game_import_t gi
Definition: g_main.c:25
game_import_t
Definition: game.h:102
moveinfo_t::decel
float decel
Definition: g_local.h:386
level_locals_t::pic_health
int pic_health
Definition: g_local.h:328
G_ProjectSource
void G_ProjectSource(vec3_t point, vec3_t distance, vec3_t forward, vec3_t right, vec3_t result)
Definition: g_utils.c:25
edict_s::ideal_yaw
float ideal_yaw
Definition: g_local.h:1040
edict_s::s
entity_state_t s
Definition: g_local.h:970
gitem_armor_t::max_count
int max_count
Definition: g_local.h:208
gclient_s::damage_from
vec3_t damage_from
Definition: g_local.h:915
G_SetSpectatorStats
void G_SetSpectatorStats(edict_t *ent)
Definition: p_hud.c:550
edict_s::groundentity
edict_t * groundentity
Definition: g_local.h:1079
ChasePrev
void ChasePrev(edict_t *ent)
Definition: g_chase.c:135
deathmatch
cvar_t * deathmatch
Definition: g_main.c:35
PlayerTrail_Init
void PlayerTrail_Init(void)
Definition: p_trail.c:49
MoveClientToIntermission
void MoveClientToIntermission(edict_t *client)
Definition: p_hud.c:33
F_FUNCTION
@ F_FUNCTION
Definition: g_local.h:584
gclient_s::v_dmg_roll
float v_dmg_roll
Definition: g_local.h:922
edict_s::volume
float volume
Definition: g_local.h:1089
edict_s::timestamp
float timestamp
Definition: g_local.h:1014
client_persistant_t::spectator
qboolean spectator
Definition: g_local.h:867
client_persistant_t::selected_item
int selected_item
Definition: g_local.h:847
client_persistant_t::max_grenades
int max_grenades
Definition: g_local.h:854
AI_SetSightClient
void AI_SetSightClient(void)
Definition: g_ai.c:50
spawn_temp_t
Definition: g_local.h:349
gclient_s::oldviewangles
vec3_t oldviewangles
Definition: g_local.h:929
monster_fire_railgun
void monster_fire_railgun(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int flashtype)
Definition: g_monster.c:81
moveinfo_t::sound_end
int sound_end
Definition: g_local.h:382
edict_s::pos2
vec3_t pos2
Definition: g_local.h:1028
run_roll
cvar_t * run_roll
Definition: g_main.c:62
gclient_s::flood_whenhead
int flood_whenhead
Definition: g_local.h:959
AMMO_ROCKETS
@ AMMO_ROCKETS
Definition: g_local.h:105
MAX_QPATH
#define MAX_QPATH
Definition: q_shared.h:80
ClientBeginServerFrame
void ClientBeginServerFrame(edict_t *ent)
Definition: p_client.c:1765
gclient_s::v_angle
vec3_t v_angle
Definition: g_local.h:927
q_shared.h
edict_s::model
char * model
Definition: g_local.h:1004
G_Spawn
edict_t * G_Spawn(void)
Definition: g_utils.c:420
field_t
Definition: g_local.h:589
gclient_s::v_dmg_time
float v_dmg_time
Definition: g_local.h:922
ThrowGib
void ThrowGib(edict_t *self, char *gibname, int damage, int type)
Definition: g_misc.c:135
gitem_armor_t::normal_protection
float normal_protection
Definition: g_local.h:209
edict_s::gib_health
int gib_health
Definition: g_local.h:1059
gitem_armor_t::energy_protection
float energy_protection
Definition: g_local.h:210
visible
qboolean visible(edict_t *self, edict_t *other)
Definition: g_ai.c:287
sv_rollspeed
cvar_t * sv_rollspeed
Definition: g_main.c:55
monsterinfo_t
Definition: g_local.h:418
GetItemByIndex
gitem_t * GetItemByIndex(int index)
Definition: g_items.c:62
gclient_s::kick_origin
vec3_t kick_origin
Definition: g_local.h:921
gclient_s::grenade_blew_up
qboolean grenade_blew_up
Definition: g_local.h:950
edict_s::activator
edict_t * activator
Definition: g_local.h:1078
gclient_s::ping
int ping
Definition: g_local.h:887
G_RunEntity
void G_RunEntity(edict_t *ent)
Definition: g_phys.c:932
edict_s::absmax
vec3_t absmax
Definition: g_local.h:991
F_IGNORE
@ F_IGNORE
Definition: g_local.h:586
ArmorIndex
int ArmorIndex(edict_t *ent)
Definition: g_items.c:590
level_locals_t
Definition: g_local.h:303
gclient_s::update_chase
qboolean update_chase
Definition: g_local.h:964
PlayerTrail_PickNext
edict_t * PlayerTrail_PickNext(edict_t *self)
Definition: p_trail.c:124
WEAPON_DROPPING
@ WEAPON_DROPPING
Definition: g_local.h:97
edict_s::count
int count
Definition: g_local.h:1073
AMMO_BULLETS
@ AMMO_BULLETS
Definition: g_local.h:103
gclient_s::flood_when
float flood_when[10]
Definition: g_local.h:958
gitem_s::precaches
char * precaches
Definition: g_local.h:262
level_locals_t::sight_client
edict_t * sight_client
Definition: g_local.h:319
edict_s::last_move_time
float last_move_time
Definition: g_local.h:1055
client_persistant_t::connected
qboolean connected
Definition: g_local.h:839
level_locals_t::body_que
int body_que
Definition: g_local.h:340
run_pitch
cvar_t * run_pitch
Definition: g_main.c:61
InitClientPersistant
void InitClientPersistant(gclient_t *client)
Definition: p_client.c:607
AttackFinished
void AttackFinished(edict_t *self, float time)
Definition: g_monster.c:135
PutClientInServer
void PutClientInServer(edict_t *ent)
Definition: p_client.c:1097
maxclients
cvar_t * maxclients
Definition: g_main.c:44
gclient_s::next_drown_time
float next_drown_time
Definition: g_local.h:932
edict_s::movetarget
edict_t * movetarget
Definition: g_local.h:1038
InitBodyQue
void InitBodyQue(void)
Definition: p_client.c:918
client_persistant_t::helpchanged
int helpchanged
Definition: g_local.h:865
spawn_temp_t::gravity
char * gravity
Definition: g_local.h:363
gclient_s::anim_end
int anim_end
Definition: g_local.h:939
snd_fry
int snd_fry
Definition: g_main.c:30
WEAPON_READY
@ WEAPON_READY
Definition: g_local.h:95
AMMO_SHELLS
@ AMMO_SHELLS
Definition: g_local.h:104
v
GLdouble v
Definition: qgl_win.c:143
gclient_s::buttons
int buttons
Definition: g_local.h:901
fire_rail
void fire_rail(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick)
Definition: g_weapon.c:658
entity_state_s
Definition: q_shared.h:1145
F_VECTOR
@ F_VECTOR
Definition: g_local.h:579
FoundTarget
void FoundTarget(edict_t *self)
Definition: g_ai.c:347
st
spawn_temp_t st
Definition: g_main.c:27
monsterinfo_t::nextframe
int nextframe
Definition: g_local.h:422
mmove_t::lastframe
int lastframe
Definition: g_local.h:413
M_walkmove
qboolean M_walkmove(edict_t *ent, float yaw, float dist)
Definition: m_move.c:542
password
cvar_t * password
Definition: g_main.c:41
MOVETYPE_NOCLIP
@ MOVETYPE_NOCLIP
Definition: g_local.h:191
MOVETYPE_STOP
@ MOVETYPE_STOP
Definition: g_local.h:193
game_locals_t::helpchanged
int helpchanged
Definition: g_local.h:276
client_respawn_t::coop_respawn
client_persistant_t coop_respawn
Definition: g_local.h:873
edict_s::linkcount
int linkcount
Definition: g_local.h:977
gclient_s::showhelpicon
qboolean showhelpicon
Definition: g_local.h:897
edict_s::map
char * map
Definition: g_local.h:1065
fire_rocket
void fire_rocket(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, float damage_radius, int radius_damage)
Definition: g_weapon.c:620
mmove_t::frame
mframe_t * frame
Definition: g_local.h:414
edict_s::air_finished
float air_finished
Definition: g_local.h:1033
gitem_s::pickup
qboolean(* pickup)(struct edict_s *ent, struct edict_s *other)
Definition: g_local.h:239
spawn_temp_t::maxyaw
float maxyaw
Definition: g_local.h:366
gun_x
cvar_t * gun_x
Definition: g_main.c:57
gclient_s::showhelp
qboolean showhelp
Definition: g_local.h:896
monsterinfo_t::last_sighting
vec3_t last_sighting
Definition: g_local.h:442
gclient_s::fall_time
float fall_time
Definition: g_local.h:923
monster_death_use
void monster_death_use(edict_t *self)
Definition: g_monster.c:511
player_die
void player_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
Definition: p_client.c:501
gitem_s::world_model_flags
int world_model_flags
Definition: g_local.h:245
qboolean
qboolean
Definition: q_shared.h:63
x
GLint GLenum GLint x
Definition: qgl_win.c:116
flood_msgs
cvar_t * flood_msgs
Definition: g_main.c:69
edict_s::inuse
qboolean inuse
Definition: g_local.h:976
edict_s::areanum2
int areanum2
Definition: g_local.h:985
moveinfo_t::start_angles
vec3_t start_angles
Definition: g_local.h:376
edict_s::oldenemy
edict_t * oldenemy
Definition: g_local.h:1077
gclient_s::flood_locktill
float flood_locktill
Definition: g_local.h:957
edict_s::targetname
char * targetname
Definition: g_local.h:1018
z
GLdouble GLdouble z
Definition: qgl_win.c:283
gclient_s::damage_blend
vec3_t damage_blend
Definition: g_local.h:926
fire_bfg
void fire_bfg(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, float damage_radius)
Definition: g_weapon.c:884
ai_run
void ai_run(edict_t *self, float dist)
Definition: g_ai.c:914
G_TouchTriggers
void G_TouchTriggers(edict_t *ent)
Definition: g_utils.c:475
MOVETYPE_PUSH
@ MOVETYPE_PUSH
Definition: g_local.h:192
MOVETYPE_FLYMISSILE
@ MOVETYPE_FLYMISSILE
Definition: g_local.h:199
InitItems
void InitItems(void)
Definition: g_items.c:2186
InitClientResp
void InitClientResp(gclient_t *client)
Definition: p_client.c:633
edict_s::move_angles
vec3_t move_angles
Definition: g_local.h:1103
edict_s::max_health
int max_health
Definition: g_local.h:1058
G_Find
edict_t * G_Find(edict_t *from, int fieldofs, char *match)
Definition: g_utils.c:45
BecomeExplosion1
void BecomeExplosion1(edict_t *self)
Definition: g_misc.c:314
SV_FilterPacket
qboolean SV_FilterPacket(char *from)
Definition: g_svcmds.c:123
maxspectators
cvar_t * maxspectators
Definition: g_main.c:45
monsterinfo_t::scale
float scale
Definition: g_local.h:423
DAMAGE_YES
@ DAMAGE_YES
Definition: g_local.h:89
edict_s::client
struct gclient_s * client
Definition: g_local.h:971
gclient_s::kick_angles
vec3_t kick_angles
Definition: g_local.h:920
Think_Weapon
void Think_Weapon(edict_t *ent)
Definition: p_weapon.c:282
moveinfo_t::sound_start
int sound_start
Definition: g_local.h:380
client_respawn_t::spectator
qboolean spectator
Definition: g_local.h:878
edict_s::movedir
vec3_t movedir
Definition: g_local.h:1027
edict_s::blocked
void(* blocked)(edict_t *self, edict_t *other)
Definition: g_local.h:1045
gitem_s::count_width
int count_width
Definition: g_local.h:251
edict_s::wait
float wait
Definition: g_local.h:1093
gclient_s::grenade_time
float grenade_time
Definition: g_local.h:951
maxentities
cvar_t * maxentities
Definition: g_main.c:46
M_droptofloor
void M_droptofloor(edict_t *ent)
Definition: g_monster.c:310
level_locals_t::power_cubes
int power_cubes
Definition: g_local.h:342
vectoyaw
float vectoyaw(vec3_t vec)
Definition: g_utils.c:333
fire_grenade
void fire_grenade(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, float timer, float damage_radius)
Definition: g_weapon.c:486
WEAPON_ACTIVATING
@ WEAPON_ACTIVATING
Definition: g_local.h:96
jacket_armor_index
int jacket_armor_index
Definition: g_items.c:43
F_ITEM
@ F_ITEM
Definition: g_local.h:582
fire_grenade2
void fire_grenade2(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, float timer, float damage_radius, qboolean held)
Definition: g_weapon.c:519
gun_y
cvar_t * gun_y
Definition: g_local.h:536
edict_s::mins
vec3_t mins
Definition: g_local.h:990
meansOfDeath
int meansOfDeath
Definition: g_main.c:31
tv
float * tv(float x, float y, float z)
Definition: g_utils.c:266
edict_s::prethink
void(* prethink)(edict_t *ent)
Definition: g_local.h:1043
ammo_t
ammo_t
Definition: g_local.h:101
monster_fire_grenade
void monster_fire_grenade(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, int flashtype)
Definition: g_monster.c:61
edict_s::clusternums
int clusternums[MAX_ENT_CLUSTERS]
Definition: g_local.h:983
Add_Ammo
qboolean Add_Ammo(edict_t *ent, gitem_t *item, int count)
Definition: g_items.c:447
client_persistant_t::max_slugs
int max_slugs
Definition: g_local.h:856
monsterinfo_t::currentmove
mmove_t * currentmove
Definition: g_local.h:420
gclient_s::pickup_msg_time
float pickup_msg_time
Definition: g_local.h:955
ValidateSelectedItem
void ValidateSelectedItem(edict_t *ent)
Definition: g_cmds.c:130
fire_hit
qboolean fire_hit(edict_t *self, vec3_t aim, int damage, int kick)
Definition: g_weapon.c:63
FindItem
gitem_t * FindItem(char *pickup_name)
Definition: g_items.c:100
gclient_s::bobtime
float bobtime
Definition: g_local.h:928
monsterinfo_t::attack_state
int attack_state
Definition: g_local.h:443
gclient_s::oldvelocity
vec3_t oldvelocity
Definition: g_local.h:930
type
GLenum type
Definition: qgl_win.c:72
g_edicts
edict_t * g_edicts
Definition: g_main.c:33
F_EDICT
@ F_EDICT
Definition: g_local.h:581
ThrowDebris
void ThrowDebris(edict_t *self, char *modelname, float speed, vec3_t origin)
Definition: g_misc.c:286
client_persistant_t::max_bullets
int max_bullets
Definition: g_local.h:851
edict_s::groundentity_linkcount
int groundentity_linkcount
Definition: g_local.h:1080
moveinfo_t::decel_distance
float decel_distance
Definition: g_local.h:398
cvar_s
Definition: q_shared.h:324
game_locals_t
Definition: g_local.h:272
M_CheckAttack
qboolean M_CheckAttack(edict_t *self)
Definition: g_ai.c:607
weaponstate_t
weaponstate_t
Definition: g_local.h:93
body_armor_index
int body_armor_index
Definition: g_items.c:45
gclient_s::bonus_alpha
float bonus_alpha
Definition: g_local.h:925
walkmonster_start
void walkmonster_start(edict_t *self)
Definition: g_monster.c:692
edict_s::movetype
int movetype
Definition: g_local.h:1001
MOVETYPE_STEP
@ MOVETYPE_STEP
Definition: g_local.h:196
edict_s::areanum
int areanum
Definition: g_local.h:985
MAX_INFO_STRING
#define MAX_INFO_STRING
Definition: q_shared.h:259
moveinfo_t::end_origin
vec3_t end_origin
Definition: g_local.h:377
BeginIntermission
void BeginIntermission(edict_t *targ)
Definition: p_hud.c:74
gitem_s::icon
char * icon
Definition: g_local.h:249
level_locals_t::sight_entity_framenum
int sight_entity_framenum
Definition: g_local.h:322
F_FLOAT
@ F_FLOAT
Definition: g_local.h:576
gclient_s::enviro_framenum
float enviro_framenum
Definition: g_local.h:948
G_InitEdict
void G_InitEdict(edict_t *e)
Definition: g_utils.c:401
gclient_s::pers
client_persistant_t pers
Definition: g_local.h:890
level_locals_t::current_entity
edict_t * current_entity
Definition: g_local.h:339
level_locals_t::intermission_origin
vec3_t intermission_origin
Definition: g_local.h:316
client_persistant_t::max_shells
int max_shells
Definition: g_local.h:852
client_respawn_t::score
int score
Definition: g_local.h:875
gitem_s::use
void(* use)(struct edict_s *ent, struct gitem_s *item)
Definition: g_local.h:240
G_SetStats
void G_SetStats(edict_t *ent)
Definition: p_hud.c:378
gclient_s::newweapon
gitem_t * newweapon
Definition: g_local.h:907
edict_s::message
char * message
Definition: g_local.h:1010
FindItemByClassname
gitem_t * FindItemByClassname(char *classname)
Definition: g_items.c:77
PlayerTrail_New
void PlayerTrail_New(vec3_t spot)
Definition: p_trail.c:85
edict_s::show_hostile
qboolean show_hostile
Definition: g_local.h:1061
edict_s::chain
edict_t * chain
Definition: g_local.h:1075
edict_s::svflags
int svflags
Definition: g_local.h:989
infront
qboolean infront(edict_t *self, edict_t *other)
Definition: g_ai.c:312
ai_turn
void ai_turn(edict_t *self, float dist)
Definition: g_ai.c:215
edict_s::item
gitem_t * item
Definition: g_local.h:1110
vectoangles
void vectoangles(vec3_t vec, vec3_t angles)
Definition: g_utils.c:356
gclient_s::damage_armor
int damage_armor
Definition: g_local.h:911
level_locals_t::total_secrets
int total_secrets
Definition: g_local.h:330
gclient_s::weapon_thunk
qboolean weapon_thunk
Definition: g_local.h:905
field_t::name
char * name
Definition: g_local.h:591
edict_s::classname
char * classname
Definition: g_local.h:1011
edict_s::speed
float speed
Definition: g_local.h:1026
Touch_Item
void Touch_Item(edict_t *ent, edict_t *other, cplane_t *plane, csurface_t *surf)
Definition: g_items.c:761
edict_s
Definition: g_local.h:968
spawn_temp_t::height
int height
Definition: g_local.h:359
edict_s::mass
int mass
Definition: g_local.h:1032
gitem_s::world_model
char * world_model
Definition: g_local.h:244
findradius
edict_t * findradius(edict_t *from, vec3_t org, float rad)
Definition: g_utils.c:78
G_CopyString
char * G_CopyString(char *in)
Definition: g_utils.c:391
edict_s::angle
float angle
Definition: g_local.h:1016
level_locals_t::total_goals
int total_goals
Definition: g_local.h:333
G_FreeEdict
void G_FreeEdict(edict_t *e)
Definition: g_utils.c:452
monsterinfo_t::pausetime
float pausetime
Definition: g_local.h:436
edict_s::moveinfo
moveinfo_t moveinfo
Definition: g_local.h:1113
monsterinfo_t::search_time
float search_time
Definition: g_local.h:440
movetype_t
movetype_t
Definition: g_local.h:188
timelimit
cvar_t * timelimit
Definition: g_main.c:40
client_persistant_t::weapon
gitem_t * weapon
Definition: g_local.h:858
MOVETYPE_NONE
@ MOVETYPE_NONE
Definition: g_local.h:190
gclient_s::anim_duck
qboolean anim_duck
Definition: g_local.h:941
F_CLIENT
@ F_CLIENT
Definition: g_local.h:583
edict_s::mynoise
edict_t * mynoise
Definition: g_local.h:1084
dedicated
cvar_t * dedicated
Definition: common.c:47
gitem_s::ammo
char * ammo
Definition: g_local.h:254
csurface_s
Definition: q_shared.h:439
edict_s::viewheight
int viewheight
Definition: g_local.h:1067
moveinfo_t::remaining_distance
float remaining_distance
Definition: g_local.h:397
fieldtype_t
fieldtype_t
Definition: g_local.h:574
gun_z
cvar_t * gun_z
Definition: g_local.h:536
game_locals_t::num_items
int num_items
Definition: g_local.h:293
client_persistant_t
Definition: g_local.h:833
M_MoveToGoal
void M_MoveToGoal(edict_t *ent, float dist)
Definition: m_move.c:515
moveinfo_t::distance
float distance
Definition: g_local.h:387
level_locals_t::found_secrets
int found_secrets
Definition: g_local.h:331
forward
static vec3_t forward
Definition: p_view.c:29
monsterinfo_t::saved_goal
vec3_t saved_goal
Definition: g_local.h:439
edict_s::clipmask
int clipmask
Definition: g_local.h:993
edict_s::spawnflags
int spawnflags
Definition: g_local.h:1012
edict_s::sounds
int sounds
Definition: g_local.h:1072
gclient_s::damage_knockback
int damage_knockback
Definition: g_local.h:914
spawn_temp_t::nextmap
char * nextmap
Definition: g_local.h:355
level_locals_t::killed_monsters
int killed_monsters
Definition: g_local.h:337
FetchClientEntData
void FetchClientEntData(edict_t *ent)
Definition: p_client.c:668
spawn_temp_t::lip
int lip
Definition: g_local.h:357
ServerCommand
void ServerCommand(void)
Definition: g_svcmds.c:282
edict_s::owner
edict_t * owner
Definition: g_local.h:994
field_t::type
fieldtype_t type
Definition: g_local.h:593
moveinfo_t::move_speed
float move_speed
Definition: g_local.h:395
moveinfo_t::wait
float wait
Definition: g_local.h:389
swimmonster_start
void swimmonster_start(edict_t *self)
Definition: g_monster.c:735
edict_s::deadflag
int deadflag
Definition: g_local.h:1060
PlayerTrail_LastSpot
edict_t * PlayerTrail_LastSpot(void)
Definition: p_trail.c:143
client_persistant_t::savedFlags
int savedFlags
Definition: g_local.h:845
mframe_t
Definition: g_local.h:403
edict_s::decel
float decel
Definition: g_local.h:1026
mmove_t
Definition: g_local.h:410
damage_t
damage_t
Definition: g_local.h:86
client_respawn_t::cmd_angles
vec3_t cmd_angles
Definition: g_local.h:876
spectator_password
cvar_t * spectator_password
Definition: g_main.c:42
game_locals_t::clients
gclient_t * clients
Definition: g_local.h:279
edict_s::dmg_radius
float dmg_radius
Definition: g_local.h:1071
gitem_armor_t
Definition: g_local.h:205
edict_s::nextthink
float nextthink
Definition: g_local.h:1042
client_respawn_t
Definition: g_local.h:871
gclient_s::killer_yaw
float killer_yaw
Definition: g_local.h:917
vtos
char * vtos(vec3_t v)
Definition: g_utils.c:293
game
game_locals_t game
Definition: g_main.c:23
flood_persecond
cvar_t * flood_persecond
Definition: g_main.c:70
DeathmatchScoreboardMessage
void DeathmatchScoreboardMessage(edict_t *client, edict_t *killer)
Definition: p_hud.c:165
edict_s::think
void(* think)(edict_t *self)
Definition: g_local.h:1044
flood_waitdelay
cvar_t * flood_waitdelay
Definition: g_main.c:71
monsterinfo_t::linkcount
int linkcount
Definition: g_local.h:446
WEAPON_FIRING
@ WEAPON_FIRING
Definition: g_local.h:98
DAMAGE_NO
@ DAMAGE_NO
Definition: g_local.h:88
M_CheckBottom
qboolean M_CheckBottom(edict_t *ent)
Definition: m_move.c:37
moveinfo_t::dir
vec3_t dir
Definition: g_local.h:393
mmove_t::firstframe
int firstframe
Definition: g_local.h:412
gitem_s::pickup_name
char * pickup_name
Definition: g_local.h:250
gclient_s::ps
player_state_t ps
Definition: g_local.h:886
edict_s::watertype
int watertype
Definition: g_local.h:1099
edict_s::noise_index
int noise_index
Definition: g_local.h:1087
field_t::ofs
int ofs
Definition: g_local.h:592
globals
game_export_t globals
Definition: g_main.c:26
filterban
cvar_t * filterban
Definition: g_main.c:50
PowerArmorType
int PowerArmorType(edict_t *ent)
Definition: g_items.c:688
edict_s::solid
solid_t solid
Definition: g_local.h:992
level_locals_t::sound2_entity
edict_t * sound2_entity
Definition: g_local.h:325
gclient_s::weaponstate
weaponstate_t weaponstate
Definition: g_local.h:919
Cmd_Score_f
void Cmd_Score_f(edict_t *ent)
Definition: p_hud.c:277
level_locals_t::sight_entity
edict_t * sight_entity
Definition: g_local.h:321
moveinfo_t::current_speed
float current_speed
Definition: g_local.h:394
edict_s::pos1
vec3_t pos1
Definition: g_local.h:1028
AMMO_GRENADES
@ AMMO_GRENADES
Definition: g_local.h:106
respawn
void respawn(edict_t *ent)
Definition: p_client.c:980
F_MMOVE
@ F_MMOVE
Definition: g_local.h:585
MAX_ITEMS
#define MAX_ITEMS
Definition: q_shared.h:92
sm_meat_index
int sm_meat_index
Definition: g_main.c:29
M_CatagorizePosition
void M_CatagorizePosition(edict_t *ent)
Definition: g_monster.c:183
MOVETYPE_WALK
@ MOVETYPE_WALK
Definition: g_local.h:195
monsterinfo_t::aiflags
int aiflags
Definition: g_local.h:421
edict_s::attenuation
float attenuation
Definition: g_local.h:1090
field_t::flags
int flags
Definition: g_local.h:594
edict_s::damage_debounce_time
float damage_debounce_time
Definition: g_local.h:1053
gclient_s::machinegun_shots
int machinegun_shots
Definition: g_local.h:936
edict_s::goalentity
edict_t * goalentity
Definition: g_local.h:1037
monster_fire_bullet
void monster_fire_bullet(edict_t *self, vec3_t start, vec3_t dir, int damage, int kick, int hspread, int vspread, int flashtype)
Definition: g_monster.c:31
moveinfo_t::sound_middle
int sound_middle
Definition: g_local.h:381
solid_t
solid_t
Definition: game.h:33
edict_s::touch_debounce_time
float touch_debounce_time
Definition: g_local.h:1051
bob_up
cvar_t * bob_up
Definition: g_main.c:63
gitem_t
struct gitem_s gitem_t
moveinfo_t::start_origin
vec3_t start_origin
Definition: g_local.h:375
edict_s::pathtarget
char * pathtarget
Definition: g_local.h:1021
monster_fire_rocket
void monster_fire_rocket(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype)
Definition: g_monster.c:71
edict_s::team
char * team
Definition: g_local.h:1020
skill
cvar_t * skill
Definition: g_main.c:38
gitem_s::quantity
int quantity
Definition: g_local.h:253
level_locals_t::framenum
int framenum
Definition: g_local.h:305
edict_s::dmg
int dmg
Definition: g_local.h:1069
ai_charge
void ai_charge(edict_t *self, float dist)
Definition: g_ai.c:194
monster_think
void monster_think(edict_t *self)
Definition: g_monster.c:419
edict_s::pain
void(* pain)(edict_t *self, edict_t *other, float kick, int damage)
Definition: g_local.h:1048
client_respawn_t::enterframe
int enterframe
Definition: g_local.h:874
edict_s::velocity
vec3_t velocity
Definition: g_local.h:1030
pmove_state_t
Definition: q_shared.h:494
ai_stand
void ai_stand(edict_t *self, float dist)
Definition: g_ai.c:106
FacingIdeal
qboolean FacingIdeal(edict_t *self)
Definition: g_ai.c:594
gclient_s::breather_framenum
float breather_framenum
Definition: g_local.h:947
M_CheckGround
void M_CheckGround(edict_t *ent)
Definition: g_monster.c:141
moveinfo_t::next_speed
float next_speed
Definition: g_local.h:396
game_locals_t::autosaved
qboolean autosaved
Definition: g_local.h:295
level_locals_t::exitintermission
int exitintermission
Definition: g_local.h:315
edict_s::accel
float accel
Definition: g_local.h:1026
monster_fire_bfg
void monster_fire_bfg(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, int kick, float damage_radius, int flashtype)
Definition: g_monster.c:91
spawn_temp_t::minpitch
float minpitch
Definition: g_local.h:367
GetChaseTarget
void GetChaseTarget(edict_t *ent)
Definition: g_chase.c:159
level_locals_t::time
float time
Definition: g_local.h:306
y
GLint y
Definition: qgl_win.c:115
monster_fire_blaster
void monster_fire_blaster(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype, int effect)
Definition: g_monster.c:51
gclient_s::quad_framenum
float quad_framenum
Definition: g_local.h:945
monsterinfo_t::lefty
int lefty
Definition: g_local.h:444
fire_bullet
void fire_bullet(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int hspread, int vspread, int mod)
Definition: g_weapon.c:277
Cmd_Help_f
void Cmd_Help_f(edict_t *ent)
Definition: p_hud.c:347
edict_s::radius_dmg
int radius_dmg
Definition: g_local.h:1070
player_pain
void player_pain(edict_t *self, edict_t *other, float kick, int damage)
Definition: p_client.c:179
gclient_s::showscores
qboolean showscores
Definition: g_local.h:894
moveinfo_t
Definition: g_local.h:372
edict_s::light_level
int light_level
Definition: g_local.h:1106
gitem_s::pickup_sound
char * pickup_sound
Definition: g_local.h:243
edict_s::yaw_speed
float yaw_speed
Definition: g_local.h:1039
PlayerTrail_PickFirst
edict_t * PlayerTrail_PickFirst(edict_t *self)
Definition: p_trail.c:95
coop
cvar_t * coop
Definition: g_main.c:36
game_export_t
Definition: game.h:181
edict_s::pain_debounce_time
float pain_debounce_time
Definition: g_local.h:1052
gclient_s::breather_sound
int breather_sound
Definition: g_local.h:934
client_persistant_t::lastweapon
gitem_t * lastweapon
Definition: g_local.h:859
level_locals_t::intermissiontime
float intermissiontime
Definition: g_local.h:313
g_select_empty
cvar_t * g_select_empty
Definition: g_main.c:47
edict_s::use
void(* use)(edict_t *self, edict_t *other, edict_t *activator)
Definition: g_local.h:1047
edict_s::monsterinfo
monsterinfo_t monsterinfo
Definition: g_local.h:1114
client_persistant_t::max_rockets
int max_rockets
Definition: g_local.h:853
ThrowClientHead
void ThrowClientHead(edict_t *self, int damage)
Definition: g_misc.c:229
game_locals_t::serverflags
int serverflags
Definition: g_local.h:290
range
int range(edict_t *self, edict_t *other)
Definition: g_ai.c:264
level_locals_t::changemap
char * changemap
Definition: g_local.h:314
level_locals_t::sound_entity
edict_t * sound_entity
Definition: g_local.h:323
T_Damage
void T_Damage(edict_t *targ, edict_t *inflictor, edict_t *attacker, vec3_t dir, vec3_t point, vec3_t normal, int damage, int knockback, int dflags, int mod)
Definition: g_combat.c:377
monsterinfo_t::power_armor_power
int power_armor_power
Definition: g_local.h:449
level_locals_t::sound_entity_framenum
int sound_entity_framenum
Definition: g_local.h:324
client_persistant_t::power_cubes
int power_cubes
Definition: g_local.h:861
bob_pitch
cvar_t * bob_pitch
Definition: g_main.c:64
DAMAGE_AIM
@ DAMAGE_AIM
Definition: g_local.h:90
ai_walk
void ai_walk(edict_t *self, float dist)
Definition: g_ai.c:163
ClientEndServerFrame
void ClientEndServerFrame(edict_t *ent)
Definition: p_view.c:958
spawn_temp_t::item
char * item
Definition: g_local.h:362
sv_cheats
cvar_t * sv_cheats
Definition: g_main.c:67
gclient_s::oldbuttons
int oldbuttons
Definition: g_local.h:902
edict_s::style
int style
Definition: g_local.h:1108
needpass
cvar_t * needpass
Definition: g_main.c:43
edict_s::takedamage
int takedamage
Definition: g_local.h:1068
gitem_s::weapmodel
int weapmodel
Definition: g_local.h:257
bob_roll
cvar_t * bob_roll
Definition: g_main.c:65
monsterinfo_t::idle_time
float idle_time
Definition: g_local.h:445
gitem_s::weaponthink
void(* weaponthink)(struct edict_s *ent)
Definition: g_local.h:242
itemlist
gitem_t itemlist[]
Definition: g_items.c:1134
edict_s::move_origin
vec3_t move_origin
Definition: g_local.h:1102
gclient_s::old_pmove
pmove_state_t old_pmove
Definition: g_local.h:892
G_UseTargets
void G_UseTargets(edict_t *ent, edict_t *activator)
Definition: g_utils.c:173
edict_s::flags
int flags
Definition: g_local.h:1002
level_locals_t::found_goals
int found_goals
Definition: g_local.h:334
client_persistant_t::game_helpchanged
int game_helpchanged
Definition: g_local.h:864
gclient_s::showinventory
qboolean showinventory
Definition: g_local.h:895
gclient_s::invincible_framenum
float invincible_framenum
Definition: g_local.h:946
spawn_temp_t::minyaw
float minyaw
Definition: g_local.h:365
gitem_s::drop
void(* drop)(struct edict_s *ent, struct gitem_s *item)
Definition: g_local.h:241
level
level_locals_t level
Definition: qgl_win.c:116
monsterinfo_t::power_armor_type
int power_armor_type
Definition: g_local.h:448
combat_armor_index
int combat_armor_index
Definition: g_items.c:44
edict_s::teleport_time
float teleport_time
Definition: g_local.h:1097
M_FlyCheck
void M_FlyCheck(edict_t *self)
Definition: g_monster.c:123
gclient_s::old_waterlevel
int old_waterlevel
Definition: g_local.h:933
gclient_s::fall_value
float fall_value
Definition: g_local.h:923
edict_s::maxs
vec3_t maxs
Definition: g_local.h:990
gclient_s::ammo_index
int ammo_index
Definition: g_local.h:899
gclient_s::v_dmg_pitch
float v_dmg_pitch
Definition: g_local.h:922
edict_s::avelocity
vec3_t avelocity
Definition: g_local.h:1031
PlayerNoise
void PlayerNoise(edict_t *who, vec3_t where, int type)
Definition: p_weapon.c:58
level_locals_t::total_monsters
int total_monsters
Definition: g_local.h:336
edict_s::teammaster
edict_t * teammaster
Definition: g_local.h:1082
mframe_t::dist
float dist
Definition: g_local.h:406
spawn_temp_t::distance
int distance
Definition: g_local.h:358
moveinfo_t::accel
float accel
Definition: g_local.h:384
edict_s::gravity
float gravity
Definition: g_local.h:1034
G_SetMovedir
void G_SetMovedir(vec3_t angles, vec3_t movedir)
Definition: g_utils.c:314
edict_s::num_clusters
int num_clusters
Definition: g_local.h:982
gclient_s::damage_alpha
float damage_alpha
Definition: g_local.h:924
KillBox
qboolean KillBox(edict_t *ent)
Definition: g_utils.c:549
ThrowHead
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
Definition: g_misc.c:183
edict_s::touch
void(* touch)(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
Definition: g_local.h:1046
MOVETYPE_BOUNCE
@ MOVETYPE_BOUNCE
Definition: g_local.h:200
G_TouchSolids
void G_TouchSolids(edict_t *ent)
Definition: g_utils.c:508
sv_maplist
cvar_t * sv_maplist
Definition: g_main.c:73
sv_rollangle
cvar_t * sv_rollangle
Definition: g_main.c:56
gclient_s::chase_target
edict_t * chase_target
Definition: g_local.h:963
game.h
monsterinfo_t::trail_time
float trail_time
Definition: g_local.h:441
edict_s::combattarget
char * combattarget
Definition: g_local.h:1023
edict_s::headnode
int headnode
Definition: g_local.h:984
gclient_s::damage_parmor
int damage_parmor
Definition: g_local.h:912
sv_gravity
cvar_t * sv_gravity
Definition: g_main.c:53
monsterinfo_t::attack_finished
float attack_finished
Definition: g_local.h:437
fire_blaster
void fire_blaster(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int speed, int effect, qboolean hyper)
Definition: g_weapon.c:345
spawn_temp_t::skyaxis
vec3_t skyaxis
Definition: g_local.h:354
spawn_temp_t::sky
char * sky
Definition: g_local.h:352
gclient_s::respawn_time
float respawn_time
Definition: g_local.h:961
MOVETYPE_TOSS
@ MOVETYPE_TOSS
Definition: g_local.h:198
G_CheckChaseStats
void G_CheckChaseStats(edict_t *ent)
Definition: p_hud.c:531
OnSameTeam
qboolean OnSameTeam(edict_t *ent1, edict_t *ent2)
Definition: g_cmds.c:49
ChangeWeapon
void ChangeWeapon(edict_t *ent)
Definition: p_weapon.c:174
right
GLdouble right
Definition: qgl_win.c:159
player_state_t
Definition: q_shared.h:1174
moveinfo_t::state
int state
Definition: g_local.h:392
edict_s::killtarget
char * killtarget
Definition: g_local.h:1019
sv_maxvelocity
cvar_t * sv_maxvelocity
Definition: g_main.c:52
dmflags
cvar_t * dmflags
Definition: g_main.c:37
edict_s::waterlevel
int waterlevel
Definition: g_local.h:1100
F_LSTRING
@ F_LSTRING
Definition: g_local.h:577
ChaseNext
void ChaseNext(edict_t *ent)
Definition: g_chase.c:111
edict_s::delay
float delay
Definition: g_local.h:1094
client_persistant_t::hand
int hand
Definition: g_local.h:837
UpdateChaseCam
void UpdateChaseCam(edict_t *ent)
Definition: g_chase.c:22
edict_s::area
link_t area
Definition: g_local.h:980
SaveClientData
void SaveClientData(void)
Definition: p_client.c:650
M_ChangeYaw
void M_ChangeYaw(edict_t *ent)
Definition: m_move.c:304
client_persistant_t::max_cells
int max_cells
Definition: g_local.h:855
client_persistant_t::max_health
int max_health
Definition: g_local.h:844
PrecacheItem
void PrecacheItem(gitem_t *it)
Definition: g_items.c:993
game_locals_t::maxentities
int maxentities
Definition: g_local.h:287
gitem_s::view_model
char * view_model
Definition: g_local.h:246
cplane_s
Definition: q_shared.h:413
fraglimit
cvar_t * fraglimit
Definition: g_main.c:39
fire_shotgun
void fire_shotgun(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int hspread, int vspread, int count, int mod)
Definition: g_weapon.c:290
gclient_s::anim_run
qboolean anim_run
Definition: g_local.h:942
fields
field_t fields[]
Definition: g_save.c:28
gitem_armor_t::base_count
int base_count
Definition: g_local.h:207
gclient_s
Definition: g_local.h:883
edict_s::random
float random
Definition: g_local.h:1095
spawn_temp_t::noise
char * noise
Definition: g_local.h:360
G_PickTarget
edict_t * G_PickTarget(char *targetname)
Definition: g_utils.c:118
edict_s::enemy
edict_t * enemy
Definition: g_local.h:1076
edict_s::teamchain
edict_t * teamchain
Definition: g_local.h:1081
T_RadiusDamage
void T_RadiusDamage(edict_t *inflictor, edict_t *attacker, float damage, edict_t *ignore, float radius, int mod)
Definition: g_combat.c:547
Drop_Item
edict_t * Drop_Item(edict_t *ent, gitem_t *item)
Definition: g_items.c:843
edict_s::size
vec3_t size
Definition: g_local.h:991
level_locals_t::sound2_entity_framenum
int sound2_entity_framenum
Definition: g_local.h:326
monster_fire_shotgun
void monster_fire_shotgun(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int kick, int hspread, int vspread, int count, int flashtype)
Definition: g_monster.c:41
edict_s::noise_index2
int noise_index2
Definition: g_local.h:1088
spawn_temp_t::skyrotate
float skyrotate
Definition: g_local.h:353
PlayerTrail_Add
void PlayerTrail_Add(vec3_t spot)
Definition: p_trail.c:67
spawn_temp_t::pausetime
float pausetime
Definition: g_local.h:361
edict_s::target_ent
edict_t * target_ent
Definition: g_local.h:1024
gclient_s::latched_buttons
int latched_buttons
Definition: g_local.h:903
SetItemNames
void SetItemNames(void)
Definition: g_items.c:2200
MAX_ENT_CLUSTERS
#define MAX_ENT_CLUSTERS
Definition: game.h:49
F_INT
@ F_INT
Definition: g_local.h:575
client_persistant_t::score
int score
Definition: g_local.h:862
gclient_s::weapon_sound
int weapon_sound
Definition: g_local.h:953
ai_move
void ai_move(edict_t *self, float dist)
Definition: g_ai.c:92
gitem_s::flags
int flags
Definition: g_local.h:255
SetRespawn
void SetRespawn(edict_t *ent, float delay)
Definition: g_items.c:146
spawn_temp_t::maxpitch
float maxpitch
Definition: g_local.h:368
edict_s::die
void(* die)(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
Definition: g_local.h:1049
gclient_s::anim_priority
int anim_priority
Definition: g_local.h:940
edict_s::deathtarget
char * deathtarget
Definition: g_local.h:1022
F_ANGLEHACK
@ F_ANGLEHACK
Definition: g_local.h:580
vec3_t
vec_t vec3_t[3]
Definition: q_shared.h:134
edict_s::absmin
vec3_t absmin
Definition: g_local.h:991
MOVETYPE_FLY
@ MOVETYPE_FLY
Definition: g_local.h:197
edict_s::powerarmor_time
float powerarmor_time
Definition: g_local.h:1063
gitem_s::tag
int tag
Definition: g_local.h:260
edict_s::target
char * target
Definition: g_local.h:1017
F_GSTRING
@ F_GSTRING
Definition: g_local.h:578
void
void(APIENTRY *qglAccum)(GLenum op
client_persistant_t::health
int health
Definition: g_local.h:843
SpawnItem
void SpawnItem(edict_t *ent, gitem_t *item)
Definition: g_items.c:1061
count
GLint GLsizei count
Definition: qgl_win.c:128
gitem_s::info
void * info
Definition: g_local.h:259
moveinfo_t::speed
float speed
Definition: g_local.h:385
edict_s::freetime
float freetime
Definition: g_local.h:1005
gclient_s::resp
client_respawn_t resp
Definition: g_local.h:891
gclient_s::damage_blood
int damage_blood
Definition: g_local.h:913
CanDamage
qboolean CanDamage(edict_t *targ, edict_t *inflictor)
Definition: g_combat.c:32
flymonster_start
void flymonster_start(edict_t *self)
Definition: g_monster.c:715
AMMO_CELLS
@ AMMO_CELLS
Definition: g_local.h:107
moveinfo_t::end_angles
vec3_t end_angles
Definition: g_local.h:378
edict_s::health
int health
Definition: g_local.h:1057
gitem_s::classname
char * classname
Definition: g_local.h:238
gclient_s::silencer_shots
int silencer_shots
Definition: g_local.h:952
level_locals_t::intermission_angle
vec3_t intermission_angle
Definition: g_local.h:317
gitem_s
Definition: g_local.h:236
AMMO_SLUGS
@ AMMO_SLUGS
Definition: g_local.h:108
edict_s::fly_sound_debounce_time
float fly_sound_debounce_time
Definition: g_local.h:1054
game_locals_t::maxclients
int maxclients
Definition: g_local.h:286