The International Simutrans Forum

 

Author Topic: [RC 11.9] Loading fails too many intercity roads - also probably affects Standard  (Read 10999 times)

0 Members and 1 Guest are viewing this topic.

Offline killwater

  • *
  • Posts: 221
Hello
As in topic.
http://simutrans-germany.com/files/upload/1.sve

Moderator's note: this topic was moved from the Experimental board as it appears to arise in code not exclusive to Experimental and therefore be capable, in theory, of affecting Standard games where the pakset folder length or saved game path is too long.
« Last Edit: April 30, 2013, 11:34:21 PM by jamespetts »

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #1 on: March 15, 2013, 08:57:22 PM »
Hmm - this seems to be a corrupted saved game. In which version of Simutrans did you save it?

Offline killwater

  • *
  • Posts: 221
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #2 on: March 15, 2013, 09:02:17 PM »
112.2 I think.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #3 on: March 15, 2013, 09:30:00 PM »
This was a Standard save?

Offline killwater

  • *
  • Posts: 221
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #4 on: March 15, 2013, 09:35:14 PM »
No it was an experimental save. RC 11.9. It is the same every time I save.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #5 on: March 15, 2013, 09:40:50 PM »
Can you describe the steps that you used to create or load the game the saving of which results in this error? Also, what pakset were you using?

Offline killwater

  • *
  • Posts: 221
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #6 on: March 17, 2013, 10:32:24 AM »
Start a new game. Save game. Load and you can see error message.

Pak128.Britiain-ex-0.8.4

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #7 on: March 17, 2013, 12:17:44 PM »
Hmm - can't reproduce this, I'm afraid...

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #8 on: April 07, 2013, 04:32:00 AM »
It seems I also get the same error. On ver 11.9002 with pakset Pak128.Britiain-ex-0.8.4

http://simutrans-germany.com/files/upload/1.sve

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #9 on: April 07, 2013, 11:21:24 AM »
In what version did you save this game, may I ask?

Edit: This failure also occurs in 10.27 - this is more a failure of saving than loading: the saved game has somehow become corrupted.
« Last Edit: April 07, 2013, 11:28:01 AM by jamespetts »

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #10 on: April 07, 2013, 11:47:57 AM »
I saved this game in 11.9002, and the game is created in this version too.

When I start game I put intercity road length to 9999. Not sure if it is related.
« Last Edit: April 07, 2013, 11:58:17 AM by pwhk »

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #11 on: April 07, 2013, 01:31:35 PM »
May I ask:

(1) what were the other world generation settings;
(2) had you previously managed to save and load this game successfully, or was this the first time that you tried to load a game saved from this starting point; and
(3) do you have any autosaves of this game that work without failing on loading?

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #12 on: April 07, 2013, 03:04:01 PM »
1) If my memory serves me right, it should be like this:


(I am not too sure about climate settings, I think I should have winter snowline 5 in my attached save, but I am sure I have "Cities ignore height" on)

Indeed, when I actually start a game with above settings shown in the picture and save immediately, I cannot load this save after restarting Simutrans.

2) This is the first time I load the file, i.e. this game was never successfully loaded.

3) Sorry, but I don't have any autosaves for this game.
« Last Edit: April 07, 2013, 03:25:56 PM by pwhk »

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #13 on: April 07, 2013, 07:25:43 PM »
Hmm - this is very odd. Despite testing a number of times, I am unable to reproduce this error. Does generating a map using those settings reliably cause the problem to be reproduced?

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #14 on: April 08, 2013, 06:29:52 AM »
Could it be related to machine/CPU/memory/OS? In fact in my machine that number reads over 11k instead of titled "816".

My laptop has 4GB RAM running on Windows 7, if I remember that correctly. Possibly check later as I don't have my laptop nearby now.

EDIT: My laptop has 4GB RAM on Windows 7 Home Premium 32 bit. CPU: Intel Core 2 Duo T6600 2.2Ghz. Quite old actually.
I created 3 more maps using above settings, saved them separately, shut down Simutrans and start it again, and load them. All of them failed with same error.

EDIT 2: Maybe I should have attached the error image.

After getting the error, Simutrans hangs and I have to kill it with Task Manager.
« Last Edit: April 08, 2013, 03:23:32 PM by pwhk »

Offline killwater

  • *
  • Posts: 221
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #15 on: April 08, 2013, 03:46:25 PM »
I don't think so. I have 4GB RAM win7 too. Can you successfully save a game with other settings (mine is always corrupt)?

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #16 on: April 08, 2013, 09:48:45 PM »
Killwater - when you say that it is always corrupt - does this mean that you can reliably reproduce this problem?

Edit: Can you check whether you can reproduce this problem with the latest RC?
« Last Edit: April 08, 2013, 11:11:46 PM by jamespetts »

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #17 on: April 09, 2013, 11:37:48 AM »
Updated to 11.9003, the bug still persists  :-[

Tried smaller maps (256x256), reduce intercity road length to 200 and then 0, tried without timeline, save files still corrupt..

Offline Combuijs

  • Web Team
  • Devotee
  • *
  • Posts: 1392
  • Maintainer of maps.simutrans.com
    • Combuijs
  • Languages: EN, NL
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #18 on: April 09, 2013, 12:05:23 PM »
These kind of read errors are usually related to the item that is read just before the number of intercity roads. It probably over- or understretches its read, thereby causing the number of intercity roads to be read from the wrong number. Maybe James can have a look what is read just before the number of intercity roads.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #19 on: April 09, 2013, 12:44:41 PM »
This is extremely odd. I wonder whether it is related to multi-threading: I know that saving/loading is one of the (few) things that is multi-threaded. Have you also extracted the .dll file that comes with the executable into your Simutrans directory?

Incidentally, can you load games that you have saved in earlier versions?

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #20 on: April 09, 2013, 01:16:20 PM »
You mean pthreadVCE2.dll? Yes, I do extracted it and put it in the root of simutrans folder. Its size is 61952 bytes.

In fact, I don't think it is related to threading because it is always reproducible on my side...

Fortunately I have 10.11 here (in case there is problem in the cutting-edge version, which is true -.-), and 11.9003+pak 0.8.4 can load the save file created in 10.11+pak 0.8.3.
« Last Edit: April 09, 2013, 01:22:49 PM by pwhk »

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #21 on: April 09, 2013, 02:46:08 PM »
I have updated the .zip file here for the RC to include a single threaded version. Would you mind downloading and testing with that to see if we can eliminate multi-threading as a cause of the problem? Thank you very much.

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #22 on: April 09, 2013, 03:24:27 PM »
Just tried with single-threaded version. The error persists.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #23 on: April 09, 2013, 03:39:30 PM »
This is extremely odd. Have you checked to make sure that you have the latest configuration files? I do not know how that might cause the problem, but it is worth trying as an experiment. Also, may I clarify - are there any settings that you can use to generate a map which does not produce this error when saving and re-loading?

Edit: The relevant part of the code, incidentally, is as follows:

Code: [Select]
file->rdwr_short(num_city_roads);
                if(  num_city_roads>=10  ) {
                    dbg->fatal("settings_t::rdwr()", "Too many (%i) city roads!", num_city_roads);
                }
                for(  int i=0;  i<num_city_roads;  i++  ) {
                    file->rdwr_str(city_roads[i].name, lengthof(city_roads[i].name) );
                    file->rdwr_short(city_roads[i].intro );
                    file->rdwr_short(city_roads[i].retire );
                }
                // several intercity roads ...
                file->rdwr_short(num_intercity_roads);
                if(  num_intercity_roads>=10  ) {
                    dbg->fatal("settings_t::rdwr()", "Too many (%i) intercity roads!", num_intercity_roads);
                }
                for(  int i=0;  i<num_intercity_roads;  i++  ) {
                    file->rdwr_str(intercity_roads[i].name, lengthof(intercity_roads[i].name) );
                    file->rdwr_short(intercity_roads[i].intro );
                    file->rdwr_short(intercity_roads[i].retire );
                }

Edit 2: Do you edit the advanced settings (key "i") at all before saving?
« Last Edit: April 09, 2013, 03:50:27 PM by jamespetts »

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #24 on: April 10, 2013, 12:35:00 AM »
1. I think I did change my config, editing the station_coverage to 16, in the pakset.

About configs, after all, I think it would be most reliable if you can just upload your configs for me to test, if it is the case.

2. About advanced settings, I didn't aware of this function at all before...

Apparently, when I toy with config, I found that setting saveformat = xml avoids this problem altogether. :)


Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #25 on: April 10, 2013, 01:22:27 AM »
May I ask - what was your saved game format before? The XML format is very inefficient. This does point to some error with compression, however - but tracking it down depends on me knowing what sort of compression that you were using before.

Edit: For reference, here is my base simuconf.tab:

Code: [Select]
# simuconf.tab
#
# Low level settings
#
# Adapted for Simutrans-Experimental by James E. Petts
# June 2009. Released under the Artistic Licence.
# Further adapted by Nathanael Nerode December 2011, under Artistic Licence
#
# Lines starting with '#' or any non_character letter will be ignored.
# To actually set a value, remove the leading '#'.
#
# This file can be found in many places:
#
# simutrans/config/simuconf.tab (this one)
# ~/simutrans/simuconf.tab (in the user directory, if singleuser_install == 0 or not present, first only pak-file path will be read)
# simutrans/pakfilefolder/config/simuconf.tab
# ~/simutrans/simuconf.tab (read a second time, s.a.)
#
# Any values set in this file will be over-written by any values set in the simuconf.tab files
# for individual paksets. Any values set here that are not set in the simuconf.tab files for
# individual paksets will be used.


################################# Pakset settings ##################################
#
# This simuconf.tab will be read first => we set meaningful defaults here.
#
# load/save the files in the users or the program directory directory? (default: 0 = user directory)
# ATTENTION!
# will be only used if this file is located in the program directory at config/simuconf.tab!
#singleuser_install = 0

# Automatic loading of paksets. If a path to a pakset is specified below, that pakset
# will be loaded by default when the game starts. If no pakset is specified, the user
# will be presented with a menu of all available paksets.
# ATTENTION:
# This will be only used if this file is located in the program directory at config/simuconf.tab
# and will be overwritten by the settings from simutrans/simuconf.tab in the user directory
#
#pak_file_path = pak128.Britain-Ex/
#pak_file_path = pak.64-experimental/
#pak_file_path = pak/
#pak_file_path = pak.german/
#pak_file_path = pak128/
#pak_file_path = pak96.comic/
#pak_file_path = pak.64.ho-scale/
#pak_file_path = pak.192.comic/
#pak_file_path = pakHajo/
#pak_file_path = pak.japan/
#
################################## Program settings ####################################

# maximum number of position tested during a way search
# 100000 should be ok even for large maps with ships
# 10000 is ok for everything else (consumes 16*x Bytes main memory, no further harm)
max_route_steps = 1000000

# Size of the catchment area of a station/stop in tiles.
# This is for city buildings (mail and passengers) only.
# (In older versions, this was used for both city buildings and factories)
#
# Default: 2
station_coverage = 6

# Size of the catchment area of a station/stop in tiles.
# This is for factories only.
# Default: 1
station_coverage_size_factories = 1

# Max number of steps in goods pathfinding
# This should be equal or greater than the biggest group
# of interconnected stations in your game.
#
# If you set it too low, some goods might not find a route
# if the route is too complex. If you set it too high, the
# search will take a lot of CPU power, particularly if searches
# often fail because there is no route.
#
# Depending on your CPU power, you might want to limit the search
# depth.
#
# 300 seems to be a good compromise for most games. 100 is ok for
# small games. 8000 should suffice for even the largest maps, but
# will take a good amount of CPU time if you have complex transport
# networks. Max. allowed value is 9994.
#
# prissi: On a 512x512 map with more than 150000 people daily, the saturation
# value for "no route" was higher, around 8000. Using 300 instead almost doubled
# the value of "no route"
#
max_hops = 2000

# Passengers and goods will change vehicles at most "max_transfer"
# times to reach their destination.
#
# It seems that in good networks, the number of transfers is below
# 5. I think 6 is a good compromise that allows complex networks but
# cuts off the more extreme cases
#
# You can set this lower to save a little bit of CPU time, but at some
# point this means you'll get less passengers to transport
#
# This value is less critical than "max_hops" from above.
#
# T. Kubes: I would say 8 for now, but this definitely should be difficulty
# dependent setting.
#
# Note: in Simutrans-Experimental, the number of max_transfers is no longer
# a hard limit on transfers, but affects routing depth. Use lower settings if
# performance is too slow; use higher settings if passengers or goods are not
# finding routes where they ought to be.
#
max_transfers = 9

# way builder internal weights (defaults)
# a higher weight make it more unlikely
# make the curves negative, and the waybuilder will built strange tracks ...
#
way_straight=1
way_curve=2
way_double_curve=6
way_90_curve=15
way_slope=10
way_tunnel=8
way_max_bridge_len=15
way_leaving_road=25

# This setting determines whether passengers can reach their journies by walking
# between stops en route. If this setting is false, passengers will walk from their
# origin to the start station/stop and from the destination station/stop to their
# destination, but will not walk between intermediate stops, even if the distance
# between the intermediate stops is the same as or less than the distance between
# their origin and the starting stop. If this setting is set to true then passengers
# will walk between intermediate stops as well as from their origin to the first stop
# on their journey. However, with the setting enabled, there is no means of preventing
# passengers from walking between two or more consecutive stops (for techincal reasons
# relating to the need to have a simplified routing system to make the game run at an
# acceptable speed), or from walking as the first or last stage in their journey, such
# that their overall walking distance is higher than would be permissible for walking
# from their origin to the first stop on their journey. This setting might also have
# the incidental effects of allowing a stop to take passengers from an area not covered
# by that stop's coverage radius, but covered by the radius of another stop (possibly
# owned by a rival player) in the nearby vicinity, and of passengers walking instead
# of using player transport in some cases.
# 0 = false; 1 = true. Default: false.

allow_routing_on_foot = 0

# This setting determines how often that goods/passengers have their paths refreshed.
# The number is in steps. The default, 8192, is equivalent to about 2 hours of in-game
# time at 250m/tile, or 1 hour at 125m/tile.

reroute_check_interval_steps = 8192

################################ General gameplay settings ##############################
# These settings are also pakset dependent

# meters_per_tile represents the length of each tile in meters.
# The default is 250.
#
# This setting is used for calculating journey times, revenues, maintenance costs, comfort and
# catering values.
#
# Note that, in versions of Simutrans-Experimental before 10.0, the setting "distance_per_tile"
# was used instead. That setting was calculated in tens of meters. If "distance_per_tile" is
# specified in simuconf.tab, it will be converted to meters_per_tile by the game.

meters_per_tile = 250

# Town growth multiplier factors.
# A higher factor mean faster growth.
# These are percentage figures.
passenger_multiplier = 40
goods_multiplier = 24

# NOTE: These two settings are used in Simutrans-Standard, but not Simutrans-Experimental.
# In Simutrans-Experimental, the electricity multiplier is set from electricity.tab, and
# the mail multiplier is set as the remaining percentage after passengers, goods and electricity
# have been taken into account.
# mail_multiplier = 20
# electricity_multiplier = 0

# The rate at which towns grow depends on their size. There are three different size categories:
# "Villages", "Cities" and "Capitals". The following settings define the thresholds (in numbers
# of population) above which towns become "Cities" and "Capitals". Anything smaller than
# city_threshold_size is a "Village".

city_threshold_size = 1000
capital_threshold_size = 10000

# These values represent the rate at which towns grow. The raw growth number is *divided*
# by the growth factors; ergo, the lower the number, the higher the growth. Longer games
# should have less growth, whereas shorter games do better with more growth.

growthfactor_villages = 400
growthfactor_cities = 200
growthfactor_capitals = 100

# These values are used in the city generation algorithm to determine the maximum size of cities.
# max_city_size is the maximum size, in citizens, of any city at the point of generation.
# max_small_city_size is the size, in citizens, of any city other than a "big city" at the point of generation.
# TIP: Set a lower number for these values the earlier that the game is started.

max_city_size = 16000
max_small_city_size = 3000

# The higher this value, the more passengers generated. (Default: 16)
passenger_factor=16

# amount of passengers that travel from/to factories or attractions
# the remaining percentage is intercity and intracity travel
factory_worker_percentage = 15
tourist_percentage = 7

# Note that locality_factor from simutrans-standard is not present in experimental

# A factory will be added as worker's destination to a town, if it has either
# is within factory_worker_radius
# or has less than factory_worker_minimum_towns next cities added
# and has not more than factory_worker_maximum_towns added
# The default settings connect to maximum four cities with 77 tiles radius; or at least to the closest one
# Setting factory_worker_maximum_towns to zero will not connect factories to towns
factory_worker_radius = 77
factory_worker_minimum_towns = 1
factory_worker_maximum_towns = 4

# if enabled (default = 0 off) stops may have different capacities for passengers, mail, and  freight
# If this setting is set to 1, halts will have different capacities for each type of goods.
seperate_halt_capacities = 1

# If "avoid_overcrowding" is enabled (avoid_overcrowding = 1), then passengers or goods
# unloading at an overcrowded stop that is not their destination (i.e., a transfer stop)
# will be discarded, and will not pay for their journey so far. Passengers will be added
# to the "unhappy passengers" graph, which will have an effect on revenue.
avoid_overcrowding = 0

# This is the number of passengers routed at once,
# to save CPU resources. Decreasing this number will
# make the game run more slowly. Default = 7.
passenger_routing_packet_size = 7

# This setting determines the amount of private traffic generated on the roads in the game.
# It does not affect the actual usage of private cars: just how many vehicles appear on the roads.
# Range: 0 - 16. Recommended: 11

citycar_level = 11

# After how many month a citycar breaks (and will be forever gone) ...
# default is ten years
default_citycar_life = 250

# If enabled (deafault = 0, off), the default tool will try to calculate straight ways (like OpenTTD)
straight_way_without_control = 0

# These settings determine how players pay for running on the ways of other players.
#
# toll_runningcost_percentage apportions the specified percentage of the convoy's
# running cost to the player on whose way the convoy is being run.
#
# toll_waycost_percentage apportions the specified percentage of the way tile's
# monthly maintenance cost (and, for electrically powered convoys, also the specified
# percentage of way objects' monthly maintenance cost) from the convoy for every
# tile of the other player's way over which it passes.
#
# toll_revenue_percentage apportions the specified percentage of the convoy's
# revenue according to the proportion of the journey that the convoy has undertaken
# on the specified player's way. For example, if way_toll_revenue_percentage is set
# to 50, and the convoy travels half its journey over another player's way, that
# other player will receive 25% of the total revenue for that journey.

toll_runningcost_percentage = 0
toll_waycost_percentage = 0
toll_revenue_percentage = 33

# These settings determine how players pay for landing/docking in the ports
# of other players.
#
# airport_toll_revenue_percentage is the percentage of the revenue of
# a trip by aircraft charged to a player landing at another player's
# airport.
#
# seaport_toll_revenue_percentage is the precentage of the revenue
# of a trip by sea charged to a player docking at another player's
# sea port.

airport_toll_revenue_percentage = 20
seaport_toll_revenue_percentage = 15

# If this is set to 1, players will not be charged to use roads owned by the public
# service player. This does not affect other sorts of ways.
# Default: 0

toll_free_public_roads = 1

# If a player has allowed access to its roads to the public player, private
# cars may use those roads. They will pay a toll to do so for every tile.
# This is the amount (in simucents: 100 = 1 simucredit; 1 = 1 simucent)
# that the player who owns the road will receive.
#
# NOTE: This value will not be saved with the saved game until the
# major version is incremented to 11. In a network game, this value
# will default to 1.

private_car_toll_per_km = 1

# If this is set to 1, any road built in a town will be adopted
# by that town (set to unowned), meaning that the building player
# will not have to maintain it, but does not have exclusive use
# of the way, and cannot prevent other players from upgrading/
# downgrading/removing it. Setting it to 0 will disable this
# feature.
#
# NOTE: This value will not be saved with the saved game until the
# major version is incremented to 11. In a network game, this value
# will default to 1.

towns_adopt_player_roads = 1

# If this is set to 1, any player may transfer any way tile or stop to the ownership
# of the public player. If this is set to 0, only the public player may transfer
# stops and way tiles to public ownership.
# Default: 1 (which replicates the behaviour in Standard)

allow_making_public = 0

# This is the maximum level of building that can be constructed or upgraded
# beneath an elevated way, or over which an elevated way can be built.
# 0 = no limit.

max_elevated_way_building_level = 2

# This setting determines whether aircraft can land and take off
# at airports without control towers. 1 = yes; 0 = no.
# Set to 1 for paksets that do not have control towers defined
# as such.

allow_airports_without_control_towers = 1


#################################### Passenger settings ##################################
#
# Here, Experimental uses an entirely different trip generation system
# from Standard.

# The program will generate three groups of passengers: (1) local;
# (2) midrange; and (3) long distance. The program will look for a town within
# the specified distance ranges for each class of passenger. If it cannot
# find such a town within a certain number of tries, it will pick a random town.
# The ranges *may* overlap. These values are in kilometres.


local_passengers_min_distance = 0
local_passengers_max_distance = 16
midrange_passengers_min_distance = 16
midrange_passengers_max_distance = 80
longdistance_passengers_min_distance = 55
longdistance_passengers_max_distance = 16384

# The following are percentage chances. They represent the chances that
# any passengers generated will try to find a town within each of the three
# ranges, respectively.
#
# 84% of journeys are 10 miles (16km) or under
# 14% of journeys are 10 - 50  miles (16-80km)
# 2% of journeys are >50 miles (80km)
# See: http://www.sustrans.org.uk/assets/files/connect2/guidelines%2016.pdf
# Allow for some overlap, however, between midrange and long distance.

passenger_routing_local_chance = 84
passenger_routing_midrange_chance = 12
# (Longdistance by inference = 4)
# passenger_routing_longdistance_chance is 100 minus the sum of the two above values,
# but not stipulated individually.

# Some passengers who are not able to find a route will be content
# to go to an alternative destination. Set the maximum number here.
# (Note: whether any given passenger is content to go to an alternative
# destination, and, if so, the number, will be random. For each
# possible number of alternative destinations, the chances will be even.
# For example, if the number is set at 2, there will be an equal chance
# of passengers having 0, 1 or 2 alternative destinations).
#
# Max: 7

max_alternative_destinations = 4

# Passengers have a maximum tolerance level for how long that they will
# spend travelling. The further that the passengers want to go, the more
# time that they will be prepared to spend travelling. The number is
# expressed in minutes. For each packet of passengers, the number of
# minutes travelling time (including waiting time) that they are prepared
# to tolerate is randomised between the minimum and maximum amount using a
# normal distribution, meaning that the numbers are more likely to be in
# the middle of the range than at either end. The local, mid-range and
# long-distance passenger groups correspond to those above.

min_local_tolerance = 2
max_local_tolerance = 75
min_midrange_tolerance = 5
max_midrange_tolerance = 240
min_longdistance_tolerance = 30
max_longdistance_tolerance = 4320

# The following setting determines the walking speed of passengers in km/h.
# See: http://en.wikipedia.org/wiki/Walking , which suggests that this should
# be 5km/h. This is used in routing calculations for walking to/from stops and
# in walking between stops.

walking_speed = 5

#################################### Revenue settings ##################################
#
# Settings for calibrating the revenue system
#
# These settings calibrate the way in which revenue is calculated in the game. Changing
# them might make the game easier or harder, or, if they are changed in odd ways, make it
# behave eratically. Make sure to know what you are doing before changing these values.

# These settings calibrate the speed bonus. Note that, with Simutrans-Experimental, unlike
# Simutrans-Standard, the speed bonus is based on the convoy or line's *average* speed, not
# the convoy's maximum speed.
#
# All distances in these settings are measured in kilometres and calibrated using the
# meters_per_tile setting.
#
# min_bonus_max_distance is the distance below which the speed bonus (or penalty) does not
# apply. Below this distance, goods pay the same no matter what the average speed.
#
# median_bonus_distance is the distance at which 100% of the speed bonus/penalty applies.
# At anything between min_bonus_max_distance and median_bonus_distance, a scaled proportion
# of the speed bonus applies. For example, if the min_bonus_max_distance was 10, and the
# median_bonus_distance was 110, then, for a journey of 50 tiles, 50% of the speed bonus or
# penalty would apply. median_bonus_distance is optional: if it is not specified, or set to
# 0, it will be calculated as the mid point between min_bonus_max_distance and
# max_bonus_min_distance.
#
# max_bonus_min_distance is the distance above which the rate of the speed bonus increases
# no further. In other words, the rate of the speed bonus (or penalty) keeps increasing with
# the distance, until it reaches the max_bonus_min_distance, after which it remains steady.
#
# max_bonus_multiplier_percent is the percentage of the speed bonus that applies at or above
# the distance specified in max_bonus_min_distance. So, if the speed bonus rating was 10%, the
# distance exceeded the max_bonus_min_distance value, and the max_bonus_multiplier_percent was
# set to 200, the speed bonus rating would effectively be 20% for that journey.
# Between the median_bonus_distance and the max_bonus_min_distance, a scaled proportion applies.
# So, if, for example, the median_bonus_distance was 100, the max_bonus_min_distance was 1,100
# the actual distance 500, and the max_bonus_multiplier_percent 200, the speed bonus rating
# would be increased by half of the multiplier, or 150%.

min_bonus_max_distance = 4
median_bonus_distance = 100
max_bonus_min_distance = 300
max_bonus_multiplier_percent = 300

# These next settings affect the interaction between comfort and revenue in Simutrans. Comfort only
# affects passenger traffic, for obvious reasons. Passengers have a certain level of comfort that
# they will tolerate for certain distances. All comfort ratings are in the range of between 0 and
# 255. At the tolerable level, the revnue is unaffected. At above the tolerable level, a luxury
# bonus is applied. At below the tolerable level, a discomfort penalty is applied. The values can
# be set to anything, but, to reflect real life, it is suggested that the discomfort penalty is
# significantly higher than the luxury bonus.
#
# tolerable_comfort_short is the tolerable comfort rating of a vehicle (0 - 255) for a journey of no
# more than tolerable_comfort_short_minutes.
#
# tolerable_comfort_median_short is the tolerable comfort rating of a vehicle for a journey of no more
# than tolerable_comfort_median_short minutes.
#
# tolerable_comfort_median_median is the tolerable comfort rating of a vehicle for a journey of no more
# than tolerable_comfort_median_median minutes.
#
# tolerable_comfort_median_long is the tolerable comfort rating of a vehicle for a journey of no more
# than tolerable_comfort_median_long minutes.
#
# tolerable_comfort_long is the tolerable comfort rating of a vehicle for a journey of at least
# tolerable_comfort_long minutes.
#
# For any journeys of a time between any of the values, a scaled proportion is taken.
#
# Note that (versions 7.2 onwards), the impact of comfort on revenue decreases with journey time.
# It is at its maximum level down to tolerable_comfort_median_long_minutes, after which it gradually
# reduces to 20% of its maximum at tolerable_comfort_short_minutes, and does not decrease further
# thereafter.

tolerable_comfort_short_minutes=2
tolerable_comfort_short=15

tolerable_comfort_median_short_minutes=30
tolerable_comfort_median_short=60

#Two hours
tolerable_comfort_median_median_minutes=120
tolerable_comfort_median_median=100

#Five hours
tolerable_comfort_median_long_minutes=300
tolerable_comfort_median_long=160

#12 hours
tolerable_comfort_long_minutes=720
tolerable_comfort_long=220

# max_luxury_bonus_differential is the maximum number of comfort rating points above the tolerable level
# that affects the luxury bonus. Anything beyond that, and further added luxury makes no difference to the
# revenue.
#
# max_luxury_bonus_percent is the percentage increase in revenue from the maximum level of luxury specified in
# max_luxury_bonus_differential. So, if the tolerable comfort level for any given travelling time was 100, the
# max_luxury_bonus_differential 50, and the max_luxury_bonus_percent 50, then the revenue would increase up to
# 50% beyond the normal revenue for additional comfort up to 150, but would not increase further with any increase
# in comfort beyond 150.

max_luxury_bonus_differential=55
max_luxury_bonus_percent=45

# The discomfort penalty works in exactly the same way as the comfort bonus. max_discomfort_penalty_percent is the
# percentage decrease in revenue from the maximum level of discomfort specified in max_discomfort_penalty_differential.

max_discomfort_penalty_differential=200
max_discomfort_penalty_percent=95

# These settings control the revenue that can be earned from catering and travelling post offices. Note that catering
# vehicles on a convoy also increase the comfort by a small amount, which has an indirect effect on the revenue. These
# settings do not affect that: these settings affect the revenue earned from the catering itself: i.e., by selling food
# and drink.
#
# catering_min_minutes is the shortest journey time that will provide any catering revenue. Anything below that, and
# passengers will not bother to buy any food or drink at all.
#
# catering_level1_minutes is the journey time at which any convoy with a catering level of 1 or higher will earn, per
# passenger, the number of Simu-cents (1/100th of a Simucredit) specified in catering_level1_max_revenue.
#
# The same applies for each subsequent catering level: in other words, higher catering levels only earn more than lower
# catering levels on journeys of at least the catering_levelX_minutes (where X is the catering level in question).
#
# Between each level, the a scaled proportion is applied. So, for example, if catering_min_minutes is 100,
# catering_level1_minutes is 200, and the actual journey time is 150 minutes, then, any convoy with a catering level
# of at least 1 will earn 50% of the amount specified in catering_level1_max_revenue per passenger.

catering_min_minutes=60
catering_level1_minutes=90
catering_level1_max_revenue=150
catering_level2_minutes=120
catering_level2_max_revenue=250
catering_level3_minutes=150
catering_level3_max_revenue=350
catering_level4_minutes=240
catering_level4_max_revenue=400
catering_level5_minutes=300
catering_level5_max_revenue=475

# Travelling post office revenue is simpler than catering revenue. For every journey that mail makes in a convoy containing
# a travelling post office vehicle (that is, a mail carrying vehicle with a catering level above zero) where the journey time
# exceeds that specified in tpo_min_minutes, the trip will earn the amount specified in tpo_revenue, multiplied by the number
# of mail bags carried, in addition to the ordinary revenue.

tpo_min_minutes=120
tpo_revenue=300

# These settings relate to private car use. See /config/privatecar.tab for
# the configuration of private car ownership for different years.
#
# "Always prefer car percent" is the percentage of drivers who prefer to use their
# car even if walking or taking public transport is faster. The default is 10%
#
# "Congestion density factor" is the factor by which the population density (in
# citizens per tile) is divided to get a factor multiplied by the number of cars
# per tile per month to get the congestion figure. In simple terms, the lower this
# number, the easier that it will be for cities to register as congested, and
# the more likely that it is that passengers will opt for public (i.e., the player's)
# transport instead. If "congestion density factor" is set to zero, then the congestion
# will be calculated using a much simpler formula that does not depend on the city's
# population density at all. 

always_prefer_car_percent = 10
congestion_density_factor = 16

# This setting gives the maximum time that passengers are prepared to wait for their
# transport. The setting is divided by speed bonus value to get the number of minutes.
# In pak128.Britain and pak128, the default speed bonus value for passengers is 18. So,
# at the default wait time of 2,700, the maximum time that passengers are prepared to
# wait is 2,700 / 18 = 150 minutes, or two and a half hours.
#
# The same applies for other sorts of goods: for example, the speed bonus value for
# mail is 15. So, with a passenger_max_wait of 2700, mail would wait for 180
# minutes before being discarded.
#
# This is also subject to a maximum of thrice the estimated journey time for the
# whole journey, except where thrice the estimated journty time is less than 1/12th
# of this value.

passenger_max_wait = 19440

# This is the maximum interval between which routes already calculated will be declared
# stale, and require recalculation next time that they are called. The connexions from
# the stations are staggered so that, at the default value of 2, the station connexions
# will recalculate every one month, and the routes every other two months. The lower the
# number, the more up to date that routes will be, but the slower that the game will be.
# It is recommended to set this at either 2 or 4.

# This is the minimum time in minutes that passengers or goods may wait at an airport.
# This simulates the need for check-in, security checks, etc., that makes travelling by
# air a slower process at the boarding stage than transport by other means such as road
# or rail. Setting this to 0 will make air transport behave like any other transport.

min_wait_airport = 30

max_rerouting_interval_months = 2

# Simutrans-Experimental 8.0 introduced a new system of growing cities, which preserved
# density more accurately. However, this can adversely affect performance. Select
# quick_city_growth = 1 to use the old, faster system. Note, however, that the old system
# will result in cities with too high a proportion of high density buildings on map
# generation.

quick_city_growth = 0

# Simutrans-Experimental 8.0 introduced a new feature whereby private car traffic first
# checks to see whether its destination is reachable by road before registering a trip
# (and thus competing with player's transport). On slow systems, this might reduce
# performance. Disable it by setting: assume_everywhere_connected_by_road = 1.
# assume_everywhere_connected_by_road = 0 is the default.

assume_everywhere_connected_by_road = 0

# This setting determines the extent to which cities should be built far away from
# other cities when the map is first generated. The higher the number, the further
# away from each other that the cities are built. This is introduced in Simutrans-Experimental
# 9.0. It replaces Simutrans-Standard's setting of "minimum_city_distance".

city_isolation_factor = 32

################################## Industry settings #################################
#
# These are also pakset dependent

# The following is disabled in experimental, which has a new system
# when a city reaches 2^n times of this number
# then a factory is extended, or a new factory chain is spawned
#industry_increase_every = 2000
# The preceding is disabled in experimental

# Minimum distance between factories (in tiles)
factory_spacing = 6

# allow all possible supplier to connect to your factories?
# This will also affect savegames!
# best to leave it in default position (0). (only on for simuTTD)
crossconnect_factories = 0

# how big is the chance for crossconnections in percent
# (100% will give nearly the same results as crossconnect_factories=1)
crossconnect_factories_percentage = 33

# How much is the total electric power available (in relation to total production)
# in parts per thousand. 1000 = 100% and default for Simutrans-Experimental.
electric_promille = 1000

# with this switch on (default), overcrowded factories will not recieve goods any more
just_in_time = 1

# number of periods for averaging the amount of arrived pax/mail at factories for boost calculation
# one period represents a fixed interval of 2^18 ms in-game time
# value can range from 1 to 16, inclusive; 1 means no averaging; default is 4
factory_arrival_periods = 4

# whether factory's pax/mail demands are enforced or not; default is on
factory_enforce_demand = 1

# Some factories have a retirement date, after which they are obsolete. After
# that date, factories may close down (random chance each month). After the number
# of years stipulated below, factories have a 100% chance of closing down. The
# chance increases the closer to this value that factories get.
max_years_obsolete = 30

################################# Display settings ################################

# player color can be fixed for several players or set totally random
# in the latter case each player will get unique but random coloring
# (default 0)
random_player_colors = 0

# when set here, the player will always get these player colors, even
# if random colors were enabled.
# color values range from 0 to 27 for first and second player color
# and there are 0...15 player in the game
player_color[1] = 1,4

# Do you want to have random pedestrians in town? Look nice but needs some
# CPU time to process them. (1=on, 0=off)
# Impact on frame time: ~10% (16 cities on a new standard map)
random_pedestrians = 1

# Do you want to have random pedestrians after pax are reaching this
# destination? May generate quite a lot. (1=on, 0=off)
stop_pedestrians = 1

# there are some other grounds (like rocky, lakes etc. )
# which could be added to the map (default 10)
# show random objects to break uniformity (every n suited tiles)
random_grounds_probability = 10

# show random moving animals (n = every n suited tiles, default 1000)
random_wildlife_probability = 1000

# animate the water each interval (if images available)
# costs some time for the additional redraw (~1-3%)
water_animation_ms = 250

# Show info windows for private cars and pedestrians?
# (1=on, 0=off)
pedes_and_car_info = 1

# Show infos on trees?
# (1=on, 0=off)
tree_info = 1

# Show infos also on bare ground?
# (1=on, 0=off)
ground_info = 1

# Show passenger level of townhalls?
# (1=on, 0=off)
townhall_info = 0

# always open only a single info window for the ground,
# even if there are more objects on this tile
#only_single_info = 1

# show a tooltip on convois at several conditions
# 0 no messages
# 1 (default) only no_route and stuck
# loading and waiting at signals too
#show_vehicle_states = 1

# show (default) tiles with a halt when editing a schedule
#visualize_schedule = 1

# Should stations get numbered names? (1=yes, 0=no)
numbered_stations = 0

# Show name signs and statistic?
# 0 = don't show anything
# 1 = station names
# 2 = statistics
# 3 = names and statistics
# The visual style is added to this number:
#   0 = black name in color box
#   4 = name in player color with outline
#   8 = box left of name in yellow outline
show_names = 7

# Color of cursor overlay, which is blended over marked ground tiles
# The available colors and their numbers can be found on
#    http://simutrans-germany.com/wiki/wiki/tiki-index.php?page=en_FactoryDef#mapcolor
# Suggested values (155 is the default)
# -- pak64, pak.german, pak128
#cursor_overlay_color = 155
# -- pak128.japan
#cursor_overlay_color = 149

# display (screen/window) width
# also see readme.txt, -screensize option
#display_width  = 704

# display (screen/window) height
# also see readme.txt, -screensize option
#display_height = 560

# show full screen
#fullscreen = 0

# maximum size of tool bars (0 = no limit)
# if more tools than allowed by height,
# next and prev arrows for scrolling appears
toolbar_max_width = 0
toolbar_max_height = 0

# if 1, print the company name in front of a message
add_player_name_to_message = 1

##################################w Window settings ##################################
#
# show the windows close etc. buttons on the right (like windows 98)
#window_buttons_right = 0

# there are three different ways to indicate an active window

# first: draw a frame with titlebar color around active window
#window_frame_active = 0

# second: draw the title with a different brighness (0: dark ... 6: bright)
front_window_bar_color = 1
bottom_window_bar_color = 3

# third (best together with 2nd):use different text color for bar
# some colors are 215-white, 240-blck 208-214- all shades of gray
front_window_text_color = 215
bottom_window_text_color = 209

# when moving, you can use windows to snap onto each other seamlessly
# if you do not like it, set the catch radius to zero
window_snap_distance = 8

# show tooltips (default 1=show)
show_tooltips = 1

# tooltip background color (+-1 arounf this index is used), taken from playercolor table
tooltip_background_color = 4

# tooltip text color (240=black, 215=white)
tooltip_text_color = 240

# delay before showing tooltip in ms (default 500ms)
tooltip_delay = 500

# duration in ms during tooltip is visible (default 5000ms=5s)
tooltip_duration = 5000

################################## Finance settings #################################
#
# These values are usually set in the pak files
# You can adjust all the cost in the game, that are not inside some pak file
#

# Use beginner mode for new maps
first_beginner = 0

# In beginner mode, all revenues are multiplied by a factor (default 1500=1.5)
beginner_price_factor = 1500

# Show graphs left to right (normal graph format)
# or right to left (old Simutrans format)?
left_to_right_graphs = 1

# Starting money of the player. Given in Credit cents (1/100 Cr)
#starting_money = 30000000

# New system of year dependent starting money. Up to ten triplets are
# possible. The entries are of the form:
# startingmoney[i]=year,money(in 1/10 credits),interpolate (1) or step(0)
# starting_money[0]=1930,20000000,1
# starting_money[1]=2030,35000000,1

# if a convoi runs on a way that belongs to another player, toll may
# be charged. The number given is the percentage of the running cost
# of the convoi or the way cost (include electrification if needed).
# (default 0)
toll_runningcost_percentage = 0
toll_waycost_percentage = 0

# Costs: these should be set in paks, not here
# Maintenance costs of buildings
#maintenance_building = 2000

# first stops: the actual cost is (cost*level*width*height)
#cost_multiply_dock=500
#cost_multiply_station=600
#cost_multiply_roadstop=400
#cost_multiply_airterminal=3000
#cost_multiply_post=300
#cost_multiply_headquarter=1000

# cost for depots
#cost_depot_air=5000
#cost_depot_rail=1000
#cost_depot_road=1300
#cost_depot_ship=2500

# other way related stuff
#cost_signal=500
#cost_tunnel=10000
#cost_third_rail=80

# other construction/destruction stuff
#cost_buy_land=100
#cost_alter_land=1000
#cost_set_slope=2500
#cost_found_city=5000000
#cost_multiply_found_industry=20000
#cost_remove_tree=100
#cost_multiply_remove_haus=1000
#cost_multiply_remove_field=5000
#cost_transformer=2500
#cost_maintain_transformer=20

# Insolvency and debt settings
#
# These settings allow what happens when the player runs out of money and goes
# into the red to be customised.
#
# "interest_rate_percent" is the annual interest rate (charged monthly) on all
# overdraft debt (i.e., on all negative account balances). It can be between 0
# and 255.
#
# "allow_bankruptsy" determines whether, when the player is deemed to have been
# insolvent for more than a certain period, the player should be declared
# bankrupt and the game over. 0 = no, 1 = yes.
#
# "allow_purchases_when_insolvent" determines whether, if the player's bank
# balance falls below the player's credit limit (shown in the finance window),
# the player will be unable to spend any new money on capital items (excluding
# bulldozing) until the player has come back within the credit limit again.
# 0 = no, 1 = yes.
#
# To revert to the behaviour of Simutrans standard, set interest_rate_percent to
# 0, set allow_bankruptsy to 1, and set allow_purchases_when_insolvent to 1.

interest_rate_percent = 10
allow_bankruptsy = 1
allow_purhcases_when_insolvent = 0   

# This is a compatibility setting for Simutrans-Standard. Because, in
# Simutrans-Standard, the speed bonus data (in speedbonus.tab) is based on the
# *maximum*, rather than the *average* speed of the vehicles, the speeds in
# speedbonus.tab will be too high. Use this setting to reduce them if playing
# with an incompatible pakset. For paksets produced with Simutrans-Standard in
# mind, the setting should be somewhere between 60-70. For compatible paksets,
# the setting should be 100. (This should be set in the pakset simuconf.tab
# for Experimental compatible paksets).

speed_bonus_multiplier_percent = 70

# Settings for obsolete vehicles
#
# Obsolete vehicles cost more to maintain, depending on these settings. The increase
# percent is the extra amount that it costs to maintain a vehicle after its retire
# date. For example, if a vehicle cost 0.10c to maintain when not obsolete, and
# obsolete_running_cost_increase_percent was set to 200, it would cost 0.20c to
# maintain after its retire date.
#
# The phase years stipulate how long it should be after the retirement date before the
# full percentage increase comes into effect. Between the retirement date and that number
# of years after the retirement date, a proportion of the increase percentage applies.
# For example, if the obsolete_running_cost_increase_phase_years was set to 10 in the
# above example, then, 5 years after the retirement date for the vehicle, the running
# costs would be 0.15c, and ten or more years after the retirement date, they would be
# 0.20c.
#
# To revert to previous behaviour (as of Simutrans stable 100 and earlier), in which
# there was no increase in the running costs for obsolete vehicles, set the increase
# percent to 100 and the phase years to 1.

obsolete_running_cost_increase_percent = 400
obsolete_running_cost_increase_phase_years = 50

# These settings determine how long after their retirement date that vehicles become
# obsolete. Obsolete vehicles cost more to maintain than current vehicles. The number
# is expressed in a number of years. So, for example, if a rail vehicle is no longer
# available after January 1900, and default_increase_maintenance_after_years_rail = 30
# is set, the vehicle will become obsolete in January 1930, and its maintenance cost
# will begin to increase from then.

default_increase_maintenance_after_years_road = 15
default_increase_maintenance_after_years_rail = 30
default_increase_maintenance_after_years_water = 40
default_increase_maintenance_after_years_monorail = 30
default_increase_maintenance_after_years_maglev = 30
default_increase_maintenance_after_years_tram = 25
default_increase_maintenance_after_years_narrowgauge = 30
default_increase_maintenance_after_years_air = 35
default_increase_maintenance_after_years_other = 30

# This determines whether obsolete vehicles can be purchased new
# Default is "no" (0)
# allow buying obsolete vehicles (=1) in depot
allow_buying_obsolete_vehicles = 0

# This allows for a "driving it off the lot" drop in value.
# This is not on by default, even in Experimental.
# vehicle can loose a part of their value, when they are once used
# the loss is given in 1/1000th, i.e 300 mean the value will be 70%
used_vehicle_reduction = 250

################################ Vehicle settings ##############################

# These settings determine how vehicles take corners, for each individual type of way.  They
# only apply to vehicles that use fixed ways (road, rail, monorail, etc.), and not aircraft or
# ships.
#
# Corner adjustment facotor (min/max) (%): The percentage of the normal speed limit applied
# on a 45 degree bend (for example, if the speed limit was 200kph, and the adjustment
# factor set to 50, the speed limit on the corner would be 100kph).
#
# Corner limit (min/max) (kph): The minimum and maximum speed limits for phasing of the
# corner adjustment factor. On a way with the speed limit at or below the minimum limit,
# the minimum adjustment factor applies. On a way with the limit at or above the maximum
# speed limit, the maximum adjustment factor applies. Between the two, a phased proportion
# of the adjustment factor applies as a linear function of the difference between the two.
# For example, at halfway between the minimum and maximum speeds, halfway between the
# minimum and maximum adjustment factors apply.
#
# Direction steps (min/max) (number of tiles): The number of steps that the simulation takes
# into account when determining how sharp that a corner is. For example, if the number is set
# to 6, the corner speed limit will be based on the greatest difference in angle between the
# current direction and the direction in which the vehicle was travelling over the last 6 tiles.
# The higher the number, therefore, the more important that it is to have straight ways.
# Higher numbers should be set for railways and track based ways, and lower numbers for roadways.
# The direction steps are phased in the same way as the adjustment factor.
#
# Curve friction factor (x): The number of times extra friction that applies as a vehicle corners.
# Since the friction occasioned by cornering is not usually a significant speed limiting factor for
# most transport vehicles, it is recommended to set this to 0. It is preserved for those who prefer
# the Simutrans-Standard system of cornering.
#
# Reverting to the older cornering system: To make Simutrans behave in the conventional way (by
# using friction rather than speed limits to reduce speed in corners), set the minimum and
# maximum adjustment factors, and the minimum and maximum direction steps, to 1, and the friction
# factor to 8. With those settings, the minimum and maximum speed will be irrelevant.

max_corner_limit_road=200
min_corner_limit_road=30
max_corner_adjustment_factor_road=80
min_corner_adjustment_factor_road=90
min_direction_steps_road=2
max_direction_steps_road=2
curve_friction_factor_road=0

max_corner_limit_track=425
min_corner_limit_track=45
max_corner_adjustment_factor_track=50
min_corner_adjustment_factor_track=85
min_direction_steps_track=4
max_direction_steps_track=14
curve_friction_factor_track=0

max_corner_limit_tram=250
min_corner_limit_tram=30
max_corner_adjustment_factor_tram=70
min_corner_adjustment_factor_tram=87
min_direction_steps_tram=3
max_direction_steps_tram=8
curve_friction_factor_tram=0

max_corner_limit_monorail=425
min_corner_limit_monorail=75
max_corner_adjustment_factor_monorail=62
min_corner_adjustment_factor_monorail=90
min_direction_steps_monorail=5
max_direction_steps_monorail=16
curve_friction_factor_monorail=0

max_corner_limit_maglev=500
min_corner_limit_maglev=50
max_corner_adjustment_factor_maglev=40
min_corner_adjustment_factor_maglev=80
min_direction_steps_maglev=4
max_direction_steps_maglev=16
curve_friction_factor_maglev=0

max_corner_limit_narrowgauge=250
min_corner_limit_narrowgauge=30
max_corner_adjustment_factor_narrowgauge=66
min_corner_adjustment_factor_narrowgauge=92
min_direction_steps_narrowgauge=3
max_direction_steps_narrowgauge=8
curve_friction_factor_narrowgauge=0

# These settings determine how long that it takes a train-type convoy to turn
# around when it reaches the end of the line. They do not apply to road vehicles
# or aircraft.
#
# "unit_reverse_time_seconds" refers to trains/convoys, such as multiple units, that have
# a cab at each and, and can be driven in reverse without any re-arrangement of
# the order of the vehicles. These will generally take the least time to reverse.
#
# "hauled_reverse_time_seconds" refers to trains/convoys that cannot be driven from the
# rear, so the locomotive at the front has to run around the train and attach
# to the rear, but where that locomotive can itself be driven in either direction,
# so that it does not need to turn around.
#
# "turntable_reverse_time_seconds" refers to trains/convoys that, as for the above category,
# cannot be driven from the rear, but that also require their locomotive to be turned
# around to face the other direction (such as steam locomotives with tenders) at the
# end of the journey. These will genearlly take the most time to reverse.
#
# All times are in game seconds. In previous versions, these were specified in internal
# milliseconds by "unit_reverse_time" (etc.) without "_seconds", but these values
# had to be adjusted manually to match the meters per tile setting. The old keywords
# "(unit_reverse_time)" etc. still work, but are overridden by the "..._seconds" version
# where it is present.

unit_reverse_time_seconds=45
hauled_reverse_time_seconds=120
turntable_reverse_time_seconds=320

# This setting allows the power of all vehicles to be adjusted at once. It is a
# percentage figure. Thus, if, for example, a vehicle has a power rating of 1,200kw
# and the global_power_factor_percent is set to 200, it will behave in game as if
# it had a power rating of 2,400kw. This setting is applied *in addition to* the
# "gear" setting, such that, if a vehicle had a power rating of 1,200kw, a gear of
# 2.0 and the global_power_factor_percent was set to 200, the vehicle would behave
# as if it had a total power of 4,800kw.
#
# The default is 100.
#
# Note that, in Simutrans-Experimental version 10.12 and later, Standard paksets
# should use a percentage of 50. This is because the physics have been recalibrated
# to account for transmission losses (intended to be set using the "gear" setting
# in each vehicle's .dat file), and the resistance values decreased accordingly.
# Therefore, without this reduction in power, vehicles will be substantially over-
# powered.

global_power_factor_percent=50

# This setting allows the way in which weight limits are enforced to be customised.
# If enforce_weight_limits is set to 0, weight limits are ignored entirely. If
# enforce_weight_limits is set to 1, then vehicles can travel over roads, rails,
# tunnels and bridges for which they are too heavy, but only at greatly reduced
# speed. If enforce_weight_limits is set to 2, then vehicles cannot travel over
# ways for which they are overweight at all.
#
# To revert to the behaviour of Simutrans-Standard, set enforce_weight_limits=0

enforce_weight_limits=1

################################# Tree settings #################################
#
#  please be careful in changing them, I spent lot of time finding optimals.
#  those values have impact on no. of spawned trees -> memory consumption
#
# Number of trees on square 2 - minimal usable, 3 good, 4 very nice looking
max_no_of_trees_on_square = 3

# Base forest size - minimal size of forest - map independent
forest_base_size = 36

# Map size divisor - smaller it is the larger are individual forests
forest_map_size_divisor = 38

# Forest count divisor - smaller it is, the more forest are generated
forest_count_divisor = 16

# Determins how dense are spare trees going to be planted (works inversly)
forest_inverse_spare_tree_density = 400

# climate with trees entirely (1: water, 2:desert, 4:tropic, 8:mediterran, 16:temperate, 32:tundra, 64:rocky, 128:arctic)
# zero (default) means no climate with at least one tree per tile
tree_climates = 4

# climates with no trees at all (desert and arctic at the moment)
no_tree_climates = 130

# if set, no trees will be created at all (save about 30% memory and
# the season change will be much smoother on small machines)
#no_tree = 0

################################### Time settings ###################################

# Enforce vehicle (and other item) introduction dates?
# 0 = all vehicles available from start of the game
# 1 = use introduction dates
# 2 = (default) use settings during game creation, new games off
# 3 = use settings during game creation, new games on
#
use_timeline = 3

# Starting year of the game:
# Setting it below 1850 is not recommended for 64 set!
# You will have problems with missing vehicles, do not complain if you do so!
# Setting it above 2050 will render game bit boring - no new vehicles.
#
# other recommended vaule for 64 is 1956
#
starting_year = 1900

# Starting month of the game for people who want to start in summer (default 1=January)
starting_month = 1

# Should month be shown in date?
# (0=no, 1=yes, 2>=show day in japan format=2, us format=3, german=4, japanese no season=5, us no season=6, german no season = 7, journey time equivalent =
# This is most useful, if you use longer months than the default length (see below)

show_month = 8

# Global time multiplier (will be save with new games)
# 2^bits_per_month = duration of a game month in microseconds real time
# default is 18. For example, 21 will make the month 2^3=8 times longer in real time
# production and maintainance cost will be adjusted accordingly.

bits_per_month = 20

################################# System settings ############################

# compress savegames?
# "binary" means uncompressed, "zipped" means compressed
# "bzip2" uses another compression algorithm
# other options are "xml", "xml_zipped" and "xml_bzip2"
# xml detects more errors of broken savegames but files are much larger
# bzip2 savegames are smaller than zipped but saving/loading takes longer
saveformat = bzip2

# autosave every x months (0=off)
autosave = 12

# How many frames per second to use? Display may look pretty until 10 or so
# (depends very much on computer, game complexity and graphics driver)
frames_per_second = 30

# during zooming out simutrans may get slow due to the very high number
# of tiles visible. If the tiles become equal or smaller than the tile size
# below, a simpler clipping algorithm will be used, which will give some
# clipping errors, but is faster.
simple_drawing_tile_size = 24

# you can force fast redraw for fast froward by this (default off)
simple_drawing_fast_forward = 1

# How much faster should the game proceed with fast forward
# (limited by your computer and size of the map)
fast_forward = 100

################################### Network settings ##############################
#
# Synchronized networking is always a trade off between fast respone and safe
# connections. A more relaxed timing will cause delay of commands but is more
# likely to compensate for clients running slightly faster than the rest.
#

# Sets the local addresses Simutrans should listen on and use for making outgoing connections
# A DNS name may be specified, this will be resolved and Simutrans will attempt to listen
# on all of the addresses returned.
# By default it will use all local IPv4 and IPv6 addresses
# This setting has no effect if Simutrans has been compiled with the USE_IP4_ONLY flag set!
# The addresses listed will be tried in the order specified
#listen = 127.0.0.1

# How much commands should be delayed before sending back to clients.
# A larger number will catch even clients running slightly ahead but cause delay.
# This is set by the server side.
server_frames_ahead = 4

# How much extra delay in command execution on the client side, on top of server_frames_ahead.
# A larger number can compensate for larger fluctuations in communication latency.
# This is set by the client side.
additional_client_frames_behind = 4

# In network mode, there will be a fixed number of screen updates before a step.
# Reasonable values should result in 2-5 steps per second.
server_frames_per_step = 4

# The server sends after a fixed number of steps some information to the clients.
# Large values here means: reduced server communication (if that is of importance...)
# Small values should improve the timing of the clients.
server_frames_between_checks = 256

# Automatically announce server on the central server directory (http://servers.experimental.simutrans.org/)
# 0 (default) = off, 1 = on
server_announce = 1

# Interval of server announcement (if enabled)
# Value is number of seconds between server announcements, default is 900 (15 minutes)
# Minimum value is 60 (1 minute), for accurate listing it is recommended not to increase
# this value to greater than 3600 (1 hour)
# To disable announcements set server_announce to 0
server_announce_interval = 900

# Fully Qualified Domain Name (FQDN) or IP address of your server (IPv6 or IPv4)
server_dns = 127.0.0.1

# Name of server in server listing
server_name = A generic Simutrans-Experimental server

# Additional information about your server (for display on the list server)
server_comments = This is a Simutrans-Experimental server running with default settings.

# Email address of server maintainer (for display on the list server)
server_email = maintainer@your.server

# The password required for administering the server.
# NOTE: This should be changed from the default when used, for
# obvious reasons.
server_admin_pw = Insecure

# Pakset download URL (for display on the list server)
server_pakurl = http://your.domain/pakset.zip

# Server info URL (for display on the list server)
server_infurl = http://your.domain/server-info.html

# Pause server when no clients are connected
pause_server_no_clients = 1

# Nickname when joining network games
#nickname = John Doe

# Chat window transparency (0=off, 25, 50 75 are possible)
chat_transparency = 75


Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #26 on: April 10, 2013, 01:27:00 AM »
...and here is my pakset simuconf.tab:

Code: [Select]
spacilive# Pak 128.Britain
# simuconf.tab
#
# Low-Level values and constants
#
# This file can be found in many places:
#
# simutrans/config/simuconf.tab
# ~/simutrans/simuconf.tab (in the user directory, if singleuser_install != 0 or not present, first only pak-file path will be read)
# simutrans/pakfilefolder/config/simuconf.tab
# ~/simutrans/simuconf.tab (readed a second time, s.a.)
#


################################# General gameplay settings ################################

# Enforce vehicle (and other item) introduction dates?
# 0 = all vehicles available from start of the game
# 1 = use introduction dates
# 2 = (default) use settings during game creation, new games off
# 3 = use settings during game creation, new games on
#
use_timeline = 3

# Passenger generation (the default is 16): smaller values means fewer passengers.

passenger_factor=9

# In beginner mode, all good revenuses are multiplied by a factor (default 1500=1.5)

beginner_price_factor = 1500

# Use beginner mode for new maps

first_beginner = 0

# Size of the catchment area of a station/stop in tiles.
# This is for city buildings (mail and passengers) only.
# (In older versions, this was used for both city buildings and factories)
#
# Default: 2
station_coverage = 12

# Size of the catchment area of a station/stop in tiles.
# This is for factories only.
# Default: 1
station_coverage_size_factories = 1

# The rate at which towns grow depends on their size. There are three different size categories:
# "Villages", "Cities" and "Capitals". The following settings define the thresholds (in numbers
# of population) above which towns become "Cities" and "Capitals". Anything smaller than
# city_threshold_size is a "Village".

city_threshold_size = 2500
capital_threshold_size = 25000

# These values are used in the city generation algorithm to determine the maximum size of cities.
# max_city_size is the maximum size, in citizens, of any city at the point of generation.
# max_small_city_size is the size, in citizens, of any city other than a "big city" at the point of generation.
# TIP: Set a lower number for these values the earlier that the game is started.

max_city_size = 16000
max_small_city_size = 3000

# These values represent the rate at which towns grow. The raw growth number is *divided*
# by the growth factors; ergo, the lower the number, the higher the growth. Longer games
# should have less growth, whereas shorter games do better with more growth.

growthfactor_villages = 895
growthfactor_cities = 600
growthfactor_capitals = 350

# These settings determine the proportion of passengers who travel to industries and
# attractions respectively.

factory_worker_percentage = 15
tourist_percentage = 8

# Some passengers who are not able to find a route will be content
# to go to an alternative destination. Set the maximum number here.
# (Note: whether any given passenger is content to go to an alternative
# destination, and, if so, the number, will be random. For each
# possible number of alternative destinations, the chances will be even.
# For example, if the number is set at 2, there will be an equal chance
# of passengers having 0, 1 or 2 alternative destinations).
#
# Max: 7

max_alternative_destinations = 7

# The program will generate three groups of passengers: (1) local;
# (2) midrange; and (3) long distance. The program will look for a town within
# the specified distance ranges for each class of passenger. If it cannot
# find such a town within a certain number of tries, it will pick a random town.
# The ranges *may* overlap. These values are in kilometres.

local_passengers_min_distance = 0
local_passengers_max_distance = 16
midrange_passengers_min_distance = 16
midrange_passengers_max_distance = 80
longdistance_passengers_min_distance = 55
longdistance_passengers_max_distance = 16384

# The following are percentage chances. They represent the chances that
# any passengers generated will try to find a town within each of the three
# ranges, respectively.
#
# 84% of journeys are 10 miles (16km) or under
# 14% of journeys are 10 - 50  miles (16-80km)
# 2% of journeys are >50 miles (80km)
# See: http://www.sustrans.org.uk/assets/files/connect2/guidelines%2016.pdf
# Allow for some overlap, however, between midrange and long distance.

passenger_routing_local_chance = 84
passenger_routing_midrange_chance = 12
# (Longdistance by inference = 4)
# passenger_routing_longdistance_chance is 100 minus the sum of the two above values,
# but not stipulated individually.

# Passengers have a maximum tolerance level for how long that they will
# spend travelling. The further that the passengers want to go, the more
# time that they will be prepared to spend travelling. The number is
# expressed in minutes. For each packet of passengers, the number of
# minutes travelling time (including waiting time) that they are prepared
# to tolerate is randomised between the minimum and maximum amount using a
# normal distribution, meaning that the numbers are more likely to be in
# the middle of the range than at either end. The local, mid-range and
# long-distance passenger groups correspond to those above.

min_local_tolerance = 2
max_local_tolerance = 75
min_midrange_tolerance = 5
max_midrange_tolerance = 240
min_longdistance_tolerance = 30
max_longdistance_tolerance = 5400

# Settings for calibrating the revenue system
#
# These settings calibrate the way in which revenue is calculated in the game. Changing
# them might make the game easier or harder, or, if they are changed in odd ways, make it
# behave eratically. Make sure to know what you are doing before changing these values.

# These settings calibrate the speed bonus. Note that, with Simutrans-Experimental, unlike
# Simutrans-Standard, the speed bonus is based on the convoy or line's *average* speed between
# any two given stops, not the convoy's overall maximum speed.
#
# All distances in these settings are measured in kilometres and calibrated using the
# meters_per_tile setting.
#
# min_bonus_max_distance is the distance below which the speed bonus (or penalty) does not
# apply. Below this distance, goods pay the same no matter what the average speed.
#
# median_bonus_distance is the distance at which 100% of the speed bonus/penalty applies.
# At anything between min_bonus_max_distance and median_bonus_distance, a scaled proportion
# of the speed bonus applies. For example, if the min_bonus_max_distance was 10, and the
# median_bonus_distance was 110, then, for a journey of 50 tiles, 50% of the speed bonus or
# penalty would apply. median_bonus_distance is optional: if it is not specified, or set to
# 0, it will be calculated as the mid point between min_bonus_max_distance and
# max_bonus_min_distance.
#
# max_bonus_min_distance is the distance above which the rate of the speed bonus increases
# no further. In other words, the rate of the speed bonus (or penalty) keeps increasing with
# the distance, until it reaches the max_bonus_min_distance, after which it remains steady.
#
# max_bonus_multiplier_percent is the percentage of the speed bonus that applies at or above
# the distance specified in max_bonus_min_distance. So, if the speed bonus rating was 10%, the
# distance exceeded the max_bonus_min_distance value, and the max_bonus_multiplier_percent was
# set to 200, the speed bonus rating would effectively be 20% for that journey.
# Between the median_bonus_distance and the max_bonus_min_distance, a scaled proportion applies.
# So, if, for example, the median_bonus_distance was 100, the max_bonus_min_distance was 1,100
# the actual distance 500, and the max_bonus_multiplier_percent 200, the speed bonus rating
# would be increased by half of the multiplier, or 150%.

min_bonus_max_distance = 4
median_bonus_distance = 75
max_bonus_min_distance = 250
max_bonus_multiplier_percent = 300

# meters_per_tile represents the length of each tile in meters.
# The default is 250.
#
# This setting is used for calculating journey times, revenues, maintenance costs, comfort and
# catering values.
#
# Note that, in versions of Simutrans-Experimental before 10.0, the setting "distance_per_tile"
# was used instead. That setting was calculated in tens of meters. If "distance_per_tile" is
# specified in simuconf.tab, it will be converted to meters_per_tile by the game.

meters_per_tile = 125

# These next settings affect the interaction between comfort and revenue in Simutrans. Comfort only
# affects passenger traffic, for obvious reasons. Passengers have a certain level of comfort that
# they will tolerate for certain distances. All comfort ratings are in the range of between 0 and
# 255. At the tolerable level, the revnue is unaffected. At above the tolerable level, a luxury
# bonus is applied. At below the tolerable level, a discomfort penalty is applied. The values can
# be set to anything, but, to reflect real life, it is suggested that the discomfort penalty is
# significantly higher than the luxury bonus.
#
# tolerable_comfort_short is the tolerable comfort rating of a vehicle (0 - 255) for a journey of no
# more than tolerable_comfort_short_minutes.
#
# tolerable_comfort_median_short is the tolerable comfort rating of a vehicle for a journey of no more
# than tolerable_comfort_median_short minutes.
#
# tolerable_comfort_median_median is the tolerable comfort rating of a vehicle for a journey of no more
# than tolerable_comfort_median_median minutes.
#
# tolerable_comfort_median_long is the tolerable comfort rating of a vehicle for a journey of no more
# than tolerable_comfort_median_long minutes.
#
# tolerable_comfort_long is the tolerable comfort rating of a vehicle for a journey of at least
# tolerable_comfort_long minutes.
#
# For any journeys of a time between any of the values, a scaled proportion is taken.
#
# Note that (versions 7.2 onwards), the impact of comfort on revenue decreases with journey time.
# It is at its maximum level down to tolerable_comfort_median_long_minutes, after which it gradually
# reduces to 20% of its maximum at tolerable_comfort_short_minutes, and does not decrease further
# thereafter.

tolerable_comfort_short_minutes=15
tolerable_comfort_short=7

tolerable_comfort_median_short_minutes=30
tolerable_comfort_median_short=65

#1:40h
tolerable_comfort_median_median_minutes=100
tolerable_comfort_median_median=100

#5:00h
tolerable_comfort_median_long_minutes=300
tolerable_comfort_median_long=200

#12:00h
tolerable_comfort_long_minutes=720
tolerable_comfort_long=250

# max_luxury_bonus_differential is the maximum number of comfort rating points above the tolerable level
# that affects the luxury bonus. Anything beyond that, and further added luxury makes no difference to the
# revenue.
#
# max_luxury_bonus_percent is the percentage increase in revenue from the maximum level of luxury specified in
# max_luxury_bonus_differential. So, if the tolerable comfort level for any given travelling time was 100, the
# max_luxury_bonus_differential 50, and the max_luxury_bonus_percent 50, then the revenue would increase up to
# 50% beyond the normal revenue for additional comfort up to 150, but would not increase further with any increase
# in comfort beyond 150.

max_luxury_bonus_differential=55
max_luxury_bonus_percent=45

# The discomfort penalty works in exactly the same way as the comfort bonus. max_discomfort_penalty_percent is the
# percentage decrease in revenue from the maximum level of discomfort specified in max_discomfort_penalty_differential.

max_discomfort_penalty_differential=200
max_discomfort_penalty_percent=95

# These settings control the revenue that can be earned from catering and travelling post offices. Note that catering
# vehicles on a convoy also increase the comfort by a small amount, which has an indirect effect on the revenue. These
# settings do not affect that: these settings affect the revenue earned from the catering itself: i.e., by selling food
# and drink.
#
# catering_min_minutes is the shortest journey time that will provide any catering revenue. Anything below that, and
# passengers will not bother to buy any food or drink at all.
#
# catering_level1_minutes is the journey time at which any convoy with a catering level of 1 or higher will earn, per
# passenger, the number of Simu-cents (1/100th of a Simucredit) specified in catering_level1_max_revenue.
#
# The same applies for each subsequent catering level: in other words, higher catering levels only earn more than lower
# catering levels on journeys of at least the catering_levelX_minutes (where X is the catering level in question).
#
# Between each level, the a scaled proportion is applied. So, for example, if catering_min_minutes is 100,
# catering_level1_minutes is 200, and the actual journey time is 150 minutes, then, any convoy with a catering level
# of at least 1 will earn 50% of the amount specified in catering_level1_max_revenue per passenger.

catering_min_minutes=45
catering_level1_minutes=60
catering_level1_max_revenue=300
catering_level2_minutes=90
catering_level2_max_revenue=450
catering_level3_minutes=120
catering_level3_max_revenue=600
catering_level4_minutes=180
catering_level4_max_revenue=1000
catering_level5_minutes=210
catering_level5_max_revenue=1500

# Travelling post office revenue is simpler than catering revenue. For every journey that mail makes in a convoy containing
# a travelling post office vehicle (that is, a mail carrying vehicle with a catering level above zero) where the journey time
# exceeds that specified in tpo_min_minutes, the trip will earn the amount specified in tpo_revenue, multiplied by the number
# of mail bags carried, in addition to the ordinary revenue.

tpo_min_minutes=90
tpo_revenue=300

# These settings relate to private car use. See /config/privatecar.tab for
# the configuration of private car ownership for different years.
#
# These settings relate to private car use. See /config/privatecar.tab for
# the configuration of private car ownership for different years.
#
# "Always prefer car percent" is the percentage of drivers who prefer to use their
# car even if walking or taking public transport is faster. The default is 10%
#
# "Congestion density factor" is the factor by which the population density (in
# citizens per tile) is divided to get a factor multiplied by the number of cars
# per tile per month to get the congestion figure. In simple terms, the lower this
# number, the easier that it will be for cities to register as congested, and
# the more likely that it is that passengers will opt for public (i.e., the player's)
# transport instead. If "congestion density factor" is set to zero, then the congestion
# will be calculated using a much simpler formula that does not depend on the city's
# population density at all. 

always_prefer_car_percent = 5
congestion_density_factor = 15

# This setting gives the maximum time that passengers are prepared to wait for their
# transport. The setting is divided by speed bonus value to get the number of minutes.
# In pak128.Britain and pak128, the default speed bonus value for passengers is 18. So,
# at the default wait time of 2,700, the maximum time that passengers are prepared to
# wait is 2,700 / 18 = 150 minutes, or two and a half hours.
#
# The same applies for other sorts of goods: for example, the speed bonus value for
# mail is 15. So, with a passenger_max_wait of 2700, mail would wait for 180
# minutes before being discarded.
#
# This is also subject to a maximum of thrice the estimated journey time for the
# whole journey, except where thrice the estimated journty time is less than 1/12th
# of this value.

passenger_max_wait = 19440

# This is the minimum time in minutes that passengers or goods may wait at an airport.
# This simulates the need for check-in, security checks, etc., that makes travelling by
# air a slower process at the boarding stage than transport by other means such as road
# or rail. Setting this to 0 will make air transport behave like any other transport.

min_wait_airport = 30

# If this setting is set to 1, halts will have different capacities for each type of goods.
seperate_halt_capacities = 1

# This setting determines the extent to which cities should be built far away from
# other cities when the map is first generated. The higher the number, the further
# away from each other that the cities are built. This is introduced in Simutrans-Experimental
# 9.0. It replaces Simutrans-Standard's setting of "minimum_city_distance".

city_isolation_factor = 32

# Minimum distance of a city attraction to other special buildings
special_building_distance = 2

# Passengers will walk to their destination if it is close enough, rather than use
# players' transport or private cars. This parameter defines how close that close
# enough is. It is expressed in hundreds of meters (or tenths of kilometres), so
# the default setting of 15 means that passnegers will walk to their destination if
# it is within 1.5km of their origin.

max_walking_distance_km_tenth = 15

# This setting determines the amount of private traffic generated on the roads in the game.
# It does not affect the actual usage of private cars: just how many vehicles appear in
# the game. Range: 0 - 16.
# 11 = 61.25% - equivalent to a car occupancy level of 1.6, which is approximately average
# for the UK.

citycar_level = 11

# These settings determine how players pay for running on the ways of other players.
#
# toll_runningcost_percentage apportions the specified percentage of the convoy's
# running cost to the player on whose way the convoy is being run.
#
# toll_waycost_percentage apportions the specified percentage of the way tile's
# monthly maintenance cost (and, for electrically powered convoys, also the specified
# percentage of way objects' monthly maintenance cost) from the convoy for every
# tile of the other player's way over which it passes.
#
# toll_revenue_percentage apportions the specified percentage of the convoy's
# revenue according to the proportion of the journey that the convoy has undertaken
# on the specified player's way. For example, if way_toll_revenue_percentage is set
# to 50, and the convoy travels half its journey over another player's way, that
# other player will receive 25% of the total revenue for that journey.

toll_runningcost_percentage = 0
toll_waycost_percentage = 0
toll_revenue_percentage = 33

# These settings determine how players pay for landing/docking in the ports
# of other players.
#
# airport_toll_revenue_percentage is the percentage of the revenue of
# a trip by aircraft charged to a player landing at another player's
# airport.
#
# seaport_toll_revenue_percentage is the precentage of the revenue
# of a trip by sea charged to a player docking at another player's
# sea port.

airport_toll_revenue_percentage = 20
seaport_toll_revenue_percentage = 15

# If this is set to 1, players will not be charged to use roads owned by the public
# service player. This does not affect other sorts of ways.
# Default: 0

toll_free_public_roads = 1

# If a player has allowed access to its roads to the public player, private
# cars may use those roads. They will pay a toll to do so for every kilometre.
# This is the amount (in simucents: 100 = 1 simucredit; 1 = 1 simucent)
# that the player who owns the road will receive for each km traversed by a
# private car on that road.
#
# NOTE: This value will not be saved with the saved game until the
# major version is incremented to 11. In a network game, this value
# will default to 1.

private_car_toll_per_km = 1

# If this is set to 1, any road built in a town will be adopted
# by that town (set to unowned), meaning that the building player
# will not have to maintain it, but does not have exclusive use
# of the way, and cannot prevent other players from upgrading/
# downgrading/removing it. Setting it to 0 will disable this
# feature.
#
# NOTE: This value will not be saved with the saved game until the
# major version is incremented to 11. In a network game, this value
# will default to 1.

towns_adopt_player_roads = 1

# If this is set to 1, any player may transfer any way tile or stop to the ownership
# of the public player. If this is set to 0, only the public player may transfer
# stops and way tiles to public ownership.
# Default: 1 (which replicates the behaviour in Standard)

allow_making_public = 0

# This setting determines whether aircraft can land and take off
# at airports without control towers. 1 = yes; 0 = no.

allow_airports_without_control_towers = 0

################################## Industry settings #################################

# allow all possible supplier to connect to your factories?
# This will also affect savegames!
# best to leave it in default position. (only on for simuTTD)
crossconnect_factories = 0

# how big is the chance for cross-connections in percent (new in 99.10)
# (100% will give nearly the same results as crossconnect_factories=1)
crossconnect_factories_percentage = 15

# with this switch on (default), overcrowded factories will not recieve goods any more
just_in_time = 1

# How much is the total electric power available (in relation to total production)
# in parts per thousand. 1000 = 100% and default for Simutrans-Experimental.
electric_promille = 1000

# powerlines
cost_transformer = 2500
cost_maintain_transformer = 100

# Minimum distance between factories (in tiles)
# Note that this applies as between *any* pair of factories, not just factories
# that are connected to each other.
factory_spacing = 2

# Some factories have a retirement date, after which they are obsolete. After
# that date, factories may close down (random chance each month). After the number
# of years stipulated below, factories have a 100% chance of closing down. The
# chance increases the closer to this value that factories get.
max_years_obsolete = 32

# The following settings determine the minimum and maximum number of towns in which
# workers in industries live (and thus from which they need to be transported to
# the industries in question).

factory_worker_minimum_towns = 1
factory_worker_maximum_towns = 5

# The maximum distance in tiles from which workers at industries may travel.
factory_worker_radius = 256

################################## Finance settings #################################

# Starting money of the player. Given in Credit cents (1/100 Cr)
starting_money = 25000000

# Maintenance costs of buildings
maintenance_building = 1800

# first stops: the actual cost is (cost*level*width*height*km/tile)
cost_multiply_dock = 750
cost_multiply_station = 600
#stop is cheap; but on other hand max level is 4
cost_multiply_roadstop = 400
cost_multiply_airterminal = 1000
#used for all extra buildings
cost_multiply_post = 500
cost_multiply_headquarter=10000

# cost for depots
# Now multiplied by the level (Simutrans-Experimental 8.0 and later)
cost_depot_rail = 2000
cost_depot_road = 1000
cost_depot_ship = 4000
cost_depot_air  = 7500

# other way related stuff
cost_signal = 750
cost_tunnel = 11000

# other construction/destruction stuff
cost_alter_land=2000
cost_set_slope=5250
cost_found_city=5000000
cost_multiply_found_industry=500000
cost_remove_tree=50
cost_buy_land=1500
cost_multiply_remove_haus=500
cost_multiply_remove_field=5000

# Insolvency and debt settings
#
# These settings allow what happens when the player runs out of money and goes
# into the red to be customised.
#
# "interest_rate_percent" is the annual interest rate (charged monthly) on all
# overdraft debt (i.e., on all negative account balances). It can be between 0
# and 255.
#
# "allow_bankruptsy" determines whether, when the player is deemed to have been
# insolvent for more than a certain period, the player should be declared
# bankrupt and the game over. 0 = no, 1 = yes.
#
# "allow_purchases_when_insolvent" determines whether, if the player's bank
# balance falls below the player's credit limit (shown in the finance window),
# the player will be unable to spend any new money on capital items (excluding
# bulldozing) until the player has come back within the credit limit again.
# 0 = no, 1 = yes.
#
# To revert to the behaviour of Simutrans standard, set interest_rate_percent to
# 0, set allow_bankruptsy to 1, and set allow_purchases_when_insolvent to 1.

interest_rate_percent = 10
allow_bankruptsy = 1
allow_purhcases_when_insolvent = 0   

# This is a compatibility setting for Simutrans-Standard. Because, in
# Simutrans-Standard, the speed bonus data (in speedbonus.tab) are based on the
# *maximum*, rather than the *average* speed of the vehicles, the speeds in
# speedbonus.tab will be too high. Use this setting to reduce them if playing
# with an incompatible pakset. For paksets produced with Simutrans-Standard in
# mind, the setting should be somewhere between 40-50. For compatible paksets,
# the setting should be 100.

speed_bonus_multiplier_percent=100


################################### Time settings ################################

# Enforce vehicle introduction dates?
# 0 = all vehicles available from start of the game
# 1 = use introduction dates
# 2 = (default) use settings during game creation

use_timeline = 2

# Default starting year of the game
# Must be between 1492 and 2050
# Pak128.Britain-Ex has vehicles from 1750 onwards.

starting_year = 1825

# Starting month of the game for people who want to start in summer (default 1=January)
starting_month = 1

# Should month be shown in date?
# (0=no, 1=yes, 2>=show day in japan format=2, us format=3, german=4, japanese no season=5, us no season=6, german no season = 7, journey time equivalent = 8)
# This is most useful, if you use longer months than the default length (see below)

show_month = 8

# Global time multiplier (will be save with new games)
# 2^bits_per_month = duration of a game month in microseconds real time
# default is 18. For example, 21 will make the month 2^3=8 times longer in real time
# production and maintainance cost will be adjusted accordingly.

bits_per_month = 21

# This setting determines whether passengers can reach their journies by walking
# between stops en route. If this setting is false, passengers will walk from their
# origin to the start station/stop and from the destination station/stop to their
# destination, but will not walk between intermediate stops, even if the distance
# between the intermediate stops is the same as or less than the distance between
# their origin and the starting stop. If this setting is set to true then passengers
# will walk between intermediate stops as well as from their origin to the first stop
# on their journey. However, with the setting enabled, there is no means of preventing
# passengers from walking between two or more consecutive stops (for techincal reasons
# relating to the need to have a simplified routing system to make the game run at an
# acceptable speed), or from walking as the first or last stage in their journey, such
# that their overall walking distance is higher than would be permissible for walking
# from their origin to the first stop on their journey. This setting might also have
# the incidental effects of allowing a stop to take passengers from an area not covered
# by that stop's coverage radius, but covered by the radius of another stop (possibly
# owned by a rival player) in the nearby vicinity, and of passengers walking instead
# of using player transport in some cases.
#
# It is recommended that this feature only be used in multiplayer games, as its usefulness
# is limited in single player games. It can be very useful in multiplayer games, however,
# where it is undesirable or impractical to connect the stations of different players.
#
# 0 = false; 1 = true. Default: false.

allow_routing_on_foot = 0

################################ Road Settings ###################################

# (=1) drive on the left side of the road
drive_left = 1

# Draw the signals on the left.
# (In Pak128.Britain, this must be set to 0 until the signals are re-drawn to suit
# this setting).
signals_on_left = 0

# The below sections deal with the types of roads built automatically by the game,
# both when the map starts and during the game (in the case of city roads). Different
# kinds of roads are available at different times. The types of roads specified must
# be available in a .pak file. If a specified type is unavailable, Simutrans will
# guess which road it should be using.

# City roads timeline. Format examples:
# city_road[0]=name,1900,1920
# city_road[1]=name2,1921,1950

city_road[0]=city_road,1933,2200
city_road[1]=tarmac_city_road,1911,1932
city_road[2]=cobblestone_road,1781,1910
city_road[3]=dirt_road,1700,1780

# Intercity roads timeline. Format examples:
# intercity_road[0]=name,1900,1920
# intercity_road[1]=name2,1921,1950

intercity_road[0]=dirt_road,1700,1824
intercity_road[1]=macadam_road,1825,1902
intercity_road[3]=tarmac_road,1903,1932
intercity_road[4]=asphalt_road,1933,2300

# Max. length of intitial intercity road connections
# If you want to speed up map creation, lower this value
# If you want more initial intercity roads, raise this value

intercity_road_length = 320

################################ Vehicle settings ##############################

# These settings determine how vehicles take corners, for each individual type of way.  They
# only apply to vehicles that use fixed ways (road, rail, monorail, etc.), and not aircraft or
# ships.
#
# Corner adjustment facotor (min/max) (%): The percentage of the normal speed limit applied
# on a 45 degree bend (for example, if the speed limit was 200kph, and the adjustment
# factor set to 50, the speed limit on the corner would be 100kph).
#
# Corner limit (min/max) (kph): The minimum and maximum speed limits for phasing of the
# corner adjustment factor. On a way with the speed limit at or below the minimum limit,
# the minimum adjustment factor applies. On a way with the limit at or above the maximum
# speed limit, the maximum adjustment factor applies. Between the two, a phased proportion
# of the adjustment factor applies as a linear function of the difference between the two.
# For example, at halfway between the minimum and maximum speeds, halfway between the
# minimum and maximum adjustment factors apply.
#
# Direction steps (min/max) (number of tiles): The number of steps that the simulation takes
# into account when determining how sharp that a corner is. For example, if the number is set
# to 6, the corner speed limit will be based on the greatest difference in angle between the
# current direction and the direction in which the vehicle was travelling over the last 6 tiles.
# The higher the number, therefore, the more important that it is to have straight ways.
# Higher numbers should be set for railways and track based ways, and lower numbers for roadways.
# The direction steps are phased in the same way as the adjustment factor.
#
# Curve friction factor (x): The number of times extra friction that applies as a vehicle corners.
# Since the friction occasioned by cornering is not usually a significant speed limiting factor for
# most transport vehicles, it is recommended to set this to 0. It is preserved for those who prefer
# the Simutrans-Standard system of cornering.
#
# Reverting to the older cornering system: To make Simutrans behave in the conventional way (by
# using friction rather than speed limits to reduce speed in corners), set the minimum and
# maximum adjustment factors, and the minimum and maximum direction steps, to 1, and the friction
# factor to 8. With those settings, the minimum and maximum speed will be irrelevant.

max_corner_limit_road=200
min_corner_limit_road=30
max_corner_adjustment_factor_road=80
min_corner_adjustment_factor_road=90
min_direction_steps_road=2
max_direction_steps_road=2
curve_friction_factor_road=0

max_corner_limit_track=425
min_corner_limit_track=45
max_corner_adjustment_factor_track=50
min_corner_adjustment_factor_track=85
min_direction_steps_track=8
max_direction_steps_track=28
curve_friction_factor_track=0

max_corner_limit_tram=250
min_corner_limit_tram=30
max_corner_adjustment_factor_tram=70
min_corner_adjustment_factor_tram=87
min_direction_steps_tram=3
max_direction_steps_tram=8
curve_friction_factor_tram=0

max_corner_limit_monorail=425
min_corner_limit_monorail=75
max_corner_adjustment_factor_monorail=62
min_corner_adjustment_factor_monorail=90
min_direction_steps_monorail=10
max_direction_steps_monorail=32
curve_friction_factor_monorail=0

max_corner_limit_maglev=500
min_corner_limit_maglev=50
max_corner_adjustment_factor_maglev=40
min_corner_adjustment_factor_maglev=80
min_direction_steps_maglev=8
max_direction_steps_maglev=32
curve_friction_factor_maglev=0

max_corner_limit_narrowgauge=250
min_corner_limit_narrowgauge=30
max_corner_adjustment_factor_narrowgauge=66
min_corner_adjustment_factor_narrowgauge=92
min_direction_steps_narrowgauge=6
max_direction_steps_narrowgauge=16
curve_friction_factor_narrowgauge=0

# These settings determine how long that it takes a train-type convoy to turn
# around when it reaches the end of the line. They do not apply to road vehicles
# or aircraft.
#
# "unit_reverse_time" refers to trains/convoys, such as multiple units, that have
# a cab at each and, and can be driven in reverse without any re-arrangement of
# the order of the vehicles. These will generally take the least time to reverse.
#
# "hauled_reverse_time" refers to trains/convoys that cannot be driven from the
# rear, so the locomotive at the front has to run around the train and attach
# to the rear, but where that locomotive can itself be driven in either direction,
# so that it does not need to turn around.
#
# "turntable_reverse_time" refers to trains/convoys that, as for the above category,
# cannot be driven from the rear, but that also require their locomotive to be turned
# around to face the other direction (such as steam locomotives with tenders) at the
# end of the journey. These will genearlly take the most time to reverse.
#
# All times are in game seconds. In previous versions, these were specified in internal
# milliseconds by "unit_reverse_time" (etc.) without "_seconds", but these values
# had to be adjusted manually to match the meters per tile setting. The old keywords
# "(unit_reverse_time)" etc. still work, but are overridden by the "..._seconds" version
# where it is present.

unit_reverse_time_seconds=60
hauled_reverse_time_seconds=120
turntable_reverse_time_seconds=360

# This setting allows the power of all vehicles to be adjusted at once. It is a
# percentage figure. Thus, if, for example, a vehicle has a power rating of 1,200kw
# and the global_power_factor_percent is set to 200, it will behave in game as if
# it had a power rating of 2,400kw. This setting is applied *in addition to* the
# "gear" setting, such that, if a vehicle had a power rating of 1,200kw, a gear of
# 2.0 and the global_power_factor_percent was set to 200, the vehicle would behave
# as if it had a total power of 4,800kw.
#
# The default is 100 (but should be set to 50% for Standard paksets).

global_power_factor_percent=100

# This setting allows the way in which weight limits are enforced to be customised.
# If enforce_weight_limits is set to 0, weight limits are ignored entirely. If
# enforce_weight_limits is set to 1, then vehicles can travel over roads, rails,
# tunnels and bridges for which they are too heavy, but only at greatly reduced
# speed. If enforce_weight_limits is set to 2, then vehicles cannot travel over
# ways for which they are overweight at all.
#
# To revert to the behaviour of Simutrans-Standard, set enforce_weight_limits=0

enforce_weight_limits=2

# This setting controls whether players are permitted to buy vehicles after their
# retirement date. The default, allow_buying_obsolete_vehicles=1, allows players
# to buy old vehicles by clicking a "Show obsolete" button in the depot / replacer
# window. This button is not shown if this is set to 0.

allow_buying_obsolete_vehicles=0

# This allows for a "driving it off the lot" drop in value.
# This is not on by default, even in Experimental.
# vehicle can loose a part of their value, when they are once used
# the loss is given in 1/1000th, i.e 300 mean the value will be 70%

used_vehicle_reduction=1


############################### Display settings ###############################

# how long is a diagonal (512: faktor 2=1024/512, old way, 724: sqrt(2)=1024/724
# THIS WILL BE ONLY USED, WHEN THIS FILE IS IN THE pakxyz/config!
#diagonal_multiplier = 724

# Show info windows for private cars and pedestrians?
# (1=on, 0=off)
pedes_and_car_info = 1

# Show infos on trees?
# (1=on, 0=off)
tree_info = 1

# Show passenger level of townhalls?
# (1=on, 0=off)
townhall_info = 1

# always open only a single info window for the ground,
# even if there are more objects on this tile
only_single_info = 1

# Should stations get numbered names? (1=yes, 0=no)
numbered_stations = 0

# Show name signs and statistic?
# 0 = don't show anything
# 1 = station names
# 2 = statistics
# 3 = names and statistics
# The visual style is added to this number:
#   0 = black name in color box
#   4 = name in player color with outline
#   8 = box left of name in yellow outline
show_names = 7

# After how many months a citycar breaks (and will be forever gone) ...
# one day at current settings: 260s
citycar_life = 1375

# Colour of the cursor shading.
# Pak128 default = 155 (orange)
# Pak128.Britain default = 158 (yellow)
cursor_overlay_color = 158

# how height is a tile in z-direction (default 16, TTD 8)
# THIS WILL BE ONLY USED, WHEN THIS FILE IS IN THE pakxyz/config!
tile_height = 16

################################### River settings ##################################

# rivers:
# The highest number is the smallest. A river with max_speed==0 is not navigavable by ships.
river_type[0] = River3
river_type[1] = River2
river_type[2] = River1
river_type[3] = River0

# The number of rivers
river_number = 128

# river min length
river_min_length = 2

# river max length
river_max_length = 4096

################################### Tree settings ##################################

# These values have a substantial impact on the number of trees in the game.
# This, in turn, has a large impact on memory consumption and game performance.

# Number of trees on square 2 - minimal usable, 3 good, 5 very nice looking
forest_no_of_trees_per_square = 3

# Base forest size - minimal size of forest - map independent
forest_base_size = 36

# Map size divisor - smaller it is the larger are individual forests
forest_map_size_divisor = 128

# Forest count divisor - smaller it is, the more forest are generated
forest_count_divisor = 64

# Forest boundary sharpenss: 0 - perfectly sharp boundaries, 20 - very blurred
forest_boundary_blur = 16

# Forest boundary thickness  - determines how thick will the boundary line be
forest_boundary_thickness = 6

# Determines how dense are spare trees going to be planted (works inversly)
forest_inverse_spare_tree_density = 384

# climate with trees entirely (1: water, 2:desert, 4:tropic, 8:mediterran, 16:temperate, 32:tundra, 64:rocky, 128:arctic)
# zero (default) means no climate with at least one tree per tile
tree_climates = 4
# 36 = 32 + 4 = tundra,tropic

# climates with no trees at all (desert and arctic at the moment)
no_tree_climates = 130

# if set, no trees will be created at all (save about 30% memory and
# the season change will be much smoother on small machines)
no_tree = 0

################################### Network settings ##############################

# Pakset download URL (for display on the list server)
server_pakurl = https://github.com/downloads/jamespetts/simutrans-pak128.britain/Pak128.Britain-Ex.zip


################################### Livery settings ##################################

# These settings define livery schemes for vehicles. Each scheme can have a number
# of liveries, each with their own introduction dates. When a livery scheme is applied,
# the livery of that scheme with the latest introduction date that is not in the
# future will be selected. The livery scheme's retirement date is the date after which
# that livery scheme can no longer be selected and applied. The retirement date is
# optional: with no retirement date specified, the livery does not retire.
#
# The following example defines two livery schemes (Yellow and Blue), each with two
# liveries (Bright-Yellow and Dark-Yellow and Navy-Blue and Royal-Blue respectively)
# with introduction dates. The default scheme will be the lowest number scheme available.

# livery_scheme[0] = Yellow
# retire_year[0] = 1990
# retire_month[0] = 4
# livery[0][0] = Bright-Yellow
# intro_year[0][0] = 1900
# intro_month[0][0] = 1
# livery[0][1] = Dark-Yellow
# intro_year[0][1] = 1950
# intro_month[0][1] = 5
#
# livery_scheme[1] = Blue
# livery[1][0] = Navy-Blue
# intro_year[1][0] = 1900
# intro_month[1][0] = 1
# livery[1][1] = Royal-Blue
# intro_year[1][1] = 1960
# intro_month[1][1] = 4

livery_scheme[0] = British-Railways
retire_year[0] = 1986
retire_month[0] = 6
livery[0][0] = BR-Early
intro_year[0][0] = 1948
intro_month[0][0] = 1
livery[0][1] = BR-Revised
intro_year[0][1] = 1956
intro_month[0][1] = 2
livery[0][2] = BR-Blue
intro_year[0][2] = 1966
intro_month[0][2] = 6
livery[0][3] = BR-Large-Logo
intro_year[0][3] = 1979
intro_month[0][3] = 6

livery_scheme[1] = LNWR
retire_year[1] = 1923
retire_month[1] = 1
livery[1][0] = LNWR-Early
intro_year[1][0] = 1846
intro_month[1][0] = 1
livery[1][1] = LNWR-Black
intro_year[1][1] = 1873
intro_month[1][1] = 4

livery_scheme[2] = LBSCR
retire_year[2] = 1923
retire_month[2] = 1
livery[2][0] = LBSCR-Early
intro_year[2][0] = 1846
intro_month[2][0] = 7
livery[2][1] = LBSCR-Craven
intro_year[2][1] = 1854
intro_month[2][1] = 7
livery[2][2] = LBSCR-Stroudley
intro_year[2][2] = 1870
intro_month[2][2] = 3
livery[2][3] = LBSCR-Marsh
intro_year[2][3] = 1903
intro_month[2][3] = 5
livery[2][4] = LBSCR-Late
intro_year[2][4] = 1911
intro_month[2][4] = 4

livery_scheme[3] = LMS
retire_year[3] = 1948
retire_month[3] = 1
livery[3][0] = LMS-Standard
intro_year[3][0] = 1923
intro_month[3][0] = 1

livery_scheme[4] = SR
retire_year[4] = 1948
retire_month[4] = 1
livery[4][0] = SR-Olive-Green
intro_year[4][0] = 1923
intro_month[4][0] = 1
livery[4][1] = SR-Malachite-Green
intro_year[4][1] = 1937
intro_month[4][1] = 9

livery_scheme[5] = MR
retire_year[5] = 1923
retire_month[5] = 1
livery[5][0] = MR-Early
intro_year[5][0] = 1844
intro_month[5][0] = 1
livery[5][1] = MR-Standard
intro_year[5][1] = 1883
intro_month[5][1] = 6

livery_scheme[6] = Royal-Mail
retire_year[6] = 1986
retire_month[6] = 6
livery[6][0] = RM-Early
intro_year[6][0] = 1952
intro_month[6][0] = 2
livery[6][1] = RM-Revised
intro_year[6][1] = 1981
intro_month[6][1] = 4
livery[6][2] = RES
intro_year[6][2] = 1991
intro_month[6][2] = 1

livery_scheme[7] = Inter-City
retire_year[7] = 1995
retire_month[7] = 4
livery[7][0] = IC-Executive
intro_year[7][0] = 1984
intro_month[7][0] = 5
livery[7][1] = IC-Swallow
intro_year[7][1] = 1987
intro_month[7][1] = 5

livery_scheme[8] = LNER
retire_year[8] = 1948
retire_month[8] = 1
livery[8][0] = LNER-Standard
intro_year[8][0] = 1923
intro_month[8][0] = 1

livery_scheme[9] = LNER-Streamliner
retire_year[9] = 1948
retire_month[9] = 1
livery[9][0] = LNER-Silver-Jubilee
intro_year[9][0] = 1935
intro_month[9][0] = 3
livery[9][1] = LNER-Cornoation
intro_year[9][1] = 1937
intro_month[9][1] = 7

livery_scheme[10] = GW-Franchise
retire_year[10] = 2500
retire_month[10] = 1
livery[10][0] = GWT
intro_year[10][0] = 1996
intro_month[10][0] = 2
livery[10][1] = FGW-Green
intro_year[10][1] = 1998
intro_month[10][1] = 9
livery[10][2] = Firstgroup-Mauve
intro_year[10][2] = 2002
intro_month[10][2] = 4
livery[10][3] = Firstgroup-Neon
intro_year[10][3] = 2006
intro_month[10][3] = 10

livery_scheme[11] = ECML-Franchise
retire_year[11] = 2500
retire_month[11] = 1
livery[11][0] = GNER
intro_year[11][0] = 1996
intro_month[11][0] = 1
livery[11][1] = National-Express
intro_year[11][1] = 2007
intro_month[11][1] = 3
livery[11][2] = East-Coast
intro_year[11][2] = 2010
intro_month[11][2] = 1

livery_scheme[12] = Grand-Central
retire_year[12] = 2500
retire_month[12] = 1
livery[12][0] = GC-Original
intro_year[12][0] = 2007
intro_month[12][0] = 8
livery[12][1] = GC-Daylight
intro_year[12][1] = 2010
intro_month[12][1] = 5

livery_scheme[13] = Wartime-Austerity
retire_year[13] = 1945
retire_month[13] = 9
livery[13][0] = WW1-Austerity
intro_year[13][0] = 1914
intro_month[13][0] = 7
livery[13][1] = WW2-Austerity
intro_year[13][1] = 1939
intro_month[13][1] = 9

livery_scheme[14] = NSE
retire_year[14] = 1995
retire_month[14] = 4
livery[14][0] = NSE-Standard
intro_year[14][0] = 1986
intro_month[14][0] = 6

livery_scheme[15] = Regional-Railways
retire_year[15] = 1995
retire_month[15] = 4
livery[15][0] = Regional-Railways-Standard
intro_year[15][0] = 1986
intro_month[15][0] = 6

livery_scheme[16] = London-Transport
retire_year[16] = 2500
retire_month[16] = 1
livery[16][0] = UERL
intro_year[16][0] = 1906
intro_month[16][0] = 1
livery[16][1] = LT
intro_year[16][1] = 1933
intro_month[16][1] = 1
livery[16][2] = LUL
intro_year[16][2] = 1990
intro_month[16][2] = 5

livery_scheme[17] = Island-Line
retire_year[17] = 2500
retire_month[17] = 1
livery[17][0] = Dinasours
intro_year[17][0] = 1996
intro_month[17][0] = 7
livery[17][1] = Island-Heritage
intro_year[17][1] = 2007
intro_month[17][1] = 1

livery_scheme[18] = GNR
retire_year[18] = 1923
retire_month[18] = 1
livery[18][0] = GNR-Standard
intro_year[18][0] = 1846
intro_month[18][0] = 6

# Special generic livery for assorted
# liveries of non-London 'buses
livery_scheme[19] = Regional
retire_year[19] = 2500
retire_month[19] = 1
livery[19][0] = Non-London
intro_year[19][0] = 1750
intro_month[19][0] = 1

# See: http://www.gersociety.org.uk/index.php?option=com_content&view=article&id=23&Itemid=32
livery_scheme[20] = GER
retire_year[20] = 1923
retire_month[20] = 1
livery[20][0] = GER-Pea-Green
intro_year[20][0] = 1863
intro_month[20][0] = 1
# Similar to early Midland green
livery[20][1] = GER-Dark-Green
intro_year[20][1] = 1869
intro_month[20][1] = 5
livery[20][2] = GER-Black
intro_year[20][2] = 1876
intro_month[20][2] = 8
# Black for goods locomotives
livery[20][3] = GER-Ultramarine
intro_year[20][3] = 1882
intro_month[20][3] = 5
# Wartime livery was mid grey.

livery_scheme[21] = FR
retire_year[21] = 2500
retire_month[21] = 1
livery[21][0] = FR-Royal-Purple
intro_year[21][0] = 1863
intro_month[21][0] = 7
livery[21][1] = FR-Royal-Purple-Cream
# Guessed date - no information to hand
intro_year[21][1] = 1889
intro_month[21][1] = 8
livery[21][2] = FR-Col-Stephens
intro_year[21][2] = 1925
intro_month[21][2] = 4
livery[21][3] = FR-Green-Cream
intro_year[21][3] = 1955
intro_month[21][3] = 7
livery[21][4] = FR-Cherry-Red
# Guessed date - no information to hand
intro_year[21][4] = 1969
intro_month[21][4] = 10
livery[21][5] = FR-Red-Cream
# Guessed date - no information to hand
intro_year[21][5] = 1991
intro_month[21][5] = 2

livery_scheme[22] = LMR
retire_year[22] = 1846
retire_month[22] = 1
livery[22][0] = LMR-Standard
intro_year[22][0] = 1829
intro_month[22][0] = 8

Note: Do not copy the livery section to the simuconf.tab of an earlier pakset (such as 0.8.4), or else livery weirdness might result.

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #27 on: April 10, 2013, 11:56:41 AM »
Bad news is, even with your config, it still crash with same error :-[ :-[

I am not sure what format I used before I change to xml, but I didn't change it before (so this should be bzip2). I tried binary (uncompressed) and still fails.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #28 on: April 10, 2013, 12:56:29 PM »
Very odd. Try just "zip".

Offline Milko

  • Devotee
  • *
  • Posts: 829
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #29 on: April 10, 2013, 01:17:04 PM »
Hello

May be related to the file "settings-experimental.xml" in folder "documents" present on the desktop?, You have tried to delete the file and reload the game?

Giuseppe

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #30 on: April 10, 2013, 06:58:36 PM »
This might be worth trying just in case something odd is going on there.

Edit: I have just looked at the debug output from trying to load the saved game from the beginning of the thread again, and it is apparent that the entire save game data is corrupted from the beginning - it just so happens that it only detects an error when it gets to the number of inter-city roads. Also, the simuconf.tab parameter for testing ought to be "saveformat = zipped", not "zip" as I had stated earlier.
« Last Edit: April 10, 2013, 07:09:35 PM by jamespetts »

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #31 on: April 11, 2013, 12:44:35 AM »
:-[

"zip" does not work...

deleting the "settings-experimental.xml" under documents/Simutrans does not work........

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #32 on: April 11, 2013, 08:28:25 AM »
As stated above, it ought instead of be "zipped" - can you try that?

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #33 on: April 11, 2013, 11:36:21 AM »
"zipped" does not work.

autosave does not work...

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #34 on: April 11, 2013, 01:05:17 PM »
Does re-saving an existing saved game that will load also always fail?

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #35 on: April 11, 2013, 03:53:23 PM »
Hm... I don't have any good 11.9003 savegame to load...

After loading 10.11+pak0.8.3 autosave in 11.9003 and re-save it as 11.9003+pak0.8.4 save file, loading that file fails.

The loaded save file is http://simutrans-germany.com/files/upload/autosave01.sve
And re-saved file is http://simutrans-germany.com/files/upload/1.sve

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #36 on: April 11, 2013, 06:08:30 PM »
Thank you for checking that. Can you check whether you have the same issue with the latest version of Standard? Thank you!

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #37 on: April 12, 2013, 12:48:02 PM »
Simutrans-Standard 112.2 r6390M + pak64 112.2 r1185 does not exhibit this issue.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #38 on: April 12, 2013, 12:49:18 PM »
May I ask - do you use the single user install?

Edit: Also - would you mind sending me/uploading an uncompressed binary version of your corrupted save file based on the game loaded from an earlier version and re-saved without being changed so that I can look for the differences between the two with a hex editor?

Apologies, incidentally, for asking so much: I am afraid that it is very difficult for me to test this properly without being able to reproduce the problem myself, so I have to rely on those who can. You have been most helpful.
« Last Edit: April 12, 2013, 10:20:28 PM by jamespetts »

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9567
  • Languages: De,EN,JP
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #39 on: April 12, 2013, 10:31:02 PM »
This rather indicates something is saved in another size than loded, if XML works.

And as mentioned before: The error is usually not in the city roads but in stuff saved before it. Could be even three objects before, with "luck".

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #40 on: April 12, 2013, 11:00:23 PM »
Yes, indeed, you are correct: my tests show that all of the data in loading/saving the settings are shifted up by one. The problem originates before even loading/saving the settings, a the pakset string is corrupted. Instead of "Pak128.Britain-Ex-0.8.3" or the like, the pakset string is: "E:\Saved Games\Simutrans-Experimental\Pak128.Britain-Ex-0." (or something similar, depending on which of the various saved games that have been uploaded in this thread is used). Because I cannot reproduce the problem in saving the game itself, I have yet to work out why/how this is occurring.

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #41 on: April 13, 2013, 02:06:17 AM »
http://simutrans-germany.com/files/upload/save.zip
Contains both uncompressed 10.11 save and corrupted RC 11.9003 save, zipped with 7-zip (so when extracted with 7-zip they should give two uncompressed files)

My saves are stored in user directory.

btw, this is what I get when I open up the load dialog.

Offline Markohs

  • DevTeam, Coder/patcher
  • Devotees (Inactive)
  • *
  • Posts: 1559
  • Languages: EN,ES,CAT
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #42 on: April 13, 2013, 02:17:12 AM »
mmm.... this is related to simutrans standard commit 6024 I think and if I'm not wrong the problem must be in how you merged loadsave_frame_t::get_info in experimental code.

But the detail of the bug might be somewere on that patch, because I experienced that bug when I developed the patch and fixed it before commiting. Something in experimental triggers the bug again, afaik.

Deleting save/_cached.xml *MIGHT* solve the bug too.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #43 on: April 13, 2013, 11:15:19 AM »
The oddest thing about this bug is that it appears to occur on some people's systems and not on others. May I ask - how long ago was this patch put into the code? I cannot find anything before March 2010 mentioning "loadsave_frame_t::get_info".

Edit: Also, I have yet to work out how to find a commit by SVN revision number in the Standard code - but I can find it on the Github mirrors by date.

Edit 2: I wonder whether this might be related to this issue...?
« Last Edit: April 13, 2013, 11:52:22 AM by jamespetts »

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #44 on: April 14, 2013, 06:31:27 PM »
I have not found a definitive solution to this problem (which is very hard when I cannot reproduce it) but I think that I have managed to produce a workaround on my Github branch. Unfortunately, this will not be effective without a new pakset version release, as it uses the pakset version string (which is not defined in 0.8.4 owing to an oversight) instead of the pakset folder name where it detects corruption of the pakset string (where the second character is a colon: this fix will only work in Windows, therefore, but the problem only appears to have occurred in Windows so far in any event).

I have also incidentally fixed a number of coding errors, tracked down with Dr. Memory, that did not produce known bugs but that were theoretically capable of causing unpredictable behaviour, which it is just possible might fix the issue, although there is no easy way of testing it.

Edit: In the meantime, I recommend using the XML save as a workaround.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #45 on: April 16, 2013, 06:18:39 PM »
Can all those who have had the problem re-test with RC 11.9004 to check whether this recurs?

Offline killwater

  • *
  • Posts: 221
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #46 on: April 16, 2013, 08:01:42 PM »
I'm sorry James mine is still crashing. Tried 3 times. Tried with 112.3 and 112.2 savegame version. 
zipped does not work
xml_zipped works
xml_bzip2 works but painfully slow

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #47 on: April 16, 2013, 09:35:13 PM »
This is extremely odd. Can you upload your saved games from this latest version?

Offline pwhk

  • *
  • Posts: 60
  • Languages: ZH, EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #48 on: April 19, 2013, 12:37:47 AM »
RC 11.9004 Doesn't work for me too... :(

The following save does not touch any new game config, and used the old config taken from previous testing (i.e. the config files are not touched in the update)
http://simutrans-germany.com/files/upload/1.sve

Offline killwater

  • *
  • Posts: 221
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #49 on: April 20, 2013, 07:58:27 PM »
Hello would you like zipped one?
Here it is:
http://simutrans-germany.com/files/upload/3.sve


djgoldsmith

  • Guest
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #50 on: April 21, 2013, 09:13:51 AM »
Hi,

I am also having this problem on a fresh build of RC-11.9004.   Looks like I am the first with the problem on linux.

Any save from the new version give the "Too many (x) city roads" message.   However, Saves from the previous release (111.2.1 experimental 10.27) do load.

One thing I have noticed is the strings in the load game dialog box are munged:
Saves from previous release (that work) are <Name> <Date> <Pak> <Simutrans Version> <Ex-Version>
Saves from 11.9004 Are <Name> <Date> </home/dang/build>

So it looks like the Pakname is being replaced with the build / run directory

You can see this also in pwhks post

btw, this is what I get when I open up the load dialog.



Will be having a root around to see if I can track down the problem.  Will keep you updated.

EDIT:

XML Saves work fine for me.



Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #51 on: April 21, 2013, 12:22:06 PM »
Yes - that I have discovered: the trouble is that, because I cannot reproduce the issue, I have no idea what actually happens in the code to cause this at save time. Any investigation that you are able to undertake that might provide some illumination would be most worthwhile.
« Last Edit: April 21, 2013, 01:23:18 PM by jamespetts »

Offline Vonjo

  • *
  • Posts: 273
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #52 on: April 21, 2013, 04:25:35 PM »
How about using another paksets? Does this problem occur with all paksets?
I didn't have this problem with pak128-standard. I haven't tried pak.brit-ex.

djgoldsmith

  • Guest
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #53 on: April 23, 2013, 08:33:42 PM »
I have worked out the problem :) , now just have to write a fix  ???.

It appears that the pakset string being too long causes the issue.  Currently the pakset string in the save file is the full working directory of the pak, as the array to hold it is limited to 64 characters then if it goes longer than this you get an overrun.
If you move the working directory of simutrans, then the problem goes away (or you can replicate it)

For example if I moved simutrans (and thus the pakset) from:

Code: [Select]
$/home/dang/build/simutrans-experimental/simutrans/Pak128.Britain-Ex-0.8.3  (73 Chars)
to  $/home/dang/simutrans/Pak128.Britain-Ex-0.8.3/   (45 Chars)

I could save in binary.  James to replicate the bug you could try running from a few directories down the tree.

You can also edit the save file and remove a few characters from the first string which also made it work for me.


I am working on a quick fix now,  was intending to string the pakset string from its current form (the full path) to just the working directory.  However, James I see in other posts you were asking about this string, and where it comes from (copyright?) If this is solved in the pakset then the problem should resolve itself.

It shouldn't take too long, but its my first (I hope on many) trip into the simutrans source, so its taking a bit of time to get my head around things.  And I haven't coded in standard c++ for about 5 years (been wasting my time with Python and NesC) so its taking a bit of time to adjust back.


Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #54 on: April 23, 2013, 10:14:50 PM »
Hmm - this is rather curious. Thank you very much for your work on this. Have you managed to track down where in the code the full path appears? I do not seem to get the full path at all when I look at the relevant part of loadsave.cc with a debugger - but which lines are you looking at exactly? The problem seemed to me to be precisely that the full path was being used somewhere where it ought not to be used, but I could never reproduce the problem and find out where the full path ended up being used incorrectly. If you are able to shed any light on that, that would be most helpful.

djgoldsmith

  • Guest
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #55 on: April 24, 2013, 08:36:39 AM »
Hi, sorry family called last night, so didn't make as much progress as I hoped.

Sticking some debug statements in it looks like the relevant code is in loadsave.cc lines
325 - 372
It appears to be the pakset_string variable written to file in line 358 that is the problem.

that's under the rc11-1004 tag

simutrans source is still only a day old as far as I am concerned, so it's all a bit of a mystery where function calls go, slowly starting to see bits of the big picture :)  I am interested in contributing, if there are any resources that could help me get started drop me a pm.  A quick heads up on what's what in the git repository would be useful, I am used to svn / bzr so haven't quite got that either.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #56 on: April 24, 2013, 10:45:39 PM »
I have just pushed one change to the Github repository which might conceivably make a difference to this issue: would you be so kind as to try re-compiling with the latest code and check whether the problem recurs?

More generally as to the code - what sort of thing did you want information about particularly? As you may know, Experimental is a fork of Standard, so I am rather unfamiliar myself with many parts of the code that have not changed significantly or at all from Standard to Experimental (the code for graphics, for example, or sound). The Github repository is what we use for Experimental - Standard primarily uses SVN, but there is an official Github mirror, which is used for merging the latest changes from Standard into Experimental. There are a number of branches. "Master" is always the latest released version (here, 10.27). There are a number of older branches for previous projects since merged, and a 10.x branch that will soon be superseded by a 11.x branch that deals with bug fixes based on the latest main version. The current branch on which development is occurring is the 112.x-private-car-merge branch, which is a merger of the 112.x-merge branch, itself a merger of Experimental and the changes in Standard 112.x, and the private-car-routing branch of Experimental, which introduced a number of new features.

In recent times, Bernd Gabriel has very helpfully done a lot of work on merging, and has also worked a great deal on the physics, which are different in Experimental to Standard (we have braking physics, for example). Information in this forum should give you some useful pointers about the Standard code, on which, of course, the Experimental code is closely based.

I hope that that is a helpful start - do let me know if you want more specific sorts of information and I shall try to assist.

djgoldsmith

  • Guest
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #57 on: April 27, 2013, 08:26:05 AM »
I am afraid that your change didn't work for me. I still get a too many roads error

Ref the Code,  thanks for pointing me in the direction of the forum, looks like an excellent place to start.
Started to understand how git works, and have an idea of what branch to develop on now.
Just need to delve a bit deeper into the simutrans source to try to get an idea of how it all hangs together.

Regards.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #58 on: April 27, 2013, 10:33:46 AM »
You say that you still get a too many roads error: may I check - are you trying to load a game that you saved with the previous code, or are you trying to save/load a new game? As the error occurs on saving, not loading, only the latter will be a proper test.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: [RC 11.9] Loading fails too many intercity roads (816)
« Reply #59 on: April 30, 2013, 11:32:37 PM »
I think that I have eventually found and fixed this issue, which was caused by too short a buffer in loadsave.cc (see this commit). In principle, this problem ought to affect Standard, too, so I am moving this to the Standard board, as the fix that I have applied in Experimental ought to work for Standard.

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9567
  • Languages: De,EN,JP
This cannot affect standard, as sizeof(SAVEGAME_PREFIX) is smaller than 77. If you want to play it save the buffer should have rather the size of char buf[sizeof(SAVEGAME_PREFIX)+sizeof(XML_SAVEGAME_PREFIX)+ 2 ]

Offline killwater

  • *
  • Posts: 221
Saving is working for me with RC11.9006

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18745
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Excellent! Thank you for testing.