Index: src/settings.cpp =================================================================== --- src/settings.cpp (Revision 12053) +++ src/settings.cpp (Arbeitskopie) @@ -1455,7 +1455,8 @@ SDT_VAR(Patches, snow_line_height,SLE_UINT8, 0, 0, 7, 2, 13, 0, STR_CONFIG_PATCHES_SNOWLINE_HEIGHT, NULL), SDT_VAR(Patches, colored_news_year,SLE_INT32, 0,NC, 2000, MIN_YEAR, MAX_YEAR, 1, STR_CONFIG_PATCHES_COLORED_NEWS_YEAR,NULL), SDT_VAR(Patches, starting_year, SLE_INT32, 0,NC, 1950, MIN_YEAR, MAX_YEAR, 1, STR_CONFIG_PATCHES_STARTING_YEAR,NULL), - SDT_VAR(Patches, ending_year, SLE_INT32,0,NC|NO,2051, MIN_YEAR, MAX_YEAR, 1, STR_CONFIG_PATCHES_ENDING_YEAR, NULL), + SDT_CONDNULL(4, 0, 86), // previous ending_year + SDT_CONDVAR(Patches, playtime, SLE_UINT8, 87, SL_MAX_VERSION, N, NC, 101, 1, 255, 1, STR_CONFIG_PATCHES_PLAYTIME, NULL), SDT_BOOL(Patches, smooth_economy, 0, 0, true, STR_CONFIG_PATCHES_SMOOTH_ECONOMY, NULL), SDT_BOOL(Patches, allow_shares, 0, 0, false, STR_CONFIG_PATCHES_ALLOW_SHARES, NULL), SDT_CONDVAR(Patches, town_growth_rate, SLE_UINT8, 54, SL_MAX_VERSION, 0, MS, 2, 0, 4, 0, STR_CONFIG_PATCHES_TOWN_GROWTH, NULL), Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (Revision 12053) +++ src/lang/english.txt (Arbeitskopie) @@ -1159,7 +1159,7 @@ STR_CONFIG_PATCHES_COLORED_NEWS_YEAR :{LTBLUE}Coloured news appears in: {ORANGE}{STRING1} STR_CONFIG_PATCHES_STARTING_YEAR :{LTBLUE}Starting year: {ORANGE}{STRING1} -STR_CONFIG_PATCHES_ENDING_YEAR :{LTBLUE}End game in: {ORANGE}{STRING1} +STR_CONFIG_PATCHES_PLAYTIME :{LTBLUE}Playtime in years: {ORANGE}{STRING1} STR_CONFIG_PATCHES_SMOOTH_ECONOMY :{LTBLUE}Enable smooth economy (more, smaller changes) STR_CONFIG_PATCHES_ALLOW_SHARES :{LTBLUE}Allow buying shares from other companies STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY :{LTBLUE}When dragging, place signals every: {ORANGE}{STRING1} tile(s) Index: src/settings_gui.cpp =================================================================== --- src/settings_gui.cpp (Revision 12053) +++ src/settings_gui.cpp (Arbeitskopie) @@ -768,7 +768,7 @@ "exclusive_rights", "give_money", "colored_news_year", - "ending_year", + "playtime", "smooth_economy", "allow_shares", "town_layout", Index: src/saveload.cpp =================================================================== --- src/saveload.cpp (Revision 12053) +++ src/saveload.cpp (Arbeitskopie) @@ -34,7 +34,7 @@ #include "table/strings.h" -extern const uint16 SAVEGAME_VERSION = 86; +extern const uint16 SAVEGAME_VERSION = 87; uint16 _sl_version; ///< the major savegame version identifier byte _sl_minor_version; ///< the minor savegame version, DO NOT USE! Index: src/date.cpp =================================================================== --- src/date.cpp (Revision 12053) +++ src/date.cpp (Arbeitskopie) @@ -283,7 +283,7 @@ if (_network_server) NetworkServerYearlyLoop(); /* check if we reached end of the game */ - if (_cur_year == _patches.ending_year) { + if (!IsInsideBS(_cur_year, _patches.starting_year, _patches.playtime)) { ShowEndGameChart(); /* check if we reached the maximum year, decrement dates by a year */ } else if (_cur_year == MAX_YEAR + 1) { Index: src/settings_type.h =================================================================== --- src/settings_type.h (Revision 12053) +++ src/settings_type.h (Arbeitskopie) @@ -140,7 +140,7 @@ bool ai_disable_veh_aircraft; ///< disable types for AI bool ai_disable_veh_ship; ///< disable types for AI Year starting_year; ///< starting date - Year ending_year; ///< end of the game (just show highscore) + uint8 playtime; ///< time in years (for the highscore) Year colored_news_year; ///< when does newspaper become colored? bool keep_all_autosave; ///< name the autosave in a different way. Index: src/players.cpp =================================================================== --- src/players.cpp (Revision 12053) +++ src/players.cpp (Arbeitskopie) @@ -1091,9 +1091,6 @@ } fclose(fp); } - - /* Initialize end of game variable (when to show highscore chart) */ - _patches.ending_year = 2051; } /* Save/load of players */ Index: src/player_gui.cpp =================================================================== --- src/player_gui.cpp (Revision 12053) +++ src/player_gui.cpp (Arbeitskopie) @@ -1412,7 +1412,7 @@ SetupHighScoreEndWindow(w, &x, &y); - SetDParam(0, _patches.ending_year); + SetDParam(0, _patches.starting_year + _patches.playtime); SetDParam(1, w->window_number + STR_6801_EASY); DrawStringMultiCenter(x + (640 / 2), y + 62, !_networking ? STR_0211_TOP_COMPANIES_WHO_REACHED : STR_TOP_COMPANIES_NETWORK_GAME, 500);