Bridge Mode

This mode lets you connect parts of existing geometry using Bezier curves.
Found in: Preferences -> Controls -> Drawing.
Default key: Ctrl-B.
Additional actions: Increase Sudivision Level, Decrease Sudivision Level. You can hold Shift while dragging a handle to turn grid snapping off.

Usage: Select two linedefs or two groups of linedefs: Then activate Bridge mode using keyboard shortcut or tool button (): Make some changes, then press OK button or Enter to accept, or Cancel/Esc to cancel:

Options window

Align floor / Align ceiling dropdowns let you choose how the heights of created sectors are interpolated.
Brightness dropdown let you choose how the brightness of created sectors is interpolated.
Subdivisions control how many subdivisions bridge has. You can also use "Increase Subdivisions" and "Decrease Subdivisions" actions to control this using keyboard shortcuts.

Activate Mirror mode to mirror paired handle movement:

Activate Copy mode to copy paired handle movement:

If a shape crosses itself, you can press "Flip Lines" button to fix this:

Interpolation modes:

  Highest ceiling
  Lowest floor
  Linear interpolation
EaseInSine interpolation - interpolates heights using sinusoidal (sin(t)) easing in.
EaseOutSine interpolation - interpolates heights using sinusoidal (sin(t)) easing out.
EaseInOutSine interpolation - interpolates heights using sinusoidal (sin(t)) easing in/out.

Setting lower/upper textures:

If you are going to connect sectors with different ceiling and/or floor heights, you'll generally want to set upper and/or lower textures. To do this, set upper or lower textures to linedefs, which will be used to define bridge shape.
Let's say we want to make a stairway out of these lines:
2D-view: 3D-view:

If you bridge these linedefs right now, you'll have lots of unset textures:


Instead of setting them all by hand, set upper and lower textures of lines, which will be used to create this shape (you need to set them only to one linedef out of pair):


If you bridge linedefs now, all upper/lower textures will be set: