SRB2 Message Board

SRB2 Message Board (
-   Bug Reports (2.1.X) (
-   -   Fixed [2.1.20] FOFs cause ground below's Each Time trigger to fire (

Simsmagic 07-17-2017 05:06 AM

[2.1.20] FOFs cause ground below's Each Time trigger to fire
Picture a floor that uses Linedef Type 301 (Each Time) to trigger a linedef, it doesn't matter what's being triggered. If an FOF is placed above this floor, said FOF will also trigger the effect even if the control sector isn't tagged or has the proper sector special.

Link to a test level that demonstrates the bug
Link to a .gif showcasing the bug

The left FOF showcases the bug, using an Each Time trigger. The right FOF uses a Continuous trigger, which does not have this bug. Both sectors are using the Floor Touch sector special and are triggering the Award Score effect (though I've tested, and it seems to happen with other effects like Teleport), and neither control sector for the FOF interacts with the executors in any way. There's no way the executor is being triggered unintentionally due to something I did, as far as I can tell.

Monster Iestyn 07-17-2017 07:26 PM

This happens because the special thinker for Each Time uses P_IsObjectOnGroundIn to determine on-groundness ...which does not distinguish between normal ground and an FOF "ground". So yeah, definitely the game's fault in this case.

Fun other extra bug I found with P_IsObjectOnGroundIn itself: turns out it even counts touching the top of intangible FOFs as being on the ground (blame stupid coding). This means Each Time triggers for the normal ground are activated for those too!

Monster Iestyn 07-17-2017 08:06 PM

Made a fix for this bug here.

Monster Iestyn 08-16-2017 07:19 PM

Oh wow, forgot I merged the fix above to "next" 4 weeks ago. Yeah, this bug will be fixed now for the next release or patch.

All times are GMT. The time now is 10:57 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.