mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 15:41:15 +00:00
(svn r18506) -Fix [FS#3368]: no error message was created for the first fatal NewGRF error.
This commit is contained in:
parent
5450167efc
commit
3e6c530e1e
@ -32,6 +32,7 @@
|
|||||||
#include "saveload/saveload.h"
|
#include "saveload/saveload.h"
|
||||||
#include "void_map.h"
|
#include "void_map.h"
|
||||||
#include "town.h"
|
#include "town.h"
|
||||||
|
#include "newgrf.h"
|
||||||
|
|
||||||
#include "table/sprites.h"
|
#include "table/sprites.h"
|
||||||
|
|
||||||
@ -168,6 +169,8 @@ static void _GenerateWorld(void *arg)
|
|||||||
|
|
||||||
CleanupGeneration();
|
CleanupGeneration();
|
||||||
|
|
||||||
|
ShowNewGRFError();
|
||||||
|
|
||||||
if (_network_dedicated) DEBUG(net, 0, "Map generated, starting game");
|
if (_network_dedicated) DEBUG(net, 0, "Map generated, starting game");
|
||||||
DEBUG(desync, 1, "new_map: %i\n", _settings_game.game_creation.generation_seed);
|
DEBUG(desync, 1, "new_map: %i\n", _settings_game.game_creation.generation_seed);
|
||||||
|
|
||||||
|
@ -2325,6 +2325,7 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{RAW_ST
|
|||||||
STR_NEWGRF_ERROR_MSG_WARNING :{RED}Warning: {SILVER}{RAW_STRING}
|
STR_NEWGRF_ERROR_MSG_WARNING :{RED}Warning: {SILVER}{RAW_STRING}
|
||||||
STR_NEWGRF_ERROR_MSG_ERROR :{RED}Error: {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_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_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_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}
|
STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING1} is designed to be used with {STRING1}
|
||||||
|
@ -147,5 +147,6 @@ bool HasGrfMiscBit(GrfMiscBit bit);
|
|||||||
bool GetGlobalVariable(byte param, uint32 *value);
|
bool GetGlobalVariable(byte param, uint32 *value);
|
||||||
|
|
||||||
StringID MapGRFStringID(uint32 grfid, StringID str);
|
StringID MapGRFStringID(uint32 grfid, StringID str);
|
||||||
|
void ShowNewGRFError();
|
||||||
|
|
||||||
#endif /* NEWGRF_H */
|
#endif /* NEWGRF_H */
|
||||||
|
@ -26,6 +26,29 @@
|
|||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/sprites.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
|
/** 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
|
* @param p the string to be parsed. Each element in the list is seperated by a
|
||||||
* comma or a space character
|
* comma or a space character
|
||||||
|
@ -261,6 +261,7 @@ static void InitializeWindowsAndCaches()
|
|||||||
UpdateAirportsNoise();
|
UpdateAirportsNoise();
|
||||||
|
|
||||||
CheckTrainsLengths();
|
CheckTrainsLengths();
|
||||||
|
ShowNewGRFError();
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef void (CDECL *SignalHandlerPointer)(int);
|
typedef void (CDECL *SignalHandlerPointer)(int);
|
||||||
|
Loading…
Reference in New Issue
Block a user