src/newgrf_text.cpp
branchgamebalance
changeset 9913 e79cd19772dd
parent 9911 0b8b245a2391
--- 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.