[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:
https://zdoom.org/wiki/LineTrace
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.
Attachments
trace-poc.pk3
The proof of concept.
(1.57 KiB) Downloaded 4 times
dawnbreez
 
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: DotBot and 0 guests