And head tracking through hacked mouse emulation is fubar.
Yeah, it really is, for many reasons. I'm currently also trying to mod support into a game, but I'm manipulating the camera directly at the DirectX level (vertex shader parameters). This has multiple advantages:
- you can get the correct FoV (which is out of reach of settings for most games -- if they even have FoV settings)
- you are not "locked in" to a view when the game decides to do so
- you get the fastest possible response time -- no need to go through the games' input loop to incorporate new sensor data
However, sadly it has some extremely hard to circumvent problems:
- it's
much harder to do. You need to figure out which parameters in which vertex shaders represent the camera/perspective matrix, and manipulate all of them accordingly, and do that in all render calls of the program. And also for (potential) tertiary values influenced by the view matrix.
- even if you manage all the above, you are basically fucked if the game does any culling in software, since that will still use the unchanged original FoV
Considering all this, the only way to get really good support in existing games is actually modifying their own camera handling in the binary. Which is a hard
and labor-intensive task. A really bad combination, since the way you could usually deal with a labor-intensive issue in a situation like that -- by distributing it over tons of people with open source -- doesn't work nearly as well when the task in question requires a skill set very few people have.