Page 1 of 1

Head Tracking Locked in multiplayer

Posted: Mon Sep 07, 2020 5:12 pm
by heloguy
Has anyone else experienced this? I have two VR systems, and attempted to run a multiplayer match between the systems. I can get the session started, but so far I'm having issues with head tracking being locked forward in the cockpit (regardless of craft) on one or both of the systems. It seems to be hit or miss on one, and every time on the other. If I exit the multiplayer match, and immediately start a SP skirmish, everything works as advertised on both. Both installs of X-Wing Alliance have exactly the same patches/files installed. To make sure, I copied the install from one computer to the other after running the standard installer on the 2nd machine. I wasn't sure if they needed to be exactly the same, but I didn't want to take any chances off the bat.

Re: Head Tracking Locked in multiplayer

Posted: Mon Sep 07, 2020 11:59 pm
by Schoober
I believe this is a limitation with the engine. Mouse looking is also not availible in multiplayer, as far as i'm aware.

Re: Head Tracking Locked in multiplayer

Posted: Tue Sep 08, 2020 1:20 am
by heloguy
Ah, ok, makes sense now. Oh well, thx for the reply.

Re: Head Tracking Locked in multiplayer

Posted: Tue Sep 08, 2020 4:54 am
by blue_max
It is currently not possible to have head tracking enabled in MP. As Schoober said, this is a limitation of the engine (mouse look is also disabled for the same reason). Maybe in the future someone will figure out how to work around it, but not yet, sorry.

Re: Head Tracking Locked in multiplayer

Posted: Mon Oct 19, 2020 6:49 am
by keiranhalcyon7
I think it could be possible. I'm told (I forget by whom, but it might have been RandomStarfighter) that the reason for this limitation is that, in order to check that the game is synchronized, a checksum is run on the "game state" and sent over the network for comparison. This is why having different craft installed breaks MP even if those differing craft are not used in the current skirmish - the craft stats array is part of the checksum. The camera position and look-at vector are also part of the checksum. So, if the function that performs this checksum were known, one could hook it to ignore or mask out the camera values from the checksum (perhaps by storing these values locally, voiding them in the static locations, calling the original function, and then restoring the original values).