Does Thing Angle matter for non enemies/player starts/etc?

I was playing a few of my maps in Chocolate Doom. I placed some health/ammo onto some couches/benches in these maps. Some of these items are floating on the top part of the bench, instead of on the seats, like this:



Those two clips are on the same Y-axis as the clip on the left, which is where I expect the clip to be. What causes this? Could the angle on the thing have anything to do with this? The bench is facing south, and all of the angles are on the clips are south.

Thanks.

Share this post


Link to post

I run into this a lot playing odamex on single player. Often I'll see a row of 5 or so health or armor bonuses below a computer terminal, and one or two will be on the ledge instead of on the floor. I usually see it on detailed maps where I find it hard to believe that the author somehow missed that glaring error, which leads me to believe its port specific.

I don't have any more input than that.

Share this post


Link to post

I believe the angle shouldn't affect anything.

Basically, sometimes Doom recalculates the vertical positions of some things when some floor\ceiling moves nearby, and it can make things with bounding box too close to a higher ledge move up in the air. Try approaching these bullets in noclip-mode without activating any triggers: maybe they all will be positioned just as you expect them to. Or maybe not. In any case, to avoid problems like this, don't place items too close to higher sectors.

Share this post


Link to post
40oz said:

I run into this a lot playing odamex on single player. Often I'll see a row of 5 or so health or armor bonuses below a computer terminal, and one or two will be on the ledge instead of on the floor. I usually see it on detailed maps where I find it hard to believe that the author somehow missed that glaring error, which leads me to believe its port specific.

I don't have any more input than that.

ZDoom and its offspring do treat items differently at map spawn than other ports. In particular they try to push them up to the highest contacted floor IIRC, due to some particular map(s) where items were stuck into crevices - ie., the kind of things map authors ought to fix, and not have us coders patch the engine to compensate for sloppiness >_>

Share this post


Link to post

Thing angle matters for models, as while the sprite might always rotate to face the player, the model may not.

Share this post


Link to post

Ok, went into Doom Builder and looked at all my benches/couches. I made sure to place the items so that no part of the bounding box would overlap the 2-sided line between the seats and the top of the couch (which has a higher floor height than the seat). That should prevent any items from going upwards, right?

Share this post


Link to post

Quasar posted in this thread, and still no answer on why it happens? What could it be? The BSP? The block map?

Share this post


Link to post

Vanilla Doom places mobjs according to the sector their centre point is in, when a map is started or loaded. But when a plane moves, the entire hitbox is checked.

This can potentially lead to a mobj(s) falling down to a lower floor, when a map is loaded, if it was lifted up by it's edge, by a moving floor before saving (because the mobjs centre point is over the lower sector).

ZDoom however, checks the entire hitbox in all cases.

Share this post


Link to post
Quasar said:

ZDoom and its offspring do treat items differently at map spawn than other ports. In particular they try to push them up to the highest contacted floor IIRC, due to some particular map(s) where items were stuck into crevices - ie., the kind of things map authors ought to fix, and not have us coders patch the engine to compensate for sloppiness >_>


No, it doesn't.

What's being described here sounds like something ZDoom had fixed long ago.

The reason is that ZDoom fixed the quite badly written PointOnLineSide function to always report an item lying directly on a line as being in front, whereas the original one decided based on the line's orientation on which side a point directly on a line will be. This change of course created some bad situations with items being spawned directly on a line. But as I said, this was fixed long, long ago, in the later times of 2.0.x development.

If I'm not mistaken, Odamex used some older ZDoom version as a base. But as long as that doesn't use the original PointOnLineSide function for spawning an actor, the broken positioning will still be in.

Share this post


Link to post
Graf Zahl said:

No, it doesn't.

What's being described here sounds like something ZDoom had fixed long ago.

The reason is that ZDoom fixed the quite badly written PointOnLineSide function to always report an item lying directly on a line as being in front, whereas the original one decided based on the line's orientation on which side a point directly on a line will be. This change of course created some bad situations with items being spawned directly on a line. But as I said, this was fixed long, long ago, in the later times of 2.0.x development.

If I'm not mistaken, Odamex used some older ZDoom version as a base. But as long as that doesn't use the original PointOnLineSide function for spawning an actor, the broken positioning will still be in.

Ah, OK. That clears up some confusion.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now