diff -r 1ac8aac92385 -r e79cd19772dd src/newgrf_text.cpp --- a/src/newgrf_text.cpp Wed Jun 13 12:05:56 2007 +0000 +++ b/src/newgrf_text.cpp Tue Jun 19 07:21:01 2007 +0000 @@ -438,13 +438,27 @@ for (i=0; i < lengthof(iso_codes); i++) { if (strncmp(iso_codes[i].code, iso_name, strlen(iso_codes[i].code)) == 0) { /* We found a match, so let's use it. */ - ret = i; + ret = iso_codes[i].grfLangID; break; } } _currentLangID = ret; } +bool CheckGrfLangID(byte lang_id, byte grf_version) +{ + if (grf_version < 7) { + switch (_currentLangID) { + case GRFLX_GERMAN: return (lang_id & GRFLB_GERMAN) != 0; + case GRFLX_FRENCH: return (lang_id & GRFLB_FRENCH) != 0; + case GRFLX_SPANISH: return (lang_id & GRFLB_SPANISH) != 0; + default: return (lang_id & (GRFLB_ENGLISH | GRFLB_AMERICAN)) != 0; + } + } + + return (lang_id == _currentLangID || lang_id == GRFLX_UNSPECIFIED); +} + /** * House cleaning. * Remove all strings and reset the text counter.