Commit Graph

974 Commits

Author SHA1 Message Date
btzy
9d75600ac0 Fix: Round up deltas for smooth scrolling, so target will be reached 2019-01-20 19:43:56 +00:00
nikolas
d8ccad91f9 Fix: Some code and comment typos
Found with codespell
2019-01-17 22:01:07 +00:00
Jonathan G Rennison
c1df63a2eb Merge branch 'master' into jgrpp
# Conflicts:
#	projects/openttd_vs100.vcxproj
#	projects/openttd_vs100.vcxproj.filters
#	projects/openttd_vs80.vcproj
#	projects/openttd_vs90.vcproj
#	src/viewport.cpp
2018-11-19 20:51:16 +00:00
frosch
1a1204472e Revert: Sprite sorting optimisation sorted incorrectly.
This reverts commit 25ab9c1997.
2018-11-18 17:30:28 +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
52ed3bcbaa Remove: A few bits of dead code 2018-10-31 12:41:49 +01:00
Jonathan G Rennison
3a640af71d Merge branch 'master' into jgrpp
# Conflicts:
#	src/ground_vehicle.cpp
#	src/viewport.cpp
2018-10-29 18:33:15 +00:00
Jindrich Makovicka
25ab9c1997 Codechange: Improve (un)zoom performance
When zooming out with a high res display, there can be about 150k sprites
to be sorted before displaying. With the O(n^2) complexity of the sprite
sorter, this can take several seconds.

This patch works around this by sorting the sprites by the xmin coordinate
first using QSort, which later allows an early bailout out of the inner
loop. This is enough to cut down the full unzoom time on a 4k display to a
fraction of second.
2018-10-26 20:22:38 +02: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
6740a9a470 Merge branch 'custom_bridgeheads' into jgrpp
# Conflicts:
#	docs/landscape.html
#	src/bridge_map.h
#	src/pbs.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/settings_type.h
#	src/signal.cpp
#	src/train_cmd.cpp
#	src/tunnel_map.h
#	src/tunnelbridge_cmd.cpp
#	src/tunnelbridge_map.h
#	src/vehicle.cpp
#	src/viewport.cpp
2018-07-08 23:04:30 +01:00
Jonathan G Rennison
77362b829a Initial support for rail custom bridge heads 2018-07-08 23:03:42 +01:00
Jonathan G Rennison
6573a67b69 Change window allocation/destruction to avoid undefined behaviour
Create a new window base class which holds the front/back pointers
and the window class.
This fixes the voluminous warning spam about deleted windows when using
UndefinedBehaviorSanitizer.
2018-06-06 18:14:51 +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
fe1e0a9d59 Merge branch 'enhanced_viewport_overlay' into jgrpp 2018-05-26 09:15:08 +01:00
Jonathan G Rennison
64815c0d8a Improve performance of show scrolling viewport on map 2018-05-26 09:09:39 +01:00
Jonathan G Rennison
7f32bb34ac Clip dirty region to be within viewport in MarkViewportDirty 2018-05-26 09:09:28 +01:00
Jonathan G Rennison
e6e5a96ed3 Fix performance penalty when scrolling viewport map with show scrolling viewport enabled 2018-05-26 09:09:18 +01:00
Jonathan G Rennison
f373a67610 Fix display of zoning overlay sprites on half-tile foundations
Partly based on commit 598b781259a5c1ad25cf3de85807b9c79e9f08fe
2018-05-10 23:10:04 +01:00
Jonathan G Rennison
53e943386e Rename Polyline struct due to name collision on Windows 2018-05-06 09:17:42 +01:00
Jonathan G Rennison
ad1c402ad8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/debug.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/settings_type.h
#	src/town_cmd.cpp
#	src/window.cpp
2018-05-03 23:54:51 +01:00
J0an Josep
cfb8092397 Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation. 2018-04-30 21:52:40 +02:00
Jonathan G Rennison
1fe0bb76b9 Merge branches 'crashlog_improvements', 'save_ext', 'version_utils' into jgrpp 2018-04-27 02:42:20 +01:00
Pavel Stupnikov
8e4bce58ea Feature: GS methods to scroll viewport for players (#6745) 2018-04-24 19:19:00 +02:00
Jonathan G Rennison
f96f716a75 Merge branch 'enhanced_viewport_overlay' into jgrpp 2018-04-19 09:31:55 +01:00
keldorkatarn
8df549284f Route Line Rendering: Properly prevent endless loop due to conditional orders cycle.
(cherry picked from commit ac1c26f5fe942ef47c664ff71000053d874a6008)

See #39
2018-04-19 09:28:29 +01:00
keldorkatarn
d154debb5e FIX: Endless look in vehicle route drawing if conditional orders form a cycle (in the simplest form, a conditional order skipping to itself)
(cherry picked from commit 680ddba875208b09160908ad03064b542193df4e)

See: #39
2018-04-18 16:02:14 +01:00
Jonathan G Rennison
7b811d93a1 Expand comment on why viewport is drawn in chunks 2018-01-23 00:08:05 +00:00
Jonathan G Rennison
ddd0419758 Revert "Don't split viewport draw chunks"
This reverts commit d82f9b50c6.
2018-01-23 00:08:05 +00:00
Jonathan G Rennison
8ab6522e7c Add a monotonically incrementing counter to UpdateWindows calls
This is for checking draw cache validity
2018-01-18 20:59:14 +00:00
Jonathan G Rennison
4bad77cdf0 Use new/delete for Viewport info struct 2018-01-18 20:59:01 +00:00
Jonathan G Rennison
d82f9b50c6 Don't split viewport draw chunks
The stated explanation seems unconvincing, and it introduces a performance penalty.
2018-01-18 20:58:06 +00:00
Jonathan G Rennison
2574e46df8 Merge branch 'save_ext' into enhanced_viewport_overlay
# Conflicts:
#	src/smallmap_gui.cpp
2017-09-04 01:04:04 +01:00
Jonathan G Rennison
f34833f111 Merge branch 'improved_breakdowns' into jgrpp
# Conflicts:
#	src/vehiclelist.cpp
2017-08-15 19:26:26 +01:00
frosch
b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
frosch
a47fb85cd8 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
Jonathan G Rennison
ab22cfbc87 Merge branch 'enhanced_viewport_overlay' into jgrpp 2017-04-15 16:16:42 +01:00
Jonathan G Rennison
c41bf4b468 Viewport order lines refresh fix for re-displaying previous orders. 2017-04-12 19:19:07 +01:00
Jonathan G Rennison
424e4691ce Show tracerestrict and/or progsig windows when ctrl-clicking signal. 2017-04-12 17:42:09 +01:00
Jonathan G Rennison
ac8b67ba9c Merge branch 'measurement_tool' into jgrpp 2017-03-31 12:12:12 +01:00
Jonathan G Rennison
0172f3acab Fix height above sea-level in measurement tool. 2017-03-31 12:11:20 +01:00
Jonathan G Rennison
5c7f36ef4b Merge branch 'enhanced_viewport_overlay' into jgrpp
Further fixes for viewport lines/marker for multiplayer clients.

# Conflicts:
#	src/lang/russian.txt
2016-12-26 15:38:56 +00:00
Jonathan G Rennison
509da024cc Fix viewport order lines/markers for multiplayer clients. 2016-12-26 15:35:11 +00:00
Jonathan G Rennison
bebed03c7e Merge branch 'enhanced_viewport_overlay' into jgrpp
# Conflicts:
#	src/viewport.cpp
2016-10-12 20:27:46 +01:00
Jonathan G Rennison
5d07d4d515 Refactor drawing of vehicle route lines.
De-duplicate lines to be drawn.
Avoid repeated scanning of order list.
Simplify handling of dirtying old drawn lines.
2016-10-12 20:26:23 +01:00
Jonathan G Rennison
3975305f04 Limit number of vehicle route step markers for a single station to 10.
If more than 10, draw an overflow marker instead.
Minor refactoring.
2016-10-12 20:26:23 +01:00
Jonathan G Rennison
16ce37ad14 Show vehicle route markers when cargo load by type window focused. 2016-09-22 00:38:44 +01:00
Jonathan G Rennison
0c1f59807d Merge branch 'enhanced_viewport_overlay' into jgrpp 2016-09-10 01:03:31 +01:00
Jonathan G Rennison
c137303584 Cache list of active viewports instead of always iterating window list.
This is to speed up marking all viewports dirty, which is done very
frequently.
2016-09-10 01:01:07 +01:00
Jonathan G Rennison
0f11908a50 Merge branch 'measurement_tool' into jgrpp
# Conflicts:
#	src/viewport.cpp
2016-05-20 18:23:36 +01:00