Modding - bells, pantographs, freight loads and more! v4.25

Happy new year!
To get things moving for the first update of the year I've decided to work on improving the train modding system and adding a whole bunch of new features.
The Rolling Line modding scene is HUGE and if you haven't already, go and check out the Steam Workshop for 1000s of player-made layouts, liveries, train mods, prop mods and more!
https://steamcommunity.com/app/754150/workshop/

This news post is going to list all of the new modding features added, but you can find a full official guide here which goes into more detail about the whole modding system. I will only be describing them briefly in this news post, so please check the info in the guide for more detail:
https://steamcommunity.com/sharedfiles/filedetails/?id=2664192139
[h2]Christmas update leftovers[/h2]
Firstly, since I was short on time before Christmas here are some features from the previous update which I wasn't able to finish in time, which are now included in this update:
- Snow models for the Big Boy & tender
- Improved snow model for the V8 which includes its front & back wheel blocks
- Fixed the snow plow on the V8, so it correctly attaches to the front wheel block
- Various fixes to snow models, like for the U20C custom livery model
[h2]Custom extra models[/h2]
Firstly, this update adds a much-requested feature: custom toggleable models!
This means you can provide a custom 3D model or animation which can be enabled/disabled by the player when using the wagon.
These can be used to hide/show additional details like smoke deflectors, window bars, flags, etc.
Or for a more exciting example... custom freight loads!
You can create a custom extra model for each type of freight (e.g. coal, iron ore, scrap metal, wood, etc) and then toggle them on/off in-game to simulate loading and unloading freight.


To toggle custom models, select the train with the hand-held controller, then press "Shift + 1,2,3,...9" to toggle each mesh by index.

Keep in mind one day there will be a dedicated loading/unloading system added to the game, but in the meantime you can use these modding tools to simulate it yourself!
You can find an example freight wagon mod which uses this new system here:
https://steamcommunity.com/sharedfiles/filedetails/?id=2916250594
You can also find this example mod in the modding templates folder:
"Rolling Line/modding/templates/train mod examples/"

[h2]Custom bells[/h2]
You can also now add bells to your mods!
This includes both custom audio files for the bell sound, as well as custom models (or animations) for the bell model itself. You can also choose from the default in-game bell models and sound effects as presets.

(example video made by Finn)
You can customize things like the location/size of the bell model, the speed and range of its swinging, or the 3D model/audio assets that it uses:

[h2]Pantograph customization[/h2]
"Addons" like pantographs and snow plows can be added to trains using the painters in the train drawers. Remember you can change the color of a pantograph by "painting" the painter with your desired color:

You can now add multiple pantograph spawn points to a train mod, as well as set the location/scale etc of each pantograph. You can also set it so that the train spawns automatically with pantographs added:

[h2]Snow plow customization[/h2]
Just like with pantographs, you can now also customize how train mods handle snow plows.
You can move the position of the snow plow, as well as give your mod a default snow plow that is enabled when the player spawns it into their map:

[h2]Speed and control values[/h2]
You can now mess around with a few of the speed related values for train mods!
The acceleration and deceleration can both be changed (which make the train speed up and slow down at a different rate) plus you can change its max speed.

And yes, you can make the max speed incredibly large ːsteamhappyː

[h2]Articulation options[/h2]
"Articulation" refers to when a locomotive has wheel blocks that pivot independently to the main body of the locomotive (like the Big Boy steam engine).
The modding system now allows for much more customization when it comes to articulation.
For a built-in template example of articulation, you can find a version of the Big Boy steam locomotive in the modding templates folder "Rolling Line/modding/templates/train mod examples/".

You can also find this example mod on the Steam Workshop:
https://steamcommunity.com/sharedfiles/filedetails/?id=2911728993
You will notice that the Big Boy has an unusual pivot style to it, the front block of wheels swings quite independently from the main body:

This effect can now be achieved using new options in the modding system!
Please check the official guide mentioned at the start of the news post for more information on how articulation works.
In addition to articulation, on a similar note you can now make all details & effects attach to different wheel blocks (instead of just the main body).
This means you can make headlights/particles/etc attach to the front set of wheels like this:

[h2]Multiple control layers for lights[/h2]
You can now make use of more "control layers" for lights on train mods.
Previously you could only link lights to either the headlight (pressing "L") or the cab light (pressing "shift + L") and were limited to just the two layers.
This update adds 4 extra custom control layers, which you can toggle by pressing "L + 1,2,34" for each control layer.

This means you can use these extra layers for things like ditch lights, warning lights, or any kind of extra light source you would want to turn on/off:

[h2]Other features and fixes[/h2]
This update also fixes & adds a lot of other things outside of the modding system, these changes are:
- Fixed a quite hilarious bug where you could enable 3rd person in VR by trying to move the transform edit tool when editing position values for mods:
- Added better collision to the transform-edit-UI that pops up when you are editing a train mod object position, so it is now much easier to select it instead of the train mod itself.
- Fixed the default SteamVR bindings for the Valve Index to include the trigger as a way to use teleporting controls while directional movement is enabled (hold trigger to switch between the two!) This input was previously left un-bound by accident. You can find more info about how to use the SteamVR input binding system in this guide:
https://steamcommunity.com/sharedfiles/filedetails/?id=2029205314 - Fixed lots of LOD issues where objects (like bells and pantographs) would be visible beyond the trains render distance.
- Added back the "infinite" object view distance setting in the "Pause menu -> graphics" menu. Please ONLY use this for screenshots and not in normal gameplay. Putting this setting on infinite means literally everything in the map is rendered, every item in every drawer, every train and every button. Please only use it for screenshots and don't be surprised if it cripples your performance.
- The key to open photo mode "C" is now re-bindable in the controls menu.
- The main menu is no longer Christmas themed, but it still has a winter vibe to it.
- Updated the official maps set in New Zealand to be listed as "Aotearoa New Zealand", as to include the Maori name for the country.
- Fixed bug in the modding system where renaming wheels and couplers would not save.
- Fixed bug where track inside groups stored in custom drawers would not save correctly when at a specific rotation value.
And that's everything!
This update really ballooned into a "get heaps of things done on the todo list" kind of update, which honestly seems like the perfect way to start the year.
I hope you all had a lovely holidays and new year, and I'm looking forward to what this year will bring for Rolling Line's future!