Ref T379, use own "toFsxChar" conversion so we can adjust it

This commit is contained in:
Klaus Basan
2018-09-30 23:28:35 +02:00
parent 756ee18410
commit e0594271f1
2 changed files with 14 additions and 4 deletions

View File

@@ -1409,10 +1409,11 @@ namespace BlackSimPlugin
const QString modelString(newRemoteAircraft.getModelString());
if (this->showDebugLogMessage()) { this->debugLogMessage(Q_FUNC_INFO, QString("CS: '%1' model: '%2' request: %3, init pos: %4").arg(callsign.toQString(), modelString).arg(requestId).arg(fsxPositionToString(initialPosition))); }
const QByteArray modelStringBa = toFsxChar(modelString);
const QByteArray csBa = toFsxChar(callsign.toQString().left(12));
const HRESULT hr = probe ?
SimConnect_AICreateSimulatedObject(m_hSimConnect, qPrintable(modelString), initialPosition, requestId) :
SimConnect_AICreateNonATCAircraft(m_hSimConnect, qPrintable(modelString), qPrintable(callsign.toQString().left(12)), initialPosition, requestId);
// const HRESULT hr = SimConnect_AICreateNonATCAircraft(m_hSimConnect, qPrintable(modelString), qPrintable(callsign.toQString().left(12)), initialPosition, requestId);
SimConnect_AICreateSimulatedObject(m_hSimConnect, modelStringBa.constData(), initialPosition, requestId) :
SimConnect_AICreateNonATCAircraft(m_hSimConnect, modelStringBa.constData(), csBa.constData(), initialPosition, requestId);
if (isFailure(hr))
{
@@ -1987,9 +1988,10 @@ namespace BlackSimPlugin
auto glob = weatherGrid.frontOrDefault();
glob.setIdentifier("GLOB");
const QString metar = CSimConnectUtilities::convertToSimConnectMetar(glob);
const QByteArray metarBa = toFsxChar(metar);
SimConnect_WeatherSetModeCustom(m_hSimConnect);
SimConnect_WeatherSetModeGlobal(m_hSimConnect);
SimConnect_WeatherSetObservation(m_hSimConnect, 0, qPrintable(metar));
SimConnect_WeatherSetObservation(m_hSimConnect, 0, metarBa.constData());
}
bool CSimulatorFsxCommon::requestPositionDataForSimObject(const CSimConnectObject &simObject, SIMCONNECT_PERIOD period)
@@ -2194,6 +2196,11 @@ namespace BlackSimPlugin
return hr;
}
QByteArray CSimulatorFsxCommon::toFsxChar(const QString &string)
{
return string.toLatin1();
}
TraceFsxSendId CSimulatorFsxCommon::getSendIdTrace(DWORD sendId) const
{
for (const TraceFsxSendId &trace : m_sendIdTraces)

View File

@@ -260,6 +260,9 @@ namespace BlackSimPlugin
//! Trace if required, log errors
HRESULT logAndTraceSendId(HRESULT hr, bool traceSendId, const CSimConnectObject &simObject, const QString &warningMsg, const QString &functionName, const QString &functionDetails = {});
//! Convert to FSX char array
static QByteArray toFsxChar(const QString &string);
//! Register help
static void registerHelp();