Jonathan G Rennison
0150f8f570
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/network/network_server.cpp
2024-04-18 17:37:25 +01:00
Jonathan G Rennison
041e71ec05
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/crashlog.cpp
# src/gfx.cpp
# src/network/network_client.cpp
# src/openttd.cpp
# src/openttd.h
# src/saveload/saveload.cpp
# src/survey.cpp
2024-03-16 18:06:09 +00:00
SamuXarick
d7c5e9e8ab
Codechange: Where the ship comes from is already known
...
This simplifies the handling of variables.
`ChooseShipTrack` is called upon entering `tile`, and looking further back to the caller, it can be deduced that `v->tile` matches `src_tile`. With that said, `enterdir` can also be removed, as it's not used anywhere else.
`CreateRandomPath` and `GetRandomFollowUpTrackdir` is being fed `src_tile` as it's 2nd parameter. This could be eliminated, as `v` is also being passed to it. Just use `v->tile` in those functions.
2024-03-16 17:02:19 +01:00
Patric Stout
5f4f9334ce
Codefix f1e999ec: use RandomRange(l) instead of _random.Next(l) ( #12274 )
2024-03-16 14:39:57 +00:00
SamuXarick
a7625b8ae0
Fix #12280 : Allow ships 90 degree turns if only choice
...
If there is no path found, a random path is created which forbids 90 degrees.
Allow 90 degrees if they're the only choice.
2024-03-15 08:04:08 +01:00
SamuXarick
14d95ef1c9
Fix #12279 : Update random path each step ( #12286 )
2024-03-13 11:22:52 -04:00
Jonathan G Rennison
fe730bce31
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/codeql.yml
# .github/workflows/release-linux.yml
# .github/workflows/release-macos.yml
# .github/workflows/release-windows.yml
# src/map.cpp
# src/music/midifile.hpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/pathfinder/yapf/yapf_rail.cpp
# src/pbs.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.h
# src/saveload/vehicle_sl.cpp
# src/script/api/script_text.cpp
# src/ship_cmd.cpp
# src/train_cmd.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehicle_func.h
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
# src/viewport.cpp
# src/waypoint_cmd.cpp
2024-03-12 17:44:28 +00:00
Koen Bussemaker
984202b101
Codechange: Remove outdated YAPF example code
2024-03-11 20:25:48 +01:00
Rubidium
27eadc13ec
Codechange: rename TILE_ADD(XY) to TileAdd(XY)
2024-03-10 15:50:24 +01:00
Kuhnovic
005892bfdb
Fix #12250 : YAPF Trivial rail pathfinding crashes due to #12217 ( #12258 )
2024-03-10 14:37:56 +00:00
Jonathan G Rennison
f6ba65317c
Fix rail pathfinding with YAPF
...
Partial revert of 30e1a61c04 .
See: https://github.com/OpenTTD/OpenTTD/issues/12250
2024-03-10 11:58:03 +00:00
Jonathan G Rennison
0e76f774eb
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/landscape.cpp
# src/landscape.h
# src/misc_gui.cpp
# src/newgrf_commons.cpp
# src/order_cmd.cpp
# src/pathfinder/yapf/yapf_base.hpp
# src/station_cmd.cpp
# src/tunnelbridge_cmd.cpp
# src/vehicle.cpp
# src/water_cmd.cpp
# src/window.cpp
2024-03-09 21:44:36 +00:00
Jonathan G Rennison
ba79f7b2ba
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/base_station_base.h
# src/newgrf_roadstop.cpp
# src/newgrf_station.cpp
# src/object_gui.cpp
# src/saveload/settings_sl.cpp
# src/saveload/station_sl.cpp
# src/settings.cpp
# src/settings_internal.h
# src/timer/timer_game_calendar.cpp
2024-03-09 20:10:57 +00:00
Kuhnovic
08ff1ab93e
Fix #12236 : Ship pathfinder causes crash when ship is already at destination ( #12238 )
2024-03-08 23:46:13 +01:00
Kuhnovic
30e1a61c04
Fix: YAPF doesn't check destination for start nodes ( #12217 )
2024-03-08 14:23:33 +01:00
Peter Nelson
b2ca6e1ac8
Codefix: Remove no-longer used ship special-case. ( #12192 )
...
This special-case has not been triggered since multi-tile docks were introduced.
2024-03-03 09:31:04 +00:00
Kuhnovic
c5afc9173c
Fix #12176 : Ships are circling in one place ( #12181 )
2024-03-02 21:45:54 +01:00
Jonathan G Rennison
55410152a2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/openttd.cpp
# src/script/api/script_text.cpp
# src/settings_type.h
2024-02-27 18:48:50 +00:00
Kuhnovic
2fb1593550
Fix e38c3c5: Added missing return statement ( #12185 )
2024-02-27 12:55:42 +01:00
Koen Bussemaker
69af0e8f26
Codechange: Skip non-water water region patches in neigbor search
...
(cherry picked from commit 8a1cea2ab6 )
2024-02-19 23:11:00 +00:00
Jonathan G Rennison
a98a56669b
Merge branch 'master' into jgrpp
...
# Conflicts:
# regression/regression/result.txt
# src/autoreplace_cmd.cpp
# src/industry_gui.cpp
# src/landscape.cpp
# src/network/network_content.cpp
# src/newgrf_roadstop.cpp
# src/pathfinder/yapf/yapf_ship.cpp
# src/road_gui.cpp
# src/saveload/ai_sl.cpp
# src/saveload/saveload.h
# src/saveload/vehicle_sl.cpp
# src/station.cpp
# src/station_gui.cpp
# src/video/cocoa/cocoa_ogl.h
# src/video/sdl2_opengl_v.h
# src/video/video_driver.hpp
# src/video/win32_v.h
# src/widget_type.h
# src/widgets/dropdown.cpp
# src/widgets/dropdown_type.h
# src/window.cpp
2024-02-19 23:11:00 +00:00
Jonathan G Rennison
fdd666f66a
Merge tag '14.0-beta1' into jgrpp
...
# Conflicts:
# src/3rdparty/squirrel/squirrel/sqcompiler.cpp
# src/aircraft.h
# src/animated_tile.h
# src/base_consist.h
# src/cargotype.h
# src/company_gui.cpp
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/engine_gui.cpp
# src/industry_gui.cpp
# src/lang/english.txt
# src/music/extmidi.cpp
# src/network/core/network_game_info.cpp
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf_industries.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/order_gui.cpp
# src/order_type.h
# src/os/macosx/misc_osx.cpp
# src/os/windows/crashlog_win.cpp
# src/rail_gui.cpp
# src/rail_gui.h
# src/roadveh.h
# src/roadveh_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/saveload_error.hpp
# src/script/api/script_town.cpp
# src/settingsgen/settingsgen.cpp
# src/ship.h
# src/ship_cmd.cpp
# src/smallmap_gui.cpp
# src/spritecache.cpp
# src/stdafx.h
# src/strgen/strgen.cpp
# src/strgen/strgen.h
# src/table/settings/script_settings.ini
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/town.h
# src/town_cmd.cpp
# src/town_cmd.h
# src/town_gui.cpp
# src/train.h
# src/train_cmd.cpp
# src/tree_cmd.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehicle_cmd.cpp
# src/vehicle_gui.cpp
# src/vehiclelist.cpp
# src/waypoint_base.h
# src/widget.cpp
2024-02-18 22:22:29 +00:00
Koen Bussemaker
8a1cea2ab6
Codechange: Skip non-water water region patches in neigbor search
2024-02-18 11:46:34 +01:00
Kuhnovic
e38c3c59f3
Fix #11840 : Ship pathfinder always returns a valid trackdir if one is available ( #12031 )
2024-02-09 12:31:38 -05:00
frosch
b1718478c8
Codechange: Replace old non-standard attributes with C++17/20 standard attributes.
2024-02-02 22:29:28 +01:00
Jonathan G Rennison
7d086ae686
Tracerestrict: Only apply wait at PBS for intermediary signals in forward direction
2024-01-30 18:47:48 +00:00
Jonathan G Rennison
5e29901d02
Tracerestrict: Allow nesting temporary slot states
...
Use a temporary state stack instead of passing the state directly
in TraceRestrictProgramInput
No longer exit early from ExtendTrainReservation to handle slots, this
fixes reservation failures when starting from a signal with a slot acquire
More thorough fix for 9e8a4314
2024-01-29 22:16:29 +00:00
Kuhnovic
a7c2f489f6
Fix #5713 : FindClosestShipDepot only considers depots that are actually reachable ( #11768 )
...
(cherry picked from commit 8a4a99b7e8 )
2024-01-27 18:49:14 +00:00
Kuhnovic
8a4a99b7e8
Fix #5713 : FindClosestShipDepot only considers depots that are actually reachable ( #11768 )
2024-01-27 15:06:14 +01:00
Jonathan G Rennison
5404be172c
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/bitmath_func.cpp
# src/core/bitmath_func.hpp
# src/core/geometry_type.hpp
# src/game/game_text.hpp
# src/graph_gui.cpp
# src/pathfinder/npf/npf.cpp
# src/script/api/script_text.cpp
# src/spritecache.cpp
# src/track_func.h
2024-01-25 22:36:01 +00:00
Jonathan G Rennison
b01fd1607a
Re-order various structs to reduce holes/padding
2024-01-24 23:17:53 +00:00
Jonathan G Rennison
461fe116f2
Tracerestrict: Pass vehicle ptr instead of index to Occupy/Vacate
...
And related functions, to avoid unnecessary vehicle pool lookup
2024-01-20 23:28:03 +00:00
Jonathan G Rennison
7d1e350b94
Tracerestrict: Handle slot acquire on tunnel/bridge entrance reserve
...
When using realistic braking
Using the same context as PBS end acquire/release
2024-01-20 22:20:51 +00:00
Jonathan G Rennison
9e8a43144a
Tracerestrict: Handle slot acquire and wait at PBS on intermediary reservation signals
...
Wait at PBS is applied as if on the starting signal
2024-01-20 20:42:13 +00:00
Rubidium
6b21368bc2
Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit
2024-01-19 21:10:39 +01:00
Jonathan G Rennison
0df59defc4
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/release-linux.yml
# .github/workflows/release.yml
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/script/api/script_rail.cpp
# src/settings_gui.cpp
# src/signal_type.h
# src/video/sdl2_v.cpp
2024-01-16 01:15:58 +00:00
Tyler Trahan
68814bd912
Codechange: Rename SIGTYPE_NORMAL to SIGTYPE_BLOCK ( #11788 )
2024-01-15 15:27:48 -05:00
Jonathan G Rennison
c2e1dfcfc1
Adjust various water region types
2024-01-09 20:55:27 +00:00
Jonathan G Rennison
914b92b21f
Merge branch 'master' into jgrpp
...
Bump savegame for water regions for ship pathfinder
Use ring_buffer for ShipPathCache
2024-01-09 18:36:47 +00:00
Kuhnovic
f1e999ec59
Feature: Region-based pathfinder for ships ( #10543 )
2024-01-08 20:29:05 +01:00
Jonathan G Rennison
97e6f3062e
Adding of _t to (u)int types, and WChar to char32_t
...
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
7f6b1d6b94
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/company_func.h
# src/core/overflowsafe_type.hpp
# src/engine.cpp
# src/music/midifile.cpp
# src/network/network_command.cpp
# src/newgrf_debug_gui.cpp
# src/newgrf_roadstop.h
# src/newgrf_spritegroup.cpp
# src/os/macosx/crashlog_osx.cpp
# src/os/unix/crashlog_unix.cpp
# src/pathfinder/yapf/yapf_common.hpp
# src/road_gui.cpp
# src/saveload/engine_sl.cpp
# src/script/api/script_depotlist.cpp
# src/script/api/script_roadtypelist.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/strings.cpp
# src/table/settings/game_settings.ini
2024-01-05 13:37:52 +00:00
Rubidium
e3f49ee7a0
Codechange: coding style fixes
2024-01-04 16:23:54 +01:00
Jonathan G Rennison
88670a230f
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/articulated_vehicles.cpp
# src/articulated_vehicles.h
# src/base_media_base.h
# src/base_media_func.h
# src/build_vehicle_gui.cpp
# src/dock_gui.cpp
# src/main_gui.cpp
# src/music_gui.cpp
# src/network/network_chat_gui.cpp
# src/network/network_content.cpp
# src/newgrf.cpp
# src/newgrf_roadstop.cpp
# src/os/windows/string_uniscribe.h
# src/os/windows/win32.cpp
# src/rail_gui.cpp
# src/road.cpp
# src/road_gui.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/smallmap_gui.cpp
# src/strings.cpp
# src/terraform_gui.cpp
# src/tests/test_script_admin.cpp
# src/tests/test_window_desc.cpp
# src/timer/timer_game_calendar.h
# src/vehicle.cpp
# src/vehicle_base.h
# src/viewport.cpp
# src/widget_type.h
# src/window.cpp
# src/window_gui.h
2023-11-29 20:42:29 +00:00
Jonathan G Rennison
0d4d4a9cac
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/3rdparty/squirrel/squirrel/sqclosure.h
# src/3rdparty/squirrel/squirrel/sqobject.h
# src/3rdparty/squirrel/squirrel/sqvm.h
# src/aircraft.h
# src/airport_gui.cpp
# src/blitter/32bpp_sse_func.hpp
# src/blitter/null.hpp
# src/bridge_gui.cpp
# src/build_vehicle_gui.cpp
# src/cargotype.h
# src/cheat_gui.cpp
# src/command.cpp
# src/command_func.h
# src/company_gui.cpp
# src/console_gui.cpp
# src/date_gui.cpp
# src/depot_gui.cpp
# src/dock_gui.cpp
# src/economy.cpp
# src/error_gui.cpp
# src/fileio.cpp
# src/fios.cpp
# src/fios_gui.cpp
# src/fontcache/spritefontcache.h
# src/framerate_gui.cpp
# src/game/game_text.cpp
# src/gamelog.cpp
# src/genworld_gui.cpp
# src/gfx_layout_fallback.cpp
# src/group_gui.cpp
# src/highscore_gui.cpp
# src/hotkeys.cpp
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/landscape.cpp
# src/main_gui.cpp
# src/misc_cmd.cpp
# src/misc_gui.cpp
# src/network/core/tcp_game.cpp
# src/network/core/udp.cpp
# src/network/network_chat_gui.cpp
# src/network/network_content_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf_airport.cpp
# src/newgrf_airport.h
# src/newgrf_airporttiles.cpp
# src/newgrf_airporttiles.h
# src/newgrf_animation_base.h
# src/newgrf_canal.cpp
# src/newgrf_commons.h
# src/newgrf_config.cpp
# src/newgrf_debug_gui.cpp
# src/newgrf_engine.cpp
# src/newgrf_engine.h
# src/newgrf_generic.cpp
# src/newgrf_gui.cpp
# src/newgrf_house.cpp
# src/newgrf_house.h
# src/newgrf_industries.cpp
# src/newgrf_industries.h
# src/newgrf_industrytiles.cpp
# src/newgrf_industrytiles.h
# src/newgrf_object.cpp
# src/newgrf_object.h
# src/newgrf_railtype.cpp
# src/newgrf_railtype.h
# src/newgrf_roadstop.cpp
# src/newgrf_roadstop.h
# src/newgrf_roadtype.cpp
# src/newgrf_roadtype.h
# src/newgrf_spritegroup.cpp
# src/newgrf_spritegroup.h
# src/newgrf_station.cpp
# src/newgrf_station.h
# src/newgrf_town.cpp
# src/newgrf_town.h
# src/news_gui.cpp
# src/object_gui.cpp
# src/order_gui.cpp
# src/os/macosx/crashlog_osx.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/os/windows/win32_main.cpp
# src/pathfinder/npf/npf.cpp
# src/pathfinder/npf/queue.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/roadveh.h
# src/saveload/saveload.cpp
# src/screenshot.cpp
# src/script/api/script_text.hpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_table.cpp
# src/signs_cmd.cpp
# src/signs_gui.cpp
# src/smallmap_gui.cpp
# src/smallmap_gui.h
# src/spriteloader/grf.hpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/station_map.h
# src/statusbar_gui.cpp
# src/stdafx.h
# src/strgen/strgen.cpp
# src/table/newgrf_debug_data.h
# src/terraform_gui.cpp
# src/timer/timer_game_calendar.cpp
# src/timer/timer_window.cpp
# src/town.h
# src/town_cmd.cpp
# src/town_gui.cpp
# src/train_gui.cpp
# src/transparency_gui.cpp
# src/vehicle_gui.cpp
# src/water_cmd.cpp
# src/waypoint_cmd.cpp
# src/widget.cpp
# src/widget_type.h
# src/widgets/dropdown.cpp
# src/widgets/rail_widget.h
# src/widgets/terraform_widget.h
# src/window.cpp
# src/window_gui.h
2023-11-20 22:27:05 +00:00
Peter Nelson
ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )
...
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
2023-11-06 20:29:35 +00:00
Peter Nelson
7d4a91ef9e
Cleanup: Remove some unused functions. ( #11429 )
...
These were picked up with cppcheck.
2023-11-03 21:21:00 +00:00
Peter Nelson
ac9db3f5aa
Codechange: Don't use bit-field in Yapf rail node. ( #11362 )
...
Compacting 3 booleans into 3 bits could save memory allocation, however this data is inside a union which also contains a 4-byte integer. As such this gives the cost penalty of a bit-field without any benefit.
2023-10-09 12:11:55 +00:00
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02:00
Jonathan G Rennison
92e632454e
Change ship path cache to be optional and use a ring buffer
2023-08-16 15:20:24 +01:00