summaryrefslogtreecommitdiff
path: root/src/viewport.cpp
AgeCommit message (Collapse)Author
2020-06-09Cleanup: Give `SetDirtyBlocks` a more descriptive name.TechGeekNZ
2020-02-02Fix #6566: Fix signed integer overflow in viewport draw area chunkingJonathan G Rennison
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.
2019-12-21Codechange: Replace FOR_ALL_TOWNS with range-based for loopsglx
2019-12-21Codechange: Replace FOR_ALL_SIGNS with range-based for loopsglx
2019-12-21Codechange: Replace station related FOR_ALL with range-based for loopsglx
2019-12-01Fix #7847: Use ViewportSign coordinates for sign Kdtree coordinates (#7849)Niels Martin Hansen
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-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-08-17Add #6887: Option to show zone inside local authority boundary of townsGabda
Can be found at town information > local authority window Layout for button is same as Graph Keys Turn on/off for every town individually
2019-05-13Fix e8d397e4ee: Avoid using RemapCoords2 during savegame conversion. (#7588)PeterN
2019-05-11Fix #7371: Avoid dependency on foundations of town tile during saveloadNiels Martin Hansen
2019-04-29Codechange: Set ZoomLevel's base type to byte instead of using ZoomLevelByteCharles Pigott
2019-04-25Feature: Add station coverage area display for towns.peter1138
2019-04-25Feature: Add existing station coverage area display when placing new station ↵peter1138
parts.
2019-04-25Feature: Add coverage area display for existing stations.peter1138
2019-04-20Fix e8d397e: Invisible station/waypoint signs could still be clicked on. (#7531)PeterN
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-28Fix: MSVC warnings (#7423)glx22
2019-03-26Codechange: Removed SmallVector completelyHenry Wilson
2019-03-26Codechange: Replaced SmallVector::[Begin|End]() with std alternativesHenry Wilson
2019-03-26Codechange: Replaced SmallVector::Append() with ↵Henry Wilson
std::vector::[push|emplace]_back()
2019-03-26Codechange: Replaced SmallVector::Get() const with std alternativesHenry Wilson
2019-03-26Codechange: Replace SmallVector::Length() with std::vector::size()Henry Wilson
2019-03-26Codechange: Replace SmallVector::Clear() with std::vector::clear()Henry Wilson
2019-03-21Fix 4da83d2f66: Remove measurement tooltips when completed.peter1138
2019-03-20Fix #7386: Measurement tooltip for tunnels, aqueducts & docks did not ↵peter1138
display or flickered. Measurement tooltip was auto-closed as the hover/right-click test for tooltips was not satisfied in this case. This is fixed by keeping the tooltip visible and instead explicitly closing the tooltip when the PlaceObject is cancelled/completed.
2019-03-20Remove: ENABLE_NETWORK switchPatric Stout
This switch has been a pain for years. Often disabling broke compilation, as no developer compiles OpenTTD without, neither do any of our official binaries. Additionaly, it has grown so hugely in our codebase, that it clearly shows that the current solution was a poor one. 350+ instances of "#ifdef ENABLE_NETWORK" were in the code, of which only ~30 in the networking code itself. The rest were all around the code to do the right thing, from GUI to NewGRF. A more proper solution would be to stub all the functions, and make sure the rest of the code can simply assume network is available. This was also partially done, and most variables were correct if networking was disabled. Despite that, often the #ifdefs were still used. With the recent removal of DOS, there is also no platform anymore which we support where networking isn't working out-of-the-box. All in all, it is time to remove the ENABLE_NETWORK switch. No replacement is planned, but if you feel we really need this option, we welcome any Pull Request which implements this in a way that doesn't crawl through the code like this diff shows we used to.
2019-03-09Codechange: Make a merged k-d tree index of all viewport signsNiels Martin Hansen
2019-02-23Fix #7004: Mark linkgraph dirty to be rebuilt on next draw call. (#7265)PeterN
Previously the linkgraph was rebuilt before the viewport extents were finalized.
2019-02-03Revert 479f13fc41, Fix #7133, Fix #7136: "Codechange: Tweak ↵Peter Nelson
ViewportAddLandscape so it no more relies on "go down as fast as possible" tile height model (Patch by adf88, #6583)" This reverts commit 479f13fc4133f2970aff82d2d0fb9b3c0cb919da.
2019-01-24Codechange: Tweak ViewportAddLandscape so it no more relies on "go down as ↵Johannes E. Krause
fast as possible" tile height model (Patch by adf88, #6583)
2019-01-24Codechange: Simplify marking tiles dirty when terraforming (Patch by adf88, ↵Johannes E. Krause
#6583)
2019-01-24Fix: jumping effect when scrolling viewport over bottom edge of the map ↵Johannes E. Krause
(Patch by adf88, #6583)
2019-01-24Codechange: Add InverseRemapCoords2 function for remapping viewport ↵Johannes E. Krause
coordinates to underlying tile coordinates (Patch by adf88, #6583)
2019-01-20Fix: Round up deltas for smooth scrolling, so target will be reachedbtzy
2019-01-17Fix: Some code and comment typosnikolas
Found with codespell
2018-11-18Revert: Sprite sorting optimisation sorted incorrectly.frosch
This reverts commit 25ab9c1997f770f4a8a66bb3ad4b82ba87e3a977.
2018-10-31Remove: A few bits of dead codeCharles Pigott
2018-10-26Codechange: Improve (un)zoom performanceJindrich Makovicka
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-07-19Feature: Framerate display window (#6822)Niels Martin Hansen
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-04-30Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation.J0an Josep
2018-04-24Feature: GS methods to scroll viewport for players (#6745)Pavel Stupnikov
2017-08-13(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)frosch
2015-07-28(svn r27344) -Doc: Documenting the (Re)setObjectToPlace functions.alberth
2015-07-26(svn r27340) -Fix [FS#6338]: Silence warning by moving _string_colourmap to ↵frosch
a file no its own. (Cif)
2015-04-25(svn r27248) -Fix [FS#6257]: Town labels on smallmap and zoomed-out ↵frosch
viewports were not centered. (_dp_)
2015-02-22(svn r27162) -Fix [FS#6208]: Tile selection was drawn outside of map in some ↵frosch
cases. (adf88)
2015-02-22(svn r27161) -Fix [FS#6156] [FS#6206]: Reimplement the viewport drawing ↵frosch
algorithm.
2015-02-22(svn r27160) -Fix: Division of signed values by TILE_SIZE requires cast to ↵frosch
stay signed.
2015-02-22(svn r27158) -Codechange: Simplify mapping from viewport to smallmap ↵frosch
coordinates by duplicating less code.
2015-02-22(svn r27157) -Fix: Mark bridge middle tiles dirty when ↵frosch
building/removing/changing bridges.