Well sometimes it's a bit more complicated than that, you can have
optional dependencies.

In the case of the Extended Era i have something like this.
While most of the content doesn't have external dependancies, there is
in this addon an Extended Era + Era of Myths era that depends on the
Era of Myths. This depednancy is optional, ie if the "Era of Myths"
addon is not detected by the "Extended Era" addon, this particular era
of the "Extended Era" is automagically disabled.

While the largest part of the v x.y.z "Extended Era" is supposed to be
compatible with all v x.y.* version, for optional the EE + EoM part
of the addon the compatibility is more complicated since you'll also
have to have a compatible version of the "Era of Myths" addon to play
with an opponent (while an incompatible EoM will still mix the EE)).

----- "John McNabb" <[EMAIL PROTECTED]> a écrit :

> 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

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

Reply via email to