Beiträge: 1.075
Themen: 53
Registriert seit: Jan 2011
Bewertung:
18
26-03-2020, Thursday-19:04:41
(26-03-2020, Thursday-18:32:05 )makie schrieb: Was passiert wenn man neue pak Dateien in alte Programmversionen lädt ist unbestimmt.
Naja, normalerweise funktioniert es, insbesondere dann, wenn die Objekte keine neuen Parameter verwenden.
Mir geht es jetzt auch gar nicht darum, dass es immer voll kompatibel sein soll. Wenn die alte Version die neuen Fabriken zB. gar nicht laden würde, dann wäre es zB. ganz leicht, den Fehler zu finden - aber warum eine Fabrik, die man laden kann und voll funktionstüchtig ist nicht spawnt
Da ist halt nun die Frage, warum das so ist - und wenn man weiß, warum, kann mans vielleicht recht einfach anpassen (im Makeobj).
Wenn diese Form der Kompatibilität generell nicht gegeben ist, dann sollte man halt einfach eine Versionsnummer mit ins Objekt schreiben, so dass Simutrans beim laden zu neuer Objekte warnen kann. Dann weiß man auch gleich beim starten des Spiels, dass da was schiefgehen kann. So weit ich weiß sind ja auch diverse Simutrans-Pakete im Umlauf, zB. auf Steam und in verschiedenen Linux-Distributionen, die nunmal nicht auf dem neuesten Stand sind. Da wäre es schon blöd, wenn die dann ein Pakset in die Finger bekommen, bei dem alles da ist und alles funktioniert, bloß keine Fabriken spawnen :/. Wie willst du jemals daraufkommen, dass ein Pakset für 121, das in der 121 bespielt werden soll, mit einem zu neuen Makeobj gepackt wurde? Wie willst das dem Spieler erklären?
Beiträge: 1.191
Themen: 126
Registriert seit: Sep 2019
Bewertung:
10
26-03-2020, Thursday-19:55:27
(26-03-2020, Thursday-18:32:05 )makie schrieb: (26-03-2020, Thursday-17:57:55 )Flemmbrav schrieb: Ich stehe noch auf dem Schlauch hinsichtlich der Frage, was wir jetzt tun wollen:
Lädt ein aktuelles Simutrans Nightly denn ein Pakset, welches mit einem für die 121 bestimmten Makeobj zusammengebaut wurde?
Ja da in dieser Richtung (also altes pak in neuem Programm) ist es aufwärts kompatibel.
....
ah ja, und deshalb läd pak128.german 1.1 für Simutrans 120.4.1 nicht in Simutrans 121.0
Aber Du schreibst das neuere Simutrans-Versionen Paksets für ältere Simutrans-Versionen laden.
Was nun makie? Irgendwie widersprichst Du Dich gerade. Aber ne ich weis, pak128.german ist so besonders das es sämtliche Regeln bei Simutrans außer Kraft setzt.
(26-03-2020, Thursday-14:24:36 )makie schrieb: ...
Deshalb braucht pak128.german Version 1.1 zwingend Simutrans 120.4.1, es geht weder 120.3 noch 121.0
Beiträge: 7.536
Themen: 249
Registriert seit: Apr 2013
Bewertung:
27
27-03-2020, Friday-11:02:05
Das Problem ist, dass für die Fabriken Parameter wie Fluss oder Forest als Bauorte verwendet werden. Die kennt die mittlerwiele drei Jahre alte 120.4.1 nicht (immerhin gibt es ja mittlerweile seit fast sechs Monaten die 121.0, die die Parameter kennt). Da dazu das Feld nicht erweitert werden musste (da waren noch genug Bits frei), hat auch altes Simutrans geladen, nur wusst es halt nichts mit den Bauorten anzufangen. Das alte Versionen neue Paks laden (und damit auch funktionieren) ist die Ausnahme. Deswegen installiert der Installer ja ausschließlich beim Aufruf die Paks, die für die jeweilige Version gedacht sind. (Und wenn man das Überschreibt, fragt Windows typischerweise nach Adminrechten, d.h. dann sollte man schon wissen, was man tut.)
Seit es neue Fabrikrauchdefinitionen gibt, wird eine alte Simutransversion eh nicht mehr die Fabriken laden, da die neuen Definitionen neue Felder in den Paks haben.
Beiträge: 1.075
Themen: 53
Registriert seit: Jan 2011
Bewertung:
18
27-03-2020, Friday-11:19:03
(27-03-2020, Friday-11:02:05 )prissi schrieb: Seit es neue Fabrikrauchdefinitionen gibt, wird eine alte Simutransversion eh nicht mehr die Fabriken laden, da die neuen Definitionen neue Felder in den Paks haben.
Nein, Prissi. Es geht ja gerade darum, dass Fabriken seit der Rauchdefinition zwar in 121.0 geladen werden und funktionieren, aber nicht auf natürlichem Wege spawnen. Das hat nichts mit 3 Jahre alten Versionen zu tun, sondern mit brandaktuellem Nightly vs. dem letzten Release im Dezember.
Würden sie gar nicht mehr funktionieren, wäre das zumindest nachvollziehbar.
Beiträge: 7.536
Themen: 249
Registriert seit: Apr 2013
Bewertung:
27
27-03-2020, Friday-16:45:11
OK, in der Tat da ist ein Fahler. Die Hälfte der Pak prüft auf ungültige Version, der Rest nicht und nimmt irgendwelche Werte. Auch die Fehlermeldungen waren uneinheitlich. Sollte aber in r8976 behoben sein.
Beiträge: 2.056
Themen: 78
Registriert seit: Jan 2013
Bewertung:
12
27-03-2020, Friday-20:05:46
Heiß das, dass auch das neue MakeObj wieder mit der 121.0 funktioniert?
Das wäre großartig.
Beiträge: 1.191
Themen: 126
Registriert seit: Sep 2019
Bewertung:
10
27-03-2020, Friday-21:14:12
(27-03-2020, Friday-20:05:46 )Flemmbrav schrieb: Heiß das, dass auch das neue MakeObj wieder mit der 121.0 funktioniert?
Das wäre großartig.
Die Prüfung ist im Programm und nicht bei Makeobj.
Und wie oben schon geschrieben, neues Makeobj mit altem Programm funktioniert eher recht selten.
Beiträge: 2.056
Themen: 78
Registriert seit: Jan 2013
Bewertung:
12
27-03-2020, Friday-22:54:52
Zitat:Die Prüfung ist im Programm und nicht bei Makeobj.
Und wie oben schon geschrieben, neues Makeobj mit altem Programm funktioniert eher recht selten.
Es lädt doch die Industrien, diese werden nur halt sehr merkwürdig genutzt. Ich weiß aber leider auch nicht, was da überhaupt geändert wurde.
Zudem lief das bisher sogar ganz gut. Ich nutze Makeobj seit Jahren, und hatte nie solche Probleme. Wenn überhaupt, dann nur, weil ich neue Features genutzt habe, dem ist aber bei unserem aktuellen Problem nicht der Fall.
Zitat:Sollte aber in r8976 behoben sein.
Macht mir hier auch Hoffnungen, dass sich das Ganze lösen ließ.
Beiträge: 1.075
Themen: 53
Registriert seit: Jan 2011
Bewertung:
18
28-03-2020, Saturday-11:06:24
Flemm, das verstehst du falsch. Der Fehler hier ist, dass sich paks laden lassen, die sich nicht laden lassen sollten, weil sie nicht richtig funktionieren können. Simutrans sollte paks die es lädt diesbezüglich prüfen, und hat es wohl teilweise nicht gemacht.
Die Behebung des Fehlers gilt für Simutrans selbst. Das heißt, wenn zB. in einem Monat die Definition aller Gebäude geändert wird um Rauch für sie zuzulassen, und wir unser Pakset dann mit dem aktuellsten Makeobj packen, würde das heutige Simutrans-Nightly die Gebäude gar nicht erst akzeptieren, anstatt dass wir uns wundern müssen, warum sie im Winter auf dem Kopf stehen.
Hilft ja alles nichts - wir verlinken einfach die Simutrans-Nightly-Seite im Repository und weisen darauf hin, dass ein aktuelles Simutrans Nightly verwendet werden soll. Evtl. endlich mal einen weitgehend bugfreien Zwischenrelease noch für die 121 bevor wir neuere Features nutzen.
Beiträge: 1.191
Themen: 126
Registriert seit: Sep 2019
Bewertung:
10
28-03-2020, Saturday-12:22:27
(27-03-2020, Friday-22:54:52 )Flemmbrav schrieb: Zitat:Die Prüfung ist im Programm und nicht bei Makeobj.
Und wie oben schon geschrieben, neues Makeobj mit altem Programm funktioniert eher recht selten.
Es lädt doch die Industrien, diese werden nur halt sehr merkwürdig genutzt. Ich weiß aber leider auch nicht, was da überhaupt geändert wurde.
....
Die Rauchparameter wurden geändert.
siehe hier https://forum.simutrans.com/index.php/to...#msg185162
Alte Simutrans-Versionen können natürlich neue Parameter nicht auf Plausibilität prüfen, da sie diese Parameter ja noch gar nicht kennen.
Entweder stürzt Simutrans dabei ab oder ignoriert die Parameter. In dem Fall scheint es so zu sein, das durch die neuen Parameter die Prüfung der danach folgenden Parameter abgebrochen wurde. Das führte wohl dazu, das dadurch zum Teil ungültige Parameterwerte verwendet wurden was das Programm zwar nicht zum Absturz bringt aber ungewöhnliches Verhalten verursacht.
|