zdbsp hangs on multisided polyobj

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: zdbsp hangs on multisided polyobj

Re: zdbsp hangs on multisided polyobj

by Graf Zahl » Wed Dec 31, 2008 3:11 am

Fixed the hang in both ZDBSP and ZDoom.

The crash when loading this level is a general problem with ZDoom's level loading code. It can't recover from I_Error the way it is written right now. This will need some more work.

Re: zdbsp hangs on multisided polyobj

by Hirogen2 » Sun Nov 09, 2008 6:44 am

Re: zdbsp hangs on multisided polyobj

by Enjay » Sun Nov 09, 2008 6:33 am

Yes, it probably should. Also, I've noticed another problem. You don't have a poly anchor, just start spots. for info, when I load a semi fixed file in GZdoom, it causes a crash on exit

http://forum.drdteam.org/viewtopic.php?p=32959

Also, having set up the poly so that it will actually appear and move (not in the file I uploaded to DRD) I suspect is isn't doing what you want. It only crushes the barrels if they get caught between the poly and the wall in a certain way. At other times, the barrels just block the movement of the poly.

Re: zdbsp hangs on multisided polyobj

by Hirogen2 » Sun Nov 09, 2008 6:27 am

Yes, I forgot to clear the polyobj so that it is single-sided, but I think zdbsp should handle this more gracefully than going into an endless loop in case it does happen.

Re: zdbsp hangs on specific wad

by Enjay » Sun Nov 09, 2008 6:18 am

The polyobject uses 2 sided lines. Deleting side2 allows the nodes to build. Not sure how that fits into the grand scheme of things or what you had planned, but there you are.

zdbsp hangs on multisided polyobj

by Hirogen2 » Sun Nov 09, 2008 6:12 am

According to gdb, this is the endless loop:

Code: Select all

413                     do
(gdb) 
415                             AddSegToBBox (bbox, &Segs[i]);
(gdb) 
416                             vert = Segs[i].v2;
(gdb) 
417                             i = Vertices[vert].segs;
The zdbsp internal to zdoom is also affected.

Top