From 6f5193a74f4038b07317b0448d8d3757aa3e5bdb Mon Sep 17 00:00:00 2001 From: Roland Winklmeier Date: Sun, 6 Nov 2016 01:12:22 +0100 Subject: [PATCH] [FS9] Read and update own aircraft model via FSUIPC FS9 plugin did not detect own aircraft model under all circumstances. FS9 does not initially send it when connecting - only during initial selection and if it is changed later. In order to get the initial model if swift is started while FS9 was already running, read it regularly from FSUIPC. --- src/plugins/simulator/fs9/simulatorfs9.cpp | 1 + src/plugins/simulator/fscommon/fsuipc.cpp | 11 +++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/simulator/fs9/simulatorfs9.cpp b/src/plugins/simulator/fs9/simulatorfs9.cpp index 7e6e0f76f..435f2c4c3 100644 --- a/src/plugins/simulator/fs9/simulatorfs9.cpp +++ b/src/plugins/simulator/fs9/simulatorfs9.cpp @@ -356,6 +356,7 @@ namespace BlackSimPlugin simDataOwnAircraft.getCom2System(), simDataOwnAircraft.getTransponder(), this->identifier()); + reverseLookupAndUpdateOwnAircraftModel(simDataOwnAircraft.getModelString()); } void CSimulatorFs9::disconnectAllClients() diff --git a/src/plugins/simulator/fscommon/fsuipc.cpp b/src/plugins/simulator/fscommon/fsuipc.cpp index 48e9c7da1..487ee97c2 100644 --- a/src/plugins/simulator/fscommon/fsuipc.cpp +++ b/src/plugins/simulator/fscommon/fsuipc.cpp @@ -283,7 +283,7 @@ namespace BlackSimPlugin (situationN || FSUIPC_Read(0x0020, 4, &groundAltitudeRaw, &dwResult)) && // model name - (aircraftPartsN || FSUIPC_Read(0x3d00, 256, &modelNameRaw, &dwResult)) && + FSUIPC_Read(0x3d00, 256, &modelNameRaw, &dwResult) && // aircraft parts (aircraftPartsN || FSUIPC_Read(0x0D0C, 2, &lightsRaw, &dwResult)) && @@ -381,13 +381,12 @@ namespace BlackSimPlugin } // situation + // model + const QString modelName = QString(modelNameRaw); // to be used to distinguish offsets for different models + aircraft.setModelString(modelName); + if (aircraftParts) { - - // model - const QString modelName = QString(modelNameRaw); // to be used to distinguish offsets for different models - aircraft.setModelString(modelName); - CAircraftLights lights(lightsRaw & (1 << 4), lightsRaw & (1 << 2), lightsRaw & (1 << 3), lightsRaw & (1 << 1), lightsRaw & (1 << 0), lightsRaw & (1 << 8));