diff --git a/code/ryzom/client/src/interface_v3/group_map.cpp b/code/ryzom/client/src/interface_v3/group_map.cpp index a7f326220..9bae00d6c 100644 --- a/code/ryzom/client/src/interface_v3/group_map.cpp +++ b/code/ryzom/client/src/interface_v3/group_map.cpp @@ -2755,6 +2755,8 @@ CGroupMap::CLandMarkButton *CGroupMap::createArkPointButton(const CArkPoint &poi lmb->setParamsOnLeftClick(point.LeftClickParam); lmb->setActionOnRightClick(point.RightClickAction); lmb->setParamsOnRightClick(point.RightClickParam); + lmb->setActionOnOver(point.OverClickAction); + lmb->setParamsOnOver(point.OverClickParam); lmb->setColor(point.Color); lmb->setColorOver(point.Color); lmb->setColorPushed(point.Color); diff --git a/code/ryzom/client/src/interface_v3/group_map.h b/code/ryzom/client/src/interface_v3/group_map.h index e138c6b71..9cfc5bae6 100644 --- a/code/ryzom/client/src/interface_v3/group_map.h +++ b/code/ryzom/client/src/interface_v3/group_map.h @@ -95,6 +95,8 @@ public: std::string LeftClickParam; std::string RightClickAction; std::string RightClickParam; + std::string OverClickAction; + std::string OverClickParam; public: CArkPoint() @@ -230,7 +232,7 @@ public: void addUserLandMark(const NLMISC::CVector2f &pos, const ucstring &title, NLMISC::CRGBA color); void addUserRespawnPoint(const NLMISC::CVector2f &pos); void delArkPoints(); - + // set landmarks visibility based text query void setLandmarkFilter(const std::string &s); @@ -602,7 +604,7 @@ private: CLandMarkButton *createLandMarkButton(const CLandMarkOptions &options); // Create a Ark landmark button, but do not add it to this group CLandMarkButton *createArkPointButton(const CArkPoint &point); - + // update a landmark button void updateLandMarkButton(CLandMarkButton *lmb, const CLandMarkOptions &options); diff --git a/code/ryzom/client/src/interface_v3/lua_ihm_ryzom.cpp b/code/ryzom/client/src/interface_v3/lua_ihm_ryzom.cpp index 1d1b01684..68a39bb2c 100644 --- a/code/ryzom/client/src/interface_v3/lua_ihm_ryzom.cpp +++ b/code/ryzom/client/src/interface_v3/lua_ihm_ryzom.cpp @@ -4178,7 +4178,7 @@ int CLuaIHMRyzom::addLandMark(CLuaState &ls) { const char* funcName = "addLandMark"; CLuaIHM::checkArgMin(ls, funcName, 4); - CLuaIHM::checkArgMax(ls, funcName, 9); + CLuaIHM::checkArgMax(ls, funcName, 11); CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER); // x CLuaIHM::checkArgType(ls, funcName, 2, LUA_TNUMBER); // y CLuaIHM::checkArgType(ls, funcName, 3, LUA_TSTRING); // title @@ -4187,6 +4187,9 @@ int CLuaIHMRyzom::addLandMark(CLuaState &ls) CLuaIHM::checkArgType(ls, funcName, 6, LUA_TSTRING); // left click param CLuaIHM::checkArgType(ls, funcName, 7, LUA_TSTRING); // right click action CLuaIHM::checkArgType(ls, funcName, 8, LUA_TSTRING); // right click params + CLuaIHM::checkArgType(ls, funcName, 9, LUA_TSTRING); // over click action + CLuaIHM::checkArgType(ls, funcName, 10, LUA_TSTRING); // over click params + // 11 : Color CArkPoint point; point.x = (sint32)(ls.toNumber(1)*1000.f); @@ -4197,10 +4200,12 @@ int CLuaIHMRyzom::addLandMark(CLuaState &ls) point.LeftClickParam = ls.toString(6); point.RightClickAction = ls.toString(7); point.RightClickParam = ls.toString(8); + point.OverClickAction = ls.toString(9); + point.OverClickParam = ls.toString(10); point.Color = CRGBA(255,255,255,255); - if (ls.getTop() >= 9) + if (ls.getTop() >= 11) CLuaIHM::pop(ls, point.Color); CGroupMap *pMap = dynamic_cast(CWidgetManager::getInstance()->getElementFromId("ui:interface:map:content:map_content:actual_map"));