The v1 build of dead.air has a few geometry holes, presumably from node shenanigans. The map is UDMF and a large portion of the map's vertices are off-grid, which is likely what's throwing ZDBSP off.
Some gzdoom screenshots (clickable thumbnails) w/coordinates of the 4 reported trouble-spots:
The first 3 only manifest in GZDoom but #4 results in an ugly HOM in ZDoom as well, for those hunting for the issue.
This may be a "can't do much because floating point precision/rounding/whatnot" thing, but it's worth a report. I'll see if I can spot-fix these map-side in the meantime, but #4 in particular has resisted attempts to oust it so far.
[EDIT] Added a direct link to the old v1 build of the wad, since the v2 release patches up the symptoms mod-side.
[ZDBSP] Node issues with dead.air
Moderator: GZDoom Developers
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
[ZDBSP] Node issues with dead.air
Last edited by Xaser on Wed Dec 28, 2016 12:33 am, edited 2 times in total.
-
- Lead GZDoom+Raze Developer
- Posts: 49188
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [ZDBSP] Node issues with dead.air
Good luck finding Randi and get ZDBSP fixed.
-
-
- Posts: 3819
- Joined: Sun Aug 07, 2011 4:32 am
Re: [ZDBSP] Node issues with dead.air
Indeed missing geometry is caused by fractional part of vertex coordinates. Running ZDBSP from command line with -w options will output all of problems encountered:
Some time ago I made a fairly simple hack for ZDBSP: I added a tolerance (or rather coordinate rounding) for vertices in UDMF which in theory should "solve" such issues automatically.
It worked more or less OK but I never tested it extensively.
Code: Select all
zdbsp -w map01.wad
Spoiler: Pretty long list of warningsHow about these simple steps suggested by MaxED?
Some time ago I made a fairly simple hack for ZDBSP: I added a tolerance (or rather coordinate rounding) for vertices in UDMF which in theory should "solve" such issues automatically.
It worked more or less OK but I never tested it extensively.
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
Re: [ZDBSP] Node issues with dead.air
Grid size 1 is too coarse to do the entire map, but probably the trouble spots can be snapped to 1 without causing any jaggies. I'd love to snap everything to, say, 0.25, but GZDB doesn't do fractional grid sizes and SLADE doesn't have a "snap vertices to grid" feature... though maybe I ought to feature suggest that already.
I'm curious to know if your hacked ZDBSP will fix the issues. It's a real-world test case at least.
I'm curious to know if your hacked ZDBSP will fix the issues. It's a real-world test case at least.
-
- Lead GZDoom+Raze Developer
- Posts: 49188
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [ZDBSP] Node issues with dead.air
So it is indeed the selection algorithm screwing up on too short lines. Just like I expected. I just posted in another thread a few days ago that Randi outright refused to address the bug where it could have been fixed for (in my opinion laughable) performance considerations (yeah, broken nodes are definitely better than a 5% speed loss...)
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
Re: [ZDBSP] Node issues with dead.air
For what it's worth, I made a sweep for short linedefs and deleted quite a few (seems the last time I did this for the map was prior to adding the end arena; welp). This fixed the holes in screenshots #2 and #4, but #1 and #3 still persist, so there's still some voodoo at play.
-
-
- Posts: 3819
- Joined: Sun Aug 07, 2011 4:32 am
Re: [ZDBSP] Node issues with dead.air
I uploaded my ZDBSP build here. Compiled from the latest sources with my rough rounding hack.Xaser wrote:Grid size 1 is too coarse to do the entire map, but probably the trouble spots can be snapped to 1 without causing any jaggies. I'd love to snap everything to, say, 0.25, but GZDB doesn't do fractional grid sizes and SLADE doesn't have a "snap vertices to grid" feature... though maybe I ought to feature suggest that already.
I'm curious to know if your hacked ZDBSP will fix the issues. It's a real-world test case at least.
It's the same old ZDBSP just with a new option:
Code: Select all
-y, --tolerance=NN Round vertex coordinates (0..16, default 0)
0 - none, 16 - drop whole fractional part
Code: Select all
zdbsp -w -y 14 -o tolerance_test.wad map01.wad
Code: Select all
Removed 13 lines with 0 length.
Removed 26 unused sidedefs.
Unclosed subsector 7342, from (-4412,3774) to (-4412,3774)
Unclosed subsector 11075, from (857,14429) to (856,14428)
Unclosed subsector 11214, from (284,15469) to (283,15469)
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
Re: [ZDBSP] Node issues with dead.air
Super-thanks! That seems incredibly useful for evading this sort of thing in the future. If it fixes all the visible issues, then hurrah!
I'll bet those missing lines are legit mapping errors. There were several vestigial short linedefs I removed in my working copy; between that and some vertex jiggling I was able to oust the issues for the next release, but I'll probably use this ZDBSP build going forward to avoid having to do the vertex snap. Also because it may solve issues with another (secret, unreleased) map -- that's a side-note, but worth mentioning for funsies.
I'll bet those missing lines are legit mapping errors. There were several vestigial short linedefs I removed in my working copy; between that and some vertex jiggling I was able to oust the issues for the next release, but I'll probably use this ZDBSP build going forward to avoid having to do the vertex snap. Also because it may solve issues with another (secret, unreleased) map -- that's a side-note, but worth mentioning for funsies.
-
- Posts: 2246
- Joined: Tue Feb 28, 2012 12:55 pm
Re: [ZDBSP] Node issues with dead.air
I should probably chime in and say that the smallest grid size in GZDB is now 0.125 in UDMF.