![]() |
|
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 |
#11
|
|||
|
|||
![]() Quote:
/************************************************** ********************** * 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; } Now, drop dead, please... When I said it's EASY to devs to put Freetrack suport, it's open, have SDK, I didn't think that Oleg will not have time to create a dynamic campain... Get a life now, please! And I still waisting my time in all this nonsense... Last edited by LoBiSoMeM; 02-18-2011 at 04:51 AM. |
Thread Tools | |
Display Modes | |
|
|