Files @ r24754:d4186fe759b7
Branch filter:

Location: cpp/openttd-patchpack/source/src/table/company_settings.ini

Michael Lutz
Codechange: Don't use cpp_offsetof in the TTO/TTD savegame loader.

Many of the member variables that are used in the oldloader are inside types
that are not standard layout types. Using pointer arithmetics to determine
addresses of members inside types that are not standard layout is generally
undefined behaviour. If we'd use C++17, it is conditionally supported, which means
each compiler may or may not support it. And even then using it for individual
array elements is syntactically not supported the the standard offsetof function.
; 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 <http://www.gnu.org/licenses/>.
;

[pre-amble]
static bool CheckInterval(int32 p1);
static bool InvalidateDetailsWindow(int32 p1);
static bool UpdateIntervalTrains(int32 p1);
static bool UpdateIntervalRoadVeh(int32 p1);
static bool UpdateIntervalShips(int32 p1);
static bool UpdateIntervalAircraft(int32 p1);

static const SettingDesc _company_settings[] = {
[post-amble]
};
[templates]
SDT_BOOL = SDT_BOOL($base, $var,        $flags, $guiflags, $def,                        $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDT_VAR  =  SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDT_END  = SDT_END()

[defaults]
flags    = 0
guiflags = SGF_PER_COMPANY
interval = 0
str      = STR_NULL
strhelp  = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
strval   = STR_NULL
proc     = nullptr
load     = nullptr
from     = SL_MIN_VERSION
to       = SL_MAX_VERSION
cat      = SC_ADVANCED



[SDT_BOOL]
base     = CompanySettings
var      = engine_renew
def      = true
str      = STR_CONFIG_SETTING_AUTORENEW_VEHICLE
strhelp  = STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT
cat      = SC_BASIC

[SDT_VAR]
base     = CompanySettings
var      = engine_renew_months
type     = SLE_INT16
guiflags = SGF_PER_COMPANY | SGF_DISPLAY_ABS
def      = 6
min      = -12
max      = 12
str      = STR_CONFIG_SETTING_AUTORENEW_MONTHS
strhelp  = STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT
strval   = STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE

[SDT_VAR]
base     = CompanySettings
var      = engine_renew_money
type     = SLE_UINT
guiflags = SGF_PER_COMPANY | SGF_CURRENCY
def      = 100000
min      = 0
max      = 2000000
str      = STR_CONFIG_SETTING_AUTORENEW_MONEY
strhelp  = STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT
strval   = STR_JUST_CURRENCY_LONG

[SDT_BOOL]
base     = CompanySettings
var      = renew_keep_length
def      = false

[SDT_BOOL]
base     = CompanySettings
var      = vehicle.servint_ispercent
def      = false
str      = STR_CONFIG_SETTING_SERVINT_ISPERCENT
strhelp  = STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT
proc     = CheckInterval

[SDT_VAR]
base     = CompanySettings
var      = vehicle.servint_trains
type     = SLE_UINT16
guiflags = SGF_PER_COMPANY | SGF_0ISDISABLED
def      = 150
min      = 5
max      = 800
str      = STR_CONFIG_SETTING_SERVINT_TRAINS
strhelp  = STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT
strval   = STR_CONFIG_SETTING_SERVINT_VALUE
proc     = UpdateIntervalTrains

[SDT_VAR]
base     = CompanySettings
var      = vehicle.servint_roadveh
type     = SLE_UINT16
guiflags = SGF_PER_COMPANY | SGF_0ISDISABLED
def      = 150
min      = 5
max      = 800
str      = STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES
strhelp  = STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT
strval   = STR_CONFIG_SETTING_SERVINT_VALUE
proc     = UpdateIntervalRoadVeh

[SDT_VAR]
base     = CompanySettings
var      = vehicle.servint_ships
type     = SLE_UINT16
guiflags = SGF_PER_COMPANY | SGF_0ISDISABLED
def      = 360
min      = 5
max      = 800
str      = STR_CONFIG_SETTING_SERVINT_SHIPS
strhelp  = STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT
strval   = STR_CONFIG_SETTING_SERVINT_VALUE
proc     = UpdateIntervalShips

[SDT_VAR]
base     = CompanySettings
var      = vehicle.servint_aircraft
type     = SLE_UINT16
guiflags = SGF_PER_COMPANY | SGF_0ISDISABLED
def      = 100
min      = 5
max      = 800
str      = STR_CONFIG_SETTING_SERVINT_AIRCRAFT
strhelp  = STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT
strval   = STR_CONFIG_SETTING_SERVINT_VALUE
proc     = UpdateIntervalAircraft

[SDT_END]


};