summaryrefslogtreecommitdiff
path: root/src/signs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/signs.cpp')
-rw-r--r--src/signs.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/signs.cpp b/src/signs.cpp
index 407ab8606..c42644269 100644
--- a/src/signs.cpp
+++ b/src/signs.cpp
@@ -13,6 +13,7 @@
#include "signs_func.h"
#include "strings_func.h"
#include "core/pool_func.hpp"
+#include "viewport_kdtree.h"
#include "table/strings.h"
@@ -46,8 +47,13 @@ Sign::~Sign()
void Sign::UpdateVirtCoord()
{
Point pt = RemapCoords(this->x, this->y, this->z);
+
+ if (this->sign.kdtree_valid) _viewport_sign_kdtree.Remove(ViewportSignKdtreeItem::MakeSign(this->index));
+
SetDParam(0, this->index);
this->sign.UpdatePosition(pt.x, pt.y - 6 * ZOOM_LVL_BASE, STR_WHITE_SIGN);
+
+ _viewport_sign_kdtree.Insert(ViewportSignKdtreeItem::MakeSign(this->index));
}
/** Update the coordinates of all signs */