Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  

trouble with a donut

Recommended Posts

Hey crew,

I'm trying to make a donut (re-)work in a vanilla DOOM wad. It's a bit different then most as that there are multiple columns lowering (all the same sector) and a single sector around them all. The player hits a switch and the columns are supposed to lower while the sector around them raises. It was working fine at first, but then I did some changing of types and sector numbers and now it's failsville. I don't know why. Does anyone know of any bugginess, or any special weird criteria, that needs to be met to make the donut work?




EDIT: By the way, it doesn't work because all of a sudden the outer (untagged) sector does not raise any more. The tagged inner sector still lowers, but the sector around it doesn't move or change at all. I've noticed if I flip some linedefs on the outer sector it will lower into the nukeage. Why, I do not know.

EDIT: The problem seems to be with the sector not knowing which sector to change to. The outer sector is joined with two different sectors. At first it would raise to the right one. Then it stopped for some reason. Now with the lines facing out they will lower to the nukeage sector. But I can't get it to raise to the right sector again. How does the donut decide which sector to match when it's connected to two different sectors? Anyone know?

EDIT: Figured it out. The outer sector picks the adjoining sector with the lowest line ID # when it's attached to multiple sectors. Man, it's tough to get the line numbers you want in DB2!

Share this post

Link to post

Donuts use the lowest numbered linedef in the tagged sector.

This can be tricky to achieve in an editor, you'll need to look at the linedef numbers (indexes) and find the lowest one in the sector and invoke a "swap numbers" function with one which borders both sectors.

The DOOM specifications explain the donut thusly:

12. Line type 9 is a special one. The definitive example is the chainsaw
pillar on E1M2. Take the lowest-numbered linedef that has a sidedef in
the tagged sector. If that linedef is one-sided, nothing happens. If it
is 2-sided, then the tagged sector's floor will move down to match the
2nd sector's floor height (or it will jump instantly up if it was below,
like other floors that are supposed to move "down").

  If this 2nd sector CONTAINS the tagged sector, i.e. all the linedefs
with a sidedef in the tagged sector have their other sidedef in the 2nd
sector, then this 2nd sector is the "donut". This donut's floor will
move "up" to match the floor height of the sector on the other side of
the DONUT's lowest-numbered linedef, excluding those linedefs that are
shared with the "donut hole" central sector. Also, the donut will undergo
a floor texture change and special sector type change to match the
"outside". The donut sector does not have to be completely surrounded
by another sector (i.e. it can have 1-sided linedefs), but if its
lowest-numbered linedef is not 2-sided, a minor glitch results: the donut
and the donut-hole both move to a strange height, and the donut changes
floor texture to TLITE6_6 - the last flat in the directory.

  Note that if the donut hole and the donut are both going to move, the
donut hole is going to move to match the height that the donut is "going
to". In other words, the whole thing will be at a single height when
they're done, and this is the height of the "outside" sector that borders
the donut.

Share this post

Link to post

I usually 'cheat' when it comes to picking low-numbered lines. Just find the lowest one you can, split and isolate it (i.e. disconnect it from all other lines by deleting its connections to all other geometry), move it to where you need it, and change the sector references. A bit messy, but it works.

I do find it odd that even in DB2's day and age, I still find myself performing map surgery from time to time. :P

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this