(svn r11784) -Codechange: set up initial engine data in one place

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
peter1138 17 years ago
parent 814f47a3cc
commit ce2104ed47

@ -38,6 +38,24 @@ enum {
};
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 @@ static void CalcEngineReliability(Engine *e)
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;

@ -153,7 +153,7 @@ enum {
static const EngineID INVALID_ENGINE = 0xFFFF;
void AddTypeToEngines();
void SetupEngines();
void StartupEngines();

@ -56,8 +56,6 @@ void InitializeGame(int mode, uint size_x, uint size_y)
{
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;

@ -5063,11 +5063,7 @@ static void ResetNewGRFData()
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 @@ static void ResetNewGRFData()
/* 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);

@ -1631,8 +1631,6 @@ static bool LoadOldMain(LoadgameState *ls)
FixOldStations();
FixOldVehicles();
AddTypeToEngines();
/* We have a new difficulty setting */
_opt.diff.town_council_tolerance = Clamp(_opt.diff_level, 0, 2);

Loading…
Cancel
Save