# HG changeset patch # User peter1138 # Date 2005-10-30 21:47:42 # Node ID 9c32c3acd198656dfc0430065e7c10a631913509 # Parent 7b0497821ebf7c9ffb3b4b1f5e4c551a6f3f8210 (svn r3107) -NewGRF: Move train y-position offset adjustment to remove code duplication, and make it apply only to vehicles with a custom image. diff --git a/train_cmd.c b/train_cmd.c --- a/train_cmd.c +++ b/train_cmd.c @@ -364,6 +364,8 @@ int GetTrainImage(const Vehicle *v, byte return base; } +extern int _traininfo_vehicle_pitch; + void DrawTrainEngine(int x, int y, EngineID engine, uint32 image_ormod) { const RailVehicleInfo *rvi = RailVehInfo(engine); @@ -373,7 +375,11 @@ void DrawTrainEngine(int x, int y, Engin if (is_custom_sprite(img)) { image = GetCustomVehicleIcon(engine, 6); - if (image == 0) img = orig_rail_vehicle_info[engine].image_index; + if (image == 0) { + img = orig_rail_vehicle_info[engine].image_index; + } else { + y += _traininfo_vehicle_pitch; + } } if (image == 0) { image = (6 & _engine_sprite_and[img]) + _engine_sprite_base[img]; diff --git a/train_gui.c b/train_gui.c --- a/train_gui.c +++ b/train_gui.c @@ -188,7 +188,7 @@ static void engine_drawing_loop(int *x, if (IS_INT_INSIDE(--*pos, -show_max, 0)) { DrawString(*x + 59, *y + 2, GetCustomEngineName(i), *sel == 0 ? 0xC : 0x10); - DrawTrainEngine(*x + 29, *y + 6 + _traininfo_vehicle_pitch, i, + DrawTrainEngine(*x + 29, *y + 6, i, SPRITE_PALETTE(PLAYER_SPRITE_COLOR(_local_player))); *y += 14; } @@ -358,7 +358,7 @@ static void DrawTrainImage(const Vehicle if (x + width + 4 <= max_x) { if (v->vehstatus & VS_CRASHED) ormod = PALETTE_CRASH; - DrawSprite(image | ormod, x + 14, y + 6 + _traininfo_vehicle_pitch); + DrawSprite(image | ormod, x + 14, y + 6 + (is_custom_sprite(RailVehInfo(v->engine_type)->image_index) ? _traininfo_vehicle_pitch : 0)); if (v->index == selection) DrawFrameRect(x - 1, y - 1, x + width + 4, y + 12, 15, FR_BORDERONLY); } @@ -1409,8 +1409,7 @@ static void PlayerTrainsWndProc(Window * assert(v->type == VEH_Train && v->owner == owner); - DrawTrainImage( - v, x + 21, y + 6 + _traininfo_vehicle_pitch, w->hscroll.cap, 0, INVALID_VEHICLE); + DrawTrainImage(v, x + 21, y + 6, w->hscroll.cap, 0, INVALID_VEHICLE); DrawVehicleProfitButton(v, x, y + 13); SetDParam(0, v->unitnumber);