I am entirely new here (new to Doom modding too), but I'm not new to fiddling with graphics in javascript.
Thus: Arch Mage!
Just extract to "\Ultimate Doom Builder\UDBScript\Scripts\Examples\Geometry", select exactly two linedefs, twiddle the settings to your liking, and hit run.
UDMF only
![Sad :(](./images/smilies/icon_sad.gif)
Features:
* Very simple to use!
* Supports Lancet Arches!
* Seed Linedefs don't need to be parallel!
* Adjustable Subdivision!
It is best run on a preexisting transom (a chunk of lower ceiling above a doorway). You can expect a standard, semi-circular arch to be half of the width of the doorway in height, but once you start playing with the lancet setting all bets are off (it becomes a fractional function of sine).
Any advice on improvement would be cool.
P.S. The output is triangulated (and using vertex heights) because my primary interest is in "scooping" arches as depicted in the screeny.
UPDATE to V2: Now supports -=FLOOR ARCHES=- !!!
This allows for quasi-circular doorways, sewer-pipes, etc..
This should be run on two Linedefs on either side of a very short window; 16 units tall 64 up from the floor and down from the ceiling, and 128 wide, for example.
UPDATE to V3: Sinusoid vertex distribution!!!
* Linear and Sinusoid vertex distribution now optional, as per boris's suggestion.
* Linear is still useful for vertical texture bands of set width.
* V Scale now defaults to the inverse of Doom's vertical aspect ratio, making circles actual circles.
UPDATE to V4: Fixed a problem with vertex merging.
UPDATE to V5: Fixed my fix to the problem with vertex merging.
I created a brute force, internal welding function.
It now works predictably as long as the generated vertices are not closer than .125MUs, so don't try 35 Half Steps on a 64MU-wide arch
![Smile :)](./images/smilies/icon_smile.gif)
Much thanks to boris for their helpful testing. I now know enough to move on to more ambitious scripts. Voronoi fracturing of sectors will be next, I think
![Very Happy :D](./images/smilies/icon_biggrin.gif)