Commit Graph

1626 Commits (117eb6637dbbb74e93cd3e0951fb81b263dd850c)

Author SHA1 Message Date
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 1ff03f8ee9 De-virtualise calls to Vehicle::OnNewDay 3 years ago
Jonathan G Rennison 5d6533e258 Debug: Add a multiline long form of DumpVehicleFlags 3 years ago
Jonathan G Rennison 5723c317f7 Fix trains with non-front parts needing repair not being serviced 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 3ea4ac98e7 Fix missing VehicleRailFlags in DumpVehicleFlags 3 years ago
Jonathan G Rennison 3ef1a0943b Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/lang/chuvash.txt
#	src/lang/czech.txt
#	src/lang/english_AU.txt
#	src/lang/english_US.txt
#	src/lang/german.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/latvian.txt
#	src/lang/russian.txt
#	src/tree_gui.cpp
#	src/vehicle.cpp
3 years ago
SamuXarick a57c2b073a
Feature: Display icon/text whether vehicle is lost in vehicle (list) window (#9543) 3 years ago
Jonathan G Rennison 0748d540e8 Implement improved breakdown speed reductions for ships 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 4cf6b1e923 Fix ViewportAddVehiclesIntl using wrong image rotation for ships
When rotating in place
3 years ago
Nicolas Chappe 977604ef08 Feature: [Linkgraph] Prioritize faster routes for passengers, mail and express cargo
Passengers usually prefer fast paths to short paths.
Average travel times of links are updated in real-time for use in Dijkstra's algorithm,
and newer travel times weigh more, just like capacities.
3 years ago
Jonathan G Rennison 71dfd2900a Add depot order flag for specific depot
Use upper half of order flags for extra depot flags

See: #302
3 years ago
Jonathan G Rennison fd0cb63963 Fix send vehicle to specific depot allowing incompatible rail types 3 years ago
Jonathan G Rennison 382955396f Fix send vehicle to specific depot allowing incompatible road/tram types
See: #302
3 years ago
Jonathan G Rennison 5fb3eb0bb9 Adjust signal speed restriction timeouts when date or day length changed 3 years ago
Andreas Schmitt c1bf236a26 Rewrite the ATC logic
Now signals store speed information with a timeout for this data's validity
3 years ago
rubidium42 55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 3 years ago
Jonathan G Rennison 1002c6d9d2 Fix various compiler warnings
See: #267
3 years ago
Patric Stout 28e90769f7 Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
3 years ago
glx22 5799402f7a Codechange: Rename window related DeleteXXX to match new behaviour 3 years ago
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.
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
Matt Kimber 520595ff87
Fix 3d7ab09: stopped trains not updating viewport hash when reversed for a second time (#9165) 3 years ago
Jonathan G Rennison e6a858c0dc Fix date cheat/scenario load not adjusting vehicle date of last service 3 years ago
Jonathan G Rennison d484c32d44 Reduce sensitivity of train overheated breakdown 3 years ago
Charles Pigott dd798d688b
Fix #8919: Release builds with asserts enabled (#8925) 3 years ago
Patric Stout fece1c57ca
Codechange: Suppress warnings when asserts are disabled (#8917) 3 years ago
Jonathan G Rennison dfecdf3afb Merge branch 'master' into jgrpp
# Conflicts:
#	src/dock_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/terraform_gui.cpp
#	src/vehicle.cpp
#	src/video/allegro_v.cpp
#	src/video/cocoa/cocoa_v.mm
#	src/video/dedicated_v.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
3 years ago
frosch d9b4413bc9
Codechange: rename sound ids to make more sense. (#8701) 3 years ago
SamuXarick a4035af337
Codechange: Apply coding style (#8640)
* Fix: Missing or needed spaces

* Codechange: Remove space

* Codechange: Remove space

* Codechange: More missing spaces

* Codechange: Missing spaces

* Codechange: Remove space

* Codechange: Remove space
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 6c3e5642f8 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/fileio.cpp
#	src/fileio_func.h
#	src/fios_gui.cpp
#	src/ini_load.cpp
#	src/ini_type.h
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/network/network_client.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/os/windows/win32.cpp
#	src/road_cmd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/settings.ini
#	src/tree_cmd.cpp
#	src/tree_gui.cpp
#	src/vehicle_base.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/cocoa/event.mm
#	src/video/cocoa/wnd_quartz.mm
#	src/viewport.cpp
#	src/widgets/tree_widget.h
3 years ago
Jonathan G Rennison ed0ffb6220 Add feature: realistic train braking
Add setting to select train braking model.
3 years ago
Matt Kimber 40d5fe1631
Fix eeb88e8: Trains reversed while paused do not correctly update sprite bounds (#8540) 4 years ago
Charles Pigott 188bf0fbc9 Change: Remove disable_unsuitable_building setting
This setting is no longer useful, as you can now always build roads,
canals, etc.
4 years ago
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 4 years ago
Matt Kimber 5728f9c7d0 Codechange: consider vehicle co-ordinates when identifying viewport candidate as using only the hash generates false positives 4 years ago
Matt Kimber 9b28b15e67 Codechange: create MutableSpriteCache to remove the need to cast Vehicle to a mutable type in render methods 4 years ago
Matt Kimber eeb88e87d8 Codechange: improve performance for complex vehicle chains by resolving sprites less often 4 years ago
Jonathan G Rennison 204f8e173f Fix sprite bound issues for vehicles which vary bounds with curvature
If a vehicle uses curvature vars 0x45 or 0x62, cache the directions
of its 4 nearest neighbours, and check them in UpdateViewport along
with the vehicle's own direction.
4 years ago
Charles Pigott 860c270c73 Codechange: Replace assert_compile macro with static_assert 4 years ago
Jonathan G Rennison 78b06ddc40 TBTR: Fix palette recolouring of templates
Fix group overrides affecting template image when cloning vehicle
Update template when changing company colours

Update template images on demand instead of at load
4 years ago
Jonathan G Rennison 99b2698658 Update vehicle image on demand when image is continuously updated by GRF
This is for trains/RVs only (to avoid issues with variable sprite bounds)

This largely fixes the performance issues of continuously updating
vehicle images
4 years ago
Jonathan G Rennison 75eeac8ff9 Fix crash when skipping suppressed unreached implicit orders on load 4 years ago
Jonathan G Rennison cce6d731a1 TBTR: Delete orphaned virtual trains on client disconnection 4 years ago
Jonathan G Rennison e684135e4a Add fast path to ViewportMapDrawVehicles horizontal hash bit check 4 years ago
Jonathan G Rennison bd2649c19e Avoid unnecessary redrawing of vehicle list windows
Redraw info section every tick if values have changed
4 years ago
Jonathan G Rennison a474e71243 Viewport: Cache landscape pixels in map mode
Avoid invalidating landscape pixels for non-landscape updates
(vehicles, overlays, etc.)
4 years ago
Jonathan G Rennison 352b361e1b Viewport: Replace viewport mark dirty if zoom level below with flags param
Fix missing flags for tracerestrict and effect vehicles
4 years ago