diff --git a/public/const.h b/public/const.h index 5f44760c..0a1f67ee 100644 --- a/public/const.h +++ b/public/const.h @@ -141,10 +141,10 @@ #define FL_FREEZING (1<<31) // We're becoming frozen! // edict->movetype values -enum MoveType_t +enum MoveType_t : uint8_t { MOVETYPE_NONE = 0, // never moves - MOVETYPE_ISOMETRIC, // For players -- in TF2 commander view, etc. + MOVETYPE_OBSOLETE, // Previously isometric movetype MOVETYPE_WALK, // Player only - moving on the ground MOVETYPE_STEP, // gravity, special edge handling -- monsters use this MOVETYPE_FLY, // No gravity, but still collides with stuff @@ -152,18 +152,18 @@ enum MoveType_t MOVETYPE_VPHYSICS, // uses VPHYSICS for simulation MOVETYPE_PUSH, // no clip to world, push and crush MOVETYPE_NOCLIP, // No gravity, no collisions, still do velocity/avelocity - MOVETYPE_LADDER, // Used by players only when going onto a ladder MOVETYPE_OBSERVER, // Observer movement, depends on player's observer mode + MOVETYPE_LADDER, // Used by players only when going onto a ladder MOVETYPE_CUSTOM, // Allows the entity to describe its own physics // should always be defined as the last item in the list MOVETYPE_LAST = MOVETYPE_CUSTOM, - MOVETYPE_MAX_BITS = 4 + MOVETYPE_MAX_BITS = 5 }; // edict->movecollide values -enum MoveCollide_t +enum MoveCollide_t : uint8_t { MOVECOLLIDE_DEFAULT = 0, @@ -185,18 +185,20 @@ enum MoveCollide_t // Solid type basically describes how the bounding volume of the object is represented // NOTE: SOLID_BBOX MUST BE 2, and SOLID_VPHYSICS MUST BE 6 // NOTE: These numerical values are used in the FGD by the prop code (see prop_dynamic) -enum SolidType_t +enum SolidType_t : uint8_t { SOLID_NONE = 0, // no solid model SOLID_BSP = 1, // a BSP tree SOLID_BBOX = 2, // an AABB SOLID_OBB = 3, // an OBB (not implemented yet) - SOLID_OBB_YAW = 4, // an OBB, constrained so that it can only yaw - SOLID_CUSTOM = 5, // Always call into the entity for tests + SOLID_SPHERE = 4, + SOLID_POINT = 5, SOLID_VPHYSICS = 6, // solid vphysics object, get vcollide from the model and collide with that + SOLID_CAPSULE = 7, SOLID_LAST, }; +// GAMMACASE: Potentially obsolete enum SolidFlags_t { FSOLID_CUSTOMRAYTEST = 0x0001, // Ignore solid type + always call into the entity for ray tests @@ -224,14 +226,17 @@ inline bool IsSolid( SolidType_t solidType, int nSolidFlags ) return (solidType != SOLID_NONE) && ((nSolidFlags & FSOLID_NOT_SOLID) == 0); } - // m_lifeState values -#define LIFE_ALIVE 0 // alive -#define LIFE_DYING 1 // playing death animation or still falling off of a ledge waiting to hit ground -#define LIFE_DEAD 2 // dead. lying still. -#define LIFE_RESPAWNABLE 3 -#define LIFE_DISCARDBODY 4 +enum LifeState_t +{ + LIFE_ALIVE = 0x0, // alive + LIFE_DYING = 0x1, // playing death animation or still falling off of a ledge waiting to hit ground + LIFE_DEAD = 0x2, // dead. lying still. + LIFE_RESPAWNABLE = 0x3, + LIFE_RESPAWNING = 0x4 +}; +// GAMMACASE: Potentially obsolete // entity effects enum { @@ -302,7 +307,7 @@ enum // Rendering constants // if this is changed, update common/MaterialSystem/Sprite.cpp -enum RenderMode_t +enum RenderMode_t : uint8_t { kRenderNormal = 0, // src kRenderTransColor, // c*a+dest*(1-a) @@ -315,11 +320,12 @@ enum RenderMode_t kRenderTransAlphaAdd, // src + dest*(1-a) kRenderWorldGlow, // Same as kRenderGlow but not fixed size in screen space kRenderNone, // Don't render. + kRenderDevVisualizer, kRenderModeCount, // must be last }; -enum RenderFx_t +enum RenderFx_t : uint8_t { kRenderFxNone = 0, kRenderFxPulseSlow,