From 86975539564cfb6c3b3089650b7d580d708c9d58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20Gon=C3=A7alves=20=28Ulukyn=29?= Date: Wed, 9 Feb 2022 21:38:23 +0000 Subject: [PATCH 1/2] Resolve "Add rotz roty and dist reflect lua to 3DCamera of a scene" --- .../src/interface_v3/interface_3d_scene.h | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/ryzom/client/src/interface_v3/interface_3d_scene.h b/ryzom/client/src/interface_v3/interface_3d_scene.h index 7db17ae85..4117af403 100644 --- a/ryzom/client/src/interface_v3/interface_3d_scene.h +++ b/ryzom/client/src/interface_v3/interface_3d_scene.h @@ -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: From d453ba89b25f995a78d4589d4559c5b1b2c15610 Mon Sep 17 00:00:00 2001 From: nimetu Date: Mon, 14 Feb 2022 18:51:04 +0200 Subject: [PATCH 2/2] Fix Weapon does not show in both hands on load-in --- ryzom/client/src/interface_v3/inventory_manager.cpp | 13 +++++++++++++ ryzom/client/src/interface_v3/inventory_manager.h | 1 + ryzom/client/src/net_manager.cpp | 2 ++ 3 files changed, 16 insertions(+) diff --git a/ryzom/client/src/interface_v3/inventory_manager.cpp b/ryzom/client/src/interface_v3/inventory_manager.cpp index 04ad896bc..3ab20c15c 100644 --- a/ryzom/client/src/interface_v3/inventory_manager.cpp +++ b/ryzom/client/src/interface_v3/inventory_manager.cpp @@ -1168,6 +1168,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 diff --git a/ryzom/client/src/interface_v3/inventory_manager.h b/ryzom/client/src/interface_v3/inventory_manager.h index d5bd763f1..99283b6f8 100644 --- a/ryzom/client/src/interface_v3/inventory_manager.h +++ b/ryzom/client/src/interface_v3/inventory_manager.h @@ -305,6 +305,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; diff --git a/ryzom/client/src/net_manager.cpp b/ryzom/client/src/net_manager.cpp index 549732372..5edefdf38 100644 --- a/ryzom/client/src/net_manager.cpp +++ b/ryzom/client/src/net_manager.cpp @@ -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(); } //-----------------------------------------------