equal
deleted
inserted
replaced
|
1 #ifndef NEWS_H |
|
2 #define NEWS_H |
|
3 |
|
4 struct NewsItem { |
|
5 StringID string_id; |
|
6 uint16 duration; |
|
7 uint16 date; |
|
8 byte flags; |
|
9 byte display_mode; |
|
10 byte type; |
|
11 byte callback; |
|
12 |
|
13 TileIndex data_a; |
|
14 TileIndex data_b; |
|
15 |
|
16 uint32 params[10]; |
|
17 }; |
|
18 |
|
19 |
|
20 #define NEWS_FLAGS(mode,flag,type,cb) ((cb)<<24 | (type)<<16 | (flag)<<8 | (mode)) |
|
21 void AddNewsItem(StringID string, uint32 flags, uint data_a, uint data_b); |
|
22 void NewsLoop(); |
|
23 void DrawNewsBorder(Window *w); |
|
24 void InitNewsItemStructs(); |
|
25 |
|
26 VARDEF NewsItem _statusbar_news_item; |
|
27 |
|
28 typedef void DrawNewsCallbackProc(Window *w); |
|
29 typedef StringID GetNewsStringCallbackProc(NewsItem *ni); |
|
30 |
|
31 enum { |
|
32 NT_ARRIVAL_PLAYER = 0, |
|
33 NT_ARRIVAL_OTHER = 1, |
|
34 NT_ACCIDENT = 2, |
|
35 NT_COMPANY_INFO = 3, |
|
36 NT_ECONOMY = 4, |
|
37 NT_ADVICE = 5, |
|
38 NT_NEW_VEHICLES = 6, |
|
39 NT_ACCEPTANCE = 7, |
|
40 NT_SUBSIDIES = 8, |
|
41 NT_GENERAL = 9, |
|
42 }; |
|
43 |
|
44 enum NewsMode { |
|
45 NM_SMALL = 0, |
|
46 NM_NORMAL = 1, |
|
47 NM_THIN = 2, |
|
48 NM_CALLBACK = 3, |
|
49 }; |
|
50 |
|
51 enum NewsFlags { |
|
52 NF_VIEWPORT = 1, |
|
53 NF_TILE = 4, |
|
54 NF_VEHICLE = 8, |
|
55 NF_FORCE_BIG = 0x10, |
|
56 NF_NOEXPIRE = 0x20, |
|
57 NF_INCOLOR = 0x40, |
|
58 }; |
|
59 |
|
60 enum { |
|
61 DNC_TRAINAVAIL = 0, |
|
62 DNC_ROADAVAIL = 1, |
|
63 DNC_SHIPAVAIL = 2, |
|
64 DNC_AIRCRAFTAVAIL = 3, |
|
65 DNC_BANKRUPCY = 4, |
|
66 }; |
|
67 |
|
68 #endif /* NEWS_H */ |