From 317ea93701b4024b705607a7310316f6e2672dd1 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 23 Jun 2014 00:22:58 +0200 Subject: [PATCH] refs #279, added version info to FSUIPC class --- src/plugins/simulator/fsx/fsuipc.cpp | 17 ++++++++++++++++- src/plugins/simulator/fsx/fsuipc.h | 4 ++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/plugins/simulator/fsx/fsuipc.cpp b/src/plugins/simulator/fsx/fsuipc.cpp index cac6aceb0..e835220b0 100644 --- a/src/plugins/simulator/fsx/fsuipc.cpp +++ b/src/plugins/simulator/fsx/fsuipc.cpp @@ -8,6 +8,7 @@ // bug in FSUIPC_User.h, windows.h not included, so we have to import it first #include "FSUIPC/FSUIPC_User.h" #include +#include namespace BlackSimPlugin { @@ -30,13 +31,27 @@ namespace BlackSimPlugin if (FSUIPC_Open(SIM_ANY, &result)) { this->m_connected = true; - qDebug() << "FSUIPC connected"; + // KB_REMOVE: Remove this later + int simIndex = static_cast(FSUIPC_FS_Version); + QString sim( + (simIndex >= 0 && simIndex < CFsuipc::simulators().size()) ? + CFsuipc::simulators().at(simIndex) : + "Unknown FS"); + QString ver("%1.%2.%3.%4%5"); + ver = ver.arg(QLatin1Char(48 + (0x0f & (FSUIPC_Version >> 28)))) + .arg(QLatin1Char(48 + (0x0f & (FSUIPC_Version >> 24)))) + .arg(QLatin1Char(48 + (0x0f & (FSUIPC_Version >> 20)))) + .arg(QLatin1Char(48 + (0x0f & (FSUIPC_Version >> 16)))) + .arg((FSUIPC_Version & 0xffff) ? "a" + (FSUIPC_Version & 0xff) - 1 : ""); + this->m_fsuipcVersion = QString("FSUIPC %1 (%2)").arg(ver).arg(sim); + qDebug() << "FSUIPC connected" << this->m_fsuipcVersion; } else { this->m_connected = false; int index = static_cast(result); this->m_lastErrorMessage = CFsuipc::errorMessages().at(index); + // KB_REMOVE: Remove this later qDebug() << "FSUIPC" << this->m_lastErrorMessage; } return this->m_connected; diff --git a/src/plugins/simulator/fsx/fsuipc.h b/src/plugins/simulator/fsx/fsuipc.h index 8da6382dc..3f934951a 100644 --- a/src/plugins/simulator/fsx/fsuipc.h +++ b/src/plugins/simulator/fsx/fsuipc.h @@ -67,7 +67,7 @@ namespace BlackSimPlugin { static const QStringList sims( { - "FS98", "FS2000", "CFS2", "CFS1", "Fly!", "FS2002", "FS2004" + "any", "FS98", "FS2000", "CFS2", "CFS1", "Fly!", "FS2002", "FS2004", "FSX", "ESP", "P3D" } ); return sims; @@ -76,7 +76,7 @@ namespace BlackSimPlugin private: bool m_connected; QString m_lastErrorMessage; - + QString m_fsuipcVersion; }; } }