diff --git a/public/const.h b/public/const.h index 4e38ad27..2bcde5ef 100644 --- a/public/const.h +++ b/public/const.h @@ -101,47 +101,47 @@ // Most came from server.h // CBaseEntity::m_fFlags -// PLAYER SPECIFIC FLAGS FIRST BECAUSE WE USE ONLY A FEW BITS OF NETWORK PRECISION -#define FL_ONGROUND (1<<0) // At rest / on the ground -#define FL_DUCKING (1<<1) // Player flag -- Player is fully crouched -#define FL_WATERJUMP (1<<2) // player jumping out of water -#define FL_NOCLIP (1<<3) // Forces MOVETYPE_NOCLIP on the entity -#define FL_PAWN_FAKECLIENT (1<<4) // Fake client controlled pawn entity, mostly referenced in movement related code -#define FL_FROZEN (1<<5) // Player is frozen for 3rd person camera -#define FL_ATCONTROLS (1<<6) // Player can't move, but keeps key inputs for controlling another entity -#define FL_CLIENT (1<<7) // Is a player -#define FL_CONTROLLER_FAKECLIENT (1<<8) // Fake client, simulated server side. Mainly set on controllers -#define FL_INWATER (1<<9) // In water. Potentially obsolete in s2 +enum Flags_t : uint32 +{ + // PLAYER SPECIFIC FLAGS FIRST BECAUSE WE USE ONLY A FEW BITS OF NETWORK PRECISION + FL_ONGROUND = (1 << 0), // At rest / on the ground + FL_DUCKING = (1 << 1), // Player flag -- Player is fully crouched + FL_WATERJUMP = (1 << 2), // player jumping out of water + // FL_EMPTY = (1 << 3), + FL_BOT = (1 << 4), // Fake client controlled pawn entity, mostly referenced in movement related code + FL_FROZEN = (1 << 5), // Player is frozen for 3rd person camera + FL_ATCONTROLS = (1 << 6), // Player can't move, but keeps key inputs for controlling another entity + FL_CLIENT = (1 << 7), // Is a player + FL_FAKECLIENT = (1 << 8), // Fake client, simulated server side. Mainly set on controllers + // FL_EMPTY = (1 << 9), -// NOTE if you move things up, make sure to change this value -#define PLAYER_FLAG_BITS 10 - -// NON-PLAYER SPECIFIC (i.e., not used by GameMovement or the client .dll ) -- Can still be applied to players, though -#define FL_FLY (1<<10) // Changes the SV_Movestep() behavior to not need to be on ground -#define FL_SWIM (1<<11) // Changes the SV_Movestep() behavior to not need to be on ground (but stay in water) -#define FL_CONVEYOR (1<<12) // Potentially obsolete in s2 -#define FL_NPC (1<<13) // Potentially obsolete in s2 -#define FL_GODMODE (1<<14) -#define FL_NOTARGET (1<<15) -#define FL_AIMTARGET (1<<16) // set if the crosshair needs to aim onto the entity -#define FL_PARTIALGROUND (1<<17) // not all corners are valid. Potentially obsolete in s2 -#define FL_STATICPROP (1<<18) // Eetsa static prop! -#define FL_GRAPHED (1<<19) // worldgraph has this ent listed as something that blocks a connection. Potentially obsolete in s2 -#define FL_GRENADE (1<<20) -#define FL_STEPMOVEMENT (1<<21) // Changes the SV_Movestep() behavior to not do any processing. Potentially obsolete in s2 -#define FL_DONTTOUCH (1<<22) // Doesn't generate touch functions, generates Untouch() for anything it was touching when this flag was set -#define FL_BASEVELOCITY (1<<23) // Base velocity has been applied this frame (used to convert base velocity into momentum) -#define FL_CONVEYOR_NEW (1<<24) -#define FL_OBJECT (1<<25) // Terrible name. This is an object that NPCs should see. Missiles, for example. -#define FL_KILLME (1<<26) // This entity is marked for death -- will be freed by game DLL. Potentially obsolete in s2 -#define FL_ONFIRE (1<<27) // You know... -#define FL_DISSOLVING (1<<28) // We're dissolving! -#define FL_TRANSRAGDOLL (1<<29) // In the process of turning into a client side ragdoll. -#define FL_UNBLOCKABLE_BY_PLAYER (1<<30) // pusher that can't be blocked by the player -#define FL_FREEZING (1<<31) // We're becoming frozen! + // NON-PLAYER SPECIFIC (i.e., not used by GameMovement or the client .dll ) -- Can still be applied to players, though + FL_FLY = (1 << 10), // Changes the SV_Movestep() behavior to not need to be on ground + FL_SUPPRESS_SAVE = (1 << 11), + FL_IN_VEHICLE = (1 << 12), + FL_IN_VEHICLE_TRANSPORT = (1 << 13), + FL_GODMODE = (1 << 14), + FL_NOTARGET = (1 << 15), + FL_AIMTARGET = (1 << 16), // set if the crosshair needs to aim onto the entity + // FL_EMPTY = (1 << 17), + FL_STATICPROP = (1 << 18), // Eetsa static prop! + // FL_EMPTY = (1 << 19), + FL_GRENADE = (1 << 20), + // FL_EMPTY = (1 << 21), + FL_DONTTOUCH = (1 << 22), // Doesn't generate touch functions, generates Untouch() for anything it was touching when this flag was set + // FL_EMPTY = (1 << 23), + // FL_EMPTY = (1 << 24), + FL_OBJECT = (1 << 25), // Terrible name. This is an object that NPCs should see. Missiles, for example. + // FL_EMPTY = (1 << 26), + FL_ONFIRE = (1 << 27), // You know... + FL_DISSOLVING = (1 << 28), // We're dissolving! + FL_TRANSRAGDOLL = (1 << 29), // In the process of turning into a client side ragdoll. + FL_UNBLOCKABLE_BY_PLAYER = (1 << 30) // pusher that can't be blocked by the player + // FL_EMPTY = (1 << 31), +}; // edict->movetype values -enum MoveType_t : unsigned char +enum MoveType_t : uint8 { MOVETYPE_NONE = 0, // never moves MOVETYPE_OBSOLETE, // Previously isometric movetype @@ -163,7 +163,7 @@ enum MoveType_t : unsigned char }; // edict->movecollide values -enum MoveCollide_t : unsigned char +enum MoveCollide_t : uint8 { MOVECOLLIDE_DEFAULT = 0, @@ -185,7 +185,7 @@ enum MoveCollide_t : unsigned char // 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 : unsigned char +enum SolidType_t : uint8 { SOLID_NONE = 0, // no solid model SOLID_BSP = 1, // a BSP tree