diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2013-04-02 19:08:13 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2013-04-02 19:08:13 +0200 |
commit | b474dae79d8bf70bb81d491df48371f251c67432 (patch) | |
tree | 7b2786abb4c3f66d6e401d0657569bfe0cbc4da4 /ftnoir_protocol_ft | |
parent | 8a408a516f220df149f4fc578f6313b8ddd13da6 (diff) |
rename done
Diffstat (limited to 'ftnoir_protocol_ft')
-rw-r--r-- | ftnoir_protocol_ft/fttypes.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/ftnoir_protocol_ft/fttypes.h b/ftnoir_protocol_ft/fttypes.h new file mode 100644 index 00000000..42cb729f --- /dev/null +++ b/ftnoir_protocol_ft/fttypes.h @@ -0,0 +1,104 @@ +/******************************************************************************** +* FTTypes FTTypes contains th specific type definitions for the * +* FreeTrack protocol. * +* It was loosely translated from FTTypes.pas * +* which was created by the FreeTrack-team. * +* * +* Copyright (C) 2013 Wim Vriend (Developing) * +* Ron Hendriks (Testing and Research) * +* * +* Homepage <http://www.free-track.net> * +* * +* 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 <http://www.gnu.org/licenses/>. * +* * +* We would like to extend our grattitude to the creators of SweetSpotter, * +* which has become the basis of this program: "Great work guys!" * +********************************************************************************/ +/* + Modifications (last one on top): + 20130125 - WVR: Upgraded to FT2.0: now the FreeTrack protocol supports all TIR-enabled games. The memory-mapping was expanded for this purpose. +*/ +#pragma once +#ifndef INCLUDED_FTTYPES_H +#define INCLUDED_FTTYPES_H + +#include "Windows.h" +#include <tchar.h> +#include <stdio.h> + +//#include "Registry.h" + +// static const char* FT_CLIENT_LOCATION = "Software\\Freetrack\\FreetrackClient"; + static const char* FT_CLIENT_FILENAME = "FreeTrackClient.Dll"; + static const char* FT_MM_DATA = "FT_SharedMem"; + static const char* FREETRACK = "Freetrack"; + static const char* FREETRACK_MUTEX = "FT_Mutext"; + static const char* FT_PROGRAMID = "FT_ProgramID"; + + +struct TFreeTrackData { + int DataID; + int CamWidth; + int CamHeight; + // virtual pose + float Yaw; // positive yaw to the left + float Pitch; // positive pitch up + float Roll; // positive roll to the left + float X; + float Y; + float Z; + // raw pose with no smoothing, sensitivity, response curve etc. + float RawYaw; + float RawPitch; + float RawRoll; + float RawX; + float RawY; + float RawZ; + // raw points, sorted by Y, origin top left corner + float X1; + float Y1; + float X2; + float Y2; + float X3; + float Y3; + float X4; + float Y4; +}; +typedef TFreeTrackData * PFreetrackData; + +struct FTMemMap { + TFreeTrackData data; + +#ifdef WIN64 + __int32 command; +#else + HANDLE handle; +#endif + char ProgramName[100]; // The name of the game + char GameID[10]; // The international game-ID + char FTNID[30]; // The FaceTrackNoIR game-ID + char FTNVERSION[10]; // The version of FaceTrackNoIR, in which the game was first supported +}; +typedef FTMemMap * PFTMemMap; + +//extern bool (*FTGetData) (PFreetrackData data); +// DLL function signatures +// These match those given in FTTypes.pas +// WINAPI is macro for __stdcall defined somewhere in the depths of windows.h +typedef bool (WINAPI *importGetData)(TFreeTrackData * data); +typedef char *(WINAPI *importGetDllVersion)(void); +typedef void (WINAPI *importReportID)(int name); +typedef char *(WINAPI *importProvider)(void); + +#endif//INCLUDED_FTTYPES_H |