diff -r 3301b1b3889c -r 79f2b5a0cdd7 src/strings.cpp --- a/src/strings.cpp Fri Jun 01 20:54:09 2007 +0000 +++ b/src/strings.cpp Tue Jun 12 18:02:11 2007 +0000 @@ -1101,6 +1101,9 @@ } } +extern void SortNetworkLanguages(); +extern void SortTownGeneratorNames(); + bool ReadLanguagePack(int lang_index) { int tot_count, i; @@ -1156,6 +1159,8 @@ _dynlang.curr = lang_index; SetCurrentGrfLangID(_langpack->isocode); + SortNetworkLanguages(); + SortTownGeneratorNames(); return true; } @@ -1191,6 +1196,18 @@ return strcmp(cmp1->file, cmp2->file); } +int CDECL StringIDSorter(const void *a, const void *b) +{ + const StringID va = *(const StringID*)a; + const StringID vb = *(const StringID*)b; + char stra[512]; + char strb[512]; + GetString(stra, va, lastof(stra)); + GetString(strb, vb, lastof(strb)); + + return strcmp(stra, strb); +} + /** * Checks whether the given language is already found. * @param langs languages we've found so fa