Complete.Org: Mailing Lists: Archives: freeciv-dev: August 1999:
[Freeciv-Dev] patch: registry improvements (PR#89)
Home

[Freeciv-Dev] patch: registry improvements (PR#89)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Cc: bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] patch: registry improvements (PR#89)
From: dwp@xxxxxxxxxxxxxx
Date: Sun, 1 Aug 1999 04:55:44 -0700 (PDT)

This is a multi-part message in MIME format.

--_----------=_93350796390100
Content-Disposition: inline
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

This patch makes some extensions to the registry.  I also
ended up basically re-writing much of the code to parse 
registry-format files, and added some new modules...

The extensions:

- Allow gettext markings on string values in registry (based 
on a patch by David Perez Serrada <dperezs@xxxxxxx>, although 
that part of the code got moved/changed alot).

- Allow multi-line strings.  The purpose of this is to make
it feasible to easily include help data in ruleset files.

- Allow comma separated lists to extend over multiple lines.
This is not specifically useful at the moment, but it may be,
and it was easy to do after to the re-engineering to handle 
multi-line strings.

Eg, could now have, in units.ruleset, something like:
----
[unit_settlers]
name          = _("Settlers")
flags         = "Settlers", 
                "NonMil"
helptext = 
_("
Setters are one of the key units in the game.  They can be used to
found new cities, ...
...
...  and a group of Settlers and/or
Engineers is highly vulnerable to enemy attacks.
")
----

Internal changes:

- Modifed ruleset.c to use speclists for sections and entries.
Makes the code a little bit nicer, and slightly type-safer.

- New module common/astring.c, for allocated/allocatable strings
(and things).  That is, strings where you want to remember how
big the allocation was, to easily grow the string with infrequent
reallocs as necessary.  This is independent, but is used by other 
changes in this patch.

- New module common/inputfile.c, to handle some of the low-level
reading/parsing of files in registry format, and in particular to
handle multi-line strings etc.  (The old code was very much parsing
a line at a time.)

The new code is slightly slower then the old, eg about 25%.
Presumably because the old code was quite tight, whereas this
goes through several abstraction layers of functions, plus
asserts etc.  But even for a huge file its only a matter of 
a few seconds at start-up, so I'm not really bothered.

As well as including helpdata in the ruleset files, I'm thinking
now of looking at changing helpdata.txt to be in registry format.  
With the above improvements I think this would be feasible, and 
it would give the advantage of allowing managing helptext 
translations (those not in rulesets, via above plan) via 
gettext, thus making it much easier to automatedly keep of 
when/which translations are up-to-date etc.

Regards,
-- David 

--_----------=_93350796390100
Content-Disposition: inline; filename="reg_rev.diff.gz"
Content-Type: application/x-gzip; name="reg_rev.diff.gz"
Content-Transfer-Encoding: base64

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
/BEBAA==

--_----------=_93350796390100--



[Prev in Thread] Current Thread [Next in Thread]