Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik: Cliffs of Dover > Technical threads > Controls threads

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
Prev Previous Post   Next Post Next
  #11  
Old 02-18-2011, 04:43 AM
LoBiSoMeM LoBiSoMeM is offline
Approved Member
 
Join Date: May 2010
Posts: 963
Default

Quote:
Originally Posted by Wolf_Rider View Post
@ Lobi..
yes, you've said that before about the FT interface, but the bit I (for one) be curious about is; how does the interface interact with the ArmAII/ other game?
Maybe it's hard to discover... Can I have some time?


/************************************************** **********************
* 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.
Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:27 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.