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

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #11  
Old 02-16-2011, 11:26 AM
Blackdog_kt Blackdog_kt is offline
Approved Member
 
Join Date: Jan 2008
Posts: 2,715
Default

I had a talk about the .ddl and legal issues with that buddy of mine who coded his own linux head tracker. Since a big part of linux in general is how distribution and lincenses work out, apparently all it takes is a few questions in the relevant forums before a bunch of lawyers will flock to answer your questions. He was worried about possible legal implications too so he did some preliminary research at the start of his project.

So, first of all you don't need the naturalpoint dll file, you can code your own dll with your own formulas and calculations to give your headtracking software the spatial awareness it needs to function. That's what my buddy did, he didn't use any naturalpoint files, he didn't reverse engineer anything, he just sat down and coded his own set of calculations.

Now, each game with headtracking support expects to see a key in your registry that tells it where the headtracking dll is. This is a simple "make a call and wait for the reply" request, the game just wants to find a set of instructions that translate movement of dots on a camera into 3d positional data.
It doesn't have to be a specific type of camera, neither does it have to be a naturalpoint file or a specific set of calculations or way of doing them. You could code it in XYZ coordinates or polar coordinates if you wanted to and it would make no difference to the game, as long as it knows that it has to look in a specific folder to receive 3d positional data.
So, you just point it to your own dll instead of a naturalpoint dll, that's all there is to it. You do this by editing your registry to point at your dll instead of the trackIR dll. This happens automatically when you install freetrack or another alternative.

It's obvious this does not qualify as hacking anything that belongs to naturalpoint, it's actually your own PC that you are hacking.



So, legally speaking, there is only one point of dispute remaining but that also seems covered by certain laws.

It seems the only copyrighted parts of the code are the IDs of the games: whenever you run a game, trackIR checks to see if it's natively supported (which is required for 6DoF and this is why people go this route instead of mouselook emulation).
The way it happens is that there's a specific numerical ID that each game with native trackIR support transmits to the trackIR software. The software sees for example 0101 and thinks "ah ok, this is IL2 sturmovik", so it proceeds to load the profile you have set up for this game, etc.
If you want to have 6DoF with an alternative headtracker and the game doesn't have a generix 6-axes interface like ArmA2, you need to incorporate these IDs into your dll. Even if your dll is fully capable of 6DoF, unless the game supports 3rd party alternatives it will only work in 6DoF if it does the "transmit/receive ID" thing with the dll. So, that's the one part of copyrighted naturalpoint stuff, which you need for 6DoF support only, a list of the game IDs with 6DoF capability.

However, there seems to be a legal clause under the US copyright law that prevents this from being legally enforceable. It goes along the lines of "if a piece of software code is the only possible way for a certain function to work even with alternative hardware, then that code cannot be copyrighted" and it's an obvious case of legislation against monopoly.

I think naturalpoint knows that keeping other dll files from using the published game ID list is legally non enforceable, they know all this better than we do for sure, and that's why they encrypted their new software instead of trying to fight a legal battle that can't be won.
Encrypting their API is perfectly within their rights and it means that whenever a new game that supports headtracking is released, it's game ID will remain secret and not get published: with the old API, you would run an update on your trackIR software (which you can download for free anyway) to get the updated list of supported games, open the dll and get the game ID from the list, with the new API you can't browse it to get the new IDs.

However, keeping the ID list a secret is still against the US copyright law apparently (the legal way seems to be to encrypt the software but publish the game ID list), but instead of naturalpoint having to sue the 3rd party developers for using the IDs and trying to go against what the law states, by encrypting the API they have thrown the glove back to them: now, if 3rd party developers want to know the game IDs it's them who have to take the case to court. They might very well win if they did so (after all, it's supposed to be part of US copyright law), but no hobbyist programmer will spare the expenses to do it.

So, a stalemate has been forced and both NP and developers of 3rd party alternatives have settled into a situation where NP can legally do nothing about alternative headtracking in older games, while 3rd party headtracking groups can do nothing about newer games unless the game developers provide a generic interface.
Reply With Quote
 


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 12:57 PM.


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