Changeset - r13958:4df52fd52d03
[Not reviewed]
master
0 5 0
rubidium - 15 years ago 2009-12-15 00:00:51
rubidium@openttd.org
(svn r18506) -Fix [FS#3368]: no error message was created for the first fatal NewGRF error.
5 files changed with 29 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/genworld.cpp
Show inline comments
 
@@ -32,6 +32,7 @@
 
#include "saveload/saveload.h"
 
#include "void_map.h"
 
#include "town.h"
 
#include "newgrf.h"
 

	
 
#include "table/sprites.h"
 

	
 
@@ -168,6 +169,8 @@ static void _GenerateWorld(void *arg)
 

	
 
		CleanupGeneration();
 

	
 
		ShowNewGRFError();
 

	
 
		if (_network_dedicated) DEBUG(net, 0, "Map generated, starting game");
 
		DEBUG(desync, 1, "new_map: %i\n", _settings_game.game_creation.generation_seed);
 

	
src/lang/english.txt
Show inline comments
 
@@ -2325,6 +2325,7 @@ STR_NEWGRF_ERROR_MSG_INFO               
 
STR_NEWGRF_ERROR_MSG_WARNING                                    :{RED}Warning: {SILVER}{RAW_STRING}
 
STR_NEWGRF_ERROR_MSG_ERROR                                      :{RED}Error: {SILVER}{RAW_STRING}
 
STR_NEWGRF_ERROR_MSG_FATAL                                      :{RED}Fatal: {SILVER}{RAW_STRING}
 
STR_NEWGRF_ERROR_FATAL_POPUP                                    :{WHITE}A fatal NewGRF error has occurred: {}{STRING5}
 
STR_NEWGRF_ERROR_VERSION_NUMBER                                 :{1:STRING1} will not work with the TTDPatch version reported by OpenTTD.
 
STR_NEWGRF_ERROR_DOS_OR_WINDOWS                                 :{1:STRING1} is for the {STRING1} version of TTD.
 
STR_NEWGRF_ERROR_UNSET_SWITCH                                   :{1:STRING1} is designed to be used with {STRING1}
src/newgrf.h
Show inline comments
 
@@ -147,5 +147,6 @@ bool HasGrfMiscBit(GrfMiscBit bit);
 
bool GetGlobalVariable(byte param, uint32 *value);
 

	
 
StringID MapGRFStringID(uint32 grfid, StringID str);
 
void ShowNewGRFError();
 

	
 
#endif /* NEWGRF_H */
src/newgrf_gui.cpp
Show inline comments
 
@@ -26,6 +26,29 @@
 
#include "table/strings.h"
 
#include "table/sprites.h"
 

	
 
/**
 
 * Show the first NewGRF error we can find.
 
 */
 
void ShowNewGRFError()
 
{
 
	for (const GRFConfig *c = _grfconfig; c != NULL; c = c->next) {
 
		/* We only want to show fatal errors */
 
		if (c->error == NULL || c->error->severity != STR_NEWGRF_ERROR_MSG_FATAL) continue;
 

	
 
		SetDParam   (0, c->error->custom_message == NULL ? c->error->message : STR_JUST_RAW_STRING);
 
		SetDParamStr(1, c->error->custom_message);
 
		SetDParam   (2, STR_JUST_RAW_STRING);
 
		SetDParamStr(3, c->filename);
 
		SetDParam   (4, STR_JUST_RAW_STRING);
 
		SetDParamStr(5, c->error->data);
 
		for (uint i = 0; i < c->error->num_params; i++) {
 
			SetDParam(6 + i, c->error->param_value[i]);
 
		}
 
		ShowErrorMessage(STR_NEWGRF_ERROR_FATAL_POPUP, INVALID_STRING_ID, 0, 0, true);
 
		break;
 
	}
 
}
 

	
 
/** Parse an integerlist string and set each found value
 
 * @param p the string to be parsed. Each element in the list is seperated by a
 
 * comma or a space character
src/saveload/afterload.cpp
Show inline comments
 
@@ -261,6 +261,7 @@ static void InitializeWindowsAndCaches()
 
	UpdateAirportsNoise();
 

	
 
	CheckTrainsLengths();
 
	ShowNewGRFError();
 
}
 

	
 
typedef void (CDECL *SignalHandlerPointer)(int);
0 comments (0 inline, 0 general)