mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r14371) -Fix [FS#2313]: loading indicator didn't stay with the front engine when turning a train in a station.
This commit is contained in:
parent
2bf182fb36
commit
7ef5406946
|
@ -607,9 +607,12 @@ void UpdateFillingPercent(TextEffectID te_id, uint8 percent, StringID string)
|
||||||
UpdateTextEffect(te_id, string);
|
UpdateTextEffect(te_id, string);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HideFillingPercent(TextEffectID te_id)
|
void HideFillingPercent(TextEffectID *te_id)
|
||||||
{
|
{
|
||||||
if (te_id != INVALID_TE_ID) RemoveTextEffect(te_id);
|
if (*te_id == INVALID_TE_ID) return;
|
||||||
|
|
||||||
|
RemoveTextEffect(*te_id);
|
||||||
|
*te_id = INVALID_TE_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const Widget _tooltips_widgets[] = {
|
static const Widget _tooltips_widgets[] = {
|
||||||
|
|
|
@ -29,6 +29,6 @@ void RemoveTextEffect(TextEffectID effect_id);
|
||||||
/* misc_gui.cpp */
|
/* misc_gui.cpp */
|
||||||
TextEffectID ShowFillingPercent(int x, int y, int z, uint8 percent, StringID color);
|
TextEffectID ShowFillingPercent(int x, int y, int z, uint8 percent, StringID color);
|
||||||
void UpdateFillingPercent(TextEffectID te_id, uint8 percent, StringID color);
|
void UpdateFillingPercent(TextEffectID te_id, uint8 percent, StringID color);
|
||||||
void HideFillingPercent(TextEffectID te_id);
|
void HideFillingPercent(TextEffectID *te_id);
|
||||||
|
|
||||||
#endif /* TEXTEFF_HPP */
|
#endif /* TEXTEFF_HPP */
|
||||||
|
|
|
@ -1957,6 +1957,7 @@ CommandCost CmdReverseTrainDirection(TileIndex tile, uint32 flags, uint32 p1, ui
|
||||||
} else {
|
} else {
|
||||||
v->cur_speed = 0;
|
v->cur_speed = 0;
|
||||||
SetLastSpeed(v, 0);
|
SetLastSpeed(v, 0);
|
||||||
|
HideFillingPercent(&v->fill_percent_te_id);
|
||||||
ReverseTrainDirection(v);
|
ReverseTrainDirection(v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -643,8 +643,7 @@ void Vehicle::PreDestructor()
|
||||||
if (IsValidStationID(this->last_station_visited)) {
|
if (IsValidStationID(this->last_station_visited)) {
|
||||||
GetStation(this->last_station_visited)->loading_vehicles.remove(this);
|
GetStation(this->last_station_visited)->loading_vehicles.remove(this);
|
||||||
|
|
||||||
HideFillingPercent(this->fill_percent_te_id);
|
HideFillingPercent(&this->fill_percent_te_id);
|
||||||
this->fill_percent_te_id = INVALID_TE_ID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsEngineCountable(this)) {
|
if (IsEngineCountable(this)) {
|
||||||
|
@ -2533,8 +2532,7 @@ void Vehicle::LeaveStation()
|
||||||
Station *st = GetStation(this->last_station_visited);
|
Station *st = GetStation(this->last_station_visited);
|
||||||
st->loading_vehicles.remove(this);
|
st->loading_vehicles.remove(this);
|
||||||
|
|
||||||
HideFillingPercent(this->fill_percent_te_id);
|
HideFillingPercent(&this->fill_percent_te_id);
|
||||||
this->fill_percent_te_id = INVALID_TE_ID;
|
|
||||||
|
|
||||||
if (this->type == VEH_TRAIN) {
|
if (this->type == VEH_TRAIN) {
|
||||||
/* Trigger station animation (trains only) */
|
/* Trigger station animation (trains only) */
|
||||||
|
|
Loading…
Reference in New Issue