Cylinder Aligner
by Yrex, 2020 <ampoyrex(a)wp.pl>
The UV conversion code was based on Daire Stockdale's ase2t3d.

Usage:
	The program operates through clipboard.
	Cut (Ctrl+X) one or more brushes from UnrealEd. Press Align. Then paste them back.

Alignment modes:
	Cylinder - Like wrapping paper around a cylinder. You can use cylinder projection on spheres, but not vice versa.

	Sphere - Projects based on lat/long coordinates. The poles will be slightly warped though.
	
	Torus - You have to specify the radius manually though.
	
	Floor/X/Y - for each polygon, it performs the equivalent of UnrealEd's "Align as Floor/Ceiling", "Align to wall around X axis" and "Align to wall around Y axis", whichever makes the texture least distorted. Good for quickly aligning complex shapes such as terrain. 

Other settings:
	- Compensate 32-shift - Normally, when actors are pasted, vect(32,32,32) is added to their Location. This compensates for that.

Remember that:
	- The program only looks at the local vertex coordinates. It doesn't care about Location, Rotation, Scale, etc. This may or may not be desired. An option to change that may be added in the future.
	
	- The model's origin will be used as a pivot (in the editor shown as brush-colored dot, NOT the bright red symbol), so make sure it's correct. You can only change it using Vertex Editing.
	
	- If you get slight seams between polygons, triangulate them (right click -> Tesselate surface).
	
	- The "Texels per (stuff)" is only true when texture's DrawScale is 1.