Trainz Soup.gs Problems

You have not specified what kind of errors if any have actually occurred. The last thing I want to do is appear to defend a 3rd pty script, but you have given no indication of anything but your own faults here.
It's not my content so no fault on my end. I even did a fresh install of the content and didn't even modify anything. All of the scripts are current and up to date. That was on a separate computer just to be on the safe side. Based on what @Adamovic was telling me that something in the game was causing the script to not be read properly. I proved that it had nothing to do with the install and doing a fresh reinstall how @JCitron advised would have had no effect. He claims there could be something wrong with the soup class in Trainz but that's not true at all. Now he's said that there's nothing wrong on his end and those errors don't come up for him. Yet I have not one but two versions of Trainz 22 producing carbon copies of said errors. On different computers no less. Here's what I've seen on my end:

<kuid2:338228:300400:3> : empty string at parameter 1 (file soup.gs); <kuid2:338228:300400:3> : Script class: AC4400CW; <kuid2:338228:300400:3> : MeshObject: <kuid2:338228:300400:3> "BNSF C44-9W H2 1"; <kuid2:338228:300400:3> : Script callstack; <kuid2:338228:300400:3> : function $string@Soup::GetNamedTag(string), line -1; <kuid2:338228:300400:3> : function $void@LocoEffects4::SetProperties(Soup), line 2157,
<kuid2:338228:300400:3> : File locoeffects4.gse, Line 2198, ER_Exception; <kuid2:338228:300400:3> : Script class: AC4400CW; <kuid2:338228:300400:3> : MeshObject: <kuid2:338228:300400:3> "BNSF C44-9W H2 1"; <kuid2:338228:300400:3> : Script callstack; <kuid2:338228:300400:3> : function $void@LocoEffects4::SetProperties(Soup), line 2157,

<kuid2:338228:301144:1> : empty string at parameter 1 (file soup.gs); <kuid2:338228:301144:1> : Script class: AC4400CW; <kuid2:338228:301144:1> : MeshObject: <kuid2:338228:301144:1> "CN ES44DC 3"; <kuid2:338228:301144:1> : Script callstack; <kuid2:338228:301144:1> : function $string@Soup::GetNamedTag(string), line -1; <kuid2:338228:301144:1> : function $void@LocoEffects4::SetProperties(Soup), line 2157,
<kuid2:338228:301144:1> : File locoeffects4.gse, Line 2198, ER_Exception; <kuid2:338228:301144:1> : Script class: AC4400CW; <kuid2:338228:301144:1> : MeshObject: <kuid2:338228:301144:1> "CN ES44DC 3"; <kuid2:338228:301144:1> : Script callstack; <kuid2:338228:301144:1> : function $void@LocoEffects4::SetProperties(Soup), line 2157,
<kuid2:338228:301144:1> : empty string at parameter 1 (file soup.gs); <kuid2:338228:301144:1> : Script class: AC4400CW; <kuid2:338228:301144:1> : MeshObject: <kuid2:338228:301144:1> "CN ES44DC 3"; <kuid2:338228:301144:1> : Script callstack; <kuid2:338228:301144:1> : function $string@Soup::GetNamedTag(string), line -1; <kuid2:338228:301144:1> : function $void@LocoEffects4::SetProperties(Soup), line 2157,
<kuid2:338228:301144:1> : File locoeffects4.gse, Line 2198, ER_Exception; <kuid2:338228:301144:1> : Script class: AC4400CW; <kuid2:338228:301144:1> : MeshObject: <kuid2:338228:301144:1> "CN ES44DC 3"; <kuid2:338228:301144:1> : Script callstack; <kuid2:338228:301144:1> : function $void@LocoEffects4::SetProperties(Soup), line 2157
 
It's a pity you didn't give us those errors in the first post.

The Soup class is merely reporting errors about information, or lack of it, provided as parameters to functions in the Soup class. The issue is most likely in the encrypted code contained in LocoEffects4.

Given its in encrypted code and the asset seems to be 3rd party (payware?) there is little or nothing we can do about it. You need to sort it out with RRMods. Maybe you have an incompatible script library - i.e. too old or too new for the loco asset.
 
It's a pity you didn't give us those errors in the first post.

The Soup class is merely reporting errors about information, or lack of it, provided as parameters to functions in the Soup class. The issue is most likely in the encrypted code contained in LocoEffects4.

Given its in encrypted code and the asset seems to be 3rd party (payware?) there is little or nothing we can do about it. You need to sort it out with RRMods. Maybe you have an incompatible script library - i.e. too old or too new for the loco asset.
I'm working it out with him but he swears up and down there's nothing wrong because on his end it works fine or people would be flooding his email with complaints.
 
I'm working it out with him but he swears up and down there's nothing wrong because on his end it works fine or people would be flooding his email with complaints.
If you haven't already, try Settings->Dev->Compatibility Mode: Maximise compatibility. Some of the other modes expose errors and/or break older scripts.
 
The script appears to be trying to load information from the session database (soup) within a function called SetProperties(). But the name/tag of the required data is empty and so you are getting exceptions. SetProperties() is called many times by a loco script but especially right at the start of loading the asset into the game. It's possible that the script initialisation function (Init()) might be trying to set the value of that tag and had not done so in time. This is all conjecture of course and I may well be way off the mark.

Why this fails on your PC and not on others is anyone's guess. I don't think I can provide any more help.
 
SetProperties(Soup) is getting an empty value on line 2157 because GetNamedTag(string) is expecting the string to be something, and in your case it is apparently empty.

I suspect this is similar to your many posts about the scripted headlights not working or coming on. Something I can only reproduce by not delaying the code execution. I think if I had to speculate what is happening is your scripts are having a loading time issue and the information normally included has not been created in the simulation world and provided to them when they are called, indicating a severe slow down when loading your sessions. But I cannot see what this line is actually calling for, so it may be using a dynamic name string or something that hasn't been set, it is nearly impossible to know without seeing the code.

soup.gs is mentioned because that is where GetNamedTag(string) is located and is the function having a problem with the empty string.
 
SetProperties(Soup) is getting an empty value on line 2157 because GetNamedTag(string) is expecting the string to be something, and in your case it is apparently empty.

I suspect this is similar to your many posts about the scripted headlights not working or coming on. Something I can only reproduce by not delaying the code execution. I think if I had to speculate what is happening is your scripts are having a loading time issue and the information normally included has not been created in the simulation world and provided to them when they are called, indicating a severe slow down when loading your sessions. But I cannot see what this line is actually calling for, so it may be using a dynamic name string or something that hasn't been set, it is nearly impossible to know without seeing the code.

soup.gs is mentioned because that is where GetNamedTag(string) is located and is the function having a problem with the empty string.
TRS19 is my last stop.
 
Back
Top