Commit Graph

1012 Commits (fe730bce316520cb84c4e0594a337a64ac21ddb2)

Author SHA1 Message Date
PeterN 584faaf064
Change: Reorganise industry accept/produce arrays. (#10853)
Use a array of struct for each cargo instead of an array for each statistic.
This makes iterating for acceptance and production much simpler.
pct_transported is now calculated when needed.
1 year ago
Peter Nelson 76516d7f70 Codechange: Use IsValidCargoID/IsValidCargoType.
IsValidCargoType() is used only for unmapped IDs.
1 year ago
Jonathan G Rennison 37b8b59c85 Merge branch 'master' into jgrpp
# Conflicts:
#	src/date_type.h
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphschedule.cpp
#	src/saveload/saveload.h
#	src/table/settings/linkgraph_settings.ini
1 year ago
Jonathan G Rennison 5dd99fb046 Add setting for milliseconds per game tick mode 1 year ago
Jonathan G Rennison 5e8266ac7d Fix value of payment algorithm setting when loading new vanilla saves 1 year ago
Rubidium acec34a0fe Cleanup: remove MD5SumToString in lieu of FormatArrayAsHex 1 year ago
Patric Stout 7634553d22 Feature: opt-in survey when exiting a game
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.

When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU

All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
1 year ago
Michael Lutz 72c7536325
Codechange: Use a dedicated variable for disaster vehicle action state. (#10798) 1 year ago
Peter Nelson e6740046ee Codechange: Use range-for iteration. 1 year ago
Peter Nelson cef3a2570d Codechange: Use standard iterator-erase-loop pattern. 1 year ago
Rubidium fb856e16c1 Codechange: replace some min/clamp constructs to ClampTo 1 year ago
Rubidium a312a6c1b2 Codechange: make md5sumToString std::string compatible 1 year ago
Tyler Trahan 6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar (#10753) 1 year ago
Peter Nelson 00bf42353a Codechange: Place gamelog into its own class, along with internal data.
Data is now stored in vectors to avoid manual memory management and
passing lengths around.
1 year ago
Jonathan G Rennison e26bea6ce4 Add setting to select cargo payment algorithm
See: #506
1 year ago
Patric Stout 36a0818bc5
Remove: buying/selling/owning company shares (#10709) 1 year ago
Rubidium 33c4fbff8f Codechange: use fmt::format_to instead of seprintf to fill load crash message 1 year ago
Patric Stout 31ad990831
Codechange: move tick-counter into TimerGameTick (#10712) 1 year ago
Patric Stout 7aa2b9ab0a
Codechange: move all date-related variables inside the timer (#10706) 1 year ago
Rubidium f5f6306af3 Codechange: use string/fmt instead of printf for ShowInfo(F) 1 year ago
PeterN e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. (#10663)
This avoids a (soft) namespace conflict between the four ST_* enums.
1 year ago
Patric Stout ed83c4b0da
Change: replace per-AI "start_date" with a global "competitors_interval" (#10653)
The per-AI "start_date" is a lot of custom code, and was rarely
used in the way it was meant.

While at it, also ported this part over to the new timer system.
1 year ago
Tyler Trahan 646a7e625b
Change: Use seconds for Linkgraph update settings (#10610) 1 year ago
Jonathan G Rennison 9521e7ef2b Merge branch 'master' into jgrpp
# Conflicts:
#	src/elrail.cpp
#	src/ground_vehicle.hpp
#	src/landscape.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
#	src/tile_cmd.h
#	src/town_cmd.cpp
#	src/tunnelbridge_cmd.cpp
1 year ago
Jonathan G Rennison 82803b98e0 Merge branch 'master' into jgrpp
# Conflicts:
#	src/game/game_gui.cpp
#	src/graph_gui.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/newgrf.cpp
#	src/order_gui.cpp
#	src/saveload/engine_sl.cpp
#	src/saveload/saveload.h
#	src/script/api/script_text.cpp
#	src/script/script_gui.cpp
#	src/settings_table.cpp
#	src/strings.cpp
#	src/table/settings/economy_settings.ini
#	src/table/settings/locale_settings.ini
#	src/timetable_gui.cpp
1 year ago
Rubidium 9d2a0f3d0b Change: make GetPartialZ consistent, meaning Z of adjacent slopes continue
Previously, on a straight line of a one corner up slope with the adjacent
steep sloop the Z would increase one step every two sub pixels, except for one
case where one sub pixel is skipped. Similarly, a steep slope with two
adjacent one corner up slopes, would have a bump in the height line along the
diagonal whenever it enters/leaves the steep slope tile.
1 year ago
Rubidium e8af8daa68 Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
1 year ago
PeterN f1144de509
Feature: Separate rail/road and sea/air velocity units, and add knots. (#10594)
This is achieved by packing vehicle type along with the velocity so that
the string system can decode and pick the appropriate unit.
1 year ago
Peter Nelson 65e0b0dcb7 Codechange: Be consistent with how company masks are set to all. 1 year ago
Jonathan G Rennison c9c0436e58 Add company setting for remain at station if next order for same station
Set value on load for whether the save version had this enabled for trains
1 year ago
Jonathan G Rennison 1d05637d45 Add setting for rail depot maximum speed 1 year ago
Jonathan G Rennison 2ea1766677 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/commit-checker.yml
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/landscape.cpp
#	src/linkgraph/linkgraph_gui.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/league_sl.cpp
#	src/saveload/saveload.h
#	src/script/api/script_object.hpp
#	src/script/squirrel_helper.hpp
#	src/settings_table.cpp
#	src/station_cmd.cpp
#	src/table/settings.h.preamble
#	src/tree_cmd.cpp
#	src/tree_map.h
#	src/vehicle.cpp
#	src/waypoint_cmd.cpp
1 year ago
Jonathan G Rennison 4ec6a99dd8 Add GetTileTrackStatus wrapper for when red signals part is not needed 1 year ago
Rubidium 580d0a6343 Codechange: make use of Tile in for all direct map accesses 1 year ago
Rubidium 0fb0469e47 Codechange: introduce iterator to iterate over the Tiles of a Map
Note: this version is using TileIndex, but that changes later
1 year ago
dP b0542c8c49
Codechange: Don't store tree counter in the map array (#10018) 1 year ago
Loïc Guilloux 8b36b2cbf3 Fix #10486: [Script] Debug window requires AIs to be started before GS (#10487)
(cherry picked from commit 4072dcff49)
1 year ago
Jonathan G Rennison f7d62a1767 Add road/tram type flag to disallow collisions with trains 1 year ago
Jonathan G Rennison 3497d0dcdb Add road/tram type properties to set road vehicle collision mode 1 year ago
Loïc Guilloux 4072dcff49
Fix #10486: [Script] Debug window requires AIs to be started before GS (#10487) 1 year ago
Jonathan G Rennison ae9b416684 Merge branch 'master' into jgrpp
# Conflicts:
#	src/ai/ai_core.cpp
#	src/ai/ai_gui.cpp
#	src/ai/ai_instance.cpp
#	src/console_cmds.cpp
#	src/engine_type.h
#	src/game/game_gui.cpp
#	src/game/game_instance.cpp
#	src/goal.cpp
#	src/goal_cmd.h
#	src/lang/english.txt
#	src/lang/estonian.txt
#	src/network/network_client.cpp
#	src/newgrf.cpp
#	src/newgrf_generic.h
#	src/openttd.cpp
#	src/saveload/saveload.h
#	src/script/api/script_log.cpp
#	src/script/api/script_town.cpp
#	src/settings_table.cpp
#	src/station_cmd.cpp
#	src/station_cmd.h
#	src/station_map.h
#	src/strings.cpp
#	src/table/settings/difficulty_settings.ini
#	src/table/settings/gui_settings.ini
#	src/tbtr_template_gui_main.h
#	src/timetable_cmd.cpp
#	src/timetable_cmd.h
#	src/timetable_gui.cpp
#	src/town_gui.cpp
#	src/train_gui.cpp
#	src/water_cmd.cpp
1 year ago
Jonathan G Rennison 05ec32f577 Run water flooding at constant speed at day lengths >= 4
See: #482
1 year ago
glx22 b080f24bd8 Codechange: move windows common to AI and GS out of ai_gui 1 year ago
Rubidium 4e65ec1dc4 Codechange: do not declare functions in blocks 1 year ago
Jonathan G Rennison 7a7c688b11 Do not call ReInitAllWindows from within LoadStringWidthTable 1 year ago
Tyler Trahan 9c5de7fd72
Fix #10395: When loading old saves, don't forcibly bar level crossings (#10400) 1 year ago
Rubidium fe2bcd2a58 Codechange: migrate size related functions to Map structure 1 year ago
Jonathan G Rennison 1bfd96c7f2 Merge branch 'master' into jgrpp
# Conflicts:
#	src/3rdparty/fmt/core.h
#	src/command_type.h
#	src/console_cmds.cpp
#	src/core/overflowsafe_type.hpp
#	src/landscape.cpp
#	src/network/network.cpp
#	src/newgrf_object.h
#	src/object_cmd.cpp
#	src/order_gui.cpp
#	src/saveload/vehicle_sl.cpp
#	src/script/api/script_industrytype.cpp
#	src/script/api/script_object.hpp
#	src/script/api/script_town.cpp
#	src/table/object_land.h
#	src/timetable_cmd.cpp
#	src/tree_cmd.cpp
#	src/vehicle_gui.cpp
#	src/window.cpp
1 year ago
Rubidium c5ff61c5f2 Add: script specific Randomizer instances 1 year ago
Jonathan G Rennison adf2210bc8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/genworld_gui.cpp
#	src/lang/afrikaans.txt
#	src/lang/arabic_egypt.txt
#	src/lang/basque.txt
#	src/lang/belarusian.txt
#	src/lang/brazilian_portuguese.txt
#	src/lang/bulgarian.txt
#	src/lang/catalan.txt
#	src/lang/croatian.txt
#	src/lang/czech.txt
#	src/lang/danish.txt
#	src/lang/dutch.txt
#	src/lang/english.txt
#	src/lang/english_AU.txt
#	src/lang/english_US.txt
#	src/lang/esperanto.txt
#	src/lang/estonian.txt
#	src/lang/faroese.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/frisian.txt
#	src/lang/gaelic.txt
#	src/lang/galician.txt
#	src/lang/german.txt
#	src/lang/greek.txt
#	src/lang/hebrew.txt
#	src/lang/hungarian.txt
#	src/lang/icelandic.txt
#	src/lang/indonesian.txt
#	src/lang/irish.txt
#	src/lang/italian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/latin.txt
#	src/lang/latvian.txt
#	src/lang/lithuanian.txt
#	src/lang/luxembourgish.txt
#	src/lang/malay.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/norwegian_nynorsk.txt
#	src/lang/persian.txt
#	src/lang/polish.txt
#	src/lang/portuguese.txt
#	src/lang/romanian.txt
#	src/lang/russian.txt
#	src/lang/serbian.txt
#	src/lang/simplified_chinese.txt
#	src/lang/slovak.txt
#	src/lang/slovenian.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/lang/swedish.txt
#	src/lang/tamil.txt
#	src/lang/thai.txt
#	src/lang/traditional_chinese.txt
#	src/lang/turkish.txt
#	src/lang/ukrainian.txt
#	src/lang/vietnamese.txt
#	src/lang/welsh.txt
#	src/saveload/afterload.cpp
1 year ago
PeterN c18a171028
Fix #10331: Starting new company during load must happen after AI start. (#10332)
This situation occurs when loading a savegame in single-player which only
has AI companies.
1 year ago
Rubidium 375a5b8e3f Codechange: refactor FindClosestDepot to not use pointers, but return a struct 1 year ago
Jonathan G Rennison a1f6aaa58f Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/korean.txt
#	src/saveload/afterload.cpp
#	src/saveload/ai_sl.cpp
#	src/saveload/game_sl.cpp
#	src/script/script_instance.cpp
1 year ago
Loïc Guilloux fe30f66570
Fix #9720: Delay start of GS/AI to after loading of savegame (#9745) 1 year ago
Jonathan G Rennison 3877bb31ef Changing day length or date no longer changes time in minutes
Add offset variables for scaled date ticks.
Adjust offset when changing day length or date, such that scaled
date ticks remain the same.
Store _scaled_tick_counter and scaled date ticks offset in the savagame.
1 year ago
Jonathan G Rennison 5c2d5782a4 Fixes incorrect link graph edge travel times with non-unity day length
Change vehicle last_loading_tick to be relative to _scaled_tick_counter
2 years ago
Loïc Guilloux 13d2d11fa8
Fix #10216: Initialise RoadStop caches before using them and don't try to teleport crashed vehicles (#10217) 2 years ago
Jonathan G Rennison 3d7e5d5369 Avoid unnecessary viewport redraws for unused tile loop house triggers 2 years ago
Jonathan G Rennison 0bf1c9bb9d Merge tag '13.0-beta1' into jgrpp 2 years ago
Jonathan G Rennison 49bda05fb5 Set adjacent crossings setting to false when loading pre v300 trunk savegames 2 years ago
Jonathan G Rennison aba8e88d8c Enable loading of upstream savegames up to version 302 2 years ago
Tyler Trahan c19abebf8d
Feature: Multi-track level crossings (#9931) 2 years ago
Nicolas Chappe f8a7b76675 Fix #9665: [Linkgraph] Fix travel times of non-direct journeys 2 years ago
Jonathan G Rennison 12eb23f0ab Clear old tree counter in map array on load of old savegames
See: https://github.com/OpenTTD/OpenTTD/pull/10018
2 years ago
Jonathan G Rennison 9e24414033 In ReloadNewGRFData recompute prices before reiniting windows
Avoid crash if land info window is open during reload
2 years ago
Jonathan G Rennison bc3b928d34 Fix improved breakdowns being enabled after loading old/other savegame 2 years ago
Jonathan G Rennison aa49e17e39 Remove road vehicles during load which are uncorrectably invalid 2 years ago
Jonathan G Rennison 92723d4f5c Remove tunnel/bridge spacing setting, use usual signal drag spacing 2 years ago
Jonathan G Rennison 22caac6529 Add game setting to limit train lookahead to signal aspect
In realistic braking mode when multi-aspect signalling enabled by GRF
2 years ago
Jonathan G Rennison bdd73a19a1 Add signal style flag for unconditional reserve through
Add map bits for unconditional reserve through
Adjust signal aspect/state handling
2 years ago
Jonathan G Rennison 7ae06124ae Add signal style flag for no aspect increase behaviour (banner repeater) 2 years ago
Jonathan G Rennison 6e4c4b35e7 Initial implementation of NewGRF custom signal styles 2 years ago
Jonathan G Rennison 99ee4b13ce Realistic braking: Cache train overall z position
Refresh cache at a variable rate depending on train length and
weight distribution
2 years ago
Jonathan G Rennison af270a63ad Industry: Apply anim tile masking when loading prior version saves 2 years ago
Jonathan G Rennison 42e20d3d99 Industry: Determine which tiles in industry layouts are not animated
Do not set these as animated tiles for new industries
2 years ago
Tyler Trahan ec90fb4c99 Fix #6544: Don't join AI company when loading network game in singleplayer 2 years ago
Jonathan G Rennison ed30542acf Cache highest snowline value 2 years ago
Rubidium c73f578e8c Codechange: replace magic numbers and C-style arrays with C++-style array for share owners 2 years ago
Jonathan G Rennison e5a421b65a Merge branch 'master' into jgrpp
# Conflicts:
#	src/economy.cpp
#	src/linkgraph/refresh.cpp
#	src/order_cmd.cpp
#	src/saveload/vehicle_sl.cpp
#	src/station.cpp
#	src/station_base.h
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_cmd.cpp
2 years ago
Niels Martin Hansen e68bf58989 Codechange: Use anonymous union for vehicle orders/old orders list 2 years ago
Jonathan G Rennison d4f11eca42 Add NewGRF object properties to set viewport map mode/smallmap tile type 2 years ago
Jonathan G Rennison b4fc0b4dc5 Initial implementation of road waypoints 2 years ago
Jonathan G Rennison ace75f6864 Widen station type field in map array 2 years ago
Jonathan G Rennison 2e7f8d2e1e Add inclined foundation option to object edge foundation mode
Bump feature version
2 years ago
Jonathan G Rennison 26fb0940c6 Add client setting for whether to sync locale settings with server in multiplayer 2 years ago
Jonathan G Rennison 904ff6757d Add slot support to road vehicles, ships and aircraft 2 years ago
Jonathan G Rennison ff3473fe6a Add support for multiple scheduled dispatch schedules per order list 2 years ago
Yourself 7823c81597 Add: Through load speed limit setting 2 years ago
Jonathan G Rennison a14df8dfe2 Merge PR #351 into jgrpp 2 years ago
Jonathan G Rennison 2d71ec1c5a Bump savegame for object ground types 3 years ago
Jonathan G Rennison 0691b25e17 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/afterload.cpp
3 years ago
Charles Pigott cf16f452da
Fix #9680: Recalculating aircraft positions before map array updates caused crashes (#9699) 3 years ago
Jonathan G Rennison 74bfe4e6d2 Allow placing routing restrictions on tunnel/bridge entrance/exit signals
No reserve through support
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
Dmitry Erlikh 33ef34189e
Fix #9648: add missing commas in crash message 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
SamuXarick 0563c0e308 Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594)
(cherry picked from commit e404d16929)
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
Patric Stout 573ab48e9c Fix 81062163: for (really) old games, station bus/truck station cache was not updated (#9366)
(cherry picked from commit 1e432fbd71)
3 years ago
Patric Stout 3411203e5d Fix: compatible NewGRFs in crash-log reported wrong md5 (#9340)
The text suggests it reports the original md5, but it does in fact
report the replaced md5. Now it reports both.

(cherry picked from commit f997eb6ca4)
3 years ago
Jonathan G Rennison 6f16655e6e Add "special events" log. Add console command, include in crash logs. 3 years ago
Jonathan G Rennison 2e022d5194 Move game events to new event_logs header/cpp files 3 years ago
Jonathan G Rennison c99eaf72b7 Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594)
See: https://github.com/OpenTTD/OpenTTD/issues/9591
See: https://github.com/OpenTTD/OpenTTD/pull/9594

Non-extended savegame bump to be applied later

(cherry picked from commit e404d16929)

# Conflicts:
#	src/object_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
3 years ago
SamuXarick e404d16929
Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594) 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
Loïc Guilloux 38a64eb2aa
Change: Allow all tiles around docks to be docking tiles (#9578) 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
Jonathan G Rennison 16f2ef227b Store tunnel/bridge signal spacing on tile, adjust spacing to fit length 3 years ago
Jonathan G Rennison b2ef6c0de8 Add implementation of multi-aspect signalling and GRF support
Requires realistic braking

See: #247
3 years ago
Jonathan G Rennison 13603cb8e1 Block signals into blocks with junctions now default to red with realistic braking 3 years ago
Jonathan G Rennison 6a009686c9 Fix #299: Add estimated max speed (full) to template windows 3 years ago
Jonathan G Rennison 9edc13b889 Make sure setting set correctly on loading existing saves 3 years ago
Patric Stout 4e645ce749 Codechange: using "until" in function names can be confusing
IsSavegameVersionUntil() did a [0, N] check, not [0, N) as the
name suggests.

Until can be a confusing word, where people consider it to be
including the upperbound. Dictionary states it means "before",
excluding the upperbound. There are long debates about who is right.

So, simply remove away from this ambiguity, and call it "before"
and "before or at". This makes the world easier for everyone.
3 years ago
Rubidium 357af686dc Cleanup: use true/false instead of 1/0 where applicable 3 years ago
Patric Stout 1e432fbd71
Fix 81062163: for (really) old games, station bus/truck station cache was not updated (#9366) 3 years ago
rubidium42 55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 3 years ago
Patric Stout f997eb6ca4
Fix: compatible NewGRFs in crash-log reported wrong md5 (#9340)
The text suggests it reports the original md5, but it does in fact
report the replaced md5. Now it reports both.
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
Patric Stout b136e65cf9
Change: reworked the debug levels for network facility (#9251)
It now follows very simple rules:
0 - Fatal, user should know about this
1 - Error, but we are recovering
2 - Warning, wrong but okay if you don't know
3 - Info, information you might care about
4 -
5 - Debug #1 - High level debug messages
6 - Debug #2 - Low level debug messages
7 - Trace information
3 years ago
glx22 8333323090 Codechange: Replace FOR_ALL_ROADTRAMTYPES with range-based for loops
(cherry picked from commit 2feb801e56)
3 years ago
PeterN 43fe7463ba Fix: Update text effect size when font zoom is changed. (#9174)
(cherry picked from commit 18651dd8b1)
3 years ago
glx22 2feb801e56 Codechange: Replace FOR_ALL_ROADTRAMTYPES with range-based for loops 3 years ago
PeterN 18651dd8b1
Fix: Update text effect size when font zoom is changed. (#9174) 3 years ago
Jonathan G Rennison 253772e9af Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	COMPILING.md
#	src/console.cpp
#	src/console_cmds.cpp
#	src/console_internal.h
#	src/rev.cpp.in
3 years ago
peter1138 a05bc04b63 Feature: Per-group wagon removal flag. 3 years ago
Jonathan G Rennison cb5c6902db Fix order dest refcount mismatch warning when loading very old savegames 3 years ago
Jonathan G Rennison 9e3ac646fa Fix desync warning messages when loading game with non-matching train braking model 3 years ago
Jonathan G Rennison 6c62bce1ac Bump water flooding savegame version and clear states on load 3 years ago
Jonathan G Rennison 737b538492 Bump savegame version, copy town to city multipliers for old savegames 3 years ago
Jonathan G Rennison d7b23733b3 Bump realistic braking savegame version 3 years ago
Jonathan G Rennison 5d88030feb
Merge pull request #238 from reldred/newhouses_limits_tweaks
Extra House IDs
3 years ago
Jonathan G Rennison 4c2e42fae0 Add savegame conversion and version bump for more house IDs 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
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
Jonathan G Rennison c37beb78ee Check for broken custom bridge head states, and bump save version 3 years ago
Jonathan G Rennison 2e20da40ed Cache current value of snow line height 3 years ago
Jonathan G Rennison 650d5e014e Merge branch 'master' into jgrpp
# Conflicts:
#	src/ai/ai_gui.cpp
#	src/company_cmd.cpp
#	src/lang/estonian.txt
#	src/lang/german.txt
#	src/lang/hungarian.txt
#	src/lang/korean.txt
#	src/lang/slovak.txt
#	src/main_gui.cpp
#	src/video/sdl2_v.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 d978ffcb59 Fix train braking model not being set to original on load 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 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
glx22 6b8ad5a9b1 Change: Apply some consistency to singleplayer related comments 3 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.
3 years ago
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 3 years ago
Jonathan G Rennison 5721790c5d Fix assert failure in DoStartupNewCompany when called from AfterLoadGame 3 years ago
Pavel Stupnikov f39a00d676 Feature: Set exclusive access to industry from GS (#8115)
(cherry picked from commit 9a45a0f535)
3 years ago