(svn r7470) -Codechange: Leave elrails enabled after loading old (pre-optional) and very old (pre-elrails) games. Let the user manually disable if if undesired.

This commit is contained in:
Darkvater 2006-12-10 15:21:48 +00:00
parent df1684b0d9
commit 75c053453d
2 changed files with 6 additions and 13 deletions

View File

@ -403,8 +403,7 @@ int32 SettingsDisableElrail(int32 p1)
const RailType new_railtype = disable ? RAILTYPE_RAIL : RAILTYPE_ELECTRIC; const RailType new_railtype = disable ? RAILTYPE_RAIL : RAILTYPE_ELECTRIC;
/* walk through all train engines */ /* walk through all train engines */
for (e_id = 0; e_id < NUM_TRAIN_ENGINES; e_id++) for (e_id = 0; e_id < NUM_TRAIN_ENGINES; e_id++) {
{
const RailVehicleInfo *rv_info = RailVehInfo(e_id); const RailVehicleInfo *rv_info = RailVehInfo(e_id);
Engine *e = GetEngine(e_id); Engine *e = GetEngine(e_id);
/* if it is an electric rail engine and its railtype is the wrong one */ /* if it is an electric rail engine and its railtype is the wrong one */

View File

@ -1548,19 +1548,13 @@ bool AfterLoadGame(void)
ConvertNameArray(); ConvertNameArray();
} }
/* from version 38 we have optional elrails */ /* from version 38 we have optional elrails, since we cannot know the
* preference of a user, let elrails enabled; it can be disabled manually */
if (CheckSavegameVersion(38)) { if (CheckSavegameVersion(38)) {
/* old game - before elrails made optional */
if (CheckSavegameVersion(24)) {
/* very old game - before elrail was introduced */
_patches.disable_elrails = true; // disable elrails
} else {
/* game with mandatory elrails (r4150+) */
_patches.disable_elrails = false; // enable elrails _patches.disable_elrails = false; // enable elrails
}
}
/* do the same as when elrails were enabled/disabled manually just now */ /* do the same as when elrails were enabled/disabled manually just now */
SettingsDisableElrail(_patches.disable_elrails); SettingsDisableElrail(_patches.disable_elrails);
}
return true; return true;
} }