LFS Editor/Version History

From LFS Manual
Jump to navigationJump to search
LFS Editor
Vehicle Mods

History of all LFS Editor versions from the beginning to the latest patch, including only major and official releases (no test patches).

See also: Version History


17 Dec, 2023


Editor sliders now have both arrows on the right
Improved messages warning of unsaved changes on exit
New icon for LFS_EDITOR.exe includes 256x256 icon image
H button at top left to hide/show message history like H key in game
Left click increments should now always be smaller than right click
- previously this was not consistent between all types of button
- as before, CTRL may do smaller steps, SHIFT may do larger steps
- this change should apply to distance, colour, angle and scale

Wheel rims and spoke objects:

Rim can now be fully edited - there are no fixed surfaces
Rim no longer blends seamlessly into the wheels without an edge
Allows more design flexibility for alloy wheels and steel wheels
Removed: edge extra width / lip depth / inner depth / black inner
A simple alloy style edge is automatically added to existing rims
Option to allow separate wheel style (rim/spokes) for front & rear
Tyre vs rim guide in the vehicle editor helps set correct rim width
Rim has 60 segments around instead of 30 (tyres still 30 around)
Rim now gets material properties from first mapping in spoke object
Spoke object can have more than one texture page, including _ALP
- for example a chrome material can now be added as first mapping
- and in that case the rim would also use that chrome material
- no alpha sorting: transparency should only be used for overlays

Rim editor:

Guide shows regions that should be covered by rim cross-section
Button "flip x" to swap selected points between left and right
The colour at the bottom of the list can now be deleted
3D view of car visible in rim editor can now be rotated
Can set the size of text buttons and selection blobs
Grid size of 1mm helps with "snap to grid" function
Mouse wheel can be used to zoom in and out quickly
You can now see and enter/copy/paste selected point coordinates
Removed direct drag on point - added diagonal drag handle instead
Snap to grid only works on the relevant drag axes (X, Y or both)
Added CTRL+D (duplicate) and CTRL+N (new point) keys

Wheel lighting:

New ambient lighting system for wheels and spokes
The new lighting system replaces the old 'rim shade' option
Separate options for front & rear lighting (open / inside covered)
Update code automatically removes Dx/Ex darker colours from rim

Spare wheel:

Option to include a left or right spare wheel (or both if offset)
Option for single spare wheel to swap side when driver swaps side
Option for spare wheels to be based on rear or front wheels
Cars with visible spare + different size wheels a little lighter
- because they are auto set to use front wheel for graphics + mass
Spare wheel heading can now be set (as well as lean)
Spare wheel offset can now be up to 1.25m (like road wheels)
Spare wheel vertical (up or z) position can be set up to 2m
Option to include hub object with any spare wheels

Moving subobjects:

Popup headlight system generalised for moving objects with switches
Subobjects can rotate a set angle, slide or spin at a given speed
This can be connected to switched lights / ignition / horn / siren
New test system in vehicle editor "Class / Inputs" tab (top left)
New flip function "with driver" (move across with driver / no flip)


Increased maximum value for brakes, suspension stiffness, damping
FIX: Fork tubes misaligned if ride height adjusted in other setups
FIX: Weight distribution was wrong if any trail reduction was set
FIX: Wheel masses not correctly positioned for trail reduction

Vehicle editor:

Exit warning only if changes have been made
Various improvements in layout and organisation
Scroll bars added to Lights tab and Textures tab
Undo and redo functions for all editor operations
Tooltips are now available (allows reduced button text)
Engine damage light can be enabled (in Transmission tab)
A new button to show the view from driver's eye position
Spare wheel can now be offset laterally (set RIGHT value)
Maximum value for main body drag increased from 1.0 to 6.0
Unsaved changes warning on clicking the X button to exit LFS
New message on clicking "Animate" if the vehicle has no driver
Question button and tip are shown for unusual FR configurations
Caster angle reduced to 2 decimal places (3 seemed excessive)
Maximum speed for each gear is now visible in the vehicle editor
- you will need to click the '-' button beside reload textures
Max subobjects to be drawn in editor increased to 40 (was 32)
Mod with too many materials cannot be exported to test in LFS
For flashing pit speed limiter light - choose brake or rear fog
Width / ratio / rim width move in bigger steps with right click
Frame position adjustments use expected steps for mouse clicks
CTRL+RMB (copy) SHIFT+RMB (paste) now work with frame point values
Hide the bottom right buttons now hides the whole settings block
Special view no longer includes wheel mass cuboids by default
Error message displayed if a vehicle file cannot be loaded
Maximum number of mesh configurations increased to 8
Specify number of rear passengers (from 1 to 3)
Manually set rear seat width (2 or 3) or offset (1)
A single road wheel can be be offset to the right
Frame tubes can be single sided (not mirrored)
Specify per object (engine, battery, frame, etc) if swaps side
Trail reduction can now be set for any vehicle (not just bikes)
- can also go negative now / recommended value zero for most cars
Minimum steering wheel (or handlebar) turn reduced to 20 degrees
Fog lights can now be used (assign in model / enable in Lights tab)
FIX: Dashboard for electric vehicles was switched off in editor
FIX: A fix for the cover image screenshot when exporting a large mod
FIX: Corrects an audio bug if a bad value is set in LFS sound editor
FIX: Save as SIT / STR name now limited to 7 characters
FIX: Crash if vehicle mod had more than 64 materials
FIX: Spare wheel pitch now expressed in degrees
FIX: Nudging of RPM sliders in engine editor


Special mapping names l_high (high beam) and l_extra (extra light)
New light colours "side" / "high" (headlights) and "extra" light
- "high" lights are for vehicles with separate high beam lights
- "extra" lights are for unspecified vehicle-specific purposes
If l_side separate there is an option to keep them on with main
If l_side not separate you can choose to share l_head or l_high
Lights now work on subobjects (e.g. bike handlebars)
Multiple mappings per special name e.g. more than one l_head
- a second word is allowed e.g. 'l_head front' / 'l_head top'
- the second word is only to make it clearer for the mod creator
- extra names such as l_sbrk and l_tbrk are no longer needed
- reduced number of special light mapping names from 18 to 12
- mesh configurations are now fully supported by the lights
- e.g. separate mappings like 'l_head stock' and 'l_head sport'
- NOTE: maximum of 4 mappings per special name in a configuration
- NOTE: all mappings in use in a group must share a single texture

Dashboard editor:

- set maximum value in km/h (steps of 5)
- option to show units (km/h or mph)

- set maximum value
- x100 or x1000
- gap 1/2 (x1000) or 5/10 (x100)
- options to show units (x100 or x1000)

Options on all gauges:
- needle colour = text colour
- needle is long
- needle above pivot
- hide pivot
- hide numbers
- hide symbol (if applicable)
- hide marks
- smaller text

A new dashboard backing texture system
- only for s_clock and s_clock_white dashboards [restriction removed in D36]
- backing texture appears *behind* needle, numbers, markings
- appears illuminated (self lit) like the default dashboards
- recommended texture size is 512 or 1024 for future-proofing
- load the texture in page mode in the modeller
- click the "fixed" button to mark it as "dash"
- there is a reload button in the dashboard editor
- alpha channel has no effect

Digital and analog speedo may be used at the same time
Ability to set colours instead of using the system colours
Set background colour without supplying a backing texture
Adjustable black rectangle option if background is not black
Dashboard lights for fog lights and fuel warning are now available
Optional dipped headlight symbol (for new command /light head low)
Support for new dashboard lights / symbols: sidelights and neutral
Option: Show low and high beam icons simultaneously
- (shows icons for lights less than the current light switch)
Option: Show dim icons when not illuminated [default yes]
- (allows you to disable the faint image of icons that are off)
Option: Show dim segments of digital displays [default yes]
- (disable the faint non-illuminated segments of gear / speed)
Editor options: Dash lights off/on / Expand dash texture display
FIX: Dashboard texture can now be updated in a 2D view

Switches for options previously controlled by Race Class:

- Pit limiter light (in 'Lights')
- Handbrake / Horn / Starter Motor (in 'Allow')
- Oval suspension arms (in 'Suspension')
- Grooved slicks (in 'Wheel Object')

Limited sidecar support:

Lone wheel (e.g. front) can be offset left (in Suspension tab)
- offset wheel to right is currently disabled for compatibility
Pair of wheels (e.g. rear) can be longitudinally staggered
- only the rearmost wheel of a staggered pair is driven
- anti-roll is disabled when the pair is staggered

Mod Export:

A new limit of 8192 triangles / 12288 vertices for LOD2
Groups are compressed when exporting for test or upload
A sky reflection (environment map) is included in mod screenshot

New vehicle:

Better initial values for engine and fuel tank positions
Light colours are now initialised (all were black except rear fog)
FIX: Editor buttons appeared during dialog in new vehicle screen

Animation editor:

Eye view button (beside origin and object buttons)
Keys O (view object) and SHIFT+O (options) now work
FIX: Driver in wireframe mode could be obscured by the vehicle

Vehicle editor keys:

CTRL+O: load vehicle / CTRL+N: new vehicle
C: to clear selected point and selected tube
Delete: delete a point or tube (if only one is selected)

Race classes:

Max engine size: bike 2.5L, formula 8L, F1 5L, truck/bus/van 16L
Added two new classes: bus (like truck) and prototype (like GT)


V16 engine is now available
Engine mounting renamed to "Crankshaft axis" to avoid ambiguity


If startup fails on selected adapter it tries again using default
- avoids message "No outputs found" after selecting wrong adapter


Option to keep an empty (rotated) subobject after "merge into main"
- and break off main object into rotated subobject works as expected
- for example the following sequence of operations is now possible:
1) rotate a subobject to convenient orientation for modelling
2) merge into main but keep the empty rotated subobject
3) model and map the subobject in that position
4) break off into the rotated empty subobject

New buttons to shear (skew) points when CTRL is held in 2D view
Merge subobject dialog: use selected layer / keep existing layers
Improved layer selection (tooltips change when CTRL is pressed)
- in orange/yellow mode: CTRL+RMB sets the selected layer
- tri mode: CTRL+LMB - select all triangles in layer
New button to show subobject's axes (beside "rotate" button)
New flood select function to select all triangles by point sharing
- different from CTRL+SHIFT+LMB (select related triangles by edge)
- ALT+RMB selects all connected triangles regardless of properties
- triangles are considered connected if they share a single point
Message selecting triangle in another subobject uses subobject name
ALT+click on triangle in another subobject to select that subobject
There is now a redo function to go with the undo function
Ability to name subobjects (right click name or description)
Unsaved changes warning on clicking the X button to exit LFS
New dialogs for extrude / lathe / create a circle of points
You can now undo "load main object" (reverts to old object)
New button to select a point by entering the point index
- index of a single selected point or triangle is displayed
Rearranged buttons in tri mode to align well with point mode
Helpful messages about bad normals are now shown at top right
- triangles that are too small or too thin are separately listed
- triangles as small as 1/3 of a millimetre can contribute normals
- click button to find error triangles or points with bad normals
New function "invert" to invert selection (selected - unselected)
Disabled point selection by middle button in build and point modes
Number plate texture s_plate is now visible in modeller 'page' mode
Rotated subobjects can now be correctly merged into the main object
You can now break off triangles from a subobject into a new subobject
Select or deselect multiple triangles by holding down CTRL and LMB
- move the mouse to nearby triangles to keep selecting or deselecting
Aligned "select selection's points" and "select connected triangles"
- these were misaligned in 2D modes if a selection box was visible
- it can be useful to click them repeatedly (much easier if aligned)
You can hide subobjects other than the selected one: show subobs NO
Reflect object function is now available for individual subobjects
Combined clean object buttons into a single button with a dialog
New feature to merge points by distance (distance can be specified)
Mouse control now works below 1cm from the plane (down to 1mm)
Modeller move in list UP/DN: move more with SHIFT or right click
A new style dialog is now used for merge points (ALT+M) options
A point is selected if unambiguous after merge to green or average
A new function "reduce detail" is visible with triangles selected
Map / cutout / page selections are preserved when possible
Undo and redo deal correctly with map / cutout / page modes
Cutout mode works more like map mode and avoids button overlap
Overlay function from page mode is now available in cutout mode
Square buttons in map mode match mapping aspect ratio to cutout
Export plain / shaded / wireframe for any texture (not only skins)
FIX: Map mode showed texture file for skin cutouts as [no texture]
FIX: Points more likely to remain selected after scale or lathe
FIX: Crash on reload textures with no cutout or page selected
FIX: Wireframe view went wrong or crashed on "reload textures"
FIX: Rim disappeared on clicking "reload textures" in spoke edit
FIX: Bottom right screen layout was wrong in 2D views
FIX: Crash when selecting overlay with no texture

Wheel-related modeller features:

Set subobject as "hub object" that moves and rotates with a wheel
Spoke mode "export SRE" saves combined spokes as a modeller object
Spoke mode "import SRE" function to load modeller object as a spoke

Modeller hotkeys / shortcuts:

Keys to select modes: numbers 1 to 8

CTRL+O: load main object

Keys for subob, point, tri, map, cutout, page modes:
CTRL+D: duplicate
CTRL+N: new
DELETE: delete

H: hide selected (points or triangles)
SHIFT+H: hide unselected
ALT+H: unhide all

E: extrude selected points (with trace enabled in point mode)
S: select selection's points / select connected triangles
SHIFT+M / SHIFT+S - show main / show subobs
CTRL+F: flip selected triangles (in tri mode)
CTRL+F: flip connected triangles (in point mode)
CTRL+I: invert selection (points or triangles)
ALT+M: Merge points (previously known as Fuse points)


Apr 8, 2022

New selected text system:

If text dialog is initialised the text is shown as selected
Selected text will be replaced by the next character entered
Use left/right arrow or home/end if you want to edit the text
Right click slider initialises dialog with the current value
Use CTRL+A to select all text in the dialog (e.g. to delete)
NOTE: There is no partial selection - it's all or nothing
You can use the mouse to click where you want to type in dialog


Triangles that span two cutouts are detected - message shows index
New button in tri mode "index" - select triangle by entering index
Faster generation of wireframe when you click the 'wire' button
FIX: Error "It doesn't matter what image is on the selected skin"
FIX: OBJ file import can now handle infinite or nan vertex values

Vehicle editor:

FIX: Engine sound names are now limited to ASCII character set
FIX: Animation names now limited to ASCII and the correct length
FIX: Confusing message when texture limit was slightly exceeded


Jan 8, 2022

Initial release