Commit Graph

850 Commits

Author SHA1 Message Date
Jonathan G Rennison
7db457ad80 Use _scaled_date_ticks in ODATFB_NEAREST_DEPOT rate-limiting 2024-01-27 16:40:11 +00:00
Jonathan G Rennison
9be3dfa69c Scheduled dispatch: Use an invalid value for no last dispatch, not 0 2024-01-22 18:27:28 +00:00
Jonathan G Rennison
5b7689a0aa Scheduled dispatch: Add flag to re-use all dispatch slots 2024-01-22 01:35:04 +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
041f36d565 Add try to acquire slot order subtype 2024-01-11 21:04:49 +00:00
Jonathan G Rennison
2fc631b15b Rename OT_RELEASE_SLOT to OT_SLOT, use a subtype field 2024-01-11 19:01:25 +00:00
Jonathan G Rennison
3050620189 Merge branch 'master' into jgrpp
# Conflicts:
#	src/autoreplace_cmd.cpp
#	src/build_vehicle_gui.cpp
#	src/cargotype.cpp
#	src/economy.cpp
#	src/engine_gui.cpp
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/linkgraph/refresh.cpp
#	src/linkgraph/refresh.h
#	src/newgrf.cpp
#	src/newgrf_airporttiles.h
#	src/newgrf_roadstop.cpp
#	src/newgrf_station.cpp
#	src/newgrf_station.h
#	src/order_base.h
#	src/order_cmd.cpp
#	src/order_func.h
#	src/order_gui.cpp
#	src/pathfinder/pathfinder_type.h
#	src/saveload/afterload.cpp
#	src/subsidy_base.h
#	src/vehicle_cmd.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
2024-01-11 17:55:16 +00:00
Loïc Guilloux
251008663b Fix #11748: Incorrect clamping of negative service interval values (#11749)
(cherry picked from commit f7bd70baec)
2024-01-10 17:44:51 +00:00
Loïc Guilloux
f7bd70baec Fix #11748: Incorrect clamping of negative service interval values (#11749) 2024-01-10 16:23:36 +01:00
Peter Nelson
400ae65ff2 Codechange: Redefine some cargo-related values in terms of CargoID instead of CargoType.
Values used as special filter types are now defined as offsets from NUM_CARGO instead of confusingly reusing CARGO_NO_REFIT/CARGO_AUTO_REFIT types.
2024-01-09 18:56:05 +00: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
107b73c2b8 Merge branch 'master' into jgrpp 2024-01-05 22:57:15 +00:00
SamuXarick
847f3f660d Fix #10511: Delay 'go to nearest depot' orders (#11548)
Delay the nearest depot order search for a day if the vehicle can't find its destination, which happens when it has already attempted to do so and failed to find a valid destination.
2024-01-05 21:23:01 +00:00
Jonathan G Rennison
ea85bbda97 Fix duplicate order not always preserving colour 2024-01-02 19:38:14 +00:00
Jonathan G Rennison
9ea49d6680 Only compile OrderList::DebugCheckSanity when WITH_ASSERT defined 2024-01-02 14:50:33 +00:00
Jonathan G Rennison
03e0ec8276 Strong typedef: Use strong typedefs for date, date tick, minutes types
Add delta types
Adjust/add type conversion functions
Add various utility methods on types
Remove the various minute macros
Fix some minute conversion inconsistencies
2023-12-19 02:39:54 +00:00
Jonathan G Rennison
e9599fd4be Scheduled dispatch: Remove scheduled_dispatch_start_full_date_fract
Use DateTicksScaled
2023-12-17 23:00:45 +00: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
fc1c47cbd2 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/crashlog.h
#	src/date_type.h
#	src/depot_type.h
#	src/landscape.cpp
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/os/macosx/crashlog_osx.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/pathfinder/npf/npf.cpp
#	src/road_cmd.cpp
#	src/script/api/script_infrastructure.cpp
#	src/stdafx.h
#	src/table/settings/gui_settings.ini
#	src/table/settings/pathfinding_settings.ini
#	src/tests/CMakeLists.txt
2023-11-13 19:08:22 +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
Jonathan G Rennison
1e7f31b807 Fix conditional order wait loops not ignoring label orders 2023-09-23 17:30:27 +01:00
Jonathan G Rennison
9ad2f44ab7 Fix conditional order subtype not being reset when changing to time/date 2023-09-23 16:41:38 +01:00
Jonathan G Rennison
a18f3274b4 Rename close window functions to match upstream 2023-09-15 21:17:25 +01:00
Tyler Trahan
77173a6a10 Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes 2023-09-10 08:40:25 -04:00
Tyler Trahan
fca2b37726 Codechange: Move Ticks into their own class 2023-09-10 08:40:25 -04:00
Jonathan G Rennison
02aecca5ae Conditional order: Replace "next station" with manually set station 2023-08-27 13:47:40 +01:00
Jonathan G Rennison
691e2dcc69 Fix cargo waiting amount via station not being cleared when station deleted 2023-08-27 10:21:46 +01:00
Jonathan G Rennison
c11be37fd9 Add xdata2 field to OrderExtraInfo 2023-08-27 10:03:37 +01:00
Jonathan G Rennison
19835b51ee Move StationCargoList and FlowStatMap out of GoodsEntry struct
Move them into a new GoodsEntryData struct referenced
using a std::unique_ptr from GoodsEntry.
The unique_ptr may be nullptr if the cargo list and flow stat map
are both empty (this is the case for unused cargoes).

This reduces GoodsEntry from 128 to 24 bytes,
and Station from 8680 to 2024 bytes,
(on Linux x86_64).
2023-08-19 21:24:29 +01:00
Patric Stout
299570b2c1 Codechange: make TimerGameCalendar Date and Year types strongly typed (#10761) 2023-08-12 18:14:21 +00:00
Patric Stout
b7acf9e50e Codechange: use TimerGameCalendar::Year and friends when working with years (#11188) 2023-08-12 16:02:31 +02:00
Tyler Trahan
c7b51a8c3a Codechange: Use proper date types in various places (#11177) 2023-08-11 13:32:42 +00:00
Tyler Trahan
6190f48df0 Codechange: Add a DateToYear function instead of dividing each time (#11173) 2023-08-11 08:19:54 -04:00
Rubidium
eaae0bb5e7 Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Jonathan G Rennison
ead18b2af2 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/3rdparty/md5/md5.h
#	src/3rdparty/squirrel/squirrel/squtils.h
#	src/animated_tile.cpp
#	src/console_func.h
#	src/core/CMakeLists.txt
#	src/core/container_func.hpp
#	src/core/smallstack_type.hpp
#	src/crashlog.cpp
#	src/crashlog.h
#	src/debug.h
#	src/economy.cpp
#	src/gamelog.cpp
#	src/industry_gui.cpp
#	src/lang/catalan.txt
#	src/misc_gui.cpp
#	src/network/network_content.h
#	src/newgrf.cpp
#	src/newgrf.h
#	src/newgrf_config.cpp
#	src/newgrf_config.h
#	src/newgrf_gui.cpp
#	src/os/unix/font_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/rail_cmd.cpp
#	src/saveload/animated_tile_sl.cpp
#	src/script/api/script_tilelist.cpp
#	src/settings.cpp
#	src/settingsgen/settingsgen.cpp
#	src/sl/oldloader_sl.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/strgen/strgen.cpp
#	src/strgen/strgen_base.cpp
#	src/table/settings/gui_settings.ini
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_cmd.cpp
#	src/vehicle_gui_base.h
#	src/viewport_sprite_sorter.h
2023-07-02 12:02:36 +01:00
Jonathan G Rennison
28a764f319 Fix order backup not copying dispatch schedules when not enabled
See: #559
2023-07-01 03:03:04 +01:00
Jonathan G Rennison
3cbd1a5a76 Add conditional order test for whether slot is empty/not empty 2023-05-21 12:03:22 +01:00
Jonathan G Rennison
6d483cc5cc Add toggle to show vehicle route overlay even when window is not focused 2023-05-07 11:48:17 +01:00
Jonathan G Rennison
b089b561a5 Add departure board via order subtype to remove via for prior terminus 2023-05-05 17:21:44 +01:00
Jonathan G Rennison
359fe89d2f Don't use occupancy of unload and leave empty orders for occupancy average 2023-04-09 23:34:29 +01:00
Jonathan G Rennison
06e0f39aff Add text label and departure board via orders 2023-04-09 12:48:50 +01:00
Jonathan G Rennison
3b6f7c09ad Allow changing colour of orders in order list and timetable windows 2023-04-08 18:13:35 +01:00
Jonathan G Rennison
0370f2e3f1 Check that order is station type when comparing with last_station_visited 2023-04-03 21:27:20 +01:00
Jonathan G Rennison
e3e743ba1e Skip over dummy/invalid orders in destination prediction and auto-separation 2023-04-03 21:15:42 +01:00
Jonathan G Rennison
c9e62ca29b Only handle each conditional branch once in OrderList::GetNextStoppingStation 2023-04-02 01:59:34 +01:00
Jonathan G Rennison
cbd71b3d58 Merge branch 'master' into jgrpp
# Conflicts:
#	src/order_cmd.cpp
2023-03-05 12:41:58 +00:00
dP
01ebfad809 Fix 3719f60: Crash when copying non-station orders (#10540) 2023-03-04 22:52:30 +00:00
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
2023-03-04 16:45:05 +00:00
Tyler Trahan
3719f60de0 Add: Use specific error message when vehicle cannot go to station/waypoint 2023-03-03 17:11:14 -05:00