mirror of https://github.com/OpenTTD/OpenTTD
Codechange: Move VarType helpers to allow earlier use.
parent
a05d6ee404
commit
cb53fed229
|
@ -709,6 +709,38 @@ struct SaveLoadCompat {
|
||||||
SaveLoadVersion version_to; ///< Save/load the variable before this savegame version.
|
SaveLoadVersion version_to; ///< Save/load the variable before this savegame version.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the NumberType of a setting. This describes the integer type
|
||||||
|
* as it is represented in memory
|
||||||
|
* @param type VarType holding information about the variable-type
|
||||||
|
* @return the SLE_VAR_* part of a variable-type description
|
||||||
|
*/
|
||||||
|
static inline constexpr VarType GetVarMemType(VarType type)
|
||||||
|
{
|
||||||
|
return GB(type, 4, 4) << 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the FileType of a setting. This describes the integer type
|
||||||
|
* as it is represented in a savegame/file
|
||||||
|
* @param type VarType holding information about the file-type
|
||||||
|
* @return the SLE_FILE_* part of a variable-type description
|
||||||
|
*/
|
||||||
|
static inline constexpr VarType GetVarFileType(VarType type)
|
||||||
|
{
|
||||||
|
return GB(type, 0, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the given saveload type is a numeric type.
|
||||||
|
* @param conv the type to check
|
||||||
|
* @return True if it's a numeric type.
|
||||||
|
*/
|
||||||
|
static inline constexpr bool IsNumericType(VarType conv)
|
||||||
|
{
|
||||||
|
return GetVarMemType(conv) <= SLE_VAR_U64;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of simple variables, references (pointers), and arrays.
|
* Storage of simple variables, references (pointers), and arrays.
|
||||||
* @param cmd Load/save type. @see SaveLoadType
|
* @param cmd Load/save type. @see SaveLoadType
|
||||||
|
@ -1133,38 +1165,6 @@ static inline bool SlIsObjectCurrentlyValid(SaveLoadVersion version_from, SaveLo
|
||||||
return version_from <= SAVEGAME_VERSION && SAVEGAME_VERSION < version_to;
|
return version_from <= SAVEGAME_VERSION && SAVEGAME_VERSION < version_to;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the NumberType of a setting. This describes the integer type
|
|
||||||
* as it is represented in memory
|
|
||||||
* @param type VarType holding information about the variable-type
|
|
||||||
* @return the SLE_VAR_* part of a variable-type description
|
|
||||||
*/
|
|
||||||
static inline VarType GetVarMemType(VarType type)
|
|
||||||
{
|
|
||||||
return GB(type, 4, 4) << 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the FileType of a setting. This describes the integer type
|
|
||||||
* as it is represented in a savegame/file
|
|
||||||
* @param type VarType holding information about the file-type
|
|
||||||
* @return the SLE_FILE_* part of a variable-type description
|
|
||||||
*/
|
|
||||||
static inline VarType GetVarFileType(VarType type)
|
|
||||||
{
|
|
||||||
return GB(type, 0, 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if the given saveload type is a numeric type.
|
|
||||||
* @param conv the type to check
|
|
||||||
* @return True if it's a numeric type.
|
|
||||||
*/
|
|
||||||
static inline bool IsNumericType(VarType conv)
|
|
||||||
{
|
|
||||||
return GetVarMemType(conv) <= SLE_VAR_U64;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the address of the variable. Null-variables don't have an address,
|
* Get the address of the variable. Null-variables don't have an address,
|
||||||
* everything else has a callback function that returns the address based
|
* everything else has a callback function that returns the address based
|
||||||
|
|
Loading…
Reference in New Issue