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