diff options
-rw-r--r-- | src/news_gui.cpp | 65 | ||||
-rw-r--r-- | src/news_type.h | 11 |
2 files changed, 32 insertions, 44 deletions
diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 7f697a599..fe7d4ceea 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -123,25 +123,25 @@ struct NewsSubtypeData { * Data common to all news items of a given subtype (actual data) */ static const NewsSubtypeData _news_subtype_data[] = { - /* type, display_mode, flags, callback */ - { NT_ARRIVAL_COMPANY, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_ARRIVAL_COMPANY - { NT_ARRIVAL_OTHER, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_ARRIVAL_OTHER - { NT_ACCIDENT, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_ACCIDENT - { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_TROUBLE - { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_MERGER - { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_BANKRUPT - { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_NEW - { NT_INDUSTRY_OPEN, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_INDUSTRY_OPEN - { NT_INDUSTRY_CLOSE, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_INDUSTRY_CLOSE - { NT_ECONOMY, NM_NORMAL, NF_NONE, NULL }, ///< NS_ECONOMY - { NT_INDUSTRY_COMPANY, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_INDUSTRY_COMPANY - { NT_INDUSTRY_OTHER, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_INDUSTRY_OTHER - { NT_INDUSTRY_NOBODY, NM_THIN, NF_VIEWPORT, NULL }, ///< NS_INDUSTRY_NOBODY - { NT_ADVICE, NM_SMALL, NF_VIEWPORT, NULL }, ///< NS_ADVICE - { NT_NEW_VEHICLES, NM_NORMAL, NF_NONE, DrawNewsNewVehicleAvail }, ///< NS_NEW_VEHICLES - { NT_ACCEPTANCE, NM_SMALL, NF_VIEWPORT, NULL }, ///< NS_ACCEPTANCE - { NT_SUBSIDIES, NM_NORMAL, NF_NONE, NULL }, ///< NS_SUBSIDIES - { NT_GENERAL, NM_NORMAL, NF_NONE, NULL }, ///< NS_GENERAL + /* type, display_mode, flags, callback */ + { NT_ARRIVAL_COMPANY, NM_THIN, NF_NONE, NULL }, ///< NS_ARRIVAL_COMPANY + { NT_ARRIVAL_OTHER, NM_THIN, NF_NONE, NULL }, ///< NS_ARRIVAL_OTHER + { NT_ACCIDENT, NM_THIN, NF_NONE, NULL }, ///< NS_ACCIDENT + { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_TROUBLE + { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_MERGER + { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_BANKRUPT + { NT_COMPANY_INFO, NM_NORMAL, NF_NONE, DrawNewsBankrupcy }, ///< NS_COMPANY_NEW + { NT_INDUSTRY_OPEN, NM_THIN, NF_NONE, NULL }, ///< NS_INDUSTRY_OPEN + { NT_INDUSTRY_CLOSE, NM_THIN, NF_NONE, NULL }, ///< NS_INDUSTRY_CLOSE + { NT_ECONOMY, NM_NORMAL, NF_NONE, NULL }, ///< NS_ECONOMY + { NT_INDUSTRY_COMPANY, NM_THIN, NF_NONE, NULL }, ///< NS_INDUSTRY_COMPANY + { NT_INDUSTRY_OTHER, NM_THIN, NF_NONE, NULL }, ///< NS_INDUSTRY_OTHER + { NT_INDUSTRY_NOBODY, NM_THIN, NF_NONE, NULL }, ///< NS_INDUSTRY_NOBODY + { NT_ADVICE, NM_SMALL, NF_NONE, NULL }, ///< NS_ADVICE + { NT_NEW_VEHICLES, NM_NORMAL, NF_NONE, DrawNewsNewVehicleAvail }, ///< NS_NEW_VEHICLES + { NT_ACCEPTANCE, NM_SMALL, NF_NONE, NULL }, ///< NS_ACCEPTANCE + { NT_SUBSIDIES, NM_NORMAL, NF_NONE, NULL }, ///< NS_SUBSIDIES + { NT_GENERAL, NM_NORMAL, NF_NONE, NULL }, ///< NS_GENERAL }; assert_compile(lengthof(_news_subtype_data) == NS_END); @@ -231,7 +231,7 @@ struct NewsWindow : Window { SetDParam(0, this->ni->date); DrawString(2, this->width - 2, 1, STR_DATE_LONG_SMALL, TC_FROMSTRING, SA_RIGHT); - if (!(this->ni->flags & NF_VIEWPORT)) { + if (display_mode == NM_NORMAL) { CopyInDParam(0, this->ni->params, lengthof(this->ni->params)); DrawStringMultiLine(2, this->width - 2, 20, this->height, this->ni->string_id, TC_FROMSTRING, SA_CENTER); } else { @@ -256,14 +256,9 @@ struct NewsWindow : Window { case NM_SMALL: this->DrawWidgets(); - if (!(this->ni->flags & NF_VIEWPORT)) { - CopyInDParam(0, this->ni->params, lengthof(this->ni->params)); - DrawStringMultiLine(2, 278, 38, this->ni->string_id, SA_CENTER); - } else { - this->DrawViewport(); - CopyInDParam(0, this->ni->params, lengthof(this->ni->params)); - DrawStringMultiLine(2, this->width - 2, 64, this->height, this->ni->string_id, TC_FROMSTRING, SA_CENTER); - } + this->DrawViewport(); + CopyInDParam(0, this->ni->params, lengthof(this->ni->params)); + DrawStringMultiLine(2, this->width - 2, 64, this->height, this->ni->string_id, TC_FROMSTRING, SA_CENTER); break; default: NOT_REACHED(); @@ -430,28 +425,22 @@ static void ShowNewspaper(NewsItem *ni) case NM_NORMAL: _normal_news_desc.top = top; w = new NewsWindow(&_normal_news_desc, ni); - if (ni->flags & NF_VIEWPORT) { - InitializeWindowViewport(w, 2, 58, 426, 110, - ni->reftype1 == NR_VEHICLE ? 0x80000000 | ni->ref1 : GetReferenceTile(ni->reftype1, ni->ref1), ZOOM_LVL_NEWS); - } break; case NM_THIN: _thin_news_desc.top = top; w = new NewsWindow(&_thin_news_desc, ni); - if (ni->flags & NF_VIEWPORT) { - InitializeWindowViewport(w, 2, 58, 426, 70, + + InitializeWindowViewport(w, 2, 58, 426, 70, ni->reftype1 == NR_VEHICLE ? 0x80000000 | ni->ref1 : GetReferenceTile(ni->reftype1, ni->ref1), ZOOM_LVL_NEWS); - } break; case NM_SMALL: _smalll_news_desc.top = top; w = new NewsWindow(&_smalll_news_desc, ni); - if (ni->flags & NF_VIEWPORT) { - InitializeWindowViewport(w, 3, 17, 274, 47, + + InitializeWindowViewport(w, 3, 17, 274, 47, ni->reftype1 == NR_VEHICLE ? 0x80000000 | ni->ref1 : GetReferenceTile(ni->reftype1, ni->ref1), ZOOM_LVL_NEWS); - } break; default: NOT_REACHED(); diff --git a/src/news_type.h b/src/news_type.h index 189369e78..996f6d192 100644 --- a/src/news_type.h +++ b/src/news_type.h @@ -61,9 +61,9 @@ enum NewsSubtype { * News mode. */ enum NewsMode { - NM_SMALL = 0, ///< Show only a small popup informing us about vehicle age for example - NM_NORMAL = 1, ///< Show a simple news message (height 170 pixels) - NM_THIN = 2, ///< Show a simple news message (height 130 pixels) + NM_SMALL = 0, ///< Show only a small popup informing us about vehicle age for example, with a viewport. + NM_NORMAL = 1, ///< Show a simple news message without viewport (height 170 pixels). + NM_THIN = 2, ///< Show a simple news message with a viewport (height 130 pixels). }; /** @@ -87,12 +87,11 @@ enum NewsReferenceType { /** * Various OR-able news-item flags. - * note: NF_INCOLOUR is set automatically if needed + * @note #NF_INCOLOUR is set automatically if needed. */ enum NewsFlag { NF_NONE = 0, ///< No flag is set. - NF_VIEWPORT = 1 << 1, ///< Does the news message have a viewport? (ingame picture of happening) - NF_INCOLOUR = 1 << 2, ///< Show the newsmessage in colour, otherwise it defaults to black & white + NF_INCOLOUR = 1 << 0, ///< Show the newsmessage in colour, otherwise it defaults to black & white. }; DECLARE_ENUM_AS_BIT_SET(NewsFlag); |