1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-29 01:19:11 +00:00

(svn r1167) Feature: Added the possibility to add validation functions to NewsItems. This is now done for "Train in depot" messages. Before displaying such a message, it checks if the train really still is in the depot. Can be applied to other news items as well.

This commit is contained in:
dominik
2004-12-19 09:39:19 +00:00
parent cf89cb12cd
commit bb5dca016d
3 changed files with 34 additions and 6 deletions

View File

@@ -2546,6 +2546,16 @@ void Train_Tick(Vehicle *v)
static const byte _depot_track_ind[4] = {0,1,0,1};
// Validation for the news item "Train is waiting in depot"
bool ValidateTrainInDepot( uint data_a, uint data_b )
{
Vehicle *v = &_vehicles[data_a];
if (v->u.rail.track == 0x80 && (v->vehstatus | VS_STOPPED))
return true;
else
return false;
}
void TrainEnterDepot(Vehicle *v, uint tile)
{
SetSignalsOnBothDir(tile, _depot_track_ind[_map5[tile]&3]);
@@ -2580,11 +2590,12 @@ void TrainEnterDepot(Vehicle *v, uint tile)
v->vehstatus |= VS_STOPPED;
if (v->owner == _local_player) {
SetDParam(0, v->unitnumber);
AddNewsItem(
AddValidatedNewsItem(
STR_8814_TRAIN_IS_WAITING_IN_DEPOT,
NEWS_FLAGS(NM_SMALL, NF_VIEWPORT|NF_VEHICLE, NT_ADVICE, 0),
v->index,
0);
0,
ValidateTrainInDepot);
}
}
}