changeset 8221:188d5ea22361 draft

(svn r11784) -Codechange: set up initial engine data in one place
author peter1138 <peter1138@openttd.org>
date Tue, 08 Jan 2008 18:25:51 +0000
parents 01778382728c
children 927d1c80aab4
files src/engine.cpp src/engine.h src/misc.cpp src/newgrf.cpp src/oldloader.cpp
diffstat 5 files changed, 20 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/src/engine.cpp
+++ b/src/engine.cpp
@@ -38,6 +38,24 @@
 };
 
 
+void SetupEngines()
+{
+	/* Copy original static engine data */
+	memcpy(&_engine_info, &orig_engine_info, sizeof(orig_engine_info));
+	memcpy(&_rail_vehicle_info, &orig_rail_vehicle_info, sizeof(orig_rail_vehicle_info));
+	memcpy(&_ship_vehicle_info, &orig_ship_vehicle_info, sizeof(orig_ship_vehicle_info));
+	memcpy(&_aircraft_vehicle_info, &orig_aircraft_vehicle_info, sizeof(orig_aircraft_vehicle_info));
+	memcpy(&_road_vehicle_info, &orig_road_vehicle_info, sizeof(orig_road_vehicle_info));
+
+	/* Add type to engines */
+	Engine* e = _engines;
+	do e->type = VEH_TRAIN;    while (++e < &_engines[ROAD_ENGINES_INDEX]);
+	do e->type = VEH_ROAD;     while (++e < &_engines[SHIP_ENGINES_INDEX]);
+	do e->type = VEH_SHIP;     while (++e < &_engines[AIRCRAFT_ENGINES_INDEX]);
+	do e->type = VEH_AIRCRAFT; while (++e < &_engines[TOTAL_NUM_ENGINES]);
+}
+
+
 void ShowEnginePreviewWindow(EngineID engine);
 
 void DeleteCustomEngineNames()
@@ -108,16 +126,6 @@
 	InvalidateWindowClasses(WC_REPLACE_VEHICLE);
 }
 
-void AddTypeToEngines()
-{
-	Engine* e = _engines;
-
-	do e->type = VEH_TRAIN;    while (++e < &_engines[ROAD_ENGINES_INDEX]);
-	do e->type = VEH_ROAD;     while (++e < &_engines[SHIP_ENGINES_INDEX]);
-	do e->type = VEH_SHIP;     while (++e < &_engines[AIRCRAFT_ENGINES_INDEX]);
-	do e->type = VEH_AIRCRAFT; while (++e < &_engines[TOTAL_NUM_ENGINES]);
-}
-
 void StartupEngines()
 {
 	Engine *e;
--- a/src/engine.h
+++ b/src/engine.h
@@ -153,7 +153,7 @@
 static const EngineID INVALID_ENGINE = 0xFFFF;
 
 
-void AddTypeToEngines();
+void SetupEngines();
 void StartupEngines();
 
 
--- a/src/misc.cpp
+++ b/src/misc.cpp
@@ -56,8 +56,6 @@
 {
 	AllocateMap(size_x, size_y);
 
-	AddTypeToEngines(); // make sure all engines have a type
-
 	SetObjectToPlace(SPR_CURSOR_ZZZ, PAL_NONE, VHM_NONE, WC_MAIN_WINDOW, 0);
 
 	_pause_game = 0;
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -5063,11 +5063,7 @@
 	CleanUpGRFTownNames();
 
 	/* Copy/reset original engine info data */
-	memcpy(&_engine_info, &orig_engine_info, sizeof(orig_engine_info));
-	memcpy(&_rail_vehicle_info, &orig_rail_vehicle_info, sizeof(orig_rail_vehicle_info));
-	memcpy(&_ship_vehicle_info, &orig_ship_vehicle_info, sizeof(orig_ship_vehicle_info));
-	memcpy(&_aircraft_vehicle_info, &orig_aircraft_vehicle_info, sizeof(orig_aircraft_vehicle_info));
-	memcpy(&_road_vehicle_info, &orig_road_vehicle_info, sizeof(orig_road_vehicle_info));
+	SetupEngines();
 
 	/* Copy/reset original bridge info data
 	 * First, free sprite table data */
@@ -5124,9 +5120,6 @@
 	/* Reset NewGRF errors. */
 	ResetNewGRFErrors();
 
-	/* Add engine type to engine data. This is needed for the refit precalculation. */
-	AddTypeToEngines();
-
 	/* Set up the default cargo types */
 	SetupCargoForClimate(_opt.landscape);
 
--- a/src/oldloader.cpp
+++ b/src/oldloader.cpp
@@ -1631,8 +1631,6 @@
 	FixOldStations();
 	FixOldVehicles();
 
-	AddTypeToEngines();
-
 	/* We have a new difficulty setting */
 	_opt.diff.town_council_tolerance = Clamp(_opt.diff_level, 0, 2);