Skip to content

Remove bug-prone optional pruning#8

Open
elf-alchemist wants to merge 1 commit into
rheit:masterfrom
elf-alchemist:no_prune
Open

Remove bug-prone optional pruning#8
elf-alchemist wants to merge 1 commit into
rheit:masterfrom
elf-alchemist:no_prune

Conversation

@elf-alchemist

Copy link
Copy Markdown

A bug that was been uncovered in this Woof! issue (fabiangreffrath/woof#2156 (comment)) is that the sidedef pruning implementation in ZDBSP is flawed and affects SW-rendered source ports that always recalculate the offsets for vanilla segs. It ends up erroneously just moving sidedef indexes around, it seems, and that messes up some ports. This has actually already manifested itself in levels such as Eviternity II map18.

An attempt was previously made to try and counter-act this problem on the port's end, but it did not prove fruitful. The logical conclusion is now that ZDBSP shouldn't trim any geometry at all, and let the modern tooling handle such things. Zero-length lines appear to be still be fair game–though, perhaps, ignoring them instead of outright trimming may be a safer approach.

Bug in Woof!:
image

It also affects Odamex:
image

P.S. As a side note, is there any particular reason to keep the issues tab completely closed?

@rheit

rheit commented May 3, 2026

Copy link
Copy Markdown
Owner

How was it decided that the pruning was the problem? Was the -q option used on one of those maps, and then it worked? I didn't see any message about pruning sidedefs when I ran it without that on either of the given wads.

I'd rather understand what went wrong than just remove it. In the linked discussion, I see talk of sidedef packing, which ZDBSP doesn't do. Even when this was just an internal node builder, ZDoom needed to unpack packed sidedefs, so packing them here was never considered useful.

S.P. I have no idea where the configuration for the Issues tab lives.

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