Summary: Nations ruleset: move government compatibility
checking to nationlist.ruleset
                 Project: Freeciv
            Submitted by: jtn
            Submitted on: Sat Apr 20 20:56:13 2013
                Category: None
                Priority: 5 - Normal
                  Status: In Progress
                 Privacy: Public
             Assigned to: jtn
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 2.5.0



As I suggested in bug #19841, this patch moves the ignore_govs compatibility
declaration from individual rulesets to default/nationlist.ruleset. (Still in
the [compatibility] section, but the secfile format allows multiple instances
of those.)

It makes some other changes too:
* "ignore_govs" renamed to "allowed_govs"
* nationlist.ruleset contains a list of _all_ the govs that are mentioned in
individual nation files, not just those that happen to be missing in some of
our rulesets
** (The previous code would have handled this, as it happens.)
* If a set of allowed govs has been specified at all, it is an error for a
nation to mention a gov not on that list.
** Rationale: if our classic ruleset gets a new gov (say "Tribal"), then
without this check, a nation referencing that gov would load OK with the
default/classic ruleset (and hence might get checked in) but fail with
non-default ruleset.
* Nations' init_governments are now subject to this check too.
** (But not the nationset's default_government. It's only specified once and
so spotting typos is less important, and a new ruleset could usefully set it
to something not in the nationset without causing trouble.)

(This probably warrants a ruleset capability bump.)


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to