[freeciv-data] Re: adding nations more easily by splitting flags
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
--On Saturday, July 12, 2003 13:14:52 -0500 Mike Kaufman
<kaufman@xxxxxxxxxxxxxxxxxxxxxx> wrote:
proposal: move flags into individual png files.
benefits: facilitate adding and/or removing nations easily by freeciv
non-cognicenti. merge redundant flags.png files from trident/
and isotrident/ directories. make isotrident_shields easy to
accomplish.
problems: flags sprites in trident and isotrident have different sizes,
specifically differing amounts of transparency. Also,
shields.png for trident_shields needs to be updated
concurrently with any added nation.
cons: only a single [uniform] grid in png files will be allowed: pngs
other than the flags.pngs will have to be modified.
method: create a data/misc/flags directory and create a png file for each
nation named for example "italy.png". Each png would have a 2x1
(or 1x2) grid with the regular flag in the first space and the
'shields' flag in the second. The .spec file would be located in
the data/<tileset>/ directory.
specifics:
to create spec files that can deal with multiple graphics files and
different transparency sizes,
I think this is a step in the wrong direction. Specfiles should be
simpler, not more complex. This new functionality should drop the grid
complexity and just give a filename - one sprite per file.
change header [file] to [file_*]
gfx = <filename>
; specify the the size of the grid. we no longer need [xy]_top_left since
; we only allow one grid.
grid = { "dx", "dy", "is_pixel_border" }
; each tile can have a different width, height, and offset from the top
; left of the sprite. a scaling feature can be added later.
tiles = { "row", "column", "width", "height", "x_offset", "y_offset",
"tag" }
and use secfile_get_secnames_prefix(file, "file_", &num_files) to access
each
graphics file.
spec files with multiple [grid_*] sections must be changed: probably means
pngs
will have to be split.
o trident/roads.spec -> 2 grids
o isotrident/terrain1.spec -> 3 grids
o isotrident/terrain2.spec -> 2 grids
so a flags specfile would look like:
[spec]
options = "+spec3"
[info]
artists = "..."
[file_italy]
gfx = "trident/flags/italy.png"
grid = { "dx", "dy", "is_pixel_border"
26, 20, 0
}
tiles = { "row", "column", "height", "width", "offset_x", "offset_y",
"tag" 0, 0, 30, 30, 0, 0, "f.italy"
}
[file_iraq_old]
gfx = "trident/flags/iraq_old.png"
grid = { "dx", "dy", "is_pixel_border"
26, 20, 0
}
tiles = { "row", "column", "height", "width", "offset_x", "offset_y",
"tag" 0, 0, 30, 30, 0, 0, "f.iraq_old"
}
[misc_sprites]
sprites = {"name, "file",
"f.italy", "trident/flags/italy.png",
"f.iraq_old", "trident/flags/iraq.old",
}
the _shields specfile would be similar except:
[file_italy]
gfx = "trident/flags/italy.png"
grid = { "dx", "dy", "is_pixel_border"
26, 20, 0
}
tiles = { "row", "column", "height", "width", "offset_x", "offset_y",
"tag" 0, 1, 45, 45, 0, 4, "f.italy" ; why this is 45x45? holdover
from engels? }
this is not a complete proposal by any means. I haven't actually attempted
to do this so for all I know there are serious flaws here.
Hard to say. Under my suggestion, though, we leave the existing
functionality in place (meaning existing tilesets don't need changes) and
simply add a new set of specfile tags.
I agree with the concept: the flags (and eventually other graphics) should
be split up, making it easier to add new nations. But editing the
specfiles should be made easier as well.
Another choice is:
[misc_sprites]
directory = "trident/flags"
and then the files are named after the sprite name in that directory, e.g.
f.italy.png and f.iraq_old.png. This means no specfile editing is needed
(good!), but I'm not sure if it's feasible.
jason
|
|