Jonathan G Rennison
0a9c44d1a2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/airport_gui.cpp
# src/blitter/32bpp_anim_sse4.cpp
# src/console_cmds.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/newgrf_object.h
# src/road_gui.cpp
# src/widgets/road_widget.h
# src/window.cpp
2 years ago
Bouke Haarsma
c7f55a058b
Fix: link overlay line width on HiDPI displays ( #10064 )
2 years ago
Jonathan G Rennison
7a61b5d820
VarAction2: Cache refit capacity callback results which depend only on cargo
2 years ago
Jonathan G Rennison
dd40fa32df
Fix excessive recursion in link graph refresher with conditional order loops
2 years ago
Tyler Trahan
e79724ea22
Feature: Alternative linkgraph colour schemes ( #9866 )
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
29cd07d1c0
Fix aircraft link scale when loading previous savegame versions
...
See: #367
2 years ago
Jonathan G Rennison
f54e19083e
Fix crash which could occur when removing invalidated link graph flow.
2 years ago
Jonathan G Rennison
ba824f08c3
Fix re-routing of unrelated cargo when removing invalidated link graph flow
2 years ago
Jonathan G Rennison
89181ea9fd
Add setting to increase cost/distance of aircraft linkgraph links
2 years ago
Michael Lutz
13528bfcd0
Codechange: Un-bitstuff all remaining commands.
2 years ago
Michael Lutz
0f64ee5ce1
Codechange: Template DoCommandP to automagically reflect the parameters of the command proc.
...
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2 years ago
Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
2 years ago
Jonathan G Rennison
d35b9719a9
Fix redundant declaration of GetLinkGraphJobDesc
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
1e0bea5b8d
Replace FindFirstBit/FindFirstBit64 with a single template function
3 years ago
Jonathan G Rennison
e1e7b67270
Fix cargo mask truncation in CargoMaskValueFilter and LinkRefresher::RefreshLinks
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
d1f1a6942a
Add support for loading trunk savegames versions 293 - 299 (12.0)
...
Use modified upstream saveload implementation for these versions
Re-arrange headers to support multiple saveload implementations
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
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
Nicolas Chappe
b83820e723
Change: [Linkgraph] Delete links only served by vehicles stopped in depot
...
A stale link is not deleted if the link refresher finds a vehicle that still serves it.
This commit excludes vehicles stopped in depot for a very long time from the link refresher,
so that their stale links can be deleted.
3 years ago
Nicolas Chappe
de28817d9f
Fix 977604ef: [Linkgraph] Add a special case for unknown travel times on link update
3 years ago
Nicolas Chappe
977604ef08
Feature: [Linkgraph] Prioritize faster routes for passengers, mail and express cargo
...
Passengers usually prefer fast paths to short paths.
Average travel times of links are updated in real-time for use in Dijkstra's algorithm,
and newer travel times weigh more, just like capacities.
3 years ago
glx22
a543a4b7bb
Codechange: Remove FOR_EACH_SET_CARGO_ID
3 years ago
Patric Stout
7b135a8269
Codechange: use SLE_STRUCT(LIST) for Linkgraph chunks
3 years ago
Jonathan G Rennison
1002c6d9d2
Fix various compiler warnings
...
See: #267
3 years ago
Patric Stout
9fff00ba20
Codechange: C++-ify lists for SaveLoad ( #9323 )
...
Basically, this changes "SaveLoad *" to either:
1) "SaveLoadTable" if a list of SaveLoads was meant
2) "SaveLoad &" if a single entry was meant
As added bonus, this removes SL_END / SLE_END / SLEG_END. This
also adds core/span.hpp, a "std::span"-lite.
3 years ago
rubidium42
6fe4d4ad7b
Codechange: linkgraph always iterates with NodeIDs over the Size(), so make Size() the same type to prevent infinite loops
3 years ago
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
3 years ago
Rubidium
bb9121dbd4
Fix: comparison of narrow type to wide type in loop (potential for infinite loops)
3 years ago
Peter Nelson
ff8d1222d9
Codechange: Use text lines instead of pixel height of font for link graph widgets.
...
(cherry picked from commit 56a6f66903
)
3 years ago
Peter Nelson
56a6f66903
Codechange: Use text lines instead of pixel height of font for link graph widgets.
3 years ago
Jonathan G Rennison
b4b3638f1b
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/romanian.txt
3 years ago
Milek7
4cd9e0f41b
Fix: Add virtual destructor to link graph Path.
...
Classes derived from Path were freed through base class pointer, but no virtual destructor was present.
3 years ago
Jonathan G Rennison
5e14b54a0c
Merge branch 'master' into jgrpp
3 years ago
Tyler Trahan
de891238d6
Change: Recolour graph windows to brown ( #8700 )
3 years ago
Jonathan G Rennison
32dcc0d484
Linkgraph: Fix unused expression result warning
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
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
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
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
3 years ago
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
3 years ago
Jonathan G Rennison
94d629d79b
Change: [Linkgraph] Allow job threads to be aborted early when clearing schedule ( #8416 )
...
When link graph jobs are cleared due to abandoning the game or exiting,
flag the job as aborted.
The link graph job running in a separate thread checks the aborted flag
periodically and terminates processing early if set.
This reduces the delay at game abandon or exit if a long-running job
would otherwise still be running.
3 years ago
Jonathan G Rennison
7f0fefddcf
Change: [Linkgraph] Only acquire thread join performance measurements on network clients
...
Network servers and single player clients do not block on thread joins
due to instead pausing shortly before the join is due.
3 years ago
Jonathan G Rennison
0c5dc5d41e
Change: [Linkgraph] Pause the game when linkgraph jobs lag ( #6470 )
...
Check if the job is still running two date fract ticks before it is due
to join, and if so pause the game until its done.
When loading a game, check if the game would block immediately due to
a job which is scheduled to be joined within two date fract ticks,
and if so pause the game until its done.
This avoids the main thread being blocked on a thread join, which appears
to the user as if the game is unresponsive, as the UI does not repaint
and cannot be interacted with.
Show if pause is due to link graph job in status bar, update network
messages.
This does not apply for network clients.
3 years ago
Jonathan G Rennison
83a128e8a9
Fix stack overflow due to excessive recursion in LinkRefresher
...
Clamp recursion limit to maximum of 64
See: #198
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
352b361e1b
Viewport: Replace viewport mark dirty if zoom level below with flags param
...
Fix missing flags for tracerestrict and effect vehicles
4 years ago