Was ist schon fehlerfrei? Fast alle newgrfs aus der vor-nforenum-Ära haben Fehler dieser Art. Jedenfalls:
Sprite # 41 aktiviert eigene Graphiken (prop 0x12 wird zu 0xFD gesetzt) und den powered-wagon&vis-effect callback für ID 0x1C. Es wird allerdings nie eine Action3 für ID 0x1C definiert. (evtl. gehört die Action 0 zu ID 0x2A, dort ist nämlich eine Action3 ganz allein)
Auf der anderen Seite hat dj-peace nun nicht-erlaubterweise mehrere Zugsets geladen, die miteinander kollidieren. Die oldwagons-newcargos.grf verwendet alle IDs und definiert jeweils den Refitted-Capacity Callback, jedoch keine eigenen Graphiken. Da das S-Bahn-Set nun aber eigene Graphiken aktiviert hatte, muss die Action3 der oldwagons-newcargos damit fertig werden. Diese liefert aber nur eine einfache failed-callback Action2 ohne Sprites.
Die newgrf-Kollision führte also dazu, dass einer ID keine Graphiken zugeordnet wurden. OTTD hatte diesen Fehler jedoch nicht erkannt, und hat Stur versucht die SpriteIDs aus der erhaltenen Action1 zu extrahieren. Dies führte zu einem Modulo-durch-Null-Fehler (oder Division-durch-Null wer möchte), der OTTD beendete.
Seit r13397 wird dieser Fall vorher abgefangen.
Werbung:
All diese Informationen kann man der Ausgabe von grf2html entnehmen:
http://www.math.tu-clausthal.de/~mtce/ot...index.html
Die vielen "Errors" geben fernen einen Hinweis, dass die Verwendung von nforenum angebracht wäre.