news.h
changeset 4873 7cb19235cf60
parent 4344 5d0e40cd67b9
child 4874 b95cdd66085f
equal deleted inserted replaced
4872:927103a84282 4873:7cb19235cf60
    28 void DrawNewsBorder(const Window *w);
    28 void DrawNewsBorder(const Window *w);
    29 void InitNewsItemStructs(void);
    29 void InitNewsItemStructs(void);
    30 
    30 
    31 VARDEF NewsItem _statusbar_news_item;
    31 VARDEF NewsItem _statusbar_news_item;
    32 
    32 
    33 enum {
    33 enum NewsType {
    34 	NT_ARRIVAL_PLAYER = 0,
    34 	NT_ARRIVAL_PLAYER = 0,
    35 	NT_ARRIVAL_OTHER  = 1,
    35 	NT_ARRIVAL_OTHER  = 1,
    36 	NT_ACCIDENT       = 2,
    36 	NT_ACCIDENT       = 2,
    37 	NT_COMPANY_INFO   = 3,
    37 	NT_COMPANY_INFO   = 3,
    38 	NT_ECONOMY        = 4,
    38 	NT_ECONOMY        = 4,
    42 	NT_SUBSIDIES      = 8,
    42 	NT_SUBSIDIES      = 8,
    43 	NT_GENERAL        = 9,
    43 	NT_GENERAL        = 9,
    44 };
    44 };
    45 
    45 
    46 enum NewsMode {
    46 enum NewsMode {
    47 	NM_SMALL    = 0,
    47 	NM_SMALL    = 0, ///< Show only a small popup informing us about vehicle age for example
    48 	NM_NORMAL   = 1,
    48 	NM_NORMAL   = 1, ///< Show a simple news message (height 170 pixels)
    49 	NM_THIN     = 2,
    49 	NM_THIN     = 2, ///< Show a simple news message (height 130 pixels)
    50 	NM_CALLBACK = 3,
    50 	NM_CALLBACK = 3, ///< Do some special processing before displaying news message. Which callback to call is in NewsCallback
    51 };
    51 };
    52 
    52 
    53 enum NewsFlags {
    53 enum NewsFlags {
    54 	NF_VIEWPORT  = 0x01,
    54 	NF_VIEWPORT  = (1 << 1), ///< Does the news message have a viewport? (ingame picture of happening)
    55 	NF_TILE      = 0x04,
    55 	NF_TILE      = (1 << 2), ///< When clicked on the news message scroll to a given tile? Tile is in data_a/data_b
    56 	NF_VEHICLE   = 0x08,
    56 	NF_VEHICLE   = (1 << 3), ///< When clicked on the message scroll to the vehicle? VehicleID is in data_a
    57 	NF_FORCE_BIG = 0x10,
    57 	NF_FORCE_BIG = (1 << 4), ///< Force the appearance of a news message if it has already been shown (internal)
    58 	NF_NOEXPIRE  = 0x20,
    58 	NF_NOEXPIRE  = (1 << 5), ///< Some flag that I think is already deprecated
    59 	NF_INCOLOR   = 0x40,
    59 	NF_INCOLOR   = (1 << 6), ///< Show the newsmessage in colour, otherwise it defaults to black & white
    60 };
    60 };
    61 
    61 
    62 enum {
    62 enum NewsCallback {
    63 	DNC_TRAINAVAIL    = 0,
    63 	DNC_TRAINAVAIL    = 0, ///< Show new train available message. StringID is EngineID
    64 	DNC_ROADAVAIL     = 1,
    64 	DNC_ROADAVAIL     = 1, ///< Show new road vehicle available message. StringID is EngineID
    65 	DNC_SHIPAVAIL     = 2,
    65 	DNC_SHIPAVAIL     = 2, ///< Show new ship available message. StringID is EngineID
    66 	DNC_AIRCRAFTAVAIL = 3,
    66 	DNC_AIRCRAFTAVAIL = 3, ///< Show new aircraft available message. StringID is EngineID
    67 	DNC_BANKRUPCY     = 4,
    67 	DNC_BANKRUPCY     = 4, ///< Show bankrupcy message. StringID is PlayerID (0-3) and NewsBankrupcy (4-7)
       
    68 };
       
    69 
       
    70 enum NewsBankrupcy {
       
    71 	NB_BTROUBLE    = (1 << 4), ///< Company is in trouble (warning)
       
    72 	NB_BMERGER     = (2 << 4), ///< Company has been bought by another company
       
    73 	NB_BBANKRUPT   = (3 << 4), ///< Company has gone bankrupt
       
    74 	NB_BNEWCOMPANY = (4 << 4), ///< A new company has been started
    68 };
    75 };
    69 
    76 
    70 /**
    77 /**
    71  * Delete a news item type about a vehicle
    78  * Delete a news item type about a vehicle
    72  * if the news item type is INVALID_STRING_ID all news about the vehicle get
    79  * if the news item type is INVALID_STRING_ID all news about the vehicle get