Dear LFS Racers,
Since the release of Z28 there have been various fixes and improvements that were not related to the new physics. Some of them were already added into my Z28 compatible version as well as the new version. But until now there weren't enough significant updates to release a new version, while Z28 was so stable.
NOTE : This patch is mainly compatible with Z28, so does NOT have the new tyre physics, the VW Scirocco or any S3 content. It is an intermediate update with some interesting improvements for LFS while I continue with the tyre physics. The new version can connect to Z28 hosts, but Z28 cannot connect to the new version's hosts.
The main things in this patch :
- New free view in SHIFT+U mode - not bounded by the path
- Improved collisions with unmovable objects (e.g. red barriers)
- Number of autocross objects increased to 800 (was 512)
- Open track configurations allowing you to drive anywhere
- Collision detection and reporting system (via InSim)
- Graphical optimisations improving frame rates
- Many other fixes and improvements
The story behind the new patch :
A few weeks ago I was working on some track editor improvements that Eric had requested, when I came across a fix that could possibly affect key presses in multi byte languages. An LFS user in Japan kindly tested the change, to make sure the fix didn't break the text input. I added a few updates from the new version into the patch before sending it to him.
Talking to Victor about possibly releasing the updates in a patch, he asked if it was possible to do a quick fix in SHIFT+U mode to help with his LFS Record program. I have long been a little frustrated in SHIFT+U mode so I got a bit carried away with that and rewrote all the camera control. It took a few weeks (that made me nervous as I really want to finish the new physics) but the result is a lot nicer to use. You can move the camera around freely, not bounded to the track path. The editor is fully aware of where your mouse is pointing and that helps with mouse movement and object positioning.
Because the new view is not locked to the path of the track, LFS does not know which objects are visible, so the whole track must be drawn. I managed to find several optimisations that improved the frame rate in this situation, and that gave me a thought : if you can be in SHIFT+U mode and draw everything, then how about allowing "open configurations" where you can drive around anywhere in a track area, with the barriers removed? I thought that would make the patch more interesting, and managed to get it done in a few days.
To make the open configurations useful, you need to put barriers up using the autocross system. But the unmovable barriers were famously troublesome, often throwing your car several metres in the air if you touched a red and white barrier. Looking into this, I found that I was able to improve these collisions a lot without any major changes. It doesn't seem to affect the hotlap replays (tested on all the world records).
Over last weekend I added a collision detection system, that can send information about collisions to InSim. And today I've increased the maximum length of message packets, which will be helpful for InSim programmers.
If all goes well, it should be possible to release this as a test patch within one to two weeks. There are a few things left on my list, including VOB mod protection and some small InSim updates. I am aiming for one week - I do want to get back to the physics - but I know that finishing things off sometimes takes longer than expected.
Here is the full list of updates :
SHIFT+U mode :
New free view mode replaces the old "low" and "high" path modes
Object or ground targeted by the mouse pointer is now detected
Left mouse button moves view point by "dragging" target point
Double click to move view point directly towards target point
Mouse wheel moves view point towards or away from target point
Left + Right mouse buttons rotate view point around the target
Arrow key movement follows ground below view point when possible
Store up to 10 views per track configuration with SHIFT+NUMBER
Recall a stored view with CTRL+NUMBER (or click on the button)
Click on a car to follow it / move away to stop following
Autocross editor :
Maximum number of autocross objects is now 800 on all tracks
Object positioning is much better - using mouse target detection
Less CPU / better checks when adding / moving / deleting objects
FIX : Could click on invisible replay slider when buttons visible
FIX : Could add marshall circles out of bounds then undeletable
FIX : N key in SHIFT+U with options on caused overlapping text
Open configurations :
New "drive anywhere" open configs (CTRL in track select screen)
Open configs can be selected with text command like /track=SO1X
Open configs can be used as racing circuits by adding checkpoints
Checkpoints can now be up to 62 metres wide to include pit lane
Optimisations :
Removed continual small memory leaks (materials list corruption)
Number plate generation is much faster - reducing pit-out glitch
Frame rate increased - drawing most world objects is much faster
Interface :
Unlock screen now renames unnamed player to user name on exit
Clicking selected track loads that track (like pressing ENTER)
Windows messages processed in a cleaner way (affects key presses)
Mouse movements are processed more efficiently (drag / slide)
FIX : Mouse look info could go off screen in some languages
FIX : An invalid view could be selected when no cars in race
FIX : Meeting room scroll bar was invisible in recent versions
FIX : Text commands could be used to load layout in hotlap mode
Graphics / Audio :
Improved display of help text / lesson text / welcome messages
F9 tyre diagram and SHIFT+L suspension diagrams now antialiased
Improved tyre optimisation - no missing parts of deflected tyres
Entry screen logo and frame are now drawn if a dialog box is open
FIX : In Driver Options the driver intersected with world objects
FIX : Reset from behind a barrier at South City could stop sound
FIX : Missing shadow on ground near fences at Autocross track
Multiplayer :
List of hosts can now show hosts you are not licensed to join
Host name is displayed in task bar and window title (if Latin)
Host options are now readable when opened from game setup screen
Default host IP address is now 127.0.0.1 (address of local host)
CTRL+SHIFT now displays time and date in all multiplayer replays
Removed TCP filter that allowed old versions in the list of hosts
FIX : Some problems resulting from multiple requests to join race
FIX : Pit stop did not end if car was knocked out of the pit lane
FIX : Some crashes that could result from an invalid unlock state
FIX : Some missing images (e.g. track select) caused LFS to crash
FIX : Suspension could incorrectly stay broken on remote computer
InSim :
NLP / MCI minimum time interval reduced to 40 ms (was 50 ms)
New collision packet gives details of contact between two cars
Longer IS_MST now up to 128 chars / specify sound / send to all
Misc :
Misc options : F9 / F10 accelerometer can be shown as one value
Improved detection of invalid window positions when starting LFS
URL command is now case insensitive - LFS:// or lfs:// both work
Security : InSim can no longer be initialised from a URL command
Cruise : no need to drive a lap before serving DT / SG penalty
Cruise : current lap is not displayed if lap timing is disabled
FIX : Improved collisions with unmovable objects (red barriers)
FIX : InSim camera with vertical pitch would cause LFS to crash
FIX : OutGaugePack ID was always zero regardless of ID in cfg.txt
Since the release of Z28 there have been various fixes and improvements that were not related to the new physics. Some of them were already added into my Z28 compatible version as well as the new version. But until now there weren't enough significant updates to release a new version, while Z28 was so stable.
NOTE : This patch is mainly compatible with Z28, so does NOT have the new tyre physics, the VW Scirocco or any S3 content. It is an intermediate update with some interesting improvements for LFS while I continue with the tyre physics. The new version can connect to Z28 hosts, but Z28 cannot connect to the new version's hosts.
The main things in this patch :
- New free view in SHIFT+U mode - not bounded by the path
- Improved collisions with unmovable objects (e.g. red barriers)
- Number of autocross objects increased to 800 (was 512)
- Open track configurations allowing you to drive anywhere
- Collision detection and reporting system (via InSim)
- Graphical optimisations improving frame rates
- Many other fixes and improvements
The story behind the new patch :
A few weeks ago I was working on some track editor improvements that Eric had requested, when I came across a fix that could possibly affect key presses in multi byte languages. An LFS user in Japan kindly tested the change, to make sure the fix didn't break the text input. I added a few updates from the new version into the patch before sending it to him.
Talking to Victor about possibly releasing the updates in a patch, he asked if it was possible to do a quick fix in SHIFT+U mode to help with his LFS Record program. I have long been a little frustrated in SHIFT+U mode so I got a bit carried away with that and rewrote all the camera control. It took a few weeks (that made me nervous as I really want to finish the new physics) but the result is a lot nicer to use. You can move the camera around freely, not bounded to the track path. The editor is fully aware of where your mouse is pointing and that helps with mouse movement and object positioning.
Because the new view is not locked to the path of the track, LFS does not know which objects are visible, so the whole track must be drawn. I managed to find several optimisations that improved the frame rate in this situation, and that gave me a thought : if you can be in SHIFT+U mode and draw everything, then how about allowing "open configurations" where you can drive around anywhere in a track area, with the barriers removed? I thought that would make the patch more interesting, and managed to get it done in a few days.
To make the open configurations useful, you need to put barriers up using the autocross system. But the unmovable barriers were famously troublesome, often throwing your car several metres in the air if you touched a red and white barrier. Looking into this, I found that I was able to improve these collisions a lot without any major changes. It doesn't seem to affect the hotlap replays (tested on all the world records).
Over last weekend I added a collision detection system, that can send information about collisions to InSim. And today I've increased the maximum length of message packets, which will be helpful for InSim programmers.
If all goes well, it should be possible to release this as a test patch within one to two weeks. There are a few things left on my list, including VOB mod protection and some small InSim updates. I am aiming for one week - I do want to get back to the physics - but I know that finishing things off sometimes takes longer than expected.
Here is the full list of updates :
SHIFT+U mode :
New free view mode replaces the old "low" and "high" path modes
Object or ground targeted by the mouse pointer is now detected
Left mouse button moves view point by "dragging" target point
Double click to move view point directly towards target point
Mouse wheel moves view point towards or away from target point
Left + Right mouse buttons rotate view point around the target
Arrow key movement follows ground below view point when possible
Store up to 10 views per track configuration with SHIFT+NUMBER
Recall a stored view with CTRL+NUMBER (or click on the button)
Click on a car to follow it / move away to stop following
Autocross editor :
Maximum number of autocross objects is now 800 on all tracks
Object positioning is much better - using mouse target detection
Less CPU / better checks when adding / moving / deleting objects
FIX : Could click on invisible replay slider when buttons visible
FIX : Could add marshall circles out of bounds then undeletable
FIX : N key in SHIFT+U with options on caused overlapping text
Open configurations :
New "drive anywhere" open configs (CTRL in track select screen)
Open configs can be selected with text command like /track=SO1X
Open configs can be used as racing circuits by adding checkpoints
Checkpoints can now be up to 62 metres wide to include pit lane
Optimisations :
Removed continual small memory leaks (materials list corruption)
Number plate generation is much faster - reducing pit-out glitch
Frame rate increased - drawing most world objects is much faster
Interface :
Unlock screen now renames unnamed player to user name on exit
Clicking selected track loads that track (like pressing ENTER)
Windows messages processed in a cleaner way (affects key presses)
Mouse movements are processed more efficiently (drag / slide)
FIX : Mouse look info could go off screen in some languages
FIX : An invalid view could be selected when no cars in race
FIX : Meeting room scroll bar was invisible in recent versions
FIX : Text commands could be used to load layout in hotlap mode
Graphics / Audio :
Improved display of help text / lesson text / welcome messages
F9 tyre diagram and SHIFT+L suspension diagrams now antialiased
Improved tyre optimisation - no missing parts of deflected tyres
Entry screen logo and frame are now drawn if a dialog box is open
FIX : In Driver Options the driver intersected with world objects
FIX : Reset from behind a barrier at South City could stop sound
FIX : Missing shadow on ground near fences at Autocross track
Multiplayer :
List of hosts can now show hosts you are not licensed to join
Host name is displayed in task bar and window title (if Latin)
Host options are now readable when opened from game setup screen
Default host IP address is now 127.0.0.1 (address of local host)
CTRL+SHIFT now displays time and date in all multiplayer replays
Removed TCP filter that allowed old versions in the list of hosts
FIX : Some problems resulting from multiple requests to join race
FIX : Pit stop did not end if car was knocked out of the pit lane
FIX : Some crashes that could result from an invalid unlock state
FIX : Some missing images (e.g. track select) caused LFS to crash
FIX : Suspension could incorrectly stay broken on remote computer
InSim :
NLP / MCI minimum time interval reduced to 40 ms (was 50 ms)
New collision packet gives details of contact between two cars
Longer IS_MST now up to 128 chars / specify sound / send to all
Misc :
Misc options : F9 / F10 accelerometer can be shown as one value
Improved detection of invalid window positions when starting LFS
URL command is now case insensitive - LFS:// or lfs:// both work
Security : InSim can no longer be initialised from a URL command
Cruise : no need to drive a lap before serving DT / SG penalty
Cruise : current lap is not displayed if lap timing is disabled
FIX : Improved collisions with unmovable objects (red barriers)
FIX : InSim camera with vertical pitch would cause LFS to crash
FIX : OutGaugePack ID was always zero regardless of ID in cfg.txt