Mit ein wenig Mathematik und Auschlussmethoden müste man auch reine Streckenkilometer errechnen können. Dazu müsste sich der Programmierer aber mal die Tracks.bin genauer anschauen und rausfinden wie man feststellt, ob 2 Ribbons nahezu parallel liegen. Wird aber möglicherweise zu viel Leistung einfordern. Interessanter wären da eher andere Informationen wie Signalstandorte mit Namen und Linkzuordnungen visualisieren (zum schnellen prüfen und Fehler suchen beim Streckenbau). Da gibts sicher noch einiges was helfen kann wenn es visualisiert wird. Im Editor verliert man ja doch gern schnell den Überblick über das Schienenetz.
Neues Tool: RWInfo
-
-
Kann es sein, dass Strecken, die mit dem TS2015 abgespeichert wurden, nicht mehr korrekt dargestellt werden?
Jedenfalls zeigt das Tool mir keine Gleismarker und Portale mehr an, nur noch eine aus weißen Gleisen bestehende Gleisanlage.
Im Logfenster steht nur:Vielleicht kann ja eine etwas aussagekräftigere Fehlermeldung ausgegeben werden?
Edit: Ich nutze v1.1.0
Edit: keine Änderung und identische Fehlermeldung auch mit aktueller v1.1.1, aber nun mit Details:
Meldung 1:Code
Alles anzeigen09:41:45.681 [pool-2-thread-7] ERROR ch.tkl.rw.display.TrackMain - Unexpected exception java.util.concurrent.ExecutionException: java.lang.RuntimeException: Initializing class ch.tkl.rw.types.PosOri, property <Scale d:numElements="4" d:elementType="sFloat32" d:precision="string">1,0000000 1,0000000 1,0000000 0,0000000</Scale> at java.util.concurrent.FutureTask.report(Unknown Source) [na:1.7.0_51] at java.util.concurrent.FutureTask.get(Unknown Source) [na:1.7.0_51] at ch.tkl.rw.display.TrackMain$13.run(TrackMain.java:436) ~[RWDisplayTracks.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_51] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_51] at java.lang.Thread.run(Unknown Source) [na:1.7.0_51] Caused by: java.lang.RuntimeException: Initializing class ch.tkl.rw.types.PosOri, property <Scale d:numElements="4" d:elementType="sFloat32" d:precision="string">1,0000000 1,0000000 1,0000000 0,0000000</Scale> at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:210) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:174) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:174) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:174) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.buildTree(BuildObjects.java:73) ~[RWObjects.jar:na] at ch.tkl.rw.display.TrackMain.readTrackProperties(TrackMain.java:492) ~[RWDisplayTracks.jar:na] at ch.tkl.rw.display.TrackMain.access$800(TrackMain.java:94) ~[RWDisplayTracks.jar:na] at ch.tkl.rw.display.TrackMain$10.call(TrackMain.java:371) ~[RWDisplayTracks.jar:na] at ch.tkl.rw.display.TrackMain$10.call(TrackMain.java:368) ~[RWDisplayTracks.jar:na] ... 4 common frames omitted Caused by: java.lang.NoSuchFieldException: Neither ch.tkl.rw.types.PosOri nor its superclasses contain a field scale at ch.tkl.rw.reader.BuildObjects.getField(BuildObjects.java:291) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:88) ~[RWObjects.jar:na] ... 31 common frames omitted
Meldung 2:Code
Alles anzeigen09:41:45.682 [pool-2-thread-7] ERROR ch.tkl.rw.display.TrackMain - Unexpected exception java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Initializing class ch.tkl.rw.types.PosOri, property <Scale d:numElements="4" d:elementType="sFloat32" d:precision="string">1,0000000 1,0000000 1,0000000 0,0000000</Scale> at java.util.concurrent.FutureTask.report(Unknown Source) [na:1.7.0_51] at java.util.concurrent.FutureTask.get(Unknown Source) [na:1.7.0_51] at ch.tkl.rw.display.TrackMain$13.run(TrackMain.java:436) ~[RWDisplayTracks.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_51] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_51] at java.lang.Thread.run(Unknown Source) [na:1.7.0_51] Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Initializing class ch.tkl.rw.types.PosOri, property <Scale d:numElements="4" d:elementType="sFloat32" d:precision="string">1,0000000 1,0000000 1,0000000 0,0000000</Scale> at java.util.concurrent.FutureTask.report(Unknown Source) [na:1.7.0_51] at java.util.concurrent.FutureTask.get(Unknown Source) [na:1.7.0_51] at ch.tkl.rw.display.TrackMain$11.call(TrackMain.java:382) ~[RWDisplayTracks.jar:na] at ch.tkl.rw.display.TrackMain$11.call(TrackMain.java:378) ~[RWDisplayTracks.jar:na] ... 4 common frames omitted Caused by: java.lang.RuntimeException: Initializing class ch.tkl.rw.types.PosOri, property <Scale d:numElements="4" d:elementType="sFloat32" d:precision="string">1,0000000 1,0000000 1,0000000 0,0000000</Scale> at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:210) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:174) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:174) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:174) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.getValue(BuildObjects.java:310) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:104) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.buildTree(BuildObjects.java:73) ~[RWObjects.jar:na] at ch.tkl.rw.display.TrackMain.readTrackProperties(TrackMain.java:492) ~[RWDisplayTracks.jar:na] at ch.tkl.rw.display.TrackMain.access$800(TrackMain.java:94) ~[RWDisplayTracks.jar:na] at ch.tkl.rw.display.TrackMain$10.call(TrackMain.java:371) ~[RWDisplayTracks.jar:na] at ch.tkl.rw.display.TrackMain$10.call(TrackMain.java:368) ~[RWDisplayTracks.jar:na] ... 4 common frames omitted Caused by: java.lang.NoSuchFieldException: Neither ch.tkl.rw.types.PosOri nor its superclasses contain a field scale at ch.tkl.rw.reader.BuildObjects.getField(BuildObjects.java:291) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:88) ~[RWObjects.jar:na] ... 31 common frames omitted
Jetzt erklärt sich auch das Fehlen der Marker, wenn er wegen mancher fehler ein paar Frames überspringt ("common frames omitted")
Im TS läuft die Strecke normal. -
Ich habe das Problem schon erkannt und bin an einem Fix dran.
-
Super!
Vielen Dank!Echt schönes Tool, hat mir schon oft geholfen!
-
Es ist soweit, bei http://www.10a.ch/rwinfo ist das Update auf RWInfo-1.1.2 verfügbar.
Damit sollten jetzt auch Routen aus TS2015 korrekt dargestellt werden.
Wobei: die "Academy"-Route wird weiterhin ohne Marker angezeigt - diese Route enthält selbst keine Marker, nur die Szenarien dazu.
-
-
Ich habe RWInfo-1.2.0 veröffentlicht - der Download ist hier im Downloadbereich verfügbar.
Das ist neu:
- Berechnung der Streckenlänge
- Welttkoordinaten nach TrainSimulator kopieren
- RouteMarker auflisten und dorthin springen
- für Transferpunkte werden mehr Details angezeigt
-
Hallo tomy,
danke für das Update.
Interessant finde ich die Angaben zur Streckenlänge!Allerdings zeigt mir v1.2.0 derzeit nur noch 2 Strecken von installierten 19 an: München-Garmisch und Pacific-SurfLiner.
Im Spoiler ist die Ausgabe des Protokolls. Hier exemplarisch die TestTrak in ihrer Originalversion, die zusammen mit allen anderen ebenfalls nicht (mehr) links aufgelistet wird:
Code[WARN] Invalid RouteProperties.xml for route /Content/Routes/00000008-0000-0000-0000-000000000000
und dann:Code
Alles anzeigen12:52:33.630 [pool-1-thread-1] WARN ch.tkl.rw.routes.RouteStore - Invalid RouteProperties.xml for route /Content/Routes/00000008-0000-0000-0000-000000000000 java.lang.RuntimeException: Initializing class ch.tkl.rw.types.RouteProperties, property <HasTimeZoneSet d:type="bool">0</HasTimeZoneSet> at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:210) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValues(BuildObjects.java:80) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.buildTree(BuildObjects.java:73) ~[RWObjects.jar:na] at ch.tkl.rw.routes.RouteStore.readRouteProperties(RouteStore.java:144) [RWDisplayTracks.jar:na] at ch.tkl.rw.routes.RouteStore.doScanRoutes(RouteStore.java:118) [RWDisplayTracks.jar:na] at ch.tkl.rw.routes.RouteStore.access$000(RouteStore.java:38) [RWDisplayTracks.jar:na] at ch.tkl.rw.routes.RouteStore$2.doInBackground(RouteStore.java:82) [RWDisplayTracks.jar:na] at ch.tkl.rw.routes.RouteStore$2.doInBackground(RouteStore.java:79) [RWDisplayTracks.jar:na] at javax.swing.SwingWorker$1.call(Unknown Source) [na:1.7.0_72] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_72] at javax.swing.SwingWorker.run(Unknown Source) [na:1.7.0_72] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_72] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_72] at java.lang.Thread.run(Unknown Source) [na:1.7.0_72] Caused by: java.lang.NoSuchFieldException: Neither ch.tkl.rw.types.RouteProperties nor its superclasses contain a field hasTimeZoneSet at ch.tkl.rw.reader.BuildObjects.getField(BuildObjects.java:291) ~[RWObjects.jar:na] at ch.tkl.rw.reader.BuildObjects.initValue(BuildObjects.java:88) ~[RWObjects.jar:na] ... 13 common frames omitted
-
Das Programm scheint ein Problem damit zu haben wenn in der xml "<HasTimeZoneSet d:type="bool">0</HasTimeZoneSet>" steht. Der Wert hierbei ist egal. Vermutlich weiß auch keiner woher der kommt und was er bewirkt.
-
Danke für die Fehlermeldung - sobald ich dazu komme werde ich das beheben.
-
So, das Problem ist korrigiert und die neue Version 1.2.1 ist hier im Downloadbereich zu finden
-
-
Ich habe eine Bugfix-Version 1.2.2 freigegeben, welche kleinere Probleme behebt:
- der Installer der Versionen 1.2.0 und 1.2.1 hat nicht alle alten Dateien entfernt
- das Einlesen grosser Tracks.bin-Dateien ist fehlgeschlagen (z.B. Northern Europe)
- versuche nicht, nicht existierende RouteMarker-Verzeichnisse zu lesen
Das Update kann unter http://www.10a.ch/rwinfo heruntergeladen werden
-
Super!
Finde ich gut, dass du immer wieder mal einen Bugfix und ein Update raushaust.
Ich mag das programm!Einen Bug und einen Vorschlag hätte ich aber noch:
- Bug: bei Auswahl der Munich-Garmisch-Strecke wird lediglich eine gesamtlänge von 0,32 km angezeigt. ich vermute, dass RWInfo nur zusammenhängende Gleise addiert und dann aufhört weiter zu addieren. Aber manche Strecken haben nunmal "tote" Gleise rumliegen.
- Vorschlag: Bestehende Terrain-Kacheln etwas anders einfärben. Gerade dann, wenn man sich ein DistantTerrain anlegen möchte, könnte es hilfreich sein, schnell Lücken im Streckengelände an den Rändern auszumachen und durch den Import weiterer Dem-Daten aufzufüllen. Über dieses "Problem" stolpere ich nämlich gerade an unserer Schwarzwaldbahn, die es notwendig macht, auch noch 70 km entfernt vom Gleis DEM-Daten zu importieren, weil man von Konstanz aus die Alpen sehen können sollte (ob der TS das überhaupt kann, muss ich dann mal gucken).
So wie ich das sehe, ist das Darstellungsgitter in RWTools ja schon auf 1024 m voreingestellt, so dass dies eigentlich synchron aufgeteilt sein sollte zu den Kachelgrößen wie sie im TS in Gebrauch sind.
Das bedingt aber, dass die dargestellte Gesamtfläche nicht nur die Gleisanlage beschränkt ist, sondern ausgeweitet werden müsste, je nachdem wie weit das Terrain sich erstreckt. Als Beispiel habe ich hier mal ein Bildchen der TestTrak angehangen, wie sie in RWInfo bei Umsetzung des Vorschlags aussehen könnte.
Ist aber nur eine fixe Idee... ich weiß nicht, ob das den Aufwand wert ist und ob das wirklich den Nutzen bringt, den ich mir erhoffe. -
Hallo, aus irgendwelche Gründe kann ich Rwinfo nicht öffnen, es erscheint immer eine Fehlermeldung (siehe Bild).
So wie ich die Fehlermeldung verstehe wird Java gebraucht, das fehlt aber oder ist beschädigt. Java habe ich auch nur Firefox aktiviert es aus Sicherheitsgründen nicht. Liege ich richtig mit meiner Vermutung, dass Java gebraucht wird?
Könnte mir bitte jemand helfen? -
Die nötige Java-Laufzeitumgebung bringt RWInfo eigentlich mit und das von Firefox deaktivierte Java-Plugin dürfte hiermit nichts zu tun haben (ist bei mir auch so), weil RWInfo ja nicht den Firefox zur Anzeige bemüht.
Hast du vielleicht nur das Update gezogen?
Ich würde mir zunächst eine Vollversion installieren. Das Setup für die v1.2.1 hat etwa 25 MB Größe. Dann würde ich gucken, ob es läuft und erst dann würde ich das Update drüberbügeln. -
-
-
Komisch - bei mir wird München-Garmisch mit 510.657 km angezeigt. Und da ich nur alle Tracksegmente zusammenzähle müsste es bei Dir etwa gleich viel anzeigen.
Die Idee mit dem Einfärben der Kacheln (Terrain, Loft/Road/Track Tiles, MixMap) nehme ich gerne in meine Liste von möglichen neuen Features auf.
-
-
tomy:
Ich erhalte immer nur 320m... komisch. Ich habe das original von M-Gap von Steam, also keinen Trainworks-Patch.
Auch beim FelberpassV2 erhalte ich nur 160 km, es müsste aber erheblich mehr sein, wenn man bedenkt, dass die Strecke im Prinzip 4-gleisig und Luftlinie etwa 80 km lang ist.
Aber macht nichts, irgendwann kommen wir dahinter. Im Log-Fenster kommt keine Meldung.Ob es sinnvoll ist, neben terrain auch noch andere Kacheln farblich hervorzuheben, weiß ich nicht. ich sehe da nur beim Terrain einen Nutzen. Aber ich find's gut, dass du dir das durch den Kopf gehen lässt.
Kopiere Weltkoordinaten (Strg+W): Klasse Gimmick, eben mal getestet. Super!
Erwähnte ich schon? Ich mag das Programm!
Offtopic:
Und auch deine "Scharf beobachtet Kolumne" finde ich super! Herrlich trocken.
Ich darf mal zitieren:ZitatNoch ne Schlagzeile...
Gespeichert von tomy am Mi, 28. Mär 2007 - 14:44
und auch diese wieder aus dem Teletext:
"45 Menschen sterben aus Rache..."
Das man aus Rache töten, Sachen zerstören und ähnliches kann, aber aus Rache sterben? An wem will man sich den beim Sterben aus Rache überhaupt rächen?Hehehehehehe
-
Bei mir hat es bei offensichtlich falsch angezeigten Streckenkilometern geholfen, die Werte einer anderen Strecke zu laden und dann wieder die Strecke die man haben wollte, dann stimmen die Werte.
-
Hmm na ja mein Feedback ist eher negativ. Zu Anfang hat das Tool mal irgendwann funktioniert aber dann nicht mehr.
Selbst löschen und komplette Neuinstallation bringt da keine Besserung da mir allenfalls nur zwei Strecken angezeigt werden.
Java habe ich die aktuelle Version also darüber brauchen wir gar nicht erst spekulieren.Ich habs kurzerhand wieder rausgehauen und da musste ich auch noch nachhelfen da die Deinstallation eher ein Witz ist da
doch alle Verzeichnisse noch über bleiben. In der Reg habe ich noch gar nicht nachgesehen da sind bestimmt auch noch Einträge vorhanden aber die
stören nicht so wirklich.Aber um ehrlich zu sein brauche ich das Prog auch nicht da ich da keinen wirklichen nutzen für mich sehe.
-