[Fixed] [ZScript] TRF_ALLACTORS skips non-SHOOTABLE actors

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

[ZScript] TRF_ALLACTORS skips non-SHOOTABLE actors

Postby dawnbreez » Wed May 20, 2020 4:11 am

On GZDoom 4.3.3, when a LineTrace uses TRF_ALLACTORS, it's supposed to stop on any actor, whether or not the actor is +SOLID or +SHOOTABLE. At least, this is what the wiki says:
However, I've found that actors who are not +SHOOTABLE are ignored.

Included is a simple proof-of-concept .pk3 showing the issue. The player has a 64-unit-long LineTrace running every tic; this was originally meant to check for an interactable actor within 64 units of the player, i.e., within normal reach. If this trace hits an actor, it prints to the console.

In MAP01, there are two pillars--one red, one green. The green pillar has +SHOOTABLE and +INVULNERABLE; the red one doesn't. You can walk up to the pillars and verify that the green one is detected and triggers the print, but the red one isn't.

This is, obviously, an issue. The entire point of the TRF_ALLACTORS flag is to allow the trace to detect non-SHOOTABLE, non-SOLID actors. If LineTrace with the TRF_ALLACTORS flag only detects +SHOOTABLE objects, it's not working as intended.
The proof of concept.
(1.57 KiB) Downloaded 3 times
Joined: 08 Jul 2015

Re: [ZScript] TRF_ALLACTORS skips non-SHOOTABLE actors

Postby Graf Zahl » Mon May 25, 2020 11:33 am

fixed. This didn't trigger because your actor had no flags set whatsoever and the trace code never considered this case.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Joined: 19 Jul 2003
Location: Germany

Return to Closed Bugs

Who is online

Users browsing this forum: No registered users and 0 guests