summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2005-10-30 21:47:42 +0000
committerpeter1138 <peter1138@openttd.org>2005-10-30 21:47:42 +0000
commitf50ec50d9bcfbaa495cdd2bfd457d756317a6b42 (patch)
tree538fc1b9998ad93a31ed5be155e1b523b05073b8
parent84684ef1a357096046a3108509ccc01b74f7f196 (diff)
downloadopenttd-f50ec50d9bcfbaa495cdd2bfd457d756317a6b42.tar.xz
(svn r3107) -NewGRF: Move train y-position offset adjustment to remove code duplication, and make it apply only to vehicles with a custom image.
-rw-r--r--train_cmd.c8
-rw-r--r--train_gui.c7
2 files changed, 10 insertions, 5 deletions
diff --git a/train_cmd.c b/train_cmd.c
index 6ee0e031f..ef11c55ce 100644
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -364,6 +364,8 @@ int GetTrainImage(const Vehicle *v, byte direction)
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, EngineID engine, uint32 image_ormod)
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
index be2e34c2d..fcc0cd98f 100644
--- a/train_gui.c
+++ b/train_gui.c
@@ -188,7 +188,7 @@ static void engine_drawing_loop(int *x, int *y, int *pos, int *sel,
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 *v, int x, int y, int count, int skip,
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 *w, WindowEvent *e)
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);