summaryrefslogtreecommitdiff
path: root/src/saveload/company_sl.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2011-09-23 19:49:45 +0000
committerrubidium <rubidium@openttd.org>2011-09-23 19:49:45 +0000
commit73a3708a9ecaea162cfb5e05176cdd7d37d056e9 (patch)
tree7e0b524ee0948935b5768a5bf2b9b4cf35b878b1 /src/saveload/company_sl.cpp
parenta6f9488ae4285b7904755d0913a6134a95d43c28 (diff)
downloadopenttd-73a3708a9ecaea162cfb5e05176cdd7d37d056e9.tar.xz
(svn r22958) -Fix [FS#4778]: the savegame description and loading of savegames would crash with savegames from a patched stable (which didn't bump the savegame version)
Diffstat (limited to 'src/saveload/company_sl.cpp')
-rw-r--r--src/saveload/company_sl.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/saveload/company_sl.cpp b/src/saveload/company_sl.cpp
index 2684a0655..894611d6e 100644
--- a/src/saveload/company_sl.cpp
+++ b/src/saveload/company_sl.cpp
@@ -349,8 +349,7 @@ static void Check_PLYR()
SaveLoad_PLYR_common(NULL, cprops);
/* We do not load old custom names */
- if (IsSavegameVersionBefore(84))
- {
+ if (IsSavegameVersionBefore(84)) {
if (GB(cprops->name_1, 11, 5) == 15) {
cprops->name_1 = STR_GAME_SAVELOAD_NOT_AVAILABLE;
}
@@ -360,6 +359,13 @@ static void Check_PLYR()
}
}
+ if (cprops->name == NULL && !IsInsideMM(cprops->name_1, SPECSTR_COMPANY_NAME_START, SPECSTR_COMPANY_NAME_LAST + 1) &&
+ cprops->name_1 != STR_GAME_SAVELOAD_NOT_AVAILABLE && cprops->name_1 != STR_SV_UNNAMED &&
+ cprops->name_1 != SPECSTR_ANDCO_NAME && cprops->name_1 != SPECSTR_PRESIDENT_NAME &&
+ cprops->name_1 != SPECSTR_SILLY_NAME) {
+ cprops->name_1 = STR_GAME_SAVELOAD_NOT_AVAILABLE;
+ }
+
if (!_load_check_data.companies.Insert(index, cprops)) delete cprops;
}
}