Page 1 of 2

Fix (most) duplicate doors

Posted: Sat Jan 12, 2019 4:52 pm
by pango
Hi,
I tried to make a dungeons fixup patch to remove (most) duplicate doors. I'm sure you're all familiar with this issue.
I think it mostly happens where two dungeon modules connect, when each one provides a door; I'm not sure it can be fixed cleanly by modifying modules data; Hence loading time fixup.
I did nothing specially efficient, doors have colliders already so I'm just checking if doors collide, O(N^2) style (no space partitioning or anything). It seems fast enough with the ~ 100 doors of your average dungeon though.

Problem is, it's currently removing too many doors, and I don't get why...
https://github.com/Interkarma/daggerfal ... cate-doors

Should I only consider a subset of active doors models or something?
(Just came across DDR "double doors"... what's that?)

Re: Fix (most) double doors

Posted: Sat Jan 12, 2019 9:10 pm
by Interkarma
DDR is an action door tag, examples are the large double set of doors in Wayrest court. It's probably best to call this issue something different like "duplicate doors" instead to avoid confusion.

I've been meaning to drill into this a bit more. The layout classes are just placing doors as enumerated from game data, but I'm fairly sure DFU places duplicates in cases where classic does not. This is the first thing I wanted to confirm - how the behaviours diverge.

Re: Fix (most) double doors

Posted: Sun Jan 13, 2019 2:56 am
by pango
Interkarma wrote: Sat Jan 12, 2019 9:10 pm DDR is an action door tag, examples are the large double set of doors in Wayrest court. It's probably best to call this issue something different like "duplicate doors" instead to avoid confusion.
Got it!
Interkarma wrote: Sat Jan 12, 2019 9:10 pm I've been meaning to drill into this a bit more. The layout classes are just placing doors as enumerated from game data, but I'm fairly sure DFU places duplicates in cases where classic does not. This is the first thing I wanted to confirm - how the behaviours diverge.
Okay. I'm not sure the problem happens less often in classic, but it's hard to tell. If my memory serves, the problem happens a lot more often with some modules/regions than others, maybe because of more testing, or more experience with that issue when the dungeon modules were designed, I don't know. So one has to compare the exact same dungeons in both games to tell, something I haven't done.

Re: Fix (most) duplicate doors

Posted: Sun Jan 13, 2019 3:20 am
by Interkarma
One example I know for sure is the entry door to King of Worms' lair in Scourg Barrow. This only has a single door in classic but presents a duplicate door in DFU.

My hope is that classic might have some other data on the duplicate door that allows it to be filtered out. Failing that, there might be a better method than checking collisions. One idea I had was checking door transforms to ensure no two are almost on top of each other. That presents some other problems of course (inefficient, which door wins, etc.).

This is one of those items on my internal list I have pushed all the way to the end of queue close to 1.0 as a polishing task.

Re: Fix (most) double doors

Posted: Sun Jan 13, 2019 5:06 pm
by King of Worms
Just a small note about the doors. I think it might be good idea if the doors always opened in the direction FROM you. Its a minor thing, but if they open towards you, it causes colisions sometimes, and also if you have casted a light, it messes up with the candle :)

Win_x64_0.7.91: Double door in Orsinium

Posted: Fri Apr 19, 2019 1:35 pm
by SlainByWoodborne
I found this double door in the Orsinium. I found a thread in the dev area but thought this would be more appropriate here.

Also, I'm not sure if it's a bug or not but the area on the opposite side of this door (resembling a pyramid) has been appearing in most of the dungeons that I've explored with each character I've made with DFU. Sometimes, it's presented immediately when entering a dungeon and other times it's buried at the end of a maze of tunnels. I don't recall having ever seen it in classic but I've seen it enough in DFU to recognize and remember it.

Re: Win_x64_0.7.91: Double door in Orsinium

Posted: Fri Apr 19, 2019 1:48 pm
by SlainByWoodborne
Found another.

Re: Win_x64_0.7.91: Double door in Orsinium

Posted: Fri Apr 19, 2019 1:52 pm
by SlainByWoodborne
And another.

Re: Win_x64_0.7.91: Double door in Orsinium

Posted: Fri Apr 19, 2019 1:55 pm
by SlainByWoodborne
Number 4.

Re: Win_x64_0.7.91: Double door in Orsinium

Posted: Fri Apr 19, 2019 2:00 pm
by pango
There's a discussion about this issue here: viewtopic.php?f=23&t=1719