; This file is part of OpenTTD.
; OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
; OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
; See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
;

; News display settings as stored in the main configuration file ("openttd.cfg").

[pre-amble]
static constexpr std::initializer_list<std::string_view> _news_display{"off"sv, "summarized"sv, "full"sv};

static const SettingVariant _news_display_settings_table[] = {
[post-amble]
};
[templates]
SDTC_OMANY = SDTC_OMANY(              $var, $type, SettingFlags({$flags}), $def,             $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to,        $cat, $extra, $startup),

[validation]
SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");

[defaults]
flags    =
interval = 0
str      = STR_NULL
strhelp  = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
strval   = STR_NULL
pre_cb   = nullptr
post_cb  = nullptr
str_cb   = nullptr
help_cb  = nullptr
val_cb   = nullptr
def_cb   = nullptr
load     = nullptr
from     = SL_MIN_VERSION
to       = SL_MAX_VERSION
cat      = SC_ADVANCED
extra    = 0
startup  = false


[SDTC_OMANY]
var      = news_display.arrival_player
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN
strhelp  = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.arrival_other
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER
strhelp  = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.accident
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
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    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
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    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION
strhelp  = STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.open
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.close
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.economy
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES
strhelp  = STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.production_player
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.production_other
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 0
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.production_nobody
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 0
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.advice
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ADVICE
strhelp  = STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.new_vehicles
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_NEW_VEHICLES
strhelp  = STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.acceptance
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE
strhelp  = STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.subsidies
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_SUBSIDIES
strhelp  = STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.general
type     = SLE_UINT8
flags    = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION
strhelp  = STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

