Commit Graph

522 Commits

Author SHA1 Message Date
Tyler Trahan
b012d1100c Fix #10334: Store separate newgrf-safe version of date_of_last_service. (#11124)
This value is not changed when the date cheat is used, which caused issues with changing properties based on service date.

Co-authored-by: Peter Nelson <peter1138@openttd.org>
(cherry picked from commit 9a602ff304)
2023-08-08 18:31:29 +01:00
Jonathan G Rennison
d75c489466 Add various missing includes 2023-07-03 23:44:54 +01: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
d09b504bc5 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-source.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	COMPILING.md
#	src/ai/ai_core.cpp
#	src/ai/ai_gui.cpp
#	src/bridge_gui.cpp
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/core/CMakeLists.txt
#	src/core/smallmap_type.hpp
#	src/disaster_vehicle.h
#	src/effectvehicle_base.h
#	src/fontcache.cpp
#	src/game/game_core.cpp
#	src/game/game_gui.cpp
#	src/gamelog.cpp
#	src/gamelog_internal.h
#	src/group_gui.cpp
#	src/linkgraph/linkgraph.h
#	src/misc.cpp
#	src/network/core/config.h
#	src/network/core/udp.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_content_gui.cpp
#	src/network/network_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_gui.cpp
#	src/newgrf_profiling.cpp
#	src/newgrf_profiling.h
#	src/object_gui.cpp
#	src/openttd.cpp
#	src/openttd.h
#	src/order_gui.cpp
#	src/os/windows/font_win32.cpp
#	src/rail_gui.cpp
#	src/road.cpp
#	src/road_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
#	src/script/api/script_controller.cpp
#	src/script/api/script_roadtypelist.cpp
#	src/script/script_config.cpp
#	src/script/script_config.hpp
#	src/script/script_instance.cpp
#	src/script/script_scanner.cpp
#	src/script/squirrel.cpp
#	src/script/squirrel_helper.hpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/table/settings/network_private_settings.ini
#	src/timetable_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/window_gui.h
2023-07-01 02:42:51 +01:00
Jonathan G Rennison
ac2f9a21e8 Move upstream saveload to src/saveload/, move jgrpp saveload to src/sl/
Leave afterload in src/saveload/
2023-06-08 00:01:40 +01:00
Jonathan G Rennison
24ffc5233c Remove CapacitiesMap typedef 2023-06-01 17:40:24 +01:00
Jonathan G Rennison
2ed248a61d Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	src/aircraft_cmd.cpp
#	src/airport_gui.cpp
#	src/articulated_vehicles.cpp
#	src/build_vehicle_gui.cpp
#	src/company_gui.cpp
#	src/genworld_gui.cpp
#	src/gfx_layout.cpp
#	src/misc_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_config.h
#	src/newgrf_engine.cpp
#	src/news_gui.cpp
#	src/order_gui.cpp
#	src/roadveh_cmd.cpp
#	src/saveload/saveload.h
#	src/saveload/vehicle_sl.cpp
#	src/ship_cmd.cpp
#	src/statusbar_gui.cpp
#	src/table/settings/network_private_settings.ini
#	src/table/settings/network_settings.ini
#	src/toolbar_gui.cpp
#	src/train_cmd.cpp
#	src/vehicle_gui.cpp
2023-05-31 23:21:38 +01:00
Rubidium
3323402aaa Codechange: rename smallvec_type to container_func and use only when needed 2023-05-20 16:53:10 +02:00
Peter Nelson
c38df2d589 Codechange: Use std::map instead of custom SmallMap. 2023-05-18 12:18:30 +01:00
Peter Nelson
56085be9bd Codechange: Move includes for common STL headers to stdafx. 2023-05-17 10:14:41 +01:00
Peter Nelson
7ccdefa1c1 Change: Increase vehicle random data from 8 to 16 bits. 2023-05-04 21:42:28 +01:00
Tyler Trahan
930f0a16d8 Codechange: Define Date/Year/Month/Day within TimerGameCalendar class 2023-04-26 07:14:03 -04:00
Patric Stout
31ad990831 Codechange: move tick-counter into TimerGameTick (#10712) 2023-04-24 16:55:40 +00:00
Jonathan G Rennison
bd837a2fcd TBTR: Mark vehicles as requiring service on template/replacement change 2023-03-24 11:46:16 +00:00
Jonathan G Rennison
211fdd62b2 Initial support for multi-part (pseudo-articulated) ships 2023-03-15 19:44:26 +00:00
Jonathan G Rennison
8dca681c8c Use btree_multimap for pending speed restrictions
Avoid unnecessary iteration when saving VESR chunk
2023-03-07 00:31:14 +00:00
Jonathan G Rennison
483e3172af Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/strong_typedef_type.hpp
#	src/gfx.cpp
#	src/group_cmd.cpp
#	src/industry_cmd.cpp
#	src/map_func.h
#	src/newgrf_debug_gui.cpp
#	src/order_cmd.cpp
#	src/pathfinder/follow_track.hpp
#	src/rail_cmd.cpp
#	src/road_cmd.cpp
#	src/road_gui.cpp
#	src/saveload/saveload.cpp
#	src/screenshot.cpp
#	src/smallmap_gui.cpp
#	src/station_cmd.cpp
#	src/strings.cpp
#	src/tile_type.h
#	src/timetable_gui.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
2023-02-10 17:19:35 +00:00
Rubidium
b7a5d8e296 Codechange: add annotation to selectively force inlining in debug build 2023-01-28 20:32:45 +01:00
Jonathan G Rennison
0310fb0cdc Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/czech.txt
#	src/lang/galician.txt
#	src/lang/german.txt
#	src/order_cmd.cpp
#	src/saveload/afterload.cpp
#	src/ship.h
#	src/vehicle.cpp
2023-01-05 23:45:34 +00:00
Rubidium
375a5b8e3f Codechange: refactor FindClosestDepot to not use pointers, but return a struct 2023-01-04 22:30:48 +01:00
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
2022-12-11 00:27:18 +00:00
Jonathan G Rennison
1f36c3f3e4 Merge branch 'master' into jgrpp
# Conflicts:
#	src/ai/ai_gui.cpp
#	src/build_vehicle_gui.cpp
#	src/genworld_gui.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/newgrf_sound.cpp
#	src/roadveh.h
#	src/sound.cpp
#	src/station_cmd.cpp
#	src/train.h
#	src/train_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_gui.cpp
2022-11-26 23:04:14 +00:00
Artin Alavi
fd4f148c62 Feature: Hotkey to honk a vehicle's horn (#10110) 2022-11-10 21:36:18 +01:00
Henry Wilson
59dbcdb5ba Feature: Display power-to-weight ratio in ground vehicle details GUI 2022-11-08 21:02:08 +01:00
Jonathan G Rennison
0bf1c9bb9d Merge tag '13.0-beta1' into jgrpp 2022-11-05 19:12:42 +00:00
Nicolas Chappe
f8a7b76675 Fix #9665: [Linkgraph] Fix travel times of non-direct journeys 2022-10-29 18:39:03 +02:00
Jonathan G Rennison
6d877b5e70 Reduce redundant calls to get current max speed for trains and RVs
Between ShowVisualEffect() and UpdateSpeed()
2022-06-01 20:05:45 +01:00
Jonathan G Rennison
72e2ee882e Fix 1a38cbde7: Ship viewport hash not updated on rotation 2022-05-26 23:26:57 +01:00
Andy
24c07f1640 Change: increase vehicle sprite stack from 4 layers to 8 (#9863)
(cherry picked from commit 1cfdbb4dea)
2022-04-29 18:03:07 +01:00
Andy
1cfdbb4dea Change: increase vehicle sprite stack from 4 layers to 8 (#9863) 2022-04-26 19:07:44 +02:00
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
2022-03-04 18:17:44 +00:00
Niels Martin Hansen
e68bf58989 Codechange: Use anonymous union for vehicle orders/old orders list 2022-02-15 20:01:10 +01:00
Jonathan G Rennison
beb6d01fe8 Improve handling of conditional order waiting loops
Do not leave station/depot/waypoint at all if conditional order
loop would result in re-starting waiting/loading

Only actually leave and update timetable at end of loop

Rate-limit loop checks regardless of timetabled wait time
2022-01-19 00:10:49 +00:00
Jonathan G Rennison
904ff6757d Add slot support to road vehicles, ships and aircraft 2022-01-19 00:10:49 +00:00
Jonathan G Rennison
ba65a5bab5 Run most "daily" vehicle tasks at a fixed frequency at day lengths >= 8
This includes: running costs, track sharing costs, breakdown checks,
servicing checks, order checks
2021-11-27 15:51:49 +00:00
Jonathan G Rennison
5d6533e258 Debug: Add a multiline long form of DumpVehicleFlags 2021-11-23 19:28:38 +00:00
dP
54951e39a1 Fix #8797: Use logical rail length when placing signals (#9652) 2021-11-19 00:07:22 +00:00
nchappe
2cb6351af5 Fix: Update last servicing dates when using the date cheat (#9694) 2021-11-19 00:04:22 +00:00
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
2021-11-01 18:33:39 +00:00
Jonathan G Rennison
61cc60099a Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
2021-10-29 22:22:54 +01:00
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
2021-10-18 18:01:27 +01:00
Jonathan G Rennison
71a5abd42b Fix aircraft shadows being drawn facing the wrong direction 2021-10-12 20:19:53 +01:00
Jonathan G Rennison
f8e30e807d Fix ProcessOrders not always being called after leaving a waiting order
Fixes conditional order loop on leaving a depot
2021-08-30 15:26:49 +01:00
Jonathan G Rennison
4cf6b1e923 Fix ViewportAddVehiclesIntl using wrong image rotation for ships
When rotating in place
2021-08-29 22:03:08 +01:00
Patric Stout
4e4720f217 Codechange: remove the special station/vehicle code from SaveLoad
With the new SLEG_STRUCT it is much easier to embed a struct
in a struct, where the sub-struct has limitations on when it is
being used.
This makes both the code easier to read (less magic) and avoids
the SaveLoad needing to know all these things about Stations
and Vehicles.
2021-06-14 21:58:05 +02:00
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.
2021-05-31 22:26:44 +02:00
Jonathan G Rennison
a8157770df Add fast path to vehicle var 0x42 if only upper byte is required 2021-05-20 18:34:06 +01:00
Jonathan G Rennison
aa0c1ba2e0 Only update vehicle image when in the vicinity of a viewport
This reduces the performance impact of expensive NewGRF
graphics chains.
2021-05-20 18:03:11 +01:00
Jonathan G Rennison
3e8ee4f49f Remove "Disable vehicle image update" setting 2021-05-19 20:42:04 +01:00
Jonathan G Rennison
e6a858c0dc Fix date cheat/scenario load not adjusting vehicle date of last service 2021-04-24 21:55:50 +01:00