(28.10.2010 12:29)mb schrieb: Mal ´ne ketzerische Frage: warum werden überhaupt newgrfs geladen die sich lediglich in irgendeinem Katalog befinden aber überhaupt nicht aktiviert (worden) sind? WIMRE war das bei TTDPatch so dass die in savegames eventuell fehlenden newgrfs überhaupt nicht zu ersetzen versucht wurde. Es gab dann lediglich eine Fehlermeldung.
Jedes Savegame weiß, welche NewGRFs es erwartet, sowohl von der grfID, der md5sum als auch der Version (so mittels action14 gesetzt). Wenn möglich wird es genau diese Kombination verwenden.
Nun ist es leider so, dass das nicht immer funktioniert, folglich wird geguckt, ob ein möglichst ähnliches NewGRF vorhanden ist: identische grfID - und neuerdings kann man eben dort die Reihenfolge bei mehreren gleichen grfIDs mittels verschiedenen Versionen festlegen.
Lädt man einen Spielstand OHNE grf bzw. mit fehlenden grfs so ist das ein fast sicherer Weg zum Absturz und nichts anderes als newgrf im laufenden Spiel zu entfernen. Kannst ja 'mal ausprobieren, was passiert, wenn Du bei einem laufenden Spiel bspw. das DB-Set entfernst. Eine Fehlermeldung bekommst Du übrigens sowohl im Fall fehlender als auch im von Dir angesprochenen Fall, dass kompatible NewGRF geladen werden (zumindest bei der ersten Modifikation)... wohl das rote Fehlerfenster überlesen
Die Lösung, den Spielstand bei nicht identischen NewGRFs (ID + md5sum) gar nicht mehr zu laden finde ich persönlich sehr attraktiv; man muß dann aber das Geheule der ganzen Leute aushalten, die ihre NewGRFs durch eine neue Version ersetzt haben und dann den Spielstand nicht mehr laden können... und denen erläutern, dass NewGRF nunmal ein integraler Bestandteil eines Spielstands sind, der NICHT geändert werden kann.
Wie auch immer: identische grfID heißt ja, dass die grfs kompatibel sind und mit keiner Version Probleme zu erwarten - ansonsten ist's ein Fehler des grf-Autors und sie müßten entweder verschieden grfIDs (früher) oder entsprechend gesetzte 'minimal kompatible Versionen' haben. Setzt man die Action14, so wird beim Laden immer die neueste, kompatible Version genutzt - was für Spieler immer gewünscht sein dürfte.
(28.10.2010 12:29)mb schrieb: Auch für MP-Spiele dürfte die OTTD-Methode nicht unbedingt erfolgreich sein, nämlich dann nicht wenn keine passende (md5) newgrf gefunden wird. Was dann, desync?
Im MP-Betrieb muß es das exakt gleiche NewGRF (grfID + md5sum) sein, sonst kannst Du Dich gar nicht mit dem Server verbinden.