Commit Graph

2464 Commits (ce3707fbbf464de727611eec009288c1899e49ec)

Author SHA1 Message Date
Jonathan G Rennison 4ccbb11440 Only show level crossing overlay sprites on outsides of multi-track crossings
When using both adjacent crossings and safer crossings
3 years ago
dP ad90e88ebd
Change: Make pf.yapf.rail_firstred_twoway_eol on by default (#9544) 3 years ago
Jonathan G Rennison f16657ec96 Fix running costs divider settings saveload 3 years ago
Jonathan G Rennison 33bedf0061 Allow changing running cost divider settings in game 3 years ago
Jonathan G Rennison fddc9fb975 Increase max value of running cost divider settings 3 years ago
reldred 904ff346c2 Initial commit to allow configuring running costs as a fraction (1/1 default thru 1/4) independently for both vehicles stopped in depots (doesn't work for planes, I'm not smart enuff), or vehicles that are stationary. 3 years ago
Jonathan G Rennison fc58ed9987
Codechange: Remove CargoSpec::multipliertowngrowth which is unused (#9701)
This is set by cargo property 19.
This property is only implemented in TTDPatch.
3 years ago
Jonathan G Rennison 3308edf792 Try to extend reservation when passing sighting distance of non-end signal 3 years ago
Jonathan G Rennison 3d4261a33a Merge branch 'master' into jgrpp
# Conflicts:
#	src/order_cmd.cpp
#	src/table/settings/news_display_settings.ini
3 years ago
Guillaume Renoult c38af72978
Update: add setting to hide news about competitors vehicle crash (#9653) 3 years ago
Jonathan G Rennison 9e946d4c5d Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/command.cpp
#	src/console_cmds.cpp
#	src/group_gui.cpp
#	src/lang/catalan.txt
#	src/lang/czech.txt
#	src/lang/danish.txt
#	src/lang/greek.txt
#	src/lang/hungarian.txt
#	src/lang/irish.txt
#	src/lang/japanese.txt
#	src/lang/luxembourgish.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/romanian.txt
#	src/lang/russian.txt
#	src/lang/serbian.txt
#	src/lang/simplified_chinese.txt
#	src/lang/slovak.txt
#	src/lang/spanish_MX.txt
#	src/lang/swedish.txt
#	src/lang/tamil.txt
#	src/lang/traditional_chinese.txt
#	src/lang/turkish.txt
#	src/lang/ukrainian.txt
#	src/lang/vietnamese.txt
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_func.h
#	src/network/network_internal.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/saveload/afterload.cpp
#	src/saveload/newgrf_sl.cpp
#	src/saveload/saveload.h
#	src/script/script_instance.cpp
#	src/toolbar_gui.cpp
#	src/toolbar_gui.h
#	src/vehicle_gui.cpp
#	src/widgets/rail_widget.h
#	src/widgets/vehicle_widget.h
#	src/window.cpp
3 years ago
Jonathan G Rennison 3cff5e53e4 Add train cached_curve_speed_mod to VENC, cache checks and debug window 3 years ago
Jonathan G Rennison 324e90e5ac Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/lang/arabic_egypt.txt
#	src/lang/english.txt
#	src/lang/greek.txt
#	src/network/core/tcp_connect.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/pathfinder/npf/npf.cpp
#	src/pathfinder/yapf/yapf_ship.cpp
#	src/rail_gui.cpp
#	src/settings_table.cpp
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/table/settings/gui_settings.ini
#	src/town_cmd.cpp
#	src/widgets/rail_widget.h
3 years ago
Jonathan G Rennison faf32200cf Merge tag '12.0-beta1' into jgrpp-beta
# Conflicts:
#	CMakeLists.txt
#	bin/ai/CMakeLists.txt
#	bin/game/CMakeLists.txt
#	src/build_vehicle_gui.cpp
#	src/console_cmds.cpp
#	src/core/overflowsafe_type.hpp
#	src/fios.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/polish.txt
#	src/network/core/game_info.cpp
#	src/network/core/game_info.h
#	src/network/core/tcp_game.cpp
#	src/network/core/tcp_game.h
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_coordinator.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf_engine.cpp
#	src/openttd.cpp
#	src/rev.cpp.in
#	src/settings_type.h
#	src/train.h
#	src/train_cmd.cpp
3 years ago
Jonathan G Rennison f764fcfb1f Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/console_cmds.cpp
#	src/debug.cpp
#	src/lang/vietnamese.txt
#	src/network/core/address.cpp
#	src/network/core/address.h
#	src/network/core/config.h
#	src/network/core/os_abstraction.cpp
#	src/network/core/os_abstraction.h
#	src/network/core/tcp_listen.h
#	src/network/core/udp.cpp
#	src/network/core/udp.h
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_gamelist.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf.cpp
#	src/openttd.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/settings_table.cpp
#	src/settings_type.h
#	src/table/settings/network_settings.ini
3 years ago
Jonathan G Rennison 1e0bea5b8d Replace FindFirstBit/FindFirstBit64 with a single template function 3 years ago
Jonathan G Rennison f54d69a60a Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/economy.cpp
#	src/elrail.cpp
#	src/graph_gui.cpp
#	src/linkgraph/linkgraph_gui.cpp
#	src/network/core/game_info.cpp
#	src/newgrf_station.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/station_gui.cpp
#	src/strings_func.h
#	src/table/settings/network_settings.ini
#	src/table/settings/settings.ini
3 years ago
Jonathan G Rennison 62afd94b47 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/company_cmd.cpp
#	src/economy.cpp
#	src/lang/swedish.txt
#	src/network/network_command.cpp
#	src/news_gui.cpp
#	src/saveload/saveload.h
#	src/script/api/script_list.cpp
#	src/video/cocoa/cocoa_v.mm
#	src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison 61cc60099a Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
3 years ago
Jonathan G Rennison da282c3ecc Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/ci-build.yml
#	CMakeLists.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/korean.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/russian.txt
#	src/lang/spanish.txt
#	src/misc_gui.cpp
#	src/newgrf.cpp
3 years ago
Jonathan G Rennison 81290df946 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/lang/spanish.txt
#	src/network/core/tcp_content_type.h
#	src/network/network_content.cpp
#	src/saveload/cheat_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/station_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_internal.h
#	src/table/settings.h.preamble
#	src/table/settings/company_settings.ini
#	src/table/settings/currency_settings.ini
#	src/table/settings/gameopt_settings.ini
#	src/table/settings/misc_settings.ini
#	src/table/settings/settings.ini
#	src/table/settings/win32_settings.ini
#	src/table/settings/window_settings.ini
3 years ago
Jonathan G Rennison ffef1c9e44 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/cheat_sl.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/engine_sl.cpp
#	src/saveload/map_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/station_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/stdafx.h
#	src/table/settings/settings.ini
#	src/town_cmd.cpp
#	src/vehicle.cpp
3 years ago
Jonathan G Rennison 944f090b46 Add settings for minimum contiguous landmass size for town/city placement 3 years ago
Jonathan G Rennison 544da99102 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/cargopacket.h
#	src/lang/korean.txt
#	src/linkgraph/linkgraph.h
#	src/linkgraph/linkgraphjob.h
#	src/linkgraph/linkgraphschedule.h
#	src/network/network_admin.h
#	src/network/network_func.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/order_base.h
#	src/rail_cmd.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/depot_sl.cpp
#	src/saveload/economy_sl.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/saveload/map_sl.cpp
#	src/saveload/newgrf_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/signs_sl.cpp
#	src/saveload/station_sl.cpp
#	src/saveload/subsidy_sl.cpp
#	src/saveload/town_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/script/api/script_object.cpp
#	src/settings.cpp
#	src/string.cpp
#	src/string_func.h
#	src/table/CMakeLists.txt
#	src/table/settings/settings.ini
#	src/viewport_sprite_sorter_sse4.cpp
3 years ago
Jonathan G Rennison 406b81abb1 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/economy.cpp
#	src/lang/traditional_chinese.txt
#	src/order_gui.cpp
#	src/settings.cpp
#	src/settings_internal.h
#	src/table/company_settings.ini
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/table/win32_settings.ini
#	src/table/window_settings.ini
3 years ago
Jonathan G Rennison 784fcbd1e7 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
3 years ago
Jonathan G Rennison 781aaa4fe5 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/company_settings.ini
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/table/win32_settings.ini
#	src/table/window_settings.ini
3 years ago
Jonathan G Rennison 9254be5b3c Debug: Show info of all aircraft parts in vehicle debug window 3 years ago
Jonathan G Rennison c64f48f2bd Debug: Add direction and spritenum info to vehicle debug window 3 years ago
Tyler Trahan fb0549ea59 Feature: Configurable subsidy duration
(cherry picked from commit d09210e1c6)
3 years ago
Jonathan G Rennison 4042480806 Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/company_settings.ini
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/table/win32_settings.ini
#	src/table/window_settings.ini
3 years ago
Jonathan G Rennison c47fd30330 Include docking tiles in station debug window 3 years ago
Jonathan G Rennison 65c20edde7 Settings: Merge orderproc into guiproc 3 years ago
Jonathan G Rennison db11c1d927 Add setting description help text for extra asymmetric linkgraph modes
See also: #321
3 years ago
Jonathan G Rennison 47156122fa Settings: Add a guiproc callback for general settings GUI operations 3 years ago
Jonathan G Rennison fd605e3cf3 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/commit-checker.yml
#	src/company_cmd.cpp
#	src/console_cmds.cpp
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/indonesian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/swedish.txt
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/mcf.cpp
#	src/network/core/tcp.cpp
#	src/network/core/tcp.h
#	src/network/core/tcp_game.h
#	src/network/core/udp.h
#	src/network/network.cpp
#	src/network/network_admin.cpp
#	src/network/network_admin.h
#	src/network/network_chat_gui.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_func.h
#	src/network/network_internal.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf.cpp
#	src/newgrf_station.cpp
#	src/order_gui.cpp
#	src/rail_cmd.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/currency_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/terraform_cmd.cpp
#	src/timetable_gui.cpp
#	src/train_cmd.cpp
#	src/tree_cmd.cpp
#	src/water_cmd.cpp
3 years ago
Jonathan G Rennison 0b0d154788 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/ci-build.yml
#	src/lang/german.txt
#	src/lang/romanian.txt
#	src/lang/slovak.txt
#	src/lang/turkish.txt
#	src/network/core/address.cpp
#	src/network/core/tcp.h
#	src/network/core/udp.cpp
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/network/network_udp.cpp
#	src/openttd.cpp
#	src/saveload/newgrf_sl.cpp
#	src/tree_cmd.cpp
#	src/video/video_driver.hpp
#	src/window.cpp
#	src/window_gui.h
3 years ago
Patric Stout b8f9e24189
Fix #9484: update locale currencies settings mapping (#9559) 3 years ago
Jonathan G Rennison da1ac73c02 Merge commit 'f1dfa661a1898cde06a38ab4cb230c95912b245b' into jgrpp-beta
# Conflicts:
#	src/lang/estonian.txt
#	src/lang/hungarian.txt
#	src/network/core/game_info.cpp
#	src/network/core/game_info.h
#	src/network/core/packet.h
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/openttd.cpp
#	src/string_func.h
3 years ago
Jonathan G Rennison 2e626d70e8 Debug: Add minimum_life to house debug window 3 years ago
Jonathan G Rennison 2bd535e834 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/engine_base.h
#	src/gfxinit.cpp
#	src/graph_gui.cpp
#	src/lang/brazilian_portuguese.txt
#	src/lang/dutch.txt
#	src/lang/french.txt
#	src/lang/korean.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/portuguese.txt
#	src/lang/russian.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/network/core/address.cpp
#	src/network/core/game_info.h
#	src/network/core/os_abstraction.h
#	src/network/core/udp.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_internal.h
#	src/newgrf_engine.cpp
#	src/settings_gui.cpp
#	src/station_cmd.cpp
#	src/string_func.h
#	src/town_gui.cpp
#	src/video/video_driver.cpp
#	src/widget_type.h
3 years ago
Jonathan G Rennison afd66c1631 Show linear scaling value in settings window for cargo scaling settings 3 years ago
Tyler Trahan 7469f00c5b
Feature: Hide block signals in GUI by default (#8688) 3 years ago
Jonathan G Rennison 964ea7b910 Debug: Show realistic braking approach speeds in debug window 3 years ago
Jonathan G Rennison 5d351a14d2 Add new signal type: no-entry signal
This is only passable in one direction, but does not have a signal
or show an aspect in the opposite direction

Add a setting for whether this is shown in the signal UI.
Off by default.
3 years ago
Rubidium 92559e6f3a Fix #9388: thread unsafe use of NetworkAdminConsole/IConsolePrint 3 years ago
Jonathan G Rennison 16f2ef227b Store tunnel/bridge signal spacing on tile, adjust spacing to fit length 3 years ago
Jonathan G Rennison bfef89344d Show depot reservation state in railtype debug window 3 years ago
Jonathan G Rennison b2ef6c0de8 Add implementation of multi-aspect signalling and GRF support
Requires realistic braking

See: #247
3 years ago
Vít Šefl 2183fd4dab
Feature: [NewGRF] Maximum curve speed modifier for rail vehicles (#9346) 3 years ago
Patric Stout 4c1ea4020d
Change: remove the ability to control "max spectators" (#9466)
Soon we will make "join game" join the game as spectator first,
so limiting the amount of spectators makes no sense anymore in
that context. Not sure it ever did make sense.
3 years ago
Jonathan G Rennison e76c5dfda7 Revert "Temporarily mark dual pane train purchase window as experimental"
This reverts commit f9bb004b05.
3 years ago
Rubidium 1c8f4bfaef Fix #9388: thread unsafe use of NetworkAdminConsole/IConsolePrint
(cherry picked from commit d7a0e80fc18b689455eaca09883fccbcc722d7e3)

# Conflicts:
#	src/debug.cpp
#	src/debug.h
#	src/table/settings/gui_settings.ini

See: https://github.com/OpenTTD/OpenTTD/pull/9456
3 years ago
Patric Stout fa1e27994d Feature: allow the use of TURN to connect client and server together
TURN is a last resort, used only if all other methods failed.
TURN is a relay approach to connect client and server together, where
openttd.org (by default) is the middleman.

It is very unlikely either the client or server cannot connect to
the STUN server, as they are both already connected to the Game
Coordinator. But in the odd case it does fail, estabilishing the
connection fails without any further possibility to recover.
3 years ago
Patric Stout b6a116a247
Add: allow setting your server visibility to "invite-only" (#9434)
In this mode you do register to the Game Coordinator, but your
server will not show up in the public server listing. You can give
your friends the invite code of the server with which they can
join.
3 years ago
Patric Stout e4d216e44b Feature: join servers based on their invite code
This removes the need to know a server IP to join it. Invite codes
are small (~7 characters) indentifiers for servers, which can be
exchanged with other players to join the servers.
3 years ago
Rubidium ede3f79475 Codechange: use the name string in SaveLoad for the name of the Setting as well 3 years ago
Rubidium 94881f5a34 Codechange: name a few unnamed settings as to not to have to check for that being empty 3 years ago
Patric Stout 8f5d0ecde3
Codechange: split settings.ini over several files (#9421)
This reduced the load on compilers, as currently for example MacOS
doesn't like the huge settings-tables.

Additionally, nobody can find settings, as the list is massive and
unordered. By splitting it, it becomes a little bit more sensible.
3 years ago
Jonathan G Rennison f9bb004b05 Temporarily mark dual pane train purchase window as experimental
See: #287, #296, #297
3 years ago
rubidium42 25ca6a75bc Codechange: split off the settings table and all the callbacks from the main settings handling logic 3 years ago
Jonathan G Rennison 158608442c Merge pull request #281 from VacuumBreather/train_speed_adaptation
# Conflicts:
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/extended_ver_sl.h
3 years ago
Patric Stout 1ed2405907 Cleanup: remove SLE_NULL and friends
We no longer need them. If you want to remove a field .. just
remove it! Because of the headers in the savegame, on loading,
it will do the right thing and skip the field.

Do remember to bump the savegame version, as otherwise older
clients can still load the game, but will reset the field you
have removed .. that might be unintentially.
3 years ago
Patric Stout cdb3dd0493 Add: store headers for most savegame chunks
When a header is added, the chunk changes from CH_ARRAY type to
CH_TABLE type.
3 years ago
Patric Stout 7dd5fd6ed4 Feature: framework to make savegames self-descriptive
We won't be able to make it fully self-descriptive (looking at you
MAP-chunks), but anything else can. With this framework, we can
add headers for each chunk explaining how each chunk looks like
in detail.

They also will all be tables, making it a lot easier to read in
external tooling, and opening the way to consider a database
(like SQLite) to use as savegame format.

Lastly, with the headers in the savegame, you can freely add
fields without needing a savegame version bump; older versions
of OpenTTD will simply ignore the new field. This also means
we can remove all the SLE_CONDNULL, as they are irrelevant.

The next few commits will start using this framework.
3 years ago
Patric Stout 75b6051b7a Change: move sensitive information to secrets.cfg and private information to private.cfg
We often ask people for their openttd.cfg, which now includes their
passwords, usernames, etc. It is easy for people to overlook this,
unwillingly sharing information they shouldn't.

By splitting this information over either private.cfg or secrets.cfg,
we make it more obvious they shouldn't be sharing those files, and
hint to what is inside them.
3 years ago
Patric Stout a42251fc72 Codechange: move network-related settings out of settings.ini
This to prepare the code to split up network-related settings
into private / secrets / generic.
3 years ago
Jonathan G Rennison 0773dde669
Merge pull request #287 from VacuumBreather/advanced_train_purchase_window
Advanced train purchase window
3 years ago
Jonathan G Rennison 5e418128da Add setting for whether to use dual pane train purchase window 3 years ago
embeddedt 883e4ea325
Change: [Emscripten] set default scrolling mode to non-pointer-locking (#9191) 3 years ago
Jonathan G Rennison 84f973880b Add signal speed restriction to vehicle debug info 3 years ago
Jonathan G Rennison 3bba9ef37a Fix setting name 3 years ago
Jonathan G Rennison 879a23811f Clear state when setting changed 3 years ago
rubidium42 98e653dacc Fix #9386: compilers failing to compile with LTO by using variants instead of new + unique_ptr
With std::variant all memory can be figured out at compile time, so the compiler needs to keep track of fewer elements. It also saves out a unique_ptr and its memory management, over a slight impact for resolving a setting.
3 years ago
rubidium42 f35e6c1c7f Codechange: use C-style strings instread of std::string in the SettingDesc constructor
This as using std::string causes much more variables to be tracked, potentially causing problemes for certain compilers in certain situations
3 years ago
rubidium42 f029fd0f3b Codechange: remove overloading on UpdateServiceInterval
One UpdateServiceInterval has two parameters to update the service interval for a vehicle type, the other for all vehicle types at once. Rename the latter to help with function resolution for the introduction of variants.
3 years ago
Andreas Schmitt debc504e59 Add a setting for train speed adaptation
Prior to this change, without realistic breaking, trains would continuously run into the train in front of them. This makes them adjust their speed based on trains in front of them
3 years ago
reldred 0eb32a55f9 change the tree line width for arctic tree line patch from 20 to 64 3 years ago
Andreas Schmitt 3b4cbd3323 Improve tree placement
Prior to this change, trees tended to either cover the entire map like an ancient forest, or alternatively you turn off their growth which breaks industry. Furthermore there are these ugly random tree clumps at the beginning of the game which look like squares on the map someone placed there.

This change adds a new tree placing setting which removes the ugly random clumps and only slightly modifies the initial placement. The actual growth causes trees to bunch up in higher levels as usual but on the lower 4 levels their growth works differently. The number of trees per tile is limited and the trees spread out over a wider area instead of only to the neighboring tile. That spreads them out more and makes for a nicer look.

This also allows cacti to spread, since they can now use that same algorithm and avoid bunching up, but spread as they should.
3 years ago
Jonathan G Rennison ac9749d015 Merge PR #283 (max city height) into jgrpp 3 years ago
Jonathan G Rennison 24834c86f7 Allow changing max town height level setting in-game (for town founding) 3 years ago
Andreas Schmitt 5fe1963feb Lower minimum to 2 3 years ago
Andreas Schmitt a17efcd7d5 Introduce setting for a max height level for towns
Prior to this change, the game tended to place towns on mountain tops. Realistic heightmaps had limitations because of this.

This change allows the player to specify that the towns should be generated in the valleys.
3 years ago
Jonathan G Rennison 3a67065332 Add a build public roads button to the scenario editor 3 years ago
Jonathan G Rennison e46fb1aa99 Fix loading of build public roads setting from JokerPP savegames 3 years ago
Andreas Schmitt 150e502cf9 Add generation of public roads linking towns 3 years ago
Andreas Schmitt d718ba62ef Add option to sort tracks by category and speed (#282) 3 years ago
Andreas Schmitt ec40677fdc Add a setting to turn off road vehicle slowdown in curves
Prior to this change, road vehicles would always slowdown in curves. This forces the player to build grid like roads. With new height levels and more mountainous maps and in the absense of diagonal roads this causes unnecessary pain. It should be an option to turn this off, so mountainous maps and curvy roads are not punishing the player unnecessarily. Nobody wants to build grid like roads outside of towns.
3 years ago
Jonathan G Rennison 0b80461cd4 Merge branch 'pr-270' into jgrpp
# Conflicts:
#	src/lang/english.txt
#	src/settings_type.h
#	src/table/settings.ini
3 years ago
Jonathan G Rennison 696fb746b7 Add setting for demolition confirmation mode 3 years ago
Patric Stout 97b94bdc9a Change: prefix SL_ARR with the length of the array
This means that during loading we can validate that what is saved
is also that what is expected. Additionally, this makes all list
types similar to how they are stored on disk:
First a gamma to indicate length, followed by the data.
The size still depends on the type.
3 years ago
Jonathan G Rennison 3392d25aa3 Merge PR #274 into jgrpp 3 years ago
Jonathan G Rennison 1cc8053003 Add setting to control station rating tooltip detail level
Default to simple
3 years ago
Jonathan G Rennison 8485ed724b Add {PLUS_NUM} string code which includes leading + for positive values 3 years ago
Jonathan G Rennison 2cd1740c01 Merge PR #268 into jgrpp 3 years ago
Jonathan G Rennison fd4b5cc083 Add buttons to cargo payment graph to select x-axis
Save in misc settings
3 years ago
Jonathan G Rennison f438daa0bc Use localised units for payment graph X axis
Match quantities in graph title
3 years ago
Jonathan G Rennison 229f856327 Merge PR #275 into jgrpp 3 years ago
rubidium42 bf500c39c9 Codechange: make the name of SettingDesc a std::string 3 years ago
Andreas Schmitt da4de2c959 Improve lake generation
Prior to this change, lakes could be very small and could also not be deactivated.

This change allows the deactivation of lake creation and the lake size is now the set size +- 25% instead of anything between 0 and lake_size.
3 years ago
Tyler Trahan d09210e1c6 Feature: Configurable subsidy duration 3 years ago
Jonathan G Rennison 7aa63e9726 Update status bar sizing when changing date/time display settings 3 years ago
Jonathan G Rennison a7d8c6fe0c Add PF setting for whether to pathfind up to back of one-way PBS 3 years ago
Patric Stout 648ee88a02 Codechange: merge guiflags and flags in settings .ini files
It was rather confusing which one was for what, especially as some
SaveLoad flags were settings-only. Clean up this mess a bit by
having only Setting flags.
3 years ago
Patric Stout feb2ddbefa
Codechange: rename SettingGuiFlag to SettingFlag (#9332)
It is a lovely organicly grown enum, where it started off with
GUI-only flags, and after that a few flags got added that can be
considered GUI-only (the GUI disables/enables based on them), to
only have flags added that has nothing to do with the GUI.

So be less confusing, and rename them to what they do.

Additionally, I took this opportunity to rename 0ISDISABLED to
reflect what it really does.
3 years ago
Patric Stout e9e4588db1
Codechange: use setting name instead of index for HandleOldDiffCustom() (#9311) 3 years ago
Patric Stout d70fb74ac6
Codechange: use setting name instead of index for CmdChange(Company)Setting (#9306)
This is mostly done as there are now constraints on settings.ini you might not
expected. For example, conditional settings always have to come last, as otherwise
they would influence the index.
3 years ago
glx22 5799402f7a Codechange: Rename window related DeleteXXX to match new behaviour 3 years ago
Patric Stout b0f44d7eb1 Doc: describe what each settings-file is about 3 years ago
Patric Stout e58046c947 Codechange: move all settings.ini files to table/settings 3 years ago
rubidium42 4c0e083128 Cleanup: set the base in the setting templates, instead of defining the base for every setting
This has the added benefit of not getting mistaken that multiple bases can be used for the same SettingTable
3 years ago
rubidium42 4144e949ed Fix: [Network] Prevent an empty server name to be set anywhere 3 years ago
rubidium42 08308d808c Codechange: use separate pre and post callbacks for int settings 3 years ago
rubidium42 e2f5d9e561 Codechange: use separate pre and post callbacks for string settings 3 years ago
rubidium42 ac99a38175 Cleanup: remove and/or fix some confusing comments
The comments for SettingDescType; it is a byte, so not 4 bytes and since it is not a flag there are about 250 other possibilities left instead of 9.
SettingGuiFlag is uint16 so has 2 bytes allocated.
SettingDescGlobVarList and related comments imply that global vars cannot be used elsewhere, but they are used for settings just fine. Even then the type is not used anywhere else but the definition of the table.
3 years ago
rubidium42 86c9ef8134 Codechange: remove SettingDescType in lieu of the actual classes 3 years ago
rubidium42 3bb6ce8827 Codechange: use initializer_lists for the settings tables
Not using vectors as those require copying from the initializer list and that
makes unique_ptrs to the actual SettingDesc objects later impossible.
3 years ago
rubidium42 e666a962b1 Codechange: let OneOfMany and ManyOfMany be their own classes as well 3 years ago
rubidium42 860003458f Codechange: make BoolSettingDesc its own sub class 3 years ago
rubidium42 d8125fa46e Codechange: make sub classes of SettingDesc for the different types of settings 3 years ago
rubidium42 91b3d697c5 Codechange: make SettingDesc an instance in the setting table to allow for sub classes 3 years ago
Jonathan G Rennison 900a93ac59 Debug: Add sprite dumping to vehicle debug windows 3 years ago
PeterN dcb0cc2c52 Fix #9186: Fix incorrect bounding box height causing station sprite glitch. (#9187)
Increased height of small station building bounding box to cover the build rather than just the platform.

(cherry picked from commit ba193f2e23)
3 years ago
Jonathan G Rennison 3e8ee4f49f Remove "Disable vehicle image update" setting 3 years ago
Jonathan G Rennison a15e26f369 NewGRF: Elide unmasked vehicle callbacks where possible
This includes:
* CBID_VEHICLE_32DAY_CALLBACK
* CBID_VEHICLE_REFIT_COST
* CBID_VEHICLE_MODIFY_PROPERTY
  This is on a per-property basis

The main benefit of this is to avoid callbacks not handled by the
vehicle's current sprite group from using the full graphics chain as
the "default" branch in the callback switch.
In the case where the graphics chain is long/expensive, a lot of work
had to be done before a callback failure result was eventually returned.
3 years ago
rubidium42 44ca7d9377 Change: Use gender-neutral pronouns 3 years ago
frosch a9ff296c3d Codechange: add constant for number of original cargoes. 3 years ago
rubidium42 0f062b3882 Codechange: clean up C-string support from settings 3 years ago
rubidium42 95386dc2b8 Codechange: move misc settings to std::string 3 years ago
rubidium42 77330d09fd Codechange: move font settings to std::string 3 years ago
rubidium42 65cbde4b30 Codechange: move currency settings to std::string 3 years ago
rubidium42 2022e34824 Codechange: move locale settings to std::string 3 years ago
rubidium42 16437b7c0d Codechange: move client name in settings to std::string 3 years ago
rubidium42 02fdb5b210 Codechange: move server name/id in settings to std::string 3 years ago
rubidium42 cc6c078dec Codechange: move hostnames in settings to std::string 3 years ago
rubidium42 c73d64adf9 Codechange: move passwords in settings to std::string 3 years ago
Paweł Świątkowski 56a46f5cae Fix: Correct name of Golub-Dobrzyn 3 years ago
Paweł Świątkowski 6ee8690b47 Fix: Replace Susz with Leszno
Susz is masculine, not neuter, so it should result in "Susz Mazowiecki",
"Susz Morski", and not "Susz Mazowieckie" or "Susz Morskie". However,
because order of the names whould not be changed, it was replaced with
Leszno, which is neuter.
3 years ago
PeterN ba193f2e23
Fix #9186: Fix incorrect bounding box height causing station sprite glitch. (#9187)
Increased height of small station building bounding box to cover the build rather than just the platform.
3 years ago
rubidium42 e7581fd42d Change: [Network] Update server's NetworkServerGameInfo only when needed
Split the updating in a "static" version that only needs to be called when a new map is loaded or some settings are changed, and a "dynamic" version that updates everything that changes regularly such as the current game date or the number of spectators.
3 years ago
Jonathan G Rennison a9515456cb Merge branch 'master' into jgrpp
# Conflicts:
#	src/network/core/os_abstraction.h
#	src/network/core/tcp_content.h
#	src/network/core/udp.cpp
#	src/table/currency_settings.ini
#	src/table/settings.h.preamble
3 years ago
Patric Stout be37a2cab8 Codechange: use NetworkAddress instead of two host/port variables where possible
This also means we no longer need last_host/last_port, but can
just use a single last_joined setting.
3 years ago
rubidium42 b54d8a49fb Feature: allow non-ASCII currency separators 3 years ago
Jonathan G Rennison 8eb27e1ac7 Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/lang/japanese.txt
#	src/network/core/config.h
#	src/network/core/packet.cpp
#	src/network/core/tcp.cpp
#	src/network/network_content.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/toolbar_gui.cpp
#	src/vehicle_gui_base.h
3 years ago
Jonathan G Rennison ba418f9d0d Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/simplified_chinese.txt
#	src/network/core/tcp_content.cpp
#	src/network/core/udp.cpp
#	src/network/network_server.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/table/gameopt_settings.ini
3 years ago
Jonathan G Rennison e3193e7b9e Fix #248: Crash in debug window -> parent button for non-GRF industries 3 years ago
Patric Stout fda1a590f6 Change: use icons to indicate you/host in Online Players GUI 3 years ago
Patric Stout 5266359424 Feature: rework in-game Online Players GUI
The GUI now more clearly shows some basic information about the
server you joined, your client name (and the ability to change it),
and what players are in which company.

It also contains useful buttons to press to join companies, chat
with other people, and for admins to kick/ban people.

Additionally, renamed "advertised" to "visibility"; this has to
do with future additions, but also because it is more clear in
wording.
3 years ago
Jonathan G Rennison c14dcdadaf Debug: Log town growth fields in town debug window 3 years ago
Patric Stout 05612d60ae Remove: "language" field from server/client
The original idea was that people could find a server they could
talk in their native language on. This isn't really used in that
way. There are several reasons for removing this:

- the client also sends his "language" to the server, but nothing
  is doing anything with this.
- flags are a bad way to represent languages, and over the years
  we had several (rightfully) complaints about this.
- most servers have their language set to "All", and prefix the
  servername with the language it is about. This is a much more
  efficient way to do the same.

All in all, this feature should go back to the drawing board.
Maybe it could work in another form, but this form is not it.
3 years ago
Jonathan G Rennison 1fd620fd1f Debug: Show untranslated house IDs in debug window 3 years ago
Jonathan G Rennison 6a62b94263 Add NewGRF railtype flag to disable realistic braking for vehs of that type
See: #242
3 years ago
Jonathan G Rennison ba2e6087b2 Add train cache flag for whether train using realistic braking physics 3 years ago
Jonathan G Rennison b514d29db1 Replace TrainCache::cached_tilt with a flags field 3 years ago
reldred d1d27c0748 Adds additional zone configuration for cities, renames existing zone configuration to towns. 3 years ago
Jonathan G Rennison 272e583478 Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/korean.txt
#	src/settings.cpp
3 years ago
Jonathan G Rennison d484c32d44 Reduce sensitivity of train overheated breakdown 3 years ago
Patric Stout f0f2073006 Feature: allow a toggle to enable/disable vsync
Vsync should be off by default, as for most players it will be
better to play without vsync. Exception exist, mainly people who
play in fullscreen mode.
3 years ago
Jonathan G Rennison 227041008f Merge branch 'master' into jgrpp
# Conflicts:
#	src/debug.cpp
#	src/lang/russian.txt
#	src/misc_gui.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/font_win32.cpp
#	src/os/windows/win32.cpp
#	src/rail_cmd.cpp
#	src/window_gui.h
3 years ago
Jonathan G Rennison f39b6f4ba3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/cheat_gui.cpp
#	src/genworld_gui.cpp
#	src/landscape.cpp
#	src/lang/english.txt
#	src/saveload/afterload.cpp
#	src/screenshot.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/table/settings.ini
#	src/tile_type.h
#	src/widgets/genworld_widget.h
3 years ago
frosch c6781cbd44
Fix d4c3d01d: add plural form 14 to strgen. (#8999) 3 years ago
Niels Martin Hansen 49d370185b Change: Default music and sound effects volume to be lower 3 years ago
Jonathan G Rennison 6b0dfff39d Enable showing vehicle routes in the viewport by default 3 years ago
Jonathan G Rennison 5e14b54a0c Merge branch 'master' into jgrpp 3 years ago
Jonathan G Rennison 26a123b708 Realistic braking: Cache offset of centre of mass of train 3 years ago
reldred 213b6fe6ef Add PR #231: More river configuration options 3 years ago
Jonathan G Rennison 7e728fe9d6 Merge branch 'pr-230' into jgrpp 3 years ago
reldred 86e7cb6d18 Allow tile height to also play a part in determining the density of rocky patches. 3 years ago
Jonathan G Rennison 912c62d749 Add timetable lateness/earliness conditional order 3 years ago
Patric Stout 13a5264438 Fix: store the recent new game_creation settings in savegames
This allows us to later on see what someone did, and makes sure
that "restart" command still knows how the game was created.
3 years ago
Patric Stout f05e2e0d40 Feature: allow setting a custom terrain type to define highest peak
At least, TGP will try to reach it. It heavily depends on the map
if it is reachable at all. But for sure it will do its atmost to
get there!
3 years ago
Patric Stout 45c2c29c35 Add: allow setting the highest mountain for heightmaps
It will add some slack to the map height limit if that was set
to auto.
3 years ago
Patric Stout 422e132845 Feature: auto-detect map height limit based on generated map
This opens up the true power of the TGP terrain generator, as it
is no longer constrainted by an arbitrary low map height limit,
especially for extreme terrain types.

In other words: on a 1kx1k map with "Alpinist" terrain type, the
map is now really hilly with default settings.

People can still manually limit the map height if they so wish,
and after the terrain generation the limit is stored in the
savegame as if the user set it.

Cheats still allow you to change this value.
3 years ago
Patric Stout 1a1049bc0d Change: rename setting "max_heightlevel" to "map_height_limit"
This better reflects what it is, and hopefully removes a bit of
the confusion people are having what this setting actually does.

Additionally, update the text on the setting to better inform
users what it is doing exactly, so they can make an educated
decision on how to change it.

Next commit will introduce an "auto" value, which should be the
new default. The rename has as added benefit that everyone will
start out on the "auto" value.
3 years ago
Patric Stout 70bc55cfd6 Feature: setting to indicate desert coverage for tropic climate
This is an indication value; the game tries to get as close as it
can, but due to the complex tropic rules, that is unlikely to be
exact.

In the end, it picks a height-level to base the desert/tropic
line on. This is strictly seen not needed, as we can convert any
tile to either. But it is the simplest way to get started with
this without redoing all related functions.
3 years ago
Patric Stout cafe4eed6e Feature: setting to indicate snow coverage for arctic climate (replaces snow line height)
Setting the snow coverage (in % of the map) makes a lot more sense
to the human, while still allowing the niche player to set (by
finding the correct %) a snow line height they like. This makes for
easier defaults, as it decoupled terrain height from amount of snow.

Maps can never be 100% snow, as we do not have sprites for coastal
tiles.

Internally, this calculates the best snow line height to approach
this coverage as close as possible.
3 years ago
reldred 67c256f437 Add PR #228: New configure town zone multipliers 3 years ago
reldred 59631c1899 Hopefully fix the issues with the settings menu not showing up correctly. 3 years ago
reldred 7c6d73abfa Create new branch. Goals: Make rocks size patches and frequency configruable. Optional but highly desired: Make rocks denser/more frequent the higher the altitude (make that an optional bool?)
Also the number display is screwed in the settings gui. Same problem as my other patch. Need to compare it to what I did for the other var I did recently (tiles width around rivers to make desert go away) and fix this. This will do to start with.
3 years ago
Jonathan G Rennison abf8505c69 Add rainforest line height setting to map generation windows
See: #227
3 years ago
Jonathan G Rennison c45b4414df Merge branch 'pr-227' into jgrpp
Adjust settings patxname and guiflags
3 years ago
reldred 07397783f8 Allows configuring the height at which rainforests start, which by default was controlled by dividing the map maxheight by 4 in landscape.cpp. Default setting is 8 which matches and should provide default behavior in new map creation. 3 years ago
Jonathan G Rennison a670e369db Add setting for no vehicles introduced after given year 3 years ago
Jonathan G Rennison 3f4333bcc8 Add setting to enable non-admin multiplayer clients to rename towns 3 years ago
Matt Kimber bcb3313e13
Feature: allow setting maximum zoom level at which sprites are drawn (#8604) 3 years ago
frosch 28589db664 Fix: front/back sprites of action5 tram catenary were swapped. 3 years ago
Patric Stout b93d7dd3cb
Add: Option to (dis-)allow accelerated video drivers. (#8819)
The video drivers using the OpenGL backend are currently our only
accelerated drivers. The options defaults to off for macOS builds and
to on everywhere else.

Co-authored-by: Michael Lutz <michi@icosahedron.de>
3 years ago
Jonathan G Rennison 70f3993a55 CMake: Fix host strgen/settingsgen importing 3 years ago
Jonathan G Rennison 865cf79915 Fix missing override keywords 3 years ago
Jonathan G Rennison 59741b9f3c CMake: Fix HOST_BINARY_DIR cross compiling 3 years ago
Jonathan G Rennison 84a7ab180e Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/lang/greek.txt
#	src/table/settings.ini
3 years ago
Jonathan G Rennison f4e29071be Merge tag '1.11.0-beta2' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	src/blitter/32bpp_optimized.cpp
#	src/debug.cpp
#	src/gfx.cpp
#	src/gfx_func.h
#	src/lang/czech.txt
#	src/lang/english.txt
#	src/lang/italian.txt
#	src/lang/swedish.txt
#	src/lang/ukrainian.txt
#	src/network/network_server.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/win32.cpp
#	src/pathfinder/follow_track.hpp
#	src/screenshot.cpp
#	src/settings_type.h
#	src/spritecache.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/video_driver.cpp
#	src/video/video_driver.hpp
#	src/video/win32_v.cpp
3 years ago
Patric Stout 74aa934441 Codechange: validate that "max" value of settings fit in their storage
This is an easy mistake to make, so protect us against making such
mistakes, by validating it doesn't happen.
3 years ago
Patric Stout d7a70c67ba Fix: old snow_line_height had a higher maximum value than could be stored
So any old game made with this setting was overflowing anyway;
not really a lot we can do about that now.
3 years ago
Patric Stout a0c298a539 Fix: three max-values for settings could exceed their storage size 3 years ago
Patric Stout f183ded9fe Add: settings to limit your fast-forward game speed
By default this setting is set to 2500% normal game speed.

(cherry picked from commit c3dc27e37e)

# Conflicts:
#	src/gfx.cpp
#	src/gfx_func.h
#	src/settings_type.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/video_driver.cpp
#	src/video/win32_v.cpp
3 years ago
Patric Stout 8bc0089fc4
Fix c3dc27e3: put the max-value of fast-forward-speed-limit to within the storage size (#8769) 3 years ago
Patric Stout c3dc27e37e Add: settings to limit your fast-forward game speed
By default this setting is set to 2500% normal game speed.
3 years ago
Jonathan G Rennison 93f2d5e056 Add GUI setting for shading trees on slopes in viewports
Deafult on, only for non-map mode
(Slope shading is always on in map mode)
3 years ago
Jonathan G Rennison 4ef363422a Add 32bpp blitter support for adjusting brightness of drawn sprites 3 years ago
Michael Lutz e1e8cc3851
Fix #8734: [OpenGL] Apply palette remap to cursor sprites. (#8742) 3 years ago
Michael Lutz 6bcc4884c2 Add: [OpenGL] Accelerated mouse cursor drawing. 3 years ago
Michael Lutz e8fc050b6e Add: [OpenGL] Support for 8bpp blitters. 3 years ago
Michael Lutz 320072c8dc Codechange: [OpenGL] Explicitly assign which framebuffer target receives the colour values. 3 years ago
Michael Lutz 821f30f735 Codechange: [OpenGL] Use GLSL version 1.50 if available. 3 years ago
Michael Lutz 90fd8f8cda Codechange: [OpenGL] Use generic vertex attributes in the shader program. 3 years ago
Michael Lutz acf59f6b68 Codechange: [OpenGL] Use shaders to display the video buffer on screen. 3 years ago
Jonathan G Rennison dfecdf3afb Merge branch 'master' into jgrpp
# Conflicts:
#	src/dock_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/terraform_gui.cpp
#	src/vehicle.cpp
#	src/video/allegro_v.cpp
#	src/video/cocoa/cocoa_v.mm
#	src/video/dedicated_v.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
3 years ago
frosch d9b4413bc9
Codechange: rename sound ids to make more sense. (#8701) 3 years ago
Patric Stout 7996fadb91 Change: [Win32] Remove force_full_redraw and display_hz settings
These were special settings only for the win32-drivers, and
introduced in the very first version we track.

Time kinda had caught up with those variables, so it is time to
say farewell.

force_full_redraw was most likely a debug functionality "in case
our dirty-rect fails". This should no longer be needed.

display_hz was cute, as it had a max of 120. That is kinda
out-dated information, but I also doubt anyone was really using
this.
3 years ago
Jonathan G Rennison e95216b59d Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/core/geometry_func.cpp
#	src/date.cpp
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/object_gui.cpp
#	src/openttd.cpp
#	src/settings_type.h
#	src/video/allegro_v.cpp
#	src/video/dedicated_v.cpp
#	src/video/null_v.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
3 years ago
Patric Stout fa170b9ace Feature: configurable refresh-rate and change default to 60fps
Most modern games run on 60 fps, and for good reason. This gives
a much smoother experiences.

As some people have monitors that can do 144Hz or even 240Hz, allow
people to configure the refresh rate. Of course, the higher you
set the value, the more time the game spends on drawing pixels
instead of simulating the game, which has an effect on simulation
speed.

The simulation will still always run at 33.33 fps, and is not
influences by this setting.
3 years ago
Tyler Trahan fa88cb62e1
Fix cc39fa9: New orders are non-stop by default (#8689) 3 years ago
Michael Lutz 8bd2349ab6 Fix #8676, a2c3197f: GUI-visible settings may not be part of misc settings. 3 years ago
Michael Lutz 00c66e7096 Codechange: Allow early-load settings that are not misc settings. 3 years ago
Yourself 310bb876a2 Add: new town council "indifferent" attitude
Closes: #184
3 years ago
Jonathan G Rennison ed9410aba9 Debug: Add house population and mail generation to debug window 3 years ago
frosch 5a1fa18509 Change: move the 'road drive side' selection to settings tree, and give it the same 'basic' visibilty as 'signal side'. 3 years ago
frosch 81e47277e7 Change: move the 'tree placer algorithm' selection to the settings tree window, and give it the same 'basic' visibility as 'in-game tree placement'. 3 years ago
Michael Lutz 22f5aeab07 Feature: Automatic UI and font zoom levels when supported by the OS. 3 years ago
Michael Lutz a2c3197f42 Codechange: Make the settings for min/max zoom early load settings. 3 years ago
Michael Lutz e5c3253642 Add: [OSX] Setting to disable HiDPI graphics rendering. 3 years ago
Michael Lutz 84636fc2af Codechange: Remove all remaining uses of cpp_offset. 3 years ago
Michael Lutz 7845434270 Codechange: Don't use cpp_offsetof in the save/load code.
Many of the member variables that are used in save/load are inside types
that are not standard layout types. Using pointer arithmetics to determine
addresses of members inside types that are not standard layout is generally
undefined behaviour. If we'd use C++17, it is conditionally supported, which means
each compiler may or may not support it. And even then using it for individual
array elements is syntactically not supported the the standard offsetof function.

Unfortunately, the trickery employed for saving linkgraph settings causes quite some
clutter in the settings ini files.
3 years ago
SamuXarick 36ab9c64ef Fix: Desert/rainforest data coordinate 'y' is off by 1 when their 'x' coordinate is negative 3 years ago
Jonathan G Rennison 7154f8859d Merge tag '1.11.0-beta1' into jgrpp
# Conflicts:
#	src/console_cmds.cpp
#	src/gfx_func.h
#	src/industry.h
#	src/lang/czech.txt
#	src/lang/estonian.txt
#	src/lang/german.txt
#	src/lang/indonesian.txt
#	src/lang/japanese.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/russian.txt
#	src/lang/slovak.txt
#	src/saveload/saveload.h
#	src/station_gui.cpp
#	src/town_gui.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/waypoint_gui.cpp
3 years ago
Jonathan G Rennison b7ddd486cf Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/cargopacket.cpp
#	src/cheat_gui.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/core/pool_func.hpp
#	src/date.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/ground_vehicle.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/industry_cmd.cpp
#	src/lang/dutch.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/mcf.cpp
#	src/network/network_content.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_station.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/station_cmd.cpp
#	src/station_kdtree.h
#	src/string_func.h
#	src/table/settings.ini
#	src/tgp.cpp
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/tree_gui.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
#	src/viewport.cpp
#	src/viewport_sprite_sorter_sse4.cpp
#	src/window.cpp
3 years ago
Jonathan G Rennison f9956d88c3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/aircraft_cmd.cpp
#	src/company_gui.cpp
#	src/lang/arabic_egypt.txt
#	src/lang/czech.txt
#	src/lang/esperanto.txt
#	src/lang/faroese.txt
#	src/lang/finnish.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/latvian.txt
#	src/lang/malay.txt
#	src/lang/polish.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/lang/unfinished/urdu.txt
#	src/main_gui.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_cmd.cpp
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/table/settings.ini
3 years ago
Jonathan G Rennison 6c3e5642f8 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/fileio.cpp
#	src/fileio_func.h
#	src/fios_gui.cpp
#	src/ini_load.cpp
#	src/ini_type.h
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/network/network_client.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/os/windows/win32.cpp
#	src/road_cmd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/settings.ini
#	src/tree_cmd.cpp
#	src/tree_gui.cpp
#	src/vehicle_base.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/cocoa/event.mm
#	src/video/cocoa/wnd_quartz.mm
#	src/viewport.cpp
#	src/widgets/tree_widget.h
3 years ago
Jonathan G Rennison 33d9e48bcf Add setting for inflation dates mode 3 years ago
Jonathan G Rennison 39df1c49a1 Merge branch 'master' into jgrpp
# Conflicts:
#	src/fileio.cpp
#	src/group_gui.cpp
#	src/industry.h
#	src/lang/korean.txt
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphjob.h
#	src/linkgraph/linkgraphschedule.cpp
#	src/linkgraph/linkgraphschedule.h
#	src/openttd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/town_cmd.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
3 years ago
Jonathan G Rennison 09dc33022c Add client setting for vehicle naming scheme 3 years ago
Jonathan G Rennison 43980639de Merge branch 'master' into jgrpp
# Conflicts:
#	.gitignore
#	CMakeLists.txt
#	src/3rdparty/optional/optional.hpp
#	src/group_cmd.cpp
#	src/industry_cmd.cpp
#	src/misc_gui.cpp
#	src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison ed0ffb6220 Add feature: realistic train braking
Add setting to select train braking model.
3 years ago
Michael Lutz fa60c1f8b9
Feature: Choose a sensible window size on a fresh OTTD config file. (#8536) 4 years ago
frosch 8dda0ec4ff Add: [NewGRF] new GUI sprites for 'rename' and 'go to location'. 4 years ago
frosch f6abc81cf1 Fix: add missing variables to NewGRF inspect window. 4 years ago
frosch 868d84bbfc Add: [NewGRF] vehicle variable 63 to test the tracktype of the current tile against a given tracktype. 4 years ago
Charles Pigott 188bf0fbc9 Change: Remove disable_unsuitable_building setting
This setting is no longer useful, as you can now always build roads,
canals, etc.
4 years ago
Patric Stout ef6b17baf7 Fix 2fd871e2af5: load correct ending-year for old (pre 0.7) savegames
Despite what it looked like, you could never really change the
ending-year (it was always reset to 2050 on start-up). See commit
683b65ee1 for details. As a side-effect, the variable that was
suppose to store the ending-year was just zero, never containing
a real ending-year.
4 years ago
Patric Stout d9ec8053d7 Fix #8050: ending-year of 5000000 allows you to get to year 5000001 and beyond
MAX_YEAR is set to 5000000, but having an ending-year set to the
same meant you could bypass this, and play till the uint32 wrapped.

The game can either show highscore or wrap year, not both. When
you would do both, every year you get the highscore dialog.

By changing the maximum value of ending-year to 4999999 we prevent
this issue.
4 years ago
Kuhnovic a3a7928372
Feature: option to auto remove signals when in the way during rail construction (#8274) 4 years ago
Jonathan G Rennison bf313338c0 Debug: Show cached sprite bounds in vehicle debug window 4 years ago
2TallTyler fe51051b7c Change: Default settings improved for new players 4 years ago
Jonathan G Rennison 77bf073939 Debug: Show all town persistent storage registers, not just the caller GRFID 4 years ago
Pavel Stupnikov b623d6f2ee Change: extend the allowed range for max loan setting (#8386)
(cherry picked from commit b2895dfcd0)
4 years ago
Tyler Trahan 4714fea258 Change: set the default setting for autorenew to on for new games (#8352)
(cherry picked from commit f2a93dba0d)
4 years ago
jostephd 3088d41ac8 Feature: new velocity unit "tiles/day" (#8278)
(cherry picked from commit b1cf79da5b)
4 years ago
Pavel Stupnikov ba4626d450 Add: new economy "frozen" that stops production changes and industry closures (#8282)
(cherry picked from commit c9fd85528a)
4 years ago
Michael Lutz 024a3f6259 Codechange: Use automatic memory management for language pack reading. 4 years ago
Charles Pigott 860c270c73 Codechange: Replace assert_compile macro with static_assert 4 years ago
Michael Lutz 5a5d613ee3 Change: Disable changing the inflation setting in network games. 4 years ago
Jonathan G Rennison 9906916b7b Debug: Include aircraft fields and station XY in debug window 4 years ago
Jonathan G Rennison 7b445cd436 Debug: Show vehicle cargo subtype in debug window 4 years ago
frosch 2bb691f50e Change: Remove the LAN/Internet combobox from the server list in favour of adding two separate search buttons. 4 years ago
Pavel Stupnikov 22b9dec960
Feature: Add an option to disable tree growth completely (#8415) 4 years ago
Jonathan G Rennison c82f31bf03 Fix industry production scaling of periodic production callback 4 years ago
Jonathan G Rennison 5665d88067 Debug: Industries are now always inspectable in the debug window 4 years ago
Jonathan G Rennison 7b75fcf487 Show industry production callback mask values in industry debug window 4 years ago
Xaroth Brook d05be2cff5 Cleanup: Rework the CargoSpec macro for improved readability. 4 years ago
Jonathan G Rennison 8ac436f507 Add setting to scale primary industry cargo production 4 years ago
Jonathan G Rennison 93e7899c7f Debug: Show cargo in/out values in industry debug window 4 years ago
Pavel Stupnikov b2895dfcd0
Change: extend the allowed range for max loan setting (#8386) 4 years ago
Jonathan G Rennison d818630c34 Debug: Show company ratings in town debug window 4 years ago
Tyler Trahan f2a93dba0d
Change: set the default setting for autorenew to on for new games (#8352) 4 years ago
jostephd b1cf79da5b
Feature: new velocity unit "tiles/day" (#8278) 4 years ago
Pavel Stupnikov c9fd85528a
Add: new economy "frozen" that stops production changes and industry closures (#8282) 4 years ago
Patric Stout 68f9925cd4
Codechange: use \u to indicate unicode chars in strings (#8379)
With \x, we sometimes had to do the "" trick, as the length is not
predefined. With C++11 bringing \u to the specs, which has a preset
length, we no longer need the "" trick.

We set the strings to u8, to ensure all compilers use UTF-8 encoding
for the \u characters.

This was triggered by newer CLangs, which start to warn if you
use "" in the middle of a string, wondering if that was your
intention. It is a good question. And this is our answer :)
4 years ago
Jonathan G Rennison 4da3cfcf56 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/bootstrap_gui.cpp
4 years ago
glx22 a06fe8e8a7 Fix: [CMake] cross-compiling requires native tools 4 years ago
Jonathan G Rennison 141e52658b Debug: Add road types to RV debug window 4 years ago
Jonathan G Rennison 270a748b64 Tracerestrict: Add time/date conditional 4 years ago
Jonathan G Rennison 320a8da283 Show tile animation info in debug window 4 years ago
Jonathan G Rennison 9efeb3551a Tunnel/bridge signal simulation spacing is now a company setting 4 years ago
Jonathan G Rennison 99b2698658 Update vehicle image on demand when image is continuously updated by GRF
This is for trains/RVs only (to avoid issues with variable sprite bounds)

This largely fixes the performance issues of continuously updating
vehicle images
4 years ago
Jonathan G Rennison cde5e8c79d Add setting to disable continuously updating NewGRF vehicle image 4 years ago
Jonathan G Rennison 2fe5d4339b Add 3 more zoning highlight colours 4 years ago
Jonathan G Rennison 3fa92f5d8e Debug: Add RV path cache length 4 years ago
Jonathan G Rennison 42e7d796aa Debug: Add vehicle position and road veh vars to vehicle debug window 4 years ago
Jonathan G Rennison 63d3f33fd2 Add display setting for income/cost text effects 4 years ago
Jonathan G Rennison 327c088f29 Show road/rail type labels in debug window 4 years ago
Jonathan G Rennison 946442ab6b GRF: Add extra road/tram type flag: towns cannot modify tiles 4 years ago
Jonathan G Rennison 75a964acb0 GRF: Add extra road/tram type flag: not available to AI/GS 4 years ago
Jonathan G Rennison 6c9988f28b Debug: Add road/tram type support to NewGRF debug window 4 years ago
Jonathan G Rennison 0d61ae9567 Debug: Add compatible railtype info to railtype debug window 4 years ago
Jonathan G Rennison 92ca965ef7 Fix PBS rail type handling with incorrect GRF rail type compatibility 4 years ago
Jonathan G Rennison ca726d79f5 Add company setting for whether to add vehicle to group on copy-clone 4 years ago
Jonathan G Rennison cbbea0c8f4 Allow several settings to be changed in multiplayer
* construction.command_pause_level
* economy.allow_town_level_crossings
* vehicle.improved_breakdowns
* vehicle.adjacent_crossings
4 years ago
Jonathan G Rennison a474e71243 Viewport: Cache landscape pixels in map mode
Avoid invalidating landscape pixels for non-landscape updates
(vehicles, overlays, etc.)
4 years ago
Jonathan G Rennison 84dd35b685 Add drive-through train depot emulation (default off) 4 years ago
Jonathan G Rennison b6f583a799 GRF: Add railtype custom signal sprite restricted flag, and control flag 4 years ago
Jonathan G Rennison d32672a325 GRF: Allow railtype custom signal sprites for programmable pre-signals 4 years ago
Jonathan G Rennison 481710f95b Show engine rail type info in vehicle debug window 4 years ago
Jonathan G Rennison 2ea3a7d6f4 Add setting for default road/tram types, to match default rail type setting 4 years ago
Jonathan G Rennison f44d75eaf5 Allow building objects by area (1x1 objects only)
Add setting (default on)
4 years ago
Jonathan G Rennison 2d350d26db Add rate limit for object construction 4 years ago
Jonathan G Rennison 45386efcd0 Script: Allow changing ops limit and memory limit settings in game 4 years ago
Jonathan G Rennison ff12051ee1 Only show ship is lost messages if lost for a significant time 4 years ago
Jonathan G Rennison 817bc44a3e Initial implementation of tracerestrict counter mechanism 4 years ago
Jonathan G Rennison cc6be16422 Add news setting for trains waiting due to routing restrictions 4 years ago