summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/viewport.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/viewport.cpp b/src/viewport.cpp
index 935627cfa..2f40dead4 100644
--- a/src/viewport.cpp
+++ b/src/viewport.cpp
@@ -649,6 +649,10 @@ static const int _AutorailType[6][2] = {
#include "table/autorail.h"
+/**
+ * Checks if the specified tile is selected and if so draws selection using correct selectionstyle.
+ * @param *ti TileInfo Tile that is being drawn
+ */
static void DrawTileSelection(const TileInfo *ti)
{
SpriteID image;
@@ -1930,7 +1934,14 @@ static byte GetAutorailHT(int x, int y)
return HT_RAIL | _AutorailPiece[x & 0xF][y & 0xF];
}
-/** called regular to update tile highlighting in all cases */
+/**
+ * Updates tile highlighting for all cases.
+ * Uses _thd.selstart and _thd.selend and _thd.place_mode (set elsewhere) to determine _thd.pos and _thd.size
+ * Also drawstyle is determined. Uses _thd.new.* as a buffer and calls SetSelectionTilesDirty() twice,
+ * Once for the old and once for the new selection.
+ * _thd is TileHighlightData, found in viewport.h
+ * Called by MouseLoop() in windows.cpp
+ */
void UpdateTileSelection()
{
int x1;
@@ -1981,8 +1992,8 @@ void UpdateTileSelection()
if (_thd.drawstyle != _thd.new_drawstyle ||
_thd.pos.x != _thd.new_pos.x || _thd.pos.y != _thd.new_pos.y ||
_thd.size.x != _thd.new_size.x || _thd.size.y != _thd.new_size.y ||
- _thd.outersize.x != _thd.new_outersize.x ||
- _thd.outersize.y != _thd.new_outersize.y) {
+ _thd.outersize.x != _thd.new_outersize.x ||
+ _thd.outersize.y != _thd.new_outersize.y) {
/* clear the old selection? */
if (_thd.drawstyle) SetSelectionTilesDirty();