From bae066ecaf09327f5e012a43d8f916ad4d443080 Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 16 Nov 2009 17:58:46 +0000 Subject: (svn r18123) -Codechange: try our best to keep the vehicles within the build vehicle list/autoreplace lists instead of overflowing. --- src/roadveh_cmd.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/roadveh_cmd.cpp') diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index b0a535d04..bbe258e84 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -36,6 +36,7 @@ #include "effectvehicle_func.h" #include "roadstop_base.h" #include "cargotype.h" +#include "spritecache.h" #include "table/strings.h" #include "table/sprites.h" @@ -140,7 +141,10 @@ SpriteID RoadVehicle::GetImage(Direction direction) const void DrawRoadVehEngine(int left, int right, int preferred_x, int y, EngineID engine, SpriteID pal) { - DrawSprite(GetRoadVehIcon(engine), pal, preferred_x, y); + SpriteID sprite = GetRoadVehIcon(engine); + const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL); + preferred_x = Clamp(preferred_x, left - real_sprite->x_offs, right - real_sprite->width - real_sprite->x_offs); + DrawSprite(sprite, pal, preferred_x, y); } static uint GetRoadVehLength(const RoadVehicle *v) -- cgit v1.2.3-70-g09d2