> The thing is, using just "s" as the variable name might conflict
> with string variables, and "ss" is not much better (but probably
> as good as "op", if some other pointer-to-object variables do
> not use it already). Another possibility is "psetting" (like there
> is "pcity", "punit", etc.), though it is quite long. We can combine
> the best of both worlds and get "pset", which is short, unique
> (as far as I know) and reminds the programmer what the
> variable is (once they have seen it with its full type of 'struct
> setting *').
I did rename op_* to pset_* as it matches the purpose of the variable: a
pointer to a setting struct
> Yes. The convention of appending "_s" to the struct name is not
> used in freeciv, so there is no reason to keep it here in this case
> (there are some bits of code that awkwardly use "setting" as a
> variable name which should probably be fixed, altough using
> "setting" as both the struct label and a variable name is not a
> syntax error).
This should even less a problem as the struct settings is only define within
> >> > 7. new option
> >> > - skill <string:easy|normal|hard> skill level of new AI players
> >> Fine, but in its own ticket please (each new feature should
> >> have its own patch).
> > yes; each list point should be (at least) one ticket; if I get how to
> > plan my
> > work it will be several patches with each resulting in a working freeciv
> > version ...
> Sorry to keep reminding you about basic things you probably already
> know well; I do it also for anybody reading these discussions in the
> future. ;)
It is good to read it from somebody else. So I know it is the right way to do
> >> > 8. new command
> >> > - default (set default values)
> >> A command to do this has already existed a long time in
> >> warclient; it is called /reset and I think this is a slightly better
> >> name than /default (for example in the future it could take
> >> parameters so you could "/reset settings", "/reset map",
> >> "/reset teams" etc.).
> > OK; I will look into warclient.
> There are instructions on how to download and build it here:
I do a download of the warclient svn at the moment ...
> > How many freeciv versions are out there? I knew of freeciv (the
> > original), warclient and longturn.
> Those are the 3 that are being "actively" developed. My
> longterm goal is to merge them all into one project.
... and also a download of the longturn svn ...
Do you can say something more about this plan? I read that your first priority
is the editor for freeciv 2.2. What are the most important points to merge
into freeciv? Tips how to do it?
> >> > 9. special fields within the ruleset
> >> > - game.default = [0/1] if all options should be set to the default
> >> > values - game.showchanged = [0/1] if changed values should be listed
> >> Is there a reason why you would want to disallow users from
> >> using the '/show changed' command?
> > The idea is to (1) reset all settings before loading the values from the
> > ruleset and (2) show the settings changed by the ruleset. This would be
> > in addition to the available commands. The function to load the ruleset
> > file would evaluate this settings and act accordingly.
> I don't think it makes sense for the ruleset to reset all settings when it
> is loaded, since there are a lot of settings that really only affect the
> internal workings of the server or user interaction, rather than the game
> itself (for example timeout, savename, scorelog, etc.). Well, since
> over time a lot of very different things have been made "settings" this
> is hard to say definitively.
> So I suppose 'game.default' is alright (maybe call it
> 'game.reset_settings'), but the other flag should just be the default
> behavior: if some settings are changed when the ruleset is loaded, a
> message about it should be printed on the console and sent to all
> connections so that at least everyone knows what is going on.
Matthias Pfafferodt - http://www.mapfa.de
Matthias.Pfafferodt <at> mapfa.de
Freeciv-dev mailing list