Version
查看 Markdown游戏版本检测与版本名称。
include/XBase/Version.h · XBase
enum class GameVersion {
SA, // Grand Theft Auto: San Andreas
VC, // Grand Theft Auto: Vice City
III // Grand Theft Auto III
};定义支持的 GTA 游戏版本枚举值;所有函数为编译期 inline,按当前静态库的编译宏返回固定结果。
GameVersion GetGameVersion();返回当前游戏对应的 GameVersion 枚举值。
bool IsSA();检测当前游戏是否为 Grand Theft Auto: San Andreas。
bool IsVC();检测当前游戏是否为 Grand Theft Auto: Vice City。
bool IsIII();检测当前游戏是否为 Grand Theft Auto III。
std::string GetVersionName();返回当前游戏版本的名称字符串(例如 "SA"、"VC"、"III")。
inline constexpr const char* kVersionString = "v0.1.0-alpha1";
inline constexpr VersionTriple kVersion{0, 1, 0}; // major / minor / patch
inline constexpr std::uint32_t kVersionNumber; // major<<16 | minor<<8 | patch
inline bool AtLeast(int major, int minor, int patch);XBase 运行库自己的版本号,发布安装包与线上文档以 kVersionString 为准。mod 用 AtLeast() 判断最低运行环境:
if (!XBase::AtLeast(0, 1, 0)) {
// 提示用户更新 XBase 后再启用本 mod
}预发布后缀(如 alpha1)不参与数字比较。共享运行时接入的 mod 走 ABI 的 versionString / versionNumber(v2 追加;当前 ABI 版本为 v3,panel 段在 v3 追加),语义与这里一致。
评论