From 7f373a904e46a2b2d8d4b661120a4848f565e3ae Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 29 Mar 2020 16:33:53 +0300 Subject: [PATCH] Fixed: Animal marker invalidates map on each frame --- code/ryzom/client/src/interface_v3/group_map.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/code/ryzom/client/src/interface_v3/group_map.cpp b/code/ryzom/client/src/interface_v3/group_map.cpp index 03e4a2f9f..dd5e5ae20 100644 --- a/code/ryzom/client/src/interface_v3/group_map.cpp +++ b/code/ryzom/client/src/interface_v3/group_map.cpp @@ -1334,15 +1334,18 @@ void CGroupMap::checkCoords() { if( _AnimalLM[i] ) { + // update pos + sint32 px, py; + _AnimalPosStates[i]->getPos(px, py); + updateLMPosFromDBPos(_AnimalLM[i], px, py); + if (_IsIsland) { _AnimalLM[i]->setActive(false); } - else + else if (_AnimalLM[i]->getActive()) { - _AnimalLM[i]->setActive(true); // update texture from animal status - CInterfaceManager *pIM= CInterfaceManager::getInstance(); CCDBNodeLeaf *statusNode = NLGUI::CDBManager::getInstance()->getDbProp(toString("SERVER:PACK_ANIMAL:BEAST%d", i) + ":STATUS", false); if (statusNode && ANIMAL_STATUS::isInStable((ANIMAL_STATUS::EAnimalStatus)statusNode->getValue32()) ) { @@ -1373,11 +1376,6 @@ void CGroupMap::checkCoords() case ANIMAL_TYPE::Demon: sPrefix = "uiPATitleDemon"; break; } _AnimalLM[i]->setDefaultContextHelp(NLMISC::CI18N::get(sPrefix+toString(i+1))); - - // update pos - sint32 px, py; - _AnimalPosStates[i]->getPos(px, py); - updateLMPosFromDBPos(_AnimalLM[i], px, py); } } }