====== Crossfire-Mapper ======
**Crossfire mapper** is a tool, formerly only available in the ''trunk'' SVN (server/utils), that generates a catalog of maps. \\
Until [[:sourceforge:svn_code#tags|tag]] version 1.60.0 it had not been included in official source code releases of the [[:server]] . \\
Since official release version 1.71.0 the required //templates// directory and it's around 30 to 40 HTML files is also included in the release.
The crossfire-mapper is mostly intended for map makers so they know the relationship between maps, and people wishing to figure out where is a specific map/quest.
The following information is generated:
* a page per map
* a page per region
* a global map index
* the world map, including regions information
* the world map, with exits and blocking zones
* the world map, with elevation information.
* an index of maps by level
* the list of all //slaying// fields for keys/doors/detectors
* the list of all monsters found on maps
* the list of quests
(note that some lists are not using the template system yet)
This program browses maps from the first map (HallOfSelection) in {prefix}/var/crossfire/maps ( not in share/crossfire/maps ); only maps linked from there will be processed.
Maps are generated as the server sees them, that is with weather effects, treasures instead of markers, and things like that, unless the ''-rawmaps'' parameter is used.
For maps, 2 pictures are generated, one real size and one small-size.
Three maps are generated for the world: raw world map, world map with region information, region information only.
Maps are always sorted, by the map name (part after the last /).
Files are generated based on templates, where tags are replaced by their runtime value.
Launching the program without any argument will make it generate the files in ''working-directory/html''.
This program is not part of the build process. The command line from the ''utils'' directory is:
gcc mapper.c -I../include ../common/libcross.a -o crossfire-mapper -lm -lgd
To build it, you need the //GD// library (ie. install a libgd-devel package).
Since version 1.60.0 the mapper utility is optional part of the build process, available by the ''--enable-mapper'' configure option. But ''make install'' does not install the crossfire-mapper executable, the user has to manually transfer it ( probably to be found inside the hidden .lib directory of the utils folder) to the intended location; preferably where the //templates// directory with the many HTML .template files is located.
The following command line parameters are available:
| -nopics | don't generate pictures. |
| -noindex | don't generate global map index. |
| -root= | destination path. Default 'html'. |
| -limit= | stop processing after this number of maps, -1 to do all maps (default). |
| -showmaps | outputs the name of maps as they are processed. |
| -jpg[=quality] | generate jpg pictures, instead of default png. Quality should be 0-95, -1 for automatic. |
| -forcepics | force to regenerate pics, even if pics's date is after map's. |
| -addmap=