fabiangreffrath / woof

Woof! is a continuation of the Boom/MBF bloodline of Doom source ports.
GNU General Public License v2.0
207 stars 32 forks source link

MBF21: The `comp_ledgeblock` blocking items moved by scroll special. #885

Open rfomin opened 1 year ago

rfomin commented 1 year ago

This is also DSDA-Doom and MBF21 spec issue.

Bug report: [doomworld], test WAD: scrolltest.zip. A potential fix is to move the reset of the MIF_SCROLLING flag somewhere else, perhaps when if (!(mobj->momx | mobj->momy))? https://github.com/fabiangreffrath/woof/blob/1d7cb3072fbd0d0d05eb293f3242b26165b2c302/src/p_mobj.c#L734

kraflab commented 1 year ago

Why does it have a problem with items and not monsters?

rfomin commented 1 year ago

Why does it have a problem with items and not monsters?

Probably monsters too, I just haven't checked.

kraflab commented 1 year ago

It was originally tested with monsters and everything worked, so I'd be curious how it broke if it does affect monsters as well - or maybe an exact understanding of the conditions causing the problem.

rfomin commented 1 year ago

I just changed item to monster in scrolltest.wad, it's blocked too: woof0004

fabiangreffrath commented 1 year ago

Is there anything we can do about this in Woof? I guess this needs an inter-port effort and an upgrade to the spec?

rfomin commented 1 year ago

I guess this needs an inter-port effort and an upgrade to the spec?

Yes, I think we should wait a bit with this.

kraflab commented 1 year ago

I'm pretty ambivalent about this to be honest. It's a bug but it's possible to make scrollers that work, so it isn't necessarily blocking people. And the spec is relatively old at this time without much noise about this topic. We would also have to be very careful about how it's fixed in order to not change any existing scroller behavior, since maps may rely on the exact speed things exit a scroller (in addition to a comp option for existing demos, we would want to default it to fixing the bug or else there's not a whole lot of reason to fix it).