summaryrefslogtreecommitdiffhomepage
path: root/proto-flightgear/ftnoir_protocol_fg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'proto-flightgear/ftnoir_protocol_fg.cpp')
-rw-r--r--proto-flightgear/ftnoir_protocol_fg.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/proto-flightgear/ftnoir_protocol_fg.cpp b/proto-flightgear/ftnoir_protocol_fg.cpp
index 3e0f955c..d777d801 100644
--- a/proto-flightgear/ftnoir_protocol_fg.cpp
+++ b/proto-flightgear/ftnoir_protocol_fg.cpp
@@ -13,7 +13,7 @@
// For Todd and Arda Kutlu
-void flightgear::pose(const double* headpose) {
+void flightgear::pose(const double* headpose, const double*) {
FlightData.x = -headpose[TX] * 1e-2;
FlightData.y = headpose[TY] * 1e-2;
FlightData.z = headpose[TZ] * 1e-2;
@@ -22,12 +22,17 @@ void flightgear::pose(const double* headpose) {
FlightData.r = -headpose[Roll];
FlightData.status = 1;
QHostAddress destIP(quint32(s.ip1 << 24 | s.ip2 << 16 | s.ip3 << 8 | s.ip4));
- (void) outSocket.writeDatagram(reinterpret_cast<const char*>(&FlightData), sizeof(FlightData), destIP, static_cast<quint16>(s.port));
+ (void) outSocket.writeDatagram(reinterpret_cast<const char*>(&FlightData), sizeof(FlightData), destIP, quint16(s.port));
}
-bool flightgear::correct()
+module_status flightgear::initialize()
{
- return outSocket.bind(QHostAddress::Any, 0, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);
+ if (outSocket.bind(QHostAddress::Any, 0, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint))
+ return status_ok();
+ else
+ return error(tr("Can't bind to [%1.%2.%3.%4]:%5")
+ .arg(s.ip1).arg(s.ip2).arg(s.ip3).arg(s.ip4)
+ .arg(s.port));
}
OPENTRACK_DECLARE_PROTOCOL(flightgear, FGControls, flightgearDll)