FS#3791 - Missing grfs are not specified on crash by incompatible newgrfs

Attached to Project: OpenTTD
Opened by Pereyaslov Konstantin (perk11) - Saturday, 24 April 2010, 21:01 GMT
Last edited by Remko Bijker (Rubidium) - Thursday, 16 September 2010, 21:13 GMT
Type Bug
Category Interface
Status Closed
Assigned To No-one
Operating System Windows
Severity Medium
Priority Normal
Reported Version 1.0.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


When loading a savegame which has grfs which are missing, but grfs with the same ids are in player's newgrf folder a long error message is shown. The last sentence says "The missing NewGRFs are:", but it isn't followed by the lists of NewGRFs. And BTW the message is not localised.
I use Windows 7
This task depends upon

Closed by  Remko Bijker (Rubidium)
Thursday, 16 September 2010, 21:13 GMT
Reason for closing:  Fixed
Additional comments about closing:  In r20818
Comment by Pereyaslov Konstantin (perk11) - Saturday, 24 April 2010, 21:03 GMT
And yes, the message looks ugly with those line ends after the first word
Comment by Pereyaslov Konstantin (perk11) - Saturday, 24 April 2010, 21:14 GMT
I've just realised that empty newgrfs list means that crash was not caused by NewGRF as I can understand. So if there are now newgrfs causing crash why should I read that long text? :)
Comment by Pereyaslov Konstantin (perk11) - Sunday, 25 April 2010, 08:12 GMT
The reason of crash is patched version of OpenTTD (but I tell about the message)
Comment by Remko Bijker (Rubidium) - Thursday, 29 April 2010, 17:49 GMT
Handling crashes is a tricky thing to do. A crash can have seriously corrupted the state of OpenTTD and as such we should do as little as possible while giving as much information as possible. This for example means we only look for missing NewGRFs once and not twice and as such have a somewhat generic error message. The "not being translated" is because the crash might occur before the translations are loaded or even when trying to read a (corrupted) translation file.

Given that all reported crashes in savegame loading for the last few years were caused by either missing/wrongly loaded NewGRFs or patched versions of OpenTTD I'm not quite sure whether to invest time in making it give a shorter message when it crashed because of the patched version instead of missing NewGRFs.
Comment by Pereyaslov Konstantin (perk11) - Thursday, 29 April 2010, 17:58 GMT
Ok, but I think the last sentence still should be replaced by "If crash is caused by NewGRF, the missing NewGRFs are listed below" or something like that because now it makes misunderstand the crash reason.