User Tools

Site Tools



Crossfire mapper is a tool, formerly only available in the trunk SVN (server/utils), that generates a catalog of maps.
Until 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=<path> destination path. Default 'html'.
-limit=<number> 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=<map> adds a map to process. Path is relative to map's directory root.
-rawmaps generates maps pics without items on random (shop, treasure) tiles.
-warnnopath inform when an exit has no path set.
-listunusedmaps finds all unused maps in the maps directory.
-noworldmap don't write the world map in world.png.
-noregionslink don't generate regions relation file.
-regionslink generate regions relation file.
-noexitmap don't generate map of exits.
-exitmap generate map of exits.
-tileset=<number> use specified tileset to generate the pictures. Default 0 (standard).
maps/tools/crossfire-mapper.txt · Last modified: 2018/04/21 05:27 by karl