Go to the documentation of this file.
26 #pragma warning(disable : 4244) // MIPS
27 #pragma warning(disable : 4136) // X86
28 #pragma warning(disable : 4051) // ALPHA
30 #pragma warning(disable : 4018) // signed/unsigned mismatch
31 #pragma warning(disable : 4305) // truncation from const double to float
43 #if (defined _M_IX86 || defined __i386__) && !defined C_ONLY && !defined __sun__
49 #if defined _M_ALPHA && !defined C_ONLY
62 typedef unsigned char byte;
67 #define NULL ((void *)0)
72 #define PITCH 0 // up / down
73 #define YAW 1 // left / right
74 #define ROLL 2 // fall over
76 #define MAX_STRING_CHARS 1024 // max length of a string passed to Cmd_TokenizeString
77 #define MAX_STRING_TOKENS 80 // max tokens resulting from Cmd_TokenizeString
78 #define MAX_TOKEN_CHARS 128 // max length of an individual token
80 #define MAX_QPATH 64 // max length of a quake game pathname
81 #define MAX_OSPATH 256 // max length of a filesystem pathname
86 #define MAX_CLIENTS 256 // absolute limit
87 #define MAX_EDICTS 1024 // must change protocol to increase more
88 #define MAX_LIGHTSTYLES 256
89 #define MAX_MODELS 256 // these are sent over the net as bytes
90 #define MAX_SOUNDS 256 // so they cannot be blindly increased
91 #define MAX_IMAGES 256
93 #define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
97 #define PRINT_LOW 0 // pickup messages
98 #define PRINT_MEDIUM 1 // death messages
99 #define PRINT_HIGH 2 // critical messages
100 #define PRINT_CHAT 3 // chat messages
104 #define ERR_FATAL 0 // exit the entire game with a popup window
105 #define ERR_DROP 1 // print to console and disconnect from game
106 #define ERR_DISCONNECT 2 // don't kill server
109 #define PRINT_DEVELOPER 1 // only print when "developer 1"
110 #define PRINT_ALERT 2
142 #define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
149 #define nanmask (255<<23)
151 #define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask)
156 #if !defined C_ONLY && !defined __linux__ && !defined __sgi && !defined _M_X64 && !defined __APPLE__
157 extern long Q_ftol(
float f );
159 #define Q_ftol( f ) ( long ) (f)
162 #define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2])
163 #define VectorSubtract(a,b,c) (c[0]=a[0]-b[0],c[1]=a[1]-b[1],c[2]=a[2]-b[2])
164 #define VectorAdd(a,b,c) (c[0]=a[0]+b[0],c[1]=a[1]+b[1],c[2]=a[2]+b[2])
165 #define VectorCopy(a,b) (b[0]=a[0],b[1]=a[1],b[2]=a[2])
166 #define VectorClear(a) (a[0]=a[1]=a[2]=0)
167 #define VectorNegate(a,b) (b[0]=-a[0],b[1]=-a[1],b[2]=-a[2])
168 #define VectorSet(v, x, y, z) (v[0]=(x), v[1]=(y), v[2]=(z))
195 float LerpAngle (
float a1,
float a2,
float frac);
197 #define BOX_ON_PLANE_SIDE(emins, emaxs, p) \
200 ((p)->dist <= (emins)[(p)->type])? \
204 ((p)->dist >= (emaxs)[(p)->type])?\
211 BoxOnPlaneSide( (emins), (emaxs), (p)))
229 void Com_sprintf (
char *dest,
int size,
char *fmt, ...);
257 #define MAX_INFO_KEY 64
258 #define MAX_INFO_VALUE 64
259 #define MAX_INFO_STRING 512
286 #define SFF_ARCH 0x01
287 #define SFF_HIDDEN 0x02
288 #define SFF_RDONLY 0x04
289 #define SFF_SUBDIR 0x08
290 #define SFF_SYSTEM 0x10
295 char *
Sys_FindFirst (
char *path,
unsigned musthave,
unsigned canthave );
296 char *
Sys_FindNext (
unsigned musthave,
unsigned canthave );
316 #define CVAR_ARCHIVE 1 // set to cause it to be saved to vars.rc
317 #define CVAR_USERINFO 2 // added to userinfo when changed
318 #define CVAR_SERVERINFO 4 // added to serverinfo when changed
319 #define CVAR_NOSET 8 // don't allow change from console at all,
321 #define CVAR_LATCH 16 // save changes until server restart
346 #define CONTENTS_SOLID 1 // an eye is never valid in a solid
347 #define CONTENTS_WINDOW 2 // translucent, but not watery
348 #define CONTENTS_AUX 4
349 #define CONTENTS_LAVA 8
350 #define CONTENTS_SLIME 16
351 #define CONTENTS_WATER 32
352 #define CONTENTS_MIST 64
353 #define LAST_VISIBLE_CONTENTS 64
357 #define CONTENTS_AREAPORTAL 0x8000
359 #define CONTENTS_PLAYERCLIP 0x10000
360 #define CONTENTS_MONSTERCLIP 0x20000
363 #define CONTENTS_CURRENT_0 0x40000
364 #define CONTENTS_CURRENT_90 0x80000
365 #define CONTENTS_CURRENT_180 0x100000
366 #define CONTENTS_CURRENT_270 0x200000
367 #define CONTENTS_CURRENT_UP 0x400000
368 #define CONTENTS_CURRENT_DOWN 0x800000
370 #define CONTENTS_ORIGIN 0x1000000 // removed before bsping an entity
372 #define CONTENTS_MONSTER 0x2000000 // should never be on a brush, only in game
373 #define CONTENTS_DEADMONSTER 0x4000000
374 #define CONTENTS_DETAIL 0x8000000 // brushes to be added after vis leafs
375 #define CONTENTS_TRANSLUCENT 0x10000000 // auto set if any surface has trans
376 #define CONTENTS_LADDER 0x20000000
380 #define SURF_LIGHT 0x1 // value will hold the light strength
382 #define SURF_SLICK 0x2 // effects game physics
384 #define SURF_SKY 0x4 // don't draw, but add to skybox
385 #define SURF_WARP 0x8 // turbulent water warp
386 #define SURF_TRANS33 0x10
387 #define SURF_TRANS66 0x20
388 #define SURF_FLOWING 0x40 // scroll towards angle
389 #define SURF_NODRAW 0x80 // don't bother referencing the texture
394 #define MASK_ALL (-1)
395 #define MASK_SOLID (CONTENTS_SOLID|CONTENTS_WINDOW)
396 #define MASK_PLAYERSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
397 #define MASK_DEADSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW)
398 #define MASK_MONSTERSOLID (CONTENTS_SOLID|CONTENTS_MONSTERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
399 #define MASK_WATER (CONTENTS_WATER|CONTENTS_LAVA|CONTENTS_SLIME)
400 #define MASK_OPAQUE (CONTENTS_SOLID|CONTENTS_SLIME|CONTENTS_LAVA)
401 #define MASK_SHOT (CONTENTS_SOLID|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEADMONSTER)
402 #define MASK_CURRENT (CONTENTS_CURRENT_0|CONTENTS_CURRENT_90|CONTENTS_CURRENT_180|CONTENTS_CURRENT_270|CONTENTS_CURRENT_UP|CONTENTS_CURRENT_DOWN)
408 #define AREA_TRIGGERS 2
423 #define CPLANE_NORMAL_X 0
424 #define CPLANE_NORMAL_Y 4
425 #define CPLANE_NORMAL_Z 8
426 #define CPLANE_DIST 12
427 #define CPLANE_TYPE 16
428 #define CPLANE_SIGNBITS 17
429 #define CPLANE_PAD0 18
430 #define CPLANE_PAD1 19
482 #define PMF_JUMP_HELD 2
483 #define PMF_ON_GROUND 4
484 #define PMF_TIME_WATERJUMP 8 // pm_time is waterjump
485 #define PMF_TIME_LAND 16 // pm_time is time before rejump
486 #define PMF_TIME_TELEPORT 32 // pm_time is non-moving time
487 #define PMF_NO_PREDICTION 64 // temporarily disables prediction (used for grappling hook)
503 short delta_angles[3];
511 #define BUTTON_ATTACK 1
513 #define BUTTON_ANY 128 // any key whatsoever
562 #define EF_ROTATE 0x00000001 // rotate (bonus items)
563 #define EF_GIB 0x00000002 // leave a trail
564 #define EF_BLASTER 0x00000008 // redlight + trail
565 #define EF_ROCKET 0x00000010 // redlight + trail
566 #define EF_GRENADE 0x00000020
567 #define EF_HYPERBLASTER 0x00000040
568 #define EF_BFG 0x00000080
569 #define EF_COLOR_SHELL 0x00000100
570 #define EF_POWERSCREEN 0x00000200
571 #define EF_ANIM01 0x00000400 // automatically cycle between frames 0 and 1 at 2 hz
572 #define EF_ANIM23 0x00000800 // automatically cycle between frames 2 and 3 at 2 hz
573 #define EF_ANIM_ALL 0x00001000 // automatically cycle through all frames at 2hz
574 #define EF_ANIM_ALLFAST 0x00002000 // automatically cycle through all frames at 10hz
575 #define EF_FLIES 0x00004000
576 #define EF_QUAD 0x00008000
577 #define EF_PENT 0x00010000
578 #define EF_TELEPORTER 0x00020000 // particle fountain
579 #define EF_FLAG1 0x00040000
580 #define EF_FLAG2 0x00080000
582 #define EF_IONRIPPER 0x00100000
583 #define EF_GREENGIB 0x00200000
584 #define EF_BLUEHYPERBLASTER 0x00400000
585 #define EF_SPINNINGLIGHTS 0x00800000
586 #define EF_PLASMA 0x01000000
587 #define EF_TRAP 0x02000000
590 #define EF_TRACKER 0x04000000
591 #define EF_DOUBLE 0x08000000
592 #define EF_SPHERETRANS 0x10000000
593 #define EF_TAGTRAIL 0x20000000
594 #define EF_HALF_DAMAGE 0x40000000
595 #define EF_TRACKERTRAIL 0x80000000
599 #define RF_MINLIGHT 1 // allways have some light (viewmodel)
600 #define RF_VIEWERMODEL 2 // don't draw through eyes, only mirrors
601 #define RF_WEAPONMODEL 4 // only draw through eyes
602 #define RF_FULLBRIGHT 8 // allways draw full intensity
603 #define RF_DEPTHHACK 16 // for view weapon Z crunching
604 #define RF_TRANSLUCENT 32
605 #define RF_FRAMELERP 64
607 #define RF_CUSTOMSKIN 256 // skin is an index in image_precache
608 #define RF_GLOW 512 // pulse lighting for bonus items
609 #define RF_SHELL_RED 1024
610 #define RF_SHELL_GREEN 2048
611 #define RF_SHELL_BLUE 4096
614 #define RF_IR_VISIBLE 0x00008000 // 32768
615 #define RF_SHELL_DOUBLE 0x00010000 // 65536
616 #define RF_SHELL_HALF_DAM 0x00020000
617 #define RF_USE_DISGUISE 0x00040000
621 #define RDF_UNDERWATER 1 // warp the screen as apropriate
622 #define RDF_NOWORLDMODEL 2 // used for player configuration screen
625 #define RDF_IRGOGGLES 4
626 #define RDF_UVGOGGLES 8
633 #define MZ_MACHINEGUN 1
635 #define MZ_CHAINGUN1 3
636 #define MZ_CHAINGUN2 4
637 #define MZ_CHAINGUN3 5
643 #define MZ_RESPAWN 11
645 #define MZ_SSHOTGUN 13
646 #define MZ_HYPERBLASTER 14
647 #define MZ_ITEMRESPAWN 15
649 #define MZ_IONRIPPER 16
650 #define MZ_BLUEHYPERBLASTER 17
651 #define MZ_PHALANX 18
652 #define MZ_SILENCED 128 // bit flag ORed with one of the above numbers
655 #define MZ_ETF_RIFLE 30
657 #define MZ_SHOTGUN2 32
658 #define MZ_HEATBEAM 33
659 #define MZ_BLASTER2 34
660 #define MZ_TRACKER 35
670 #define MZ2_TANK_BLASTER_1 1
671 #define MZ2_TANK_BLASTER_2 2
672 #define MZ2_TANK_BLASTER_3 3
673 #define MZ2_TANK_MACHINEGUN_1 4
674 #define MZ2_TANK_MACHINEGUN_2 5
675 #define MZ2_TANK_MACHINEGUN_3 6
676 #define MZ2_TANK_MACHINEGUN_4 7
677 #define MZ2_TANK_MACHINEGUN_5 8
678 #define MZ2_TANK_MACHINEGUN_6 9
679 #define MZ2_TANK_MACHINEGUN_7 10
680 #define MZ2_TANK_MACHINEGUN_8 11
681 #define MZ2_TANK_MACHINEGUN_9 12
682 #define MZ2_TANK_MACHINEGUN_10 13
683 #define MZ2_TANK_MACHINEGUN_11 14
684 #define MZ2_TANK_MACHINEGUN_12 15
685 #define MZ2_TANK_MACHINEGUN_13 16
686 #define MZ2_TANK_MACHINEGUN_14 17
687 #define MZ2_TANK_MACHINEGUN_15 18
688 #define MZ2_TANK_MACHINEGUN_16 19
689 #define MZ2_TANK_MACHINEGUN_17 20
690 #define MZ2_TANK_MACHINEGUN_18 21
691 #define MZ2_TANK_MACHINEGUN_19 22
692 #define MZ2_TANK_ROCKET_1 23
693 #define MZ2_TANK_ROCKET_2 24
694 #define MZ2_TANK_ROCKET_3 25
696 #define MZ2_INFANTRY_MACHINEGUN_1 26
697 #define MZ2_INFANTRY_MACHINEGUN_2 27
698 #define MZ2_INFANTRY_MACHINEGUN_3 28
699 #define MZ2_INFANTRY_MACHINEGUN_4 29
700 #define MZ2_INFANTRY_MACHINEGUN_5 30
701 #define MZ2_INFANTRY_MACHINEGUN_6 31
702 #define MZ2_INFANTRY_MACHINEGUN_7 32
703 #define MZ2_INFANTRY_MACHINEGUN_8 33
704 #define MZ2_INFANTRY_MACHINEGUN_9 34
705 #define MZ2_INFANTRY_MACHINEGUN_10 35
706 #define MZ2_INFANTRY_MACHINEGUN_11 36
707 #define MZ2_INFANTRY_MACHINEGUN_12 37
708 #define MZ2_INFANTRY_MACHINEGUN_13 38
710 #define MZ2_SOLDIER_BLASTER_1 39
711 #define MZ2_SOLDIER_BLASTER_2 40
712 #define MZ2_SOLDIER_SHOTGUN_1 41
713 #define MZ2_SOLDIER_SHOTGUN_2 42
714 #define MZ2_SOLDIER_MACHINEGUN_1 43
715 #define MZ2_SOLDIER_MACHINEGUN_2 44
717 #define MZ2_GUNNER_MACHINEGUN_1 45
718 #define MZ2_GUNNER_MACHINEGUN_2 46
719 #define MZ2_GUNNER_MACHINEGUN_3 47
720 #define MZ2_GUNNER_MACHINEGUN_4 48
721 #define MZ2_GUNNER_MACHINEGUN_5 49
722 #define MZ2_GUNNER_MACHINEGUN_6 50
723 #define MZ2_GUNNER_MACHINEGUN_7 51
724 #define MZ2_GUNNER_MACHINEGUN_8 52
725 #define MZ2_GUNNER_GRENADE_1 53
726 #define MZ2_GUNNER_GRENADE_2 54
727 #define MZ2_GUNNER_GRENADE_3 55
728 #define MZ2_GUNNER_GRENADE_4 56
730 #define MZ2_CHICK_ROCKET_1 57
732 #define MZ2_FLYER_BLASTER_1 58
733 #define MZ2_FLYER_BLASTER_2 59
735 #define MZ2_MEDIC_BLASTER_1 60
737 #define MZ2_GLADIATOR_RAILGUN_1 61
739 #define MZ2_HOVER_BLASTER_1 62
741 #define MZ2_ACTOR_MACHINEGUN_1 63
743 #define MZ2_SUPERTANK_MACHINEGUN_1 64
744 #define MZ2_SUPERTANK_MACHINEGUN_2 65
745 #define MZ2_SUPERTANK_MACHINEGUN_3 66
746 #define MZ2_SUPERTANK_MACHINEGUN_4 67
747 #define MZ2_SUPERTANK_MACHINEGUN_5 68
748 #define MZ2_SUPERTANK_MACHINEGUN_6 69
749 #define MZ2_SUPERTANK_ROCKET_1 70
750 #define MZ2_SUPERTANK_ROCKET_2 71
751 #define MZ2_SUPERTANK_ROCKET_3 72
753 #define MZ2_BOSS2_MACHINEGUN_L1 73
754 #define MZ2_BOSS2_MACHINEGUN_L2 74
755 #define MZ2_BOSS2_MACHINEGUN_L3 75
756 #define MZ2_BOSS2_MACHINEGUN_L4 76
757 #define MZ2_BOSS2_MACHINEGUN_L5 77
758 #define MZ2_BOSS2_ROCKET_1 78
759 #define MZ2_BOSS2_ROCKET_2 79
760 #define MZ2_BOSS2_ROCKET_3 80
761 #define MZ2_BOSS2_ROCKET_4 81
763 #define MZ2_FLOAT_BLASTER_1 82
765 #define MZ2_SOLDIER_BLASTER_3 83
766 #define MZ2_SOLDIER_SHOTGUN_3 84
767 #define MZ2_SOLDIER_MACHINEGUN_3 85
768 #define MZ2_SOLDIER_BLASTER_4 86
769 #define MZ2_SOLDIER_SHOTGUN_4 87
770 #define MZ2_SOLDIER_MACHINEGUN_4 88
771 #define MZ2_SOLDIER_BLASTER_5 89
772 #define MZ2_SOLDIER_SHOTGUN_5 90
773 #define MZ2_SOLDIER_MACHINEGUN_5 91
774 #define MZ2_SOLDIER_BLASTER_6 92
775 #define MZ2_SOLDIER_SHOTGUN_6 93
776 #define MZ2_SOLDIER_MACHINEGUN_6 94
777 #define MZ2_SOLDIER_BLASTER_7 95
778 #define MZ2_SOLDIER_SHOTGUN_7 96
779 #define MZ2_SOLDIER_MACHINEGUN_7 97
780 #define MZ2_SOLDIER_BLASTER_8 98
781 #define MZ2_SOLDIER_SHOTGUN_8 99
782 #define MZ2_SOLDIER_MACHINEGUN_8 100
785 #define MZ2_MAKRON_BFG 101
786 #define MZ2_MAKRON_BLASTER_1 102
787 #define MZ2_MAKRON_BLASTER_2 103
788 #define MZ2_MAKRON_BLASTER_3 104
789 #define MZ2_MAKRON_BLASTER_4 105
790 #define MZ2_MAKRON_BLASTER_5 106
791 #define MZ2_MAKRON_BLASTER_6 107
792 #define MZ2_MAKRON_BLASTER_7 108
793 #define MZ2_MAKRON_BLASTER_8 109
794 #define MZ2_MAKRON_BLASTER_9 110
795 #define MZ2_MAKRON_BLASTER_10 111
796 #define MZ2_MAKRON_BLASTER_11 112
797 #define MZ2_MAKRON_BLASTER_12 113
798 #define MZ2_MAKRON_BLASTER_13 114
799 #define MZ2_MAKRON_BLASTER_14 115
800 #define MZ2_MAKRON_BLASTER_15 116
801 #define MZ2_MAKRON_BLASTER_16 117
802 #define MZ2_MAKRON_BLASTER_17 118
803 #define MZ2_MAKRON_RAILGUN_1 119
804 #define MZ2_JORG_MACHINEGUN_L1 120
805 #define MZ2_JORG_MACHINEGUN_L2 121
806 #define MZ2_JORG_MACHINEGUN_L3 122
807 #define MZ2_JORG_MACHINEGUN_L4 123
808 #define MZ2_JORG_MACHINEGUN_L5 124
809 #define MZ2_JORG_MACHINEGUN_L6 125
810 #define MZ2_JORG_MACHINEGUN_R1 126
811 #define MZ2_JORG_MACHINEGUN_R2 127
812 #define MZ2_JORG_MACHINEGUN_R3 128
813 #define MZ2_JORG_MACHINEGUN_R4 129
814 #define MZ2_JORG_MACHINEGUN_R5 130
815 #define MZ2_JORG_MACHINEGUN_R6 131
816 #define MZ2_JORG_BFG_1 132
817 #define MZ2_BOSS2_MACHINEGUN_R1 133
818 #define MZ2_BOSS2_MACHINEGUN_R2 134
819 #define MZ2_BOSS2_MACHINEGUN_R3 135
820 #define MZ2_BOSS2_MACHINEGUN_R4 136
821 #define MZ2_BOSS2_MACHINEGUN_R5 137
824 #define MZ2_CARRIER_MACHINEGUN_L1 138
825 #define MZ2_CARRIER_MACHINEGUN_R1 139
826 #define MZ2_CARRIER_GRENADE 140
827 #define MZ2_TURRET_MACHINEGUN 141
828 #define MZ2_TURRET_ROCKET 142
829 #define MZ2_TURRET_BLASTER 143
830 #define MZ2_STALKER_BLASTER 144
831 #define MZ2_DAEDALUS_BLASTER 145
832 #define MZ2_MEDIC_BLASTER_2 146
833 #define MZ2_CARRIER_RAILGUN 147
834 #define MZ2_WIDOW_DISRUPTOR 148
835 #define MZ2_WIDOW_BLASTER 149
836 #define MZ2_WIDOW_RAIL 150
837 #define MZ2_WIDOW_PLASMABEAM 151 // PMM - not used
838 #define MZ2_CARRIER_MACHINEGUN_L2 152
839 #define MZ2_CARRIER_MACHINEGUN_R2 153
840 #define MZ2_WIDOW_RAIL_LEFT 154
841 #define MZ2_WIDOW_RAIL_RIGHT 155
842 #define MZ2_WIDOW_BLASTER_SWEEP1 156
843 #define MZ2_WIDOW_BLASTER_SWEEP2 157
844 #define MZ2_WIDOW_BLASTER_SWEEP3 158
845 #define MZ2_WIDOW_BLASTER_SWEEP4 159
846 #define MZ2_WIDOW_BLASTER_SWEEP5 160
847 #define MZ2_WIDOW_BLASTER_SWEEP6 161
848 #define MZ2_WIDOW_BLASTER_SWEEP7 162
849 #define MZ2_WIDOW_BLASTER_SWEEP8 163
850 #define MZ2_WIDOW_BLASTER_SWEEP9 164
851 #define MZ2_WIDOW_BLASTER_100 165
852 #define MZ2_WIDOW_BLASTER_90 166
853 #define MZ2_WIDOW_BLASTER_80 167
854 #define MZ2_WIDOW_BLASTER_70 168
855 #define MZ2_WIDOW_BLASTER_60 169
856 #define MZ2_WIDOW_BLASTER_50 170
857 #define MZ2_WIDOW_BLASTER_40 171
858 #define MZ2_WIDOW_BLASTER_30 172
859 #define MZ2_WIDOW_BLASTER_20 173
860 #define MZ2_WIDOW_BLASTER_10 174
861 #define MZ2_WIDOW_BLASTER_0 175
862 #define MZ2_WIDOW_BLASTER_10L 176
863 #define MZ2_WIDOW_BLASTER_20L 177
864 #define MZ2_WIDOW_BLASTER_30L 178
865 #define MZ2_WIDOW_BLASTER_40L 179
866 #define MZ2_WIDOW_BLASTER_50L 180
867 #define MZ2_WIDOW_BLASTER_60L 181
868 #define MZ2_WIDOW_BLASTER_70L 182
869 #define MZ2_WIDOW_RUN_1 183
870 #define MZ2_WIDOW_RUN_2 184
871 #define MZ2_WIDOW_RUN_3 185
872 #define MZ2_WIDOW_RUN_4 186
873 #define MZ2_WIDOW_RUN_5 187
874 #define MZ2_WIDOW_RUN_6 188
875 #define MZ2_WIDOW_RUN_7 189
876 #define MZ2_WIDOW_RUN_8 190
877 #define MZ2_CARRIER_ROCKET_1 191
878 #define MZ2_CARRIER_ROCKET_2 192
879 #define MZ2_CARRIER_ROCKET_3 193
880 #define MZ2_CARRIER_ROCKET_4 194
881 #define MZ2_WIDOW2_BEAMER_1 195
882 #define MZ2_WIDOW2_BEAMER_2 196
883 #define MZ2_WIDOW2_BEAMER_3 197
884 #define MZ2_WIDOW2_BEAMER_4 198
885 #define MZ2_WIDOW2_BEAMER_5 199
886 #define MZ2_WIDOW2_BEAM_SWEEP_1 200
887 #define MZ2_WIDOW2_BEAM_SWEEP_2 201
888 #define MZ2_WIDOW2_BEAM_SWEEP_3 202
889 #define MZ2_WIDOW2_BEAM_SWEEP_4 203
890 #define MZ2_WIDOW2_BEAM_SWEEP_5 204
891 #define MZ2_WIDOW2_BEAM_SWEEP_6 205
892 #define MZ2_WIDOW2_BEAM_SWEEP_7 206
893 #define MZ2_WIDOW2_BEAM_SWEEP_8 207
894 #define MZ2_WIDOW2_BEAM_SWEEP_9 208
895 #define MZ2_WIDOW2_BEAM_SWEEP_10 209
896 #define MZ2_WIDOW2_BEAM_SWEEP_11 210
971 #define SPLASH_UNKNOWN 0
972 #define SPLASH_SPARKS 1
973 #define SPLASH_BLUE_WATER 2
974 #define SPLASH_BROWN_WATER 3
975 #define SPLASH_SLIME 4
976 #define SPLASH_LAVA 5
977 #define SPLASH_BLOOD 6
984 #define CHAN_WEAPON 1
989 #define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
990 #define CHAN_RELIABLE 16 // send by reliable message, not datagram
994 #define ATTN_NONE 0 // full volume the entire level
997 #define ATTN_STATIC 3 // diminish very rapidly with distance
1001 #define STAT_HEALTH_ICON 0
1002 #define STAT_HEALTH 1
1003 #define STAT_AMMO_ICON 2
1005 #define STAT_ARMOR_ICON 4
1006 #define STAT_ARMOR 5
1007 #define STAT_SELECTED_ICON 6
1008 #define STAT_PICKUP_ICON 7
1009 #define STAT_PICKUP_STRING 8
1010 #define STAT_TIMER_ICON 9
1011 #define STAT_TIMER 10
1012 #define STAT_HELPICON 11
1013 #define STAT_SELECTED_ITEM 12
1014 #define STAT_LAYOUTS 13
1015 #define STAT_FRAGS 14
1016 #define STAT_FLASHES 15 // cleared each frame, 1 = health, 2 = armor
1017 #define STAT_CHASE 16
1018 #define STAT_SPECTATOR 17
1020 #define MAX_STATS 32
1024 #define DF_NO_HEALTH 0x00000001 // 1
1025 #define DF_NO_ITEMS 0x00000002 // 2
1026 #define DF_WEAPONS_STAY 0x00000004 // 4
1027 #define DF_NO_FALLING 0x00000008 // 8
1028 #define DF_INSTANT_ITEMS 0x00000010 // 16
1029 #define DF_SAME_LEVEL 0x00000020 // 32
1030 #define DF_SKINTEAMS 0x00000040 // 64
1031 #define DF_MODELTEAMS 0x00000080 // 128
1032 #define DF_NO_FRIENDLY_FIRE 0x00000100 // 256
1033 #define DF_SPAWN_FARTHEST 0x00000200 // 512
1034 #define DF_FORCE_RESPAWN 0x00000400 // 1024
1035 #define DF_NO_ARMOR 0x00000800 // 2048
1036 #define DF_ALLOW_EXIT 0x00001000 // 4096
1037 #define DF_INFINITE_AMMO 0x00002000 // 8192
1038 #define DF_QUAD_DROP 0x00004000 // 16384
1039 #define DF_FIXED_FOV 0x00008000 // 32768
1042 #define DF_QUADFIRE_DROP 0x00010000 // 65536
1045 #define DF_NO_MINES 0x00020000
1046 #define DF_NO_STACK_DOUBLE 0x00040000
1047 #define DF_NO_NUKES 0x00080000
1048 #define DF_NO_SPHERES 0x00100000
1079 #define ROGUE_VERSION_ID 1278
1081 #define ROGUE_VERSION_STRING "08/21/1998 Beta 2 for Ensemble"
1092 #define ANGLE2SHORT(x) ((int)((x)*65536/360) & 65535)
1093 #define SHORT2ANGLE(x) ((x)*(360.0/65536))
1102 #define CS_CDTRACK 1
1104 #define CS_SKYAXIS 3 // %f %f %f format
1105 #define CS_SKYROTATE 4
1106 #define CS_STATUSBAR 5 // display program string
1108 #define CS_AIRACCEL 29 // air acceleration control
1109 #define CS_MAXCLIENTS 30
1110 #define CS_MAPCHECKSUM 31 // for catching cheater maps
1112 #define CS_MODELS 32
1113 #define CS_SOUNDS (CS_MODELS+MAX_MODELS)
1114 #define CS_IMAGES (CS_SOUNDS+MAX_SOUNDS)
1115 #define CS_LIGHTS (CS_IMAGES+MAX_IMAGES)
1116 #define CS_ITEMS (CS_LIGHTS+MAX_LIGHTSTYLES)
1117 #define CS_PLAYERSKINS (CS_ITEMS+MAX_ITEMS)
1118 #define CS_GENERAL (CS_PLAYERSKINS+MAX_CLIENTS)
1119 #define MAX_CONFIGSTRINGS (CS_GENERAL+MAX_GENERAL)
1204 #define VIDREF_SOFT 3
1205 #define VIDREF_OTHER 4
void Sys_Mkdir(char *path)
void R_ConcatTransforms(float in1[3][4], float in2[3][4], float out[3][4])
void RotatePointAroundVector(vec3_t dst, const vec3_t dir, const vec3_t point, float degrees)
void * Hunk_Begin(int maxsize)
@ TE_GRENADE_EXPLOSION_WATER
void _VectorCopy(vec3_t in, vec3_t out)
CONST PIXELFORMATDESCRIPTOR int
void Com_sprintf(char *dest, int size, char *fmt,...)
struct usercmd_s usercmd_t
void Info_RemoveKey(char *s, char *key)
int VectorCompare(vec3_t v1, vec3_t v2)
void * Hunk_Alloc(int size)
struct entity_state_s entity_state_t
@ TE_ROCKET_EXPLOSION_WATER
void VectorScale(vec3_t in, vec_t scale, vec3_t out)
void Hunk_Free(void *buf)
char * COM_Parse(char **data_p)
int Sys_Milliseconds(void)
char * Sys_FindFirst(char *path, unsigned musthave, unsigned canthave)
char * Sys_FindNext(unsigned musthave, unsigned canthave)
void Info_SetValueForKey(char *s, char *key, char *value)
vec_t VectorNormalize2(vec3_t v, vec3_t out)
void COM_FilePath(char *in, char *out)
short LittleShort(short l)
struct mapsurface_s mapsurface_t
void COM_StripExtension(char *in, char *out)
void PerpendicularVector(vec3_t dst, const vec3_t src)
void COM_DefaultExtension(char *path, char *extension)
vec_t VectorLength(vec3_t v)
struct csurface_s csurface_t
void ClearBounds(vec3_t mins, vec3_t maxs)
char * Info_ValueForKey(char *s, char *key)
void Com_Printf(char *msg,...)
float LittleFloat(float l)
int BoxOnPlaneSide(vec3_t emins, vec3_t emaxs, struct cplane_s *plane)
GLdouble GLdouble GLint GLint GLdouble GLdouble v2
struct edict_s * groundentity
void Sys_Error(char *error,...)
int Q_strncasecmp(char *s1, char *s2, int n)
void AddPointToBounds(vec3_t v, vec3_t mins, vec3_t maxs)
static int error(vorb *f, enum STBVorbisError e)
void VectorInverse(vec3_t v)
void VectorMA(vec3_t veca, float scale, vec3_t vecb, vec3_t vecc)
vec_t _DotProduct(vec3_t v1, vec3_t v2)
vec3_t monster_flash_offset[]
void R_ConcatRotations(float in1[3][3], float in2[3][3], float out[3][3])
float LerpAngle(float a1, float a2, float frac)
int Q_stricmp(char *s1, char *s2)
vec_t VectorNormalize(vec3_t v)
void ProjectPointOnPlane(vec3_t dst, const vec3_t p, const vec3_t normal)
void _VectorAdd(vec3_t veca, vec3_t vecb, vec3_t out)
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
GLdouble GLdouble GLint GLint GLdouble v1
void CrossProduct(vec3_t v1, vec3_t v2, vec3_t cross)
int Q_strcasecmp(char *s1, char *s2)
void _VectorSubtract(vec3_t veca, vec3_t vecb, vec3_t out)
char * COM_SkipPath(char *pathname)
qboolean Info_Validate(char *s)
void COM_FileBase(char *in, char *out)
char * va(char *format,...)
void Com_PageInMemory(byte *buffer, int size)