Quasar
Moderator

Posts: 4615
Registered: 08-00 |
Oh and in case you all wanted to know, SoM and I identified the exact cause of this problem.
In beta 3 I made a fix to the 3D object clipping code that prevents monsters who just moved over/under an object from having that object move into their head or feet due to the monster's floorz/ceilingz not having been set properly.
However, the function that does the clipping, P_CheckPosition, also clips things against lines and sector floor/ceiling heights redundantly. Bullet puffs are NOBLOCKMAP, but this doesn't mean they aren't clipped against lines and floor/ceiling heights. Because the radius of the bullet puff extends into a 2S wall slightly, the game detects that it is touching the backsector of that 2S wall and so the bullet puff's floorz is set to the (in Mordeth's case) higher floor height behind the line.
The solution to the problem will be to make a function which clips things only against other things. I may be wrong, but I believe it is totally unnecessary to ever check for lines or sector heights at this particular place in the code. I'm going to let SoM fix this one, so he can find out for sure and then we'll determine the best course of action.
|