80 image = direction + _roadveh_images[img]; |
80 image = direction + _roadveh_images[img]; |
81 if (v->cargo_count >= v->cargo_cap / 2) image += _roadveh_full_adder[img]; |
81 if (v->cargo_count >= v->cargo_cap / 2) image += _roadveh_full_adder[img]; |
82 return image; |
82 return image; |
83 } |
83 } |
84 |
84 |
85 void DrawRoadVehEngine(int x, int y, EngineID engine, uint32 image_ormod) |
85 void DrawRoadVehEngine(int x, int y, EngineID engine, SpriteID pal) |
86 { |
86 { |
87 int spritenum = RoadVehInfo(engine)->image_index; |
87 int spritenum = RoadVehInfo(engine)->image_index; |
88 |
88 |
89 if (is_custom_sprite(spritenum)) { |
89 if (is_custom_sprite(spritenum)) { |
90 int sprite = GetCustomVehicleIcon(engine, DIR_W); |
90 int sprite = GetCustomVehicleIcon(engine, DIR_W); |
91 |
91 |
92 if (sprite != 0) { |
92 if (sprite != 0) { |
93 DrawSprite(sprite | image_ormod, x, y); |
93 DrawSprite(sprite, pal, x, y); |
94 return; |
94 return; |
95 } |
95 } |
96 spritenum = orig_road_vehicle_info[engine - ROAD_ENGINES_INDEX].image_index; |
96 spritenum = orig_road_vehicle_info[engine - ROAD_ENGINES_INDEX].image_index; |
97 } |
97 } |
98 DrawSprite((6 + _roadveh_images[spritenum]) | image_ormod, x, y); |
98 DrawSprite(6 + _roadveh_images[spritenum], pal, x, y); |
99 } |
99 } |
100 |
100 |
101 static int32 EstimateRoadVehCost(EngineID engine_type) |
101 static int32 EstimateRoadVehCost(EngineID engine_type) |
102 { |
102 { |
103 return ((_price.roadveh_base >> 3) * RoadVehInfo(engine_type)->base_cost) >> 5; |
103 return ((_price.roadveh_base >> 3) * RoadVehInfo(engine_type)->base_cost) >> 5; |