Changeset - r26058:9afbed473ec3
[Not reviewed]
master
0 8 0
Guillaume Renoult - 3 years ago 2021-11-07 18:54:50
guillaume.renoult@gmail.com
Update: add setting to hide news about competitors vehicle crash (#9653)
8 files changed with 31 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/aircraft_cmd.cpp
Show inline comments
 
@@ -1338,13 +1338,18 @@ static void CrashAirplane(Aircraft *v)
 
		vt = v->tile;
 
	}
 

	
 
	AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, vt, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING));
 
	Game::NewEvent(new ScriptEventVehicleCrashed(v->index, vt, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING));
 

	
 
	AddTileNewsItem(newsitem, NT_ACCIDENT, vt, nullptr, st != nullptr ? st->index : INVALID_STATION);
 
	NewsType newstype = NT_ACCIDENT;
 
	if (v->owner != _local_company) {
 
		newstype = NT_ACCIDENT_OTHER;
 
	}
 

	
 
	AddTileNewsItem(newsitem, newstype, vt, nullptr, st != nullptr ? st->index : INVALID_STATION);
 

	
 
	ModifyStationRatingAround(vt, v->owner, -160, 30);
 
	if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v);
 
}
 

	
 
/**
src/lang/english.txt
Show inline comments
 
@@ -1740,12 +1740,15 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VE
 
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER             :Arrival of first vehicle at competitor's station: {STRING2}
 
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT    :Display a newspaper when the first vehicle arrives at a new competitor's station
 

	
 
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS                     :Accidents / disasters: {STRING2}
 
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT            :Display a newspaper when accidents or disasters occur
 

	
 
STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER                          :Accidents of competitor's vehicles: {STRING2}
 
STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT                 :Display a newspaper about crashed vehicles for competitors
 

	
 
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION                     :Company information: {STRING2}
 
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT            :Display a newspaper when a new company starts, or when companies are risking to bankrupt
 

	
 
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN                           :Opening of industries: {STRING2}
 
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT                  :Display a newspaper when new industries open
 

	
src/news_gui.cpp
Show inline comments
 
@@ -228,12 +228,13 @@ WindowDesc* GetNewsWindowLayout(NewsFlag
 
 */
 
static NewsTypeData _news_type_data[] = {
 
	/*            name,                           age, sound,          */
 
	NewsTypeData("news_display.arrival_player",    60, SND_1D_APPLAUSE ),  ///< NT_ARRIVAL_COMPANY
 
	NewsTypeData("news_display.arrival_other",     60, SND_1D_APPLAUSE ),  ///< NT_ARRIVAL_OTHER
 
	NewsTypeData("news_display.accident",          90, SND_BEGIN       ),  ///< NT_ACCIDENT
 
	NewsTypeData("news_display.accident_other",    90, SND_BEGIN       ),  ///< NT_ACCIDENT_OTHER
 
	NewsTypeData("news_display.company_info",      60, SND_BEGIN       ),  ///< NT_COMPANY_INFO
 
	NewsTypeData("news_display.open",              90, SND_BEGIN       ),  ///< NT_INDUSTRY_OPEN
 
	NewsTypeData("news_display.close",             90, SND_BEGIN       ),  ///< NT_INDUSTRY_CLOSE
 
	NewsTypeData("news_display.economy",           30, SND_BEGIN       ),  ///< NT_ECONOMY
 
	NewsTypeData("news_display.production_player", 30, SND_BEGIN       ),  ///< NT_INDUSTRY_COMPANY
 
	NewsTypeData("news_display.production_other",  30, SND_BEGIN       ),  ///< NT_INDUSTRY_OTHER
src/news_type.h
Show inline comments
 
@@ -19,12 +19,13 @@
 
 * Type of news.
 
 */
 
enum NewsType {
 
	NT_ARRIVAL_COMPANY, ///< First vehicle arrived for company
 
	NT_ARRIVAL_OTHER,   ///< First vehicle arrived for competitor
 
	NT_ACCIDENT,        ///< An accident or disaster has occurred
 
	NT_ACCIDENT_OTHER,  ///< An accident or disaster has occurred
 
	NT_COMPANY_INFO,    ///< Company info (new companies, bankruptcy messages)
 
	NT_INDUSTRY_OPEN,   ///< Opening of industries
 
	NT_INDUSTRY_CLOSE,  ///< Closing of industries
 
	NT_ECONOMY,         ///< Economic changes (recession, industry up/dowm)
 
	NT_INDUSTRY_COMPANY,///< Production changes of industry serviced by local company
 
	NT_INDUSTRY_OTHER,  ///< Production changes of industry serviced by competitor(s)
src/roadveh_cmd.cpp
Show inline comments
 
@@ -550,13 +550,19 @@ static void RoadVehCrash(RoadVehicle *v)
 

	
 
	AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, v->tile, ScriptEventVehicleCrashed::CRASH_RV_LEVEL_CROSSING));
 
	Game::NewEvent(new ScriptEventVehicleCrashed(v->index, v->tile, ScriptEventVehicleCrashed::CRASH_RV_LEVEL_CROSSING));
 

	
 
	SetDParam(0, pass);
 
	StringID newsitem = (pass == 1) ? STR_NEWS_ROAD_VEHICLE_CRASH_DRIVER : STR_NEWS_ROAD_VEHICLE_CRASH;
 
	AddTileNewsItem(newsitem, NT_ACCIDENT, v->tile);
 
	NewsType newstype = NT_ACCIDENT;
 

	
 
	if (v->owner != _local_company) {
 
		newstype = NT_ACCIDENT_OTHER;
 
	}
 

	
 
	AddTileNewsItem(newsitem, newstype, v->tile);
 

	
 
	ModifyStationRatingAround(v->tile, v->owner, -160, 22);
 
	if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v);
 
}
 

	
 
static bool RoadVehCheckTrainCrash(RoadVehicle *v)
src/settings_gui.cpp
Show inline comments
 
@@ -1645,12 +1645,13 @@ static SettingsContainer &GetSettingsTre
 
		SettingsPage *advisors = main->Add(new SettingsPage(STR_CONFIG_SETTING_ADVISORS));
 
		{
 
			advisors->Add(new SettingEntry("gui.coloured_news_year"));
 
			advisors->Add(new SettingEntry("news_display.general"));
 
			advisors->Add(new SettingEntry("news_display.new_vehicles"));
 
			advisors->Add(new SettingEntry("news_display.accident"));
 
			advisors->Add(new SettingEntry("news_display.accident_other"));
 
			advisors->Add(new SettingEntry("news_display.company_info"));
 
			advisors->Add(new SettingEntry("news_display.acceptance"));
 
			advisors->Add(new SettingEntry("news_display.arrival_player"));
 
			advisors->Add(new SettingEntry("news_display.arrival_other"));
 
			advisors->Add(new SettingEntry("news_display.advice"));
 
			advisors->Add(new SettingEntry("gui.order_review_system"));
src/settings_type.h
Show inline comments
 
@@ -239,12 +239,13 @@ struct LocaleSettings {
 

	
 
/** Settings related to news */
 
struct NewsSettings {
 
	uint8 arrival_player;                                 ///< NewsDisplay of vehicles arriving at new stations of current player
 
	uint8 arrival_other;                                  ///< NewsDisplay of vehicles arriving at new stations of other players
 
	uint8 accident;                                       ///< NewsDisplay of accidents that occur
 
	uint8 accident_other;                                 ///< NewsDisplay if a vehicle from another company is involved in an accident
 
	uint8 company_info;                                   ///< NewsDisplay of general company information
 
	uint8 open;                                           ///< NewsDisplay on new industry constructions
 
	uint8 close;                                          ///< NewsDisplay about closing industries
 
	uint8 economy;                                        ///< NewsDisplay on economical changes
 
	uint8 production_player;                              ///< NewsDisplay of production changes of industries affecting current player
 
	uint8 production_other;                               ///< NewsDisplay of production changes of industries affecting competitors
src/table/settings/news_display_settings.ini
Show inline comments
 
@@ -65,12 +65,23 @@ max      = 2
 
full     = _news_display
 
str      = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS
 
strhelp  = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT
 
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 

	
 
[SDTC_OMANY]
 
var      = news_display.accident_other
 
type     = SLE_UINT8
 
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 
def      = 2
 
max      = 2
 
full     = _news_display
 
str      = STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER
 
strhelp  = STR_CONFIG_SETTING_NEWS_ACCIDENT_OTHER_HELPTEXT
 
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 

	
 
[SDTC_OMANY]
 
var      = news_display.company_info
 
type     = SLE_UINT8
 
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 
def      = 2
 
max      = 2
 
full     = _news_display
0 comments (0 inline, 0 general)