Integerüberlauf und spinnende Splines. Ich glaube, ich habe die Lösung! (und Maerkertram hatte sie schon vorher...)

Das Forum befindet sich im reduzierten Betrieb. Die Addon- und Supportforen bleiben weiterhin verfügbar.
Bitte beachte, dass OMSI nicht mehr weiterentwickelt wird. Ein Teil der Entwickler widmet sich inzwischen der Entwicklung eines neuen Simulators. Weitere Informationen zum LOTUS-Simulator findest Du hier.
Ein communitybetriebenes Nachfolge-Forum wird hier verlinkt, sobald es gegründet und bereit ist.
  • Ich glaube, ich habe etwas wichtiges herausgefunden für Leute, denen beim Bau ein Integerüberlauf begegnet und die, die auf einmal keine Spline mehr vernünftig anlegen können. Edit: Außerdem scheint ein Zusammenhang mit überfahrenen Fussgängern zu bestehen. Edit^2: Backup nicht vergessen!


    Der Versuchsaufbau:
    Ich habe erstmal ein paar Splines auf einer neuen Karte platziert, habe den Editor neu gestartet und geguckt ob alles geht. Dann habe ich eine Spline angefügt, ihr einen Radius zugewiesen und dann den Winkel (für alle die der englischen Zunge nicht mächtig sind: angle) auf 0 gesetzt. Folge: die Länge wird auch 0! Beim sofortigen Versuch, eine neue Spline anzusetzen kam ein Integerüberlauf. Bei einem Neustart des Editors, konnte man die Splines nur noch an Kreuzungen, der Mitte anderer Splines und ähnlich sinnfreien Orten andocken. Durch herumpfuschen in der tile-Datei (in meinem Versuch tile_0_0.map), konnte ich dieses Problem beheben. Und zwar, indem man die Länge der Splines auf mindestens 10 setzt. Splines mit Länge 0 bis Länge 0,9999999 verursachen anscheinend dieses Problem, also muss man nur entweder die Spline löschen oder ihre LÄnge verändern. Das geht so:


    1. Was bedeuten die Zahlen?


    So sieht ein typische Splineeintrag in der tile_X_Y.map) aus. Dahinter steht, was er anscheinend bedeutet:
    [spline] Erklärt sich von selbst
    0 keine Ahnung
    Splines\Marcel\str_2spur_8m_altonaer1.sli Der Pfad, wo die Spline zu finden ist
    4 laufende Registriernummer oder so
    -1 Anfangsspline (0 steht für Folgespline, also eine die an eine andere angeflanscht wird)
    151.639953598579 X-Koordinate
    0 Höhe
    67.3292679777354 Y-Koordinate
    269.999992326849 Rotation
    49.9999992153375 Länge (die für uns wichtigste Zeile!!!!)
    0 Radius (to bend oder not to bend....)
    0 Gradient start
    0 Gradient end
    0 Cant: start
    0 Cant: end


    ... also alles in Reihenfolge des Editors


    2. Ja, und?
    So, nun suche man sich eine Spline, mit auffallend kurzer Länge, jeweils die 6. Zeile von unten. Diese könnte so aussehen:



    [spline]
    0
    Splines\Marcel\str_2spur_8m_altonaer1.sli
    199
    0
    0
    0
    0
    0 Länge
    49.9999992153375 Radius
    0
    0
    0
    0



    Ein Radius von 49 mit einer Länge von 0? Never! Also Länge auf 10 oder so setzen, läuft!
    Ich habe dies mehrmals probiert und es hat jedes Mal geklappt, also scheint dieses Vorgehen das Problem zu lösen.


    3. noch ein paar methodische Bemerkungen
    Bitte macht ein BACKUP Eures Kartenordners, also maps\MeineTraummap !!!!!!! Es wird weiter unten überliefert, dass Omsi oder Windows oder wer auch immer komplette Kacheldateien löscht! Anscheinend scheint dieses Verfahren GEFÄHRLICH zu sein!!!!!
    Wichtig scheint mir zu sein, dass man vorher die Suche eingrenzt, indem man sich erinnert, an welcher Kachel man zuletzt rumgeschraubt hat und an welcher Spline man gearbeitet hat. Man notiert sich die Koordianten der Kachel, um die richtige .map zu öffnen und sucht nach den Koordinaten der Spline (meist sind ja nur die Folgesplines kurvig, zumindest bei mir...), die Spline, die in der Datei direkt darunter steht, sollte man sich genauer angucken.


    Viel Erfolg


    Tante Edith meint: Maerkertram hat das, wie ich gerade erfahre, schon vor Monaten herausgefunden: Editor Probleme

    Life is not like a box of chocolates, it's more like a box of jalapenos: what you do today might burn your butt tomorrow.

    2 Mal editiert, zuletzt von Indigo1507 () aus folgendem Grund: Tante Edith meint: Steuerzeichen sollte man wieder löschen und Ehre, wem Ehre gebührt...

  • Inhaltlich habe ich das selbe schon hier geschrieben: Editor Probleme
    Dort hatte ich allerdings nie einen Integerüberlauf. Außerdem habe ich auf einer anderen Map, wie dort erwähnt, die selben Probleme gehabt, obwohl kein Spline die Länge Null hatte - trotzdem musste ein korrupter Spline gelöscht werden, damit es wieder lief.

    Payware-Addon "Berlin X10" ist fertig.


    Als Download-Version, Box-Version, Special-Edition und bei Steam erhältlich.

  • Ei gucke da. Den Thread hatte ich gar nicht gelesen. Interessant auch der Zusammenhang mit den Fussgängern. Das hätte mir einstmals viele Probleme gelöst. Trotzdem danke und sorry, dass ich mich mit Deinen Federn geschmückt habe.

    :)


    Ich lasse den Thread trotzdem mal drin wegen der Beschreibung der einzelnen Parameter. Vielleicht kann ja einer was damit anfangen...
    Übrigens hatte ich bei meinen Versuchen auch eine Spline mit Länge 0.495555usw. Offensichtlich braucht es eine gewissen Mindestlänge für Splines. Irgendwo im Handbuch stand ja auch, dass Splines nicht kürzer als - ich glaube - 5 Meter sein sollten.

    Life is not like a box of chocolates, it's more like a box of jalapenos: what you do today might burn your butt tomorrow.

  • Das Vorgehen scheint also einfach zu sein: man suche in .map-Dateien nach Längen unter 1 (oder 5? Wo ist die Grenze, an der der Editor anfängt zu spinnen?). Das müsste sich doch automatisieren lassen. Ich kann leider nicht programmieren, aber für einen halbwegs fitten Programmierer müsste das doch ein Klacks sein:
    1. Suche alle .map-Dateien in Ordner maps\MeineLieblingsmap und öffne sie nacheinander
    2. Suche nacheinander alle [spline}-Einträge und lies die Zeile aus, die 8 Zeilen darunter steht
    3. Wenn der Inhalt dieser Zeile kleiner als sagen wir mal 5 ist, lösche den kompletten [spline]-Eintrag, setze den Wert auf 10, frag Mami, rufe die Polizei oder mach was auch immer der Programmierer sich ausgedacht hat.
    4. Speichere alle .map-Dateien, gib einen Report ab, wo Du was verändert hast und koche Kaffee.


    Tante Edith meint: da fehlt als allererster Schritt ein Backup der ganzen Map!

    Life is not like a box of chocolates, it's more like a box of jalapenos: what you do today might burn your butt tomorrow.

  • Oh, das ist ja extrem doof.

    ;(


    Bist Du sicher, dass Du nach Splines mit LÄNGE 0 gesucht hast? Und wieso sind die ganzen anderen Kacheln weg? Die .map-Dateien werden ja nicht einfach gelöscht. Sind die anderen .map-Dateien noch in Deinem Ordner (maps\MeineSuperkarte)? Sind sie in der global.cfg aufgeführt? Und wenn nein, was hast Du an der global.cfg verändert? Hast Du vielleicht beim Backup die Dateien zum Teil ausgeschnitten anstatt sie zu kopieren?
    Und warum fehlen da auf einmal Kreuzungen? Die werden doch mit [object] eingeleitet. Also wirst Du doch nicht an ihnen rumgeschnippelt haben. Stehen die noch in der Kacheldatei drin?

    ?(


    Das passt einfach alles nicht!

    :cursing:


    Ich habe, nach dem oben beschriebenen Versuch, bewusst einen Fehler in meine "richtige" Map eingebaut und diesen dann auch gefunden (und behoben), ohne dass irgendwelche Kacheln oder Objekte verschwinden und ohne ein derart verheerendes Ergebnis.
    Hast Du ein Backup gemacht? *bittesagja*

    Life is not like a box of chocolates, it's more like a box of jalapenos: what you do today might burn your butt tomorrow.

  • NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    WTF DIE GANZEN ANDEREN KACHELN SIND AUS DER GLOBAL.CFG UND DEM MAP ORDNER GELÖSCHT UND ICH HAB KEIN BACKUP!!!!!!!!!!!! Weiß der Geier wo die hin sind!!!!!!!!!! Ich habe nur in der Map Datei der Kachel tile_0_0 die Splines korigiert und als ich den OMSI-Editor danach geöffnet habe kam das Bild was ich gepostet habe, WICHTIG : Ich habe keine Tile's gelöscht oder irgendwie verändert, NUR in der Map Datei tile_0_0 das mit den Splines gemacht. An den [object] Dateien in der Map Datei habe ich auch nichts verändert!

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:

    :cursing:


    Trotzdem Danke

  • Krass, das tut mir Leid!

    ;(


    Vielleicht kann jemand, der Ahnung hat oder der an anderer Stelle ähnliche Erfahrungen gemacht hat, mal posten, wie so etwas sein kann bzw. welche Veränderungen er vorgenommen hat. Ich habe Floris Erlebnisse bis jetzt nicht reproduzieren können. Ich habe mittlerweile mehrfach auf allen möglichen Maps 0-Längen-Splines produziert, auch mal mehrere auf einer Tile und auf verschiedenen Tiles, auf der Ursprungskachel und auf anderen, sicher ist sicher (ja, ich habe vorher Backups gemacht!). Ich habe sie alle wieder ohne Datenverlust weggekriegt.
    Einerseits könnte ich jetzt behaupten Flori hätte einen Fehler gemacht, aber das glaube ich nicht. Ich kann mir einfach nicht vorstellen, dass er - ohne es zu bemerken - eine Wagenladung voller Kacheldateien nebst ihrer Einträge in der global.cfg löscht. Das muss irgendwie von OMSI ausgehen.
    Andererseits, wie macht OMSI das, wenn man nur in einem externen Editor ein paar Einträge verändert? Dann müsste ja OMSI im Moment des Ladens der Karte feststellen, dass in einer Kacheldatei Blödsinn drinsteht und spontan die relevanten Daten überschreiben, löschen, irgendwohin verschieben oder was weiss ich. Ich verstehe es nicht, bin aber ziemlich beunruhigt und fühle mich auch ein bisschen schuldig für Floris Totalverlust.

    :(


    Diese Sache birgt noch eine Frage: kann man die Daten wieder hervorholen? Landen sie im Papierkorb? Gibt es irgendwo einen Temp-Ordner, der solche Veränderungen abspeichert und netterweise vergisst, sie zu löschen? Kann man mit einem entsprechenden Programm die Daten, die ja auf der Platte noch drauf sind, wieder sichtbar und damit auch nutzbar machen? Helft uns bitte mal!

    Life is not like a box of chocolates, it's more like a box of jalapenos: what you do today might burn your butt tomorrow.

  • Bei complete to kamen bei mir durchaus auch Splines der Länge 0,5m raus und das ist unproblematisch. Die 5m kommen mir nicht bekannt vor. Ich bin mir ziemlich sicher, dass genau Null das Problem ist. Irgendeine Rechenoperation will bestimmt mal durch die Länge teilen und schwupps macht Omsi Radau. Im Gegensatz zu allen Splines, die, sagen wir, größer als 1cm sind, kann man genau die aber nicht sehen und löschen.

    Payware-Addon "Berlin X10" ist fertig.


    Als Download-Version, Box-Version, Special-Edition und bei Steam erhältlich.

  • Ich hatte auch mal durch "Complete to" einen Spline, der nur ca. 0,5mm lang war(also sehr kurz). Dieser verursachte folgendes Problem: Anscheinend erkennen die KI-Autos diesen Spline dann nicht mehr und folglich sind sie aus ihrer Bahn "entgleist". Somit hatte ich das Problem, dass überall auf der Map Autos (und auch Fußgänger) entgleist sind und flackernd durch die Map gefahren sind (auch in bis zu 20m Höhe).

    Gruß!
    Niklas
    Als offizieller Experte helfe ich euch gerne per PN in den folgenden Gebieten: Omsi-Editor (inkl. Maps bauen, Hofdateien, etc.), Addon-Installation, Blender (Grundkenntnisse).

  • Danke für euer Hilfe aber ich habe heute einfach eine neue Karte gestartet. Irgendwelche Programme möchte ich mir auch nicht downloaden. Dateien habe ich in letzter Zeit viele Gelöscht, denn ich bin am Repainten und wenn man dann kleine Änderungen macht muss (mache ich) eine neue .dds Datei erstellt werden und die alte lösche ich dann immer. Die Karte war eh noch nicht soooo ausgereift. 2 Kacheln waren voll dann waren noch 2 Wo Wald drauf war

    :-)

    Also alles ok. Ich weiß was ich demnächst zutun habe : Backup Erstellen!!