@Girafe, no doubt it took a while to finish but I actually like lotting, it's so much easier compared to modding.
@Raphael, thanks.
@bat, thank you
@Noah, yeah I'm kinda all over the place from time to time.

Your suggestion has been written down.
~
As I went along writing stuff down, this update kept expanding. In fact it became so extensive I decided to break it down in order not to bore you too much.
So today the first in a series of tree controller related posts. As stated before, it'll be sort of a making of. This installment details what goes into making a brush and what problems one typically encounters. Part 2 will look at the bigger picture, where it turns out things aren't as straightforward as they appeared to be. Finally part 3 deals with a number of miscellaneous issues. But lets get some terminology down first of all.
Flora item - three seperate SC4models, one for each season, held together via the Resource Key Type4 in an exampler file. Most flora items are taken from seasonal MMPs, though I've compiled a few fantasy items myself as well, most notably for grasslands.
Brush - a bunch of flora items strung together via the Cluster Type property. Think of this as your typical MMP, apart from a few properties. Just less properties actually.
Spread - refers to the spacing between individual flora items, as well as the behaviour of the brush in general. This is controlled with 5 variables and without doubt the harderst and most time consuming part. More on this later on.
With that out of the way, it's time to go ingame and make a nice selection of flora items. In this example I'm going to make a brush for what eventually will become the River controller (shown previously). As far as I know there's no limit to the number of items a brush can hold, though around 8 to 12 seems to work best.

Looks allright to me. The taller trees will complement the poplars, while the autumn colours will take the edge of the bright yellow SFBT birches. Or that's the theory behind it at least. Either way lets grab pencil and paper and write down these items. It should be noted I'm also going to include an item from CP vol2 which isn't shown here since it isn't included in any of the MMPs.

Erm. . on second thought, I don't like this 'hard' green on the cottonwoods. Luckily most CP items also have a spring model so lets also scribble down a reminder to use those instead of proper summer models.
All right, now for the brush itself. It works best to go from small to large items, whereby height doesn't matter as much as the diameter of each item does. Since I've selected 12 flora items, I'm going to need as many exemplar files. The way to do this is first create a template file and clone it using the Reader. Below a breakdown of said template.
There's seemingly very little to it, looks can be deceiving though.Exemplar ID, the very first thing to set correctly, IDs are taken from my personal range. If you ever plan on making a tree controller
(not recommended btw
) be sure to first request a range over
here otherwise conflicts may arise with normal MMPs.
Exemplar Name and
Resource Key Type 4, for each item both are simply taken from its respective MMP. I've put all items along with their RKT4s in a large database for convenience.
Flora: Cluster Type, refers to the next flora item via its Exemplar ID. The last item in a brush doesn't have this property.
kSC4FloraPreferencesProperty determines brush placement. It works in a similar fashion as the terrain texture .ini table, for those who know what I'm talking about. Otherwise wait for part 2 where it's discussed at more lenght.
KSC4FloraParametersProperty, the juicy bit as it's responsible for making seasons work in the first place. In addition rep8 controls the slope, while rep11 and rep13 control the spread for each item.
Flora: Cluster Max Radius, the amount of space, surrounding an item, in which it is allowed to jump to the next. Works in close relationship with rep11 and rep13.
Flora: Cluster Max Height, similar to the radius, except it doesn't seem to have much of an influence.
All in all it's pretty easy to set up a brush as it copy-paste for the most part. The hardest and most time consuming part is make it behave properly. Reps 11 and 13, in relation to the Cluster Radius are the three most important variables in this respect and each needs to be specified for every item. The two reps determine the amount of space each item occupies and can be compared to the occupant size for props. In fact I used to use the occupant size for each item though stopped doing so because it's not quite the same concept after all. For instance, with rep13 an item can be set miles apart from itself while retaining the ability to place other items in between and cluster to the next, as determined with rep11 and Cluster Radius.
There're no hard and fast rules what values will or will not work. I used to set rep 13 first for each individual item to determine the minimum space it required, before linking all items together. Quite a laborious process. Moreover, once linked together there's considerable interaction between items, a ripple effect so to speak, which can cause quite the headache. Typical problems are;
Undershoot - the brush doesn't show all items but instead gets stuck on an item half-way. Usually solved by increasing the Cluster Radius for that particular item.
Overshoot - the brush goes through items too quickly and only the last two or three show. Usually solved by decreasing the Cluster Radius for the first few items since they give way too quickly.
Gridlock - the brush does show all items like it's supposed to, however, items seem to get in each others way and pretty soon there isn't any room left to cluster. No matter how many times one goes over the area with the brush, nothing happens anymore.
This last issue may not seem like much of a problem since all items are present. However I'm trying to find the 'sweet spot' for every brush. That is, adjust the settings in such a manner the brush has a decent spread while retaining the ability to cluster endlessly. Or at least make sure it doesn't gridlock too soon. And if you don't mind I say so myself, but I've become pretty good at guesstimating the settings at first instance and manage to steer clear of these pitfalls most of the time nowadays. That said it still puzzles me from time to time why one brush will and another one won't work while both have similar items and settings. And vice versa, why two brushes behave similar while their settings differ wildly.
So enough with the talk, lets see how things turned out ingame.
Not too bad I guess.
Note the softer green from the spring models. Much better as far as I'm concerned.While all models show there're some issues here - of course there are! For one the JENX Quai tree needs more space around it and it needs to be placed further apart from itself. Secondly the small locus tree from CP shows way too often, while the larger trees could be more present. So lets go back to the Reader and tweak some numbers. Usually it hinges on decimals. Once that's done, go back ingame and check again. Not satisfied yet? Exit, tweak some more, go ingame once again, etc, etc.
So there you have it. There's relative little that goes into making a brush, except going back-and-forth a number of times. Usually it takes me an evening (±2h) to make one or two brushes, depending on the number of items involved and wether or not I screw up

. However, one brush doesn't make for an entire controller! Stick around for parts 2 and 3.