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
