Autor Thema: Verschwundene Wagen ... wieder aufgetaucht!  (Gelesen 265 mal)

Offline Richie57

  • Administrator
  • *****
  • Let the good times roll!
Verschwundene Wagen ... wieder aufgetaucht!
« am: 14.05.2017, 21:12:43 »
Hallo Freunde,

dass OR auch ein rechtes Sensibelchen sein kann, zeigte sich kürzlich, als ich die Wagen aus dem CD 020-Packet von Ondrej Janis in einer Consist verwenden wollte.
In der Vorschau des ConEditors wurde mir der Zug einwandfrei angezeigt, in der Simulation dann aber folgendes Bild:


Die Beiwagen wurden nicht angezeigt, obwohl sie laut Zugbedienungsfenste r eigentlich da sein müssten. :-\

Nach einigem Rätseln brachte mich der OpenRailsLog dann auf eine Spur; irgendetwas mit der Lichtkonfiguration schien nicht zu stimmen.
Warning: System.IO.FileLoadException: M:\OR_CR_310\trains\trainset\cd_020\cd_020030.wag ---> System.DivideByZeroException: Es wurde versucht, durch 0 (null) zu teilen.
   bei Orts.Viewer3D.LightPrimitive..ctor(Light light) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Lights.cs:Zeile 317.
   bei Orts.Viewer3D.LightGlowPrimitive..ctor(LightViewer lightViewer, RenderProcess renderProcess, Light light) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Lights.cs:Zeile 498.
   bei Orts.Viewer3D.LightViewer..ctor(Viewer viewer, TrainCar car) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Lights.cs:Zeile 87.
   bei Orts.Viewer3D.TrainDrawer.LoadCar(TrainCar car) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Trains.cs:Zeile 161.
   bei Orts.Viewer3D.TrainDrawer.Load() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Trains.cs:Zeile 74.
   bei Orts.Common.ORTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String format, Object[] args) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\Orts.Simulation\Common\ErrorLogger.cs:Zeile 123.
   bei System.Diagnostics.TraceInternal.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args)
   bei System.Diagnostics.Trace.TraceWarning(String format, Object[] args)
   bei Orts.Common.ORTraceListener.WriteLine(Object o) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\Orts.Simulation\Common\ErrorLogger.cs:Zeile 208.
   bei System.Diagnostics.TraceInternal.WriteLine(Object value)
   bei System.Diagnostics.Trace.WriteLine(Object value)
   bei Orts.Viewer3D.TrainDrawer.Load() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Trains.cs:Zeile 78.
   bei Orts.Viewer3D.World.Load() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\World.cs:Zeile 86.
   bei Orts.Viewer3D.Viewer.Load() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Viewer.cs:Zeile 615.
   bei Orts.Viewer3D.Viewer.Initialize() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Viewer.cs:Zeile 420.
   bei Orts.Viewer3D.Viewer..ctor(Simulator simulator, Game game) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Viewer.cs:Zeile 292.
   bei Orts.Viewer3D.Processes.GameStateRunActivity.Start(UserSettings settings, String acttype, String[] args) in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Processes\GameStateRunActivity.cs:Zeile 288.
   bei Orts.Viewer3D.Processes.GameStateRunActivity.<>c__DisplayClass8.<Load>b__3() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Processes\GameStateRunActivity.cs:Zeile 150.
   bei Orts.Viewer3D.Processes.GameStateRunActivity.Load() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Processes\GameStateRunActivity.cs:Zeile 190.
   bei Orts.Viewer3D.Processes.LoaderProcess.Load() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:Zeile 158.
   bei Orts.Viewer3D.Processes.LoaderProcess.DoLoad() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:Zeile 138.
   bei Orts.Viewer3D.Processes.LoaderProcess.LoaderThread() in e:\Documents\Coding\Jenkins\jobs\Open Rails Unstable\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:Zeile 109.
   bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bei System.Threading.ThreadHelper.ThreadStart()

Gut, also die wag-Dateien noch einmal genauer unter die Lupe genommen und siehe da ...



... das Fehlerteufelchen versteckt sich manchmal richtig geschickt.  ;D Dieser kleine -wahrscheinlich unabsichtlich eingefügte- Wortschnipsel vor dem State-Eintrag sorgte für die Fehlermeldung in der LogDatei.
Nach Bereinigung der Lichteinträge den Simulator noch einmal gestartet und die Wagen waren wieder da! ;)



Kleine Ursache, große Wirkung könnte also das Motto für solcherlei rätselhaftes Verschwinden von Fahrzeugen sein (auch im ElvasTower-Forum wurde darüber schon im Nebel gestochert).
Ich vermute, dass OR die eng- und wag-Dateien sehr viel gründlicher ausliest als der olle MSTS und es dadurch zu solch einem Ergebnis kommt.
Fazit: Immer erst mal einen Blick in die entsprechenden Fahrzeugdateien werfen und auch auf Kleinigkeiten achten.

Vielleicht hilft diese Feststellung dem einen oder anderen, falls mal wieder ein Wagen unsichtbar bleibt.

Viele Grüße
Richie
Trump? Erdoğan? Putin? Gauland? ...
If truth is impossible, so is the lie ... only the strange remain!