Commit Graph

1966 Commits (cdf1ff8d5abc0c9c4a65c9b3386c58d766a3ab36)

Author SHA1 Message Date
Peter Nelson f5f035a22b Codechange: Make use of Rect Width/Height helpers. 2 years ago
Peter Nelson ed60c88b0a Change: Use power-of-2 scaling for some dimensions in GUI.
These are related to drawing sprites that are normally drawn on the
landscape, and should therefore still follow power-of-2 scaling to fit
correctly.
2 years ago
Artin Alavi fd4f148c62
Feature: Hotkey to honk a vehicle's horn (#10110) 2 years ago
Henry Wilson 59dbcdb5ba Feature: Display power-to-weight ratio in ground vehicle details GUI 2 years ago
Jonathan G Rennison 1518c2fa1e Merge branch 'master' into jgrpp
# Conflicts:
#	src/depot_type.h
#	src/lang/german.txt
#	src/order_gui.cpp
#	src/pathfinder/yapf/yapf_rail.cpp
#	src/script/api/script_window.hpp.in
#	src/settings_table.cpp
#	src/train_cmd.cpp
2 years ago
Jonathan G Rennison 4b08874583 Only show edge level crossing overlays even when safer crossings is off 2 years ago
Tyler Trahan c19abebf8d
Feature: Multi-track level crossings (#9931) 2 years ago
Jonathan G Rennison 0f697c5501 CheckNextTrainTile should never take action for OT_WAITING orders 2 years ago
Nicolas Chappe 721d98a7d0 Feature: Constantly update destination of 'any depot' orders 2 years ago
Nicolas Chappe a4052ca348 Codechange: Add VehicleOrderSaver::Restore() 2 years ago
Nicolas Chappe 7e7d943526 Codechange: [YAPF] Allow to retrieve the final tile of the calculated path 2 years ago
Nicolas Chappe a9a21e784d Codechange: Always set the ODATFB_NEAREST_DEPOT flag for 'any depot' orders 2 years ago
Jonathan G Rennison 29a1e49c28 Change various asserts to not be included in release builds 2 years ago
Bouke Haarsma bda602f4b0 Fix: reduce framerate overhead on train ticks
Tick() is a noop for all but front-engine / crashed vehicles. Starting a framerate is rather cheap, but not free, and introduces a lot of overhead for such close loops.
2 years ago
Jonathan G Rennison 7f782a1bc3 Fix calculating train curve speed limit on dual rail type tiles 2 years ago
Jonathan G Rennison 38c2fa3b66 Add a change counter value special order type 2 years ago
Jonathan G Rennison 839746d2bb Fix template train move/sell command category for build while paused 2 years ago
Jonathan G Rennison 33e3e571d3 Return specific error when wagon purchase fails due to wrong depot type
See: #419
2 years ago
Jonathan G Rennison a97d5cb333 Fix incorrect template replacement error message when chain not buildable
And no specific error returned

See: #419
2 years ago
Jonathan G Rennison e3896b69d3 Fix #416: Division by zero for trains of 0 mass
In maximum achievable speed estimator
2 years ago
Jonathan G Rennison bc920df63a Fix excessive braking for slopes with realistic braking
Unit conversion issue between potential and kinetic energies
2 years ago
Jonathan G Rennison cbabbb6db6 Fix train braking behaviour when lookahead is aspect limited
When lookahead end is within the reservation end
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 979704271b
Fix: reverse train direction command did not validate the given vehicle properly (#9947)
You could give a wagon in the chain to reverse (which makes no
functional sense ofc). In result, only parts of the vehicle were
reversing, leading to weird crashes.
2 years ago
Jonathan G Rennison c6ae82b611 Fix 9ff161e4 boosting lookahead braking stats but not actual brake forces 2 years ago
Jonathan G Rennison bd28d5a239 Use order state at reservation time for signal mode tracerestrict eval 2 years ago
Jonathan G Rennison 78ae295dfe Add combined normal and shunt aspect signal style flag 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 5b5fbaa476 Fix reservation error when a reserve through signal was the last tile
When there were no junctions earlier in the reservation
2 years ago
Jonathan G Rennison 24e965061c Fix limit train lookahead to signal aspect when starting
From depot and within signal sighting distance (e.g. reverse)
2 years ago
Jonathan G Rennison b6e099121a Fix limit train lookahead to signal aspect within signalled tunnel/bridges 2 years ago
Jonathan G Rennison 9ff161e453 Boost realistic braking stats of trains affected by the freight multiplier 2 years ago
Jonathan G Rennison 22caac6529 Add game setting to limit train lookahead to signal aspect
In realistic braking mode when multi-aspect signalling enabled by GRF
2 years ago
Jonathan G Rennison 99ee4b13ce Realistic braking: Cache train overall z position
Refresh cache at a variable rate depending on train length and
weight distribution
2 years ago
Jonathan G Rennison 6d877b5e70 Reduce redundant calls to get current max speed for trains and RVs
Between ShowVisualEffect() and UpdateSpeed()
2 years ago
Jonathan G Rennison 502980ba61 Support railtype-dependant GRF train speed limits with realistic braking
See: #389
2 years ago
Jonathan G Rennison 92142e5684 Add routing restriction action to make exempt from speed adaptation 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
Jonathan G Rennison 909b20ee68 Implement train speed adaptation on signalled tunnels/bridges
See: #373
2 years ago
Niels Martin Hansen e68bf58989 Codechange: Use anonymous union for vehicle orders/old orders list 2 years ago
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
2 years ago
Jonathan G Rennison 904ff6757d Add slot support to road vehicles, ships and aircraft 2 years ago
Jonathan G Rennison 543433218c Ensure that timetable and scheduled dispatch windows redrawn as required
Reduce inefficient window and shared order list iteration
2 years ago
Jonathan G Rennison a4ea155d33 Merge PR #357 into jgrpp 3 years ago
Yourself 7823c81597 Add: Through load speed limit setting 3 years ago
Yourself aa7413a89f Fix: Require non-zero capacity for refit cargo type 3 years ago
Jonathan G Rennison 30817c3915 Fix VRF_BEYOND_PLATFORM_END not being cleared when switching order 3 years ago
Jonathan G Rennison f40191b3c0 Add hysteresis to depot search max penalty in missing depot order mode
See: #345
3 years ago
Michael Lutz 41fa16f325 Codechange: Don't use globals for return values from vehicle command procs. 3 years ago
Michael Lutz 13528bfcd0 Codechange: Un-bitstuff all remaining commands. 3 years ago
Michael Lutz 21675ec7e2 Codechange: Un-bitstuff vehicle/engine commands. 3 years ago
Michael Lutz 4f3ea3907e Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID). 3 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.
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 549caca39c Codechange: Move command arguments to the back of the networked command function calls. 3 years ago
Michael Lutz b6933a2ebd Codechange: Move command arguments to the back of the DoCommand function call. 3 years ago
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
3 years ago
Jonathan G Rennison 5723c317f7 Fix trains with non-front parts needing repair not being serviced 3 years ago
Jonathan G Rennison 4db14ccd18 Fix 71c39dc: Incorrect handling of order without non-stop flag
See: #337
3 years ago
Jonathan G Rennison 4ccbb11440 Only show level crossing overlay sprites on outsides of multi-track crossings
When using both adjacent crossings and safer crossings
3 years ago
Jonathan G Rennison 551560537f Ensure that adjacent level crossings cannot leave map if there are no void tiles 3 years ago
Jonathan G Rennison af2c51e3d4 Merge branch 'running-costs-exploration' into jgrpp 3 years ago
Jonathan G Rennison 71c39dc8c2 If train next order is for same station when leaving, do not leave
Just start loading again without moving instead
3 years ago
Jonathan G Rennison f22a5685c3 Divide cost instead of cost_factor in running costs division
This is to prevent 0 running costs for cheap vehicles when
cost_factor would be < 1
3 years ago
Jonathan G Rennison bb8e4eb18a Adjust stopped/depot detection for running costs division
Fix v/this use in Train::GetRunningCost
3 years ago
reldred 904ff346c2 Initial commit to allow configuring running costs as a fraction (1/1 default thru 1/4) independently for both vehicles stopped in depots (doesn't work for planes, I'm not smart enuff), or vehicles that are stationary. 3 years ago
Jonathan G Rennison 76ad272f3b Fix reservation loop with single-vehicle trains and signalled tunnel/bridges 3 years ago
Jonathan G Rennison 74bfe4e6d2 Allow placing routing restrictions on tunnel/bridge entrance/exit signals
No reserve through support
3 years ago
Jonathan G Rennison 1ee59c8333 Fix pending speed restrictions not being applied on signalled tunnel/bridges
Distance remaining was not decremented
3 years ago
Jonathan G Rennison 8c8c0e250a Fix exit signal state when unable to leave signalled custom bridge head
When the exit direction is different to the bridge direction.
3 years ago
Jonathan G Rennison e661a07425 Fix train not stuck action clearing wait counter when in depot/tunnel/bridge 3 years ago
Jonathan G Rennison 48977853a4 Simplify some rail/signalled tunnel/bridge tile checks 3 years ago
Jonathan G Rennison dad007e16a Fix spelling of TRPRF_SPEED_RESTRICTION_SET 3 years ago
Jonathan G Rennison 3308edf792 Try to extend reservation when passing sighting distance of non-end signal 3 years ago
Jonathan G Rennison 2a2b988424 Fix premature reservation end after reversing station found
ChooseTrainTrackLookAheadStateFlags/TrainReservationLookAheadFlags mixup
3 years ago
Jonathan G Rennison 2b1993ee4d Fix crash with wrong-way running on multi-aspect signalled tunnel/bridge
When using the ignore signals buttons and updating middle signal states
3 years ago
Jonathan G Rennison 3cff5e53e4 Add train cached_curve_speed_mod to VENC, cache checks and debug window 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 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 61cc60099a Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
3 years ago
Jonathan G Rennison 900b9fdf3b Fix crash with wrong-way running on signalled tunnel/bridge
When using the ignore signals buttons, and exiting the bridge/tunnel
in some cases
3 years ago
Jonathan G Rennison 4042480806 Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/company_settings.ini
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/table/win32_settings.ini
#	src/table/window_settings.ini
3 years ago
Jonathan G Rennison 2e022d5194 Move game events to new event_logs header/cpp files 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
Patric Stout 7acdaaaf2f
Fix: Prevent train reversing when wholly inside a train depot (#9557)
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
3 years ago
Jonathan G Rennison aff4dc74d0 Avoid premature reservations with reverse at waypoint orders with wait time 3 years ago
Jonathan G Rennison 3c55250cd6 Fix last station visited not being set when reservation ends at target
Long reserve and subsequent routing restrictions immediately beyond
the reservation were evaluated without the last station visited being
updated to reflect that the target station was already reached.
3 years ago
Jonathan G Rennison 964ea7b910 Debug: Show realistic braking approach speeds in debug window 3 years ago
Jonathan G Rennison 5d351a14d2 Add new signal type: no-entry signal
This is only passable in one direction, but does not have a signal
or show an aspect in the opposite direction

Add a setting for whether this is shown in the signal UI.
Off by default.
3 years ago
Jonathan G Rennison f8e30e807d Fix ProcessOrders not always being called after leaving a waiting order
Fixes conditional order loop on leaving a depot
3 years ago
Jonathan G Rennison b08cc3cf38 Reduce screen re-draw area for tunnel/bridge end signal updates 3 years ago
Jonathan G Rennison f6c2a81f72 Reduce screen re-draw area for bridge middle signal updates 3 years ago
Jonathan G Rennison fea967bbbf Prevent train reversing when wholly inside a train depot
See: #316, https://github.com/OpenTTD/OpenTTD/issues/9520
3 years ago
Jonathan G Rennison b2ef6c0de8 Add implementation of multi-aspect signalling and GRF support
Requires realistic braking

See: #247
3 years ago
Jonathan G Rennison 6546f6deba Fix tunnel exit signal not being set to red when train exited 3 years ago
Jonathan G Rennison dc4b7e0558 Add helper function to set tunnel/bridge entrance signal green 3 years ago
Jonathan G Rennison 55c4fe7d45 Add helper functions to get tunnel/bridge entrance/exit trackdirs 3 years ago
Jonathan G Rennison 2283ce3a2b ATC: Reduce lower limit of nominal look-ahead distance for speed timers
See: #310
3 years ago