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

Reply
 
Thread Tools Display Modes
  #1  
Old 02-22-2011, 11:00 PM
Wolf_Rider Wolf_Rider is offline
Approved Member
 
Join Date: Dec 2007
Location: Sydney, Australia
Posts: 1,677
Default

Quote:
Originally Posted by JAMF View Post

I wonder where FaceTrackNoIR sits, legaly?

In which regard, JAMF?
Reply With Quote
  #2  
Old 02-22-2011, 11:17 PM
SEE SEE is offline
Approved Member
 
Join Date: Oct 2009
Posts: 1,678
Default

Quote:
Originally Posted by Wolf_Rider View Post
In which regard, JAMF?
Beacause it is used for 6DOF in Il2 and therefore........hell, do we really give a gnats turd?......it has absolutely nothing to do with the topic!

Last edited by SEE; 02-23-2011 at 01:05 AM.
Reply With Quote
  #3  
Old 02-22-2011, 11:21 PM
Wolf_Rider Wolf_Rider is offline
Approved Member
 
Join Date: Dec 2007
Location: Sydney, Australia
Posts: 1,677
Default

Quote:
Originally Posted by SEE View Post

~ do we really give a gnats turd.......

no, you don't
Reply With Quote
  #4  
Old 02-22-2011, 11:25 PM
SEE SEE is offline
Approved Member
 
Join Date: Oct 2009
Posts: 1,678
Default

W-R if your keeping count of posts ....your winning hands down! congrats there buddy. Secondly, I wouldn't call anybody an idiot but I guess my principles are different to yours.
Reply With Quote
  #5  
Old 02-22-2011, 11:29 PM
Extreme_One's Avatar
Extreme_One Extreme_One is offline
Approved Member
 
Join Date: Dec 2010
Location: Southampton, UK
Posts: 185
Default

The problem is that FT and FTnoIR are at present pretty much forced to emulate the NP software because very few game developers have opened up the possibility to interface directly with their game.

Of course this pisses NP off as they don't see why anyone should hack or emulate their software without purchasing their hardware. That's reasonable.

However it is unreasonable and undeniably false to claim that nowadays the only way to have head-tracking in a game is to have to buy expensive hardware when it's patently obvious that a webcam with the right software is perfectly capable.

If a developer were to say to, for example, the FT devs; "Hey we love what you do but we would need to enable native support rather than hacked TrackIR emulation..." then NP would no longer hold the monopoly, and we the consumer would finally have a fair choice.

It would then be up to NP to ensure that their hardware and software solution was superior to the 'webcam + free software' solution and we would have an open and honest playing field.

NP are trying to maintain their monopoly, I can't blame them but competition is healthy and if NP are stopping developers from enabling any alternative solution then that is anti-competitive and unreasonable.

Last edited by Extreme_One; 02-22-2011 at 11:38 PM.
Reply With Quote
  #6  
Old 02-22-2011, 11:42 PM
Wolf_Rider Wolf_Rider is offline
Approved Member
 
Join Date: Dec 2007
Location: Sydney, Australia
Posts: 1,677
Default

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)
Reply With Quote
  #7  
Old 02-23-2011, 05:15 AM
albx albx is offline
Approved Member
 
Join Date: Jun 2010
Location: Italy
Posts: 716
Default

Quote:
Originally Posted by Wolf_Rider View Post
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)
elaborate that please... what means? now you are climbing on the glass.. what quality have TIR interface that don't have FT?? THEY JUST SEND FUC*ING DATA THROUGH A .DLL

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;
}
the red/bolded text are the coords... that is very easy to include in a game... OK?

dmn... i promised not reply to W_R posts but i had to do

Alberto

Last edited by albx; 02-23-2011 at 05:49 AM.
Reply With Quote
  #8  
Old 02-23-2011, 06:53 AM
Wolf_Rider Wolf_Rider is offline
Approved Member
 
Join Date: Dec 2007
Location: Sydney, Australia
Posts: 1,677
Default

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?
Reply With Quote
  #9  
Old 02-23-2011, 07:32 AM
albx albx is offline
Approved Member
 
Join Date: Jun 2010
Location: Italy
Posts: 716
Default

Quote:
Originally Posted by Wolf_Rider View Post
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?
W_R you act like a dumbass but i don't think you are... so WHO really are you?

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 07:37 AM.
Reply With Quote
  #10  
Old 02-23-2011, 07:54 AM
albx albx is offline
Approved Member
 
Join Date: Jun 2010
Location: Italy
Posts: 716
Default

Quote:
Originally Posted by Wolf_Rider View Post
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?
there? or i'm so stupid i can't read english because it's not my native language? or i missed some posts?
Reply With Quote
Reply


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:44 PM.


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