I've thought of one way to do this - LFS could sort the controllers by name (and maybe type).
So, the same set of X controllers will always be in the same order.
That should solve the problem of the order of connection and which ports you use. You would still need to do some reassignment if you removed or added a controller or changed to a different one.
Does that sound OK?
Note: For multiple controller combinations, LFS now saves separate config files so for example DEFAULT_3.con will be used if 3 controllers are detected and DEFAULT_8.con is loaded if 8 controllers are detected.
Interesting that they are nearly the same as the XBox One controller. Mine (using default drivers) does have the triggers on two separate axes. The right stick is the same as Skytrill's PS3 controller (it does have up/down).
Please can you tell me the text description shown at the top right of the controls options screen (the controller name and type of controller, in title colour, default yellow).
Thanks EeekiE, that would be good and does anyone have a Logitech game controller?
Forced by the Rift updates (trying to make LFS suitable for Oculus Store) but beneficial to everyone who has a controller.
LFS must start up already in game controller mode, if a game controller is attached. That will be default behaviour and of course you can switch it off using the usual option (mouse / kb - wheel / js). But now, internally, there will be two of those options. One for when you have no controller attached and one for when your controller is attached.
So in the next patch, LFS can be in mouse / kb mode when your wheel is not attached, and if you start next time with a wheel, then it will be in wheel / js mode. Also now you can connect your controller while LFS is already running and you can click "refresh" in Controls Options and it will load the correct assignments file (misc\*.con) previously only loaded at startup. No need to restart LFS to connect your controller.
Also I must make LFS more intelligently set up the controller (axes and buttons) the first time it is seen. To help me with this, if you have a console type controller, please could you report to me the button numbers you see in LFS, if only that one controller is attached?
EDIT: This is the information I need:
1) The number seen in LFS for each of the buttons
2) Which axis name (in LFS) relates to which analog joystick axis / analog trigger
3) Which direction is + or - (in LFS the axis display moves right with positive movement)
4) The exact name and type of controller as seen at the top right in title colour text
I have an XBox One controller so don't need this information for that one. It would be useful to have this for another XBox controller or Logitech controllers, or any others in common use.
Thanks, good find. Pit then press ENTER and T at about the same time, that gets you into the state where T no longer starts a message box.
I see why this happens and should be able to protect against it. I wonder what other cases could cause the same problem. It seems a bit unlikely that every time someone got this bug, then had pressed ENTER and T at the same time in the garage...
I'll try to fix it in a way that fixes all cases, but would like another test case to check it.
I think these are different bugs.
I think Abone's one is the same as the one above, something to do with unexpectedly terminating a chat box. The chat box does not exit properly and then LFS doesn't allow you to open a new one.
BADLVBOY I think that is a case where LFS somehow has not noticed that the ctrl or shift key is no longer pressed. It shouldn't be possible normally but I would like to know how to make it happen!
- Support for the new Oculus 1.3 software and Rift CV1
- OpenVR support updated to 0.9.19
- Various improvements to controller support (see below)
0.6N7 is fully compatible with 0.6N
- You can connect online with 0.6N
- You can play replays from 0.6N
You cannot upload hotlaps made with this test patch because it is only a test patch, not an official patch.
Please keep a backup of your LFS.exe from 0.6N so you can easily go back if there are any problems.
Changes from 0.6N6 to 0.6N7 :
Many translations updated. Thank you translators!
Default HUD field of view is now 70 degrees / HUD distance 0.5m
Improved centralisation of one-eye monitor view on desktop window
Auto-updater is avoided in VR mode and helpful options are offered
Crosshairs are always visible when watching a training replay
Changes from 0.6N4 to 0.6N6 :
Fixed an error in calculation of Rift's vertical FOV
The intro replay is avoided if LFS is started in VR mode
LFS now pauses and hides crosshairs when Rift focus is lost
OpenVR support updated to 0.9.19
RGT wheel should now be identified as a Thrustmaster
Added left and right arrows to the "Look function" option
Music in setup screens is no longer enabled by default
Changes from 0.6N3 to 0.6N4 :
Controllers with 5 axes now default to combined brake / throttle
Combined brake / throttle axis now defaults to correct direction
Automatically set Clutch setting to axis if wheel has clutch pedal
Automatic preset is now attempted on first of multiple controllers
Controller screen in game now shows correct pedals and steer gauge
New joystick look mode using two axes to control look direction
Arrow keys can now be assigned to wheel buttons (default D-pad)
Default 900 degrees turn for Logitech G25 / G27 / Driving Force
Attempted reasonable presets for Thrustmaster and DFGT wheels
A scroll bar appears if there are more than 16 available axes
Removed axis calibration system that had various problems
You can now type in the active range of an axis function
Typed range can exceed input range to reduce axis effect
Look Roll axis function now has a full 360 degree range
Changes from 0.6N2 to 0.6N3 :
Rift headphones are now used for sound output (default setting)
Rift remote can now be used for click / escape / virtual keyboard
Improved appearance of top row (ESC / F keys) of virtual keyboard
Controllers may now be plugged in and detected after LFS is started
Refresh button to detect controllers in Options - Controls screen
Controllers are now sorted (not dependent on order of connection)
Separate controller type setting for with / without controllers
Automatic controls assignment for various game controllers
Warning when you press ESC to exit controller setup screen
Button functions are now easier to see when in car
Axis names were previously displayed wrongly in Options - Controls
It was possible to enter a state where chat box could not be opened
Changes from 0.6N to 0.6N2 :
New LFSRiftVR DLL supports Oculus 1.3 software
IPD slider movement is now detected and message displayed
Now correctly handles CV1's different up and down FOV values
User can now cause LFS to exit through the Oculus software
INSTALLATION INSTRUCTIONS :
A FULL version of LFS 0.6N must already be installed
To install the PATCH using the SELF EXTRACTING ARCHIVE :
1) Move or save the patch into your main LFS folder
2) Double click the patch to extract it to that folder
3) When you see "Confirm File Replace" select "Yes to All"
4) Now you can start LFS in the normal way
NOTE : You can see if the patch is correctly installed when you run
the program (LFS.exe). At the bottom of the entry screen : 0.6N7
The test DLL for LFS does work. The Rift software does not work on my computer (at least with DK2) so I can't tell you if there is a performance increase, or if Asynchronous Timewarp makes any difference. Probably not as LFS makes the frame rate easily and the best thing about AT is compensation when programs miss frames.
0.8 and 1.3 are totally incompatible. If you install 1.3 then you will not be able to run any 0.8 software. If you stick with 0.8 then you can't run any 1.3 software. They cannot both be installed simultaneously, as far as I know.
Disadvantages include the 842 MB download. If anything goes wrong during the installation, it can go wrong with no explanation and you'll have to randomly attempt things and then do the 842 MB download again. There is no actual downloadable file, it's all through the Oculus installer, and if anything goes wrong, you start again. This happened to me. I don't know if it was installing the new NVidia drivers after the failed attempt, but it worked the second time. Only problem now (for me) is the OVRServer crashes every time I plug in the Rift (DK2). So it's completely useless and I can't use my Rift any more.
Other disadvantages are that every time you run a program, even an external program like LFS (aka programs from Unknown Sources) then it starts Oculus Home anyway and it's running in the background with a large memory footprint (apparently 661 MB). Then when you exit whichever program you are running, you are back in Oculus Home and this behaviour cannot be disabled. https://forums.oculus.com/developer/discussion/32519
If you only use LFS, on a DK2, then I can't see any reason to upgrade yet, unless you would like to try the free demos and so on, but I think you need an Xbox controller or it won't let you run anything from Oculus Home.
Yes, the best way to do that is have graphics and physics on two different threads, so more CPU power is available for each of them (assuming the CPU has more than 1 core). The physics system must then store interpolatable snapshots of completed physics steps, for the graphics thread to render whenever it is ready.
It's a good system but requires a large overhaul of the program, on the graphics and physics sides. That is fine but, as I keep saying, it's far too difficult to do while I still have two separate versions of LFS, the development version and the public version. This is one of the reasons why the tyre physics is my top priority (after getting past this important month or two for VR). When it is done, we go back to having a single version of LFS. Also it will allow new types of vehicle and so on.
There is quite a bit to do, to make it work fully with the store. For example it needs code to 'obey' the store's commands such as telling LFS to exit immediately or stop rendering while the user switches to the store and back. Some things like that anyway, I'm not sure on all the details. I worked on VR support including the "no mouse and no keyboard" system for the last few weeks as the first step to make it compliant with the store. I find that really useful in VR as you can't see the keyboard. But there is more, for example I think it needs to work straight out of the box with the XBox controller, so that when a user starts LFS from the store for the first time, they can already control it without keyboard or mouse.
So that's on the technical side. It did take a long time for Oculus to get back to me about LFS. After submitting it for consideration in December, I didn't hear back from them until March.
Anyway, they seem to be cooperating more now. I'm interested in continuing to aim for Store inclusion as it would be good exposure for LFS.
I've tried to implement support for the Oculus 1.3 software. I can't test it myself because the Oculus software just crashes on my computer.
Anyone who has successfully installed the 1.3 software, please could you try this attached DLL?
1) Make sure you have the latest Live for Speed (version 0.6N)
2) Open the attached ZIP file
3) Open your LFS\dll folder where you will find LFSRiftVR.dll - rename it for backup
4) Save this test LFSRiftVR.dll into that folder
5) Run LFS and try to enter VR mode (Options... View... 3D)