From 63c58dae4073e4c1e2f2866aa54ade953aae24ed Mon Sep 17 00:00:00 2001 From: Wim Vriend Date: Tue, 4 Jan 2011 19:55:18 +0000 Subject: Reviewed SVN-files: some were non-versioned, but should be... git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@35 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb --- FaceTrackNoIR.suo | Bin 306688 -> 307200 bytes FaceTrackNoIR/ClientFiles/CFS3/Readme.txt | 27 + FaceTrackNoIR/ClientFiles/CFS3/TIRViews.dll | Bin 0 -> 109568 bytes .../ClientFiles/FS2002 and FS2004/FSUIPC.dll | Bin 0 -> 210880 bytes FaceTrackNoIR/Debug/BuildLog.htm | Bin 30344 -> 32430 bytes FaceTrackNoIR/Debug/FTTypes.obj | Bin 20834 -> 0 bytes FaceTrackNoIR/Debug/listener.obj | Bin 51848 -> 0 bytes FaceTrackNoIR/Debug/main.obj | Bin 167871 -> 167871 bytes FaceTrackNoIR/Debug/moc_sound.obj | Bin 68925 -> 0 bytes FaceTrackNoIR/Debug/moc_widget.obj | Bin 155166 -> 0 bytes FaceTrackNoIR/Debug/mt.dep | 2 +- FaceTrackNoIR/Debug/sound.obj | Bin 121219 -> 0 bytes FaceTrackNoIR/Debug/tracker.obj | Bin 410641 -> 410641 bytes FaceTrackNoIR/Debug/widget.obj | Bin 220578 -> 0 bytes FaceTrackNoIR/FGServer.cpp | 2 +- FaceTrackNoIR/FSUIPCServer.cpp | 308 +++++++++++ FaceTrackNoIR/FSUIPCServer.h | 121 +++++ FaceTrackNoIR/FTNoIR_FGcontrols.ui | 269 ++++++++++ FaceTrackNoIR/FTNoIR_cxx_protocolserver.h | 98 ++++ FaceTrackNoIR/FaceTrackNoIR.ui | 581 +++++++++++---------- FaceTrackNoIR/UIElements/Curves.png | Bin 0 -> 2850 bytes FaceTrackNoIR/UIElements/Donate.png | Bin 0 -> 778 bytes FaceTrackNoIR/images/330px-6DOF_en.png | Bin 0 -> 34182 bytes FaceTrackNoIR/images/rotation_DOFs.png | Bin 0 -> 21601 bytes FaceTrackNoIR/images/translation_DOFs.png | Bin 0 -> 23237 bytes bin/FaceTrackNoIR.exe | Bin 720896 -> 720896 bytes bin/ImageFormats/qico4.dll | Bin 0 -> 25600 bytes bin/QBezierConfigurator.lib | Bin 0 -> 22348 bytes bin/Settings/Wings of Prey.ini | 77 +++ bin/TrackIR.exe | Bin 0 -> 386048 bytes bin/UIElements/Donate.png | Bin 0 -> 778 bytes bin/UIElements/FaceTrackNoIR.ico | Bin 0 -> 23558 bytes bin/UIElements/Logo_NoIR.png | Bin 0 -> 26173 bytes bin/UIElements/Logo_NoIR_small.png | Bin 0 -> 6384 bytes bin/UIElements/Logo_NoIR_small_target.png | Bin 0 -> 5971 bytes bin/UIElements/Logo_NoIR_small_target90px.png | Bin 0 -> 5582 bytes bin/UIElements/SetupFaceTrackNoIR.jpg | Bin 0 -> 9780 bytes bin/images/FS9.ico | Bin 0 -> 29926 bytes bin/images/FSX.ico | Bin 0 -> 87910 bytes bin/smft32.dll | Bin 0 -> 10809344 bytes bin_dbg/FaceTrackNoIR.exe | Bin 1048576 -> 1048576 bytes bin_dbg/FaceTrackNoIR.ilk | Bin 4231696 -> 4232332 bytes bin_dbg/FaceTrackNoIR.pdb | Bin 4271104 -> 4287488 bytes bin_dbg/NPClient.dll | Bin 0 -> 90624 bytes bin_dbg/QBezierConfigurator.dll | Bin 0 -> 49152 bytes bin_dbg/TIRViews.dll | Bin 0 -> 109568 bytes bin_dbg/TrackIR.exe | Bin 0 -> 386048 bytes bin_dbg/smft31.def | 136 ----- bin_dbg/smft31.dll | Bin 10821632 -> 0 bytes bin_dbg/smft31.exp | Bin 24712 -> 0 bytes bin_dbg/smft31.lib | Bin 41510 -> 0 bytes bin_dbg/smft32.dll | Bin 0 -> 10809344 bytes 52 files changed, 1200 insertions(+), 421 deletions(-) create mode 100644 FaceTrackNoIR/ClientFiles/CFS3/Readme.txt create mode 100644 FaceTrackNoIR/ClientFiles/CFS3/TIRViews.dll create mode 100644 FaceTrackNoIR/ClientFiles/FS2002 and FS2004/FSUIPC.dll delete mode 100644 FaceTrackNoIR/Debug/FTTypes.obj delete mode 100644 FaceTrackNoIR/Debug/listener.obj delete mode 100644 FaceTrackNoIR/Debug/moc_sound.obj delete mode 100644 FaceTrackNoIR/Debug/moc_widget.obj delete mode 100644 FaceTrackNoIR/Debug/sound.obj delete mode 100644 FaceTrackNoIR/Debug/widget.obj create mode 100644 FaceTrackNoIR/FSUIPCServer.cpp create mode 100644 FaceTrackNoIR/FSUIPCServer.h create mode 100644 FaceTrackNoIR/FTNoIR_FGcontrols.ui create mode 100644 FaceTrackNoIR/FTNoIR_cxx_protocolserver.h create mode 100644 FaceTrackNoIR/UIElements/Curves.png create mode 100644 FaceTrackNoIR/UIElements/Donate.png create mode 100644 FaceTrackNoIR/images/330px-6DOF_en.png create mode 100644 FaceTrackNoIR/images/rotation_DOFs.png create mode 100644 FaceTrackNoIR/images/translation_DOFs.png create mode 100644 bin/ImageFormats/qico4.dll create mode 100644 bin/QBezierConfigurator.lib create mode 100644 bin/Settings/Wings of Prey.ini create mode 100644 bin/TrackIR.exe create mode 100644 bin/UIElements/Donate.png create mode 100644 bin/UIElements/FaceTrackNoIR.ico create mode 100644 bin/UIElements/Logo_NoIR.png create mode 100644 bin/UIElements/Logo_NoIR_small.png create mode 100644 bin/UIElements/Logo_NoIR_small_target.png create mode 100644 bin/UIElements/Logo_NoIR_small_target90px.png create mode 100644 bin/UIElements/SetupFaceTrackNoIR.jpg create mode 100644 bin/images/FS9.ico create mode 100644 bin/images/FSX.ico create mode 100644 bin/smft32.dll create mode 100644 bin_dbg/NPClient.dll create mode 100644 bin_dbg/QBezierConfigurator.dll create mode 100644 bin_dbg/TIRViews.dll create mode 100644 bin_dbg/TrackIR.exe delete mode 100644 bin_dbg/smft31.def delete mode 100644 bin_dbg/smft31.dll delete mode 100644 bin_dbg/smft31.exp delete mode 100644 bin_dbg/smft31.lib create mode 100644 bin_dbg/smft32.dll diff --git a/FaceTrackNoIR.suo b/FaceTrackNoIR.suo index a06a2728..b394dbf3 100644 Binary files a/FaceTrackNoIR.suo and b/FaceTrackNoIR.suo differ diff --git a/FaceTrackNoIR/ClientFiles/CFS3/Readme.txt b/FaceTrackNoIR/ClientFiles/CFS3/Readme.txt new file mode 100644 index 00000000..141daa27 --- /dev/null +++ b/FaceTrackNoIR/ClientFiles/CFS3/Readme.txt @@ -0,0 +1,27 @@ +FaceTrackNoIR for + + * Combat Flight Simulator 3 (also works for Over Flanders Fields) + * Wings of War + * NASCAR Racing Season 2003 + * Colin McRae Rally 4 + * Race Driver 2 + * F1 Challenge + * Richard Burns Rally + +FaceTrackNoIR was made compatible with these programs with the help of the functions TrackIR provides in the dll TIRViews.dll. +This dll can be downloaded from the TrackIR website: http://www.naturalpoint.com/trackir/06-support/support-download-software-and-manuals.html + +To make the functions work, copy the dll in the FaceTrackNoIR installation folder. Then tick the 'use TIRViews.dll' checkbox for the 'fake TrackIR' game protocol. + +Please let us know if you like the program, if you have ideas for improvements or any questions you might have. + + + +The FaceTrackNoIR team: + +Wim Vriend +Ron Hendriks + + + +Disclaimer: For usage of 3rd party software like FlightGear, the FaceTrackNoIR team is not responsible. Use it at your own risk. \ No newline at end of file diff --git a/FaceTrackNoIR/ClientFiles/CFS3/TIRViews.dll b/FaceTrackNoIR/ClientFiles/CFS3/TIRViews.dll new file mode 100644 index 00000000..a1fb306f Binary files /dev/null and b/FaceTrackNoIR/ClientFiles/CFS3/TIRViews.dll differ diff --git a/FaceTrackNoIR/ClientFiles/FS2002 and FS2004/FSUIPC.dll b/FaceTrackNoIR/ClientFiles/FS2002 and FS2004/FSUIPC.dll new file mode 100644 index 00000000..264d14c5 Binary files /dev/null and b/FaceTrackNoIR/ClientFiles/FS2002 and FS2004/FSUIPC.dll differ diff --git a/FaceTrackNoIR/Debug/BuildLog.htm b/FaceTrackNoIR/Debug/BuildLog.htm index 41cc6d85..8e1ff11f 100644 Binary files a/FaceTrackNoIR/Debug/BuildLog.htm and b/FaceTrackNoIR/Debug/BuildLog.htm differ diff --git a/FaceTrackNoIR/Debug/FTTypes.obj b/FaceTrackNoIR/Debug/FTTypes.obj deleted file mode 100644 index 62cf1bef..00000000 Binary files a/FaceTrackNoIR/Debug/FTTypes.obj and /dev/null differ diff --git a/FaceTrackNoIR/Debug/listener.obj b/FaceTrackNoIR/Debug/listener.obj deleted file mode 100644 index 5838ffa6..00000000 Binary files a/FaceTrackNoIR/Debug/listener.obj and /dev/null differ diff --git a/FaceTrackNoIR/Debug/main.obj b/FaceTrackNoIR/Debug/main.obj index 8c10111b..606d4b13 100644 Binary files a/FaceTrackNoIR/Debug/main.obj and b/FaceTrackNoIR/Debug/main.obj differ diff --git a/FaceTrackNoIR/Debug/moc_sound.obj b/FaceTrackNoIR/Debug/moc_sound.obj deleted file mode 100644 index c93b19e7..00000000 Binary files a/FaceTrackNoIR/Debug/moc_sound.obj and /dev/null differ diff --git a/FaceTrackNoIR/Debug/moc_widget.obj b/FaceTrackNoIR/Debug/moc_widget.obj deleted file mode 100644 index aa0040c8..00000000 Binary files a/FaceTrackNoIR/Debug/moc_widget.obj and /dev/null differ diff --git a/FaceTrackNoIR/Debug/mt.dep b/FaceTrackNoIR/Debug/mt.dep index e3b3d65c..406f9682 100644 --- a/FaceTrackNoIR/Debug/mt.dep +++ b/FaceTrackNoIR/Debug/mt.dep @@ -1 +1 @@ -Manifest resource last updated at 19:09:04.43 on do 30-12-2010 +Manifest resource last updated at 21:57:49.28 on ma 03-01-2011 diff --git a/FaceTrackNoIR/Debug/sound.obj b/FaceTrackNoIR/Debug/sound.obj deleted file mode 100644 index fa304681..00000000 Binary files a/FaceTrackNoIR/Debug/sound.obj and /dev/null differ diff --git a/FaceTrackNoIR/Debug/tracker.obj b/FaceTrackNoIR/Debug/tracker.obj index 2c70374a..f6e3d396 100644 Binary files a/FaceTrackNoIR/Debug/tracker.obj and b/FaceTrackNoIR/Debug/tracker.obj differ diff --git a/FaceTrackNoIR/Debug/widget.obj b/FaceTrackNoIR/Debug/widget.obj deleted file mode 100644 index fd60acb1..00000000 Binary files a/FaceTrackNoIR/Debug/widget.obj and /dev/null differ diff --git a/FaceTrackNoIR/FGServer.cpp b/FaceTrackNoIR/FGServer.cpp index dfcb3d21..a149a776 100644 --- a/FaceTrackNoIR/FGServer.cpp +++ b/FaceTrackNoIR/FGServer.cpp @@ -101,7 +101,7 @@ quint16 senderPort; // qDebug() << "FGServer::writePendingDatagrams says: bytes send =" << no_bytes << sizeof( double ); } else { - qDebug() << "FGServer::writePendingDatagrams says: nothing send!"; + qDebug() << "FGServer::writePendingDatagrams says: nothing sent!"; } // diff --git a/FaceTrackNoIR/FSUIPCServer.cpp b/FaceTrackNoIR/FSUIPCServer.cpp new file mode 100644 index 00000000..3006b430 --- /dev/null +++ b/FaceTrackNoIR/FSUIPCServer.cpp @@ -0,0 +1,308 @@ +/******************************************************************************** +* FSUIPCServer FSUIPCServer is the Class, that communicates headpose-data * +* to games, using the FSUIPC.dll. * +* * +* Copyright (C) 2010 Wim Vriend (Developing) * +* Ron Hendriks (Testing and Research) * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 3 of the License, or (at your * +* option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but * +* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * +* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * +* more details. * +* * +* You should have received a copy of the GNU General Public License along * +* with this program; if not, see . * +* * +********************************************************************************/ +/* + Modifications (last one on top): + 20101224 - WVR: Base class is no longer inheriting QThread. sendHeadposeToGame + is called from run() of Tracker.cpp +*/ +#include "FSUIPCServer.h" +#include + +/** constructor **/ +FSUIPCServer::FSUIPCServer() { + + loadSettings(); + ProgramName = "Microsoft FS2004"; + + prevPosX = 0.0f; + prevPosY = 0.0f; + prevPosZ = 0.0f; + prevRotX = 0.0f; + prevRotY = 0.0f; + prevRotZ = 0.0f; + +} + +/** destructor **/ +FSUIPCServer::~FSUIPCServer() { + + // + // Free the DLL + // + FSUIPCLib.unload(); +} + +// +// Update Headpose in Game. +// +void FSUIPCServer::sendHeadposeToGame() { +DWORD result; +TFSState pitch; +TFSState yaw; +TFSState roll; +WORD FSZoom; + + qDebug() << "FSUIPCServer::run() says: started!"; + + // + // Init. the FSUIPC offsets (derived from Free-track...) + // + pitch.Control = 66503; + yaw.Control = 66504; + roll.Control = 66505; + + // + // Only do this when the data has changed. This way, the HAT-switch can be used when tracking is OFF. + // + if ((prevPosX != virtPosX) || (prevPosY != virtPosY) || (prevPosZ != virtPosZ) || + (prevRotX != virtRotX) || (prevRotY != virtRotY) || (prevRotZ != virtRotZ)) { + // + // Open the connection + // + FSUIPC_Open(SIM_ANY, &result); + + // + // Check the FS-version + // + if (((result == FSUIPC_ERR_OK) || (result == FSUIPC_ERR_OPEN)) && + ((FSUIPC_FS_Version == SIM_FS2K2) || (FSUIPC_FS_Version == SIM_FS2K4))) { +// qDebug() << "FSUIPCServer::run() says: FSUIPC opened succesfully"; + // + // Write the 4! DOF-data to FS. Only rotations and zoom are possible. + // + pitch.Value = scale2AnalogLimits(virtRotX, -180, 180); + FSUIPC_Write(0x3110, 8, &pitch, &result); + + yaw.Value = scale2AnalogLimits(virtRotY, -180, 180); + FSUIPC_Write(0x3110, 8, &yaw, &result); + + roll.Value = scale2AnalogLimits(virtRotZ, -180, 180); + FSUIPC_Write(0x3110, 8, &roll, &result); + + FSZoom = (WORD) (64/50) * virtPosZ + 64; + FSUIPC_Write(0x832E, 2, &FSZoom, &result); + + // + // Write the data, in one go! + // + FSUIPC_Process(&result); + if (result == FSUIPC_ERR_SENDMSG) { + FSUIPC_Close(); //timeout (1 second) so assume FS closed + } + } + } + + prevPosX = virtPosX; + prevPosY = virtPosY; + prevPosZ = virtPosZ; + prevRotX = virtRotX; + prevRotY = virtRotY; + prevRotZ = virtRotZ; + +} + +// +// Check if the Client DLL exists and load it (to test it), if so. +// Returns 'true' if all seems OK. +// +bool FSUIPCServer::checkServerInstallationOK() +{ + qDebug() << "FSUIPCCheckClientDLL says: Starting Function"; + + // + // Load the DLL. + // + FSUIPCLib.setFileName( LocationOfDLL ); + if (FSUIPCLib.load() != true) { + qDebug() << "FSUIPCCheckClientDLL says: Error loading FSUIPC DLL"; + return false; + } + + return true; +} + +// +// Scale the measured value to the Joystick values +// +int FSUIPCServer::scale2AnalogLimits( float x, float min_x, float max_x ) { +double y; +double local_x; + + local_x = x; + if (local_x > max_x) { + local_x = max_x; + } + if (local_x < min_x) { + local_x = min_x; + } + y = ( 16383 * local_x ) / max_x; + + return (int) y; +} + +// +// Load the current Settings from the currently 'active' INI-file. +// +void FSUIPCServer::loadSettings() { + + QSettings settings("Abbequerque Inc.", "FaceTrackNoIR"); // Registry settings (in HK_USER) + + QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); + QSettings iniFile( currentFile, QSettings::IniFormat ); // Application settings (in INI-file) + + iniFile.beginGroup ( "FSUIPC" ); + LocationOfDLL = iniFile.value ( "LocationOfDLL", FSUIPC_FILENAME ).toString(); + iniFile.endGroup (); +} + +// +// Constructor for server-settings-dialog +// +FSUIPCControls::FSUIPCControls( QWidget *parent, Qt::WindowFlags f ) : +QWidget( parent , f) +{ + ui.setupUi( this ); + + QPoint offsetpos(100, 100); + this->move(parent->pos() + offsetpos); + + // Connect Qt signals to member-functions + connect(ui.btnOK, SIGNAL(clicked()), this, SLOT(doOK())); + connect(ui.btnCancel, SIGNAL(clicked()), this, SLOT(doCancel())); + connect(ui.btnFindDLL, SIGNAL(clicked()), this, SLOT(getLocationOfDLL())); + + // Load the settings from the current .INI-file + loadSettings(); +} + +// +// Destructor for server-dialog +// +FSUIPCControls::~FSUIPCControls() { + qDebug() << "~FSUIPCControls() says: started"; +} + +// +// OK clicked on server-dialog +// +void FSUIPCControls::doOK() { + save(); + this->close(); +} + +// override show event +void FSUIPCControls::showEvent ( QShowEvent * event ) { + loadSettings(); +} + +// +// Cancel clicked on server-dialog +// +void FSUIPCControls::doCancel() { + // + // Ask if changed Settings should be saved + // + if (settingsDirty) { + int ret = QMessageBox::question ( this, "Settings have changed", "Do you want to save the settings?", QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Discard ); + + qDebug() << "doCancel says: answer =" << ret; + + switch (ret) { + case QMessageBox::Save: + save(); + this->close(); + break; + case QMessageBox::Discard: + this->close(); + break; + case QMessageBox::Cancel: + // Cancel was clicked + break; + default: + // should never be reached + break; + } + } + else { + this->close(); + } +} + +// +// Load the current Settings from the currently 'active' INI-file. +// +void FSUIPCControls::loadSettings() { + + qDebug() << "loadSettings says: Starting "; + QSettings settings("Abbequerque Inc.", "FaceTrackNoIR"); // Registry settings (in HK_USER) + + QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); + QSettings iniFile( currentFile, QSettings::IniFormat ); // Application settings (in INI-file) + + qDebug() << "loadSettings says: iniFile = " << currentFile; + + iniFile.beginGroup ( "FSUIPC" ); + ui.txtLocationOfDLL->setText(iniFile.value ( "LocationOfDLL", FSUIPC_FILENAME ).toString() ); + iniFile.endGroup (); + + settingsDirty = false; + +} + +// +// Save the current Settings to the currently 'active' INI-file. +// +void FSUIPCControls::save() { + + qDebug() << "save() says: started"; + + QSettings settings("Abbequerque Inc.", "FaceTrackNoIR"); // Registry settings (in HK_USER) + + QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/Settings/default.ini" ).toString(); + QSettings iniFile( currentFile, QSettings::IniFormat ); // Application settings (in INI-file) + + iniFile.beginGroup ( "FSUIPC" ); + iniFile.setValue ( "LocationOfDLL", ui.txtLocationOfDLL->text() ); + iniFile.endGroup (); + + settingsDirty = false; +} + +// +// Show the Dialog to set the DLL's location +// +void FSUIPCControls::getLocationOfDLL() +{ + // + // Get the new filename of the INI-file. + // + QString fileName = QFileDialog::getOpenFileName(this, tr("Locate file"), + ui.txtLocationOfDLL->text(), + tr("FSUIPC DLL file (FSUIPC*.dll);;All Files (*)")); + if (!fileName.isEmpty()) { + ui.txtLocationOfDLL->setText( fileName ); + settingsDirty = true; + } +} + + +//END diff --git a/FaceTrackNoIR/FSUIPCServer.h b/FaceTrackNoIR/FSUIPCServer.h new file mode 100644 index 00000000..caba2f33 --- /dev/null +++ b/FaceTrackNoIR/FSUIPCServer.h @@ -0,0 +1,121 @@ +/******************************************************************************** +* FSUIPCServer FSUIPCServer is the Class, that communicates headpose-data * +* to games, using the FSUIPC.dll. * +* * +* Copyright (C) 2010 Wim Vriend (Developing) * +* Ron Hendriks (Testing and Research) * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 3 of the License, or (at your * +* option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but * +* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * +* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * +* more details. * +* * +* You should have received a copy of the GNU General Public License along * +* with this program; if not, see . * +* * +********************************************************************************/ +#pragma once +#ifndef INCLUDED_FSUIPCSERVER_H +#define INCLUDED_FSUIPCSERVER_H + +#include "Windows.h" +#include +#include "FTNoIR_cxx_protocolserver.h" +#include "FSUIPC_User.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ui_FTNoIR_FSUIPCcontrols.h" + +using namespace std; +using namespace v4friend::ftnoir; + +static const char* FSUIPC_FILENAME = "C:\\Program Files\\Microsoft Games\\Flight Simulator 9\\Modules\\FSUIPC.dll"; + +// +// Define the structures necessary for the FSUIPC_Write calls +// +#pragma pack(push,1) // All fields in structure must be byte aligned. +typedef struct +{ + int Control; // Control identifier + int Value; // Value of DOF +} TFSState; +#pragma pack(pop) + +class FSUIPCServer : public ProtocolServerBase { + Q_OBJECT + +public: + + // public member methods + FSUIPCServer(); + ~FSUIPCServer(); + + // protected member methods +protected: + bool checkServerInstallationOK(); + void sendHeadposeToGame(); + +private: + // Private properties + QString ProgramName; + QLibrary FSUIPCLib; + QString LocationOfDLL; + void loadSettings(); + float prevPosX, prevPosY, prevPosZ, prevRotX, prevRotY, prevRotZ; + +public: + + // Settings for calculating the Virtual Pose + void setVirtRotX(float rot) { virtRotX = -1.0f * rot; } // degrees + void setVirtRotY(float rot) { virtRotY = rot; } + void setVirtRotZ(float rot) { virtRotZ = rot; } + + void setVirtPosX(float pos) { virtPosX = 0.0f; } // cm, X and Y are not working for FS2002/2004! + void setVirtPosY(float pos) { virtPosY = 0.0f; } + void setVirtPosZ(float pos) { virtPosZ = -1.0f * pos; } + + static int scale2AnalogLimits( float x, float min_x, float max_x ); +}; + +// Widget that has controls for FSUIPC server-settings. +class FSUIPCControls: public QWidget, public Ui::UICFSUIPCControls +{ + Q_OBJECT +public: + + explicit FSUIPCControls( QWidget *parent=0, Qt::WindowFlags f=0 ); + virtual ~FSUIPCControls(); + void showEvent ( QShowEvent * event ); + +private: + Ui::UICFSUIPCControls ui; + void loadSettings(); + void save(); + + /** helper **/ + bool settingsDirty; + +private slots: + void doOK(); + void doCancel(); + void getLocationOfDLL(); + +}; + + +#endif//INCLUDED_FSUIPCSERVER_H +//END diff --git a/FaceTrackNoIR/FTNoIR_FGcontrols.ui b/FaceTrackNoIR/FTNoIR_FGcontrols.ui new file mode 100644 index 00000000..270a0ee5 --- /dev/null +++ b/FaceTrackNoIR/FTNoIR_FGcontrols.ui @@ -0,0 +1,269 @@ + + + UICFGControls + + + + 0 + 0 + 411 + 194 + + + + FlightGear settings FaceTrackNoIR + + + + images/FaceTrackNoIR.icoimages/FaceTrackNoIR.ico + + + Qt::LeftToRight + + + false + + + + + + + + + 60 + 16777215 + + + + 255 + + + 5 + + + + + + + + 60 + 16777215 + + + + 255 + + + 5 + + + + + + + + 60 + 16777215 + + + + 255 + + + 5 + + + + + + + + 60 + 16777215 + + + + 255 + + + 5 + + + + + + + IP-address remote PC + + + + + + + Qt::RightToLeft + + + Local PC only + + + + + + + Port-number + + + + + + + 5550 + + + 10000 + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + If FlightGear is on the same PC as FaceTrackNoIR, tick the 'Local PC only' box. + + + + + + + Otherwise: enter IP-address and port-number for the remote PC. + + + true + + + + + + + Remember: you may have to change firewall-settings too! + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + OK + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Cancel + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + + + + startEngineClicked() + stopEngineClicked() + cameraSettingsClicked() + + diff --git a/FaceTrackNoIR/FTNoIR_cxx_protocolserver.h b/FaceTrackNoIR/FTNoIR_cxx_protocolserver.h new file mode 100644 index 00000000..a14b198d --- /dev/null +++ b/FaceTrackNoIR/FTNoIR_cxx_protocolserver.h @@ -0,0 +1,98 @@ +/******************************************************************************** +* FTNoIR_cxx_protocolserver is the base Class for Game-protocol-servers. * +* Using this, the tracker only needs to create one * +* server and can use the same functions to * +* communicate with it. * +* * +* Copyright (C) 2010 Wim Vriend (Developing) * +* Ron Hendriks (Testing and Research) * +* * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 3 of the License, or (at your * +* option) any later version. * +* * +* This program is distributed in the hope that it will be useful, but * +* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * +* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * +* more details. * +* * +* You should have received a copy of the GNU General Public License along * +* with this program; if not, see . * +* * +********************************************************************************/ +#ifndef FTNOIR_CXX_PROTOCOLSERVER_H +#define FTNOIR_CXX_PROTOCOLSERVER_H + +#include "Windows.h" +//#include +#include + +namespace v4friend +{ + namespace ftnoir + { + class ProtocolServerBase : public QObject // : public QThread + { + Q_OBJECT + public: + + virtual ~ProtocolServerBase() {} + + //! @return true if the engine will produce data. + /*! @see smEngineIsLicensed() */ + virtual bool isLicensed() const { return true; }; + virtual QString GetProgramName() { return QString("Test"); }; + + virtual bool checkServerInstallationOK ( HANDLE handle ) { return true; } + virtual void sendHeadposeToGame() {} + virtual void setVirtRotX(float rot) { virtRotX = rot; } + virtual void setVirtRotY(float rot) { virtRotY = rot; } + virtual void setVirtRotZ(float rot) { virtRotZ = rot; } + virtual void setVirtPosX(float pos) { virtPosX = pos / 100.0f; } + virtual void setVirtPosY(float pos) { virtPosY = pos / 100.0f; } + virtual void setVirtPosZ(float pos) { virtPosZ = pos / 100.0f; } + + virtual void setHeadRotX(float x) { headRotX = x; } + virtual void setHeadRotY(float y) { headRotY = y; } + virtual void setHeadRotZ(float z) { headRotZ = z; } + virtual void setHeadPosX(float x) { headPosX = x; } + virtual void setHeadPosY(float y) { headPosY = y; } + virtual void setHeadPosZ(float z) { headPosZ = z; } + + protected: + ProtocolServerBase() {}; + + public: + /** member variables for saving the head pose **/ + float virtPosX; + float virtPosY; + float virtPosZ; + + float virtRotX; + float virtRotY; + float virtRotZ; + + float headPosX; + float headPosY; + float headPosZ; + + float headRotX; + float headRotY; + float headRotZ; + + float prevPosX; + float prevPosY; + float prevPosZ; + float prevRotX; + float prevRotY; + float prevRotZ; + + private: + ProtocolServerBase(const ProtocolServerBase &); + ProtocolServerBase &operator=(const ProtocolServerBase &); + bool operator==(const ProtocolServerBase &) const; + }; + } +} +#endif diff --git a/FaceTrackNoIR/FaceTrackNoIR.ui b/FaceTrackNoIR/FaceTrackNoIR.ui index 2d7aad69..56660d49 100644 --- a/FaceTrackNoIR/FaceTrackNoIR.ui +++ b/FaceTrackNoIR/FaceTrackNoIR.ui @@ -10,8 +10,8 @@ 0 0 - 970 - 421 + 923 + 371 @@ -48,15 +48,18 @@ QWidget { /* Specials for individual widget(s) */ QWidget#widget { - background-color: #484848; +/* background-color: #484848;*/ + background-color: #595959; border-left: 1px solid #000; } /* Specials for individual widget(s) */ +QWidget#widget4logo { + background-color: #000000; +} + QWidget#widget4video { - background-color: #595959; - border-top: 1px solid #000; - border-bottom: 1px solid #000; +/* background-color: #595959;*/ } QWidget#Leftwidget { @@ -121,8 +124,8 @@ QGroupBox { - 800 - 400 + 925 + 350 @@ -142,10 +145,16 @@ QGroupBox { + + 0 + + + 0 + 6 - + @@ -374,63 +383,12 @@ color:#000; - - - - - - - 0 - 0 - - - - - 90 - 90 - - - - - 16777215 - 90 - - - - QFrame#logoInstitute { - background:#595959 url(UIElements/logoFaceTrackNoIR.png) no-repeat; -border:none; -} - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - + 250 - 180 + 150 @@ -439,13 +397,13 @@ border:none; 0 0 250 - 180 + 170 250 - 180 + 150 @@ -466,6 +424,93 @@ border:none; + + + + + + + 0 + 90 + + + + + 16777215 + 90 + + + + + + 100 + 20 + 145 + 34 + + + + Please help us: make gaming fun... + + + Click here to +Support FaceTrackNoIR! + + + + :/UIElements/Donate.png:/UIElements/Donate.png + + + + 18 + 18 + + + + + + + 0 + 0 + 90 + 90 + + + + + 0 + 0 + + + + + 90 + 90 + + + + + 16777215 + 90 + + + + QFrame#logoInstitute { + background:#595959 url(UIElements/logoFaceTrackNoIR.png) no-repeat; +border:none; +} + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + @@ -500,9 +545,9 @@ border:none; - 72 - 72 - 72 + 89 + 89 + 89 @@ -527,18 +572,18 @@ border:none; - 72 - 72 - 72 + 89 + 89 + 89 - 72 - 72 - 72 + 89 + 89 + 89 @@ -583,9 +628,9 @@ border:none; - 72 - 72 - 72 + 89 + 89 + 89 @@ -610,18 +655,18 @@ border:none; - 72 - 72 - 72 + 89 + 89 + 89 - 72 - 72 - 72 + 89 + 89 + 89 @@ -666,9 +711,9 @@ border:none; - 72 - 72 - 72 + 89 + 89 + 89 @@ -693,18 +738,18 @@ border:none; - 72 - 72 - 72 + 89 + 89 + 89 - 72 - 72 - 72 + 89 + 89 + 89 @@ -750,33 +795,7 @@ border:none; - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + 10 @@ -784,6 +803,32 @@ border:none; 10 + + + + Profile + + + + + 10 + 20 + 161 + 22 + + + + + + + -1 + + + 3 + + + + @@ -939,82 +984,9 @@ border:none; - - - - Edit the Curve settings - - - Curves - - - - :/UIElements/Curves.png:/UIElements/Curves.png - - - - 150 - 32 - - - - - - - - - - 10 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Please help us: make gaming fun... - - - Click here to Support FaceTrackNoIR! - - - - :/UIElements/Donate.png:/UIElements/Donate.png - - - - 18 - 18 - - - - - - - - Qt::Horizontal - - - - 186 - 20 - - - - - + @@ -1065,7 +1037,7 @@ background:none; - 100 + 95 0 @@ -1117,17 +1089,6 @@ background:none; - - - - color:#ccc; -background:none; - - - (samples) - - - @@ -1160,7 +1121,7 @@ background:none; - 50 + 35 22 @@ -1175,6 +1136,17 @@ background:none; + + + + color:#ccc; +background:none; + + + (samples) + + + @@ -1389,7 +1361,7 @@ background:none; - 50 + 40 22 @@ -1411,7 +1383,7 @@ background:none; - 50 + 40 22 @@ -1433,7 +1405,7 @@ background:none; - 50 + 40 22 @@ -1725,7 +1697,7 @@ background:none; - 50 + 40 22 @@ -1747,7 +1719,7 @@ background:none; - 50 + 40 22 @@ -1769,7 +1741,7 @@ background:none; - 50 + 40 22 @@ -1836,7 +1808,7 @@ background:none; - 5 + 20 20 @@ -1845,81 +1817,124 @@ background:none; - - - - - 620 - 67 - - - - - 667 - 67 - - - - true - - - background: url("UIElements/bubble_1_small.png") no-repeat; + + + + + + + 500 + 67 + + + + + 700 + 67 + + + + true + + + background: url("UIElements/bubble_1_small.png") no-repeat; opacity:100; - - - - 0 - - - 15 - - - 10 - - - 10 - - - 10 - - - - - - 0 - 30 - + + + + 0 - - - 600 - 30 - + + 15 - - color:#ccc; -background:none; + + 10 - - Camera Name + + 10 - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - + + 10 + + + + + + + + 420 + 30 + + + + + 600 + 30 + + + + color:#ccc; +background:none; + + + Camera Name + + + + + + + + 52 + 40 + + + + + 180 + 16777215 + + + + Edit the Curve settings + + + background:none; + + + Curves + + + + :/UIElements/Curves.png:/UIElements/Curves.png + + + + 150 + 32 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + @@ -1935,7 +1950,7 @@ background:none; 0 0 - 970 + 923 21 diff --git a/FaceTrackNoIR/UIElements/Curves.png b/FaceTrackNoIR/UIElements/Curves.png new file mode 100644 index 00000000..fe21fa15 Binary files /dev/null and b/FaceTrackNoIR/UIElements/Curves.png differ diff --git a/FaceTrackNoIR/UIElements/Donate.png b/FaceTrackNoIR/UIElements/Donate.png new file mode 100644 index 00000000..cf4223fb Binary files /dev/null and b/FaceTrackNoIR/UIElements/Donate.png differ diff --git a/FaceTrackNoIR/images/330px-6DOF_en.png b/FaceTrackNoIR/images/330px-6DOF_en.png new file mode 100644 index 00000000..9d1d72ff Binary files /dev/null and b/FaceTrackNoIR/images/330px-6DOF_en.png differ diff --git a/FaceTrackNoIR/images/rotation_DOFs.png b/FaceTrackNoIR/images/rotation_DOFs.png new file mode 100644 index 00000000..68682d88 Binary files /dev/null and b/FaceTrackNoIR/images/rotation_DOFs.png differ diff --git a/FaceTrackNoIR/images/translation_DOFs.png b/FaceTrackNoIR/images/translation_DOFs.png new file mode 100644 index 00000000..886c586e Binary files /dev/null and b/FaceTrackNoIR/images/translation_DOFs.png differ diff --git a/bin/FaceTrackNoIR.exe b/bin/FaceTrackNoIR.exe index bbdcc606..7d58b455 100644 Binary files a/bin/FaceTrackNoIR.exe and b/bin/FaceTrackNoIR.exe differ diff --git a/bin/ImageFormats/qico4.dll b/bin/ImageFormats/qico4.dll new file mode 100644 index 00000000..e3cc4f08 Binary files /dev/null and b/bin/ImageFormats/qico4.dll differ diff --git a/bin/QBezierConfigurator.lib b/bin/QBezierConfigurator.lib new file mode 100644 index 00000000..df3cc4e9 Binary files /dev/null and b/bin/QBezierConfigurator.lib differ diff --git a/bin/Settings/Wings of Prey.ini b/bin/Settings/Wings of Prey.ini new file mode 100644 index 00000000..c0e29816 --- /dev/null +++ b/bin/Settings/Wings of Prey.ini @@ -0,0 +1,77 @@ +[Tracking] +Smooth=3 +NeutralZone=5 +sensYaw=200 +sensPitch=200 +sensRoll=100 +sensX=100 +sensY=100 +sensZ=100 +invertYaw=false +invertPitch=true +invertRoll=false +invertX=true +invertY=false +invertZ=false +useEWMA=true +redYaw=60 +redPitch=60 +redRoll=60 +redX=50 +redY=50 +redZ=50 + +[GameProtocol] +Selection=4 + +[KB_Shortcuts] +Keycode_Center=199 +Shift_Center=false +Ctrl_Center=false +Alt_Center=false +Keycode_StartStop=207 +Shift_StartStop=false +Ctrl_StartStop=false +Alt_StartStop=false +Keycode_Inhibit=0 +Shift_Inhibit=false +Ctrl_Inhibit=false +Alt_Inhibit=false +Inhibit_Pitch=false +Inhibit_Yaw=false +Inhibit_Roll=false +Inhibit_X=false +Inhibit_Y=false +Inhibit_Z=false + +[Curves] +Yaw_point1=@Variant(\0\0\0\x1a@\x12\0\0\0\0\0\0@\x12\0\0\0\0\0\0) +Yaw_point2=@Variant(\0\0\0\x1a@_\xc0\0\0\0\0\0@ \0\0\0\0\0\0) +Yaw_point3=@Variant(\0\0\0\x1a@c`\0\0\0\0\0@?\0\0\0\0\0\0) +Yaw_point4=@Variant(\0\0\0\x1a@f\x80\0\0\0\0\0@I\0\0\0\0\0\0) +Pitch_point1=@Variant(\0\0\0\x1a@\b\0\0\0\0\0\0@\b\0\0\0\0\0\0) +Pitch_point2=@Variant(\0\0\0\x1a@W@\0\0\0\0\0@ \0\0\0\0\0\0) +Pitch_point3=@Variant(\0\0\0\x1a@\\\xc0\0\0\0\0\0@9\0\0\0\0\0\0) +Pitch_point4=@Variant(\0\0\0\x1a@f\x80\0\0\0\0\0@I\0\0\0\0\0\0) +Roll_point1=@Variant(\0\0\0\x1a@\f\0\0\0\0\0\0@\f\0\0\0\0\0\0) +Roll_point2=@Variant(\0\0\0\x1a@S\0\0\0\0\0\0@3\0\0\0\0\0\0) +Roll_point3=@Variant(\0\0\0\x1a@a\xa0\0\0\0\0\0@C\0\0\0\0\0\0) +Roll_point4=@Variant(\0\0\0\x1a@d@\0\0\0\0\0@I\0\0\0\0\0\0) +X_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +X_point2=@Variant(\0\0\0\x1a@F\0\0\0\0\0\0@1\0\0\0\0\0\0) +X_point3=@Variant(\0\0\0\x1a@N\x80\0\0\0\0\0@A\0\0\0\0\0\0) +X_point4=@Variant(\0\0\0\x1a@U\xc0\0\0\0\0\0@I\0\0\0\0\0\0) +Y_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +Y_point2=@Variant(\0\0\0\x1a@I\x80\0\0\0\0\0@1\0\0\0\0\0\0) +Y_point3=@Variant(\0\0\0\x1a@M\x80\0\0\0\0\0@?\0\0\0\0\0\0) +Y_point4=@Variant(\0\0\0\x1a@U\xc0\0\0\0\0\0@I\0\0\0\0\0\0) +Z_point1=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0@\x14\0\0\0\0\0\0) +Z_point2=@Variant(\0\0\0\x1a@F\0\0\0\0\0\0@1\0\0\0\0\0\0) +Z_point3=@Variant(\0\0\0\x1a@L\x80\0\0\0\0\0@A\0\0\0\0\0\0) +Z_point4=@Variant(\0\0\0\x1a@V\0\0\0\0\0\0@I\0\0\0\0\0\0) + +[FTIR] +useTIRViews=false + +[TrackerSource] +Selection=0 diff --git a/bin/TrackIR.exe b/bin/TrackIR.exe new file mode 100644 index 00000000..ce05c028 Binary files /dev/null and b/bin/TrackIR.exe differ diff --git a/bin/UIElements/Donate.png b/bin/UIElements/Donate.png new file mode 100644 index 00000000..cf4223fb Binary files /dev/null and b/bin/UIElements/Donate.png differ diff --git a/bin/UIElements/FaceTrackNoIR.ico b/bin/UIElements/FaceTrackNoIR.ico new file mode 100644 index 00000000..af36ec30 Binary files /dev/null and b/bin/UIElements/FaceTrackNoIR.ico differ diff --git a/bin/UIElements/Logo_NoIR.png b/bin/UIElements/Logo_NoIR.png new file mode 100644 index 00000000..bb654a07 Binary files /dev/null and b/bin/UIElements/Logo_NoIR.png differ diff --git a/bin/UIElements/Logo_NoIR_small.png b/bin/UIElements/Logo_NoIR_small.png new file mode 100644 index 00000000..5d49e0b1 Binary files /dev/null and b/bin/UIElements/Logo_NoIR_small.png differ diff --git a/bin/UIElements/Logo_NoIR_small_target.png b/bin/UIElements/Logo_NoIR_small_target.png new file mode 100644 index 00000000..4bbaf41f Binary files /dev/null and b/bin/UIElements/Logo_NoIR_small_target.png differ diff --git a/bin/UIElements/Logo_NoIR_small_target90px.png b/bin/UIElements/Logo_NoIR_small_target90px.png new file mode 100644 index 00000000..ecaa4e12 Binary files /dev/null and b/bin/UIElements/Logo_NoIR_small_target90px.png differ diff --git a/bin/UIElements/SetupFaceTrackNoIR.jpg b/bin/UIElements/SetupFaceTrackNoIR.jpg new file mode 100644 index 00000000..1f110875 Binary files /dev/null and b/bin/UIElements/SetupFaceTrackNoIR.jpg differ diff --git a/bin/images/FS9.ico b/bin/images/FS9.ico new file mode 100644 index 00000000..9afd1953 Binary files /dev/null and b/bin/images/FS9.ico differ diff --git a/bin/images/FSX.ico b/bin/images/FSX.ico new file mode 100644 index 00000000..1c71d409 Binary files /dev/null and b/bin/images/FSX.ico differ diff --git a/bin/smft32.dll b/bin/smft32.dll new file mode 100644 index 00000000..3e410ee4 Binary files /dev/null and b/bin/smft32.dll differ diff --git a/bin_dbg/FaceTrackNoIR.exe b/bin_dbg/FaceTrackNoIR.exe index ac265b1c..fe99adfe 100644 Binary files a/bin_dbg/FaceTrackNoIR.exe and b/bin_dbg/FaceTrackNoIR.exe differ diff --git a/bin_dbg/FaceTrackNoIR.ilk b/bin_dbg/FaceTrackNoIR.ilk index 30fff33a..5c2feb07 100644 Binary files a/bin_dbg/FaceTrackNoIR.ilk and b/bin_dbg/FaceTrackNoIR.ilk differ diff --git a/bin_dbg/FaceTrackNoIR.pdb b/bin_dbg/FaceTrackNoIR.pdb index 109eb96f..a102e79e 100644 Binary files a/bin_dbg/FaceTrackNoIR.pdb and b/bin_dbg/FaceTrackNoIR.pdb differ diff --git a/bin_dbg/NPClient.dll b/bin_dbg/NPClient.dll new file mode 100644 index 00000000..b979550f Binary files /dev/null and b/bin_dbg/NPClient.dll differ diff --git a/bin_dbg/QBezierConfigurator.dll b/bin_dbg/QBezierConfigurator.dll new file mode 100644 index 00000000..48fa2679 Binary files /dev/null and b/bin_dbg/QBezierConfigurator.dll differ diff --git a/bin_dbg/TIRViews.dll b/bin_dbg/TIRViews.dll new file mode 100644 index 00000000..a1fb306f Binary files /dev/null and b/bin_dbg/TIRViews.dll differ diff --git a/bin_dbg/TrackIR.exe b/bin_dbg/TrackIR.exe new file mode 100644 index 00000000..ce05c028 Binary files /dev/null and b/bin_dbg/TrackIR.exe differ diff --git a/bin_dbg/smft31.def b/bin_dbg/smft31.def deleted file mode 100644 index 67e99d10..00000000 --- a/bin_dbg/smft31.def +++ /dev/null @@ -1,136 +0,0 @@ -LIBRARY smft31 -EXPORTS -_smAPIEnterModalLoop@0 -_smAPIExitModalLoop@0 -_smAPIInit@0 -_smAPILicenseInfoString@12 -_smAPINonCommercialLicense@0 -_smAPIProcessEvents@0 -_smAPIQuit@0 -_smAPIVersion@12 -_smCameraCreate@12 -_smCameraCreateFile@12 -_smCameraCreateImagePush@16 -_smCameraCreateInfoList@4 -_smCameraDeregisterTypes@0 -_smCameraDestroy@4 -_smCameraDestroyInfoList@4 -_smCameraGetCurrentFormat@8 -_smCameraGetLensParams@8 -_smCameraGetModelName@8 -_smCameraGetType@8 -_smCameraHasControlPanel@8 -_smCameraImagePush@16 -_smCameraImagePushSetFrameRate@8 -_smCameraIsValid@8 -_smCameraLensParamsFromHFOV@16 -_smCameraLoadLensParamsFile@8 -_smCameraPtGreyRestoreMemoryChannel@8 -_smCameraRegisterType@4 -_smCameraSetLensParams@8 -_smCameraShowControlPanel@4 -_smCoordFaceToPixel@16 -_smCoordFaceToWorld@12 -_smCoordWorldToPixel@12 -_smEngineCreate@8 -_smEngineCreateWithCamera@12 -_smEngineDestroy@4 -_smEngineGetCamera@8 -_smEngineGetState@8 -_smEngineGetType@8 -_smEngineGetUDPLoggingEnabled@8 -_smEngineGetUDPOutputAddress@12 -_smEngineHasCameraControlPanel@8 -_smEngineIsLicensed@4 -_smEngineSetUDPLoggingEnabled@8 -_smEngineSetUDPOutputAddress@12 -_smEngineShowCameraControlPanel@4 -_smEngineStart@4 -_smEngineStop@4 -_smFaceSearch@20 -_smFaceSearchDestroyResults@4 -_smFaceSearchGetRangeBounds@104 -_smFaceTexCoordToPixel@12 -_smFaceTexMaskIndexToPixel@12 -_smFileTrack@24 -_smFileTrackAbortAll@0 -_smHTCurrentHeadPose@8 -_smHTGetAutoBrightness@8 -_smHTGetAutoRestartMode@8 -_smHTGetEyebrowTrackingDOF@8 -_smHTGetEyebrowTrackingEnabled@8 -_smHTGetHeadPosePredictionEnabled@8 -_smHTGetHeadPosePredictionPeriodOffset@8 -_smHTGetLipTrackingEnabled@8 -_smHTGetRestartThreshold@8 -_smHTGetRestartTimeout@8 -_smHTGetTrackingRangeBounds@12 -_smHTGetTrackingRanges@12 -_smHTRegisterFaceDataCallback@12 -_smHTRegisterHeadPoseCallback@12 -_smHTSetAutoBrightness@8 -_smHTSetAutoRestartMode@8 -_smHTSetEyebrowTrackingDOF@8 -_smHTSetEyebrowTrackingEnabled@8 -_smHTSetHeadPosePredictionEnabled@8 -_smHTSetHeadPosePredictionPeriodOffset@8 -_smHTSetLipTrackingEnabled@8 -_smHTSetRestartThreshold@8 -_smHTSetRestartTimeout@8 -_smHTSetTrackingRanges@12 -_smHTV1GetHeadPoseFilterLevel@8 -_smHTV1GetHeadPoseZFilterLevel@8 -_smHTV1GetSearchThreshold@8 -_smHTV1SetHeadPoseFilterLevel@8 -_smHTV1SetHeadPoseZFilterLevel@8 -_smHTV1SetSearchThreshold@8 -_smHTV2GetRestartPoorTrackingEnabled@8 -_smHTV2GetRestartTimeoutEnabled@8 -_smHTV2SetRestartPoorTrackingEnabled@8 -_smHTV2SetRestartTimeoutEnabled@8 -_smImageAddRef@4 -_smImageCreateFromInfo@12 -_smImageCreateFromPNG@8 -_smImageDestroy@4 -_smImageGetInfo@8 -_smImageIsValid@8 -_smImageSaveToPNG@8 -_smLoggingGetFileOutputEnable@4 -_smLoggingGetPath@4 -_smLoggingRegisterCallback@8 -_smLoggingSetFileOutputEnable@4 -_smLoggingSetPath@4 -_smRegisterImageReleaseCallback@4 -_smStringClear@4 -_smStringCopy@8 -_smStringCreate@4 -_smStringDestroy@4 -_smStringGetBufferW@12 -_smStringIsEmpty@8 -_smStringIsEqual@12 -_smStringIsValid@8 -_smStringLength@8 -_smStringReadBuffer@12 -_smStringReadBufferW@12 -_smStringWriteBuffer@12 -_smStringWriteBufferW@12 -_smTimeAdd@12 -_smTimeDiff@12 -_smTimeGetSecs@8 -_smTimeNormalize@4 -_smTimeSetFromUTC@4 -_smTimeSetMicroSecondsPart@8 -_smTimeSetSecondsPart@12 -_smTimeSetSecs@12 -_smTimeToString@8 -_smVideoDisplayCreate@16 -_smVideoDisplayDestroy@4 -_smVideoDisplayGetFlags@8 -_smVideoDisplayGetWindowHandle@8 -_smVideoDisplayRecordingCancel@4 -_smVideoDisplayRecordingStart@12 -_smVideoDisplayRecordingStatus@8 -_smVideoDisplayRecordingStop@4 -_smVideoDisplaySetFlags@8 -_smVideoDisplaySetParent@8 -_smVideoDisplayShow@8 diff --git a/bin_dbg/smft31.dll b/bin_dbg/smft31.dll deleted file mode 100644 index 44bf843e..00000000 Binary files a/bin_dbg/smft31.dll and /dev/null differ diff --git a/bin_dbg/smft31.exp b/bin_dbg/smft31.exp deleted file mode 100644 index b037727b..00000000 Binary files a/bin_dbg/smft31.exp and /dev/null differ diff --git a/bin_dbg/smft31.lib b/bin_dbg/smft31.lib deleted file mode 100644 index 0dac8fce..00000000 Binary files a/bin_dbg/smft31.lib and /dev/null differ diff --git a/bin_dbg/smft32.dll b/bin_dbg/smft32.dll new file mode 100644 index 00000000..3e410ee4 Binary files /dev/null and b/bin_dbg/smft32.dll differ -- cgit v1.2.3