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