Absturz durch Mod ohne Fehlermeldung in stdout

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Beim Testen meines neuesten Mods ist es zu Abstürzen gekommen, meist etwa eine halbe Minute nachdem ich das neue Fahrzeug auf die Strecke geschickt hatte. Das geschah mitten im Spiel, egal ob Pause oder nicht.


    Problem zudem war, dass die stdout.txt in der Hälfte der Zeit keine Fehlermeldung brachte. In der anderen Hälfte kam:

    Code
    c:\build\transport_fever\steam\transport_fever_release\src\lib\ecs\engine.h:264: int __cdecl ecs::Engine::GetComponentDataIndex(const class ecs::Entity &,int) const: Assertion `it != components.end()' failed.

    Nach langer Fehlersuche habe ich das Problem nun gefunden. Ich habe bei backBackwardParts eine nicht existierende Meshnummer zugewiesen. Das sorgt für einen nahezu zufälligen Absturz mit obiger oder ohne Fehlermeldung.

  • Die Fehlermeldung besagt ja leider nur, das UGs Entity System Daten eines Entity nicht finden kann. Das ist ein Makro und wird von zig Bestandteilen vom Code genutzt.


    Wenn ich den Code kompilieren dürfte, würde ich das Makro dahingehend ändern, das es zumindest die ecs::Entity Id und den Komponenten Data Index auswirft. (Und ne Liste der mit Index zu Datentyp veröffentlichen)
    Das habe ich UG schon mehrmals vorgeschlagen ... Derzeitiger Stand: "Ich habe es an unserer Chef-Entwickler weitergeleitet." (Vielleicht darf ich da bei TPF2 hoffen, der ID Zuordnungsvorschlag zu TF hat es ja schlussendlich auch in TPF geschafft)



    -edit-
    Kleine Werbung sei mir erlaubt. Bei fehlenden oder fehlerhaften Texturen kann der CommonAPI CrashDebug Handler helfen, damit werden die letzten Dateien die TPF versucht zu laden in der stdout.txt protokolliert.

BlueBrixx