Merge branch 'master' into jgrpp-beta
# Conflicts: # .github/workflows/commit-checker.yml # src/company_cmd.cpp # src/console_cmds.cpp # src/crashlog.cpp # src/lang/english.txt # src/lang/german.txt # src/lang/indonesian.txt # src/lang/japanese.txt # src/lang/korean.txt # src/lang/swedish.txt # src/linkgraph/linkgraphjob.cpp # src/linkgraph/mcf.cpp # src/network/core/tcp.cpp # src/network/core/tcp.h # src/network/core/tcp_game.h # src/network/core/udp.h # src/network/network.cpp # src/network/network_admin.cpp # src/network/network_admin.h # src/network/network_chat_gui.cpp # src/network/network_client.cpp # src/network/network_client.h # src/network/network_func.h # src/network/network_internal.h # src/network/network_server.cpp # src/network/network_server.h # src/newgrf.cpp # src/newgrf_station.cpp # src/order_gui.cpp # src/rail_cmd.cpp # src/saveload/saveload.cpp # src/settings.cpp # src/settings_gui.cpp # src/settings_internal.h # src/settings_type.h # src/station_cmd.cpp # src/stdafx.h # src/table/currency_settings.ini # src/table/misc_settings.ini # src/table/settings.h.preamble # src/table/settings.ini # src/terraform_cmd.cpp # src/timetable_gui.cpp # src/train_cmd.cpp # src/tree_cmd.cpp # src/water_cmd.cpp
This commit is contained in:
@@ -19,23 +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_STRING = 5, ///< string with a pre-allocated buffer
|
||||
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
|
||||
@@ -139,18 +132,9 @@ 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, uint *i, bool ignore_version = false);
|
||||
bool SetSettingValue(uint index, int32 value, bool force_newgame = false);
|
||||
bool SetSettingValue(uint index, const char *value, bool force_newgame = false);
|
||||
void SetCompanySetting(uint index, int32 value);
|
||||
const SettingDesc *GetSettingFromName(const char *name, bool ignore_version = false);
|
||||
bool SetSettingValue(const SettingDesc *sd, int32 value, bool force_newgame = false);
|
||||
bool SetSettingValue(const SettingDesc *sd, const char *value, bool force_newgame = false);
|
||||
uint GetSettingIndex(const SettingDesc *sd);
|
||||
|
||||
#endif /* SETTINGS_INTERNAL_H */
|
||||
|
Reference in New Issue
Block a user