(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:
12
news.h
12
news.h
@@ -14,20 +14,26 @@ struct NewsItem {
|
||||
TileIndex data_b;
|
||||
|
||||
uint32 params[10];
|
||||
|
||||
/* The validation functions for news items get called immediately
|
||||
* before the news are supposed to be shown. If this funcion returns
|
||||
* false, the news item won't be displayed. */
|
||||
bool (*isValid) ( uint data_a, uint data_b );
|
||||
};
|
||||
|
||||
typedef bool ValidationProc ( uint data_a, uint data_b );
|
||||
typedef void DrawNewsCallbackProc(Window *w);
|
||||
typedef StringID GetNewsStringCallbackProc(NewsItem *ni);
|
||||
|
||||
#define NEWS_FLAGS(mode,flag,type,cb) ((cb)<<24 | (type)<<16 | (flag)<<8 | (mode))
|
||||
void AddNewsItem(StringID string, uint32 flags, uint data_a, uint data_b);
|
||||
void AddValidatedNewsItem(StringID string, uint32 flags, uint data_a, uint data_b, ValidationProc *validation);
|
||||
void NewsLoop(void);
|
||||
void DrawNewsBorder(const Window *w);
|
||||
void InitNewsItemStructs(void);
|
||||
|
||||
VARDEF NewsItem _statusbar_news_item;
|
||||
|
||||
typedef void DrawNewsCallbackProc(Window *w);
|
||||
typedef StringID GetNewsStringCallbackProc(NewsItem *ni);
|
||||
|
||||
enum {
|
||||
NT_ARRIVAL_PLAYER = 0,
|
||||
NT_ARRIVAL_OTHER = 1,
|
||||
|
||||
Reference in New Issue
Block a user