On Thu, 27 Jan 2022 18:16:03 +0000
Stian Grenborgen <stian...@student.matnat.uio.no> wrote:
> One thing I find strange, however, is why the client options are stored with 
> the save game. The separation between game options and client options was 
> originally in order to separate global options from those that should 
> influence a single game.

Now that you mention it I have no idea... looks like we had a feature
request:

  commit b835c8e15b974a6c40ef54c904370a7843677623
  Author: Michael Vehrs <bursc...@users.sourceforge.net>
  Date:   Sun Apr 24 14:58:19 2011 +0000

      Read client options if present in savegame file. Partially implements 
FR#3008377.

Rather old history now, using the previous SF request numbers, but it looks like
[IR#99](https://sourceforge.net/p/freecol/improvement-requests/99/) in the new 
format.
However, I do not understand why the involving the savegame was necessary.
Perhaps reading the client options were borken at the time.

I like the principle of game options containing game specific matter and
client options being global.  I can not think of any cases where it would
make sense to have different client options in different games...

> Originally, the mod list in client options should only be applied for new 
> games -- with the exception of mods that contain no game altering behavior 
> (like graphics mods). The mod list for a specific game should be stored with 
> the savegame ... but no other client option should (in my opinion).

...except for the mods, and perhaps the language option (which is already
special).  IIRC the saved game effectively contains the game-altering mods
as they change the spec and the spec is saved.  However the code seems to
be reloading the active mods when it loads a saved game, which is probably
needed to get the Resources right but should not be needed for the spec.  I
should look into this.

If the client options mod list is only applicable to new games we should
improve the documentation and comments to make that clearer.

> I find it annoying when my preferences are changed when loading a savegame 
> ... forcing me to make the same client option change for multiple games. Do 
> we really want that behaviour ... or can we change it?

We certainly can.  However I am puzzled about what is going on ATM.
loadClientOptions is pretty clear that it loads (in order):
1. The base installed client-options.xml
2. The client-options.xml from an optionally supplied saved game
3. The user client-options.xml.
with the expectation that later loads override previous loads.  Is this
not happening for you?  If so we have a bug.

> > However, point of clarification, client-options.xml has the warehouse,
> > messages and other options inside the interface group--- was that
> > intended?  They were previously direct children of the clientOptions group.
> 
> Yes, that was an intended change in order to have fewer options on the top 
> level. Please do suggest other groups/layouts that might work better.

Please ignore any suggestions I make on presentation issues:-).  I will
finish the backward compatibility work soonish.

Cheers,
Mike Pope

Attachment: pgphCrztevhFr.pgp
Description: OpenPGP digital signature

_______________________________________________
Freecol-developers mailing list
Freecol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freecol-developers

Reply via email to