Commit Graph

522 Commits

Author SHA1 Message Date
Jonathan G Rennison
95fb222852 Distribute articulated vehicle weight evenly between articulated parts
Instead of allocating it all to the first part
This improves realistic braking behaviour for long articulated consists
2021-04-03 22:04:37 +01:00
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
2021-01-31 01:08:35 +00:00
Matt Kimber
40d5fe1631 Fix eeb88e8: Trains reversed while paused do not correctly update sprite bounds (#8540) 2021-01-17 19:57:16 +01:00
Matt Kimber
5728f9c7d0 Codechange: consider vehicle co-ordinates when identifying viewport candidate as using only the hash generates false positives 2021-01-05 11:42:25 +01:00
Matt Kimber
9b28b15e67 Codechange: create MutableSpriteCache to remove the need to cast Vehicle to a mutable type in render methods 2021-01-05 11:42:25 +01:00
Matt Kimber
eeb88e87d8 Codechange: improve performance for complex vehicle chains by resolving sprites less often 2021-01-05 11:42:25 +01:00
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.
2021-01-03 16:12:59 +00:00
glx22
d8605ad18d Codechange: Replace FOR_VEHICLE_ORDERS with range-based for loops 2020-12-27 10:28:46 +00:00
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
2020-11-08 23:09:01 +00:00
Jonathan G Rennison
cde5e8c79d Add setting to disable continuously updating NewGRF vehicle image 2020-11-08 11:59:29 +00:00
Jonathan G Rennison
53af61fc9e Do not charge vehicle running costs when waiting in depot due to timetable
See: #202
2020-11-05 22:58:16 +00:00
Jonathan G Rennison
cce6d731a1 TBTR: Delete orphaned virtual trains on client disconnection 2020-10-09 19:26:07 +01:00
Jonathan G Rennison
810bfd276e Add several NewGRF variables to vehicle image callback whitelist
Add vehicle flags to control cached image invalidation

Various refactorings
2020-08-25 01:26:44 +01:00
Jonathan G Rennison
002e99ac34 Debug: Show tile info on separate lines in vehicle debug window 2020-07-09 17:40:00 +01:00
Jonathan G Rennison
1f5de8b82c Auto separation: Remove circular linked list, use new algorithm 2020-07-09 02:15:16 +01:00
Jonathan G Rennison
4020719227 Exclude effect and disaster vehicles from vehicle tile hash 2020-03-03 06:57:50 +00:00
Jonathan G Rennison
76f68c48f5 Cache whether vehicle is currently drawn: Vehicle::IsDrawn() 2020-02-03 18:58:19 +00:00
Jonathan G Rennison
9917a1daef Scheduled dispatch: Add hints about dispatch order to timetable window
Adjust condition for dispatch order
2020-01-29 00:25:09 +00:00
Jonathan G Rennison
7960db35f2 Merge branch 'master' into jgrpp
# Conflicts:
#	config.lib
#	projects/openttd_vs140.vcxproj
#	projects/openttd_vs140.vcxproj.filters
#	projects/openttd_vs141.vcxproj
#	projects/openttd_vs141.vcxproj.filters
#	projects/openttd_vs142.vcxproj
#	projects/openttd_vs142.vcxproj.filters
#	src/aircraft_cmd.cpp
#	src/base_station_base.h
#	src/core/pool_type.hpp
#	src/disaster_vehicle.cpp
#	src/economy.cpp
#	src/engine.cpp
#	src/group.h
#	src/group_cmd.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/network/network_command.cpp
#	src/network/network_server.cpp
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/road_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/station_sl.cpp
#	src/saveload/town_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/screenshot.cpp
#	src/screenshot.h
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train.h
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehiclelist.cpp
#	src/window_type.h
2020-01-06 18:45:51 +00:00
glx
d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
Jonathan G Rennison
aa8aae9a62 Initial implementation of tracerestrict speed restriction feature 2019-12-06 21:15:07 +00:00
Jonathan G Rennison
cbdd9f84d8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_gui.cpp
#	src/lang/korean.txt
#	src/video/sdl2_v.cpp
#	src/video/sdl2_v.h
#	src/window.cpp
#	src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison
36eb4165b8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/bridge_map.h
#	src/crashlog.cpp
#	src/industry.h
#	src/linkgraph/linkgraph_type.h
#	src/order_type.h
#	src/saveload/afterload.cpp
#	src/settings.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/stdafx.h
#	src/table/settings.h.preamble
#	src/train.h
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/viewport_func.h
#	src/widgets/station_widget.h
#	src/zoom_func.h
#	src/zoom_type.h
2019-07-08 16:19:07 +01:00
Charles Pigott
5b34c8019f Codechange: Remove Company/OwnerByte types 2019-04-29 17:40:22 +01:00
Charles Pigott
96097b34a5 Codechange: Remove Direction*Byte types 2019-04-29 17:40:22 +01:00
Jonathan G Rennison
674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 2019-04-11 18:14:13 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Jonathan G Rennison
99b79c26c6 Remove disaster vehicles from tick cache immediately on deletion 2019-03-27 00:36:06 +00:00
Jonathan G Rennison
3b55f5d765 Cache whether ground vehicles currently have 0 slope resistance 2019-02-16 21:27:08 +00:00
Jonathan G Rennison
3af5861693 Fix ship sprite not being updated when rotating to match direction change 2019-02-07 19:47:53 +00:00
Jonathan G Rennison
37adf9be4a Cache the last vehicle in a consist to have a visual effect 2019-01-26 11:36:04 +00:00
Jonathan G Rennison
e5b61e0b6c Refactor CallVehicleTicks vehicle loop 2019-01-25 20:17:15 +00:00
Jonathan G Rennison
191afd93c1 Merge branch 'save_ext' into jgrpp
# Conflicts:
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/vehicle_base.h
#	src/widgets/dropdown.cpp
2019-01-21 19:28:29 +00:00
Peter Nelson
81330b8d6e Change: Add path cache for ships. 2019-01-19 23:11:17 +00:00
Jonathan G Rennison
e735c1a51a Merge branch 'master' into jgrpp
# Conflicts:
#	src/aircraft_cmd.cpp
#	src/autoreplace_cmd.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_rail.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/script_station.hpp
#	src/track_func.h
#	src/vehicle_base.h
2018-11-05 12:53:36 +00:00
Charles Pigott
f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Jonathan G Rennison
3330e4cef8 Merge branch 'cargo_type_order' into jgrpp
# Conflicts:
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/station_sl.cpp
#	src/track_func.h
2018-07-02 21:04:06 +01:00
Jonathan G Rennison
00b1fe6246 Cargo type orders: Add support for 64 cargo types 2018-07-02 21:03:53 +01:00
Jonathan G Rennison
0ae32838ea Merge branch 'save_ext' into cargo_type_order
# Conflicts:
#	src/core/smallstack_type.hpp
2018-07-02 18:52:22 +01:00
Jonathan G Rennison
943f4fdabb Debug: Add train and RV flags to scope info dump
Move flag dumping to separate function
2018-06-05 18:54:59 +01:00
Jonathan G Rennison
56be293107 Merge branch 'master' into jgrpp
# Conflicts:
#	src/blitter/32bpp_anim.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_anim_sse2.cpp
#	src/blitter/32bpp_base.cpp
#	src/blitter/32bpp_base.hpp
#	src/ground_vehicle.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/main_gui.cpp
#	src/newgrf_house.cpp
#	src/newgrf_house.h
#	src/town_cmd.cpp
#	src/vehicle_base.h
#	src/viewport_gui.cppp
2018-05-25 18:29:17 +01:00
PeterN
a07394a63a Change: Remove direction parameter from Vehicle::UpdateDeltaXY. (#6792)
The value is either unused or always the same as this->direction.
2018-05-22 18:43:34 +01:00
Jonathan G Rennison
78838ee2a2 Add freight train load/unload mode: through load 2018-03-26 20:12:50 +01:00
Jonathan G Rennison
a6a1e67dbc Scale displayed running costs by day length factor 2018-01-25 18:23:15 +00:00
Jonathan G Rennison
d730cfd51d Cache sprite sequence bounds for vehicles 2018-01-19 19:13:01 +00:00
Jonathan G Rennison
3a2a316588 Merge branch 'day_length' into jgrpp
# Conflicts:
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/vehicle_sl.cpp
2018-01-12 01:23:28 +00:00
Jonathan G Rennison
7b567c9d26 Extend vehicle running ticks to 16 bits to avoid overflow at day length > 3 2018-01-12 00:03:15 +00:00
Jonathan G Rennison
218085c535 Timetable: Implement autofill/automate for taken conditional orders.
Fix wrong timetable values being set after using skip or send to depot.
Add timetabled flag for conditional order branch taken travel time.
2017-12-18 01:26:27 +00:00
innocenat
0b8f0e64ec Scheduled Dispatch feature
Code is tested and run well on small-ish train network. Not tested extensively.
2017-05-30 01:37:08 +07:00