Jump to navigation Jump to search


1,133 bytes added, 08:38, 12 April 2010
=== Config Manager ===
* Modify the ConfigManager to make use of the ConfigFile class. This is more difficult than it sounds at first, because currently our ConfigManager is not just used for managing the active config, but also ab-used for editing config data (once for specific targets, in the launcher's "edit game" dialog, and once for editing the "active config" in the engines/dialog.cpp ConfigDialog). This mess needs to be untangled first.
* Maybe even follow the pentagram ( approach and have three classes:
** SettingsManager (like our current ConfigManager)
** ConfigFile (a simple .ini file accessor).
*: This makes it easy to add additional config sources (e.g. XMLConfigFile); makes it possible to treat the command line data like another config file (CommandLineConfig); and simply follows the good old MVC approach, which is always a good idea.
* Add a proper version to the Config file, which indicates true changes in the format / data in it. Right now, we only have a "fake" version number where any ScummVM instance will just write its version in. Which is totally useless. A proper version would allow us to ...
** ... produce a warning if an older ScummVM version tries to load a config file written by a newer version with potentially incompatible changes (such as the switch from language code "hb" to "he" for Hebrew)
** ... detect when we an old config file is loaded which needs to be updated (e.g. by changing language "hb" to "he"; by adding "guioptions" to targets; by fixing trailing slashes in "path"; maybe even updating old style; and maybe in the future by adding "engineid" fields to all targets)
=== Files ===


Navigation menu