engines.trace module¶
Provides ray tracing functionality.
- class engines.trace.BaseTrace¶
Bases:
instance
- property all_solid¶
None( (_engines._trace.BaseTrace)arg1) -> bool
- property contents¶
None( (_engines._trace.BaseTrace)arg1) -> int
- property displacement_flags¶
None( (_engines._trace.BaseTrace)arg1) -> int
- property end_position¶
None( (_engines._trace.BaseTrace)arg1) -> object
- property fraction¶
None( (_engines._trace.BaseTrace)arg1) -> float
- property plane¶
None( (_engines._trace.BaseTrace)arg1) -> object
- property start_position¶
None( (_engines._trace.BaseTrace)arg1) -> object
- property start_solid¶
None( (_engines._trace.BaseTrace)arg1) -> bool
- class engines.trace.ContentFlags(*values)[source]¶
Bases:
IntFlag
Content flags wrapper enumerator.
- ALL_VISIBLE = 255¶
- AREAPORTAL = 32768¶
- AUX = 4¶
- BLOCKLOS = 64¶
- CURRENT_0 = 262144¶
- CURRENT_180 = 1048576¶
- CURRENT_270 = 2097152¶
- CURRENT_90 = 524288¶
- CURRENT_DOWN = 8388608¶
- CURRENT_UP = 4194304¶
- DEBRIS = 67108864¶
- DETAIL = 134217728¶
- EMPTY = 0¶
- GRATE = 8¶
- HITBOX = 1073741824¶
- IGNORE_NODRAW_OPAQUE = 8192¶
- LADDER = 536870912¶
- LAST_VISIBLE = 128¶
- MONSTER = 33554432¶
- MONSTERCLIP = 131072¶
- MOVEABLE = 16384¶
- OPAQUE = 128¶
- ORIGIN = 16777216¶
- PLAYERCLIP = 65536¶
- SLIME = 16¶
- SOLID = 1¶
- TEAM1 = 2048¶
- TEAM2 = 4096¶
- TESTFOGVOLUME = 256¶
- TRANSLUCENT = 268435456¶
- UNUSED = 512¶
- WATER = 32¶
- WINDOW = 2¶
- class engines.trace.ContentMasks(new_class_name, /, names, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Bases:
IntFlag
Content masks wrapper enumerator.
- ALL = 4294967295¶
- BLOCKLOS = 16449¶
- BLOCKLOS_AND_NPCS = 33570881¶
- CURRENT = 16515072¶
- DEAD_SOLID = 65547¶
- NPC_SOLID = 33701899¶
- NPC_WORLD_STATIC = 131083¶
- OPAQUE = 16513¶
- OPAQUE_AND_NPCS = 33570945¶
- PLAYER_SOLID = 33636363¶
- PLAYER_SOLID_BRUSH_ONLY = 81931¶
- SHOT = 1174421507¶
- SHOT_HULL = 100679691¶
- SHOT_PORTAL = 33570819¶
- SOLID = 33570827¶
- SOLID_BRUSH_ONLY = 16395¶
- SPLIT_AREA_PORTAL = 48¶
- VISIBLE = 24705¶
- VISIBLE_AND_NPCS = 33579137¶
- WATER = 16432¶
- class engines.trace.DisplacementFlags¶
Bases:
enum
- BUILDABLE = _engines._trace.DisplacementFlags.BUILDABLE¶
- SURFACE = _engines._trace.DisplacementFlags.SURFACE¶
- SURFPROP1 = _engines._trace.DisplacementFlags.SURFPROP1¶
- SURFPROP2 = _engines._trace.DisplacementFlags.SURFPROP2¶
- WALKABLE = _engines._trace.DisplacementFlags.WALKABLE¶
- names = {'BUILDABLE': _engines._trace.DisplacementFlags.BUILDABLE, 'SURFACE': _engines._trace.DisplacementFlags.SURFACE, 'SURFPROP1': _engines._trace.DisplacementFlags.SURFPROP1, 'SURFPROP2': _engines._trace.DisplacementFlags.SURFPROP2, 'WALKABLE': _engines._trace.DisplacementFlags.WALKABLE}¶
- values = {1: _engines._trace.DisplacementFlags.SURFACE, 2: _engines._trace.DisplacementFlags.WALKABLE, 4: _engines._trace.DisplacementFlags.BUILDABLE, 8: _engines._trace.DisplacementFlags.SURFPROP1, 16: _engines._trace.DisplacementFlags.SURFPROP2}¶
- class engines.trace.EntityEnumerator¶
Bases:
instance
- enum_entity((EntityEnumerator)arg1, (_entities.HandleEntity)arg2) bool : ¶
Gets called with each handle.
enum_entity( (EntityEnumerator)arg1, (_entities.HandleEntity)arg2) -> None
- class engines.trace.GameTrace¶
Bases:
BaseTrace
- did_hit((GameTrace)arg1) bool : ¶
Returns true if there was any kind of impact at all
- did_hit_world((GameTrace)arg1) bool : ¶
Returns True if the ray hit the world entity.
- property entity¶
None( (_engines._trace.GameTrace)arg1) -> object
- property entity_index¶
Returns the index of the entity that was hit.
- property fraction_left_solid¶
None( (_engines._trace.GameTrace)arg1) -> float
- property hitbox¶
None( (_engines._trace.GameTrace)arg1) -> int
- property hitgroup¶
None( (_engines._trace.GameTrace)arg1) -> int
- property physicsbone¶
None( (_engines._trace.GameTrace)arg1) -> int
- property surface¶
None( (_engines._trace.GameTrace)arg1) -> object
- class engines.trace.Ray¶
Bases:
instance
- class engines.trace.Surface¶
Bases:
instance
- property flags¶
None( (_engines._trace.Surface)arg1) -> int
- property name¶
None( (_engines._trace.Surface)arg1) -> str
- property surface_props¶
None( (_engines._trace.Surface)arg1) -> int
- class engines.trace.SurfaceFlags¶
Bases:
enum
- BUMPLIGHT = _engines._trace.SurfaceFlags.BUMPLIGHT¶
- HINT = _engines._trace.SurfaceFlags.HINT¶
- HITBOX = _engines._trace.SurfaceFlags.HITBOX¶
- LIGHT = _engines._trace.SurfaceFlags.LIGHT¶
- NOCHOP = _engines._trace.SurfaceFlags.NOCHOP¶
- NODECALS = _engines._trace.SurfaceFlags.NODECALS¶
- NODRAW = _engines._trace.SurfaceFlags.NODRAW¶
- NOLIGHT = _engines._trace.SurfaceFlags.NOLIGHT¶
- NOPORTAL = _engines._trace.SurfaceFlags.NOPORTAL¶
- NOSHADOWS = _engines._trace.SurfaceFlags.NOSHADOWS¶
- SKIP = _engines._trace.SurfaceFlags.SKIP¶
- SKY = _engines._trace.SurfaceFlags.SKY¶
- SKY2D = _engines._trace.SurfaceFlags.SKY2D¶
- TRANS = _engines._trace.SurfaceFlags.TRANS¶
- TRIGGER = _engines._trace.SurfaceFlags.TRIGGER¶
- WARP = _engines._trace.SurfaceFlags.WARP¶
- names = {'BUMPLIGHT': _engines._trace.SurfaceFlags.BUMPLIGHT, 'HINT': _engines._trace.SurfaceFlags.HINT, 'HITBOX': _engines._trace.SurfaceFlags.HITBOX, 'LIGHT': _engines._trace.SurfaceFlags.LIGHT, 'NOCHOP': _engines._trace.SurfaceFlags.NOCHOP, 'NODECALS': _engines._trace.SurfaceFlags.NODECALS, 'NODRAW': _engines._trace.SurfaceFlags.NODRAW, 'NOLIGHT': _engines._trace.SurfaceFlags.NOLIGHT, 'NOPORTAL': _engines._trace.SurfaceFlags.NOPORTAL, 'NOSHADOWS': _engines._trace.SurfaceFlags.NOSHADOWS, 'SKIP': _engines._trace.SurfaceFlags.SKIP, 'SKY': _engines._trace.SurfaceFlags.SKY, 'SKY2D': _engines._trace.SurfaceFlags.SKY2D, 'TRANS': _engines._trace.SurfaceFlags.TRANS, 'TRIGGER': _engines._trace.SurfaceFlags.TRIGGER, 'WARP': _engines._trace.SurfaceFlags.WARP}¶
- values = {1: _engines._trace.SurfaceFlags.LIGHT, 2: _engines._trace.SurfaceFlags.SKY2D, 4: _engines._trace.SurfaceFlags.SKY, 8: _engines._trace.SurfaceFlags.WARP, 16: _engines._trace.SurfaceFlags.TRANS, 32: _engines._trace.SurfaceFlags.NOPORTAL, 64: _engines._trace.SurfaceFlags.TRIGGER, 128: _engines._trace.SurfaceFlags.NODRAW, 256: _engines._trace.SurfaceFlags.HINT, 512: _engines._trace.SurfaceFlags.SKIP, 1024: _engines._trace.SurfaceFlags.NOLIGHT, 2048: _engines._trace.SurfaceFlags.BUMPLIGHT, 4096: _engines._trace.SurfaceFlags.NOSHADOWS, 8192: _engines._trace.SurfaceFlags.NODECALS, 16384: _engines._trace.SurfaceFlags.NOCHOP, 32768: _engines._trace.SurfaceFlags.HITBOX}¶
- class engines.trace.TraceFilter¶
Bases:
instance
- get_trace_type((TraceFilter)arg1) TraceType : ¶
Returns the trace type.
get_trace_type( (TraceFilter)arg1) -> None
- should_hit_entity((TraceFilter)arg1, (_entities.HandleEntity)arg2, (_engines._sound.Channel)arg3) bool : ¶
Returns True if the a should hit the entity.
should_hit_entity( (TraceFilter)arg1, (_entities.HandleEntity)arg2, (_engines._sound.Channel)arg3) -> None
- class engines.trace.TraceFilterSimple(ignore=(), trace_type=_engines._trace.TraceType.EVERYTHING)[source]¶
Bases:
TraceFilter
A simple trace filter.
- __init__(ignore=(), trace_type=_engines._trace.TraceType.EVERYTHING)[source]¶
Initialize the filter.
- Parameters:
ignore (iterable) – An iterable of entity indexes to ignore. The trace will not hit these entities.
trace_type (TraceType) – The trace type that should be used.
- should_hit_entity(entity, mask)[source]¶
Called when a trace is about to hit an entity.
- Parameters:
entity (HandleEntity) – The entity that should be hit.
mask (int) – The mask that was used to intialize the trace.
- Return type:
- class engines.trace.TraceType¶
Bases:
enum
- ENTITIES_ONLY = _engines._trace.TraceType.ENTITIES_ONLY¶
- EVERYTHING = _engines._trace.TraceType.EVERYTHING¶
- EVERYTHING_FILTER_PROPS = _engines._trace.TraceType.EVERYTHING_FILTER_PROPS¶
- WORLD_ONLY = _engines._trace.TraceType.WORLD_ONLY¶
- names = {'ENTITIES_ONLY': _engines._trace.TraceType.ENTITIES_ONLY, 'EVERYTHING': _engines._trace.TraceType.EVERYTHING, 'EVERYTHING_FILTER_PROPS': _engines._trace.TraceType.EVERYTHING_FILTER_PROPS, 'WORLD_ONLY': _engines._trace.TraceType.WORLD_ONLY}¶
- values = {0: _engines._trace.TraceType.EVERYTHING, 1: _engines._trace.TraceType.WORLD_ONLY, 2: _engines._trace.TraceType.ENTITIES_ONLY, 3: _engines._trace.TraceType.EVERYTHING_FILTER_PROPS}¶