╔════════════════════════════════════════════════════════════════════════════════════════════════╗ ║32-bit Headtracker interface for Eagle Dynamics games. Brought to you by the FaceTrackNoIR Team.║ ╚════════════════════════════════════════════════════════════════════════════════════════════════╝ Eagle Dynamics needed a 'push in the back', but luckily that resulted in the release of the headtracker API for their games (like DCS Blackshark, DCS A-10C Warthog and others). Because the games now come in two flavours (32-bit and 64-bit), the interface to FaceTrackNoIR is also released in two versions. This is the 32-bit version! ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Workings: The following graph explains the workings of the interface. The ED-game contains a scripting language, which checks for the file headtracker.dll. This file needs to be in a specific location, defined in the script file 'input.lua', which is part of the game. The location is './bin/headtracker/headtracker.dll' by default. If headtracker.dll is found, the game loads it and calls the specified functions in it, to communicate with the head-tracker. ┌───────────────┐ ┌───────────────┐ │ DCS A-10C │ │ FaceTrackNoIR │ ┌────────┐ ┌─────────────────┐ │ (32-bit) │ │ │──────»│ Memory │──────»│ Headtracker.dll │ │ ┌────────┐ │ │ (using │ │ │ │ (32-bit) │«───────────│ Lua │ │ │ FreeTrack │ └────────┘ │ │ │ │ Script │ │ │ Protocol) │ │ │───────────»│ │ │ │ │ └─────────────────┘ │ │ │ │ └───────────────┘ │ └────────┘ │ └───────────────┘ So what we did was implement the required functions in headtracker.dll and make it communicate to FaceTrackNoIR with the FreeTrack protocol. The advantage of this is, that the interface can also be used by FreeTrack users... ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Installation: The headtracker interface for FaceTrackNoIR is distibuted in a ZIP-file. This file contains the file 'headtracker.dll', this 'readme<>.txt' file and an example 'DCS A-10C.ini' file. All three placed in a folder 'headtracker'. So all you have to do is: Unzip all files to the 'bin' folder of the ED-game (typicaly c:\program files (x86)\Eagle Dynamics\DCS A-10C\bin): overwrite files when asked. Of course the path will be different when another game is used... ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Running the game: If the installation of the DLL file was done right, the interface will work without changing any settings in the ED-game. You will not find any new head-tracker settings, no entries are added to the Controls section. The preferred startup-sequence would be: - Start FaceTrackNoIR; - Load the 'DCS A-10C.ini' file (this will happen automatically next time); - Press 'START': you will see your face in the video-widget. If your face 'was found' a yellow outline appears; - Minimize FaceTrackNoIR; - Start the game and have fun! ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Troubleshooting: Not many things can go wrong, but anyone knows that Murphy will always try to mess up your system(s). There are basically two things that can be wrong: the 'headtracker.dll' file was not installed correctly or the wrong version (32-bit or 64-bit) was used. To check if the DLL is loaded by the Lua-script, the head-tracker DLL writes a few lines to a log-file: 'C:\FTNoIR_ED_HeadTrackerLog.txt' Verify if this file exists, after running the game. If the file does NOT exist: check the installation path and/or DLL-version of 'headtracker.dll' ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Un-installing: The way the Lua-script works currently, it overrides all other camera-input sources, when the headtracker.dll was found. Even when not running FaceTrackNoIR, the script will control the camera, so you cannot use the HAT-switch, for example. We will try to persuade ED to improve this. In the meantime, the only way to un-install the head-tracker interface is by renaming or removing the file headtracker.dll, so the script will not load it. ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Feedback: Please let us know what you think of our little gadget. Posts can be made on the FaceTrackNoIR forum on SourceForge (http://sourceforge.net/projects/facetracknoir/forums/forum/1150910). Read anything about FaceTrackNoIR on the website: http://facetracknoir.sourceforge.net/home/default.htm If anyone has used FaceTrackNoIR successfully with other games, please let us know. If you can, we would also like to receive examples of the .INI-file you used for that and maybe settings of other utilities needed. Thanks! The FaceTrackNoIR team: Wim Vriend Ron Hendriks and others...