changeset 12170:ff38719a9687 draft

(svn r16586) -Codechange: don't store lifelength in the savegame; it can easily be calculated, it isn't used often and now changing extend_vehicle_life in game has some effect.
author rubidium <rubidium@openttd.org>
date Wed, 17 Jun 2009 17:13:30 +0000
parents cadc211c2cae
children 9b2311c95ddd
files src/engine.cpp src/engine_base.h src/saveload/engine_sl.cpp src/saveload/oldloader_sl.cpp
diffstat 4 files changed, 23 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/src/engine.cpp
+++ b/src/engine.cpp
@@ -322,7 +322,7 @@
 Date Engine::GetLifeLengthInDays() const
 {
 	/* Assume leap years; this gives the player a bit more than the given amount of years, but never less. */
-	return this->lifelength * DAYS_IN_LEAP_YEAR;
+	return (this->info.lifelength + _settings_game.vehicle.extend_vehicle_life) * DAYS_IN_LEAP_YEAR;
 }
 
 /**
@@ -516,8 +516,6 @@
 
 	CalcEngineReliability(e);
 
-	e->lifelength = ei->lifelength + _settings_game.vehicle.extend_vehicle_life;
-
 	/* prevent certain engines from ever appearing. */
 	if (!HasBit(ei->climates, _settings_game.game_creation.landscape)) {
 		e->flags |= ENGINE_AVAILABLE;
--- a/src/engine_base.h
+++ b/src/engine_base.h
@@ -21,7 +21,6 @@
 	uint16 reliability_spd_dec;
 	uint16 reliability_start, reliability_max, reliability_final;
 	uint16 duration_phase_1, duration_phase_2, duration_phase_3;
-	byte lifelength;
 	byte flags;
 	uint8 preview_company_rank;
 	byte preview_wait;
--- a/src/saveload/engine_sl.cpp
+++ b/src/saveload/engine_sl.cpp
@@ -8,30 +8,30 @@
 #include <map>
 
 static const SaveLoad _engine_desc[] = {
-	SLE_CONDVAR(Engine, intro_date,          SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
-	SLE_CONDVAR(Engine, intro_date,          SLE_INT32,                  31, SL_MAX_VERSION),
-	SLE_CONDVAR(Engine, age,                 SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
-	SLE_CONDVAR(Engine, age,                 SLE_INT32,                  31, SL_MAX_VERSION),
-	    SLE_VAR(Engine, reliability,         SLE_UINT16),
-	    SLE_VAR(Engine, reliability_spd_dec, SLE_UINT16),
-	    SLE_VAR(Engine, reliability_start,   SLE_UINT16),
-	    SLE_VAR(Engine, reliability_max,     SLE_UINT16),
-	    SLE_VAR(Engine, reliability_final,   SLE_UINT16),
-	    SLE_VAR(Engine, duration_phase_1,    SLE_UINT16),
-	    SLE_VAR(Engine, duration_phase_2,    SLE_UINT16),
-	    SLE_VAR(Engine, duration_phase_3,    SLE_UINT16),
+	 SLE_CONDVAR(Engine, intro_date,          SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
+	 SLE_CONDVAR(Engine, intro_date,          SLE_INT32,                  31, SL_MAX_VERSION),
+	 SLE_CONDVAR(Engine, age,                 SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
+	 SLE_CONDVAR(Engine, age,                 SLE_INT32,                  31, SL_MAX_VERSION),
+	     SLE_VAR(Engine, reliability,         SLE_UINT16),
+	     SLE_VAR(Engine, reliability_spd_dec, SLE_UINT16),
+	     SLE_VAR(Engine, reliability_start,   SLE_UINT16),
+	     SLE_VAR(Engine, reliability_max,     SLE_UINT16),
+	     SLE_VAR(Engine, reliability_final,   SLE_UINT16),
+	     SLE_VAR(Engine, duration_phase_1,    SLE_UINT16),
+	     SLE_VAR(Engine, duration_phase_2,    SLE_UINT16),
+	     SLE_VAR(Engine, duration_phase_3,    SLE_UINT16),
 
-	    SLE_VAR(Engine, lifelength,          SLE_UINT8),
-	    SLE_VAR(Engine, flags,               SLE_UINT8),
-	    SLE_VAR(Engine, preview_company_rank,SLE_UINT8),
-	    SLE_VAR(Engine, preview_wait,        SLE_UINT8),
-	SLE_CONDNULL(1, 0, 44),
-	SLE_CONDVAR(Engine, company_avail,       SLE_FILE_U8  | SLE_VAR_U16,  0, 103),
-	SLE_CONDVAR(Engine, company_avail,       SLE_UINT16,                104, SL_MAX_VERSION),
-	SLE_CONDSTR(Engine, name,                SLE_STR, 0,                 84, SL_MAX_VERSION),
+	SLE_CONDNULL(1,                                                        0, 120),
+	     SLE_VAR(Engine, flags,               SLE_UINT8),
+	     SLE_VAR(Engine, preview_company_rank,SLE_UINT8),
+	     SLE_VAR(Engine, preview_wait,        SLE_UINT8),
+	SLE_CONDNULL(1,                                                        0,  44),
+	 SLE_CONDVAR(Engine, company_avail,       SLE_FILE_U8  | SLE_VAR_U16,  0, 103),
+	 SLE_CONDVAR(Engine, company_avail,       SLE_UINT16,                104, SL_MAX_VERSION),
+	 SLE_CONDSTR(Engine, name,                SLE_STR, 0,                 84, SL_MAX_VERSION),
 
 	/* reserve extra space in savegame here. (currently 16 bytes) */
-	SLE_CONDNULL(16, 2, SL_MAX_VERSION),
+	SLE_CONDNULL(16,                                                       2, SL_MAX_VERSION),
 
 	SLE_END()
 };
@@ -84,7 +84,6 @@
 		e->duration_phase_1    = se->duration_phase_1;
 		e->duration_phase_2    = se->duration_phase_2;
 		e->duration_phase_3    = se->duration_phase_3;
-		e->lifelength          = se->lifelength;
 		e->flags               = se->flags;
 		e->preview_company_rank= se->preview_company_rank;
 		e->preview_wait        = se->preview_wait;
--- a/src/saveload/oldloader_sl.cpp
+++ b/src/saveload/oldloader_sl.cpp
@@ -406,7 +406,6 @@
 			e->duration_phase_1    = oe->duration_phase_1;
 			e->duration_phase_2    = oe->duration_phase_2;
 			e->duration_phase_3    = oe->duration_phase_3;
-			e->lifelength          = oe->lifelength;
 			e->flags               = oe->flags;
 
 			e->company_avail = 0;
@@ -1439,7 +1438,7 @@
 	OCL_SVAR( OC_UINT16, Engine, duration_phase_2 ),
 	OCL_SVAR( OC_UINT16, Engine, duration_phase_3 ),
 
-	OCL_SVAR(  OC_UINT8, Engine, lifelength ),
+	OCL_NULL( 1 ), // lifelength
 	OCL_SVAR(  OC_UINT8, Engine, flags ),
 	OCL_SVAR(  OC_UINT8, Engine, preview_company_rank ),
 	OCL_SVAR(  OC_UINT8, Engine, preview_wait ),