A Season of Trees and Milk

The other day I more or less committed myself to a tutorial on tree replacement in a thread on PC-SG where we were talking about map customization for the Seasons mod. So here it is. There may be better ways of doing this, but this is the one I know.

Just a reminder, do yourself a favor and back up your work before giving this ago

The Seasons mod texture replacement system can change certain textures, trees for example, to match which ever season you’re in be it spring, summer, winter or autumn. To make things a bit easier on map makers there are console commands that can be used to force a given seasons textures to be loaded. After using the ssSetVisualSeason winter command from the console to load the winter textures I noticed that only one of the trees, the one to the right next to the barn, had lost its leaves. Not what I was hoping for but not completely unexpected either. The Seasons mod, you see, can only change the textures on the default FS17 trees, which means I’ve got a number of FS15 trees on my map (the ones that didn’t lose their leaves). This leaves me with two options, replace the FS15 trees with FS17 trees, or find alternate textures for the FS15 trees. Replacing the trees is the easier path and what I’ll be showing here though the Seasons mod Info for Map Makers documentation does cover how to add textures to the mod if you are so inclined.

The first step is to determine which trees on the map are FS17 trees and which are FS15 trees. If only I had a map on which I could be assured all of the trees where of the FS17 standard. Luckily Giants has provided us with two such maps Goldcrest Valley and the other one. Load up GCV in the Giants Editor and you will see the tree’s all have names like birch_stage2, birch_stage4, oak_stage4, maple_stage5, etc.

In the image above you can see that the scenegraph for Nagce Valley also contains tree names that end in LODs rather than a stage number. A quick check in GE confirmed that the trees that were not changing with the season all had the LOD names.

A quick note of caution, keep in mind that this is how the naming contention happened to work out on my map. If you are checking your own map you should to use the ssSetVisualSeason winter command to force the winter texture and then check your map for trees that did not change. Take screen shots to help you remember which trees are not playing well with the Season’s mod and then use the screen shots to help you find the trees in GE. You may find that the FS15 trees use the same naming convention in the FS17 trees. The following will still work in these cases but you may end up replacing FS17 trees as well as FS15 trees, but since there both getting replaced with known FS17 trees it should not be an issue.

You could replace trees one at a time but there is an easier way. First ensure that at least one of each type of tree on your map is the FS17 version of that tree, for example at least one of your maple trees is a maple_stage4 rather than a mapleTreeLOD’s, if not import a FS17 version of that tree. Next you want to select the tree that will be replaced from the scenegraph. In this example I’ve selected the birchTreeLOD’s.

Now select the replace tool from the edit menu.

The replace dialog will pop up with birchTreeLOD listed as the target

Now select the FS17 tree that you will be replacing the FS 15 trees with from the scenegraph

Click the load button, the FS17 tree should now show as the Replace With object.

There are some options to consider. If you want to replace your FS15 trees with an exact copy of your FS17 tree leave these options unchecked. I’d made some changes to the attributes of the trees on my map, namely scale and clip distances that I wanted to maintain. By checking the options as I have above my FS15 trees would be replaced with the FS17 i3d.s but would maintain their attributes. If I had checked the Keep Names option the trees would keep their LOD names as well. In this case I want the names to be changed to the FS17 names but there may be cases where you’d prefer to keep the existing name.

Now hit replace all and all of the FS15 birch become FS17 birch. repeat for the other trees on your map.

Birch, maple, and oak have all been replaced with their FS17 counterpart and are now seasons compatible. The sole hold out in the center is an elm for which unfortunately I have been unable to find a FS17 version.   

Birch, maple, and oak have all been replaced with their FS17 counterpart and are now seasons compatible. The sole hold out in the center is an elm for which unfortunately I have been unable to find a FS17 version.


Bonus Content - One of the features of Nagce Valley that I really like is the milk fill and sell points, even if their proximity to the slurry pit is most likely a health code violation. The one aspect of using the milk sell points that I didn't particularly care fore is their dependence on the stopMilkSale placeable. Functionally the placeable does what its meant to, stop the automatic sale of milk. What I didn't care for though was that this functionality could only be achieved if the player downloaded the mod, purchased it from the vehicle shop and then placed it on the map. Finding an unobtrusive location for a sign printed in German where I could actually place the sign was getting to be bothersome so I began looking for ways to incorporate the mod through GE so that the placeable would no longer be necessary. I tried a few things that didn't quite pan out until realisticpunk on FSUK pointed me to a thread on Marhu.net that showed a simpler solution. Turns out the ability to turn off automatic milk sales is accessible directly through the game engine. All that is needed is the addition of a boolean variable to the cowHusbandry transform group. It's quite simple

  • Select the cowsHusbandry transform
  • create a new boolean named automaticallySellMilk
  • leave the check box unticked
  • save and exit out of GE