mirror of https://github.com/OpenTTD/OpenTTD
The alignment using the total-width of the vehicle-chain was meant for articulated trains and road vehicles only.pull/9816/head
parent
a83cd9b4f5
commit
8028794bee
|
@ -3186,6 +3186,7 @@ void SetMouseCursorVehicle(const Vehicle *v, EngineImageType image_type)
|
||||||
int total_width = 0;
|
int total_width = 0;
|
||||||
int y_offset = 0;
|
int y_offset = 0;
|
||||||
bool rotor_seq = false; // Whether to draw the rotor of the vehicle in this step.
|
bool rotor_seq = false; // Whether to draw the rotor of the vehicle in this step.
|
||||||
|
bool is_ground_vehicle = v->IsGroundVehicle();
|
||||||
|
|
||||||
while (v != nullptr) {
|
while (v != nullptr) {
|
||||||
if (total_width >= ScaleGUITrad(2 * (int)VEHICLEINFO_FULL_VEHICLE_WIDTH)) break;
|
if (total_width >= ScaleGUITrad(2 * (int)VEHICLEINFO_FULL_VEHICLE_WIDTH)) break;
|
||||||
|
@ -3221,10 +3222,13 @@ void SetMouseCursorVehicle(const Vehicle *v, EngineImageType image_type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int offs = (ScaleGUITrad(VEHICLEINFO_FULL_VEHICLE_WIDTH) - total_width) / 2;
|
if (is_ground_vehicle) {
|
||||||
if (rtl) offs = -offs;
|
/* Center trains and road vehicles on the front vehicle */
|
||||||
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
int offs = (ScaleGUITrad(VEHICLEINFO_FULL_VEHICLE_WIDTH) - total_width) / 2;
|
||||||
_cursor.sprite_pos[i].x += offs;
|
if (rtl) offs = -offs;
|
||||||
|
for (uint i = 0; i < _cursor.sprite_count; ++i) {
|
||||||
|
_cursor.sprite_pos[i].x += offs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateCursorSize();
|
UpdateCursorSize();
|
||||||
|
|
Loading…
Reference in New Issue