DEBUILD is a Duke Nukem 1 level editor written in QuickBASIC.

The editor is still very much in development! Use at your own risks! Copy all
the *.DN1 files from the Duke Nukem 1 shareware episode into the DATA/ folder
before launching LOAD.EXE; a mouse is required.

Here's a quick list of what the editor can do so far:

Only one level is supported
  The editor loads the 1st level of Duke Nukem Episode 1: Sharpnel City. It
  supports other levels and episodes too, but there's no interface to select
  them yet. The current map can be saved by pressing the save button.

Genuine graphics
  The editor loads graphic files (tiles and active items) straight from the
  resources, by episode. The background images are also loaded according to
  the level number for that episode (those values are hard-coded in Duke.)

WYSIWYG (What You See Is What You Get)
  The map view provides a (mostly) accurate representation of what the level
  will look like in-game, following background propagation rules for active
  items and automated extensions of bridges and conveyor belts; the system is
  currently limited and doesn't properly draw elements whose origin is located
  outside the viewport. Water reflections are also missing.

Unique active item handling
  As some items can only appear once in the level (Duke's starting point, exit
  door, special pickup items, "DUKE" letters, ...,) the editor won't place the
  same unique item twice and will move it instead.

Permanent tile picker
  Click the right mouse button to start selecting tiles under the cursor, hold
  and drag to extend the selection to an area at most 8 columns wide and 8
  rows tall. Release the right mouse button to complete the selection. Now the
  selected pattern is in memory and ready to use with the drawing tools (left
  mouse button.)

Multi-clipboard
  By default, copy/pasting is done using the immediate clipboard. If you wish
  to preserve a pattern so you can reuse it later, press and hold the 1 key to
  make all copy/paste operations with the 1st clipboard. Release the key to
  return to the immediate clipboard. There are 10 clipboards available for
  prefabs, accessed with keys 0-9. All clipboards are at most 8x8.

Multi-tile pasting
  All drawing tools use the clipboard, which may be wider than 1 tile; in that
  case, the pattern is repeated using the clicked cell as its top right origin
  point.

Keyboard scrolling
  Place the cursor above the map view or tile box, then use the Up, Down, Left
  or Right Arrow key, to scroll one unit. Insert and Delete to move one page
  left or right, Page Up and Down to move one page up or down, Home and End to
  jump to the top left or bottom right of the table.

Press escape any time to quit. Note that there's no warning when overwriting
files or exiting without saving. Many features (including Undo) are planned
but not implemented yet.

Have fun!
- Mike Hawk