As a slight aside, it seems to me that the right way to consider this
is that there are two ways in which the version of an add-on matters.
The first is if it provides certain definitions that are needed by
other addons, and the second is to determine if the content is
consistent enough for two people to play against each other without
out-of-sync errors.

The second case is the easy case, since you really need to have
identical versions to play.  The only real requirement that this
imposes is that the versions should be updated whenever there are
changes to the add-on.  In other words, when an updated version is
uploaded, it should be checked to make sure that the version number
has increased.

In my opinion for the first case, which is what has been the main
subject of this thread, you really want to specify a minimum version
number ( a default of 0 could, I suppose, be used if none was
specified).  One still has to deal with the case where a new version
removes content.  Under such circumstances, add-ons could have a
backwards-compabitability tag which would specify the version(s) that
it should be compatible with.

For example if the versions specifies the following units
V1: Elf
V2: Elf, Orc
V3: Elf, Orc, Mage
V4: Elf, Mage
V5: Elf, Orc, Mage
V6: Orc, Mage

Then the compatability tags might look like:
V1: compatible=V1
V2: compatible=V1-V2
V3: compatible=V1-V3
V4: compatible=V1,V4
V5: compatible=V1-V5
V6: compatible=V6

In practice, once you drop a version from being compatible, you might
not add it back in.
On another note, it should be possible to mostly automatically check
compatibility via a sufficiently powerful script(wmllint?)  Basically,
you would just need to check that all units/macros/images/etc... that
are defined in one version is available in the new version.  I can
imagine some corner cases where this wouldn't work, but I imagine
those would be quite rare.

-- 
-------------------------------------------------------------------
 "In theory, theory and practice are the same,
 but in practice they're different."
-------------------------------------------------------------------
John W. C. McNabb
-------------------------------------------------------------------

_______________________________________________
Wesnoth-dev mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-dev

Reply via email to