Jonathan G Rennison
8d6e57799c
Fix various possible integer type conversion issues
1 year ago
Jonathan G Rennison
17f1d92072
Template replacement: Allow naming templates
...
See: #481
1 year ago
Jonathan G Rennison
8de7f75f0e
Template replacement: Add missing owner checks in template commands
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
90f1768006
Codechange: add non-nullptr asserts in cases where it should never be nullptr
...
Though where similar calls are checked for nullptr as in those instances of
the use of that function it can actually return nullptr. In other words, write
down the assumption that the function never returns nullptr in an assert.
1 year ago
Jonathan G Rennison
10e76b2788
Fix #10032 : Capacities of articulated vehicles in build window
...
See also: #9954
1 year ago
Jonathan G Rennison
5bcc420af3
Infra sharing: Allow using mass start/stop buttons in other company depots
...
See: #469
2 years ago
Michael Lutz
d5fc423793
Fix #10223 : Crash when vehicle cloning fails on order cloning.
2 years ago
Jonathan G Rennison
03a9912a2b
Vehicle list commands now take into account cargo type filter
...
Start/stop
Send to depot type commands
Add to new group
Change order target
2 years ago
Jonathan G Rennison
c7e4dbf2f6
Fix displayed capacities/weights of articulated vehicles in build window
...
Simplify handling of multi-part capacities and refits
See: https://github.com/OpenTTD/OpenTTD/issues/9954
See: https://github.com/OpenTTD/OpenTTD/issues/10032
2 years ago
Jonathan G Rennison
839746d2bb
Fix template train move/sell command category for build while paused
2 years ago
Jonathan G Rennison
71b6d7a502
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/arabic_egypt.txt
# src/station_cmd.cpp
# src/station_cmd.h
# src/timetable_cmd.cpp
# src/train_cmd.cpp
2 years ago
Patric Stout
055121df80
Fix: depot-related commands did not validate depot tiles properly ( #9948 )
...
The bug comes in two slices:
1) the functions never actually checked if "tile" was a depot tile.
This allowed executing the function on tile 0, where are the
things like shadows of aircrafts are.
2) BuildDepotVehicleList() first checked if a vehicle is in a depot
before checking if it was a primary vehicle. This is invalid
for aircraft.
Fixing the first hides the second, and fixing the second makes the
first non-exploitable. But, fixing both felt like the best thing
to do.
2 years ago
Jonathan G Rennison
05c7c528f5
Fix a6e3467d: Don't do cargo consistency checks after overriding cargo
...
This falsely triggers warning messages
2 years ago
Jonathan G Rennison
a6e3467d58
Fix virtual train consist change callbacks being run before cargotype set
...
When instantiating virtual train from non-buildable template train
See: #402
Also fixes instantiating virtual train from train not refitting leading
vehicle.
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
J0anJosep
d9a37c915f
Cleanup #9725 : Replace cmd_helper related functions and remove cmd_helper.h.
2 years ago
Joan Josep
e890e7db76
Cleanup #9725 : Clean up Doxygen docs and fix typo. ( #9753 )
3 years ago
Michael Lutz
41fa16f325
Codechange: Don't use globals for return values from vehicle command procs.
3 years ago
Michael Lutz
e08b3abe7f
Codechange: Un-bitstuff group and autoreplace commands.
3 years ago
Michael Lutz
21675ec7e2
Codechange: Un-bitstuff vehicle/engine commands.
3 years ago
Michael Lutz
211c630cbe
Codechange: Un-bitstuff order commands.
3 years ago
Michael Lutz
4f3ea3907e
Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID).
3 years ago
Michael Lutz
e740c24eb7
Codechange: Template DoCommand 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.
3 years ago
Michael Lutz
7048e1522f
Codechange: Move flags in CommandProc in front of the command arguments.
3 years ago
Michael Lutz
33ca4f2b99
Codechange: Let the compile generate the master command table out of templated command traits.
...
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
3 years ago
Michael Lutz
a38bbefe1b
Codechange: Untangle command code, flags and error string for DoCommand*.
3 years ago
Michael Lutz
b6933a2ebd
Codechange: Move command arguments to the back of the DoCommand function call.
3 years ago
Jonathan G Rennison
faf32200cf
Merge tag '12.0-beta1' into jgrpp-beta
...
# Conflicts:
# CMakeLists.txt
# bin/ai/CMakeLists.txt
# bin/game/CMakeLists.txt
# src/build_vehicle_gui.cpp
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/fios.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/polish.txt
# src/network/core/game_info.cpp
# src/network/core/game_info.h
# src/network/core/tcp_game.cpp
# src/network/core/tcp_game.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_coordinator.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf_engine.cpp
# src/openttd.cpp
# src/rev.cpp.in
# src/settings_type.h
# src/train.h
# src/train_cmd.cpp
3 years ago
Jonathan G Rennison
a026d82c6b
Allow cloning trains directly from the template train list
...
See: #312
3 years ago
SamuXarick
76b8343777
Fix #9392 : Return a valid value with GetBuildWithRefitCapacity when AIs are maxed out in vehicles ( #9393 )
3 years ago
Rubidium
d31a535c87
Cleanup: remove some unneeded c_str() calls
3 years ago
rubidium42
2e136285e1
Codechange: move from C-string to std::string for DoCommand
3 years ago
rubidium42
661728558e
Codechange: let IsUnique.* functions accept std::string
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
Jonathan G Rennison
27b65dadbc
Refresh lookahead when starting train from stationary
3 years ago
Jonathan G Rennison
f4e29071be
Merge tag '1.11.0-beta2' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release.yml
# CMakeLists.txt
# src/blitter/32bpp_optimized.cpp
# src/debug.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/lang/czech.txt
# src/lang/english.txt
# src/lang/italian.txt
# src/lang/swedish.txt
# src/lang/ukrainian.txt
# src/network/network_server.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/pathfinder/follow_track.hpp
# src/screenshot.cpp
# src/settings_type.h
# src/spritecache.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/video_driver.cpp
# src/video/video_driver.hpp
# src/video/win32_v.cpp
3 years ago
Patric Stout
9a3dbf3122
Fix 02e770ff: allow estimating CloneVehicle if short on money ( #8748 )
...
CheckCompanyHasMoney() was also executed when not using DC_EXEC,
resulting in an error about shortage of money instead of the
estimation.
This mostly is a problem for AI players, as they will have no
way to know how much it would have cost.
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
f9956d88c3
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/aircraft_cmd.cpp
# src/company_gui.cpp
# src/lang/arabic_egypt.txt
# src/lang/czech.txt
# src/lang/esperanto.txt
# src/lang/faroese.txt
# src/lang/finnish.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/latvian.txt
# src/lang/malay.txt
# src/lang/polish.txt
# src/lang/spanish.txt
# src/lang/spanish_MX.txt
# src/lang/unfinished/urdu.txt
# src/main_gui.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_cmd.cpp
# src/settings_type.h
# src/station_cmd.cpp
# src/table/settings.ini
3 years ago
Jonathan G Rennison
dd16145b03
TBTR: No longer use idle vehicles in depots by default
4 years ago
Jonathan G Rennison
515aeb04e0
TBTR: Add support for vehicle reversed flag
4 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
Patric Stout
725d793be1
Fix: don't allow cloning vehicles if cloning orders is failing ( #8515 )
...
Before this fix, any failing clone order was silently ignored
and you as user would never know till you checked the order list.
Evil.
4 years ago
Jonathan G Rennison
369c98e3e0
TBTR: Fix editing a template not refitting the head and artic/dual parts
4 years ago
Yourself
cbaceb62d2
Fix: overflow in CloneVehicleName
4 years ago
Jonathan G Rennison
bbbda0739b
Add third DoCommand parameter p3
4 years ago
Jonathan G Rennison
ca726d79f5
Add company setting for whether to add vehicle to group on copy-clone
4 years ago
Jonathan G Rennison
cce6d731a1
TBTR: Delete orphaned virtual trains on client disconnection
4 years ago