SetSolidFlags()

From Valve Developer Community
Revision as of 10:17, 3 September 2009 by TomEdwards (talk | contribs)
Jump to navigation Jump to search

SetSolidFlags() defines various flags that affect the precise nature of an entity's solidity. It is used in conjunction with SetSolid().

Call IsSolidFlagSet() to test for existing flags.

Tip.pngTip:An entity with SetSolidFlags(FSOLID_NOT_SOLID | FSOLID_TRIGGER) generates Touch() calls without colliding with other objects. This is the behaviour of triggers.

Flags

FSOLID_CUSTOMRAYTEST
Ignore solid type + always call into the entity for ray tests. [Todo]
FSOLID_CUSTOMBOXTEST
Ignore solid type + always call into the entity for swept box tests. [Todo]
FSOLID_NOT_SOLID
Allows entity to go non-solid without losing its underlying solid type.
Todo: Any different to SOLID_NONE?
FSOLID_TRIGGER
Touch() is triggered even if collisions are disabled.
FSOLID_NOT_STANDABLE
Players can't stand on this.
Todo: What happens when they try to?
FSOLID_VOLUME_CONTENTS
Contains a volumetric substance like water.
FSOLID_FORCE_WORLD_ALIGNED
Forces the collision rep to be world-aligned even if it's SOLID_BSP or SOLID_VPHYSICS. [Todo]
FSOLID_USE_TRIGGER_BOUNDS
Uses a special trigger bounds separate from the normal OBB. [Todo]
FSOLID_ROOT_PARENT_ALIGNED
Collisions are defined in the root parent's local coordinate space.
FSOLID_TRIGGER_TOUCH_DEBRIS
This FSOLID_TRIGGER entity will also Touch() debris objects.

See also