To update a tileset from 2.6 to 3.0 you must add some new graphics and update the file format strings.

The .tilespec file[]

  • Set format of .tilespec file to options = "+Freeciv-3.0-tilespec"
  • darkness_layer was merged into the new layer_order tag. If you used darkness_layer = 0, you can safely remove it. Else, see the bundled tilesets for how to use layer_order.
  • minimap_intro_file (also called the 'radar graphics') is no longer supported. Simply remove minimap_entry_file entry out from the tilespec, if you have it.
  • Resource now need to have extrastyle defined in the [extras] section. The old hardcoded way to draw resources was equivalent of extrastyle Single1
  • Fallbacks for extras have been simplified. For extra graphics to be used, an extra style must be defined for that "name" in [extras] in the .tilespec file, and the graphics used will all have that same name. (Previously, if a ruleset specified "graphic" and "graphic_alt" for an extra, the fallback to "_alt" could happen independently for extra style and for the actual graphics, and in some cases for different parts of the same extra; mostly this led to confusion. Most tilesets should see no effect from this.)
  • Optional: if you have directional unit sprites you can now set unit_default_orientation to control which one is used in worklists, help, etc -- set to "s", "nw", etc.
  • Add select_offset_x and select_offset_y for offsets of selected unit indicator sprites
  • Add city_size_offset_x and city_size_offset_y for offsets of city size number sprites
  • Remove city_names_font_size and city_productions_font_size, which are no longer used.

The .spec files[]

  • You can add a unit icon that indicates that the unit wants the player to clarify what it should do. (The unit will pop up the action selection dialog when selected) Define it via the new unit.action_decision_want tag.
  • River outlet sprites are now mandatory for all cardinal directions. In earlier versions they were optional in hex tilesets for ne, se, sw, and nw directions. Add the outlet sprites if your tileset is still missing them.
  • e_unit_win tag has been renamed as e_unit_win_def. If you use custom events graphics, update reference to the event. If you are using supplied misc/events.spec, it already has the reference corrected.
  • If you are using custom colors definitions, add definition for mapview_cityprod_negative. If you are including misc/colors.tilespec, the color is already added there.
  • Standard rulesets now look for the sprite specialist.entertainer rather than specialist.elvis. If your tileset is not using the standard specialist graphics, you should probably provide specialist.entertainer. (Standard tilesets continue to provide specialist.elvis as an alias.)

How to update a tileset from…

2.2 to 2.32.3 to 2.42.4 to 2.52.5 to 2.62.6 to 3.03.0 to 3.1