============================================================
220 Map Converter
============================================================
Version			: 1.00
Released		: November 2011
Author(s)		: Shawn Davison, Adam Metcalf
============================================================


What it Does:
============================================================
MapConv is an application built to support the use of newer editors with older Quake engine titles. Currently it is able to convert Version 220 .map files to the old format used by games such as Quake1 and HexenII. As well as doing the conversion, it also has basic support for running user specified compilers on the output .map, helping keep the process as simple and streamlined as possible.


What it Doesn't Do:
============================================================

The current version of MapConv does still have limitations. While the bulk of functionality is built in, it does not yet fully support some of the texture alignment options editors working with the 220 format can produce. This means that it is best to avoid rotation and mirroring using texture lock, as well as modifying the align to world/face options. (Move texture lock, and all other alignment methods work fine however. As best practice, just stick to rotating/flipping textures manually.)


Setup:
============================================================
To only convert a map, setup is not required. Just run the application.

To convert and compile, you'll need the Quake/HexenII format texture wads which are to be compiled into the map, and the compilers you wish to use in the same directory as MapConv.exe. The compilers can be titled anything as long as they have csg, bsp, light, and vis within their names. (Non case sensitive, so bsp, Bsp, or BSP for example, would all work.)


Usage:
============================================================
When you open MapConv, you'll see both a command window used for displaying information about the conversion and compilation processes, as well as a GUI window for user input.

"Map to Convert" - The file path to the version 220 map to be converted or compiled. Use the browse button to select a map file, or type in the path.

"Convert to" - The destination map type, currently HexenII or Quake. HexenII maps have an additional key appended to every line containing a brush face.

"Attempt rotation fix" - Toggles if the converter should try to convert the 220 format rotations or not. Recommend that this is left disabled.

"CSG, BSP, Light, Vis" - Which compilers, if any, to run on the map after conversion. Compilers should be in the same directory as the application, and contain csg, bsp, light, and vis within their names. (Non case sensitive)

"Convert, Convert & Compile" - Convert only converts a map to the destination format, placing the output in the same directory as the application. Convert & Compile works similarly, but runs the above specified compilers on the output file following conversion.


Behind the Scenes:
============================================================

So, what exactly does the conversion do?

-Removes MapVersion220 key from the worldspawn if it exists.
-Removes full file paths of each wad in the wad key, also replaces .hlwad with .wad in any of the file names. (Example: "\sdk\hex2pop.hlwad;\sdk\hex2.hlwad" becomes "hex2pop.wad;hex2.wad") Note that only certain compilers support multiple wads per map.
-Performs conversion from 220 to old format on each line containing texture alignment information.
-Saves the converted map file in the same directory as the MapConv application.
-Runs selected compilers, if any, on the converted map file. Texture wads are loaded from this same directory.