mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 04:25:42 +08:00
Fix and improve xswiftbus version mismatch warning
This commit is contained in:
committed by
Mat Sutcliffe
parent
8223ddb710
commit
6b17f847e9
@@ -1216,9 +1216,9 @@ namespace BlackSimPlugin
|
|||||||
|
|
||||||
QString swiftVersion = BlackConfig::CBuildConfig::getVersionString();
|
QString swiftVersion = BlackConfig::CBuildConfig::getVersionString();
|
||||||
QString xswiftbusVersion = service.getVersionNumber();
|
QString xswiftbusVersion = service.getVersionNumber();
|
||||||
if (! swiftVersion.contains(xswiftbusVersion))
|
if (swiftVersion != xswiftbusVersion)
|
||||||
{
|
{
|
||||||
CLogMessage(this).error(u"You are using an incorrect version of XSwiftBus. Make sure to install %1 into X-Plane plugins!") << xswiftbusVersion;
|
CLogMessage(this).error(u"You are using an incorrect version of XSwiftBus. The version of XSwiftBus must match the version of swift being %1.") << swiftVersion;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,21 @@ namespace XSwiftBus
|
|||||||
emitAircraftModelChanged(path, filename, getAircraftLivery(), getAircraftIcaoCode(), acfProperties.modelString, acfProperties.modelName, getAircraftDescription());
|
emitAircraftModelChanged(path, filename, getAircraftLivery(), getAircraftIcaoCode(), acfProperties.modelString, acfProperties.modelName, getAircraftDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string CService::getVersionNumber() const
|
||||||
|
{
|
||||||
|
std::string version(XSWIFTBUS_VERSION);
|
||||||
|
const std::string lastCommitTs(GIT_COMMIT_TS);
|
||||||
|
|
||||||
|
const long long lctsll = std::stoll(lastCommitTs); // at least 64bit
|
||||||
|
// now we have to converto int
|
||||||
|
// max 2147483647 (2^31 - 1)
|
||||||
|
// 1MMddHHmm (years since 2010)
|
||||||
|
const long long yearOffset = 201000000000;
|
||||||
|
const int lctsInt = static_cast<int>(lctsll - yearOffset);
|
||||||
|
version = version + "." + std::to_string(lctsInt);
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
void CService::addTextMessage(const std::string &text, double red, double green, double blue)
|
void CService::addTextMessage(const std::string &text, double red, double green, double blue)
|
||||||
{
|
{
|
||||||
if (text.empty()) { return; }
|
if (text.empty()) { return; }
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace XSwiftBus
|
|||||||
void onAircraftModelChanged();
|
void onAircraftModelChanged();
|
||||||
|
|
||||||
//! Returns the XSwiftBus version number
|
//! Returns the XSwiftBus version number
|
||||||
std::string getVersionNumber() const { return XSWIFTBUS_VERSION; }
|
std::string getVersionNumber() const;
|
||||||
|
|
||||||
//! Add a text message to the on-screen display, with RGB components in the range [0,1]
|
//! Add a text message to the on-screen display, with RGB components in the range [0,1]
|
||||||
void addTextMessage(const std::string &text, double red, double green, double blue);
|
void addTextMessage(const std::string &text, double red, double green, double blue);
|
||||||
|
|||||||
@@ -72,7 +72,19 @@ DEFINES += XPLM210=1
|
|||||||
DEFINES += XPMP_CLIENT_NAME=\\\"xswiftbus\\\"
|
DEFINES += XPMP_CLIENT_NAME=\\\"xswiftbus\\\"
|
||||||
DEFINES += XPMP_CLIENT_LONGNAME=\\\"xswiftbus\\\"
|
DEFINES += XPMP_CLIENT_LONGNAME=\\\"xswiftbus\\\"
|
||||||
|
|
||||||
|
win32: GIT_BIN = $$system($$(SYSTEMROOT)\system32\where git 2> nul)
|
||||||
|
else: GIT_BIN = $$system(which git 2> /dev/null)
|
||||||
|
|
||||||
|
isEmpty(GIT_BIN) {
|
||||||
|
GIT_HEAD_SHA1="<unknown>"
|
||||||
|
GIT_COMMIT_TS="0"
|
||||||
|
} else {
|
||||||
|
GIT_HEAD_SHA1=$$system(git rev-parse --short HEAD)
|
||||||
|
GIT_COMMIT_TS=$$system(git log -1 --date=format:'%Y%m%d%H%M' --pretty=format:%cd)
|
||||||
|
}
|
||||||
|
|
||||||
DEFINES += XSWIFTBUS_VERSION=\\\"$$swiftConfig(version.full)\\\"
|
DEFINES += XSWIFTBUS_VERSION=\\\"$$swiftConfig(version.full)\\\"
|
||||||
|
DEFINES += GIT_COMMIT_TS=\\\"$$GIT_COMMIT_TS\\\"
|
||||||
|
|
||||||
# X-Plane plugins must follow a prescribed filename and directory structure.
|
# X-Plane plugins must follow a prescribed filename and directory structure.
|
||||||
TARGET_EXT = .xpl
|
TARGET_EXT = .xpl
|
||||||
|
|||||||
Reference in New Issue
Block a user