changeset 17672:809d132fc74f draft

(svn r22444) -Add: When GRFs are disabled via Action E or due to GRM failure, also display an error in the GUI.
author frosch <frosch@openttd.org>
date Wed, 11 May 2011 20:23:37 +0000
parents bfc4a902068f
children dad25ff496fa
files src/lang/english.txt src/newgrf.cpp
diffstat 2 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -2471,6 +2471,8 @@
 STR_NEWGRF_ERROR_MULTIPLE_ACTION_8                              :Contains multiple Action 8 entries
 STR_NEWGRF_ERROR_READ_BOUNDS                                    :Read past end of pseudo-sprite
 STR_NEWGRF_ERROR_MISSING_SPRITES                                :{WHITE}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set
+STR_NEWGRF_ERROR_GRM_FAILED                                     :Requested GRF resources not available
+STR_NEWGRF_ERROR_FORCEFULLY_DISABLED                            :{2:RAW_STRING} was disabled by {4:RAW_STRING}
 
 # NewGRF related 'general' warnings
 STR_NEWGRF_POPUP_CAUTION_CAPTION                                :{WHITE}Caution!
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -5758,7 +5758,7 @@
 	if (op != 4 && op != 5) {
 		/* Deactivate GRF */
 		grfmsg(0, "ParamSet: GRM: Unable to allocate %d %s, deactivating", count, type);
-		DisableGrf();
+		DisableGrf(STR_NEWGRF_ERROR_GRM_FAILED);
 		return UINT_MAX;
 	}
 
@@ -5833,7 +5833,7 @@
 							/* Check if the allocated sprites will fit below the original sprite limit */
 							if (_cur_spriteid + count >= 16384) {
 								grfmsg(0, "ParamSet: GRM: Unable to allocate %d sprites; try changing NewGRF order", count);
-								DisableGrf();
+								DisableGrf(STR_NEWGRF_ERROR_GRM_FAILED);
 								return;
 							}
 
@@ -6110,7 +6110,7 @@
 		/* Unset activation flag */
 		if (file != NULL && file != _cur_grfconfig) {
 			grfmsg(2, "GRFInhibit: Deactivating file '%s'", file->filename);
-			GRFError *error = DisableGrf(STR_NULL, file);
+			GRFError *error = DisableGrf(STR_NEWGRF_ERROR_FORCEFULLY_DISABLED, file);
 			error->data = strdup(_cur_grfconfig->GetName());
 		}
 	}