Skip to content

Commit f488448

Browse files
author
L'In20Cible
committed
TraceFilterSimple now accept an iterable of BaseEntity instances instead of indexes as ignored entities (fix for non-networkable entity and Entity.is_in_solid raising).
1 parent bd32682 commit f488448

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

addons/source-python/packages/source-python/engines/trace.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
# Source.Python Imports
1313
# Entities
14-
from entities.helpers import inthandle_from_index
14+
from entities.helpers import inthandle_from_baseentity
1515

1616

1717
# =============================================================================
@@ -202,7 +202,7 @@ def __init__(self, ignore=(), trace_type=TraceType.EVERYTHING):
202202
"""
203203
super().__init__()
204204
self.trace_type = trace_type
205-
self.ignore = tuple(map(inthandle_from_index, ignore))
205+
self.ignore = tuple(map(inthandle_from_baseentity, ignore))
206206

207207
def should_hit_entity(self, entity, mask):
208208
"""Called when a trace is about to hit an entity.

addons/source-python/packages/source-python/entities/entity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ def is_in_solid(
625625

626626
# Do the trace
627627
engine_trace.trace_ray(ray, mask, TraceFilterSimple(
628-
[entity.index for entity in generator()]), trace)
628+
generator()), trace)
629629

630630
# Return whether or not the trace did hit
631631
return trace.did_hit()

addons/source-python/packages/source-python/players/_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ def get_trace_ray(self, mask=ContentMasks.ALL, trace_filter=None):
241241
# Start the trace
242242
engine_trace.trace_ray(
243243
Ray(start_vec, end_vec), mask, TraceFilterSimple(
244-
(self.index,)) if trace_filter is None else trace_filter,
244+
(self,)) if trace_filter is None else trace_filter,
245245
trace
246246
)
247247

0 commit comments

Comments
 (0)