Small update:
FIXED incorrectly using a comma as a separator when quickfort expected a semicolon.
CHANGED alias.json now contains aliases for most common commands.
CHANGED you can now specify a config file with the --config=PATH_TO_FILE flag.Hey guys, I've been really annoyed with trying to build quickfort blueprints by hand, and I don't particularly like chromafort, so I decided that as part of teaching myself Haskell I'd build my own blueprint generator.
dorfCAD will generate all four quickfort phases from a single image (or a list of images, if you want to get fancy), allowing you to easily lay out your fortress visually.
Here's the README
This program converts images into csv files for use with Quickfort. It's still a work in progress.
Using dorfCAD
All images must be saved with 8 bit rgb color.
Invoke dorfCAD from the commandline with mkblueprint [options] FILE1 FILE2 ...
where each FILE is an image. Passing multiple images will create a single blueprint with each image as a single layer going from bottom to top.
dorfCAD relies on two files, config.json and alias.json to be present in the same directory. config.json provides a list of actions for each phase, and a list of colors to convert to that action (e.g. every black pixel becomes "dig"). Multiple colors can be assigned to the same action, but each color can only be assigned to one action per phase. Colors can be reused in each phase, so for example you can assign a color to dig on the dig phase, and then build a bed on the build phase, and then create a room on the query phase.
alias.json is just a list of longer aliases to standard df commands, so you can set up config.json with commands like "build_bed" instead of "b".
Small example config files are included in the src folder.
Optional flags
-o or --output provides a name for the output blueprints, -o foo will produce foo-dig.csv, foo-build-csv etc. If not set, will use the first input file name.
-s or --start specifies a starting position for the blueprint. Usage is -s x,y.
-p or --phase specifies the phases to produce blueprints for, -p dig,build will produce only output-dig.csv and output-build.csv. If not set, will produce for all phases. (Generating a blueprint for a phase you didn't provide any configuration data for won't mess anything up, it'll just be all '~')
-r or --repeat specifies a number of times to repeat the input when creating a blueprint, useful for staircases. If not set, will default to 1.
In addition to mkblueprint.exe, I've bundled an example blueprint and the config files to generate it.
The executable, along with an example using the windmill villas from the wiki, is here:
http://dffd.wimbli.com/file.php?id=7994The github page is here:
https://github.com/Hrothen/dorfCADThe executable on dffd is for windows machines, if you're running something else you'll need to compile from source, which is kind of a pain if you don't already have the Haskell platform installed, sorry