Commit Graph

211 Commits

Author SHA1 Message Date
Jonathan G Rennison
1ee33c46ef Linkgraph: Allow overriding distribution mode on a per-cargo basis, in game 2019-05-01 20:57:59 +01:00
Jonathan G Rennison
e7a916d2ce Linkgraph: Add asymmetric: equal and nearest demand distribution modes 2019-05-01 20:57:59 +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
361758b516 Merge branches 'crashlog_improvements', 'save_ext' into jgrpp
# Conflicts:
#	Makefile.src.in
#	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/core/smallstack_type.hpp
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphjob.h
#	src/misc.cpp
#	src/network/network_udp.cpp
#	src/openttd.cpp
#	src/saveload/saveload.cpp
2019-04-09 19:06:26 +01:00
Michael Lutz
05bc2ed7cb Codechange: Replace custom thread code with C++11 thread objects.
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
2019-04-06 11:27:39 +02:00
Jonathan G Rennison
a4a3a6a630 Merge branch 'master' into jgrpp 2019-04-01 03:06:18 +01:00
PeterN
32fda83d39 Fix aa7ca7fe6: Linkgraph node index order must be maintained due to other references. (#7431)
Linkgraph nodes require a specific order that was maintained by swapping just the last
element for the node to be removed. std::vector::erase() changed this to removing the
node is then shuffling the remain items down, which upsets other references to this
indices.

This is fixed by switching back to the original swap & pop method.
2019-03-30 22:19:50 +00:00
Jonathan G Rennison
58433c7667 Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/smallmap_type.hpp
#	src/lang/korean.txt
#	src/network/network_content.cpp
#	src/smallmap_gui.cpp
#	src/station_cmd.cpp
2019-03-30 20:45:58 +00:00
glx22
66dd7c3879 Fix: MSVC warnings (#7423) 2019-03-28 00:09:33 +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
Henry Wilson
c01a2e2a81 Codechange: Removed SmallVector completely 2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 2019-03-26 20:15:57 +00:00
Henry Wilson
aa7ca7fe64 Codechange: Replaced SmallVector::Get(n) non-const with std::vector::data() + n 2019-03-26 20:15:57 +00:00
Henry Wilson
bad2c2154b Codechange: Replaced SmallVector::Resize() with std::vector::resize() 2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7 Codechange: Replace SmallVector::Length() with std::vector::size() 2019-03-26 20:15:57 +00:00
peter1138
317f69c152 Codechange: Use override specifier in Window-derived classes. 2019-03-24 16:10:04 +01:00
peter1138
f5f33da126 Codechange: Implement OnTooltip event for custom window tooltips.
This avoids windows from needing to know or care about tooltip delay settings.
2019-03-20 23:00:32 +00:00
Jonathan G Rennison
7ff252c58d Merge branch 'master' into jgrpp
# Conflicts:
#	Makefile.src.in
#	findversion.sh
#	projects/determineversion.vbs
#	src/aircraft_cmd.cpp
#	src/lang/dutch.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/order_cmd.cpp
#	src/settings_gui.cpp
#	src/smallmap_gui.cpp
#	src/town_cmd.cpp
#	src/viewport.cpp
#	src/water_map.h
2019-03-04 01:18:25 +00:00
Jonathan G Rennison
f1a6f1161d Link graph schedule: Adjust debug logging 2019-02-25 21:08:00 +00:00
Jonathan G Rennison
b3a7a04cf2 Linkgraph: Pause game on load if a link graph join is immediately due 2019-02-25 18:43:38 +00:00
PeterN
87ebfe1227 Fix #7004: Mark linkgraph dirty to be rebuilt on next draw call. (#7265)
Previously the linkgraph was rebuilt before the viewport extents were finalized.
2019-02-23 19:19:41 +00:00
Jonathan G Rennison
26858cdf3d Link graph: Clamp job duration multipliers to 1 for small jobs
Cost estimate < 4000
2019-02-22 00:56:04 +00:00
Jonathan G Rennison
e3bb96e484 Link graph: Check for unfinished jobs 2 ticks before join instead of 1
This is to fix pausing multiplayer servers at daylength = 1
2019-02-22 00:55:28 +00:00
Jonathan G Rennison
e0e490112c Link graph: Don't place jobs with different join dates in the same job set 2019-02-22 00:53:59 +00:00
Jonathan G Rennison
281d346fe2 Merge branch 'master' into jgrpp
# Conflicts:
#	bin/baseset/no_sound.obs
#	bin/baseset/orig_dos.obg
#	bin/baseset/orig_dos.obs
#	bin/baseset/orig_dos_de.obg
#	bin/baseset/orig_win.obg
#	bin/baseset/orig_win.obm
#	bin/baseset/orig_win.obs
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_base.cpp
#	src/blitter/32bpp_base.hpp
#	src/blitter/8bpp_base.cpp
#	src/blitter/8bpp_base.hpp
#	src/blitter/common.hpp
#	src/group_gui.cpp
#	src/lang/korean.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/saveload/saveload.cpp
#	src/town_cmd.cpp
#	src/viewport.cpp
#	src/viewport_func.h
2019-01-29 02:28:14 +00:00
Jonathan G Rennison
64f1847bec Codechange: [Linkgraph GUI] Replace line visibility detection algorithm
Use an implementation of the Cohen-Sutherland line-clipping algorithm.
The previous algorithm had an excessive false-positive rate.
Line-rendering is sufficiently expensive that using a line-clipping
algorithm with a much lower false-positive rate is a net performance
benefit.
2019-01-28 19:15:21 +01: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
035f5622b9 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_cmds.cpp
#	src/landscape.cpp
#	src/linkgraph/linkgraphschedule.cpp
#	src/openttd.cpp
#	src/roadveh_cmd.cpp
#	src/toolbar_gui.cpp
#	src/train_cmd.cpp
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/window_type.h
2018-07-24 18:30:42 +01:00
Niels Martin Hansen
2a868b9f3b Feature: Framerate display window (#6822)
Frame rate and various game loop/graphics timing measurements and graphs. Accessible via the Help menu, and can print some stats in the console via the fps command.
2018-07-19 21:17:07 +02: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
4d1bd8e4b4 Merge branch 'master' into jgrpp
# Conflicts:
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/lang/korean.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/music.cpp
#	src/table/settings.ini
#	src/town_cmd.cpp
#	src/train_cmd.cpp
2018-06-25 18:57:48 +01:00
Jonathan G Rennison
dc8fff2c4d Add: Hover tool-tips to cargo dest flow legend window.
This is to improve the usability of the window.
The two-letter abbreviations are not always clear, in particular
when using a large number of cargoes.
The company colours can be ambiguous when there are a large
number of companies.
2018-06-24 20:18:10 +02:00
Jonathan G Rennison
458bc90678 Fix: Poor contrast in cargo dest flow legend window cargo labels.
Select foreground colour depending on the brightness of the background.

Previously all cargo labels were rendered using black text, even
the background cargo colour was dark/black.
As an example: FIRS coal was black text on a black background.
2018-06-24 19:32:04 +02:00
Jonathan G Rennison
a732dc440a Fix use of %zu in debug format strings, which isn't supported on Windows 2018-06-07 06:54:43 +01:00
Jonathan G Rennison
d0daffe312 Linkgraph overlay: Ensure line/dot draw order is same in incremental mode
Ensure that sort order is maintained
2018-05-29 19:07:22 +01:00
Jonathan G Rennison
0d0d55f81d Scrolling/perf improvements to link graph overlays on viewport and smallmap 2018-05-26 09:15:22 +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
4cebebcf68 Change: Add CargoTypes type for cargo masks. (#6790) 2018-05-21 22:08:39 +01:00
Jonathan G Rennison
560a049316 Linkgraph GUI: Replace line visibility detection algorithm
Previous algorithm had excessive false-positive rate
2018-01-18 20:59:14 +00:00
Jonathan G Rennison
29470dba23 LinkGraph: Increase caching of link graph lines/point details 2018-01-18 20:59:14 +00:00
Jonathan G Rennison
cd68e9fac7 Linkgraph: Do not pre-fill annos set at start of MCF Dijkstra 2018-01-15 22:40:54 +00:00
Jonathan G Rennison
4a420ef864 Linkgraph: Use cached value in capacity annotation comparison 2018-01-15 22:40:54 +00:00
Jonathan G Rennison
3f83546dfc Linkgraph: Fix numeric overflow in cost estimate/duration multiplier.
Bump cost estimate type to 64 bits
2017-10-05 18:27:22 +01:00
Jonathan G Rennison
52dadc9252 Merge branch 'master' into jgrpp 2017-07-27 18:41:43 +01:00
frosch
3eae9aba79 (svn r27887) -Cleanup: Remove unused/unimplemented prototype (adf88) 2017-07-11 19:34:21 +00:00
frosch
1e50edd12c (svn r27887) -Cleanup: Remove unused/unimplemented prototype (adf88) 2017-07-11 19:34:21 +00:00