settings_internal.h File Reference

Functions and types used internally for the settings configurations. More...

#include "saveload/saveload.h"
#include "settings_type.h"

Go to the source code of this file.

Data Structures

struct  EnumPropsT< SettingDescTypeLong >
struct  EnumPropsT< SettingGuiFlagLong >
struct  SettingDescBase
struct  SettingDesc

Typedefs

typedef TinyEnumT
< SettingDescTypeLong
SettingDescType
typedef TinyEnumT
< SettingGuiFlagLong
SettingGuiFlag
typedef bool OnChange (int32 var)
 callback prototype on data modification
typedef int32 OnConvert (const char *value)
 callback prototype for convertion error
typedef SettingDesc SettingDescGlobVarList

Enumerations

enum  SettingDescTypeLong {
  SDT_BEGIN = 0, SDT_NUMX = 0, SDT_BOOLX = 1, SDT_ONEOFMANY = 2,
  SDT_MANYOFMANY = 3, SDT_INTLIST = 4, SDT_STRING = 5, SDT_END
}
 Convention/Type of settings. More...
enum  SettingGuiFlagLong {
  SGF_NONE = 0, SGF_0ISDISABLED = 1 << 0, SGF_NOCOMMA = 1 << 1, SGF_MULTISTRING = 1 << 2,
  SGF_NETWORK_ONLY = 1 << 3, SGF_CURRENCY = 1 << 4, SGF_NO_NETWORK = 1 << 5, SGF_NEWGAME_ONLY = 1 << 6,
  SGF_END = 1 << 7
}

Functions

 DECLARE_ENUM_AS_BIT_SET (SettingGuiFlagLong)
const SettingDesc * GetSettingFromName (const char *name, uint *i)
 Given a name of setting, return a setting description of it.
bool SetSettingValue (uint index, int32 value)
 Top function to save the new value of an element of the Settings struct.
bool SetSettingValue (uint index, const char *value)
 Set a setting value with a string.


Detailed Description

Functions and types used internally for the settings configurations.

Definition in file settings_internal.h.


Enumeration Type Documentation

Convention/Type of settings.

This is then further specified if necessary with the SLE_ (SLE_VAR/SLE_FILE) enums in saveload.h

See also:
VarTypes

SettingDescBase

Enumerator:
SDT_NUMX  any number-type
SDT_BOOLX  a boolean number
SDT_ONEOFMANY  bitmasked number where only ONE bit may be set
SDT_MANYOFMANY  bitmasked number where MULTIPLE bits may be set
SDT_INTLIST  list of integers seperated by a comma ','
SDT_STRING  string with a pre-allocated buffer

Definition at line 15 of file settings_internal.h.

Enumerator:
SGF_0ISDISABLED  a value of zero means the feature is disabled
SGF_NOCOMMA  number without any thousand seperators (no formatting)
SGF_MULTISTRING  the value represents a limited number of string-options (internally integer)
SGF_NETWORK_ONLY  this setting only applies to network games
SGF_CURRENCY  the number represents money, so when reading value multiply by exchange rate
SGF_NO_NETWORK  this setting does not apply to network games; it may not be changed during the game
SGF_NEWGAME_ONLY  this setting cannot be changed in inside a game

Definition at line 32 of file settings_internal.h.


Function Documentation

const SettingDesc* GetSettingFromName ( const char *  name,
uint *  i 
)

Given a name of setting, return a setting description of it.

Parameters:
name Name of the setting to return a setting description of
i Pointer to an integer that will contain the index of the setting after the call, if it is successful.
Returns:
Pointer to the setting description of setting name if it can be found, NULL indicates failure to obtain the description

Definition at line 2105 of file settings.cpp.

References SlIsObjectCurrentlyValid().

Referenced by AIGameSettings::GetValue(), IConsoleGetSetting(), SettingEntry::Init(), and AIGameSettings::IsValid().

bool SetSettingValue ( uint  index,
const char *  value 
)

Set a setting value with a string.

Parameters:
index the settings index.
value the value to write
Note:
CANNOT BE SAVED IN THE SAVEGAME.

Definition at line 2086 of file settings.cpp.

References GetVariableAddress(), SLF_NETWORK_NO, and ttd_strlcpy().

bool SetSettingValue ( uint  index,
int32  value 
)

Top function to save the new value of an element of the Settings struct.

Parameters:
index offset in the SettingDesc array of the Settings struct which identifies the setting member we want to change
object pointer to a valid settings struct that has its settings change. This only affects setting-members that are not needed to be the same on all clients in a network game.
value new value of the setting

Definition at line 2053 of file settings.cpp.

References CMD_CHANGE_SETTING, DoCommandP(), GetVariableAddress(), InvalidateWindow(), ReadValue(), SLF_NETWORK_NO, and Write_ValidateSetting().


Generated on Sun Mar 15 22:49:59 2009 for openttd by  doxygen 1.5.6