Commit Graph

400 Commits

Author SHA1 Message Date
Jonathan G Rennison
d37d08ebb3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/industry_cmd.cpp
#	src/station_cmd.cpp
#	src/station_func.h
2020-05-14 00:40:16 +01:00
dP
7bd52970a1 Codechange: Refactor FindStationsAroundTiles to avoid code duplication 2020-05-13 08:43:01 +01:00
Jonathan G Rennison
c42ce832ae Fix viewport signs and text effects marking viewports dirty unnecessarily
* When at high zoom levels where the signs are not shown
* Where the sign type is disabled in the display options
2020-02-17 23:23:15 +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
ee7a8eebca Codechange: Replace FOR_ALL_TOWNS with range-based for loops 2019-12-21 20:13:03 +01:00
glx
d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
glx
00c2a98cf3 Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops 2019-12-21 20:13:03 +01:00
glx
ddabfed1cd Codechange: Replace station related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
Jonathan G Rennison
fe9b024f1a Merge branch 'master' into jgrpp
# Conflicts:
#	src/signs_cmd.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/town_cmd.cpp
#	src/viewport.cpp
#	src/waypoint.cpp
#	src/waypoint_cmd.cpp
2019-12-11 18:20:24 +00:00
Niels Martin Hansen
9900af38f5 Fix #7847: Use ViewportSign coordinates for sign Kdtree coordinates (#7849)
Ensure the same coordinates are used for station/town/player signs regardless of how the landscape changes below it after the coordinates were first determined.

By keeping track of whether each ViewportSign is valid for Kdtree use (and only ever registering the viewport sign when the object is valid) a lot of code can be simplified and become more robust at the same time.
2019-12-01 23:17:33 +01: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
725ff47267 Avoid quadratic behaviour in updating nearby lists in RecomputeCatchmentForAll 2019-09-25 02:54:07 +01:00
Jonathan G Rennison
d3e0c3787f Merge branch 'master' into jgrpp-nrt
Merge trunk multiple docks implementation

# Conflicts:
#	docs/landscape_grid.html
#	src/order_cmd.cpp
#	src/pathfinder/npf/npf.cpp
#	src/pathfinder/yapf/yapf_ship.cpp
#	src/rail_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/oldloader_sl.cpp
#	src/saveload/station_sl.cpp
#	src/script/api/script_order.cpp
#	src/ship_cmd.cpp
#	src/station.cpp
#	src/station_base.h
#	src/station_cmd.cpp
#	src/tunnelbridge_cmd.cpp
2019-07-13 20:34:52 +01:00
Jonathan G Rennison
ba8ed880c1 Merge branch 'master' into jgrpp-nrt
Merge NRT feature

# Conflicts:
#	docs/landscape.html
#	docs/landscape_grid.html
#	src/bridge_map.h
#	src/build_vehicle_gui.cpp
#	src/company_base.h
#	src/company_cmd.cpp
#	src/misc_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_engine.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/npf/npf.cpp
#	src/road_cmd.cpp
#	src/road_func.h
#	src/road_gui.cpp
#	src/road_map.h
#	src/road_type.h
#	src/roadveh_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/company_sl.cpp
#	src/script/api/script_bridge.cpp
#	src/table/newgrf_debug_data.h
#	src/tile_cmd.h
#	src/town_cmd.cpp
#	src/tunnel_map.h
#	src/tunnelbridge_cmd.cpp
2019-07-11 19:45:56 +01:00
peter1138
f538179878 Feature: Multi-tile docks and docking points. 2019-06-30 16:46:32 +02:00
Jonathan G Rennison
601afc56dc Add NewGRF debug window info for stations and industries 2019-06-16 13:56:47 +01:00
peter1138
c02ef3e456 Feature: Add NotRoadTypes (NRT) 2019-05-01 21:36:27 +02:00
Jonathan G Rennison
bd2fdde759 Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/sort_func.hpp
#	src/rail_cmd.cpp
#	src/timetable_cmd.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
2019-04-23 08:11:52 +01:00
PeterN
671a310d21 Fix #7235: Ensure catchment area of neutral station covers entire industry. (#7518) 2019-04-16 20:30:07 +01:00
Jonathan G Rennison
0d93ecb6bf Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/alloc_type.hpp
#	src/group_gui.cpp
#	src/newgrf.cpp
#	src/saveload/economy_sl.cpp
#	src/saveload/map_sl.cpp
#	src/station_cmd.cpp
2019-04-16 18:03:08 +01:00
PeterN
abe8cf4985 Codechange: Replace duplicated code with TileArea::Expand() (#7467) 2019-04-13 14:12:34 +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
070160af40 Save point used when adding station to viewport kd tree, use for removal 2019-04-09 02:32:28 +01:00
Jonathan G Rennison
53ff27370d Do not update viewport sign kd tree in network dedicated mode, or during savegame conversion 2019-04-02 03:48:19 +01:00
Jonathan G Rennison
ba34ec7ade Merge branch 'master' into jgrpp
Replace build and refit, and group collapse implementations
Fix template creation build and refit

# Conflicts:
#	Makefile.bundle.in
#	config.lib
#	src/animated_tile.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_base.hpp
#	src/blitter/8bpp_base.hpp
#	src/blitter/null.hpp
#	src/build_vehicle_gui.cpp
#	src/command.cpp
#	src/command_func.h
#	src/console_gui.cpp
#	src/core/smallstack_type.hpp
#	src/date.cpp
#	src/debug.cpp
#	src/genworld_gui.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/lang/korean.txt
#	src/linkgraph/linkgraph_gui.h
#	src/main_gui.cpp
#	src/misc_gui.cpp
#	src/network/core/game.h
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
#	src/network/core/udp.h
#	src/network/network_content.cpp
#	src/network/network_type.h
#	src/network/network_udp.cpp
#	src/newgrf_house.h
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/osk_gui.cpp
#	src/pathfinder/opf/opf_ship.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/smallmap_gui.h
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/gameopt_settings.ini
#	src/table/newgrf_debug_data.h
#	src/table/settings.ini
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/vehiclelist.cpp
#	src/viewport.cpp
#	src/widgets/dropdown.cpp
#	src/window_gui.h
2019-03-27 18:12:04 +00:00
Niels Martin Hansen
ce10d9be3f Fix #7374: Ensure k-d trees are always updated when station sign moves 2019-03-24 19:26:13 +01:00
Jonathan G Rennison
5e6d283463 Merge branch 'master' into jgrpp
Remove the viewport sign cache as this is now superseded by the kd tree
implementation

# Conflicts:
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/misc.cpp
#	src/pathfinder/follow_track.hpp
#	src/pbs.cpp
#	src/rail_cmd.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/station.cpp
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/thread/thread_morphos.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
#	src/waypoint.cpp
2019-03-13 03:38:26 +00:00
Niels Martin Hansen
e8d397e4ee Codechange: Make a merged k-d tree index of all viewport signs 2019-03-09 20:27:11 +01:00
Niels Martin Hansen
d84b67e54d Codechange: Make a k-d tree index of stations 2019-03-09 20:27:11 +01:00
Peter Nelson
8b1b3fd0f9 Feature: Non-rectangular sparse station catchment area. 2019-03-09 16:33:47 +00:00
peter1138
94b40fd530 Codechange: Convert IndustryVector to a std::set. 2019-03-09 16:33:47 +00:00
peter1138
ed6084523d Codechange: Convert StationList from SmallVector to std::set. 2019-03-09 16:33:47 +00:00
PeterN
dd20ccee88 Feature: Industries with neutral stations (e.g. Oil Rig) only supply/accept cargo to/from their neutral station. (#7234)
This change is a controlled by a game setting, located under Environment ->
Industries which allows toggling the behaviour. It defaults to enabled.

"Company stations can serve industries with attached neutral stations"

When enabled, industries with attached neutral station (such as Oil Rigs) may
also be served by company-owned stations built nearby. This is the traditional
behaviour.

When disabled, these industries may only be served by their neutral station.
Any nearby company-owned stations won't be able to serve them, nor will the
neutral station serve anything else other than the industry.
2019-03-08 18:30:44 +00:00
Jonathan G Rennison
e6ee962b03 Fix ship collision avoidance near docks when dock not under station sign
See #77
2019-02-22 22:08:44 +00:00
Jonathan G Rennison
698409381e Cache viewport station/waypoint sign infomation 2019-01-21 19:41:11 +00:00
Jonathan G Rennison
9e1e074c2b Update existing assertions to log tile information where suitable 2018-07-26 19:13:35 +01:00
Jonathan G Rennison
777151c34d Station rating: Track last visited vehicle type separately per-cargo 2018-06-01 19:12:53 +01:00
Jonathan G Rennison
1fe0bb76b9 Merge branches 'crashlog_improvements', 'save_ext', 'version_utils' into jgrpp 2018-04-27 02:42:20 +01:00
Charles Pigott
86012e10ea Fix: Remove need to instantiate SmallStack's pool object by making it a singleton method 2018-04-21 16:28:50 +02:00
Jonathan G Rennison
955126efac Improve pathfinder support for multiple docks
The pathfinder can now find docks other than the Manhattan closest one.

Based on Cirdan commits:
afc7969c13d7ca59afe4dae4bf88122ba8d27df2
4067190dedcd3e5f668ea4f49b1dd8dfed10b2a7
d9be6b712d2ae4fb1b5ae844dde4919dd24c4fb2
2018-02-05 18:21:05 +00:00
keldorkatarn
1d3cf59d8a Allow building multiple docks per station.
(cherry picked from commit 0110c4a35d383e0be2cbb53cbe9cbe6784abb3e9)

# Conflicts:
#	src/station_cmd.cpp
2017-09-20 19:11:48 +01:00
Jonathan G Rennison
37a58fd11d Add setting to increase station catchment radius.
Update acceptance and refresh screen when catchment settings change.
2016-11-20 01:49:10 +00:00
Jonathan G Rennison
c6cbe7f1a9 Merge branch 'departure-boards-sx' into jgrpp 2015-12-04 01:39:58 +00:00
Jonathan G Rennison
0529250e50 Fix crash when a station is deleted with the departure boards window open. 2015-12-04 01:39:40 +00:00
Jonathan G Rennison
196b78af30 Merge branch 'zoning' into jgrpp 2015-11-01 16:08:06 +00:00
Jonathan G Rennison
c120b810d1 Mark dirty the catchment of a station on change as necessary for zoning.
If the zoning mode is station catchment, or unserved industry/building,
mark dirty the station catchment rectangle before removing, or after
adding, (a) station tile(s).
In the case of unserved industry mode, increase the refreshed catchment
radius by 10 tiles, to wholly include industries partially inside
the catchment area.
2015-11-01 16:07:55 +00:00
Jonathan G Rennison
7ed93f9211 Merge branch 'enhanced_viewport_overlay-sx' into jgrpp
town_gui.cpp updated due to struct CommandContainer change.

Conflicts:
	src/command.cpp
	src/command_type.h
	src/gfxinit.cpp
	src/openttd.cpp
	src/pbs.cpp
	src/saveload/extended_ver_sl.cpp
	src/saveload/extended_ver_sl.h
	src/saveload/saveload.cpp
	src/stdafx.h
	src/train_cmd.cpp
	src/viewport_type.h
	src/window_type.h
2015-08-05 21:54:11 +01:00
Jonathan G Rennison
e24839ed65 Merge branch 'master' into enhanced_viewport_overlay
Notes on conflict resolution:
* MarkTileDirtyByTile gained an extra param on both sides of the merge
  Move bridge level offset to be after zoom level param, as it's used less.
* Add zoom level params to MarkBridgeDirty functions
* Fix undefined behaviour in colour_index cycling in ViewportMapDraw

Conflicts:
	src/clear_cmd.cpp
	src/pbs.cpp
	src/rail_cmd.cpp
	src/toolbar_gui.cpp
	src/train_cmd.cpp
	src/vehicle.cpp
	src/viewport.cpp
	src/viewport_func.h
2015-08-05 21:25:13 +01:00