![]() |
|
|||||||
| Controls threads Everything about controls in CoD |
| View Poll Results: Do you like to see Freetrack interface integrated in IL-2:CoD? | |||
| Yes, I like to have Freetrack interface integrated in IL-2:CoD. |
|
133 | 81.60% |
| No, I don't like to have Freetrack interface integrated in IL-2:CoD. |
|
30 | 18.40% |
| Voters: 163. You may not vote on this poll | |||
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
#1
|
|||
|
|||
|
FMD....
that is the problem the alternatives developers have every opportunity to present a clean alternative to developers in seeking inclusion. A consensus was reached very early in the thread on games should be available to alternative headtracking even when FT uses a an non-TIR interfacing, most users pass that over for the TIR interfacing for its quality. there is no monopoly (proven) and no proof of anti-competitive behaviour (that cry has been going on for 2 -3 years now) |
|
#2
|
|||
|
|||
|
Quote:
and, for your information, this is the C++ source code to use Freetrack DLL Code:
/************************************************************************
* freetrack_c_interface.c
*
* A simple command line application which reads the data from FreeTrack
* using the FreeTrackClient.dll interface.
*
* Assumes that a copy of the FreeTrackClient.dll is in the same folder,
* thought this does not necessarily have to be the same folder as the
* FreeTrack application itself.
*
* Based on code from http://en.wikipedia.org/wiki/Dynamic-link_library
*
* Alastair Moore, December 2007
*
************************************************************************/
//#include <iostream>
//#include <tchar.h>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
typedef struct
{
float yaw;
float pitch;
float roll;
float x;
float y;
float z;
int dataID;
}FreeTrackData;
// 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)(FreeTrackData * data);
typedef char *(WINAPI *importGetDllVersion)(void);
typedef void (WINAPI *importReportID)(int name);
typedef char *(WINAPI *importProvider)(void);
int main(int argc, char **argv)
{
//declare imported function pointers
importGetData getData;
importGetDllVersion getDllVersion;
importReportID reportID;
importProvider provider;
// create variables for exchanging data with the dll
FreeTrackData data;
FreeTrackData *pData;
pData = &data;
char *pDllVersion;
int name = 453;
char *pProvider;
// Load DLL file
HINSTANCE hinstLib = LoadLibrary("FreeTrackClient.dll");
if (hinstLib == NULL) {
printf("ERROR: unable to load DLL\n");
return 1;
}
else
{
printf("dll loaded\n");
}
// Get function pointers
getData = (importGetData)GetProcAddress(hinstLib, "FTGetData");
getDllVersion = (importGetDllVersion)GetProcAddress(hinstLib, "FTGetDllVersion");
reportID = (importReportID)GetProcAddress(hinstLib, "FTReportID");
provider = (importProvider)GetProcAddress(hinstLib, "FTProvider");
// Check they are valid
if (getData == NULL) {
printf("ERROR: unable to find 'FTGetData' function\n");
FreeLibrary(hinstLib);
return 1;
}
if (getDllVersion == NULL){
printf("ERROR: unable to find 'FTGetDllVersion' function\n");
FreeLibrary(hinstLib);
return 1;
}
if (reportID == NULL){
printf("ERROR: unable to find 'FTReportID' function\n");
FreeLibrary(hinstLib);
return 1;
}
if (reportID == NULL){
printf("ERROR: unable to find 'FTProvider' function\n");
FreeLibrary(hinstLib);
return 1;
}
// Print the address of each function
printf("FTGetData is at address: 0x%x\n",getData);
printf("FTGetDllVersion is at address: 0x%x\n",getDllVersion);
printf("FTReportID is at address: 0x%x\n",reportID);
printf("FTProvider is at address: 0x%x\n",provider);
// Call each function and display result
pDllVersion = getDllVersion();
printf("Dll Version: %s\n", pDllVersion);
pProvider = provider();
printf("Provider: %s\n", pProvider);
reportID(name); //not sure what this does - I guess it tells the dll that I am using it.
system("pause"); //wait till keyboard is pressed before entering main loop
while( kbhit() != 1)
{
system("cls"); //clear screen
if (getData(pData))
{
printf("Record ID: %d\n" , data.dataID);
printf("Yaw: %5.2f\n" , data.yaw );
printf("Pitch: %5.2f\n" , data.pitch );
printf("Roll: %5.2f\n" , data.roll );
printf("X: %5.2f\n" , data.x );
printf("Y: %5.2f\n" , data.y );
printf("Z: %5.2f\n" , data.z );
}
else
{
printf("Nothing returned from getData\n");
break;
}
}
// Unload DLL file
FreeLibrary(hinstLib);
return 0;
}
dmn... i promised not reply to W_R posts but i had to do Alberto Last edited by albx; 02-23-2011 at 06:49 AM. |
|
#3
|
|||
|
|||
|
err, albx... I never that wasn't the code, I said it was a copy paste
(its not 100% bug free but at least it works -updated the struct -renamed FTReportID to FTReportName on line 93 -commented out the break in the loop, this allows the program to keep if for some reason the struct failed to update, so any program built off it should be error-tolerant) is from the header and I asked your pal to put into layman's terms how the FT worked, ie what did it hook into? |
|
#4
|
|||
|
|||
|
Quote:
P.S. Probably mods know who you really are, this is the reason why this thread like the other isn't locked yet? why are we killing each other only to have included FT support in CoD? If they already didn't there is a reason, so I hope Oleg & C. can change their mind if possible... Last edited by albx; 02-23-2011 at 08:37 AM. |
|
#5
|
|||
|
|||
|
who am I? I'm a layman asking about the way the FT works.... ? simple question, I thought
|
|
#6
|
|||
|
|||
|
W_R, you know how it works, you just told me in the other post (if you didn't know how to develope a C++ software you couldn't tell me), and probably you already downloaded the source code from the FT website, so what exactly do you want know? how FT compute the coords or what?
|
|
#7
|
|||
|
|||
|
err, where was this??
|
|
#8
|
|||
|
|||
|
Quote:
Maybe you or NP can answer a simple question (and I suggest all FT users simply repeat it to any quote that involves 'Hack', 'stolen', 'not clean'!). QUESTION...........Why have NP been unable to claim damages or prevent the use of their original DLL against, or by, 3rd party developers? Last edited by SEE; 02-23-2011 at 12:57 PM. |
|
#9
|
|||
|
|||
|
well, for something has been banging on for 2 ~ 3 years now, there hasn't been much advance on "monopoly" threats by FT either
|
|
#10
|
|||
|
|||
|
Quote:
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|