TRS19 Service Pack 4 Now Live

Here's another "broken" object: Set Cleared Junctions. It will not show the available junctions to add, but typing in the junction number/name will work.
 
Why not simply revert the changes that created those issues?
The short answer is because those changes fixed other bugs.

SetClearedJunctions is a 3rd party asset. It most likely has not been updated to support asynchronous loading. First stop would be to contact the author to see if they can update the asset.

Regarding this update being a "mess" there are in fact very few issues being raised. Yes, there are some that need fixing (and we're working on them), but so far most the issues are not global, but isolated to a specific install/content set.

As we work through testing the issues we will keep you updated.
 
I just added an Enhanced Interlocking Tower on the Route Layer and added the Manager and UI rules to the session rules. I'm not getting some of the paths shown in yellow although they seem to work in-game, but the 'Run time monitors' option does not appear during Driver mode. I checked in another route where it was working last week and it doesn't appear there either. The only thing that has changed was this SP4 update. Has anyone else noticed this or am I doing something wrong?
 
I just added an Enhanced Interlocking Tower on the Route Layer and added the Manager and UI rules to the session rules. I'm not getting some of the paths shown in yellow although they seem to work in-game, but the 'Run time monitors' option does not appear during Driver mode.

The EIT is by creator pguy (who is always active in these forums) and I presume that the other assets you mentioned are also by him. My first action would be to send pguy a message explaining the issue. I have already done this with another creator whose assets are "misbehaving" (possibly due to a recent update he made and not anything to do with SP4). He was unaware of the problem and is now looking into a solution. Try that first.
 
Game window freezing waiting for Content Manager windows to revalidate.

Did a reinstall and an EBDR, but still the Simulation/Game window seems to be waiting for any open Content Manager windows to revalidate and rewrite themselves. The more CM windows open, the worse the game freeze effect. Just selecting the "View Sessions" button in the game window immediately turns program flow control over to the Content Manager windows, and I have to wait until they update themselves. sometimes frosting the waiting game window. Is this just my installation only or does that happen to anyone else? Is there a setting to pre-empt it? I don't remember the other SPs doing this, at least not so intensely.
 
Last edited:
It seems that the consist display is gone. Bug or feature?
Screenshot-2021-10-18-190517.jpg
 
That consist (ATSF El Capitan Summ) must have a missing dependency (or a faulty dependency) and that's why it is showing "In Red"... Note; the rest of the consists showing are "In White". You should all be able'd to installed all of them onto your track.

If there is any missing dependency, or a faulty dependency in the consist, then none of the consist will show up when you try and put it in the sim/on the track. Find the missing dependency or a faulty dependency, install it, (or fix it), then the consist will be able to be installed onto the track.

Dartrider, I assumed you where talking about ATSF El Capitan Summ, not BN Coal. At the time of posting, I hadn't realize that the display of the consist has completely gone, in SP4. My bad...

Cheers, Mac...
 
Last edited:
Regarding the identified buildings in the Hinton route which have changed rotation between SP3 and SP4.........I have issued 3 updates which should be available on the DLS in approx 36 hrs.

Whether this issue was caused by the SP or from my previous updates remains an unknown.

I don't have SP3 installed so can't test in that version.......I now only have SP4 installed. If anybody who has SP3 installed with the Hinton route can check to see if it causes issues there.

Regards
Peter
 
It seems that the consist display is gone. Bug or feature?

I can confirm it has gone.

A "feature" I think. I seem to recall some discussion on this during the SP4 beta tests, but that may have been over why it did not allow horizontal scrolling for very long consists. Perhaps that was in the "too hard" basket. I will open a hornets nest and add that the consist display was a feature I never used (and will not miss its absence) but others may have different views.
 
Thanks Peter - Can confirm that the rotation problem has existed for quite some time and showed up in several previous builds SINCE your (much-welcomed) earlier updates. This is NOT an issue that mysteriously appeared just now in SP4.
 
Thanks Peter - Can confirm that the rotation problem has existed for quite some time and showed up in several previous builds SINCE your (much-welcomed) earlier updates. This is NOT an issue that mysteriously appeared just now in SP4.


Thanks......good to know. I obviously must have rotated them for some unknown reason.
 
This signal is not showing up as faulty, but something's wrong with it. The signal's 'G Style Trilight Signal 04', <kuid2:321936:101863:1>. I know that SP4 did this because this happened after I updated to SP4 and there was nothing wrong with it before installing SP4. I'm also constantly getting this error from windows that says 'TRS19.exe - Delayed Write Failed
Windows was unable to save all the data for the file \Trainz\Localdata\editing\kuid 289739 101744 V&O Muddlety Sub TRS1\mapfile_0_1.vtx; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.'
Another similar Windows error I'm constantly getting is 'TRS19.exe - Delayed Write Failed
Windows was unable to save all the data for the file \Trainz\Localdata\editing\kuid 289739 101754 New Asset\profile_0_1.vtx; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.'
Another similar Windows error I'm constantly getting is 'TRS19.exe - Delayed Write Failed
Windows was unable to save all the data for the file \Trainz\Localdata\editing\kuid 289739 101754 New Asset\profile_index.vtx; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.'
Never seen this error before, and I only have the option to click 'OK' for both errors. Anyway, here's the screenshot of the faulty signals:
Faulty-G-Style-Trilight-Signal-04.jpg
 
I cannot save this route that I am working on. SP4 IS THE WORST THING TO COME TO TRAINZ 2019. How can I roll back to SP3?
Whenever I save I get the same error message:
'TRS19.exe - Delayed Write Failed
Windows was unable to save all the data for the file \Trainz\Localdata\editing\kuid 289739 101754 New Asset\profile_index.obs; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.'
'TRS19.exe - Delayed Write Failed
Windows was unable to save all the data for the file \Trainz\Localdata\editing\kuid 289739 101754 New Asset\profile_index.rlr; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.'
'TRS19.exe - Delayed Write Failed
Windows was unable to save all the data for the file \Trainz\Localdata\editing\kuid 289739 101754 New Asset\profile_index.trk; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.'
'TRS19.exe - Delayed Write Failed
Windows was unable to save all the data for the file \Trainz\Localdata\editing\kuid 289739 101754 New Asset\profile_index.vtx; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.'
With all these errors the only option is to click 'OK'.
When the game goes back to Surveyor, a box appears saying 'Surveyor has failed to commit the route/session changes. Would you like to retry?
Recent changes may be lost if you choose to cancel. If saving continues to fail, please cancel any background tasks and ensure there is adequate disk space.'
There's two options for you to choose from 'Yes' and 'No'. Clicking 'Yes' causes it to save again, only for it to fail to save again and the same text box to appear again. Clicking 'Yes' again repeats the process, and the cycle continues for eternity.
 
Last edited:
@jordan412 Doesn't sound like a TRS19 problem per se, but look through the backups folder adjacent to the editing folder, TRS19 seems to save stuff there every few minutes. The windows event viewer/Windows Logs/System make give more insight as to what happened. I've seen those errors from Windows when there's hard drive issues. Sounds like a chkdsk is in order.
 
Last edited:
Unfortunately Jordan the only way to go back is if you backed up both your SP3 Trainz install and the SP3 data files to somewhere safe like an external hard drive.
 
Jordan - try running as Administrator also check the folder permissions in Windows Explorer?

One (minor) irritation is that N3V still haven't fixed having to enter most of the Settings twice, when you first run the game, go through the various tabs, exit as prompted restart and your graphics have reset to 1024, your user data is wiped and that insidious backup is showing 7 again instead of 0 to avoid clogging your HD.
 
when i give control to ai, this code stops working. in trs19 sp3 and tane, works great
Code:
    void SetLamps(int position, bool facing) 
    {
        switch(position) 
        {
        case CAR_DERAILED:
              // No point in having lights on now 
                SetFXCoronaTexture("eml1", null);
                SetFXCoronaTexture("eml2", null);
              break;

              case CAR_CENTER:
                // Switching off all lights - loco is in the middle of a train
                SetFXCoronaTexture("eml1", null);
                SetFXCoronaTexture("eml2", null);
              break;

              case CAR_FRONT:
                if (facing) 
            {
                      // Switch on marker lights - loco is front car headed in same direction to train
                      SetFXCoronaTexture("eml1", null);
                      SetFXCoronaTexture("eml2", null);
                } 
            else 
            {
                      // Switch on tail lights - loco is front car headed in opposite direction to train
                      SetFXCoronaTexture("eml1", RedMarker);
                      SetFXCoronaTexture("eml2", RedMarker);
                }
              break;

              case CAR_BACK:
                if (facing) 
            {
                      // Switch on tail lights - loco is end car headed in same direction to train
                      SetFXCoronaTexture("eml1", null);
                      SetFXCoronaTexture("eml2", null);
                }
            else 
            {
                      // Switch on marker lights - loco is end car headed in opposite direction to train
                      SetFXCoronaTexture("eml1", RedMarker);
                      SetFXCoronaTexture("eml2", RedMarker);
                }
              break;

              case CAR_SINGLE:
              if(facing) 
            {
                SetFXCoronaTexture("eml1", null);
                SetFXCoronaTexture("eml2", null);
              } 
            else 
            {
                SetFXCoronaTexture("eml1", null);
                SetFXCoronaTexture("eml2", null);
              }    
              break;

              default:
            SetFXCoronaTexture("eml1", null);
            SetFXCoronaTexture("eml2", null);
              break;

            }
      }

    void SetBrakes (float brakes)
    {
        if (brakes == TRAIN_BRAKE_RELEASE)
        {
            SetFXCoronaTexture("blr1", null);
            SetFXCoronaTexture("blr2", null);
            SetFXCoronaTexture("blr3", null);
            SetFXCoronaTexture("blr4", null);
            SetFXCoronaTexture("bly1", null);
            SetFXCoronaTexture("bly2", null);
            SetFXCoronaTexture("bly3", null);
            SetFXCoronaTexture("bly4", null);
            SetFXCoronaTexture("blg1", BrakeWhite);
            SetFXCoronaTexture("blg2", BrakeWhite);
            SetFXCoronaTexture("blg3", BrakeWhite);
            SetFXCoronaTexture("blg4", BrakeWhite);
        }
        else if (brakes == TRAIN_BRAKE_EMERGENCY)
        {
            SetFXCoronaTexture("blr1", BrakeRed);
            SetFXCoronaTexture("blr2", BrakeRed);
            SetFXCoronaTexture("blr3", BrakeRed);
            SetFXCoronaTexture("blr4", BrakeRed);
            SetFXCoronaTexture("bly1", null);
            SetFXCoronaTexture("bly2", null);
            SetFXCoronaTexture("bly3", null);
            SetFXCoronaTexture("bly4", null);
            SetFXCoronaTexture("blg1", BrakeRed);
            SetFXCoronaTexture("blg2", BrakeRed);
            SetFXCoronaTexture("blg3", BrakeRed);
            SetFXCoronaTexture("blg4", BrakeRed);    
        }
        else if (brakes == TRAIN_BRAKE_APPLICATION)
        {
            SetFXCoronaTexture("blr1", null);
            SetFXCoronaTexture("blr2", null);
            SetFXCoronaTexture("blr3", null);
            SetFXCoronaTexture("blr4", null);
            SetFXCoronaTexture("bly1", BrakeYellow);
            SetFXCoronaTexture("bly2", BrakeYellow);
            SetFXCoronaTexture("bly3", BrakeYellow);
            SetFXCoronaTexture("bly4", BrakeYellow);
            SetFXCoronaTexture("blg1", BrakeYellow);
            SetFXCoronaTexture("blg2", BrakeYellow);
            SetFXCoronaTexture("blg3", BrakeYellow);
            SetFXCoronaTexture("blg4", BrakeYellow);
        }
        else
        {
            SetFXCoronaTexture("blr1", null);
            SetFXCoronaTexture("blr2", null);
            SetFXCoronaTexture("blr3", null);
            SetFXCoronaTexture("blr4", null);
            SetFXCoronaTexture("bly1", BrakeYellow);
            SetFXCoronaTexture("bly2", BrakeYellow);
            SetFXCoronaTexture("bly3", BrakeYellow);
            SetFXCoronaTexture("bly4", BrakeYellow);
            SetFXCoronaTexture("blg1", BrakeYellow);
            SetFXCoronaTexture("blg2", BrakeYellow);
            SetFXCoronaTexture("blg3", BrakeYellow);
            SetFXCoronaTexture("blg4", BrakeYellow);
        }            
    }

      int PosCheck(void) 
    {
            Vehicle[] wagons = me.GetMyTrain().GetVehicles();
            int loc = CAR_CENTER;

            if (me == wagons[0]) 
        {
              loc = loc + CAR_FRONT;
            }

            if (me == wagons[wagons.size() - 1]) 
        {
              loc = loc + CAR_BACK;
            }

           return loc;
    }

    float bstat()
    {
        Train hzcoa = me.GetMyTrain();
        float val = hzcoa.GetTrainBrakes();
        return val;
    }

    thread void DirectionMonitor(void) 
    {
            bool f_dir;
            int old_p_state = CAR_CENTER;
            bool old_f_dir = !GetDirectionRelativeToTrain();

            while (p_state > CAR_CENTER) 
        {
              p_state = PosCheck();
              f_dir = GetDirectionRelativeToTrain();

              if ((old_f_dir != f_dir) or (old_p_state != p_state)) 
            {
                    old_f_dir = f_dir;
                    old_p_state = p_state;
                    SetLamps(p_state, f_dir);
              }

              Sleep(3.0);
            }

        f_dir = GetDirectionRelativeToTrain();

            if ((old_f_dir != f_dir) or (old_p_state != p_state)) 
        {
              SetLamps(p_state, f_dir);
            }

           runDM = 1;
    }

    thread void VehicleMonitor(void) 
    {
        Message msg;

            while (p_state != CAR_DERAILED) 
        {
            p_state = PosCheck();

              if (p_state and runDM) 
            {
                    runDM = 0;
                    DirectionMonitor();
              }

              wait() 
            {
                on "Vehicle", "Coupled": 
                {
                }

                    on "Vehicle", "Decoupled": 
                {
                }

                    on "Vehicle", "Derailed", msg: 
                {
                          if (msg.src == me) 
                    {
                        p_state = CAR_DERAILED;
                        b_state = 6.0;
                        SetFXCoronaTexture("blr1", null);
                        SetFXCoronaTexture("blr2", null);
                        SetFXCoronaTexture("blr3", null);
                        SetFXCoronaTexture("blr4", null);
                        SetFXCoronaTexture("bly1", null);
                        SetFXCoronaTexture("bly2", null);
                        SetFXCoronaTexture("bly3", null);
                        SetFXCoronaTexture("bly4", null);
                        SetFXCoronaTexture("blg1", null);
                        SetFXCoronaTexture("blg2", null);
                        SetFXCoronaTexture("blg3", null);
                        SetFXCoronaTexture("blg4", null);                        
                    }
                    }

                    on "Train", "StartedMoving": 
                {
                }
                    
                on "World", "ModuleInit": 
                {
                          p_state = PosCheck();
                          SetLamps(p_state, GetDirectionRelativeToTrain());
                  }
              }
                 p_state = PosCheck();
            }
      }

    thread void BrakeMonitor()
    {
        while (b_state != 6.0)
        {
            b_state = bstat();
            SetBrakes(b_state);
            Sleep(3.0);
        }
    }
 
Serious bug after the patch. Every time I run surveyor, most of my rolling stock and locos are backwards and lower. No matter how I re-rotate them and save the session, the next time I load surveyor they are backwards again.

Really, really annoying.

Thumbs down, devs.
 
@Andryugist, in another thread you can read that a lot can go wrong when placing a loco and Do F2 Quickdrive
parts of script then do not work. Have you tested it place, save go out of trainz then restart trainz and drive?
Another thing, trainz does a lot of unwanted things with lights outside of the scripts we make (not only in SP4)
try to analyse exact what goes wrong and where. GL.
 
Back
Top