File diff r25525:663d9d693469 → r25526:33520e7899c5
src/settings_internal.h
Show inline comments
 
@@ -19,22 +19,16 @@
 
 * @see SettingDescBase
 
 */
 
enum SettingDescType : byte {
 
	/* 4 bytes allocated a maximum of 16 types for GenericType */
 
	SDT_BEGIN       = 0,
 
	SDT_NUMX        = 0, ///< any number-type
 
	SDT_BOOLX       = 1, ///< a boolean number
 
	SDT_ONEOFMANY   = 2, ///< bitmasked number where only ONE bit may be set
 
	SDT_MANYOFMANY  = 3, ///< bitmasked number where MULTIPLE bits may be set
 
	SDT_INTLIST     = 4, ///< list of integers separated by a comma ','
 
	SDT_STDSTRING   = 6, ///< \c std::string
 
	SDT_END,
 
	/* 9 more possible primitives */
 
};
 

	
 

	
 
enum SettingGuiFlag : uint16 {
 
	/* 1 byte allocated for a maximum of 8 flags
 
	 * Flags directing saving/loading of a variable */
 
	/* 2 bytes allocated for a maximum of 16 flags. */
 
	SGF_NONE = 0,
 
	SGF_0ISDISABLED   = 1 << 0, ///< a value of zero means the feature is disabled
 
	SGF_DISPLAY_ABS   = 1 << 1, ///< display absolute value of the setting
 
@@ -114,15 +108,6 @@ struct SettingDesc {
 
	SettingType GetType() const;
 
};
 

	
 
/* NOTE: The only difference between SettingDesc and SettingDescGlob is
 
 * that one uses global variables as a source and the other offsets
 
 * in a struct which are bound to a certain variable during runtime.
 
 * The only way to differentiate between these two is to check if an object
 
 * has been passed to the function or not. If not, then it is a global variable
 
 * and save->variable has its address, otherwise save->variable only holds the
 
 * offset in a certain struct */
 
typedef SettingDesc SettingDescGlobVarList;
 

	
 
const SettingDesc *GetSettingFromName(const char *name);
 
bool SetSettingValue(const SettingDesc *sd, int32 value, bool force_newgame = false);
 
bool SetSettingValue(const SettingDesc *sd, const char *value, bool force_newgame = false);