(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:
rubidium 2008-09-21 18:28:35 +00:00
parent 2bf182fb36
commit 7ef5406946
4 changed files with 9 additions and 7 deletions

View File

@ -607,9 +607,12 @@ void UpdateFillingPercent(TextEffectID te_id, uint8 percent, StringID 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[] = {

View File

@ -29,6 +29,6 @@ void RemoveTextEffect(TextEffectID effect_id);
/* misc_gui.cpp */
TextEffectID ShowFillingPercent(int x, int y, int z, 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 */

View File

@ -1957,6 +1957,7 @@ CommandCost CmdReverseTrainDirection(TileIndex tile, uint32 flags, uint32 p1, ui
} else {
v->cur_speed = 0;
SetLastSpeed(v, 0);
HideFillingPercent(&v->fill_percent_te_id);
ReverseTrainDirection(v);
}
}

View File

@ -643,8 +643,7 @@ void Vehicle::PreDestructor()
if (IsValidStationID(this->last_station_visited)) {
GetStation(this->last_station_visited)->loading_vehicles.remove(this);
HideFillingPercent(this->fill_percent_te_id);
this->fill_percent_te_id = INVALID_TE_ID;
HideFillingPercent(&this->fill_percent_te_id);
}
if (IsEngineCountable(this)) {
@ -2533,8 +2532,7 @@ void Vehicle::LeaveStation()
Station *st = GetStation(this->last_station_visited);
st->loading_vehicles.remove(this);
HideFillingPercent(this->fill_percent_te_id);
this->fill_percent_te_id = INVALID_TE_ID;
HideFillingPercent(&this->fill_percent_te_id);
if (this->type == VEH_TRAIN) {
/* Trigger station animation (trains only) */