Next: Menu system, Previous: Key bindings, Up: MININIM: The Advanced Prince of Persia Engine [Contents][Index]
MININIM can be easily setup to match user’s preferences regarding the way the game looks and behaves. It features an integrated configuration system which offers three distinct interfaces: command line options, environment variables and configuration files.
The configuration system uses the command line options parser as the central interpreter for the configuration process. Providing a single options parsing routine allows for easy maintenance, equivalence between methods and a canonical interface for integrating future methods. For this end, each configuration option backend implements a translator between its specifics of option representation and access, to a normal command line array. Then the resulting options are roughly processed as if they were given at the engine invocation command line.
As the options are the same for all three current methods of configuration, and all of them are in essence processed as command line options, it’s unnecessary to describe all options for each separately. Therefore, we provide a simple systematic rule for converting between method option names and their command line equivalents, and then describe only the latter.
The rule for option naming conversion is very simple: for every command
line option of the form x-y there is an equivalent environment
variable option MININIM_X_Y
and an equivalent configuration file
option ‘x y’.
The multiple methods of configuration are cumulative but command line options override any other, while environment variables override the main configuration file. In any method applicable later options override earlier ones. The option --print-paths shows, among other things, the expected file name of the main configuration file. Configuration files have INI format without any sections, like this:
option 0 = value 0 ... option n = value n
Notice that many options can be changed on the fly by key binding counterparts. See Key bindings.
The following remarks apply to the options list in this chapter:
The legacy command line interface present in versions 1.0, 1.3 and 1.4 of the original game is supported for the sake of compatibility with software that use it. Legacy level and video non-option arguments are honored, while all others are currently ignored silently. The legacy arguments can’t be used by other configuration method besides the command line. The legacy command line arguments are:
These are case insensitive. Additionally specifying a standalone integer i is equivalent to passing the option --start-level=i. Unlike the original game, there is no dependence between any two arguments (like start level and cheat arguments).
Next: Menu system, Previous: Key bindings, Up: MININIM: The Advanced Prince of Persia Engine [Contents][Index]