Wikia

Freeciv

How to update a tileset from 2.4 to 2.5

Talk0
602pages on
this wiki

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

The .tilespec fileEdit

  • Set format of .tilespec file to options = "+Freeciv-2.5-tilespec".

Use 'TRUE' and 'FALSE' instead of '0' and '1' for booleansEdit

Here the list of affected settings:

[tilespec]
is_hex

[tile_XXX]
is_reversed
layerYYY_is_tall

'is_blended' renamed to 'blend_layer'Edit

Change all is_blended = 1 type definitions to blend_layer = 1. (It was renamed to make it clearer that it's not a boolean option -- it specifies a layer number -- but there's no change in the meaning.)

RoadstyleEdit

  • The single roadstyle definition affecting all roads has been replaced by per-road-tag definitions. Remove old roadstyle = x setting and add section like this instead
[roads]
styles =
    { "name",  "style"
      "road.road",  "AllSeparate"
      "road.rail",  "AllSeparate"
      "road.river", "River"
    }

where "name" refers to road gfx tag. Old numeric style values have been replaced with textual values: 0 -> "AllSeparate", 1 -> "ParityCombined", 2 -> "AllCombined"

Tileset typeEdit

Old boolean setting is_isometric has been replaced with generic type setting. At the same time meaning of iso in conjunction with hex has been reversed.

For square tilesets that had is_isometric true, or hex tilesets that had it false:

type = "isometric"

For square tilesets that had is_isometric false, or hex tilesets that had it true:

type = "overview"

Full height in non-iso Hex tilesetsEdit

Non-iso Hex tilesets had excessively high Full height meaning that origin of some sprites was far above the tile's top and thus tilesets needed a lot of transparent padding on top part of those sprites. Now Full height in non-iso Hex tilesets is same as Normal height defined in .tilespec. The old formula was 3 * normal_tile_height / 2. If you had origin of the sprites set to match old code, you should now remove 1/2 * normal tile height pixels from the top of them to make their height match normal tile height. Remember also change grid dy value to match in .spec file. For example hex2t tileset with normal_tile_height defined as 72 in the tilespec needed 36 pixels cut from the affected sprites that earlier were 108. Sprites affected are cities and all the smaller icons such as hitpoint bars, unit activity icons, city size indicators. Units and terrains are not.

Default government iconsEdit

Default government icons have been moved from misc/small.spec to misc/governments.spec. If your tileset has been relying on misc/small.spec providing those, you should now add misc/governments.spec to files list.

Default specialist iconsEdit

Default specialist icons have been moved from misc/small.spec to misc/specialists.spec. If your tileset has been relying on misc/specialists.spec providing those, you should now add misc/specialists.spec to files list.

Darkness layerEdit

Tileset should now define with which terrain layer darkness is being drawn, on top of the regular parts of that layer. darkness_layer can have value from 0 to 2. Old hardcoded behavior was to have it on layer 0.

; Which terrain layer darkness is drawn top of (0-2)
darkness_layer = 0

Adding mine_sprite for all terrain typesEdit

Supplied tilesets now define mine_sprite for all [tile] -sections referring to land terrains, to be compatible with custom rulesets that enable mines on terrains where supplied rulesets dont. You may want to do the same for your tileset if you have inherited it from the supplied ones, and is thus lacking some mine_sprite entries.

The .spec filesEdit

  • Set format of all .spec files to options = "+Freeciv-2.5-spec".

Removing Rivers as terrain type cruftEdit

Rivers as terrain, not special, like in civ1 has not been supported for a very long time, but our tilesets still contained related obsolete cruft. We've cleaned that from supplied tilesets now. You may want to do the same for your tileset if you have inherited it from the supplied ones. Tags beginning with "t.t_river" are the river as terrain ones.

More upkeep sprites (optional)Edit

You can add sprites showing more than 2 upkeep for unit display in the city dialog, although if you don't change anything it'll work as before. Specify "upkeep.gold3", "upkeep.gold4" and so on potentially up to "upkeep.gold10" (and similar for "food", "unhappy" etc). Any unspecified steps use the previous sprite, and upkeep beyond 10 uses the last specified sprite.

Unit convert activity iconEdit

New unit activity icon for unit converting itself to another is required. Tag for the activity is "unit.convert".

Unit activity icons for roads (optional)Edit

With the generalisation of roads in the ruleset, you may want to add more unit activity icons. The supplied rulesets will work with no tileset changes (they'll continue to use "unit.road"), but will take advantage of distinct "unit.rail" and (optionally, for the 'experimental' ruleset) "unit.maglev".

Road and River tagsEdit

Roads and Rivers no longer have hardcoded tags, but they depend on ruleset. Below, <ruleset_tag> means tag part defined in the ruleset. Supplied rulesets use tags "road.road", "road.rail", "road.maglev" for road types, and "road.river" for River.

  • Tags previously starting with "tx.s_river_" should now start with "<ruleset_tag>_s_"
  • Tags previously starting with "tx.river_outlet_" should now start with "<ruleset_tag>_outlet_"
  • Tags previously starting with "r.road_" or "r.rail_" should now start with "<ruleset_tag>_"
  • Tags previously starting with "r.c_road_" or "r.c_rail_" should now start with "<ruleset_tag>_c_"
  • Tags previously starting with "r.d_road_" or "r.d_rail_" should now start with "<ruleset_tag>_d_"

Inaccessible terrainEdit

The supplied rulesets have a new terrain type 'Inaccessible', which no units can enter; this is for scenario authors to use to define a non-rectangular map shape (see the France scenario for an example). Tilesets should probably include graphics for this (if not supplied, Glacier graphics will be used).

Around Wikia's network

Random Wiki