Merge remote-tracking branch 'origin/60-weapon-does-not-show-in-both-hands-on-load-in' into main/yubo-dev

main/yubo-dev
Nuno 3 years ago
commit 929a126155

@ -403,6 +403,15 @@ public:
float getTgtY() const { return _Target.y; }
float getTgtZ() const { return _Target.z; }
float getRotZ() const { return _Rot.z; }
void setRotZ(float f) { _Rot.z = f; }
float getRotY() const { return _Rot.y; }
void setRotY(float f) { _Rot.y = f; }
float getDist() const { return _Dist; }
void setDist(float f) { _Dist = f; }
REFLECT_EXPORT_START(CInterface3DCamera, CInterfaceElement)
REFLECT_FLOAT ("posx", getPosX, setPosX);
REFLECT_FLOAT ("posy", getPosY, setPosY);
@ -410,19 +419,13 @@ public:
REFLECT_FLOAT ("tgtx", getTgtX, setTgtX);
REFLECT_FLOAT ("tgty", getTgtY, setTgtY);
REFLECT_FLOAT ("tgtz", getTgtZ, setTgtZ);
REFLECT_FLOAT ("rotz", getRotZ, setRotZ);
REFLECT_FLOAT ("roty", getRotY, setRotY);
REFLECT_FLOAT ("dist", getDist, setDist);
REFLECT_FLOAT ("fov", getFOV, setFOV);
REFLECT_FLOAT ("roll", getRoll, setRoll);
REFLECT_EXPORT_END
float getRotZ() const { return _Rot.z; }
void setRotZ(float f) { _Rot.z = f; }
float getRotY() const { return _Rot.y; }
void setRotY(float f) { _Rot.y = f; }
float getDist() const { return _Dist; }
void setDist(float f) { _Dist = f; }
void reset(); // Reset user interaction
protected:

@ -1251,6 +1251,19 @@ void CInventoryManager::unequip(const std::string &invPath)
}
}
void CInventoryManager::onUpdateEquipHands()
{
// update hands slots after initial BAG inventory has received
CCDBNodeLeaf *pNL;
pNL = NLGUI::CDBManager::getInstance()->getDbProp(LOCAL_INVENTORY ":HAND:0:INDEX_IN_BAG", false);
if (pNL && pNL->getValue32() != 0)
_DBEquipObs.update(pNL);
pNL = NLGUI::CDBManager::getInstance()->getDbProp(LOCAL_INVENTORY ":HAND:1:INDEX_IN_BAG", false);
if (pNL && pNL->getValue32() != 0)
_DBEquipObs.update(pNL);
}
// ***************************************************************************
// Observer on DB equipment branch

@ -312,6 +312,7 @@ public:
// Called on impulse
void onReceiveItemInfo(const CItemInfos &itemInfo);
void onRefreshItemInfoVersion(uint16 slotId, uint8 infoVersion);
void onUpdateEquipHands();
// Log for debug
void debugItemInfoWaiters();
void debugItemInfoCache() const;

@ -2890,6 +2890,8 @@ void impulseInitInventory (NLMISC::CBitMemStream &impulse)
impulseUpdateInventory( impulse );
IngameDbMngr.setInitPacketReceived();
nlinfo( "DB_INIT:INV done (%u bytes)", impulse.getPos()-p );
getInventory().onUpdateEquipHands();
}
//-----------------------------------------------

Loading…
Cancel
Save