diff options
Diffstat (limited to 'src/signs.cpp')
-rw-r--r-- | src/signs.cpp | 6 |
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 */ |