(svn r3107) -NewGRF: Move train y-position offset adjustment to remove code duplication, and make it apply only to vehicles with a custom image.
authorpeter1138
Sun, 30 Oct 2005 21:47:42 +0000
changeset 2570 c7c4d8438516
parent 2569 2851becf6330
child 2571 ab7413dfe35a
(svn r3107) -NewGRF: Move train y-position offset adjustment to remove code duplication, and make it apply only to vehicles with a custom image.
train_cmd.c
train_gui.c
--- a/train_cmd.c	Sun Oct 30 21:35:48 2005 +0000
+++ b/train_cmd.c	Sun Oct 30 21:47:42 2005 +0000
@@ -364,6 +364,8 @@
 	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 @@
 
 	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];
--- a/train_gui.c	Sun Oct 30 21:35:48 2005 +0000
+++ b/train_gui.c	Sun Oct 30 21:47:42 2005 +0000
@@ -188,7 +188,7 @@
 
 		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 @@
 			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 @@
 
 			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);