Commit Graph

821 Commits (43980639de7bd654a20982830798927b88d195d6)

Author SHA1 Message Date
Jonathan G Rennison 43980639de Merge branch 'master' into jgrpp
# Conflicts:
#	.gitignore
#	CMakeLists.txt
#	src/3rdparty/optional/optional.hpp
#	src/group_cmd.cpp
#	src/industry_cmd.cpp
#	src/misc_gui.cpp
#	src/video/sdl2_v.cpp
3 years ago
Michael Lutz 79240eab1e Codechange: Make use of the improved C++17 emplace_back function. 4 years ago
Jonathan G Rennison 760a1f0163 Fix assert failure in MarkAllViewportMapsDirty
Assertion is incorrect
4 years ago
Jonathan G Rennison 0902243ab3 Allow changing the colour of plans 4 years ago
Jonathan G Rennison ddaffef632 Add viewport map mode: routes 4 years ago
Jonathan G Rennison 2c4808e239 Viewport: Add debug flag to disable landscape cache 4 years ago
Jonathan G Rennison 7e68459ebd Fix plans/route line viewport mark dirty not being wide enough 4 years ago
Jonathan G Rennison b4ceb93406 Plans: Improve drawing performance of current plan line 4 years ago
Jonathan G Rennison d29a08dfe1 Add gfx_debug console command 4 years ago
Jonathan G Rennison a474e71243 Viewport: Cache landscape pixels in map mode
Avoid invalidating landscape pixels for non-landscape updates
(vehicles, overlays, etc.)
4 years ago
Jonathan G Rennison 35565a115b Viewport: Fix casing of ClearViewportCache(s) 4 years ago
Jonathan G Rennison 352b361e1b Viewport: Replace viewport mark dirty if zoom level below with flags param
Fix missing flags for tracerestrict and effect vehicles
4 years ago
Jonathan G Rennison 38ebad6123 Plans: Fix adding plan lines in viewport map mode 4 years ago
Jonathan G Rennison 3b47b7b091 Plans: Improve performance of viewport plan rendering 4 years ago
Jonathan G Rennison 3b49f892fa Redraw connecting link graph overlay links when moving station sign
Add test console command
4 years ago
Jonathan G Rennison 5b78090a61 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/saveload/town_sl.cpp
#	src/screenshot.h
#	src/script/api/ai/ai_date.hpp.sq
#	src/script/api/ai/ai_marine.hpp.sq
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_date.hpp.sq
#	src/script/api/game/game_marine.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/game/game_window.hpp.sq
#	src/script/api/script_window.hpp
#	src/script/api/template/template_window.hpp.sq
#	src/signal.cpp
#	src/statusbar_gui.cpp
#	src/toolbar_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
4 years ago
TechGeekNZ a10013dd00 Codechange: Spell 'Viewport' consistently
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
4 years ago
TechGeekNZ 8652a4db76 Cleanup: Give `SetDirtyBlocks` a more descriptive name. 4 years ago
Jonathan G Rennison e559bb98c4 Viewport: Fix scroll region sort comparison not meeting strict weak ordering
fa90b567 was not a proper fix
4 years ago
Jonathan G Rennison 686ff03817 Fix graphical glitch when rendering narrow viewport slices 4 years ago
Jonathan G Rennison 60dabc68a0 Add a scope info logger for DoSetViewportPosition calls 4 years ago
Jonathan G Rennison 3cb521afb3 Viewport: Fix screen bounds of empty bounding box sprites when splitting 4 years ago
Jonathan G Rennison 89902f2f4a Debug: Add viewport debug flags for sprite split control 4 years ago
Jonathan G Rennison 4b374cb84a Add half-tile margin when horizontally splitting viewport drawing region 4 years ago
Jonathan G Rennison e0902c93a4 Revert "Viewport: Trim parent sprites to redraw area before sorting"
This reverts commit f563dfe194.

This caused rendering issues with vehicles passing under bridges
at the very edge of the drawing area.
4 years ago
Jonathan G Rennison 5ac240147e Fix wrong viewport virtual size in InitializeWindowViewport 4 years ago
Jonathan G Rennison fa90b56780 Viewport: Fix scroll region sort comparison not meeting strict weak ordering
See: #137
4 years ago
Jonathan G Rennison b4a814d371 Improve performance of vehicle route overlay rendering 4 years ago
Jonathan G Rennison a4608f6f72 Cache vehicle positions across draw blocks in viewport map mode 4 years ago
Jonathan G Rennison 7949de2c05 Add a minimum visible height and no ground tile parameter to DrawTileProc.
Filter out tile parts which are entirely outside the drawing area.
4 years ago
Jonathan G Rennison 8ef367b126 Add viewport debug commands 4 years ago
Jonathan G Rennison 8f442500ea Change how dirty screen, window and viewport areas are tracked for later redrawing
Track dirty viewport areas seperately form general screen redraws.
Maintain a dirty block grid per viewport, with a smaller block size.
Use even smaller block size in viewport map mode.

Use a rectangle array for general screen redraws instead of a block grid.

Add a dirty bit to windows and widgets, to simplify the common case
of repainting a whole window or widget, without catching
neighbouring windows or viewports.
4 years ago
Jonathan G Rennison d740a19e5f Increase viewport chunking size 4 years ago
Jonathan G Rennison 8956b1ab02 Improve performance of tunnel rendering in viewport map mode 4 years ago
Jonathan G Rennison 65152503de Viewport: Do not process tile selection sprites below drawing area 4 years ago
Jonathan G Rennison f563dfe194 Viewport: Trim parent sprites to redraw area before sorting 4 years ago
Jonathan G Rennison 61dfca98c7 Fix text effects using the wrong size for viewport dirtying at 8x zoom 4 years ago
Jonathan G Rennison c13ff2a1d3 Reduce viewport invalidation area of track reservation changes 4 years ago
Jonathan G Rennison 2c2184f89d Fix viewport signs always using the larger font size for marking dirty 4 years ago
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
4 years ago
Jonathan G Rennison a152e2327c Viewport: Reduce unnecessary region redraws when scrolling viewports 4 years ago
Jonathan G Rennison 4d9e07e885 Viewport: Split sprite sort regions when more than 60 sprites present 4 years ago
Jonathan G Rennison a561f29dc3 Viewporrt map mode: Bridge and tunnel cache optimisations 4 years ago
Jonathan G Rennison 14af8701df Fix #6566: Fix signed integer overflow in viewport draw area chunking
This caused drawing areas larger than 2097151 pixels at 8x zoom to
not be subdivided into smaller chunks as required.
This resulted in pathological performance issues in the sprite sorter.
4 years ago
Jonathan G Rennison 6f6bac5212 Fix signed integer overflow in viewport draw area chunking
This caused drawing areas larger than 2097151 pixels at 8x zoom to
not be subdivided into smaller chunks as required.
This resulted in pathological performance issues in the sprite sorter.
4 years ago
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
5 years ago
glx ee7a8eebca Codechange: Replace FOR_ALL_TOWNS with range-based for loops 5 years ago
glx 869581eb23 Codechange: Replace FOR_ALL_SIGNS with range-based for loops 5 years ago
glx ddabfed1cd Codechange: Replace station related FOR_ALL with range-based for loops 5 years ago
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
5 years ago