#ifndef DEFS_qh #define DEFS_qh 1 #include "config.qh" // ========================================================================== // // ========================================================================== // /* These are defined in the C code */ #define FALSE 0 #define TRUE 1 // edict.flags #define FL_FLY 1 #define FL_SWIM 2 #define FL_CLIENT 8 /* set for all client edicts */ #define FL_INWATER 16 /* for enter / leave water splash */ #define FL_MONSTER 32 #define FL_GODMODE 64 /* player cheat */ #define FL_NOTARGET 128 /* player cheat */ #define FL_ITEM 256 /* extra wide size for bonus items */ #define FL_ONGROUND 512 /* standing on something */ #define FL_PARTIALGROUND 1024 /* not all corners are valid */ #define FL_WATERJUMP 2048 /* player jumping out of water */ #define FL_JUMPRELEASED 4096 /* for jump debouncing */ // edict.movetype values #define MOVETYPE_NONE 0 /* never moves */ #define MOVETYPE_ANGLENOCLIP 1 /* NO LONGER SUPPORTED. */ #define MOVETYPE_ANGLECLIP 2 /* NO LONGER SUPPORTED. */ #define MOVETYPE_WALK 3 /* players only */ #define MOVETYPE_STEP 4 /* discrete, not real time unless fall */ #define MOVETYPE_FLY 5 #define MOVETYPE_TOSS 6 /* gravity */ #define MOVETYPE_PUSH 7 /* no clip to world, push and crush */ #define MOVETYPE_NOCLIP 8 #define MOVETYPE_FLYMISSILE 9 /* fly with extra size against monsters */ #define MOVETYPE_BOUNCE 10 #define MOVETYPE_BOUNCEMISSILE 11 /* bounce with extra size */ // edict.solid values #define SOLID_NOT 0 /* no interaction with other objects */ #define SOLID_TRIGGER 1 /* touch on edge, but not blocking */ #define SOLID_BBOX 2 /* touch on edge, block */ #define SOLID_SLIDEBOX 3 /* touch on edge, but not an onground */ #define SOLID_BSP 4 /* bsp clip, touch on edge, block */ // items #define IT_AXE 4096 #define IT_SHOTGUN 1 #define IT_SUPER_SHOTGUN 2 #define IT_NAILGUN 4 #define IT_SUPER_NAILGUN 8 #define IT_GRENADE_LAUNCHER 16 #define IT_ROCKET_LAUNCHER 32 #define IT_LIGHTNING 64 #define IT_EXTRA_WEAPON 128 #define IT_SHELLS 256 #define IT_NAILS 512 #define IT_ROCKETS 1024 #define IT_CELLS 2048 #define IT_ARMOR1 8192 #define IT_ARMOR2 16384 #define IT_ARMOR3 32768 #define IT_SUPERHEALTH 65536 #define IT_KEY1 131072 #define IT_KEY2 262144 #define IT_INVISIBILITY 524288 #define IT_INVULNERABILITY 1048576 #define IT_SUIT 2097152 #define IT_QUAD 4194304 // point content values #define CONTENT_EMPTY -1 #define CONTENT_SOLID -2 #define CONTENT_WATER -3 #define CONTENT_SLIME -4 #define CONTENT_LAVA -5 #define CONTENT_SKY -6 // origin, clipping hull stuff #define VEC_ORIGIN '0 0 0' #define VEC_HULL_MIN '-16 -16 -24' #define VEC_HULL_MAX '16 16 32' #define VEC_HULL2_MIN '-32 -32 -24' #define VEC_HULL2_MAX '32 32 64' // sound channels // channel 0 never willingly overrides // other channels (1-7) allways override a playing sound on that channel #define CHAN_AUTO 0 #define CHAN_WEAPON 1 #define CHAN_VOICE 2 #define CHAN_ITEM 3 #define CHAN_BODY 4 #define CHAN_NO_PHS_ADD 8 /* ie: CHAN_BODY | CHAN_NO_PHS_ADD */ #define ATTN_NONE 0 #define ATTN_NORM 1 #define ATTN_IDLE 2 #define ATTN_STATIC 3 // entity effects //#define EF_BRIGHTFIELD 1 /* not in QW */ //#define EF_MUZZLEFLASH 2 /* not in QW */ #define EF_BRIGHTLIGHT 4 #define EF_DIMLIGHT 8 #define EF_FLAG1 16 #define EF_FLAG2 32 // GLQuakeWorld Stuff #define EF_BLUE 64 /* Blue Globe effect for Quad */ #define EF_RED 128 /* Red Globe effect for Pentagram */ // messages #define MSG_BROADCAST 0 /* unreliable to all */ #define MSG_ONE 1 /* reliable to one (msg_entity) */ #define MSG_ALL 2 /* reliable to all */ #define MSG_INIT 3 /* write to the init string */ #define MSG_MULTICAST 4 /* for multicast () call */ // message levels #define PRINT_LOW 0 /* pickup messages */ #define PRINT_MEDIUM 1 #define PRINT_DEATH 1 /* death messages */ #define PRINT_HIGH 2 /* critical messages */ #define PRINT_CHAT 3 /* also goes to chat console */ // multicast sets #define MULTICAST_ALL 0 /* every client */ #define MULTICAST_PHS 1 /* within hearing */ #define MULTICAST_PVS 2 /* within sight */ #define MULTICAST_ALL_R 3 /* every client, reliable */ #define MULTICAST_PHS_R 4 /* within hearing, reliable */ #define MULTICAST_PVS_R 5 /* within sight, reliable */ // ========================================================================= // // ========================================================================= // // takedamage values #define DAMAGE_NO 0 #define DAMAGE_YES 1 #define DAMAGE_AIM 2 // deadflag, the C code doesn't actually use these. #define DEAD_NO 0 #define DEAD_DYING 1 #define DEAD_DEAD 2 #define DEAD_NONLIVING -1 // Used by me #define FL_AUTOTHINK FL_CLIENT #endif