project_files/frontlib/hwconsts.h
changeset 10017 de822cd3df3a
parent 10015 4feced261c68
child 10108 c68cf030eded
equal deleted inserted replaced
10015:4feced261c68 10017:de822cd3df3a
    87  * These structs define the meaning of values in the flib_scheme struct, i.e. their correspondence to
    87  * These structs define the meaning of values in the flib_scheme struct, i.e. their correspondence to
    88  * ini settings, engine commands and positions in the network protocol (the last is encoded in the
    88  * ini settings, engine commands and positions in the network protocol (the last is encoded in the
    89  * order of settings/mods).
    89  * order of settings/mods).
    90  */
    90  */
    91 typedef struct {
    91 typedef struct {
    92     const char *name;				//!< A name identifying this setting (used as key in the schemes file)
    92     const char *name;               //!< A name identifying this setting (used as key in the schemes file)
    93     const char *engineCommand;		//!< The command needed to send the setting to the engine. May be null if the setting is not sent to the engine (for the "health" setting)
    93     const char *engineCommand;      //!< The command needed to send the setting to the engine. May be null if the setting is not sent to the engine (for the "health" setting)
    94     const bool maxMeansInfinity;	//!< If true, send a very high number to the engine if the setting is equal to its maximum
    94     const bool maxMeansInfinity;    //!< If true, send a very high number to the engine if the setting is equal to its maximum
    95     const bool times1000;			//!< If true (for time-based settings), multiply the setting by 1000 before sending it to the engine.
    95     const bool times1000;           //!< If true (for time-based settings), multiply the setting by 1000 before sending it to the engine.
    96     const int min;					//!< The smallest allowed value
    96     const int min;                  //!< The smallest allowed value
    97     const int max;					//!< The highest allowed value
    97     const int max;                  //!< The highest allowed value
    98     const int def;					//!< The default value
    98     const int def;                  //!< The default value
    99 } flib_metascheme_setting;
    99 } flib_metascheme_setting;
   100 
   100 
   101 typedef struct {
   101 typedef struct {
   102     const char *name;				//!< A name identifying this mod (used as key in the schemes file)
   102     const char *name;               //!< A name identifying this mod (used as key in the schemes file)
   103     const int bitmaskIndex;			//!< Mods are sent to the engine in a single integer, this field describes which bit of that integer is used
   103     const int bitmaskIndex;         //!< Mods are sent to the engine in a single integer, this field describes which bit of that integer is used
   104     								//! for this particular mod.
   104                                     //! for this particular mod.
   105 } flib_metascheme_mod;
   105 } flib_metascheme_mod;
   106 
   106 
   107 typedef struct {
   107 typedef struct {
   108 	const int settingCount;
   108     const int settingCount;
   109 	const int modCount;
   109     const int modCount;
   110 	const flib_metascheme_setting *settings;
   110     const flib_metascheme_setting *settings;
   111 	const flib_metascheme_mod *mods;
   111     const flib_metascheme_mod *mods;
   112 } flib_metascheme;
   112 } flib_metascheme;
   113 
   113 
   114 extern const flib_metascheme flib_meta;
   114 extern const flib_metascheme flib_meta;
   115 
   115 
   116 const flib_metascheme *flib_get_metascheme();
   116 const flib_metascheme *flib_get_metascheme();