From c1cf3934fa5bd523dd1df01cf505c9f06927701d Mon Sep 17 00:00:00 2001 From: glx Date: Sun, 25 Jan 2009 00:57:03 +0000 Subject: (svn r15263) -Codechange: added Engine::GetCost() to remove some code duplication. --- src/engine_gui.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'src/engine_gui.cpp') diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index 679dd09fb..2593994b7 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -129,13 +129,14 @@ static void DrawTrainEngineInfo(EngineID engine, int x, int y, int maxw) { const RailVehicleInfo *rvi = RailVehInfo(engine); int multihead = (rvi->railveh_type == RAILVEH_MULTIHEAD) ? 1 : 0; + const Engine *e = GetEngine(engine); - SetDParam(0, (_price.build_railvehicle >> 3) * GetEngineProperty(engine, 0x17, rvi->cost_factor) >> 5); + SetDParam(0, e->GetCost()); SetDParam(2, GetEngineProperty(engine, 0x09, rvi->max_speed) * 10 / 16); SetDParam(3, GetEngineProperty(engine, 0x0B, rvi->power)); SetDParam(1, GetEngineProperty(engine, 0x16, rvi->weight) << multihead); - SetDParam(4, GetEngine(engine)->GetRunningCost()); + SetDParam(4, e->GetRunningCost()); uint capacity = GetTotalCapacityOfArticulatedParts(engine, VEH_TRAIN); if (capacity != 0) { @@ -150,11 +151,13 @@ static void DrawTrainEngineInfo(EngineID engine, int x, int y, int maxw) static void DrawAircraftEngineInfo(EngineID engine, int x, int y, int maxw) { const AircraftVehicleInfo *avi = AircraftVehInfo(engine); - SetDParam(0, (_price.aircraft_base >> 3) * GetEngineProperty(engine, 0x0B, avi->cost_factor) >> 5); + const Engine *e = GetEngine(engine); + + SetDParam(0, e->GetCost()); SetDParam(1, avi->max_speed * 10 / 16); SetDParam(2, avi->passenger_capacity); SetDParam(3, avi->mail_capacity); - SetDParam(4, GetEngine(engine)->GetRunningCost()); + SetDParam(4, e->GetRunningCost()); DrawStringMultiCenter(x, y, STR_A02E_COST_MAX_SPEED_CAPACITY, maxw); } @@ -162,10 +165,11 @@ static void DrawAircraftEngineInfo(EngineID engine, int x, int y, int maxw) static void DrawRoadVehEngineInfo(EngineID engine, int x, int y, int maxw) { const RoadVehicleInfo *rvi = RoadVehInfo(engine); + const Engine *e = GetEngine(engine); - SetDParam(0, (_price.roadveh_base >> 3) * GetEngineProperty(engine, 0x11, rvi->cost_factor) >> 5); + SetDParam(0, e->GetCost()); SetDParam(1, rvi->max_speed * 10 / 32); - SetDParam(2, GetEngine(engine)->GetRunningCost()); + SetDParam(2, e->GetRunningCost()); SetDParam(3, rvi->cargo_type); SetDParam(4, GetTotalCapacityOfArticulatedParts(engine, VEH_ROAD)); @@ -175,11 +179,13 @@ static void DrawRoadVehEngineInfo(EngineID engine, int x, int y, int maxw) static void DrawShipEngineInfo(EngineID engine, int x, int y, int maxw) { const ShipVehicleInfo *svi = ShipVehInfo(engine); - SetDParam(0, GetEngineProperty(engine, 0x0A, svi->cost_factor) * (_price.ship_base >> 3) >> 5); + const Engine *e = GetEngine(engine); + + SetDParam(0, e->GetCost()); SetDParam(1, GetEngineProperty(engine, 0x0B, svi->max_speed) * 10 / 32); SetDParam(2, svi->cargo_type); SetDParam(3, GetEngineProperty(engine, 0x0D, svi->capacity)); - SetDParam(4, GetEngine(engine)->GetRunningCost()); + SetDParam(4, e->GetRunningCost()); DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw); } -- cgit v1.2.3-54-g00ecf