Unknown dependencies but show on DLS in 'Asset Versions'

A route will only use the latest version and once entered in the config it will not seek a lower version.

See below

have never seen Trainz using an older version than requested.
I have if the newer version is not installed and is not on the DLS. For example:

In my Trainz Plus I have an installed "Packaged" asset <kuid2:33404:501440:4> Tomato_Crop_spline. The :4 version is not available on the DLS but an earlier :3 version is on the DLS. I have three Trainz Plus routes of my own creation that use the :4 version of this asset.

My TRS22PE has the earlier :3 version installed from the DLS but not the :4 version as it has no installed DLC. My three routes are installed in TRS22PE where they automatically selected and use the :3 version of the asset, none report any "Missing dependencies". But, as I pointed out in my previous post, there are some cases where this automatic substitution does not work - <kuid2:124863:260001:2> Bungalow 2 being one of them.
 
Last edited:
If a version of an asset is available, which is newer than the one requested in the kuid-table (or files) of a map/session, Trainz uses it. I have never seen Trainz using an older version than requested.

Peter

I have seen this problem in cases where dependencies of mesh libraries are faulty because they cannot find a specific mesh in the library kuid that their config refers to. The fault arises when the required mesh happens to be in an updated version of a library (which is installed), but with obsolete versions without the mesh still present. In my cases, the chain of obsolete libraries was quite long. Database re-builds did not resolve the problem.

The only way I could clear the fault was to delete as many of the obsolete libraries as possible. Sometimes this still left some obsoletes because they were built-in and could not be deleted, but it was enough to force Trainz to find the right version.

It is as if Trainz cannot reliably search through a whole list of obsolete libraries and find the latest one unless the list is shortened, ideally down to just the latest version.
 
In my Trainz Plus I have an installed "Packaged" asset Tomato_Crop_spline. The :4 version is not available on the DLS but an earlier :3 version is on the DLS. I have three Trainz Plus routes of my own creation that use the :4 version of this asset.

My TRS22PE has the earlier :3 version installed from the DLS but not the :4 version as it has no installed DLC. My three routes are installed in TRS22PE where they automatically selected and use the :3 version of the asset,
If you check the routes config table for the tomato crop asset you may find it is a lower version than 4. The kuid table lists the version number at the time it was installed in a route. It does not update when a newer version is available, it just looks for a newer version that is available from the one in the table.
In an old route an asset may have been placed with an old kuid number and is recorded in the table. Use the same updated asset in a newly created route it will store the new version number.
 
If you check the routes config table for the tomato crop asset you may find it is a lower version than 4.
The CM dependencies list for the 3 routes all show :4 as the version. Each of their config.txt file kuid-table shows :3

I just ran a test where I created a new route in Trainz Plus using the :4 version of the Tomato spline asset and transferred the route to TRS22 and you are correct. TRS22 reported the :4 version as a "missing dependency".

Bummer! (pardon ye Olde English expression). This means that I will have to ensure that all "Packaged" assets I use in a Trainz Plus route have exactly the same asset kuid available from the DLS in any route that I upload.
 
The CM dependencies list for the 3 routes all show :4 as the version. Each of their config.txt file kuid-table shows :3

I just ran a test where I created a new route in Trainz Plus using the :4 version of the Tomato spline asset and transferred the route to TRS22 and you are correct. TRS22 reported the :4 version as a "missing dependency".

Bummer! (pardon ye Olde English expression). This means that I will have to ensure that all "Packaged" assets I use in a Trainz Plus route have exactly the same asset kuid available from the DLS in any route that I upload.
And... This is where my fix comes in to rid the missing dependency locally at least. When there's an update beyond the pseudo-up-to-date one installed, that will replace the installed one.

Most of the time, I have found there is no difference between the lower version found on the DLS versus the updated version found in DLC. This is annoying because the only reason why the version was updated was to include it in the DLC package as far as I can tell, thus, another reason for my fix.
 
And... This is where my fix comes in to rid the missing dependency locally at least. When there's an update beyond the pseudo-up-to-date one installed, that will replace the installed one.

Most of the time, I have found there is no difference between the lower version found on the DLS versus the updated version found in DLC. This is annoying because the only reason why the version was updated was to include it in the DLC package as far as I can tell, thus, another reason for my fix.
That is a long-winded way and is only local. By down-versioning in the route/sessions config it means when uploaded everyone will get the latest one for their version of Trainz. The kuid table only records the asset at the time it was placed in the route. This means it only looks for that version or above. A route creator may put a DLC asset into their route and the kuid table will store that number. But down version, it mean that older versions will be used if on the DLS.
 
Most of the time, I have found there is no difference between the lower version found on the DLS versus the updated version found in DLC. This is annoying because the only reason why the version was updated was to include it in the DLC package
This appears to be correct. Looking inside both the original :3 and updated :4 versions of the Tomato Crop spline assets the only differences I can see is that the image files in the :4 version have been converted to the .texture format and are more highly compressed. The result is that the original :3 DLS version asset is 433.7kB in size and the "updated" :4 DLC version is 143.6kB - which makes perfect sense if you want to reduce the size and download time of DLC packages.

The lesson I have learnt from this is to only use "Packaged" assets in a route/session that is to be uploaded to the DLS if, and only if, the DLC asset has exactly the same kuid build number available on the DLS. It is pleasing to note that many DLC creators have uploaded their up-versioned DLC assets to the DLS thus avoiding this problem.

If an updated DLC version on my system is not also on the DLS but a lower version is present on the DLS and I have no alternatives, then I will try the strategy of temporarily disabling the updated version and using the lower version in the route/session instead. And if the packaged asset, in any version, is not present on the DLS then I will still follow my usual practise of not using that asset.
 
Last edited:
Back
Top