Changes and alterations to world-files have been discussed before, but the consensus at the time was that, while we still depend on the MSTS Route Editor, changes or enhancements to files directly created by the RE could cause all kind of problems and should therefor be avoided.
I have been looking through the book of tricks to see if there's something in there that could help out here, but as not everybode likes tricks I have kept this idea under the hat. But with the discussion on the world files getting stuck a little, perhaps it is time to see if there is indeed a little trick which could get this thing rolling. And there is - not even a bad trick at that, I think.
Earlier, I suggested to use an alternative forest definition in the OpenRail subdirectory to define these multi-tree forests. It was correctly pointed out that this could not be done just like that, as only the RE uses the forest definition, the world files only refer to the used ace files.
But - if you can't have what you want, why not use what is there?
So here is how my little trick would work. Rather than simply using the ace-file directly and only as ace-file, why not use this as a reference to something else?
Suppose you want a forest consisting of beech, birch and oak. You then create a forest in the forest.dat file using an ace-file named BeechBirchOak.ace. And you create that ace file, and never mind what it looks like. The MSTS RE will now create that forest, and set the world entry to BeechBirchOak.ace.
The alternative forest definition in the OpenRail subdirectory would now look like this :
Forest ( "Diversified NE Forest" ( 3
Reference ( "BeechBirchOak" )
Forest ( "Oak.ace" 41.0f 30.0f 0.9f 1.1f 60)
Forest ( "Beech.ace" 16.0f 18.0f 0.9f 1.1f 30)
Forest ( "Birch.ace" 12.0f 22.0f 0.9f 1.1f 10 )
)
)
OR will read the alternative forest definition at the start of the program, and create a cross-reference list.
When reading a forest entry from a world-file, it will first check if the ace is used as reference for an alternative forest, and if so, use that alternative definition, otherwise it simply uses it as an ace file. When the alternative definition is used, it combines the world forest entry with the alternative definition to create the required new forest entry which it then can process normally.
The required program change would be quite simple, and the setup for users is quite straightforward as well. The little reference trick can be dropped as soon as we no longer rely on the MSTS RE.
Regards,
Rob Roeterdink