Mercurial > hg > openttd
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);