Changeset - r6103:436b6b65ad3d
[Not reviewed]
master
0 9 0
maedhros - 17 years ago 2007-02-21 23:18:08
maedhros@openttd.org
(svn r8838) -Feature: Show newgrf error messages loaded in Action B in the newgrf gui
window. GRFs with an error have a warning symbol shown before the name.
9 files changed with 25 insertions and 4 deletions:
0 comments (0 inline, 0 general)
bin/data/openttd.grf
Show inline comments
 
binary diff not shown
src/gfxinit.cpp
Show inline comments
 
@@ -333,6 +333,7 @@ static const SpriteID _openttd_grf_index
 
	377, 377, // · small
 
	153, 153, // · medium
 
	601, 601, // · large
 
	SPR_WARNING_SIGN, SPR_WARNING_SIGN,
 
	END
 
};
 

	
src/lang/english.txt
Show inline comments
 
@@ -2896,6 +2896,7 @@ STR_NEWGRF_APPLY_CHANGES                
 
STR_NEWGRF_SET_PARAMETERS                                       :{BLACK}Set parameters
 
STR_NEWGRF_TIP                                                  :{BLACK}A list of all the Newgrf sets that you have installed. Click a set to change the settings
 
STR_NEWGRF_NO_FILES_INSTALLED                                   :{BLACK}There are currently no newgrf files installed! Please refer to the manual for instructions on installing new graphics
 
STR_NEWGRF_ERROR_MSG                                            :{RED}{STRING}
 
STR_NEWGRF_FILENAME                                             :{BLACK}Filename: {SILVER}{STRING}
 
STR_NEWGRF_GRF_ID                                               :{BLACK}GRF ID: {SILVER}{STRING}
 
STR_NEWGRF_MD5SUM                                               :{BLACK}MD5sum: {SILVER}{STRING}
src/newgrf.cpp
Show inline comments
 
@@ -2712,7 +2712,14 @@ static void GRFError(byte *buf, int len)
 
		return;
 
	}
 

	
 
	grfmsg(0,  msgstr[(message_id == 0xFF) ? lengthof(msgstr) - 1 : message_id], sevstr[severity], grf_load_string(&buf, len));
 
	char message[512];
 
	snprintf(message, lengthof(message), msgstr[(message_id == 0xFF) ? lengthof(msgstr) - 1 : message_id], sevstr[severity], grf_load_string(&buf, len));
 

	
 
	if (_cur_grfconfig->error == NULL) {
 
		_cur_grfconfig->error = strdup(message);
 
	}
 

	
 
	grfmsg(0, message);
 
}
 

	
 
/* Action 0x0C */
src/newgrf_config.cpp
Show inline comments
 
@@ -91,6 +91,7 @@ void ClearGRFConfig(GRFConfig **config)
 
		free((*config)->filename);
 
		free((*config)->name);
 
		free((*config)->info);
 
		free((*config)->error);
 
	}
 
	free(*config);
 
	*config = NULL;
 
@@ -123,6 +124,7 @@ GRFConfig **CopyGRFConfigList(GRFConfig 
 
		if (src->filename != NULL) c->filename = strdup(src->filename);
 
		if (src->name     != NULL) c->name     = strdup(src->name);
 
		if (src->info     != NULL) c->info     = strdup(src->info);
 
		if (src->error    != NULL) c->error    = strdup(src->error);
 

	
 
		*dst = c;
 
		dst = &c->next;
 
@@ -252,6 +254,7 @@ compatible_grf:
 
				memcpy(c->md5sum, f->md5sum, sizeof(c->md5sum));
 
				if (c->name == NULL) c->name = strdup(f->name);
 
				if (c->info == NULL) c->info = strdup(f->info);
 
				c->error = NULL;
 
			}
 
		}
 
	}
src/newgrf_config.h
Show inline comments
 
@@ -24,6 +24,7 @@ typedef struct GRFConfig : public GRFIde
 
	char *filename;
 
	char *name;
 
	char *info;
 
	char *error;
 

	
 
	uint8 flags;
 
	uint32 param[0x80];
src/newgrf_gui.cpp
Show inline comments
 
@@ -43,6 +43,11 @@ static void ShowNewGRFInfo(const GRFConf
 
{
 
	char buff[256];
 

	
 
	if (c->error != NULL) {
 
		SetDParamStr(0, c->error);
 
		y += DrawStringMultiLine(x, y, STR_NEWGRF_ERROR_MSG, w);
 
	}
 

	
 
	/* Draw filename or not if it is not known (GRF sent over internet) */
 
	if (c->filename != NULL) {
 
		SetDParamStr(0, c->filename);
 
@@ -328,7 +333,8 @@ static void NewGRFWndProc(Window *w, Win
 
					}
 

	
 
					DrawSprite(SPR_SQUARE, pal, 5, y + 2);
 
					DoDrawString(text, 25, y + 3, WP(w, newgrf_d).sel == c ? 0xC : 0x10);
 
					if (c->error != NULL) DrawSprite(SPR_WARNING_SIGN, 0, 20, y + 2);
 
					DoDrawString(text, c->error != NULL ? 35 : 25, y + 3, WP(w, newgrf_d).sel == c ? 0xC : 0x10);
 
					y += 14;
 
				}
 
			}
src/table/files.h
Show inline comments
 
@@ -59,7 +59,7 @@ static MD5File files_openttd[] = {
 
	{ "autorail.grf",  { 0xed, 0x44, 0x7f, 0xbb, 0x19, 0x44, 0x48, 0x4c, 0x07, 0x8a, 0xb1, 0xc1, 0x5c, 0x12, 0x3a, 0x60 } },
 
	{ "canalsw.grf",   { 0x13, 0x9c, 0x98, 0xcf, 0xb8, 0x7c, 0xd7, 0x1f, 0xca, 0x34, 0xa5, 0x6b, 0x65, 0x31, 0xec, 0x0f } },
 
	{ "elrailsw.grf",  { 0x4f, 0xf9, 0xac, 0x79, 0x50, 0x28, 0x9b, 0xe2, 0x15, 0x30, 0xa8, 0x1e, 0xd5, 0xfd, 0xe1, 0xda } },
 
	{ "openttd.grf",   { 0x59, 0x22, 0x19, 0xe0, 0x6e, 0xe7, 0xb6, 0xa3, 0x55, 0x53, 0xcc, 0x9e, 0xbc, 0xaf, 0xcc, 0x83 } },
 
	{ "openttd.grf",   { 0x10, 0xc1, 0x68, 0x56, 0x9e, 0x1e, 0x0e, 0x85, 0x9d, 0xf8, 0x53, 0x27, 0x48, 0x7e, 0x17, 0x58 } },
 
	{ "trkfoundw.grf", { 0x12, 0x33, 0x3f, 0xa3, 0xd1, 0x86, 0x8b, 0x04, 0x53, 0x18, 0x9c, 0xee, 0xf9, 0x2d, 0xf5, 0x95 } },
 
	{ "roadstops.grf", { 0x8c, 0xd9, 0x45, 0x21, 0x28, 0x82, 0x96, 0x45, 0x33, 0x22, 0x7a, 0xb9, 0x0d, 0xf3, 0x67, 0x4a } },
 
};
src/table/sprites.h
Show inline comments
 
@@ -48,7 +48,7 @@ enum Sprites {
 
	SPR_ASCII_SPACE_BIG   = 450,
 

	
 
	/* Extra graphic spritenumbers */
 
	OPENTTD_SPRITES_COUNT = 116, // number of gfx-sprites in openttd.grf
 
	OPENTTD_SPRITES_COUNT = 117, // number of gfx-sprites in openttd.grf
 
	SPR_SIGNALS_BASE  = 4896,
 
	SPR_CANALS_BASE   = SPR_SIGNALS_BASE + 486,
 
	SPR_SLOPES_BASE   = SPR_CANALS_BASE + 70,
 
@@ -95,6 +95,8 @@ enum Sprites {
 

	
 
	SPR_SHARED_ORDERS_ICON = SPR_OPENTTD_BASE + 115,
 

	
 
	SPR_WARNING_SIGN      = SPR_OPENTTD_BASE + 116, // warning sign (shown if there are any newgrf errors)
 

	
 
	/* Network GUI sprites */
 
	SPR_SQUARE = SPR_OPENTTD_BASE + 20,     // colored square (used for newgrf compatibility)
 
	SPR_LOCK = SPR_OPENTTD_BASE + 19,       // lock icon (for password protected servers)
0 comments (0 inline, 0 general)