Skip to content

Z Axis Fix#1370

Open
Paf2020 wants to merge 1 commit intofabiangreffrath:masterfrom
Paf2020:master
Open

Z Axis Fix#1370
Paf2020 wants to merge 1 commit intofabiangreffrath:masterfrom
Paf2020:master

Conversation

@Paf2020
Copy link
Copy Markdown

@Paf2020 Paf2020 commented Jan 27, 2026

Copied text from the commit log: "Fixed issue #703 and also issue #381 (not sure about that one, might have been a different problem), although with minor overreach (All objects can be walked over/under now, might need to add custom heights or a option for custom heights for objects without realistic default heights.) I think it's all properly guarded with if (critical->overunder)."

I think the modified doomretro code for unblocking should still work - I didn't get to test it, but if it doesn't work, it should be fine reverted. I think I had some issues while testing it, which is why I changed it, but I don't exactly remember.

Anyway, I tested the issue #703 with the same wad - it works now. A easier example is E3M8 - turn on IDKFA, IDDQD, go over to the spider mastermind, get it to move over to the ledge, turn on the overunder option, enable jump, jump on it when it starts firing, wait until you stop, type "TNTEM", it will die and you will fall immediately. I did some testing with cacodemons and it doesn't seem they have any issues with their floors being set either, so I think this is now working (aside from one minor issue).

The one issue I've seen so far:

  1. Obstacle heights are inaccurate to the sprite (usually too small - for example, the tech pillars in E1M1. This means we'll need to modify the mobjinfo struct heights if overunder is enabled to fix it)

I did do testing, but I'm not 100% confident that it's fully working beyond that.

You should be able to disable the overunder codes for obstacles if you want to only keep it for monsters - I'm not sure which one is preferred, but I figured I'd just make the pull request with the most permissive code.

My code is a bit messy, as I'm not too experienced with coding, but it does work.

…oom-zaxis-fix/issues/703) and also issue [fabiangreffrath#381](https://github.com/Paf2020/crispy-doom-zaxis-fix/issues/381) (not sure about that ot that one), although with minor overreach (All objects can be walked over/under now, might need to add custom heights or a option for custom heights for objects without realistic default heights.) I think it's all properly guarded with if (critical->overunder)."
@fabiangreffrath
Copy link
Copy Markdown
Owner

Thank you very much for this! However, this isn't in a state that can be merged as is.

Could you please factor this out into smaller chunks and commit them one after another? For example, I realize that P_ResyncAboveThings() and P_UpdateMobjHeights() are needed to fix the actual issue, i.e. the player floating in the air once a monster below him moves away. I consider the other changes that you made, which you call "overreach", to be strictly unrelated to this.

So, could you please build this back so that it only fixes the underlying issue and nothing more and then we approach the next goal (i.e. extending the over/under ability to any monster) in a follow up PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants