1784 |
1784 |
1785 if (IsTileDepotType(v->tile, TRANSPORT_RAIL)) { |
1785 if (IsTileDepotType(v->tile, TRANSPORT_RAIL)) { |
1786 InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); |
1786 InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); |
1787 } |
1787 } |
1788 |
1788 |
|
1789 /* set reversed flag on all parts */ |
|
1790 for (Vehicle *u = v; u != NULL; u = u->Next()) ToggleBit(u->u.rail.flags, VRF_TOGGLE_REVERSE); |
|
1791 |
|
1792 ClrBit(v->u.rail.flags, VRF_REVERSING); |
|
1793 |
|
1794 /* recalculate cached data */ |
|
1795 TrainConsistChanged(v); |
|
1796 |
1789 /* update all images */ |
1797 /* update all images */ |
1790 for (Vehicle *u = v; u != NULL; u = u->Next()) { |
1798 for (Vehicle *u = v; u != NULL; u = u->Next()) u->cur_image = u->GetImage(u->direction); |
1791 ToggleBit(u->u.rail.flags, VRF_TOGGLE_REVERSE); |
|
1792 u->cur_image = u->GetImage(u->direction); |
|
1793 } |
|
1794 |
|
1795 ClrBit(v->u.rail.flags, VRF_REVERSING); |
|
1796 |
1799 |
1797 /* update crossing we were approaching */ |
1800 /* update crossing we were approaching */ |
1798 if (crossing != INVALID_TILE) UpdateLevelCrossing(crossing); |
1801 if (crossing != INVALID_TILE) UpdateLevelCrossing(crossing); |
1799 |
1802 |
1800 /* maybe we are approaching crossing now, after reversal */ |
1803 /* maybe we are approaching crossing now, after reversal */ |