SetSolidFlags(): Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with ''''<code>SetSolidFlags()</code>''' defines various flags that affect the precise nature of an entity's solidity. It is used in conjunction with <code>SetSolid()</code>. …')
 
No edit summary
Line 1: Line 1:
'''<code>SetSolidFlags()</code>''' defines various [[flag]]s that affect the precise nature of an entity's solidity. It is used in conjunction with <code>[[SetSolid()]]</code>.
'''<code>SetSolidFlags()</code>''' defines various [[flag]]s that affect the precise nature of an entity's solidity. It is used in conjunction with <code>[[SetSolid()]]</code>.
Call '''<code>IsSolidFlagSet()</code>''' to test for existing flags.


{{tip|An entity with <code>SetSolidFlags(FSOLID_NOT_SOLID <nowiki>|</nowiki> FSOLID_TRIGGER)</code> generates <code>[[Touch()]]</code> calls without colliding with other objects. This is the behaviour of [[trigger]]s.}}
{{tip|An entity with <code>SetSolidFlags(FSOLID_NOT_SOLID <nowiki>|</nowiki> FSOLID_TRIGGER)</code> generates <code>[[Touch()]]</code> calls without colliding with other objects. This is the behaviour of [[trigger]]s.}}

Revision as of 10:17, 3 September 2009

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