Skip to content

ModernWoWTools/MapUpconverter

Repository files navigation

MapUpconverter

Features:

  • Converts 3.3.5 map-related file formats to modern 8.2.x+ file formats (WDT, WDL, ADT).
  • Adds height texturing information (MTXP).
  • Filename => FileDataID conversions.
  • Convert-on-save mode to convert ADTs as they are saved by e.g. Noggit while mapping allowing for quick in-game previews.
  • Optionally generates/updates an Epsilon patch for the map (and any other files in the output directory).

Status

This tool is still early in development and will likely not work well for all usecases.

Support

Please join our Discord for support, do not DM people but post in the #troubleshooting channel instead.

Downloading

You can get the latest release from the releases page.

Usage

On Windows, open MapUpconverterGUI.exe and fill in the settings, download the required files and hit start. Alternatively or on other platforms, create and fill in settings.json correctly and run MapUpconverter.exe.

Settings

You can use the included MapUpConverterGUI.exe tool (Windows only!) to change these settings. If you want to edit the settings.json/want more information on what things do, read on.

Example settings.json file without Epsilon integration

{
  "inputDir": "C:\\NoggitProject",
  "outputDir": "C:\\NoggitMapButModern",
  "mapName": "yourmapnamegoeshere",
  "epsilonDir": "",
  "epsilonPatchName": "",
  "arctiumDir": "",
  "arctiumPatchName": "",
  "generateWDTWDL": true,
  "rootWDTFileDataID": 0,
  "exportTarget": "Generic",
  "convertOnSave": false,
  "clientRefresh": false,
  "mapID": -1
}

Example settings.json file with Epsilon integration

{
  "inputDir": "C:\\NoggitProject",
  "outputDir": "C:\\NoggitMapButModern",
  "mapName": "yourmapnamegoeshere",
  "epsilonDir": "C:\\Epsilon",
  "epsilonPatchName": "YourPatchNameGoesHere",
  "arctiumDir": "",
  "arctiumPatchName": "",
  "generateWDTWDL": true,
  "rootWDTFileDataID": 1498241,
  "exportTarget": "Generic",
  "convertOnSave": false,
  "clientRefresh": false,
  "mapID": -1
}

All settings are required to be present in the file, but may be left as default depending on which, these settings are tagged as optional below.

inputDir

Directory (e.g. inside Noggit project directory) with ADTs to monitor for changes.

outputDir

Output directory to put converted files in.

mapName

The name of your map. This is used to name the WDT file amongst other files.

epsilonDir (optional)

Path to Epsilon launcher directory.

epsilonPatchName (optional)

Name of Epsilon patch to keep create/keep updated.

arctiumDir (optional)

Path to the Arctium Launcher directory.

arctiumPatchName (optional)

Name for the Arctium patch names (used as filename for listfile mapping and patch dir in files folder).

generateWDTWDL (optional)

Whether or not to generate/update WDT/WDL files. Defaults to true as this tool is primarily meant for fully custom maps, but can be disabled when editing a (partial) official map and you don't want to override official WDT/WDLs. If one wants to generate an updated WDT/WDL due to having added new ADTs or wanting to update the distant-mountain heightmap, make sure to extract all ADTs of the existing map into the input directory before doing so or it will only generate a WDT/WDL for the ADTs present in the input directory instead of all of them (and break the map).

rootWDTFileDataID (optional)

When overwriting an existing WDT ID or if you already know your WDTs ID, you can set it here. If you use Epsilon integration, you will want to fill this in.

convertOnSave (optional)

If set to false, generates the map once and then exits. This is required the first time you generate a map. If set to true, the program will wait for updates in the input directory and convert them as soon as they are saved. This is useful for Noggit users who want to see their changes in-game quickly after they save them.

clientRefresh (optional)

Whether or not to enable client refreshing (experimental), needs external DLL not currently available.

mapID (optional)

Used with client refresh mode, defaults to -1.

License

Unlike my other projects, this is licensed under GPLv3 instead of MIT to keep compatibility with 3rd-party licenses.

Credits