Turns out, SetUpWheelsArticulation is only called for wagons that already have 2 or more axles, which is not the case for these particular wagons.
//Certain locomotives are testing as articulated wagons for some reason. if (WagonType != WagonTypes.Engine) if (WheelAxles.Count >= 2) // <-- This prevents 0-axle train cars from having articulation set up if (articulatedFront || articulatedRear) { WheelAxlesLoaded = true; SetUpWheelsArticulation(carIndex); }
I changed this check to also pass for things with no wheels...
//Certain locomotives are testing as articulated wagons for some reason. if (WagonType != WagonTypes.Engine) if (WheelAxles.Count >= 0) // <-- Will now process things with 0 axles, could probably remove this line entirely if (articulatedFront || articulatedRear) { WheelAxlesLoaded = true; SetUpWheelsArticulation(carIndex); }
And the articulation works suddenly. Here are a couple of screenshots on very tight curves for comparison. Top screenshot is with my modification to the code allowing articulation with 0 axles, bottom is the original.
https://i.imgur.com/pSRqxra.jpg
https://i.imgur.com/XSYCEmE.jpg
As I hope is pretty clear, excluding this 0-axle train car from the articulation fix leads to a much worse-looking result than applying the articulation fix to it. I see no downsides, and this was trivially easy to fix.
Now this isn't a part of the code I know much about, and before I go off and make this official I wanted to see if anyone knew why the articulation fix would only happen for train cars that already have 2 wheels at least (this would be a train car that has a bogie at one end of the 3D model, but not at the other end-these work flawlessly as-is). This bit of code has been there for years, so I doubt anyone would know off the top of their head, but I'm not seeing any justification for this beyond the original writer failing to consider that someone could simulate an articulated train car by giving it no axles and no bogies. Maybe there's something out there that has 0 axles and 0 bogies in the 3D model but would rather use the default bogie location than be articulated...but I doubt that considering the only example of 0 axle stuff I ever see is articulated cars.