Immersive Railroading

Immersive Railroading

3M Downloads

Heavy train consists cannot be pulled apart

CellmanXM8 opened this issue ยท 4 comments

commented

I've noticed that the smaller loco's cannot pull apart large trains. For example the big boy can pull 6 fully loaded hoppers. You then remove the big boy and attach an sw1500 to the 6 hoppers. If you uncouple hoppers such that only 1 remains attached to the sw1500 it will not move. Also, even if the sw1500 is uncoupled, it is unable to pull away from the 6 hoppers.

From quick glances at the code, it would appear to be a problem with the weight calculation. From what I saw, when calculating the weight of the consist, it checks whether there is another coupler nearby without checking to see if it is coupled. This works for pushing, but not pulling where uncoupled car should be excluded from the calculation

commented

Fixed in the test builds

commented

Thanks for the detailed report. I honestly don't know how I am going to fix this one.

commented

Just a thought (and I don't know much about coding so I don't know if it is ever possible or not), could you code each of the couplers for the engines as front and back? Use the front vs back as a logic statement that triggers one of two weight calculations. If the back coupler is energized by being coupled (not sure the proper coding term so I'll use machine logic terms), the weight calculation is only that of connecting coupled couplers. If the front coupler is energized, use the current method of weight calculation. I'm not sure how to logically check the front coupler but the back should be straight forward.

On second thought, you could have your back coupler be the "if" condition and the front coupler, or push configuration, be the "else" statement. That should do the trick. Also, you could add an additional line of logic that designates the front and back coupler as a function of direction (forward vs reverse) to finish off the logic.

commented

I observed a side-effect of this as well today. If one locomotive is coupled to another, then tries to uncouple and pull away, the brakes on the (stationary) locomotive must be released in order for the other one to drive.

Another way to look at the problem is to identify which couplers are in tension and which are in compression. When a "shunting mode" coupler finds itself in tension for any reason, that would trigger the uncoupling action. Maybe you already have this as part of the physics rewrite. :-)