[Freeciv-Dev] Re: [Freeciv] Re: Nations + Feeling
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Raimar Falke wrote:
>
> On Wed, Nov 07, 2001 at 10:50:33AM +0100, Vegh Karoly wrote:
> > Another question: What do i need to get a new country into FreeCIV? My
> > wife is austrian, i'm hungarian, and she's quite offended that Hungary can
> > be found in CIV, but Austria not. How to fix this? Shall i send u couple
> > of Austrian city names, and ideas what they should have at startup?
>
> The amount of nations is currently limited. So no more nations are
> added to the CVS version. You may want to look at
> <ftp://ftp.freeciv.org/freeciv/contrib/nations>. I hope that the
> current limitation of freeciv in this area is removed in the next
> major version.
At a glance, it looks like this will be a significant undertaking, and
likely to break server-client compatibility completely. (Obviously
others know more about this issue than I, but no doubt most people know
little about it, so here goes...)
The number of nations is hard-coded in as MAX_NUM_NATIONS, which is 63.
It would be easy enough to change this value [1], but it's used in both
server and client - so if they don't match then things won't work. The
easiest solution, then, might be to just increase this value the next
time compatibility is broken.
The problem doesn't end there, though. The nation is stored (and save
in savegames, and transferred server-client) as an index into the list
of nations (at least, so the ruleset claims). This means any change to
the list of nations will seemingly make all saved games incompatible.
The obvious solution here is to store the nation as a string in the
savegame - but this too will violate savegame compatibility. (I have
some trouble believing this is true. Is it true that every time a
nation has been added in the past, savegame compatibility has been
broken?)
Ideally, the client would be able to accept any number of nations. This
probably wouldn't be to hard to fix, but again would break compatibility
of the server-client protocol.
A much smaller issue is with having an overwhelming number of nations.
Someone suggested giving each nation a category, which could be used by
the GUI code to group them and avoid having a single huge list. IMO
this is a separate issue and can be dealt with later. Someone else said
63 nations ought to be enough. My only response to that is to say that
everyone who plays FreeCiv will want to have their nation represented,
and there are a lot more than 63 nations in the world.
[1] Warning: when I changed it to 127 and recompiled things did not
work. I had to make clean and recompile for the change to take affect
everywhere. It's possible there's a missing dependency here somewhere.
jason
|
|