Major industry functioning problems with TRS19

MSGSapper

Trainz route developer
As a major content developer since the beginning of Trainz I have come to expect quirks to pop-up with the introduction of each new major version of Trainz.

TRS19 however has proven to have more issues and quirks to work around then all the old major version updates put together. Instead of developing new content I have had to stop such efforts in order to deal with these problems time and again since the release of TRS19 - and am still doing so.

One of the biggest recurring headaches is finding that industries that worked flawlessly in older versions now no longer work the same as they did previously, although nothing has been changed by me or other developers in their functionality. Here are some examples:

My loader and unloader tracks don't seem to be working with AI well. I have now had a number of user reports that AI locomotives cannot recognize those industries and don't move to them to load or unload. I am not sure why this is at present but have now verified it in further testing. I recently updated all the industry loader and unloader tracks to build 4.6 but made no changes in the way those tracks actually function from previous versions (ie; script code, attachment points, etc). Changes were purely cosmetic. To see for yourself do the following:

On a test track do the following:

1. Place a <kuid2:439337:101033:2> Coal_Loader_Interactive_with_effects on the route.
2. Connect it with track at each end.
3. Place a track mark at one end of the track as a target for an AI to go to.
4. Place a locomotive and some open hopper cars at the other end of the track.
5. In the session have the AI locomotive navigate to the industry track and attempt to load the hopper cars with coal and then move onto the target at the end of the track.
6. Run the session.

Other problems:

1. Industries that have more then product loader/unloader track side by side with the others will no longer allow you to be able to select a specific track with the question mark (?). To verify place a <kuid2:439337:100968:1> 3_Track_Coal_Mine_1_Mod1 and try to select one of the tracks with the question mark and you will only see 3_Track_Coal_Mine_1_Mod1 1. This was not a problem previously.

2. BI2 industry tracks that are placed on a industry with a large foot print can no longer be selected with the question mark (?) in surveyor objects tab for configuration. To verify this place <kuid2:439337:101184:2> MeatPackingPlant_Pork on a test route with a BI2 industry track between the two buildings connected with track as shown below in the screenshot. Now try to configure that BI2 industry track with the ? in the Objects tab. You will find you cannot do it. This was not a problem previously.

Meat-Packing-industry-example.jpg


3. Triggers that are spaced closely together in a functional product industry no longer function correctly. To verify this place a <kuid2:439337:101037:1> 2_Chute_Coal_Bin_Mod1 on a test route. Now connect it with track and have an AI train go to it to load and watch what happens. Previously both animated chutes functioned correctly and all cars were loaded correctly. Now they don't.

I want to reiterate that all these industries worked flawlessly in previous versions of Trainz. Route developers should be aware that the assumption that industries on those routes still work as they should in TRS19 may be a wrong one. I am finding that out from user reports of these issues for my older routes used in TRS19. As I have had to do, you will need to revise your industries to work around these issues for TRS19, if you can.

I hate to tell you how much time I have spent trying to deal with these issues caused by TRS19 and still am as I write this. What a major pain in the butt this version of Trainz has been!

Bob
 
Last edited:
I have encountered this problem with the meating packing plant in Gunnison as well modifying your version of the Indiana Western to suit my needs and this is using the latest build of Trainz Plus.
 
Bob,

This is most likely caused by the scripting changes done in the program. When they introduced these changes in T:ANE SP2/SP3, this broke signals, stations, and other assets. Some of these components were updated, but others have not meaning we're still using ca. 2003 scripts in some assets even if the program its self has been changed when TRS2004 arrived on the scene (SP1 introduced in early 2004 made interactive industries available for the first time because they shipped without the code due to issues with it). Like repainting an old Chevy a new color, but keeping the same innards we have a beautiful car with the same issues that the old Chevy still had. With further changes now in TRS19, especially in the PLUS version, other things are now falling apart as well due to the on the fly unified driver-surveyor editing.

Unfortunately, and this is the sad part, many of these scripts have been encrypted which means they can't be updated or reworked so the only recourse is to rewrite the scripts from scratch. This process is far out of the realm for many of us and is best left to the 'experts' in this area, otherwise, we'll end up with a worse a mess than we have now.
 
Bob,

This is most likely caused by the scripting changes done in the program. When they introduced these changes in T:ANE SP2/SP3, this broke signals, stations, and other assets. Some of these components were updated, but others have not meaning we're still using ca. 2003 scripts in some assets even if the program its self has been changed when TRS2004 arrived on the scene (SP1 introduced in early 2004 made interactive industries available for the first time because they shipped without the code due to issues with it). Like repainting an old Chevy a new color, but keeping the same innards we have a beautiful car with the same issues that the old Chevy still had. With further changes now in TRS19, especially in the PLUS version, other things are now falling apart as well due to the on the fly unified driver-surveyor editing.

Unfortunately, and this is the sad part, many of these scripts have been encrypted which means they can't be updated or reworked so the only recourse is to rewrite the scripts from scratch. This process is far out of the realm for many of us and is best left to the 'experts' in this area, otherwise, we'll end up with a worse a mess than we have now.

John:

The items that I have mentioned worked up through the latest T:ANE version. They were broken in TRS19.

The script code issues might be able to be resolved to some degree, although it may mean having to fix many hundreds, or possibly thousands, of industry items by a variety of authors that are on the DLS, including me. In the cases where the script is encrypted, we are out of luck. As a example the script by Lars for LARS industry items are encrypted and the original author no longer has the code or anyway to get into them. I know as John Keenan contacted Lars for me about this issue trying to get the original code. The code has been lost and is no longer accessible.

The issues where the mouse pointer is no longer able to discern a specific item among several is not something that can be fixed by us. How are users going to be able to configure industry tracks when they create sessions if they can't select them via the ? key?

Bob
 
I'd say overall TRS19 has been much less problematic than other versions. What seems to be the issue here is that 3rd party content has problems that weren't present in previous versions.

Now that we've received this report which clearly explains the various issues, we can take a look and identify what the problems are and fix them.

A quick look at the coal unloader industry shows this error:
<kuid2:68787:1449:10> DriverCharacter.NavigateToIndustry> unable to find industry track 'out_track0' (file drivercharacter.gs)

Looking in the config file, out_track0 does indeed not exist. In TANE, there is a <kuid2:439337:101033:1> version which does have out_track0 in the config file (which has been changed to in_track0 in the version 2).

Changing that entry in the config to out_track0 fixes the navigation problem, but I'll get the experts to take a closer look in case there have been other changes that were not completed/tested,

The key point is that the sooner we get reports like this, the sooner we can fix/identify any problems.

Route developers should be aware that the assumption that industries on those routes still work as they should in TRS19 may be a wrong one.
>>
No - this is a reasonable assumption. They should work fine.
 
Last edited:
I finally made my own loading/unloading track using (Thankx TPR) the old Trainz Pro Routes multiple industry scripts and stuff. Works fine in TRS2019. So far. . . .
 
Set up a test track as suggested by the OP to test the <kuid2:439337:101033:2> Coal_Loader_Interactive_with_effects.
Found the message "<NULL> DriverCharacter.NavigateToIndustry> unable to find industry track 'out_track0' (file drivercharacter.gs)" in the logs, so checked out the asset's config.txt file.
Subsequent examination of the config.txt file and making/ submitting the change to 'out_track0' did indeed resolve this issue, confirming Tony's post above.
By contrast, the related <kuid2:439337:101008:3> Coal_Unloader_Interactive_with_effects works like it says on the tin. No change is required.
 
Last edited:
This is a YouTube video of an operating test of a build 3.3 <kuid2:439337:101037:1> 2_Chute_Coal_Bin_Mod1 content item in TRS19 using an AI driver told to navigate to the industry, load and then drive to an off screen track mark.


Notes:

1. Only the second hopper and later are loaded. This first one isn't.
2. Only one of the two coal bin chutes animates. Both should animate.

Bob
 
Last edited:
This is a YouTube video of an operating test of a <kuid2:439337:101184:2> MeatPackingPlant_Pork and a <kuid2:439337:101196:3> BI2 Meat Packing in TRS19. I am attempting to configure the BI2 Meat Packing industry track using the question mark button in the Surveyor objects tab. Notice that you can only configure just the MeatPackingPlant_Pork industry. You are unable to configure the BI2 track. My observation is that the mouse pointer has lost the ability to detect exactly what it is pointed at in TRS19 in cases where one object is placed over a larger object such as in this case. This was not a problem in Trainz version prior to TRS19. With no ability to be able to select the BI2 Industry track, users cannot configure it when they build a session.


Bob
 
Last edited:
I'd say overall TRS19 has been much less problematic than other versions. What seems to be the issue here is that 3rd party content has problems that weren't present in previous versions.

Now that we've received this report which clearly explains the various issues, we can take a look and identify what the problems are and fix them.

A quick look at the coal unloader industry shows this error:
<kuid2:68787:1449:10> DriverCharacter.NavigateToIndustry> unable to find industry track 'out_track0' (file drivercharacter.gs)

Looking in the config file, out_track0 does indeed not exist. In TANE, there is a <kuid2:439337:101033:1> version which does have out_track0 in the config file (which has been changed to in_track0 in the version 2).

Changing that entry in the config to out_track0 fixes the navigation problem, but I'll get the experts to take a closer look in case there have been other changes that were not completed/tested,

The key point is that the sooner we get reports like this, the sooner we can fix/identify any problems.

Route developers should be aware that the assumption that industries on those routes still work as they should in TRS19 may be a wrong one.
>>
No - this is a reasonable assumption. They should work fine.

Tony:

I appreciate your reply, but do not agree. The industries on my 14 routes have generally been there since well before the release of TRS2012 and functioned without problems. Unfortunately I made the incorrect assumption that they would also be fine here. Such did not prove to be the case, based on user reports of my routes in TRS19 and problems I noticed when attempting to upgrade some of those routes to TRS19 standards. I have posted two YouTube videos in this thread so you can see for yourself what I am experiencing, and there are more that I have not documented here.

I am one of the very few large scale route and content developers out there that has fully embraced the TRS19 standard and now only produce content for build 4.6 and am revising my older content upward to build 4.6. This has resulted in a tremendous amount of work to meet that standard which is rigorous from a technical standpoint compared to earlier versions of Trainz.

Each new major release of Trainz tends to break some 3rd party content for one reason or another. Unfortunately I have come to expect this. I have currently over 2,000 content items and many routes on the DLS. I try to keep them as current as I can but there is a point of diminishing returns where I start to spend more time fixing things then creating new things. I have had to do this in varying degrees for every major release of Trainz. The amount of time dealing with this so far on my part has been far greater in TRS19 then previous major releases.

Question: Is there ever going to be a point where we can count on 3rd party content we produce free of charge for your platform to not break in your product? I am not in this for train operation. I get my kicks from creating routes and content for others to enjoy. I want to have fun creating new stuff and not spend most of my time fixing my older stuff and other peoples stuff that worked previously but your newest major version has broken for one reason or another.

I can fix most of what I am seeing with one exception. That is the inability for the mouse pointer to discern exactly what it is pointing at in order to select it. In releases prior to TRS19 the mouse pointer was more discerning. If you can at least fix that problem, which I have no way to fix myself, that would be helpful.

Bob
 
Last edited:
Bob, many thanks for your contributions. Thanks for the industry track info. My curses will now be redirected to the crowd in OZ. I am sure they are fully aware of the impact of change on older items. While they will deny it, if true, my guess is that this is a conscious decision to clean up the program with lots of ragged branches to code that accommodates some older assets. By simply "plowing ahead", and ignoring the gripes of customers stuck with old stuff, they hope to come out on the other end with a clean product and can do so with less staff. Well less until they dig into AI.

I have been butchering your New England routes. They are much like the Pittsburgh area but no ocean.:'( I even used a regional "Bellvue, OH yard" asset merged to the Coastal route. Makes for slow loading with a giant Nebraska size set of 2 yards. The more I use your routes the more I appreciate the work it takes to create a route from scratch... Thanks.
 
Tony: ...

I can fix most of what I am seeing with one exception. That is the inability for the mouse pointer to discern exactly what it is pointing at in order to select it. In releases prior to TRS19 the mouse pointer was more discerning. If you can at least fix that problem, which I have no way to fix myself, that would be helpful.

Bob
Bob I have to agree with you on this point. IMHO TS19 is the worst version of Trainz when it comes to being able to select a single item when several are located close by.

Of course the usual recourse is to use the layers feature and add the current selected item (which you're trying hard not to select) to a layer that is hidden or better yet if your not sorting items onto separate layers is to bind it temporarily to a layer that is hidden. That gets it out of the way and you can try again until you finally get the one you want to select. Use layers right from the start when route building is the best advice. Early and often as they say.

I couldn't work with cad programs without using layers and paint/draw programs fall into that category. I guess Trainz Surveyor is another one. I've posted on this subject in another thread.

Bob Pearson
 
Bob I have to agree with you on this point. IMHO TS19 is the worst version of Trainz when it comes to being able to select a single item when several are located close by.

Of course the usual recourse is to use the layers feature and add the current selected item (which you're trying hard not to select) to a layer that is hidden or better yet if your not sorting items onto separate layers is to bind it temporarily to a layer that is hidden. That gets it out of the way and you can try again until you finally get the one you want to select. Use layers right from the start when route building is the best advice. Early and often as they say.

I couldn't work with cad programs without using layers and paint/draw programs fall into that category. I guess Trainz Surveyor is another one. I've posted on this subject in another thread.

Bob Pearson

Bob

Thanks for the tips.

To implement what you suggest would mean having to change all my already existing routes, that have been around for a good number of years and functioned well in previous major versions, and moving all such industries and BI2 tracks, of which their are many, to their own layers just to accommodate this glitch in TRS19. Ouch!

Bob
 
Just to let you know the pointer problem exists in TANE as well. I always assumed the radius for the pointer is too wide. Were there are 2 industry track close together you usually get one and not the other no matter where you click.

Rob
 
Moving assets to a different layer has become a lot easier with the introduction of the "Bulk asset update/replace..." feature. Sure, it still takes time, but your are not going to need to move each and every assets manually. I moved all trees, bushes and grass on a 64km (40 miles) route to a different layer in minutes.
 
Set up a test track as suggested by the OP to test the <kuid2:439337:101033:2> Coal_Loader_Interactive_with_effects.
Found the message "<NULL> DriverCharacter.NavigateToIndustry> unable to find industry track 'out_track0' (file drivercharacter.gs)" in the logs, so checked out the asset's config.txt file.
Subsequent examination of the config.txt file and making/ submitting the change to 'out_track0' did indeed resolve this issue, confirming Tony's post above.
By contrast, the related <kuid2:439337:101008:3> Coal_Unloader_Interactive_with_effects works like it says on the tin. No change is required.



Okay, I went back to the industry I had cloned from one of Bob's loaders. FYI, I changed the config to read 'out_track0' but it only resolved PART of the issue. The locomotive and consist now drives TO the industry (it at least SEES the industry, before it wouldn't even drive to the industry, as if it wasn't there) . . . anyhow, it drives to the industry, Bob's loading effects work, BUT--- my hoppers still leave unfilled. This is a bigger issue than just a simple config change.
 
The selection issue is due to an optimisation in Trainz (since TANE) which defaults to using a single convex hull for collision calculations, which is strongly desirable behaviour. (In other words, rather than tracing a line from the camera to the pointer and checking for collisions with every polygon, we check the "outer boundaries").

This is one of the reasons the long pauses seen in TS12 don't happen in TANE/TRS19.

As pointed out, one option is to move the industry/object into a new layer and hide that layer.

A much better option is to break up large industries into components. There is little or no benefit having a dozen components in one asset. It means the ground has to be flat, it is inefficient for performance, creates problems with level of detail and "process objects behind camera" and reduces flexibility greatly. It also means every "packing plant" looks like every other packing plant.

We're still looking at the other issues mentioned.
 
davesnow -
anyhow, it drives to the industry, Bob's loading effects work, BUT--- my hoppers still leave unfilled. This is a bigger issue than just a simple config change.
All my coal wagons loaded correctly after the fix to <kuid2:439337:101033:2> Coal_Loader_Interactive_with_effects and subsequently unloaded properly when they were sent to <kuid2:439337:101008:3> Coal_Unloader_Interactive_with_effects.
Suggest check the config.txt again in your cloned industry track to see if you've allowed the right commodities to be loaded in the queues, allowed products, and KUID tables.
 
Last edited:
MSGSapper i noticed in your operating test of a build 3.3 <kuid2:439337:101037:1> 2_Chute_Coal_Bin_Mod1 content item in TRS19.
That chute one lined up over the couplers between coal cars every time.So chute one would not animate and load coal.

Robert
 
The selection issue is due to an optimisation in Trainz (since TANE) which defaults to using a single convex hull for collision calculations, which is strongly desirable behaviour. (In other words, rather than tracing a line from the camera to the pointer and checking for collisions with every polygon, we check the "outer boundaries").

This is one of the reasons the long pauses seen in TS12 don't happen in TANE/TRS19.

As pointed out, one option is to move the industry/object into a new layer and hide that layer.

A much better option is to break up large industries into components. There is little or no benefit having a dozen components in one asset. It means the ground has to be flat, it is inefficient for performance, creates problems with level of detail and "process objects behind camera" and reduces flexibility greatly. It also means every "packing plant" looks like every other packing plant.

We're still looking at the other issues mentioned.

Translation: There will be no fix to this problem, except if we change everything out there to accommodate the changes you all have made to how things function in Trainz. You all sure know how to treat us 3rd party developers and encourage further creative efforts :)

BTW this problem extends far beyond just the example I have given you. If a large object is near another smaller object then the mouse point often cannot discern that object, regardless of what type it is. This applies to not only just the "?" key but other keys as well such as the "get object" key as well in the objects tab.

I am getting tired of constantly fix things after all these years, so TRS19 will be the last major version of Trainz that I purchase as well as develop freeware content or routes for. I will try to fix my older content and routes for TRS19, but not beyond that. In any future major Trainz versions beyond TRS19 if it breaks, it breaks, and if doesn't work with that new major release, then it doesn't work.

I will however provide the Blender project files, and FBXs in most new or updated build 4.6 content items that I do so that if someone else wants to revise or update to some future Trainz release they can do so with my blessing.

Bob
 
Last edited:
Back
Top