Fixed: Animal marker invalidates map on each frame

develop
Nimetu 5 years ago
parent 110f1715ea
commit ddd16d4851

@ -1333,15 +1333,18 @@ void CGroupMap::checkCoords()
{ {
if( _AnimalLM[i] ) if( _AnimalLM[i] )
{ {
// update pos
sint32 px, py;
_AnimalPosStates[i]->getPos(px, py);
updateLMPosFromDBPos(_AnimalLM[i], px, py);
if (_IsIsland) if (_IsIsland)
{ {
_AnimalLM[i]->setActive(false); _AnimalLM[i]->setActive(false);
} }
else else if (_AnimalLM[i]->getActive())
{ {
_AnimalLM[i]->setActive(true);
// update texture from animal status // update texture from animal status
CInterfaceManager *pIM= CInterfaceManager::getInstance();
CCDBNodeLeaf *statusNode = NLGUI::CDBManager::getInstance()->getDbProp(toString("SERVER:PACK_ANIMAL:BEAST%d", i) + ":STATUS", false); 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()) ) if (statusNode && ANIMAL_STATUS::isInStable((ANIMAL_STATUS::EAnimalStatus)statusNode->getValue32()) )
{ {
@ -1372,11 +1375,6 @@ void CGroupMap::checkCoords()
case ANIMAL_TYPE::Demon: sPrefix = "uiPATitleDemon"; break; case ANIMAL_TYPE::Demon: sPrefix = "uiPATitleDemon"; break;
} }
_AnimalLM[i]->setDefaultContextHelp(NLMISC::CI18N::get(sPrefix+toString(i+1))); _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);
} }
} }
} }

Loading…
Cancel
Save