Commit Graph

332 Commits (5a5944867dfeaa556ec78c23af4796adb28a6a9f)

Author SHA1 Message Date
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.
5 years ago
Peter Nelson 0749a291c4 Revert 479f13fc41, Fix #7133, Fix #7136: "Codechange: Tweak ViewportAddLandscape so it no more relies on "go down as fast as possible" tile height model (Patch by adf88, #6583)"
This reverts commit 479f13fc41.
5 years ago
Johannes E. Krause 479f13fc41 Codechange: Tweak ViewportAddLandscape so it no more relies on "go down as fast as possible" tile height model (Patch by adf88, #6583) 6 years ago
Johannes E. Krause 05da5a177c Codechange: Simplify marking tiles dirty when terraforming (Patch by adf88, #6583) 6 years ago
Johannes E. Krause f744dea0ff Fix: jumping effect when scrolling viewport over bottom edge of the map (Patch by adf88, #6583) 6 years ago
Johannes E. Krause f0290d5de7 Codechange: Add InverseRemapCoords2 function for remapping viewport coordinates to underlying tile coordinates (Patch by adf88, #6583) 6 years ago
btzy 9d75600ac0 Fix: Round up deltas for smooth scrolling, so target will be reached 6 years ago
nikolas d8ccad91f9 Fix: Some code and comment typos
Found with codespell
6 years ago
frosch 1a1204472e Revert: Sprite sorting optimisation sorted incorrectly.
This reverts commit 25ab9c1997.
6 years ago
Charles Pigott 52ed3bcbaa Remove: A few bits of dead code 6 years ago
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.
6 years ago
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.
6 years ago
J0an Josep cfb8092397 Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation. 6 years ago
Pavel Stupnikov 8e4bce58ea Feature: GS methods to scroll viewport for players (#6745) 6 years ago
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 7 years ago
alberth 3cd390b2ce (svn r27344) -Doc: Documenting the (Re)setObjectToPlace functions. 9 years ago
frosch 4830497f0b (svn r27340) -Fix [FS#6338]: Silence warning by moving _string_colourmap to a file no its own. (Cif) 9 years ago
frosch 9fb56ca02e (svn r27248) -Fix [FS#6257]: Town labels on smallmap and zoomed-out viewports were not centered. (_dp_) 9 years ago
frosch f26e9bf59d (svn r27162) -Fix [FS#6208]: Tile selection was drawn outside of map in some cases. (adf88) 9 years ago
frosch 3adf082db2 (svn r27161) -Fix [FS#6156] [FS#6206]: Reimplement the viewport drawing algorithm. 9 years ago
frosch cfac8dbbc6 (svn r27160) -Fix: Division of signed values by TILE_SIZE requires cast to stay signed. 9 years ago
frosch 06d1d50884 (svn r27158) -Codechange: Simplify mapping from viewport to smallmap coordinates by duplicating less code. 9 years ago
frosch e8e49e5dda (svn r27157) -Fix: Mark bridge middle tiles dirty when building/removing/changing bridges. 9 years ago
frosch 2e1be6081d (svn r27148) -Fix: Rounding and unit-conversion inconsistencies in calls to MarkAllViewportsDirty. 10 years ago
rubidium d534c80e94 (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 10 years ago
rubidium fddeeb5e49 (svn r27002) -Fix-ish: replace some non-ASCII characters with ASCII characters, e.g. @þaram to @param 10 years ago
rubidium a229fb79b5 (svn r26910) -Fix: account for the height of the landscape at the edge of the map to determine the scroll boundaries (based on patch by ic111) 10 years ago
rubidium adf237d550 (svn r26908) -Codechange: replace a magic number by a more logical calculation 10 years ago
rubidium 073aa05da5 (svn r26900) -Fix-ish: dirty the appropriate area around map edges when terraforming there to prevent any artefacts from occuring (ic111) 10 years ago
rubidium 4d619ad10e (svn r26899) -Codechange: reduce the amount of tiles that needs to be drawn by taking the height of tiles into account instead of drawing way too many (ic111) 10 years ago
rubidium c9d7e89138 (svn r26870) -Fix (r15190): since freeform edges the 'tile height' at southern edge * 8 pixels just 'south' of the edge tile would not be drawn and would as a result not be refreshed causing artefacts to remain there. This adds a virtual slope to level 0 so it can be redrawn appropriately. Loosely based on patch by ic111 10 years ago
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 10 years ago
fonsinchen 4055397915 (svn r26338) -Fix [FS#5908]: Don't redraw the link graph overlay if it's empty (MJP) 11 years ago
rubidium 2618d960e3 (svn r26209) -Codechange: remove some template magic and simplify some code 11 years ago
rubidium 3c94485ba0 (svn r26205) -Feature: SSE 4.1 sprite sorter, improving the sorting performance significantly (MJP)
For example with GCC 4.8, x86_64 Linux, Intel i5-3337U this patch improves the performance of Pile, Treham and Hamac test save games by about 10% in over-all run time at fast forward at 1920x1080 when zoomed out and when trees are not disabled.
11 years ago
frosch 3d99546107 (svn r25823) -Codechange [FS#5780]: Simplify if-cases in ViewportDrawStrings. (Juanjo) 11 years ago
rubidium f4c9ba4981 (svn r25546) -Fix: two small memory leaks 11 years ago
rubidium ef7befdbd8 (svn r25264) -Feature: linkgraph overlay over main viewport (fonsinchen) 11 years ago
frosch 05203587b5 (svn r24975) -Fix [FS#5463]: Additional zoom in levels could glitch by a few pixels due to incorrect rounding. 12 years ago
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 12 years ago
rubidium 41e5c839e0 (svn r24179) -Codechange: move some variables of Town to TownCache 12 years ago
rubidium 113746b3a6 (svn r24068) -Change/fix [FS#5103]: significantly reduce the area that is redrawn for text effects (Rhamphoryncus) 12 years ago
rubidium 927734e6ce (svn r24065) -Feature-ish [FS#5101]: debug option for showing the redrawn dirty blocks/rectangles 12 years ago
frosch 5bf1710a28 (svn r23835) -Change [FS#4999]: Make signs placed in scenario editor belong to the GS. That way they are always shown in game and are not editable. 13 years ago
truebrain e7cd301d3c (svn r23621) -Add: allow manipulation of signs via GameScripts 13 years ago
peter1138 07633a064c (svn r23329) -Fix (r23316): Scale child sprite pixel offsets unless told not to. Fixes lifts and industry graphics. 13 years ago
peter1138 81598273e9 (svn r23316) -Feature: Add ability to zoom in to 2x and 4x level. 13 years ago
peter1138 4e97261315 (svn r23314) -Add: Add settings to restrict viewport zoom levels. 13 years ago
frosch f6ff2a3c15 (svn r23125) -Codechange: Replace some 8s with TILE_SIZE / 2. (adf88) 13 years ago
rubidium 9782b7bb0a (svn r23110) -Codechange: let the flying altitude return ints are well 13 years ago