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
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