Guide:INI Syntax

From Step Mods | Change The Game
Revision as of 06:16, November 2, 2020 by Z929669 (talk | contribs) (Text replace - "http://" to "https://")

Introduction[edit | edit source]

INI files are used by all game engines to define various settings that may need to be different, depending on a set of circumstances the engine is run. The most easily recognized set of changes relate to the hardware on which the game is run.
With almost every game, the first time it is run, you will be presented with either a configuration menu or a message saying the "optimum settings are being detected". This is the game engine assigning values to the INI for that game. Other INI settings may be set by a GUI to change difficulty, screen size, audio quality or many other user desired options. These are simply setting the values in an INI file. The same result could be accomplished by editing it by hand. The problem with doing it by hand though is the reason why this guide is written: INI settings are often esoteric programming terms that have little meaning to the user, regardless of their experience with that game.

Naming Convention[edit | edit source]

The terms listed below are in Hungarian Notation. ie. the name indicates the type of function the setting changes.
Specifically the initial letter provides the indication of what is expected in the value part of the setting. ie. the part after the =

Types of settings can be easily determined and therefore the values that are acceptable are also indicated e.g.

iNumThreads This is an integer, which means any whole number can be set
bHavokDebug This is a boolean. The value can be only one of two options: on/off, yes/no, true/false or 1/0
fMaxTime This is a float value. The value can be a number with a precision of usually 4 decimal places
sStartingCellY This denotes a string, a line of text that is read and interpreted as is. "Text that is shown in game" or a path, filename or extension recognized by the game
uTicksToWait This identifier isn't 100% determined, but it is most likely a 'user' specified change

To further ease the use of these settings the game reads each setting and applies these values based on their location. If a setting is placed in the wrong section the game engine SHOULD disregard it as not applicable.