Functions | Variables

# news_func.h File Reference

Functions related to news. More...

`#include "news_type.h"`
`#include "vehicle_type.h"`
`#include "station_type.h"`
`#include "industry_type.h"`

Go to the source code of this file.

## Functions
void | AddNewsItem (StringID string, NewsSubtype subtype, NewsReferenceType reftype1=NR_NONE, uint32 ref1=UINT32_MAX, NewsReferenceType reftype2=NR_NONE, uint32 ref2=UINT32_MAX, void *free_data=NULL)
| Add a new newsitem to be shown.
static void | AddCompanyNewsItem (StringID string, NewsSubtype subtype, CompanyNewsInformation *cni)
static void | AddVehicleNewsItem (StringID string, NewsSubtype subtype, VehicleID vehicle, StationID station=INVALID_STATION)
| Adds a newsitem referencing a vehicle.
static void | AddIndustryNewsItem (StringID string, NewsSubtype subtype, IndustryID industry)
void | NewsLoop ()
void | InitNewsItemStructs ()
| Initialize the news-items data structures.
void | DeleteInvalidEngineNews ()
| Remove engine announcements for invalid engines.
void | DeleteVehicleNews (VehicleID vid, StringID news)
| Delete a news item type about a vehicle.
void | DeleteStationNews (StationID sid)
| Remove news regarding given station so there are no 'unknown station now accepts Mail' or 'First train arrived at unknown station' news items.
void | DeleteIndustryNews (IndustryID iid)
| Remove news regarding given industry.
## Variables
const NewsItem * | _statusbar_news_item
bool | _news_ticker_sound
| Make a ticker sound when a news item is published.
NewsTypeData | _news_type_data []
| Per-NewsType data.

## Detailed Description

Functions related to news.

Definition in file news_func.h.

## Function Documentation

void AddNewsItem | ( | StringID | string,
|  | NewsSubtype | subtype,
|  | NewsReferenceType | reftype1,
|  | uint32 | ref1,
|  | NewsReferenceType | reftype2,
|  | uint32 | ref2,
|  | void * | free_data |
| ) |  |  |

Add a new newsitem to be shown.

Parameters:

  | string | String to display
  | subtype | news category, any of the NewsSubtype enums (NS_)
  | reftype1 | Type of ref1
  | ref1 | Reference 1 to some object: Used for a possible viewport, scrolling after clicking on the news, and for deleteing the news when the object is deleted.
  | reftype2 | Type of ref2
  | ref2 | Reference 2 to some object: Used for scrolling after clicking on the news, and for deleteing the news when the object is deleted.
  | free_data | Pointer to data that must be freed once the news message is cleared

See also:
  NewsSubtype

Definition at line 673 of file news_gui.cpp.

References _cur_year, _date, _settings_client, _total_news, GUISettings::coloured_news_year, CopyOutDParam(), NewsItem::date, NewsSubtypeData::flags, NewsItem::flags, NewsItem::free_data, ClientSettings::gui, lengthof, NewsItem::next, NewsItem::params, NewsItem::prev, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, NewsItem::reftype2, SetWindowDirty(), NewsItem::string_id, NewsItem::subtype, and WC_MESSAGE_HISTORY.

Referenced by AddVehicleNewsItem(), Subsidy::AwardTo(), ChangeIndustryProduction(), CheckSwitchToEuro(), CmdCustomNewsItem(), CmdFoundTown(), CreateSubsidy(), Disaster_CoalMine_Init(), DisasterTick_Big_Ufo(), GenerateCompanyName(), NewVehicleAvailable(), ShowRejectOrAcceptNews(), and SubsidyMonthlyLoop().

static void AddVehicleNewsItem | ( | StringID | string,
|  | NewsSubtype | subtype,
|  | VehicleID | vehicle,
|  | StationID | station = `INVALID_STATION` |
| ) |  |  | `[inline, static]`

Adds a newsitem referencing a vehicle.

Warning:
  Be careful! Vehicles are a special case, as news are kept when vehicles are autoreplaced/renewed. You have to make sure, ChangeVehicleNews catches the DParams of your message. This is NOT ensured by the references.

Definition at line 36 of file news_func.h.

References AddNewsItem(), NR_NONE, NR_STATION, and NR_VEHICLE.

Referenced by AgeVehicle(), AircraftEntersTerminal(), AircraftHandleDestTooFar(), CheckOrders(), CheckTrainCollision(), CrashAirplane(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), FloodVehicle(), Vehicle::HandlePathfindingResult(), RoadVehArrivesAt(), ShipArrivesAt(), TrainEnterStation(), and VehicleEnterDepot().

void DeleteIndustryNews | ( | IndustryID | iid | ) |

Remove news regarding given industry.

Parameters:

  | iid | industry to remove news about

Definition at line 877 of file news_gui.cpp.

References DeleteNewsItem(), NewsItem::next, NR_INDUSTRY, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, and NewsItem::reftype2.

void DeleteStationNews | ( | StationID | sid | ) |

Remove news regarding given station so there are no 'unknown station now accepts Mail' or 'First train arrived at unknown station' news items.

Parameters:

  | sid | station to remove news about

Definition at line 860 of file news_gui.cpp.

References DeleteNewsItem(), NewsItem::next, NR_STATION, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, and NewsItem::reftype2.

Referenced by Station::~Station().

void DeleteVehicleNews | ( | VehicleID | vid,
|  | StringID | news |
| ) |  |  |

Delete a news item type about a vehicle.

When the news item type is INVALID_STRING_ID all news about the vehicle gets deleted.

Parameters:

  | vid | The vehicle to remove the news for.
  | news | The news type to remove.

Definition at line 841 of file news_gui.cpp.

References DeleteNewsItem(), INVALID_STRING_ID, NewsItem::next, NR_VEHICLE, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, NewsItem::reftype2, and NewsItem::string_id.

Referenced by AircraftHandleDestTooFar(), CmdStartStopVehicle(), DeleteOrderWarnings(), Vehicle::HandlePathfindingResult(), and Vehicle::~Vehicle().