#pragma once // Mask Constants (set .drawmask on entities; use R_AddEntities to add all entities based on mask) const int MASK_ENGINE = BIT(0); const int MASK_ENGINEVIEWMODELS = BIT(1); const int MASK_NORMAL = BIT(2); // Renderflag Constants (used for CSQC entities) const int RF_VIEWMODEL = BIT(0); const int RF_EXTERNALMODEL = BIT(1); const int RF_DEPTHHACK = BIT(2); const int RF_ADDITIVE = BIT(3); const int RF_USEAXIS = BIT(4); // Viewflag Constants (use with R_SetView) const int VF_MIN = 1; //(vector) const int VF_MIN_X = 2; //(float) const int VF_MIN_Y = 3; //(float) const int VF_SIZE = 4; //(vector) (viewport size) const int VF_SIZE_Y = 5; //(float) const int VF_SIZE_X = 6; //(float) const int VF_VIEWPORT = 7; //(vector, vector) const int VF_FOV = 8; //(vector) const int VF_FOVX = 9; //(float) const int VF_FOVY = 10; //(float) const int VF_ORIGIN = 11; //(vector) const int VF_ORIGIN_X = 12; //(float) const int VF_ORIGIN_Y = 13; //(float) const int VF_ORIGIN_Z = 14; //(float) const int VF_ANGLES = 15; //(vector) const int VF_ANGLES_X = 16; //(float) const int VF_ANGLES_Y = 17; //(float) const int VF_ANGLES_Z = 18; //(float) const int VF_DRAWWORLD = 19; //(float) const int VF_DRAWENGINEHUD = 20; //(float) const int VF_DRAWCROSSHAIR = 21; //(float) const int VF_PERSPECTIVE = 200; //(float) const int VF_CL_VIEWANGLES = 33; //(vector) const int VF_CL_VIEWANGLES_X = 34; //(float) const int VF_CL_VIEWANGLES_Y = 35; //(float) const int VF_CL_VIEWANGLES_Z = 36; //(float) // Quake-style Point Contents const int CONTENT_EMPTY = -1; const int CONTENT_SOLID = -2; const int CONTENT_WATER = -3; const int CONTENT_SLIME = -4; const int CONTENT_LAVA = -5; const int CONTENT_SKY = -6; // Vector / Hull Constants const vector VEC_1 = '1 1 1'; const vector VEC_0 = '0 0 0'; const vector VEC_M1 = '-1 -1 -1'; const vector VEC_HULL_MIN = '-16 -16 -24'; const vector VEC_HULL_MAX = '16 16 32'; // Effect Constants const int EF_NODRAW = BIT(4); const int EF_ADDITIVE = BIT(5); const int EF_BLUE = BIT(6); const int EF_RED = BIT(7); const int EF_FULLBRIGHT = BIT(9); const int EF_FLAME = BIT(10); const int EF_STARDUST = BIT(11); const int EF_NOSHADOW = BIT(12); const int EF_NODEPTHTEST = BIT(13); // Quake Player Flag Constants const int PFL_ONGROUND = BIT(0); const int PFL_CROUCH = BIT(1); const int PFL_DEAD = BIT(2); const int PFL_GIBBED = BIT(3); // Quake Temporary Entity Constants const int TE_SPIKE = 0; const int TE_SUPERSPIKE = 1; const int TE_GUNSHOT = 2; const int TE_EXPLOSION = 3; const int TE_TAREXPLOSION = 4; const int TE_LIGHTNING1 = 5; const int TE_LIGHTNING2 = 6; const int TE_WIZSPIKE = 7; const int TE_KNIGHTSPIKE = 8; const int TE_LIGHTNING3 = 9; const int TE_LAVASPLASH = 10; const int TE_TELEPORT = 11; const int TE_EXPLOSION2 = 12; // Darkplaces Additions const int TE_EXPLOSIONRGB = 53; const int TE_GUNSHOTQUAD = 57; const int TE_EXPLOSIONQUAD = 70; // Math Constants const int EXTRA_LOW = -99999999; const int EXTRA_HIGH = 99999999; // Frik File Constants const int FILE_READ = 0; const int FILE_APPEND = 1; const int FILE_WRITE = 2; // Button values used by input_buttons const int BUTTON_ATTACK = BIT(0); const int BUTTON_JUMP = BIT(1); const int BUTTON_3 = BIT(2); const int BUTTON_4 = BIT(3); const int BUTTON_5 = BIT(4); const int BUTTON_6 = BIT(5); const int BUTTON7 = BIT(6); const int BUTTON8 = BIT(7); const int BUTTON_USE = BIT(8); const int BUTTON_CHAT = BIT(9); const int BUTTON_PRYDONCURSOR = BIT(10); const int BUTTON_9 = BIT(11); const int BUTTON_10 = BIT(12); const int BUTTON_11 = BIT(13); const int BUTTON_12 = BIT(14); const int BUTTON_13 = BIT(15); const int BUTTON_14 = BIT(16); const int BUTTON_15 = BIT(17); const int BUTTON_16 = BIT(18); const int SOLID_NOT = 0; // no interaction with other objects const int SOLID_TRIGGER = 1; // touch on edge, but not blocking const int SOLID_BBOX = 2; // touch on edge, block const int SOLID_SLIDEBOX = 3; // touch on edge, but not an onground const int SOLID_BSP = 4; // bsp clip, touch on edge, block const int SOLID_CORPSE = 5; // same as SOLID_BBOX, except it behaves as SOLID_NOT against SOLID_SLIDEBOX objects (players/monsters) const int MOVE_NORMAL = 0; // same as false const int MOVE_NOMONSTERS = 1; // same as true const int MOVE_MISSILE = 2; // save as movement with .move_movetype == MOVETYPE_FLYMISSILE const int MOVE_HITMODEL = 4; const int MOVE_WORLDONLY = 3; const int CAMERA_FREE = 1; const int CAMERA_CHASE = 2; const int EF_NOMODELFLAGS = BIT(23);