diff options
20 files changed, 260 insertions, 305 deletions
diff --git a/FTNoIR_Protocol_FT/FTNoIR_Protocol_FT.cpp b/FTNoIR_Protocol_FT/FTNoIR_Protocol_FT.cpp index f33f92c5..b8461993 100644 --- a/FTNoIR_Protocol_FT/FTNoIR_Protocol_FT.cpp +++ b/FTNoIR_Protocol_FT/FTNoIR_Protocol_FT.cpp @@ -120,6 +120,7 @@ QStringList gameLine; if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){
QString strError( "Cannot load file: FaceTrackNoIR Supported Games.csv" );
sprintf_s(pMemData->ProgramName, 99, strError.toAscii());
+ sprintf_s(pMemData->FTNVERSION, 9, "V160");
//
// Return true anyway, because maybe it's V160 compatible.
diff --git a/FTNoIR_Protocol_FT/ftnoir_protocol_FT_dialog.cpp b/FTNoIR_Protocol_FT/ftnoir_protocol_FT_dialog.cpp index 9f6fdcb1..2e6c91f7 100644 --- a/FTNoIR_Protocol_FT/ftnoir_protocol_FT_dialog.cpp +++ b/FTNoIR_Protocol_FT/ftnoir_protocol_FT_dialog.cpp @@ -51,29 +51,36 @@ QWidget() // Connect Qt signals to member-functions
connect(ui.btnOK, SIGNAL(clicked()), this, SLOT(doOK()));
connect(ui.btnCancel, SIGNAL(clicked()), this, SLOT(doCancel()));
- connect(ui.chkTIRViews, SIGNAL(stateChanged(int)), this, SLOT(chkTIRViewsChanged()));
+ connect(ui.bntLocateNPClient, SIGNAL(clicked()), this, SLOT(selectDLL()));
+ connect(ui.chkTIRViews, SIGNAL(stateChanged(int)), this, SLOT(settingChanged()));
connect(ui.chkStartDummy, SIGNAL(stateChanged(int)), this, SLOT(settingChanged()));
connect(ui.cbxSelectInterface, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged( int )));
- connect(ui.bntLocateNPClient, SIGNAL(clicked()), this, SLOT(selectDLL()));
ui.cbxSelectInterface->addItem("Enable both");
ui.cbxSelectInterface->addItem("Use FreeTrack, hide TrackIR");
ui.cbxSelectInterface->addItem("Use TrackIR, hide FreeTrack");
+ theProtocol = NULL;
+
+ // Load the settings from the current .INI-file
+ loadSettings();
+
+
aFileName = QCoreApplication::applicationDirPath() + "/TIRViews.dll";
if ( !QFile::exists( aFileName ) ) {
ui.chkTIRViews->setChecked( false );
ui.chkTIRViews->setEnabled ( false );
+
+ //
+ // Best do this save() last, or it will continually reset the settings... :-(
+ //
save();
}
else {
ui.chkTIRViews->setEnabled ( true );
}
- theProtocol = NULL;
- // Load the settings from the current .INI-file
- loadSettings();
}
//
diff --git a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp b/FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp index 6adad5db..336ede2d 100644 --- a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp +++ b/FTNoIR_Tracker_HT/ftnoir_tracker_ht.cpp @@ -1,19 +1,24 @@ #include "stdafx.h" -#include "..\ftnoir_tracker_base\ftnoir_tracker_base.h" +#include "../ftnoir_tracker_base/ftnoir_tracker_base.h" #include "headtracker-ftnoir.h" #include "ftnoir_tracker_ht.h" #include "ftnoir_tracker_ht_dll.h" -#include "UI_TRACKERCONTROLS.h" - -static TCHAR shmName[] = TEXT(HT_SHM_NAME); -static TCHAR mutexName[] = TEXT(HT_MUTEX_NAME); +#include "ui_trackercontrols.h" +#include "../facetracknoir/global-settings.h" #define WIDGET_WIDTH 250 -#define WIDGET_HEIGHT 170 +#define WIDGET_HEIGHT 188 + +#if defined(_WIN32) || defined(__WIN32) +#include <dshow.h> +#else +#include <unistd.h> +#endif // delicious copypasta static QList<QString> get_camera_names(void) { - QList<QString> ret; + QList<QString> ret; +#if defined(_WIN32) || defined(__WIN32) // Create the System Device Enumerator. HRESULT hr; ICreateDevEnum *pSysDevEnum = NULL; @@ -59,7 +64,18 @@ static QList<QString> get_camera_names(void) { pEnumCat->Release(); } pSysDevEnum->Release(); - return ret; +#else + for (int i = 0; i < 16; i++) { + char buf[128]; + sprintf(buf, "/dev/video%d", i); + if (access(buf, R_OK | W_OK) == 0) { + ret.append(buf); + } else { + break; + } + } +#endif + return ret; } typedef struct { @@ -68,6 +84,7 @@ typedef struct { } resolution_tuple; static resolution_tuple resolution_choices[] = { + { 0, 0 }, { 640, 480 }, { 320, 240 }, { 320, 200 }, @@ -94,14 +111,14 @@ static void load_settings(ht_config_t* config, Tracker* tracker) config->force_fps = iniFile.value("fps", 0).toInt(); config->camera_index = iniFile.value("camera-index", -1).toInt(); config->ransac_num_iters = 100; - config->ransac_max_reprojection_error = 5.5f; - config->ransac_max_inlier_error = 5.5f; - config->ransac_max_mean_error = 4.0f; - config->ransac_abs_max_mean_error = 6.0f; + config->ransac_max_reprojection_error = 6.5f; + config->ransac_max_inlier_error = 6.5f; + config->ransac_max_mean_error = 4.0f; + config->ransac_abs_max_mean_error = 7.0f; config->debug = 0; config->ransac_min_features = 0.75f; - int res = iniFile.value("resolution", 0).toInt(); - if (res < 0 || res >= sizeof(*resolution_choices) / sizeof(resolution_tuple)) + int res = iniFile.value("resolution", 0).toInt(); + if (res < 0 || res >= (int)(sizeof(*resolution_choices) / sizeof(resolution_tuple))) res = 0; resolution_tuple r = resolution_choices[res]; config->force_width = r.width; @@ -118,152 +135,95 @@ static void load_settings(ht_config_t* config, Tracker* tracker) iniFile.endGroup(); } -Tracker::Tracker() +Tracker::Tracker() : lck_shm(HT_SHM_NAME, HT_MUTEX_NAME, sizeof(ht_shm_t)), fresh(false) { videoWidget = NULL; layout = NULL; enableRX = enableRY = enableRZ = enableTX = enableTY = enableTZ = true; - hMutex = CreateMutex(NULL, false, mutexName); - hMapFile = CreateFileMapping( - INVALID_HANDLE_VALUE, - NULL, - PAGE_READWRITE, - 0, - sizeof(ht_shm_t), - shmName); - shm = (ht_shm_t*) MapViewOfFile(hMapFile, - FILE_MAP_READ | FILE_MAP_WRITE, - 0, - 0, - sizeof(ht_shm_t)); - paused = false; + shm = (ht_shm_t*) lck_shm.mem; + shm->terminate = 0; load_settings(&shm->config, this); + shm->result.filled = false; } Tracker::~Tracker() { + subprocess.kill(); + if (shm) + shm->terminate = true; if (layout) delete layout; if (videoWidget) delete videoWidget; - UnmapViewOfFile(shm); - CloseHandle(hMapFile); - CloseHandle(hMutex); } -void Tracker::Initialize(QFrame *videoframe) +void Tracker::StartTracker(QFrame* videoframe) { - videoframe->setAttribute(Qt::WA_NativeWindow); - videoframe->show(); - videoWidget = new VideoWidget(videoframe); - QHBoxLayout* layout = new QHBoxLayout(); - layout->setContentsMargins(0, 0, 0, 0); - layout->addWidget(videoWidget); - if (videoframe->layout()) - delete videoframe->layout(); - videoframe->setLayout(layout); - videoWidget->resize(WIDGET_WIDTH, WIDGET_HEIGHT); - videoWidget->show(); - this->layout = layout; + videoframe->setAttribute(Qt::WA_NativeWindow); + videoframe->show(); + videoWidget = new VideoWidget(videoframe); + QHBoxLayout* layout = new QHBoxLayout(); + layout->setContentsMargins(0, 0, 0, 0); + layout->addWidget(videoWidget); + if (videoframe->layout()) + delete videoframe->layout(); + videoframe->setLayout(layout); + videoWidget->resize(WIDGET_WIDTH, WIDGET_HEIGHT); + videoWidget->show(); + this->layout = layout; + load_settings(&shm->config, this); + shm->frame.channels = shm->frame.width = shm->frame.height = 0; + shm->pause = shm->terminate = shm->running = false; + shm->timer = 0; + subprocess.setWorkingDirectory(QCoreApplication::applicationDirPath() + "/tracker-ht"); +#if defined(_WIN32) || defined(__WIN32) + subprocess.start("\"" + QCoreApplication::applicationDirPath() + "/tracker-ht/headtracker-ftnoir" + "\""); +#else + subprocess.start(QCoreApplication::applicationDirPath() + "/tracker-ht/headtracker-ftnoir"); +#endif + connect(&timer, SIGNAL(timeout()), this, SLOT(paint_widget())); + timer.start(15); } -void Tracker::StartTracker(HWND parent) -{ - if (paused) - { - shm->pause = false; - } - else - { - load_settings(&shm->config, this); - shm->frame.channels = shm->frame.width = shm->frame.height = 0; - shm->pause = shm->terminate = shm->running = false; - shm->timer = 0; - subprocess.setWorkingDirectory(QCoreApplication::applicationDirPath() + "/tracker-ht"); - subprocess.start("\"" + QCoreApplication::applicationDirPath() + "/tracker-ht/headtracker-ftnoir.exe" + "\""); - } -} - -void Tracker::StopTracker(bool exit) -{ - if (exit) - { - shm->terminate = true; - subprocess.kill(); - } - else - { - shm->pause = true; - } +void Tracker::paint_widget() { + if (fresh) { + fresh = false; + videoWidget->update(); + } } bool Tracker::GiveHeadPoseData(THeadPoseData* data) { bool ret = false; - if (WaitForSingleObject(hMutex, 100) == WAIT_OBJECT_0) - { - shm->timer = 0; - if (WaitForSingleObject(videoWidget->hMutex, 10) == WAIT_OBJECT_0) - { - memcpy(&videoWidget->videoFrame, &shm->frame, sizeof(ht_video_t)); - ReleaseMutex(videoWidget->hMutex); - } - if (shm->result.filled) { - if (enableRX) - data->yaw = shm->result.rotx * 57.295781; - if (enableRY) - data->pitch = shm->result.roty * 57.295781; - if (enableRZ) - data->roll = shm->result.rotz * 57.295781; - if (enableTX) - data->x = shm->result.tx; - if (enableTY) - data->y = shm->result.ty; - if (enableTZ) - data->z = shm->result.tz; - ret = true; - } - ReleaseMutex(hMutex); - } + lck_shm.lock(); + shm->timer = 0; + if (shm->frame.width > 0) + { + videoWidget->updateImage(shm->frame.frame, shm->frame.width, shm->frame.height); + //memcpy(foo, shm->frame.frame, shm->frame.width * shm->frame.height * 3); + fresh = true; + } + if (shm->result.filled) { + if (enableRX) + data->yaw = shm->result.rotx; + if (enableRY) + data->pitch = shm->result.roty; + if (enableRZ) + data->roll = shm->result.rotz; + if (enableTX) + data->x = shm->result.tx; + if (enableTY) + data->y = shm->result.ty; + if (enableTZ) + data->z = shm->result.tz; + ret = true; + } + lck_shm.unlock(); return ret; } -VideoWidget::VideoWidget(QWidget* parent) : QWidget(parent) -{ - hMutex = CreateMutex(NULL, false, NULL); - videoFrame.channels = videoFrame.height = videoFrame.width = 0; - connect(&timer, SIGNAL(timeout()), this, SLOT(update())); - timer.start(35); -} - -VideoWidget::~VideoWidget() -{ - CloseHandle(hMutex); -} - -void VideoWidget::paintEvent(QPaintEvent *e) -{ - uchar* data = NULL; - if (WaitForSingleObject(hMutex, 10) == WAIT_OBJECT_0) - { - if (videoFrame.width > 0) - { - data = new uchar[videoFrame.width * videoFrame.height * 3]; - memcpy(data, videoFrame.frame, videoFrame.width * videoFrame.height * 3); - } - ReleaseMutex(hMutex); - } - if (data) - { - QImage image((uchar*) data, videoFrame.width, videoFrame.height, QImage::Format_RGB888); - QPainter painter(this); - painter.drawPixmap(e->rect(), QPixmap::fromImage(image.rgbSwapped()).scaled(WIDGET_WIDTH, WIDGET_HEIGHT, Qt::KeepAspectRatioByExpanding), e->rect()); - delete[] data; - } -} - //----------------------------------------------------------------------------- void TrackerDll::getFullName(QString *strToBeFilled) { @@ -282,23 +242,23 @@ void TrackerDll::getDescription(QString *strToBeFilled) void TrackerDll::getIcon(QIcon *icon) { - *icon = QIcon(":/images/HT.ico"); + *icon = QIcon(":/images/ht.png"); } //----------------------------------------------------------------------------- -#pragma comment(linker, "/export:GetTrackerDll=_GetTrackerDll@0") +//#pragma comment(linker, "/export:GetTrackerDll=_GetTrackerDll@0") -FTNOIR_TRACKER_BASE_EXPORT ITrackerDllPtr __stdcall GetTrackerDll() +extern "C" FTNOIR_TRACKER_BASE_EXPORT Metadata* CALLING_CONVENTION GetMetadata() { return new TrackerDll; } -#pragma comment(linker, "/export:GetTracker=_GetTracker@0") +//#pragma comment(linker, "/export:GetTracker=_GetTracker@0") -FTNOIR_TRACKER_BASE_EXPORT ITrackerPtr __stdcall GetTracker() +extern "C" FTNOIR_TRACKER_BASE_EXPORT void* CALLING_CONVENTION GetConstructor() { - return new Tracker; + return (ITracker*) new Tracker; } //////////////////////////////////////////////////////////////////////////////// @@ -308,11 +268,11 @@ FTNOIR_TRACKER_BASE_EXPORT ITrackerPtr __stdcall GetTracker() // GetTrackerDialog - Undecorated name, which can be easily used with GetProcAddress // Win32 API function. // _GetTrackerDialog@0 - Common name decoration for __stdcall functions in C language. -#pragma comment(linker, "/export:GetTrackerDialog=_GetTrackerDialog@0") +//#pragma comment(linker, "/export:GetTrackerDialog=_GetTrackerDialog@0") -FTNOIR_TRACKER_BASE_EXPORT ITrackerDialogPtr __stdcall GetTrackerDialog( ) +extern "C" FTNOIR_TRACKER_BASE_EXPORT void* CALLING_CONVENTION GetDialog( ) { - return new TrackerControls; + return (ITrackerDialog*) new TrackerControls; } TrackerControls::TrackerControls() @@ -382,7 +342,7 @@ void TrackerControls::loadSettings() ui.tx->setCheckState(iniFile.value("enable-tx", true).toBool() ? Qt::Checked : Qt::Unchecked); ui.ty->setCheckState(iniFile.value("enable-ty", true).toBool() ? Qt::Checked : Qt::Unchecked); ui.tz->setCheckState(iniFile.value("enable-tz", true).toBool() ? Qt::Checked : Qt::Unchecked); - ui.resolution->setCurrentIndex(iniFile.value("resolution", 0).toInt()); + ui.resolution->setCurrentIndex(iniFile.value("resolution", 0).toInt()); iniFile.endGroup(); settingsDirty = false; } @@ -459,4 +419,4 @@ void TrackerControls::doCancel() else { this->close(); } -}
\ No newline at end of file +} diff --git a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.h b/FTNoIR_Tracker_HT/ftnoir_tracker_ht.h index 30d62f32..1a449dca 100644 --- a/FTNoIR_Tracker_HT/ftnoir_tracker_ht.h +++ b/FTNoIR_Tracker_HT/ftnoir_tracker_ht.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013 Stanisław Halik <sthalik@misaki.pl> +/* Copyright (c) 2013 Stanislaw Halik <sthalik@misaki.pl> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -9,41 +9,43 @@ #define FTNOIR_TRACKER_HT_H #include "stdafx.h" -#include "..\ftnoir_tracker_base\ftnoir_tracker_base.h" +#include "../ftnoir_tracker_base/ftnoir_tracker_base.h" #include "headtracker-ftnoir.h" -#include "ui_TrackerControls.h" +#include "ui_trackercontrols.h" +#include "video_widget.h" +#include "../compat/compat.h" +#include <QObject> +#include <QTimer> -class VideoWidget : public QWidget -{ - Q_OBJECT -public: - VideoWidget(QWidget* parent); - ~VideoWidget(); - ht_video_t videoFrame; - HANDLE hMutex; -protected: - void paintEvent(QPaintEvent* e); -private: - QTimer timer; -}; - -class Tracker : public ITracker +class Tracker : public QObject, public ITracker { + Q_OBJECT public: Tracker(); ~Tracker(); - void Initialize(QFrame *videoframe); - void StartTracker(HWND parent_window); - void StopTracker(bool exit); - bool GiveHeadPoseData(THeadPoseData *data); + void StartTracker(QFrame* frame); + bool GiveHeadPoseData(THeadPoseData *data); bool enableTX, enableTY, enableTZ, enableRX, enableRY, enableRZ; ht_shm_t* shm; + bool NeedsTimeToFinish() { + return true; + } + void WaitForExit() { + if (shm) { + shm->terminate = true; + subprocess.waitForFinished(5000); + } + subprocess.kill(); + } private: - HANDLE hMutex, hMapFile; - bool paused; + QTimer timer; + PortableLockedShm lck_shm; QProcess subprocess; VideoWidget* videoWidget; QHBoxLayout* layout; + volatile bool fresh; +private slots: + void paint_widget(); }; // Widget that has controls for FTNoIR protocol client-settings. diff --git a/FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h b/FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h index 01b4cfa0..f3bfd381 100644 --- a/FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h +++ b/FTNoIR_Tracker_HT/ftnoir_tracker_ht_dll.h @@ -5,10 +5,11 @@ * copyright notice and this permission notice appear in all copies. */ -#include "..\ftnoir_tracker_base\ftnoir_tracker_base.h" +#include "../ftnoir_tracker_base/ftnoir_tracker_base.h" +#include "../facetracknoir/global-settings.h" //----------------------------------------------------------------------------- -class TrackerDll : public ITrackerDll +class TrackerDll : public Metadata { // ITrackerDll interface void Initialize() {} @@ -16,4 +17,4 @@ class TrackerDll : public ITrackerDll void getShortName(QString *strToBeFilled); void getDescription(QString *strToBeFilled); void getIcon(QIcon *icon); -};
\ No newline at end of file +}; diff --git a/FTNoIR_Tracker_HT/stdafx.h b/FTNoIR_Tracker_HT/stdafx.h index 9cbe1001..0e532c9f 100644 --- a/FTNoIR_Tracker_HT/stdafx.h +++ b/FTNoIR_Tracker_HT/stdafx.h @@ -1,31 +1,3 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#pragma once - -// Modify the following defines if you have to target a platform prior to the ones specified below. -// Refer to MSDN for the latest info on corresponding values for different platforms. -#ifndef WINVER // Allow use of features specific to Windows XP or later. -#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows. -#endif - -#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. -#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. -#endif - -#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later. -#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. -#endif - -#ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later. -#define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE. -#endif - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files: -#include <windows.h> #include <QWidget> #include <QMessageBox> #include <QProcess> @@ -40,4 +12,3 @@ #include <QPaintEvent> #include <QList> #include <QString> -#include <dshow.h>
\ No newline at end of file diff --git a/FaceTrackNoIR/FTNoIR_KeyboardShortcuts.ui b/FaceTrackNoIR/FTNoIR_KeyboardShortcuts.ui index e9f3facb..2a5ad691 100644 --- a/FaceTrackNoIR/FTNoIR_KeyboardShortcuts.ui +++ b/FaceTrackNoIR/FTNoIR_KeyboardShortcuts.ui @@ -686,7 +686,7 @@ <widget class="QCheckBox" name="chkDisableBeep">
<property name="maximumSize">
<size>
- <width>80</width>
+ <width>85</width>
<height>16777215</height>
</size>
</property>
diff --git a/FaceTrackNoIR/FaceTrackNoIR.cpp b/FaceTrackNoIR/FaceTrackNoIR.cpp index c9a05dc9..0fe22052 100644 --- a/FaceTrackNoIR/FaceTrackNoIR.cpp +++ b/FaceTrackNoIR/FaceTrackNoIR.cpp @@ -946,6 +946,10 @@ THeadPoseData newdata; }
// Tracker::doRefreshVideo();
+ if (_curve_config) {
+ _curve_config->update();
+ }
+
}
/** set the smoothing from the slider **/
diff --git a/FaceTrackNoIR/tracker.cpp b/FaceTrackNoIR/tracker.cpp index 2c09917b..5396c95b 100644 --- a/FaceTrackNoIR/tracker.cpp +++ b/FaceTrackNoIR/tracker.cpp @@ -639,6 +639,7 @@ bool bTracker2Confid = false; }
if (pTracker) {
bTracker1Confid = pTracker->GiveHeadPoseData(&newpose);
+// qDebug() << "Tracker::run() says Roll = " << newpose.roll;
}
else {
bTracker1Confid = false;
@@ -706,6 +707,7 @@ bool bTracker2Confid = false; target_camera.pitch = getSmoothFromList( &Pitch.rawList );
target_camera.yaw = getSmoothFromList( &Yaw.rawList );
target_camera.roll = getSmoothFromList( &Roll.rawList );
+// qDebug() << "Tracker::run() says Roll from Smoothing = " << target_camera.roll;
// do the centering
target_camera = target_camera - offset_camera;
@@ -715,9 +717,11 @@ bool bTracker2Confid = false; //
if (pFilter) {
pFilter->FilterHeadPoseData(¤t_camera, &target_camera, &new_camera, Tracker::Pitch.newSample);
+// qDebug() << "Tracker::run() says Roll in Filter = " << current_camera.roll << ", Roll to output = " << new_camera.roll;
}
else {
new_camera = target_camera;
+// qDebug() << "Tracker::run() says Roll to output = " << new_camera.roll;
}
output_camera.x = X.invert * X.curvePtr->getValue(new_camera.x);
output_camera.y = Y.invert * Y.curvePtr->getValue(new_camera.y);
diff --git a/List of compatible games.xls b/List of compatible games.xls Binary files differindex 0adc680b..bdc55e62 100644 --- a/List of compatible games.xls +++ b/List of compatible games.xls diff --git a/QFunctionConfigurator/QFunctionConfigurator/QFunctionConfigurator.vcproj b/QFunctionConfigurator/QFunctionConfigurator/QFunctionConfigurator.vcproj index d907e913..29a06271 100644 --- a/QFunctionConfigurator/QFunctionConfigurator/QFunctionConfigurator.vcproj +++ b/QFunctionConfigurator/QFunctionConfigurator/QFunctionConfigurator.vcproj @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8,00"
+ Version="8.00"
Name="QFunctionConfigurator"
ProjectGUID="{2527B683-7EFC-4D51-B25A-843668649C54}"
RootNamespace="QFunctionConfigurator"
@@ -341,7 +341,7 @@ />
<Global
Name="QtVersion Win32"
- Value="qt-everywhere-opensource-src-4.6.2"
+ Value="$(DefaultQtVersion)"
/>
<Global
Name="RccDir"
diff --git a/bin/FreeTrackClient.dll b/bin/FreeTrackClient.dll Binary files differindex bf98d2b4..3c1c3963 100644 --- a/bin/FreeTrackClient.dll +++ b/bin/FreeTrackClient.dll diff --git a/bin/NPClient.dll b/bin/NPClient.dll Binary files differindex ab6175e2..b728cb95 100644 --- a/bin/NPClient.dll +++ b/bin/NPClient.dll diff --git a/bin/NPClient64.dll b/bin/NPClient64.dll Binary files differindex 1b463229..fef149d4 100644 --- a/bin/NPClient64.dll +++ b/bin/NPClient64.dll diff --git a/bin/QtOpenGL4.dll b/bin/QtOpenGL4.dll Binary files differindex c6f85c7f..91a04acd 100644 --- a/bin/QtOpenGL4.dll +++ b/bin/QtOpenGL4.dll diff --git a/bin/TIRViews.dll b/bin/TIRViews.dll Binary files differindex a1fb306f..c9427a2d 100644 --- a/bin/TIRViews.dll +++ b/bin/TIRViews.dll diff --git a/bin/tracker-ht/cleye.config b/bin/tracker-ht/cleye.config new file mode 100644 index 00000000..bfb37b47 --- /dev/null +++ b/bin/tracker-ht/cleye.config @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<cleye> + <item name="mode" value="advanced" /> +</cleye>
\ No newline at end of file diff --git a/bin/tracker-ht/head.raw b/bin/tracker-ht/head.raw index d39d6408..c29d70a2 100644 --- a/bin/tracker-ht/head.raw +++ b/bin/tracker-ht/head.raw @@ -1,98 +1,94 @@ -0.000000 32.609997 8.104449 -7.347590 39.099613 7.736829 -4.196631 32.696045 6.501138 --34.109997 0.624870 -5.158159 -32.058872 -7.430159 -2.602521 -27.702639 -1.690498 -1.381335 --20.391516 60.684307 3.603310 -32.740498 59.322212 -2.182297 -33.060722 52.414169 -0.334695 --33.060722 52.414169 -0.334695 -27.577549 43.307114 5.057074 -20.391516 60.684307 3.603310 -0.000000 42.603470 8.884142 0.000000 61.893166 4.070037 -13.989014 42.455753 7.970186 -0.000000 -12.754794 35.961197 -7.618367 -10.810278 33.086460 0.000000 -21.047792 19.163965 -0.000000 -4.143512 36.062874 -7.618367 -10.810278 33.086460 0.000000 -12.754794 35.961197 -0.000000 61.893166 4.070037 -20.391516 60.684307 3.603310 -13.989014 42.455753 7.970186 --5.609054 20.582796 13.642222 0.000000 10.760675 25.672352 0.000000 23.673689 13.371145 --7.347590 39.099613 7.736829 0.000000 32.609997 8.104449 0.000000 42.603470 8.884142 --28.960464 -21.419615 0.599514 -26.403934 -21.223911 1.921049 -29.317999 -19.359867 0.315295 --10.585984 -41.068447 15.845928 0.000000 -21.047792 19.163965 0.000000 -42.255722 18.587744 --27.702639 -1.690498 -1.381335 -18.419840 2.454039 3.659557 -14.432987 19.215080 -4.842422 --18.020000 -40.169670 11.722255 -26.403934 -21.223911 1.921049 -28.482496 -24.243999 1.549272 --15.871305 -17.996796 5.583137 -18.020000 -40.169670 11.722255 -10.585984 -41.068447 15.845928 --18.419840 2.454039 3.659557 -27.702639 -1.690498 -1.381335 -15.871305 -17.996796 5.583137 --30.098633 18.459513 -3.714143 -35.892509 18.887854 -7.904358 -35.315048 15.105168 -8.432940 --35.315048 15.105168 -8.432940 -30.677572 12.480466 -5.656359 -30.098633 18.459513 -3.714143 --12.196831 -44.513969 13.330440 -10.585984 -41.068447 15.845928 0.000000 -45.784542 15.657967 --7.347590 39.099613 7.736829 0.000000 42.603470 8.884142 -13.989014 42.455753 7.970186 --7.618367 -10.810278 33.086460 -5.609054 20.582796 13.642222 -12.683728 7.948504 11.716074 --4.196631 32.696045 6.501138 -7.347590 39.099613 7.736829 -9.176074 29.896723 0.762968 --5.609054 20.582796 13.642222 0.000000 23.673689 13.371145 0.000000 32.609997 8.104449 --5.609054 20.582796 13.642222 0.000000 32.609997 8.104449 -4.196631 32.696045 6.501138 --26.403934 -21.223911 1.921049 -15.871305 -17.996796 5.583137 -27.702639 -1.690498 -1.381335 --18.020000 -40.169670 11.722255 -15.871305 -17.996796 5.583137 -26.403934 -21.223911 1.921049 -0.000000 10.760675 25.672352 -7.618367 -10.810278 33.086460 0.000000 -4.143512 36.062874 --26.403934 -21.223911 1.921049 -27.702639 -1.690498 -1.381335 -32.058872 -7.430159 -2.602521 --32.058872 -7.430159 -2.602521 -29.317999 -19.359867 0.315295 -26.403934 -21.223911 1.921049 --7.618367 -10.810278 33.086460 -15.871305 -17.996796 5.583137 0.000000 -21.047792 19.163965 --26.403934 -21.223911 1.921049 -28.960464 -21.419615 0.599514 -28.482496 -24.243999 1.549272 -0.000000 -21.047792 19.163965 -15.871305 -17.996796 5.583137 -10.585984 -41.068447 15.845928 --10.585984 -41.068447 15.845928 0.000000 -42.255722 18.587744 0.000000 -45.784542 15.657967 --12.683728 7.948504 11.716074 -5.609054 20.582796 13.642222 -14.432987 19.215080 -4.842422 --10.585984 -41.068447 15.845928 -18.020000 -40.169670 11.722255 -12.196831 -44.513969 13.330440 --18.419840 2.454039 3.659557 -12.683728 7.948504 11.716074 -14.432987 19.215080 -4.842422 --5.609054 20.582796 13.642222 -7.618367 -10.810278 33.086460 0.000000 10.760675 25.672352 --4.196631 32.696045 6.501138 -9.176074 29.896723 0.762968 -5.609054 20.582796 13.642222 --15.871305 -17.996796 5.583137 -7.618367 -10.810278 33.086460 -12.683728 7.948504 11.716074 --12.683728 7.948504 11.716074 -18.419840 2.454039 3.659557 -15.871305 -17.996796 5.583137 --30.677572 12.480466 -5.656359 -34.799980 9.043473 -7.137754 -34.109997 0.624870 -5.158159 --34.109997 0.624870 -5.158159 -27.702639 -1.690498 -1.381335 -30.677572 12.480466 -5.656359 --30.098633 18.459513 -3.714143 -30.677572 12.480466 -5.656359 -14.432987 19.215080 -4.842422 --30.677572 12.480466 -5.656359 -27.702639 -1.690498 -1.381335 -14.432987 19.215080 -4.842422 --35.315048 15.105168 -8.432940 -34.799980 9.043473 -7.137754 -30.677572 12.480466 -5.656359 --9.176074 29.896723 0.762968 -14.432987 19.215080 -4.842422 -5.609054 20.582796 13.642222 --7.347590 39.099613 7.736829 -13.989014 42.455753 7.970186 -9.176074 29.896723 0.762968 --33.060722 52.414169 -0.334695 -34.288383 44.492290 0.969077 -27.577549 43.307114 5.057074 --27.577549 43.307114 5.057074 -13.989014 42.455753 7.970186 -20.391516 60.684307 3.603310 -0.000000 32.609997 8.104449 4.196631 32.696045 6.501138 7.347590 39.099613 7.736829 -34.109997 0.624870 -5.158159 27.702639 -1.690498 -1.381335 32.058872 -7.430159 -2.602521 -20.391516 60.684307 3.603310 33.060722 52.414169 -0.334695 32.740498 59.322212 -2.182297 -33.060722 52.414169 -0.334695 20.391516 60.684307 3.603310 27.577549 43.307114 5.057074 -0.000000 42.603470 8.884142 13.989014 42.455753 7.970186 0.000000 61.893166 4.070037 -0.000000 -12.754794 35.961197 0.000000 -21.047792 19.163965 7.618367 -10.810278 33.086460 -0.000000 -4.143512 36.062874 0.000000 -12.754794 35.961197 7.618367 -10.810278 33.086460 -0.000000 61.893166 4.070037 13.989014 42.455753 7.970186 20.391516 60.684307 3.603310 -5.609054 20.582796 13.642222 0.000000 23.673689 13.371145 0.000000 10.760675 25.672352 -7.347590 39.099613 7.736829 0.000000 42.603470 8.884142 0.000000 32.609997 8.104449 -28.960464 -21.419615 0.599514 29.317999 -19.359867 0.315295 26.403934 -21.223911 1.921049 -10.585984 -41.068447 15.845928 0.000000 -42.255722 18.587744 0.000000 -21.047792 19.163965 -27.702639 -1.690498 -1.381335 14.432987 19.215080 -4.842422 18.419840 2.454039 3.659557 -18.020000 -40.169670 11.722255 28.482496 -24.243999 1.549272 26.403934 -21.223911 1.921049 -15.871305 -17.996796 5.583137 10.585984 -41.068447 15.845928 18.020000 -40.169670 11.722255 -18.419840 2.454039 3.659557 15.871305 -17.996796 5.583137 27.702639 -1.690498 -1.381335 -30.098633 18.459513 -3.714143 35.315048 15.105168 -8.432940 35.892509 18.887854 -7.904358 -35.315048 15.105168 -8.432940 30.098633 18.459513 -3.714143 30.677572 12.480466 -5.656359 -12.196831 -44.513969 13.330440 0.000000 -45.784542 15.657967 10.585984 -41.068447 15.845928 -7.347590 39.099613 7.736829 13.989014 42.455753 7.970186 0.000000 42.603470 8.884142 -7.618367 -10.810278 33.086460 12.683728 7.948504 11.716074 5.609054 20.582796 13.642222 -4.196631 32.696045 6.501138 9.176074 29.896723 0.762968 7.347590 39.099613 7.736829 -5.609054 20.582796 13.642222 0.000000 32.609997 8.104449 0.000000 23.673689 13.371145 -5.609054 20.582796 13.642222 4.196631 32.696045 6.501138 0.000000 32.609997 8.104449 -26.403934 -21.223911 1.921049 27.702639 -1.690498 -1.381335 15.871305 -17.996796 5.583137 -18.020000 -40.169670 11.722255 26.403934 -21.223911 1.921049 15.871305 -17.996796 5.583137 -0.000000 10.760675 25.672352 0.000000 -4.143512 36.062874 7.618367 -10.810278 33.086460 -26.403934 -21.223911 1.921049 32.058872 -7.430159 -2.602521 27.702639 -1.690498 -1.381335 -32.058872 -7.430159 -2.602521 26.403934 -21.223911 1.921049 29.317999 -19.359867 0.315295 -7.618367 -10.810278 33.086460 0.000000 -21.047792 19.163965 15.871305 -17.996796 5.583137 -26.403934 -21.223911 1.921049 28.482496 -24.243999 1.549272 28.960464 -21.419615 0.599514 -0.000000 -21.047792 19.163965 10.585984 -41.068447 15.845928 15.871305 -17.996796 5.583137 -10.585984 -41.068447 15.845928 0.000000 -45.784542 15.657967 0.000000 -42.255722 18.587744 -12.683728 7.948504 11.716074 14.432987 19.215080 -4.842422 5.609054 20.582796 13.642222 -10.585984 -41.068447 15.845928 12.196831 -44.513969 13.330440 18.020000 -40.169670 11.722255 -18.419840 2.454039 3.659557 14.432987 19.215080 -4.842422 12.683728 7.948504 11.716074 -5.609054 20.582796 13.642222 0.000000 10.760675 25.672352 7.618367 -10.810278 33.086460 -4.196631 32.696045 6.501138 5.609054 20.582796 13.642222 9.176074 29.896723 0.762968 -15.871305 -17.996796 5.583137 12.683728 7.948504 11.716074 7.618367 -10.810278 33.086460 -12.683728 7.948504 11.716074 15.871305 -17.996796 5.583137 18.419840 2.454039 3.659557 -30.677572 12.480466 -5.656359 34.109997 0.624870 -5.158159 34.799980 9.043473 -7.137754 -34.109997 0.624870 -5.158159 30.677572 12.480466 -5.656359 27.702639 -1.690498 -1.381335 -30.098633 18.459513 -3.714143 14.432987 19.215080 -4.842422 30.677572 12.480466 -5.656359 -30.677572 12.480466 -5.656359 14.432987 19.215080 -4.842422 27.702639 -1.690498 -1.381335 -35.315048 15.105168 -8.432940 30.677572 12.480466 -5.656359 34.799980 9.043473 -7.137754 -9.176074 29.896723 0.762968 5.609054 20.582796 13.642222 14.432987 19.215080 -4.842422 -7.347590 39.099613 7.736829 9.176074 29.896723 0.762968 13.989014 42.455753 7.970186 -33.060722 52.414169 -0.334695 27.577549 43.307114 5.057074 34.288383 44.492290 0.969077 -27.577549 43.307114 5.057074 20.391516 60.684307 3.603310 13.989014 42.455753 7.970186 +0.000000 0.046381 0.102409 -0.004673 0.045937 0.102059 -0.005057 0.036518 0.104452 +-0.041739 0.009398 0.086040 -0.038798 -0.004968 0.090329 -0.029317 0.006111 0.093098 +-0.018384 0.071441 0.101492 -0.037933 0.072461 0.092862 -0.026911 0.059041 0.101535 +0.000000 0.053834 0.104081 0.000000 0.071376 0.101241 -0.011053 0.051657 0.102784 +0.000000 -0.004846 0.131352 -0.011024 -0.002516 0.124890 0.000000 -0.014635 0.112559 +0.000000 0.003099 0.131941 -0.011024 -0.002516 0.124890 0.000000 -0.004846 0.131352 +0.000000 0.071376 0.101241 -0.018384 0.071441 0.101492 -0.011053 0.051657 0.102784 +-0.007717 0.025703 0.113210 0.000000 0.019987 0.121199 0.000000 0.034987 0.108182 +-0.004673 0.045937 0.102059 0.000000 0.046381 0.102409 0.000000 0.053834 0.104081 +-0.034447 -0.017321 0.093453 -0.025034 -0.014668 0.096344 -0.038798 -0.004968 0.090329 +-0.009632 -0.036241 0.109342 0.000000 -0.036493 0.110999 0.000000 -0.014635 0.112559 +-0.029317 0.006111 0.093098 -0.018583 0.010280 0.100619 -0.016963 0.030187 0.088877 +-0.029984 -0.025940 0.098166 -0.016650 -0.036445 0.106242 -0.025034 -0.014668 0.096344 +-0.018924 -0.008888 0.098119 -0.016650 -0.036445 0.106242 -0.009632 -0.036241 0.109342 +-0.018583 0.010280 0.100619 -0.029317 0.006111 0.093098 -0.018924 -0.008888 0.098119 +-0.035349 0.028223 0.089096 -0.045770 0.030335 0.082310 -0.033545 0.023614 0.087953 +-0.011896 -0.039241 0.106074 0.000000 -0.039683 0.108257 -0.009632 -0.036241 0.109342 +-0.004673 0.045937 0.102059 0.000000 0.053834 0.104081 -0.011053 0.051657 0.102784 +-0.011024 -0.002516 0.124890 -0.007717 0.025703 0.113210 -0.012957 0.011201 0.112091 +-0.029984 -0.025940 0.098166 -0.018721 -0.037923 0.103775 -0.016650 -0.036445 0.106242 +-0.005057 0.036518 0.104452 -0.004673 0.045937 0.102059 -0.009974 0.039416 0.094960 +0.000000 0.046381 0.102409 -0.005057 0.036518 0.104452 0.000000 0.034987 0.108182 +-0.025034 -0.014668 0.096344 -0.018924 -0.008888 0.098119 -0.029317 0.006111 0.093098 +-0.016650 -0.036445 0.106242 -0.018721 -0.037923 0.103775 -0.011896 -0.039241 0.106074 +-0.016650 -0.036445 0.106242 -0.018924 -0.008888 0.098119 -0.025034 -0.014668 0.096344 +0.000000 0.019987 0.121199 -0.011024 -0.002516 0.124890 0.000000 0.003099 0.131941 +-0.025034 -0.014668 0.096344 -0.029317 0.006111 0.093098 -0.038798 -0.004968 0.090329 +-0.011024 -0.002516 0.124890 -0.018924 -0.008888 0.098119 0.000000 -0.014635 0.112559 +-0.025034 -0.014668 0.096344 -0.034447 -0.017321 0.093453 -0.029984 -0.025940 0.098166 +0.000000 -0.014635 0.112559 -0.018924 -0.008888 0.098119 -0.009632 -0.036241 0.109342 +-0.009632 -0.036241 0.109342 0.000000 -0.039683 0.108257 0.000000 -0.036493 0.110999 +-0.012957 0.011201 0.112091 -0.007717 0.025703 0.113210 -0.016963 0.030187 0.088877 +-0.009632 -0.036241 0.109342 -0.016650 -0.036445 0.106242 -0.011896 -0.039241 0.106074 +-0.018583 0.010280 0.100619 -0.012957 0.011201 0.112091 -0.016963 0.030187 0.088877 +-0.007717 0.025703 0.113210 -0.011024 -0.002516 0.124890 0.000000 0.019987 0.121199 +-0.009974 0.039416 0.094960 -0.016963 0.030187 0.088877 -0.005057 0.036518 0.104452 +-0.018924 -0.008888 0.098119 -0.011024 -0.002516 0.124890 -0.012957 0.011201 0.112091 +-0.012957 0.011201 0.112091 -0.018583 0.010280 0.100619 -0.018924 -0.008888 0.098119 +-0.033545 0.023614 0.087953 -0.041739 0.009398 0.086040 -0.029317 0.006111 0.093098 +-0.035349 0.028223 0.089096 -0.033545 0.023614 0.087953 -0.016963 0.030187 0.088877 +-0.033545 0.023614 0.087953 -0.029317 0.006111 0.093098 -0.016963 0.030187 0.088877 +-0.045770 0.030335 0.082310 -0.041739 0.009398 0.086040 -0.033545 0.023614 0.087953 +-0.005057 0.036518 0.104452 -0.007717 0.025703 0.113210 0.000000 0.034987 0.108182 +-0.004673 0.045937 0.102059 -0.011053 0.051657 0.102784 -0.009974 0.039416 0.094960 +-0.037933 0.072461 0.092862 -0.040919 0.061024 0.093603 -0.026911 0.059041 0.101535 +-0.026911 0.059041 0.101535 -0.011053 0.051657 0.102784 -0.018384 0.071441 0.101492 +-0.016963 0.030187 0.088877 -0.007717 0.025703 0.113210 -0.005057 0.036518 0.104452 +0.000000 0.046381 0.102409 0.005057 0.036518 0.104452 0.004673 0.045937 0.102059 +0.041739 0.009398 0.086040 0.029317 0.006111 0.093098 0.038798 -0.004968 0.090329 +0.018384 0.071441 0.101492 0.026911 0.059041 0.101535 0.037933 0.072461 0.092862 +0.000000 0.053834 0.104081 0.011053 0.051657 0.102784 0.000000 0.071376 0.101241 +0.000000 -0.004846 0.131352 0.000000 -0.014635 0.112559 0.011024 -0.002516 0.124890 +0.000000 -0.004846 0.131352 0.011024 -0.002516 0.124890 0.000000 0.003099 0.131941 +0.000000 0.071376 0.101241 0.011053 0.051657 0.102784 0.018384 0.071441 0.101492 +0.007717 0.025703 0.113210 0.000000 0.034987 0.108182 0.000000 0.019987 0.121199 +0.004673 0.045937 0.102059 0.000000 0.053834 0.104081 0.000000 0.046381 0.102409 +0.034447 -0.017321 0.093453 0.038798 -0.004968 0.090329 0.025034 -0.014668 0.096344 +0.009632 -0.036241 0.109342 0.000000 -0.014635 0.112559 0.000000 -0.036493 0.110999 +0.029317 0.006111 0.093098 0.016963 0.030187 0.088877 0.018583 0.010280 0.100619 +0.029984 -0.025940 0.098166 0.025034 -0.014668 0.096344 0.016650 -0.036445 0.106242 +0.018924 -0.008888 0.098119 0.009632 -0.036241 0.109342 0.016650 -0.036445 0.106242 +0.018583 0.010280 0.100619 0.018924 -0.008888 0.098119 0.029317 0.006111 0.093098 +0.035349 0.028223 0.089096 0.033545 0.023614 0.087953 0.045770 0.030335 0.082310 +0.011896 -0.039241 0.106074 0.009632 -0.036241 0.109342 0.000000 -0.039683 0.108257 +0.004673 0.045937 0.102059 0.011053 0.051657 0.102784 0.000000 0.053834 0.104081 +0.011024 -0.002516 0.124890 0.012957 0.011201 0.112091 0.007717 0.025703 0.113210 +0.029984 -0.025940 0.098166 0.016650 -0.036445 0.106242 0.018721 -0.037923 0.103775 +0.005057 0.036518 0.104452 0.009974 0.039416 0.094960 0.004673 0.045937 0.102059 +0.000000 0.046381 0.102409 0.000000 0.034987 0.108182 0.005057 0.036518 0.104452 +0.025034 -0.014668 0.096344 0.029317 0.006111 0.093098 0.018924 -0.008888 0.098119 +0.016650 -0.036445 0.106242 0.011896 -0.039241 0.106074 0.018721 -0.037923 0.103775 +0.016650 -0.036445 0.106242 0.025034 -0.014668 0.096344 0.018924 -0.008888 0.098119 +0.000000 0.019987 0.121199 0.000000 0.003099 0.131941 0.011024 -0.002516 0.124890 +0.025034 -0.014668 0.096344 0.038798 -0.004968 0.090329 0.029317 0.006111 0.093098 +0.011024 -0.002516 0.124890 0.000000 -0.014635 0.112559 0.018924 -0.008888 0.098119 +0.025034 -0.014668 0.096344 0.029984 -0.025940 0.098166 0.034447 -0.017321 0.093453 +0.000000 -0.014635 0.112559 0.009632 -0.036241 0.109342 0.018924 -0.008888 0.098119 +0.009632 -0.036241 0.109342 0.000000 -0.036493 0.110999 0.000000 -0.039683 0.108257 +0.012957 0.011201 0.112091 0.016963 0.030187 0.088877 0.007717 0.025703 0.113210 +0.009632 -0.036241 0.109342 0.011896 -0.039241 0.106074 0.016650 -0.036445 0.106242 +0.018583 0.010280 0.100619 0.016963 0.030187 0.088877 0.012957 0.011201 0.112091 +0.000000 0.019987 0.121199 0.011024 -0.002516 0.124890 0.007717 0.025703 0.113210 +0.009974 0.039416 0.094960 0.005057 0.036518 0.104452 0.016963 0.030187 0.088877 +0.018924 -0.008888 0.098119 0.012957 0.011201 0.112091 0.011024 -0.002516 0.124890 +0.012957 0.011201 0.112091 0.018924 -0.008888 0.098119 0.018583 0.010280 0.100619 +0.033545 0.023614 0.087953 0.029317 0.006111 0.093098 0.041739 0.009398 0.086040 +0.035349 0.028223 0.089096 0.016963 0.030187 0.088877 0.033545 0.023614 0.087953 +0.033545 0.023614 0.087953 0.016963 0.030187 0.088877 0.029317 0.006111 0.093098 +0.045770 0.030335 0.082310 0.033545 0.023614 0.087953 0.041739 0.009398 0.086040 +0.005057 0.036518 0.104452 0.000000 0.034987 0.108182 0.007717 0.025703 0.113210 +0.004673 0.045937 0.102059 0.009974 0.039416 0.094960 0.011053 0.051657 0.102784 +0.037933 0.072461 0.092862 0.026911 0.059041 0.101535 0.040919 0.061024 0.093603 +0.026911 0.059041 0.101535 0.018384 0.071441 0.101492 0.011053 0.051657 0.102784 +0.016963 0.030187 0.088877 0.005057 0.036518 0.104452 0.007717 0.025703 0.113210 diff --git a/bin/tracker-ht/headtracker-ftnoir.exe b/bin/tracker-ht/headtracker-ftnoir.exe Binary files differindex a5b0cd77..3570a179 100644 --- a/bin/tracker-ht/headtracker-ftnoir.exe +++ b/bin/tracker-ht/headtracker-ftnoir.exe diff --git a/bin/tracker-ht/thanks.txt b/bin/tracker-ht/thanks.txt new file mode 100644 index 00000000..42612dfa --- /dev/null +++ b/bin/tracker-ht/thanks.txt @@ -0,0 +1,5 @@ +The following people deserve thanks for their work on libheadtracker: + +The awesome head mesh, made using a 3D scanner was made by +Jed Frechette. I cannot thank him enough, given how much it +helped improve the program.
\ No newline at end of file |