diff -r 9d63e4ab5e4a -r 6d0a80c5c654 newgrf_text.c --- a/newgrf_text.c Sat Oct 28 14:37:33 2006 +0000 +++ b/newgrf_text.c Sat Oct 28 18:42:57 2006 +0000 @@ -233,7 +233,7 @@ newtext = malloc(sizeof(*newtext) + strlen(text_to_add) + 1); newtext->next = NULL; - newtext->langid = GB(langid_to_add, 0, 6); + newtext->langid = langid_to_add; strcpy(newtext->text, text_to_add); TranslateTTDPatchCodes(newtext->text); @@ -252,7 +252,7 @@ /* Loop through all languages and see if we can replace a string */ for (ptext = &_grf_text[id].textholder; (text = *ptext) != NULL; ptext = &text->next) { - if (text->langid != GB(langid_to_add, 0, 6)) continue; + if (text->langid != langid_to_add) continue; newtext->next = text->next; *ptext = newtext; free(text); @@ -310,7 +310,7 @@ /* If the current string is English or American, set it as the * fallback language if the specific language isn't available. */ - if (search_text->langid == GRFLX_ENGLISH || search_text->langid == GRFLX_AMERICAN) { + if (search_text->langid == GRFLX_UNSPECIFIED || (default_text == NULL && (search_text->langid == GRFLX_ENGLISH || search_text->langid == GRFLX_AMERICAN))) { default_text = search_text; } }