openttd.c
changeset 2672 ea469d7b34ff
parent 2670 34970983ef08
child 2684 8aba54c245cc
equal deleted inserted replaced
2671:457c6cdbf9e7 2672:ea469d7b34ff
   886 		SetDParam(0, p->name_1);
   886 		SetDParam(0, p->name_1);
   887 		SetDParam(1, p->name_2);
   887 		SetDParam(1, p->name_2);
   888 		SetDParam(2, _date);
   888 		SetDParam(2, _date);
   889 		s = GetString(buf + strlen(_path.autosave_dir) + strlen(PATHSEP), STR_4004);
   889 		s = GetString(buf + strlen(_path.autosave_dir) + strlen(PATHSEP), STR_4004);
   890 		strcpy(s, ".sav");
   890 		strcpy(s, ".sav");
   891 	} else { /* Save a maximum of 15 autosaves */
   891 	} else { /* generate a savegame name and number according to _patches.max_num_autosaves */
   892 		int n = _autosave_ctr;
   892 		sprintf(buf, "%s%sautosave%d.sav", _path.autosave_dir, PATHSEP, _autosave_ctr);
   893 		_autosave_ctr = (_autosave_ctr + 1) & 15;
   893 
   894 		sprintf(buf, "%s%sautosave%d.sav", _path.autosave_dir, PATHSEP, n);
   894 		_autosave_ctr++;
       
   895 		if (_autosave_ctr >= _patches.max_num_autosaves) {
       
   896 			// we reached the limit for numbers of autosaves. We will start over
       
   897 			_autosave_ctr = 0;
       
   898 		}
   895 	}
   899 	}
   896 
   900 
   897 	DEBUG(misc, 2) ("Autosaving to %s", buf);
   901 	DEBUG(misc, 2) ("Autosaving to %s", buf);
   898 	if (SaveOrLoad(buf, SL_SAVE) != SL_OK)
   902 	if (SaveOrLoad(buf, SL_SAVE) != SL_OK)
   899 		ShowErrorMessage(INVALID_STRING_ID, STR_AUTOSAVE_FAILED, 0, 0);
   903 		ShowErrorMessage(INVALID_STRING_ID, STR_AUTOSAVE_FAILED, 0, 0);