Re: [Freecol-developers] New groups for Client Options

2022-01-27 Thread Michael T. Pope
On Thu, 27 Jan 2022 18:16:03 +
Stian Grenborgen  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 
  Date:   Sun Apr 24 14:58:19 2011 +

  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


pgphCrztevhFr.pgp
Description: OpenPGP digital signature
___
Freecol-developers mailing list
Freecol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freecol-developers


Re: [Freecol-developers] New groups for Client Options

2022-01-27 Thread Stian Grenborgen
> [Mike]
>
> I have a patch to gracefully update old games to the new format.

Great!

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.

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).

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?


> 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.


Best wishes,
Stian Grenborgen

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